I hate go. Can't get my project to build on windows (builds on linux fine), but i need to do windows specific stuff. It moans about gcc errors. But I can fix this later, I have other stuff I need to work on. So I start a new proejct, try to build it and now our Enterprise AV is flagging the linker as malware... Yes, its right, go is a bad joke
All those things don't seem to be go specific though? I mean, go can't really help that your anti-virus is reporting false positives? Also go doesn't need gcc normally, unless you use certain libraries?
How much work would it be to make an s-exp
(or clojure) aware diff tool?
Can I wrap lambdaisland/deep-diff2
in some babashka and call it as an GIT_EXTERNAL_DIFF
and be done?
@emilaasa check out https://fazzone.github.io/autochrome.html
@emilaasa Saw someone on Twitter posting about “difftastic” yesterday — a tool they are developing to do s-exp-aware diffing.
Yes! I've wanted this for years and thought about trying to build it
So cool, thanks
They showed it for Racket, I think, but I bet the same approach would work for Clojure. As for “how much work”… no idea.
I remember once I was forced to work with windows, and the antivirus detected some contents inside .git
folders as malware. Lots of corrupted commits 😱
Also, @emilaasa, one thing that I would love to see is a s-exp
aware diff tool that also could patch source. Maybe even integrate somehow on git
, and have less conflicts on merges 😄
I was just notified by @ales.najmann that one of my graalvm binaries were flagged as containing a trojan virus ;)
it's resolved ✅
Thankd for looking into it!
@mauricio.szabo take a look at autochrome. there is the (non-active) #autochrome-github working group initiated by @martinklepsch - he has an almost working setup for github diffs
Is this the post? https://twitter.com/_wilfredh/status/1404663229389828098
Isn't s-exp-aware diffing a very similar problem to what virtual-dom libraries do? ie. Given two different trees, find the minimal number of additions, deletions, and transpositions to reconcile them.
I'm on the procedure of submission the released file for the analysis.... it's running 🤞
I'll keep you posted, the submission is not public 😕
ok
Thanks, yes, that’s the one! And it was Scheme, not Racket (being pedantic).
I have a TODO item in my backlog to investigate whether tree-sitter could be used for this kind of syntax-aware diffing
That would have a better reach (more programming languages) than just doing it for sexps, and could work well for sexps too. I'd be interested in how that investigation goes!
I'll report my findings... but it's been on my list for months, so don't hold your breath 😅 🫁
I'm sweating with excitement already !!!
I'm trying out some of the sexp diffing tools and they seem alright, but the treesitter reach would be great.
Would be as general as LSP right? As long as you can get an AST you could do AST aware diffing
That's the idea, but my knowledge of tree-sitter is still very much lacking.
I'm also wondering if tree-sitter could be used for syntax-aware grepping. But then https://github.com/borkdude/grasp happened (which I also want to take a closer look at), and seemingly solved that problem 😅
what is atlassian and how did it become a thing
Atlassian is a great example of how low the threshold is to be successful in this industry. Every interaction I've had with an Atlassian product has been dreadful.
Been using Asana for the last two months and it has been better than Jira in every respect
but it might not suit every org
We recently switched to https://linear.app from clubhouse, it's pretty nice. I had read this interesting article awhile back https://newsletter.bringthedonuts.com/p/the-tools-dont-matter which hit me good and made the transition easier. Clubhouse isn't bad but it has a very specific workflow it expects and doesn't provide much flexibility. Linear is a bit looser, kind of like Asana and we can better adapt it to our needs vs trying to force ourselves to conform to ClubHouse's workflow
We use it for planning features, projects, and bugs currently
Ah okay, so there's more to it... like project management? but not basecamp
seems to have gotten very popular very quickly and i think they have a relatively huge staff size now, but I never really got the "what is it" memo
Jira is bug tracking + agile project management (scrum, kanban, etc), Confluence is a wiki, BitBucket is “corporate GitHub” with source code control, PRs, CI pipelines, etc. Together they are a vast suite of tools.
Gotcha. Cool. So basically a way to organize human effort on a corporate / big level
my first instinct is that referring to something as a forge is "wicked cool", so it is possible that it is super nerdy
Yeah @qmstuart I agree. The teams I was on used Jira in maybe 60% of cases since maybe 2009 (can't remember precisely) and I just always hated that. The experience really is quite dreadful. That's not to necessarily their whole efforts, they have some good projects, did part of Git LFS as far as I remember, but their products, Good Lord, it really is jolly awful.
Anyway @sova Atlassian didn't become a thing lately, Confluence and Jira has been around for as long as I remember. I was most definitely using either CF or Jira or both at 2009 if not earlier.
Jira is almost 20 years old now
jira is a 20 years old software widely used by developers that still show .patch files as if it were a "Microsoft Word " file