This thread is for anyone working on personal projects to share their progress, and hold themselves somewhat accountable to a group of peers.
Post your project, your progress from last week, and what you hope to accomplish this week.
If you want to be pinged with a reminder asking about your project, let me know, and I'll harass you each week until you cancel the service

Jump in the discussion.
No email address required.
Notes -
HOCK GEAR PREP
Got lighter Travers CS boots instead of GRs, three sizes too large. Will create mockup of Slentite insole (14mm thick) from foam; test fit this, then order Slentite once I've gotten these things down to size.
Please ping me: next week, I hope to have cut my insoles and ordered the Slentite.
More options
Context Copy link
Had a busy New Years but I managed to get some work in. The latest version of the app is deployed, but it didn't quite go without a hitch, as I had to scramble to fix some issues stemming from discrepancies between sqlite and mysql. But it works!. The old data is migrated, and everything else works pretty damn snappy. I have to decide what to do next, either I'll go back to importing data from Substack, which is what got interrupted before I went on this whole refactoring tangent, or I'll add some AI-automated tagging, and/or image description for categorization and easier search, which is what I found myself wishing for recently.
How have you been doing @Southkraut?
Happy new Year Arjin!
I made good use of the holidays and really got to grips with procedural geometry. I now have subdivided icospheres which I can freely sculpt and paint via code. They don't look like much yet; I still need to write tools for the sculpting and painting, and creative logic that actually uses those tools, and some assets (chiefly shaders) that make them look like I want them to look. But the foundation is laid, and works, and actually works a whole lot faster than what I had in other engines. C++ has its advantages.
Originally I had planned, at this stage, to get into variable resolution meshes, but I'm postponing that for the time being. I would need it for realistic-scale planets, but it's a big technical rabbithole, and I just come climbing out of one those, and I know myself - I will sink months into it with nothing to show for it until it's completely done. So instead, I'll scale the planet down for the time being.
Which means that my next immediate tasks are
So that I can actually make some things happen.
Other technical rabbit-holes I need to take care not to fall into:
But generally speaking, I'm happy. Things work.
I plan them, I implement, I debug furiously, and then they work. Life is good.
More options
Context Copy link
More options
Context Copy link
Trying some recipes again:
More options
Context Copy link
I've been melting my brain with leetcode. Some highlights.
I really enjoy doing a Topological Sort, or Kahn's Algorithm. Almost every graph problem I see, I take a minute and have a think if it can be solved with a topological sort.
I took a day to really try to understand Monotonic Stacks or Deques, because on the face of it I couldn't grasp what they were doing at all. But after manually stepping through a few examples of the algorithm on paper it clicked. Been redoing a bunch of stack problems seeing if they can be solved with a Monotonic solutions.
Floyd's Cycle Detection remains a blind spot for me. I mean, I get it, but I often fail to perceive that a given problem can be reinterpreted as a cycle detection problem.
Solving shortest cost problems in a graph with a minheap was something I'm not sure I ever learned in school. I always remember doing that with a breadth first search queue.
I wonder if that had anything to do with learning all this in C/C++ without any standard template libraries. If we wanted to use a minheap to solve a problem, we would have had to code one up ourselves, and I'm not sure we were taught that in undergrad. Least I never was. Doing the leetcode problems in modern languages, or even C++ with STL seems mostly to be a matter of picking the right data structure off the shelf and solving the problem with it and/or having heard of the algorithm you never would have come up with yourself.
Also, having been a software engineer for 20 years already, it has me looking back over my career. Over all the stitching together of off the shelf libraries I've done, wondering if at any point I could have done a better job with any of this. The answer is absolutely not.
Ah well.
Whenever I do coding interview training I have to brush up on min heaps and try to think of whenever I would could have used them and the answer is: never.
Deques on the other hand, maybe 7 times in the last 30 years. But it's never been performance critical enough to matter.
You'll see minheaps a bit under Dijkstra's algorithm in the networking and -adjacent spheres, but it's so well-known as the Default Solution for those use cases you're either going to have it under several layers of abstraction, or you're really doing something weird. I've had to hand-build it once, and I don't think the end product ever actually hit anywhere outside of a toy environment.
Oh. Okay I've used a min heap once in my life in that case. I somehow forgot. Probably because it was a pairing heap whereas all of the coding interviews that ask you to hand write one want to see an array based binary heap.
More options
Context Copy link
More options
Context Copy link
More options
Context Copy link
More options
Context Copy link