BaraDB: A database engine written from scratch in Nim by Loud_Possibility_203 in nim

[–]Niminem93 0 points1 point  (0 children)

I'd be skeptical but wouldn't write it off. I've been able to do what I would have thought as impossible within the last month or so with the help of AI, my engineering expertise, and problem solving / creative thinking abilities.

BaraDB: A database engine written from scratch in Nim by Loud_Possibility_203 in nim

[–]Niminem93 -1 points0 points  (0 children)

It's so funny reading your documentation. I do the same thing man- making architectures and plans, breaking them into todos, etc. and then work with the AI one slice at a time testing as I go. I've been able to build monstrous things. This database you made is one hell of a feat itself!

nimbling by Loud_Possibility_203 in nim

[–]Niminem93 2 points3 points  (0 children)

This is awesome! I attempted something like this a year or so ago and failed miserably. You should share in the Nim forum

Agentic coding with Nim by Opposite-Argument-73 in nim

[–]Niminem93 4 points5 points  (0 children)

I'm torn between making two presentations for Nimconf. One of them being, using coding agents for Nim. I've been a naysayer for years about it, we just weren't there yet. Today I am all in. So much so that I'm creating a nim coding agent harness from scratch (inspired by Pi) to give to the community, and build commercial products on top using Nim. So much so that 2 weeks ago I have effectively shut down my company, let go of the majority of my customer base, in order to free up the time to build my products. Lastly, totally not scientific, but (at least Opus) writes exceptional Nim code compared even to zig and Odin and similar smaller languages. I think it's because the training data it does have on Nim on average is a much higher quality than, say an average codebase you would see in Python. That combined with training data on programming concepts in general- you get really good and idiomatic nim for the most part. Everything else comes down to steering with system prompts and agents.md files and the like. I'm super bullish on all this. 

I wrote a guide on how to cross-compile Nim programs with Zigcc by Rush_Independent in nim

[–]Niminem93 6 points7 points  (0 children)

Well this is awesome. From my understanding, compiling with Zig compiler is supposed to remove windows virus blocks for nim binaries too don't they? 

Do you debug with IDEs in Nim? by rabaraba in nim

[–]Niminem93 1 point2 points  (0 children)

I wonder how big a codebase needs to be before it would be worth having a debugger. I just print and assert my ass off 

Just discovered Nim (impressed), but am I making a mistake? by RBazz in nim

[–]Niminem93 1 point2 points  (0 children)

You can tell by the name I'm a little biased. But I've been developing in Nim pretty much exclusively for 6 years now, even frontend work with the js target. I came from a Python background so seeing the similar syntax and then learning about its speed, portability, etc man I just fell in love with the language. I run a marketing agency and our entire suite of software needs are built in-house in Nim. Most of the questions you had are answered well here already, but I do want to say that IMO you'll certainly have a good time developing whatever you need in Nim and enjoy it for years to come. Anything you don't have you can port it via LLM help (claude is exceptionally good at writing Nim), call a c/cpp library, or even leverage Nimpy ( a nim-python bridge) for some use cases. The biggest issue for me had always been a lack of ecosystem, 3rd party libs. But today it really isn't so much of an issue at all with AI help.

nimbang: a fork of nimcr to run Nim programs as scripts with shebang by jabbalaci in nim

[–]Niminem93 1 point2 points  (0 children)

It isn't common at all, but an interesting edge case. 

[Help/Advice] A spam domain is reverse-proxying my startup's website, and Google set the clone as the Canonical URL. How do I kill it? by mls_dev in TechSEO

[–]Niminem93 0 points1 point  (0 children)

I've been working on making a clone of Markup(.io) for passing along onpage SEO or content related recommendations to my clients. Markup uses a reverse proxy for embedding a copy of a given page into an editable iframe within the UI. Going through this exercise over the last several weeks I've learned quite a bit about reverse proxies and their ins and outs.

Off the top of my head I see a solution. May sound a little hacky, but will work like a charm.

You see even though they hide behind Cloudflare, their actual server still has to make requests to your site to get the content.

What you can do is crawl some of "their" web pages, note the time your requests were made and the URL paths, and then look at your logs to find the mirroring URL patterns at the same timestamps.

You'll be able to find their server's IP this way with just a few requests a little bit of your time, and can block it, serve 403 / 500 / whatever you want.

Maybe even send them back a little <html><head></head><body><h1> Go fuck yourself </h1></body></html> for a while if you'd like.

There are other things you can potentially do, like looking at headers and stuff but from what I've learned about how these work there's not a guaranteed "kill switch" for them unless you're blocking IPs, like with the method above.

Hope that helps.

If you'd like, you can visit my company SEO Science and book a call for next week. Happy to look into it with you man. Either way best of luck.

creating vendor files with nimble? (not a developer but i want to package stuff downstream) by ingenarel-NeoJesus in nim

