Is slopcoded somehow better?
HN user
moigagoo
No it's not. Araq does use LLM to generate code in Nimony but his approach involves very strict control over the produced code, it's nothing like Bun's Zig to Rust endeavor where they just asked it to dk the migration and it produced a million lines of incomprehensible code. Calling it slopcoding is a misnomer.
My love letter video turned out a bit chaotic, I apologize upfront.
But the core points I make there I can get behind any day of a week. I do think Nim is the best language out there and I'm tired of pretending it isn't (insert the DeNiro-Phoenix-Joker meme here :-)
On the other hand, this format allows people from all around the world to participate.
We use custom types for that usually, optionally with parametric polymorphism.
But as others said already, Nimony (codename for the next Nim iteration) introduces revamped concepts which should be even more convenient.
Please do share your progress with FigDraw. Interactive demoes always look great.
I plan to give a couple of talks this year.
Can't wait for NimConf, it is way overdue.
Thanks! Feel free to ping me: https://app.cannon-chat.online/#/newcontact?deviceId=neatly-...
Thanks for the kind words!
Presumably, your server stores a registry of Device IDs and IPs to route messages?
Not IPs but Push API registration objects.
What about replacing this with some sort of partitioned DHT to make it decentralized?
I guess this could be done but it's a task I can't tackle at this point.
Also, the messages flow through your servers?
Yes but I don't store them. My API just dispatches the message to the recipient's push service. Which means the message exists on my server only in the form of an in-memory variable for several microseconds between being received and sent further.
Would it be possible to set up WebSocket connections between the users instead, and how would that compare from a security model perspective?
This generally can't be done in a PWA. OS won't allow a persistent WebSocket to run in background.
Also, this would disclose too much information about a client to all the other clients. Currently, all I know about other clients is their Device IDs which are just random strings.
Yeah Apple kinda hates PWA it seems. I honestly tried to make it usable on iOS but it just fails with anything I'm trying to do.
Exactly! Not only that but the entire message delivery routine as well.
It works fairly well on Android but horribly on iOS because PWA support is very limited on iOS.
The biggest challenge with Enu is that kids don't read or write well, so they're basically sitting there telling youbehat to do and you're just coming up with solutions frantically on the spot.
It just occurred to me, that sounds a lot like actual development for a customer :-)
Love this project. My 6 y.o. son and I used to spend hours with it, it's really fun.
Are you hiring Nim devs?
Congratulations to everyone involved and the entire Nim community!
Nim has been my language of choice for the past decade and I'm really happy with the new features in Nim 2.0. Some of them are real gamechangers for my projects. For example, default values for objects theoretically allow me to make Norm[1] work with object types along with object instances. And the new overloadable enums is something Karkas [2] wouldn't be possible at all (it's still WIP though).
I'd just save a snippet to a file and wait a second for nimsuggest to highlight the errors :-)
As a Python user, I had my a-ha moment with Nim when I realized I didn't need a repl.
With Python, I used repl all the time. There's bpython, ptpython, ipython, and probably a couple more great repls because repl is really important for Python development.
Nim's INim is no match for those. But here's the great part: with Nim you don't have to test code snippets all the time. I get all my error messages before they happen. This felt liberating after Python.
AFAIU she said the agreements were never viewed as a solution for the conflict.
The goal was to cool the conflict down to a state that allowed Ukraine to get better at war: collect arms, build defense lines, train soldiers, etc.
So, in other words, she said the war between Russia and Ukraine was inevitable and even expected and the agreements were introduced to give Ukraine advantage.
Great book! Loved it as a child.
Even bought one for my son who's four. The book still rocks.
Feel kinda disappointed that the blog isn't hosted on Ansiwave :-)
In the ORM field, Norm[1] is an actively maintained package that supports SQLite and Postgres (shameless plug). It's framework agnostic, I've used it with Jester and Prologue (it had nothing to do with Prolog btw).
Among frameworks, Prologue is the most actively developed and feature rich.
I've been using Nim for hobby programming for a few years now. I'm maintaining the Norm package, it's an ORM for SQLite and Postgres. Not a huge project but not a hello world either.
Style insensitivity has never caused a single problem for me. Honestly, this is the most unimportant language feature, I don't get why it causes such fuss every time Nim is mentioned.
Holy cow, where do I apply for junior enterprise architect?
I remember Enu from NimConf. It was very impressive then and it's even more impressive now. That evil tower you built looks freaking dope, straight out of Tron!
My son is just three and too young to learn programming but when he's older I'm definitely adding Enu to my educational toolset among turtle and Colobot. Thanks!
From my experience, there really is not that much need for debugging in the sense of adding breakpoints and attaching to a running process with Nim. Honestly, `debugEcho` suffices, give it a shot. I mean, you may need more debugging tools when your project gets large but since you're just starting with Nim, you can just relax and keep going.
100% agree. I'm developing an ORM [1] in my spare time specifically with the vision to make it easier to create web apps with Nim. Created a PoC with Jester in backend, Karax on the front, and Norm for model definition, and it turns out to be very much usable, accessing the same models from backend and frontend and all that.
I've just submitted a tiny PR¹ that makes docs a bit mobile-friendlier. It turns out that the docs template already uses media queries to rebuild the layout for smaller screens, it's just that these queries are not triggered on mobile.
Yay! We're one step closer to 1.0, which—I believe—will be a major milestone.
Nim is surely a very interesting language with some very real perspectives for production use.
Hi!
I'm one of the authors of this research. Feel free to ask any questions, I'll be happy to tell you more.