<< 18-05-2025 >>

00:36:39FromDiscord<mr_rowboto> In reply to @aintea "Is there any way": Throuc Cursor
00:36:45FromDiscord<mr_rowboto> (edit) "Throuc" => "Through"
00:36:59FromDiscord<mr_rowboto> But you'd have to pay.
01:01:49*end quit (Ping timeout: 252 seconds)
01:02:10*bcksl quit (Ping timeout: 260 seconds)
01:26:11*bcksl joined #nim
01:35:21*end joined #nim
01:40:36*GnuYawk1 quit (Quit: The Lounge - https://thelounge.chat)
01:41:33*GnuYawk1 joined #nim
01:45:43*xet7 joined #nim
03:39:25FromDiscord<dawidek.2137> Ai in general just can’t deal with nims awesomeness
03:40:26FromDiscord<dawidek.2137> But it can find obscure bugs and write a nontrivial program from scratch in other languages 🤠
03:51:49*xet7 quit (Ping timeout: 248 seconds)
04:40:52*xet7 joined #nim
04:48:18*xet7 quit (Remote host closed the connection)
04:57:28*xet7 joined #nim
06:06:45*nils` quit (Ping timeout: 252 seconds)
06:28:52*skippy8 joined #nim
07:11:02FromDiscord<heysokam> claude does fine on nim
07:11:16FromDiscord<heysokam> try it on augment/cursor, and you'll see
07:18:49*nils` joined #nim
07:45:24*redj quit (Remote host closed the connection)
07:46:46*redj joined #nim
07:56:07*ntat joined #nim
09:09:06*jjido joined #nim
09:31:45FromDiscord<tauruuuuuus> In reply to @aintea "Is there any way": It didn't ask me one when using a Google account
09:31:53FromDiscord<tauruuuuuus> Just create a new one just for it lol
09:35:08FromDiscord<aintea> yeah I need a phone number for creating a google account
09:51:26FromDiscord<aintea> Claude is hallucinating stuff even I couldn't on 3 hours of sleep and hard drugs
09:51:51FromDiscord<aintea> I'm coming to the conclusion all Nim devs are safe from AI taking our non-existent jobs
10:39:04*jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…)
10:51:40FromDiscord<janakali> In reply to @tauruuuuuus "It didn't ask me": It did ask me for phone number, even with google sign-in. Because it's not available in my country, I had to pay for a temporary sms service - about $0.2
10:51:55FromDiscord<0xfab_10> nim devs are safe from nim jobs
10:52:29FromDiscord<tapeda> Anyone else do more vibe-learning than vibe-coding with the llms? Like instead of a textbook u can learn just enough to test your understanding with an implementation
10:53:39FromDiscord<janakali> And yeah, Claude is not capable of writing good code. It is one of few LLMs that write code that compiles, but quality is unusable.
10:53:55FromDiscord<janakali> Deepseek is slightly better.
10:54:36FromDiscord<lainlaylie> the LLM that god designed and gave to all of us for free remains superior
11:23:39FromDiscord<aintea> In reply to @janakali "It did ask me": Here's a tip: create a Google account from a phone
11:23:48FromDiscord<aintea> It won't ask you for a phone number nor register your actual number
11:24:27FromDiscord<aintea> In reply to @janakali "Deepseek is slightly better.": ChatGPT is miles above in terms of writing macros
11:24:37FromDiscord<aintea> At least it wrote a macro that somewhat worked
12:00:17FromDiscord<janakali> In reply to @aintea "Here's a tip: create": I know about this, but most companies won't let you use google account without verified phone number. And Claude specifically, asks you for phone number whether google account has it or not.↵Almost like they don't care about 'spam and abuse', but want need it to track you.
12:00:24FromDiscord<janakali> (edit) removed "want"
12:00:37FromDiscord<aintea> chatgpt doesn't, nor claude
12:00:48FromDiscord<aintea> (edit) "chatgpt doesn't, nor ... claude" added "does"
12:04:42FromDiscord<janakali> Maybe it didn't ask you, but it asked me and some other people. Random blogpost:↵https://expatinuk.medium.com/my-claude-sign-up-story-ddc6725e40ea↵> First, I decided to take the Google sign-in route — a simple enough choice, right? Wrong. After linking my account, I landed on a page asking for my phone number and birth date. Easy peasy, or so I thought.
12:52:57*jjido joined #nim
13:20:10*o-rwx joined #nim
13:50:53*beholders_eye joined #nim
14:42:10*jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…)
14:59:56*xet7 quit (Remote host closed the connection)
15:16:06*ntat quit (Quit: leaving)
15:16:55*ntat joined #nim
15:22:36*beholders_eye quit (Ping timeout: 268 seconds)
15:26:23*jjido joined #nim
16:10:24*ftajhii joined #nim
16:28:36FromDiscord<nova3e> I have some questions about the Nim prog-lang
16:30:07FromDiscord<nova3e> (edit) "the Nim prog-lang" => "Nim↵(Btw I'm not even a beginner in programming as a whole, let alone Nim)↵Is it unique in compiling down to other languages first, then going from there to assembly?"
16:35:45FromDiscord<Phil> In reply to @nova3e "I have some questions": Strictly speaking not quiiiiite.↵Typescript compiles to javascript which gets interpreted into machine code
16:36:24FromDiscord<Phil> Off the cuff I can't recall another language that does a transpilation-step to C, but honestly that's not saying too much. It's neither too crazy an idea, nor all that much out there.
16:36:34FromDiscord<Phil> (edit) "all that much out there." => "super common"
16:37:36FromDiscord<Phil> From a compilation perspective, there's just a ton of intermediate representations.↵The nim compiler goes nim code => Nim's Internal intermediate representation => C , after which gcc/clang or the like take it and go C => Whatever IR the compiler builds up => machine code
16:38:06FromDiscord<Phil> Instead of C it could've just as well gone to some LLVM (from my limited understanding of compilers) and gone to binary from there
16:38:20FromDiscord<Phil> (edit) "there" => "there. Effectively it just uses C as one of many IR steps along the way to machine code"
16:38:34FromDiscord<Phil> (IR = Intermediate Representation)
16:39:16FromDiscord<Phil> (edit) "(from" => "IR(from"
16:39:32FromDiscord<nova3e> Wow thanks for the details
16:39:47FromDiscord<nova3e> I'd never heard of IR before
16:40:06FromDiscord<Phil> Sidenote, transpilation and compilation are very blurry distinctions so you might as well use them interchangeably to some degree.
16:40:07FromDiscord<nova3e> Is it like bytecode of Java
16:40:41FromDiscord<nova3e> (edit) "it" => "IR"
16:43:29FromDiscord<Phil> sent a long message, see https://pasty.ee/TuLcmZMe
16:43:32FromDiscord<Phil> (edit) "https://pasty.ee/iOKAiElB" => "https://pasty.ee/GSDkpWuT"
16:45:00FromDiscord<Phil> In the end, almost everything gets translated from one format into another format, the differences are just which specific formats and when (compile-time vs. run-time).↵The path from source code to machine code almost always leads through multiple IR formats. Some of those formats may be human readable (like how nim uses C as an IR), or not (java bytecode I think is not human readable).
16:45:24FromDiscord<Phil> (edit) "formats." => "formats and translation steps from one to the next."
16:46:19FromDiscord<Phil> An interesting difference between Java Bytecode and JS for example here is that JS actually is human readable.
16:46:45FromDiscord<Phil> (edit) "An interesting difference between Java Bytecode and JS for example here is that JS actually is human readable. ... " added "When it gets interpreted it likely also has a lot more translation steps under the hood until it reaches machine code than java does"
16:46:56FromDiscord<Phil> (edit) "An interesting difference between Java Bytecode and JS for example here is that JS actually is human readable. When it gets interpreted it likely also has a lot more translation steps under the hood until it reaches machine code ... than" added "at runtime"
16:46:59FromDiscord<Phil> (edit) "An interesting difference between Java Bytecode and JS for example here is that JS actually is human readable. When it gets interpreted it likely also has a lot more translation steps under the hood until it reaches machine code at runtime than java ... does" added "bytecode"
16:47:18FromDiscord<nova3e> In reply to @isofruit "From a high level": Thanks for this! I think I finally understand JIT and Aheadoftime
16:47:39FromDiscord<nova3e> Are you a teacher??
16:47:46FromDiscord<Phil> Not really 😄
16:48:49FromDiscord<Phil> Given how much I ramble judging by those close to me when I explain them more technical things I'd honestly be a terrible teacher 😄
16:48:56FromDiscord<nova3e> In reply to @isofruit "An interesting difference between": Yes yes this! So interesting...
16:49:08FromDiscord<nova3e> Doesn't this mean a team of 2 programmers, each of whom knows only 1 language (JS xor TS) can collaborate on a single source code?
16:49:46FromDiscord<nova3e> Unless we never get the middle language..?
16:51:31FromDiscord<0xfab_10> they could but it would be messy tbh
16:51:36przmkYou don't usually work on the transpiled output
16:52:07FromDiscord<Phil> sent a long message, see https://pasty.ee/soGpoZxj
16:52:09FromDiscord<Phil> (edit) "https://pasty.ee/qCsdOgTB" => "https://pasty.ee/NbYKjLxj"
16:52:34FromDiscord<Phil> (edit) "https://pasty.ee/vQNMHvDa" => "https://pasty.ee/nhuOcwTh"
16:52:38FromDiscord<nova3e> In reply to @fabric.input_output "they could but it": Ah right it's not going to have any comments wow
16:53:23FromDiscord<0xfab_10> if you put js in there intentionally you're forsaking all the benefits you'd get from typescript
16:53:36FromDiscord<Phil> It also comes into play that TS and JS are basically identical, TS just has the added benefit of an opt-in typesystem, so typically even if you only barely use TS, everbody in a codebase uses TS files
16:55:08FromDiscord<nova3e> In reply to @isofruit "*Theoretically* it's possible (assuming": Is the JavaScript code not inefficient due to being garbled then? Also unmaintainable
16:55:09FromDiscord<Phil> So it's both practically painful to work on the output from compiled TS files, as well as pointless to have one person work in TS files and another in JS files when syntactically there is very little reason for the JS person to stick with JS files
16:55:49FromDiscord<nova3e> Sorry for the stupid question there
16:56:23FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#pasty=xZAHHJmb
16:56:46FromDiscord<nova3e> Wow yes that too
16:57:16FromDiscord<Phil> And as for maintenance - You wouldn't need to worry about maintaining the JS code as nobody works on it, you only work on the TS files "upstream" that produce the JS code
16:57:25FromDiscord<nova3e> In reply to @nova3e "Wow yes that too": But the computer doesn't care yeah? Cool
16:57:28FromDiscord<Phil> And those TS files can look as readable and be as maintainable as you manage to write the code
16:58:27FromDiscord<nova3e> Awesome, so you always work with the better language, and not have to get dirty with the lower language...hmm kind of like binary code
16:58:56FromDiscord<nova3e> better as in readable and easier to work with
16:59:08FromDiscord<Phil> In reply to @nova3e "But the computer doesn't": Pretty much. I think theoretically this could also happen (and maybe does happen) in IR steps inside a normal compiler, because there's no reason why a binary would need a human readable string to refer to another function when it can just have some way more quickly interpretable binary pattern or the like
16:59:39FromDiscord<Phil> I'm pretty sure some compilers just straight up inline functions, as in they copy paste the contents of a function inside another function to save you the overhead of a function call
16:59:46FromDiscord<Phil> (edit) "functions," => "functions when possible,"
17:00:44FromDiscord<nova3e> Fascinating stuff
17:01:25FromDiscord<Phil> Compilers are a mind melter in terms of complexity
17:01:30FromDiscord<nova3e> Programming! But sadly I haven't written a single real program yet.↵Maybe it'll be in Nim? Hmm
17:02:38FromDiscord<nova3e> Have you listened to that talk Ben Thompson gave in which he talks about McIlroy?
17:03:13FromDiscord<nova3e> Man was hand compiling
17:03:18FromDiscord<nova3e> _Mentally_
17:04:26FromDiscord<nova3e> (edit) "Ben" => "Ken"
17:05:26FromDiscord<Phil> Can't say I have, but there's such a wide field of knowledge out there it's pretty much impossible to know it all
17:05:49FromDiscord<Phil> Even in the space of webdev alone, which narrows it down significantly, it's impossible to know it all
17:24:29*jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…)
17:37:51*jjido joined #nim
18:04:50FromDiscord<nova3e> Is there any introduction to programming that uses Nim?
18:13:06FromDiscord<rakgew> @nova3e \: when coming from python, I would say is very easy to transition into nim. of course there are real differences, but at least some basic concepts and the syntax will feel familiar.
18:13:36FromDiscord<nova3e> Sweet
18:14:31FromDiscord<nova3e> I think python is suitable for beginners
18:14:47FromDiscord<nova3e> Not many strange symbols
18:15:40FromDiscord<nova3e> I wonder why there isn't (as far as I know) some kind of syntax translater for every language
18:16:03FromDiscord<nova3e> (edit) "I wonder why there isn't (as far as I know) some kind of syntax translater for every language ... " added "that people complain about, given how much people do"
18:28:43FromDiscord<rakgew> right, very readable syntax, both of them.
18:44:10*beholders_eye joined #nim
18:45:18FromDiscord<aintea> In reply to @nova3e "Is there any introduction": I don't think that's a thing, the best language to transition to Nim is Nim itself
18:45:38FromDiscord<aintea> If you need an introduction to programming that uses Nim I'm making one in the form of rustlings
18:47:01FromDiscord<rakgew> indeed, starting directly with nim would save the extra effort of transitioning.
18:54:54*andy-turner joined #nim
19:04:20*beholders_eye quit (Ping timeout: 272 seconds)
19:14:12FromDiscord<tauruuuuuus> In reply to @nova3e "Is there any introduction": I think you really appreciate nim if coming from C imho
19:19:21FromDiscord<aintea> You appreciate any language if you come from C
19:19:31FromDiscord<rakgew> lol
19:19:56FromDiscord<rakgew> I would not want C as first language tbh
19:21:53FromDiscord<nova3e> In reply to @aintea "If you need an": Awesome!
19:23:17FromDiscord<nova3e> Wait a minute, is rustlings aimed toward absolute beginners? No need to know a language already?
19:33:41FromDiscord<explosiveend> In reply to @nova3e "Wait a minute, is": i dont think it's for absolute beginners... it's designed to be used in parallel to reading the rust book, so it'll probably make some assumptions that you understand how some basic aspects of programming work e.g. what a variable / function is
19:34:14FromDiscord<aintea> In reply to @nova3e "Wait a minute, is": nope
19:34:30FromDiscord<aintea> it's made to be for absolute beginners or people with previous knowledge
19:34:50FromDiscord<aintea> for people with previous knowledge, it'll be like 1h30 until they know 80% of the language, it's made for that
19:35:05FromDiscord<aintea> and for absolute beginners it depends how fast they understand concepts
19:39:38*andy-turner_ joined #nim
19:40:28*andy-turner_ quit (Client Quit)
19:46:16*xet7 joined #nim
19:50:24FromDiscord<nova3e> That's great
19:51:01FromDiscord<nova3e> I think then Nim should be a good mid-term goal then, after python
19:51:49FromDiscord<nova3e> I read that python people say that it's got batteries included
19:52:05*andy-turner quit (Read error: Connection reset by peer)
19:53:03FromDiscord<nova3e> Maybe Nim could be the a tool I should look into when I need to go into a lower language (which doesn't come with batteries)
19:53:07*andy-turner joined #nim
20:01:56*beholders_eye joined #nim
20:03:10FromDiscord<tauruuuuuus> In reply to @rakgew "I would not want": I think it's the best first language if you really want to understand how programming/computers work
20:05:57FromDiscord<aintea> In reply to @rakgew "I would not want": In theory it's the best, in practice some people need to be able to do stuff and enjoy programming, and in this case python is better
20:07:16FromDiscord<tauruuuuuus> I mean I think the having fun bit is so subjective, there is no discussion there since it's personal
20:10:39FromDiscord<aintea> people tend to learn faster and better when they have fun
20:10:51FromDiscord<aintea> that's a fact, some people don't care, some people
20:10:53FromDiscord<aintea> (edit) "that's a fact, some people don't care, some people ... " added "do"
20:11:18*PMunch joined #nim
20:12:42FromDiscord<tauruuuuuus> Yes but what are you learning is also important, I agree that programming is best learned when having fun, but I also think it's best to really understand what happens in your machine if you want to really learn this trade
20:13:41FromDiscord<tauruuuuuus> Once you have knowledge of that and you are aware of the basics, you can have even more fun by being aware of what happens when you type stuff into your editor and then execute it 😛
20:14:16*andy-turner_ joined #nim
20:15:10*andy-turner quit (Read error: Connection reset by peer)
20:45:35*andy-turner__ joined #nim
20:45:49*andy-turner_ quit (Read error: Connection reset by peer)
20:47:02*beholders_eye quit (Ping timeout: 265 seconds)
20:49:09FromDiscord<tapeda> In reply to @isofruit "Off the cuff I": the worlds most unhinged meta-programming language does too ofc! Seed7, you even begin by importing the language itself, that way always specifying its version
21:08:41*andy-turner joined #nim
21:09:28*andy-turner quit (Remote host closed the connection)
21:10:15*andy-turner__ quit (Quit: Leaving)
21:11:57*andy-turner joined #nim
21:12:25*andy-turner quit (Client Quit)
21:12:42*andy-turner joined #nim
21:13:57*andy-turner quit (Client Quit)
21:24:21*ntat quit (Quit: leaving)
21:36:42*PMunch quit (Quit: Leaving)
21:54:39FromDiscord<nervecenter> In reply to @isofruit "Off the cuff I": chicken scheme
21:56:38FromDiscord<nervecenter> In reply to @tauruuuuuus "I think it's the": It's great for understanding how memory is laid out and used between programs and the OS, but to actually understand how things are working at a hardware level, we're getting into another half dozen levels of abstraction and cache wherein C ends up being a high level language.
21:57:10FromDiscord<nervecenter> (edit) "language." => "language full of high-level abstractions."
21:57:40FromDiscord<nervecenter> Embedded contexts reduce the number of layers there of course
22:13:55*jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…)
22:53:59*o-rwx quit (Quit: WeeChat 4.6.3)
23:00:54*redj quit (Ping timeout: 260 seconds)
23:26:26tokyovigilanteHey team, is there a preferred approach to task-level parallellism in Nim? I've been using asyncdispatch with libs like curl that are using threads externally, but if I want to parallelise chunks of work in my own code, is something like enkits (https://github.com/dougbinks/enkiTS) the way to go, or are there better native libs? I got very spoiled by GCD/libdispatch when I was using Swift
23:31:21tokyovigilanteOr maybe something more like FastStreams (https://github.com/status-im/nim-faststreams). I'm working on a scientific visualisation app that needs to stream in fairly large resources in chunks to render, and refine them either on CPU or GPU as the dataset is loaded and being manipulated in real time