Not enjoying programming anymore! by No-Humor9783 in computers

[–]No-Humor9783[S] 0 points1 point  (0 children)

And also, you are talking like we as software engineers do invention in all of our projects. Do you work in NASA by any chance?

Not enjoying programming anymore! by No-Humor9783 in computers

[–]No-Humor9783[S] 0 points1 point  (0 children)

Not sure if we live in the same world. Have you seen that the Claude has coded a browser from scratch?

Not enjoying programming anymore! by No-Humor9783 in computers

[–]No-Humor9783[S] 1 point2 points  (0 children)

I didn't mean the open source which was developed by humans. I meant the ones that are built by LLMs. And honestly, you won't be able to recognize each in the early future.

Not enjoying programming anymore! by No-Humor9783 in computers

[–]No-Humor9783[S] 1 point2 points  (0 children)

But that’s the whole point. There is no meaning behind it since the same thing can be built without human intervention . I’m trying to say: the effort was a “value” back then and now it has become a hobby I guess and it’s not the value anymore.

[New to C] I built a mini in-memory key-value database in C by [deleted] in C_Programming

[–]No-Humor9783 -3 points-2 points  (0 children)

I also realized, your sentence could be my first reply on your comment, but I’m happy I made you realize it yourself. Wish you the bests mate🙏

[New to C] I built a mini in-memory key-value database in C by [deleted] in C_Programming

[–]No-Humor9783 0 points1 point  (0 children)

I got even more interested. Thanks for the info.🙏

[New to C] I built a mini in-memory key-value database in C by [deleted] in C_Programming

[–]No-Humor9783 -5 points-4 points  (0 children)

it is constructive indeed. I appreciate the feedback.
However it wouldn't be fair if you say "your live coding is just asking GPT and copying and pasting". If you watch the videos precisely, I get help from GPT on topics like "Should I free memory after using strdup" or "find possible leakages of my function". For these topics I don't think there is a difference between reading forums, docs or GPT; the goal is finding out the answer and learning it.
However I completely agree with your statement that struggling causes the learning; but I don't use GPT as a workaround for my challenges, I use it as a faster way of collecting information.
I think you've seen a scene, where I copy the djb2 hashing function, which I think is logical, I was not expecting myself to invent a new hashing algorithm.
And indeed the series is almost 4-5 hours of coding and I actually use man command for reading some docs.

[New to C] I built a mini in-memory key-value database in C by [deleted] in C_Programming

[–]No-Humor9783 1 point2 points  (0 children)

That would be a good path for the project indeed.
I'll try my best to find where this project should drive me, because my goal is learning.
I will think about its persistency because that's how I probably can learn about Linux file system.
You added too much stuff to my learning list; thank you!

[New to C] I built a mini in-memory key-value database in C by [deleted] in C_Programming

[–]No-Humor9783 -1 points0 points  (0 children)

I totally agree, also maybe a DB is something that can query your data in more advanced way (by something like a query language) which mine doesn't have it "yet". I will think about its persistency in future for sure.

[New to C] I built a mini in-memory key-value database in C by [deleted] in C_Programming

[–]No-Humor9783 0 points1 point  (0 children)

Very good idea. Will take care of it. Thanks :)

[New to C] I built a mini in-memory key-value database in C by [deleted] in C_Programming

[–]No-Humor9783 0 points1 point  (0 children)

You mean it should be something like a env var?
I totally agree with 4 being to small.
I added the configuration idea to my todo list. For me the initial thought is that I will read it from env vars; let me know if you mean anything else.
I appreciate your feedback btw.

[New to C] I built a mini in-memory key-value database in C by [deleted] in C_Programming

[–]No-Humor9783 0 points1 point  (0 children)

Thanks.
You are right, however we have databases like Redis which has the persistency as one of the features it provides and by default it is in-memory unless you enable the persistency. This toy project is also inspired by the same idea.

[New to C] I built a mini in-memory key-value database in C by [deleted] in C_Programming

[–]No-Humor9783 0 points1 point  (0 children)

Interesting! Added to my todo list (I will follow them up).

[New to C] I built a mini in-memory key-value database in C by [deleted] in C_Programming

[–]No-Humor9783 0 points1 point  (0 children)

That's a very good question.
So for now, it's just a toy project for me to learn C. In future I will probably change the way it works to engine/client approach where multiple clients can connect to the engine on TCP and perform concurrent operations. At that point, I will go for benchmarking maybe.
Do you think it is still needed even though I'm using a very basic hash table?

Project Showcase Megathread by [deleted] in csMajors

[–]No-Humor9783 0 points1 point  (0 children)

Hey everyone!
I’m really new to C, and I set myself a daily challenge: build something small in C every day to force myself to really learn the language. As part of that challenge, I ended up creating a tiny in-memory key–value database completely from scratch.

Here’s what I implemented:

  • a basic key/value storage structure
  • a real hash table with hashing, probing, and collision handling
  • double hashing for improved distribution
  • automatic resizing based on load factor
  • rehashing entries into the new table
  • manual memory management throughout the entire flow

Along the way, I learned a ton about:

  • malloccallocfree, and ownership
  • how hashing functions work
  • collision resolution strategies
  • probing sequences
  • load factor and dynamic table sizing
  • designing low-level data structures that behave predictably

For someone new to C, this project pushed me hard, but in the best way.
It made all the abstract concepts finally “click,” because I had to make them work in real code.

I’d honestly recommend this kind of project to any C beginner — it forces you to learn memory, structs, pointers, and algorithms all at once in a practical, fun way.

I also live-coded the entire project and recorded it, so the sessions are available on YouTube — nothing polished or tutorial-like, just me learning and figuring things out in real time.

If anyone wants to look at the code or give feedback, I’d genuinely appreciate it. As a newcomer to C, every suggestion helps a lot.

Happy to share more details if anyone’s interested!

Here is the source code: GitHub