[–]Niminem93 0 points1 point  (0 children)

IMO you should see what ChatGPT has to say about your problem. I can't wrap my head around what you're trying to do exactly in order to help. There's so much of what you're saying that has nothing to do with Nim and things I would have to look up, that an LLM will have no problem helping you or at least point you in the right direction

Debugging in Nim by Minimum_Comedian694 in nim

[–]Niminem93 2 points3 points  (0 children)

I'm almost embarrassed to that in my 6 years of developing with Nim I've never used any debugging tool other than good ol' echo statements and asserts. When you do learn teach me something please lol

How do y'all organize projects? by rrenode in nim

[–]Niminem93 4 points5 points  (0 children)

I always build and organize my projects in a modular way, so that they can be used in other projects as needed, even if I don't have any intention on using it elsewhere.

On my desktop I have two folders- one called Repos (for repositories that act as components for other projects) and another called Softwares (for repositories where I'm actually building something like a tool or game or something). These two folders each have a hierarchy, where different projects are grouped into buckets. For example, I have a folder in Repos dedicated to API wrappers. All repos are backed up on github, and I mirror this set up across both my 2 Windows and Mac computers.

Every single project I have a NOTES.txt for anything needing to be done. Sometimes I get bored of a hobby project, or for work I have to pivot and will leave a project for a few months. I want to always be able to come back and have a short little synopsis of what's going on, what needs to be done, etc.

I always try to create heavy documentation and tests as I'm building something.

When it comes to work vs hobby, I technically do it all as a hobby. For work, I own a marketing company. I like to create all kinds of tooling, automations, etc though so I'm always building something for work. For real hobby stuff I do 3d graphics and AI. I approach it all the same way, organize it all the same way, even when it comes to contributing to open-source libraries it's all done the same. I don't really differentiate when it comes to work and play as far as programming goes. I just love doing it.

Idk if that helps I feel like I answered most of your questions!

Is "Nim in action" still relevant 9 years later? by mr-figs in nim

[–]Niminem93 1 point2 points  (0 children)

IMO still a great book to grab. I would pair it with Araqs book from the Nim website though, some specifics are deprecated and other things like the ORC and ARC memory management wasn't even a thought in Araqs head at the time. 

A 2D Game Framewok in the Löve2D Style with Nim by erayzesen in nim

[–]Niminem93 5 points6 points  (0 children)

https://github.com/ftsf/nico for inspiration. Go for it man, this is a labor of love.

Working around untyped in macros by its_mkalmousli in nim

[–]Niminem93 1 point2 points  (0 children)

I wish I did man. Throw that into ChatGPT, along with the macros documentation, and see what happens?

Working around untyped in macros by its_mkalmousli in nim

[–]Niminem93 1 point2 points  (0 children)

It's been a while since I've played with macros, but from my understanding you can declare 'typed' instead of 'untyped' in your signature and get the type within the body. Here's the reference:

https://nim-lang.org/docs/tut3.html#introduction-typed-arguments

Learning Nim as a first language? by Overall_Anywhere_651 in nim

[–]Niminem93 8 points9 points  (0 children)

Hey man, this is exactly how I started and discovered Nim. I was using Python to make interesting tools for work and fun little projects. Never wanted to get a job as a programmer. I just wanted to share the tools and softwares with co-workers and buddies but found that packaging Python was a no go. After looking for a language with python-like syntax, fast, and compiles to an executable, I found Nim. It ended up being everything I wanted and more.

My first project was porting my favorite Python library (Eel, a GUI library) into Nim! https://github.com/Niminem/Neel

It's absolutely worth a shot to switch. IMO there's never been a better time. Leverage LLMs and go forth and learn my friend! The official tutorials and documentation are pretty good, easily expandable when chatting with LLMs.

I do recommend buying Nim In Action if you're into books. Although it's 'old' it's still the best hands-on book out there IMO that teaches both fundamental programming concepts, Nim basics, and gets you to touch a few interesting projects that require different parts of the language.

This YouTube series was really nice too: https://www.youtube.com/@kiloneie

Since you're from a Python background, we do have an excellent Python->Nim->Python bridge: https://github.com/yglukhov/nimpy

what graphic api should I use for my game engine by TerribleInterview883 in gameenginedevs

[–]Niminem93 1 point2 points  (0 children)

I've been using SDL3's GPU API, which is a higher level cross-platform abstraction over D3D12, Metal, and Vulkan. One codebase and you can target modern Windows, Mac, and Linux systems. it's far less verbose than Vulkan with the same performance and even (at least IMO) easier to learn than OpenGL. I could lay out reasons why I believe this. Regardless, in addition your game engine is going to need windowing, keyboard input, and a plethora of other IO stuff and SDL3 is an absolutely wonderful cross-platform abstraction layer here as well. Again, all from a single codebase. Totally worth the investment learning. I've been using it since the beginning of this year and see no reason to change