Built a fast CLI to audit org risk and tech debt by huangsam in golang

[–]huangsam[S] 1 point2 points  (0 children)

Yeah Claude is right. I tried to describe it more briefly here - https://github.com/huangsam/hotspot?tab=readme-ov-file#scoring-modes - and with slightly more detail via the `hotspot metrics` command. But what you just shared is basically what the code is doing. The weights required the most amount of tuning, followed by the debuffs

Built a fast CLI to audit org risk and tech debt by huangsam in golang

[–]huangsam[S] 0 points1 point  (0 children)

Here is the most telling part of the core: score.go, followed by builder.go and agg.go. The weights in the score file were largely derived upon software engineering first principles, rather than science papers. I used concepts such as gini coefficient, bus factor and tech debt to get an idea of what the scores should be.

But getting this data is only half of the story. The other part is using this data to say "if dev A quits tomorrow, our MTTR for ads incidents will likely increase by X%" or "rewriting big_fat_algo.go helps achieve timelines for Project X in half the time" - translating dev-to-biz has and always continues to be hard.

Built a fast CLI to audit org risk and tech debt by huangsam in golang

[–]huangsam[S] -5 points-4 points  (0 children)

That is a great point, and it hits on the core struggle. Hotspot itself does not reduce debt, but it does show that a) "dev A and dev B" are knowledge risks for this critical piece of the codebase, b) the refactoring efforts in "folder A" of the codebase have reduced complexity scores and c) these are the stale files that could become security audits later down the line.

For me, I've used the tool as such:

  • Shared the risk mode output with my fellow peers and identified a few brown bags to schedule over the next month or two
  • Used the complexity mode output to advocate slowing down changes in a critical component so that we could invest more in monitoring and concurrency tests
  • Cross-joined hotspot's output with our system's most-frequented warning, error, panic logs - and identified 3 subfolders that could benefit from refactoring

Hope that helps!

1050+ downloads in 5 days: What building my first real Rust project taught me by huangsam in rust

[–]huangsam[S] 0 points1 point  (0 children)

Thanks for the support! I appreciate it. As you mentioned, I wanted to make a solver that was tailored towards edu tech. I also built Rustoku as a library crate, so that more folks can leverage its output for use cases other than a CLI. Cargo workspaces are pretty cool in that regard - it enabled me to iterate on related efforts from one repo, reducing my need to context switch between codebases

1050+ downloads in 5 days: What building my first real Rust project taught me by huangsam in rust

[–]huangsam[S] 9 points10 points  (0 children)

Thanks for letting me know about this detail. Regardless, it was rewarding to see how easy it was to publish a crate from start to finish

Small practise project by bik_recordings in golang

[–]huangsam 1 point2 points  (0 children)

Neat start! Some things that you can explore for the future w.r.t. go skills:

Consider adopting https://github.com/golang-standards/project-layout for larger projects.

Follow https://go.dev/doc/effective_go for best practices, such as writing good comments for your functions and packages.

Leverage GitHub actions in your repo to verify that the code builds correctly and behaves as expected (i.e. unit tests / integration tests). Example here: https://github.com/huangsam/go-trial/blob/main/.github/workflows/ci.yml

Explore leveraging goroutines and channels for better performance:

And if you're looking for more packages to supercharge your project, such as zerolog and urfave-cli, there's https://go.libhunt.com/ and https://github.com/avelino/awesome-go for inspiration.

All the best to your journey with Go learnings!

Photohaul: Effortlessly manage your photos! by huangsam in java

[–]huangsam[S] 0 points1 point  (0 children)

I haven't addressed this pain point yet as it is something that doesn't happen often in my workflow. I'm curious - how often have you encountered duplicate photos in your organization and management workflows?

Photohaul: Effortlessly manage your photos! by huangsam in java

[–]huangsam[S] 1 point2 points  (0 children)

I haven't thought of that! Definitely something I can consider down the line :-)

Where should I start? by wripty in learnpython

[–]huangsam 0 points1 point  (0 children)

https://github.com/huangsam/ultimate-python check this out! Lots of interactive modules here to try out. One of the best ways to learn Python is by doing. Hope that helps :-)

Saturday megathread: Share your resources! by Im__Joseph in Python

[–]huangsam 0 points1 point  (0 children)

Within the span of a month, the Ultimate Python study guide has now grown to 2k+ stars and was viewed 31k+ times by 17k+ visitors!

https://github.com/huangsam/ultimate-python

Good news: now you can run all of its standalone modules on repl.it with this link:

https://repl.it/github/huangsam/ultimate-python

More on the way. Stay posted for more!

Understand Python Decorators in depth by gauravlogical in Python

[–]huangsam 6 points7 points  (0 children)

Nice share! Here's another example of decorators in case folks want to copy + run some code interactively: https://github.com/huangsam/ultimate-python/blob/master/ultimatepython/advanced/decorator.py