NDepend Blog

Improve your .NET code quality with NDepend

3.0.60 - Rags

The version number, 3.0.60, was a badge of honor for the team. It represented countless late nights, numerous setbacks, and the unwavering belief that their quirky creation could make a difference. Rags was designed to assist in sorting and donating clothing and textiles, combating fast fashion's throwaway culture by making it easier for people to find second-hand treasures.

The first version of Rags had been simplistic. It connected local thrift stores with those in need through a basic app. However, as the years went by and the developers gathered more feedback, Rags evolved. Version 2.0 introduced AI-driven matching, significantly improving the efficiency of finding perfect second-hand matches. But it was version 3.0.60 that catapulted Rags into the limelight. rags 3.0.60

The developers of Rags were overwhelmed by the response but heartened by the knowledge that their small project had grown into something much larger than themselves. They continued to update Rags, incorporating new features and refining its capabilities. And though it started as just a side project born out of rags (pun intended), it had become a beacon of sustainability and community spirit. The version number, 3

One story that stood out was about a small town hit by an economic downturn. A group of residents used Rags to organize a massive clothing swap, not only providing warmth and dignity to those in need but also fostering a sense of unity and purpose. News of this event spread, and soon, people from all over were reaching out to the Rags team, looking to replicate this success in their own communities. The first version of Rags had been simplistic

The story of Rags 3.0.60 became a testament to the power of technology when guided by a vision of making the world a better place, one gently used item at a time. And as the version numbers continued to climb, so did the impact of Rags, reminding everyone that even the humblest beginnings can lead to extraordinary journeys.

This update introduced a community-driven aspect, allowing users to not only find and donate items but also share stories about their favorite second-hand finds. It was here that Rags began to see its most significant impact. Users began sharing tales of how Rags helped them rediscover the joy of vintage fashion, stories of thrifting for the first time, and even instances of communities coming together to support local causes through the platform.

Once upon a time, in a not-so-distant future, in a world where technology had become the backbone of society, there existed a small, unassuming project known as "Rags." It wasn't a cutting-edge AI, nor was it a revolutionary new game. Instead, Rags was an experiment, a collection of discarded code, and outdated hardware cobbled together by a group of passionate but somewhat eccentric developers.

Comments:

  1. Ivar says:

    I can imagine it took quite a while to figure it out.

    I’m looking forward to play with the new .net 5/6 build of NDepend. I guess that also took quite some testing to make sure everything was right.

    I understand the reasons to pick .net reactor. The UI is indeed very understandable. There are a few things I don’t like about it but in general it’s a good choice.

    Thanks for sharing your experience.

  2. David Gerding says:

    Nice write-up and much appreciated.

  3. Very good article. I was questioning myself a lot about the use of obfuscators and have also tried out some of the mentioned, but at the company we don’t use one in the end…

    What I am asking myself is when I publish my .net file to singel file, ready to run with an fixed runtime identifer I’ll get sort of binary code.
    At first glance I cannot dissasemble and reconstruct any code from it.
    What do you think, do I still need an obfuscator for this szenario?

    1. > when I publish my .net file to singel file, ready to run with an fixed runtime identifer I’ll get sort of binary code.

      Do you mean that you are using .NET Ahead Of Time compilation (AOT)? as explained here:
      https://blog.ndepend.com/net-native-aot-explained/

      In that case the code is much less decompilable (since there is no more IL Intermediate Language code). But a motivated hacker can still decompile it and see how the code works. However Obfuscator presented here are not concerned with this scenario.

  4. OK. After some thinking and updating my ILSpy to the latest version I found out that ILpy can diassemble and show all sources of an “publish single file” application. (DnSpy can’t by the way…)
    So there IS definitifely still the need to obfuscate….

Comments are closed.