#gitraven — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #gitraven, aggregated by home.social.
-
Quick update: I wrapped up adding test cases for tree widget of #GitRaven
Its job is to construct tree like structures for given 1D paths like “foo/bar/baz.txt”
Next up, diff generation logic needs to be tested. I wrote 2 test cases manually and got them to pass.
Later, gave those two over to ChatGPT along with my enum declarations so it understands context and asked it to explain the code.
Once I am happy with the answer, I asked it to come up with test cases.
In this process, we came across a diff logic bug in the app.
I confirmed the bug on the UI so writing test cases for this will prove to be very useful. A lot of learning in just a day!
<rant>
I am bittersweet about AI tech. It has its use cases but its run by not so trustworthy people for definitely not good intentions 🫠
</rant> -
Quick update: I wrapped up adding test cases for tree widget of #GitRaven
Its job is to construct tree like structures for given 1D paths like “foo/bar/baz.txt”
Next up, diff generation logic needs to be tested. I wrote 2 test cases manually and got them to pass.
Later, gave those two over to ChatGPT along with my enum declarations so it understands context and asked it to explain the code.
Once I am happy with the answer, I asked it to come up with test cases.
In this process, we came across a diff logic bug in the app.
I confirmed the bug on the UI so writing test cases for this will prove to be very useful. A lot of learning in just a day!
<rant>
I am bittersweet about AI tech. It has its use cases but its run by not so trustworthy people for definitely not good intentions 🫠
</rant> -
Quick update: I wrapped up adding test cases for tree widget of #GitRaven
Its job is to construct tree like structures for given 1D paths like “foo/bar/baz.txt”
Next up, diff generation logic needs to be tested. I wrote 2 test cases manually and got them to pass.
Later, gave those two over to ChatGPT along with my enum declarations so it understands context and asked it to explain the code.
Once I am happy with the answer, I asked it to come up with test cases.
In this process, we came across a diff logic bug in the app.
I confirmed the bug on the UI so writing test cases for this will prove to be very useful. A lot of learning in just a day!
<rant>
I am bittersweet about AI tech. It has its use cases but its run by not so trustworthy people for definitely not good intentions 🫠
</rant> -
Quick update: I wrapped up adding test cases for tree widget of #GitRaven
Its job is to construct tree like structures for given 1D paths like “foo/bar/baz.txt”
Next up, diff generation logic needs to be tested. I wrote 2 test cases manually and got them to pass.
Later, gave those two over to ChatGPT along with my enum declarations so it understands context and asked it to explain the code.
Once I am happy with the answer, I asked it to come up with test cases.
In this process, we came across a diff logic bug in the app.
I confirmed the bug on the UI so writing test cases for this will prove to be very useful. A lot of learning in just a day!
<rant>
I am bittersweet about AI tech. It has its use cases but its run by not so trustworthy people for definitely not good intentions 🫠
</rant> -
@stranded_output Give yourself time. Sometimes you feel stuck because you’re trying to solve a tough problem or it’s similar to writers block where you can’t decide what should the next step be.
Just give your mind sometime. Human minds are constantly cracking at tough nuts even in sleep.
This is something I faced for #GitRaven project.
-
Here's my first dev post of my new pet project #GitRaven
https://blog.suryatejak.in/gitraven-how-to-use-qtreeview-with-a-custom-model-class
It's written in C++ and this took so much time to figure out.
-
EDIT: Link updated.
I am happy to bring this update for my pet project #GitRaven. It's a Git management tool built in C++ and Qt as a learning experience.
Give it a read and let me know how you like it?
https://blog.suryatejak.in/gitraven-april-2026-updates
#fediverse #developers #gitraven #cpp #qt6 #linux #opensource #diary #blog
-
I might have to explore C++ RAAI concept sooner or later for #GitRaven.
It is getting difficult manually free-ing memory used via libgit2. I am having to think about and write if checks for all the edge cases across my GitManager class.
ChatGPT suggested this after I mentioned this issue and it sounds like it's useful.
-
I might have to explore C++ RAAI concept sooner or later for #GitRaven.
It is getting difficult manually free-ing memory used via libgit2. I am having to think about and write if checks for all the edge cases across my GitManager class.
ChatGPT suggested this after I mentioned this issue and it sounds like it's useful.
-
I might have to explore C++ RAAI concept sooner or later for #GitRaven.
It is getting difficult manually free-ing memory used via libgit2. I am having to think about and write if checks for all the edge cases across my GitManager class.
ChatGPT suggested this after I mentioned this issue and it sounds like it's useful.
-
I might have to explore C++ RAAI concept sooner or later for #GitRaven.
It is getting difficult manually free-ing memory used via libgit2. I am having to think about and write if checks for all the edge cases across my GitManager class.
ChatGPT suggested this after I mentioned this issue and it sounds like it's useful.
-
Do you know what happens when you write Qt + C++ code with web dev experience? Your mental model for memory management (which is non-existent because JS has GC), leads to memory leaks.
It's so bad I had to:
1. rewrite most of the init code for member variables in almost all widgets so the expectation of "WidgetA" from "child C" of MainWindow is available when "WidgetB" emits a signal.2. currently debugging memory leak when MainWindow is closed - huh?
Yup, I have a WindowActivate event that triggers a "status" update and ALL important widgets listen to the signal emitted by THIS fn to update the state.3. A connect() is causing seg fault right now when I update the widget's state multiple times in a row. (still haven't checked this out yet)
4. clang-tidy is labelling cosmetic things like "Class *obj = new Class();" into "auto *obj = new Class();" and my OCD is annoyed.
-
Do you know what happens when you write Qt + C++ code with web dev experience? Your mental model for memory management (which is non-existent because JS has GC), leads to memory leaks.
It's so bad I had to:
1. rewrite most of the init code for member variables in almost all widgets so the expectation of "WidgetA" from "child C" of MainWindow is available when "WidgetB" emits a signal.2. currently debugging memory leak when MainWindow is closed - huh?
Yup, I have a WindowActivate event that triggers a "status" update and ALL important widgets listen to the signal emitted by THIS fn to update the state.3. A connect() is causing seg fault right now when I update the widget's state multiple times in a row. (still haven't checked this out yet)
4. clang-tidy is labelling cosmetic things like "Class *obj = new Class();" into "auto *obj = new Class();" and my OCD is annoyed.
-
Do you know what happens when you write Qt + C++ code with web dev experience? Your mental model for memory management (which is non-existent because JS has GC), leads to memory leaks.
It's so bad I had to:
1. rewrite most of the init code for member variables in almost all widgets so the expectation of "WidgetA" from "child C" of MainWindow is available when "WidgetB" emits a signal.2. currently debugging memory leak when MainWindow is closed - huh?
Yup, I have a WindowActivate event that triggers a "status" update and ALL important widgets listen to the signal emitted by THIS fn to update the state.3. A connect() is causing seg fault right now when I update the widget's state multiple times in a row. (still haven't checked this out yet)
4. clang-tidy is labelling cosmetic things like "Class *obj = new Class();" into "auto *obj = new Class();" and my OCD is annoyed.
-
Do you know what happens when you write C+++ Qt code with web dev experience? Your mental model for memory management (which is non-existent because JS has GC), leads to memory leaks.
It's so bad I had to:
1. rewrite most of the init code for member variables in almost all widgets so the expectation of "WidgetA" from "child C" of MainWindow is available when "WidgetB" emits a signal.2. currently debugging memory leak when MainWindow is closed - huh?
Yup, I have a WindowActivate event that triggers a "status" update and ALL important widgets listen to the signal emitted by THIS fn to update the state.3. A connect() is causing seg fault right now when I update the widget's state multiple times in a row. (still haven't checked this out yet)
4. clang-tidy is labelling cosmetic things like "Class *obj = new Class();" into "auto *obj = new Class();" and my OCD is annoyed.
-
Do you know what happens when you write Qt + C++ code with web dev experience? Your mental model for memory management (which is non-existent because JS has GC), leads to memory leaks.
It's so bad I had to:
1. rewrite most of the init code for member variables in almost all widgets so the expectation of "WidgetA" from "child C" of MainWindow is available when "WidgetB" emits a signal.2. currently debugging memory leak when MainWindow is closed - huh?
Yup, I have a WindowActivate event that triggers a "status" update and ALL important widgets listen to the signal emitted by THIS fn to update the state.3. A connect() is causing seg fault right now when I update the widget's state multiple times in a row. (still haven't checked this out yet)
4. clang-tidy is labelling cosmetic things like "Class *obj = new Class();" into "auto *obj = new Class();" and my OCD is annoyed.
-
-
-
-
-
I am making time for #GitRaven project again. It had stalled for sometime due to other commitments.
Today, I learned C++ and Qt lifetimes, the advantages of member initializer lists. I still have one more issue to fix w.r.t this topic but I will hold it off a little longer, switching my focus on adding features.
-
I am making time for #GitRaven project again. It had stalled for sometime due to other commitments.
Today, I learned C++ and Qt lifetimes, the advantages of member initializer lists. I still have one more issue to fix w.r.t this topic but I will hold it off a little longer, switching my focus on adding features.
-
I am making time for #GitRaven project again. It had stalled for sometime due to other commitments.
Today, I learned C++ and Qt lifetimes, the advantages of member initializer lists. I still have one more issue to fix w.r.t this topic but I will hold it off a little longer, switching my focus on adding features.
-
I am making time for #GitRaven project again. It had stalled for sometime due to other commitments.
Today, I learned C++ and Qt lifetimes, the advantages of member initializer lists. I still have one more issue to fix w.r.t this topic but I will hold it off a little longer, switching my focus on adding features.
-
I ran into my very first "it runs as long as you do it the app's way" kind of bug. My guess is, by assigning a different variable here, the pointer's address is aligned "just right" for my code to work.
This comment is from my #GitRaven project.
```
// FIXME: Use `amendCommitOid` instead
// Note: The app seg faults when this variable is deleted :/
git_oid oid = autoCommitOid;
``` -
I ran into my very first "it runs as long as you do it the app's way" kind of bug. My guess is, by assigning a different variable here, the pointer's address is aligned "just right" for my code to work.
This comment is from my #GitRaven project.
```
// FIXME: Use `amendCommitOid` instead
// Note: The app seg faults when this variable is deleted :/
git_oid oid = autoCommitOid;
``` -
I ran into my very first "it runs as long as you do it the app's way" kind of bug. My guess is, by assigning a different variable here, the pointer's address is aligned "just right" for my code to work.
This comment is from my #GitRaven project.
```
// FIXME: Use `amendCommitOid` instead
// Note: The app seg faults when this variable is deleted :/
git_oid oid = autoCommitOid;
``` -
I ran into my very first "it runs as long as you do it the app's way" kind of bug. My guess is, by assigning a different variable here, the pointer's address is aligned "just right" for my code to work.
This comment is from my #GitRaven project.
```
// FIXME: Use `amendCommitOid` instead
// Note: The app seg faults when this variable is deleted :/
git_oid oid = autoCommitOid;
``` -
Not proud or satisfied about this bug fix as I had to use ChatGPT in the end.
https://github.com/shanmukhateja/gitraven/pull/1
The fix was computing `objFullPath` over each iteration and then use it when computing absolute path for a tree node.
-
Hello #fediverse
Here is my next post on my #GitRaven pet project that's written in C++ and Qt.
This time, I am integrating Monaco editor (editor/viewer of VSCode) to this project.
Give it a read:
https://blog.suryatejak.in/ghostllm-how-to-setup-monaco-editor-for-qwebengine -
Hello #fediverse
I am happy to share my blog post on #GitRaven project.
This post has been stuck on Drafts for so long! I am happy it's out :)
This is my first C++ project as well as my first Qt project. Some of you might remember my #MyStudio project journey with Rust + GTK.
Anyways, here's hoping you'd give it a read.
I am open to feedback so feel free to share your views :)
https://blog.suryatejak.in/gitraven-how-to-draw-custom-widgets-on-qtreeview-rows
-
EDIT: Link updated.
I am happy to bring this update for my pet project #GitRaven. It's a Git management tool built in C++ and Qt as a learning experience.
Give it a read and let me know how you like it?
https://blog.suryatejak.in/gitraven-april-2026-updates
#fediverse #developers #gitraven #cpp #qt6 #linux #opensource #diary #blog
-
EDIT: Link updated.
I am happy to bring this update for my pet project #GitRaven. It's a Git management tool built in C++ and Qt as a learning experience.
Give it a read and let me know how you like it?
https://blog.suryatejak.in/gitraven-april-2026-updates
#fediverse #developers #gitraven #cpp #qt6 #linux #opensource #diary #blog
-
EDIT: Link updated.
I am happy to bring this update for my pet project #GitRaven. It's a Git management tool built in C++ and Qt as a learning experience.
Give it a read and let me know how you like it?
https://blog.suryatejak.in/gitraven-april-2026-updates
#fediverse #developers #gitraven #cpp #qt6 #linux #opensource #diary #blog
-
EDIT: Link updated.
I am happy to bring this update for my pet project #GitRaven. It's a Git management tool built in C++ and Qt as a learning experience.
Give it a read and let me know how you like it?
https://blog.suryatejak.in/gitraven-april-2026-updates
#fediverse #developers #gitraven #cpp #qt6 #linux #opensource #diary #blog
-
Hello #fediverse
I am happy to share my blog post on #GitRaven project.
This post has been stuck on Drafts for so long! I am happy it's out :)
This is my first C++ project as well as my first Qt project. Some of you might remember my #MyStudio project journey with Rust + GTK.
Anyways, here's hoping you'd give it a read.
I am open to feedback so feel free to share your views :)
https://blog.suryatejak.in/gitraven-how-to-draw-custom-widgets-on-qtreeview-rows
-
Hello #fediverse
I am happy to share my blog post on #GitRaven project.
This post has been stuck on Drafts for so long! I am happy it's out :)
This is my first C++ project as well as my first Qt project. Some of you might remember my #MyStudio project journey with Rust + GTK.
Anyways, here's hoping you'd give it a read.
I am open to feedback so feel free to share your views :)
https://blog.suryatejak.in/gitraven-how-to-draw-custom-widgets-on-qtreeview-rows
-
Hello #fediverse
I am happy to share my blog post on #GitRaven project.
This post has been stuck on Drafts for so long! I am happy it's out :)
This is my first C++ project as well as my first Qt project. Some of you might remember my #MyStudio project journey with Rust + GTK.
Anyways, here's hoping you'd give it a read.
I am open to feedback so feel free to share your views :)
https://blog.suryatejak.in/gitraven-how-to-draw-custom-widgets-on-qtreeview-rows
-
Hello #fediverse
I am happy to share my blog post on #GitRaven project.
This post has been stuck on Drafts for so long! I am happy it's out :)
This is my first C++ project as well as my first Qt project. Some of you might remember my #MyStudio project journey with Rust + GTK.
Anyways, here's hoping you'd give it a read.
I am open to feedback so feel free to share your views :)
https://blog.suryatejak.in/gitraven-how-to-draw-custom-widgets-on-qtreeview-rows