<< 16-07-2023 >>

01:19:22FromDiscord<gogolxdong666> Is `=destory` enough to get resource released automatically with arc/orc?
01:19:45FromDiscord<Elegantbeef> If you use it properly yes
02:35:08*lucasta quit (Remote host closed the connection)
02:39:41FromDiscord<jviega> A big problem w/ nim is that it dynamically loads crap even if you statically link it :). We ended up doing a ton of hackery to do what I would call just-in-time shared objects.
02:40:23FromDiscord<Elegantbeef> Do you have an example of this, I'm curious?
03:56:44*antranigv quit (Quit: ZNC 1.8.2 - https://znc.in)
03:57:04*antranigv joined #nim
04:23:50FromDiscord<demotomohiro> In reply to @jviega "A big problem w/": On windows, there are 2 kind of .lib file. One for linking dll and another is a static link library.↵You need to make sure all linked libraries are static link library '.lib' file.
04:34:20*azimut joined #nim
05:01:32FromDiscord<spotlightkid> .lib files can also be import libraries, which are used as an intermediary when linking DLLs.
05:07:48FromDiscord<spotlightkid> Uh, I guess that's what you already said. Disregard me.
06:52:34*ntat joined #nim
07:02:02FromDiscord<Prestige> To and bits, do you need to import std/bitops and use bitand? Same with bitor, etc
07:04:01FromDiscord<odexine> no
07:04:04FromDiscord<Prestige> good ty
07:04:06FromDiscord<odexine> you can use `and` and `or`
07:04:11FromDiscord<odexine> theyre overloaded for integers
07:21:11*xet7 quit (Remote host closed the connection)
08:46:24*blackbeard420_ joined #nim
08:46:32*antranigv_ joined #nim
08:46:36*dza3 joined #nim
08:48:16*MightyJoe joined #nim
08:49:01*lumidify_ joined #nim
08:53:29*antranigv quit (*.net *.split)
08:53:29*lumidify quit (*.net *.split)
08:53:29*blackbeard420 quit (*.net *.split)
08:53:29*cyraxjoe quit (*.net *.split)
08:53:30*dza quit (*.net *.split)
08:53:32*dza3 is now known as dza
09:53:01FromDiscord<whoman0385> sent a code paste, see https://play.nim-lang.org/#ix=4AIJ
09:53:11FromDiscord<whoman0385> (edit) "https://play.nim-lang.org/#ix=4AIJ" => "https://play.nim-lang.org/#ix=4AIK"
09:54:08*antranigv_ is now known as antranigv
10:10:13FromDiscord<griffith1deadly> sent a code paste, see https://play.nim-lang.org/#ix=4AIO
10:11:04FromDiscord<whoman0385> it says `arguments can only be given if the '--run' option is selected`
10:13:52FromDiscord<griffith1deadly> oh i forgot -- before passL:-static
10:14:19FromDiscord<punchcake> In reply to @griffith1deadly "just identical code in": literally java and kotlin have so little differences in terms of syntax
10:14:41FromDiscord<griffith1deadly> kotlin more confortable
10:14:52FromDiscord<punchcake> then you havent wrote much kotlin
10:15:01FromDiscord<punchcake> its 98% the same as java
10:15:08FromDiscord<punchcake> it doesnt save much writing
10:15:17FromDiscord<punchcake> at this point idk why it exists
10:16:47FromDiscord<griffith1deadly> kotlin has a lot of useful operators built in, as well as its own std, which in many ways has everything that java lacks. for example, you can iterate String as string[index], as well as the ?: operator, purely as an example.
10:18:11FromDiscord<whoman0385> sent a code paste, see https://play.nim-lang.org/#ix=4AIP
10:19:44FromDiscord<griffith1deadly> in my case it's works good
10:20:52FromDiscord<spotlightkid> Probably their antivirus software has quarantined it.↵(@whoman0385)
10:21:12FromDiscord<whoman0385> ohhh alr
10:21:51FromDiscord<punchcake> In reply to @griffith1deadly "kotlin has a lot": in java you can too
10:21:58FromDiscord<whoman0385> they already have it off
10:21:59FromDiscord<punchcake> you just have to convert it into a char array
10:22:24FromDiscord<punchcake> In reply to @spotlightkid "Probably their antivirus software": damn looks like nim has been used for evil
10:24:15FromDiscord<griffith1deadly> In reply to @punchcake "in java you can": kotlin also have coroutines.↵i don't know, maybe you don't like it, or maybe you're just judging by bad experience, but in my case, switching to kotlin reduced the amount of code by 30%~, and made it much faster to write. i've been writing in Java for 2 years, in Kotlin for 1 year.
10:24:30FromDiscord<punchcake> @whoman0385 if this still persists you can do what i did, email every anti virus company that flags your app and send them your binary for analysis, btw dont strip symbols so they can actually see whats going on faster
10:24:35FromDiscord<punchcake> they will whitelist everything
10:25:32FromDiscord<punchcake> In reply to @griffith1deadly "kotlin also have coroutines.": i dont like kotlin because i wait 10 mins to build a trivial project
10:25:46FromDiscord<punchcake> man in 10 mins i can build wxwidgets from source
10:26:44FromDiscord<griffith1deadly> in Java, i could build from source for 30 minutes at a time for some project's
10:26:56FromDiscord<punchcake> not rlly
10:27:13FromDiscord<punchcake> a javafx app that had 300k LOC took 4 mins to run
10:39:34FromDiscord<whoman0385> In reply to @spotlightkid "Probably their antivirus software": my antivirus is on too tho so it cant be that
10:53:48FromDiscord<punchcake> In reply to @whoman0385 "my antivirus is on": send binary
10:53:56FromDiscord<punchcake> let me analyze it
10:55:11FromDiscord<whoman0385> i sent it in dms
10:56:13FromDiscord<punchcake> its time to run untrusted bins from the internet
10:56:16FromDiscord<punchcake> what could go wrong
10:57:18FromDiscord<punchcake> what even is the program
10:57:30FromDiscord<whoman0385> it downgrades a microsoft store app
10:57:40FromDiscord<punchcake> what app
10:57:43FromDiscord<whoman0385> roblox
10:57:54FromDiscord<punchcake> damn man
10:58:01FromDiscord<punchcake> your truly making use of the power of nim
10:58:06FromDiscord<whoman0385> yeah..
10:58:37FromDiscord<punchcake> it runs fine on my machine
10:58:48FromDiscord<whoman0385> same for me
10:59:07FromDiscord<punchcake> you could do something cheeky
10:59:33FromDiscord<punchcake> you could just make a script in C++ to disable antivirus
10:59:57FromDiscord<whoman0385> well im not really that smart
11:00:02FromDiscord<whoman0385> and again its probably not an antivirus issue
11:00:07FromDiscord<whoman0385> i have it on my self and it doesnt care
11:00:21FromDiscord<punchcake> then just send the binary to whatever antivirus company thats flagging it
11:00:29FromDiscord<punchcake> then they'll whitelist it
11:00:37FromDiscord<whoman0385> the user doesnt even have an antivirus on
11:00:39FromDiscord<whoman0385> that cant be the issue
11:00:42FromDiscord<punchcake> https://www.virustotal.com/gui/file/9dd97e9d843a824d90dafced0bf7f7609cf1a7cd82e7e8ae41f5a0c9f25ec71c?nocache=1
11:01:05FromDiscord<punchcake> oh i have an idea
11:01:06FromDiscord<punchcake> @whoman0385
11:01:11FromDiscord<punchcake> make the user run the exe in cmd
11:01:17FromDiscord<whoman0385> ah
11:01:17FromDiscord<whoman0385> good idea
11:01:20FromDiscord<whoman0385> ill tell them
11:01:22FromDiscord<punchcake> it will print out stacktrace if something breaks
11:02:18FromDiscord<whoman0385> yeah
11:02:50FromDiscord<punchcake> @whoman0385 does the app have any external dependancies
11:02:56FromDiscord<punchcake> it could be
11:03:03FromDiscord<whoman0385> like other nim files or?..
11:03:08FromDiscord<punchcake> idk because i have half the universe installed on my machine
11:03:23FromDiscord<punchcake> In reply to @whoman0385 "like other nim files": packages
11:03:53FromDiscord<whoman0385> i dont think so
11:04:06FromDiscord<whoman0385> https://media.discordapp.net/attachments/371759389889003532/1130092487847981086/image.png
11:04:19FromDiscord<punchcake> hm idk then
11:04:49FromDiscord<punchcake> In reply to @punchcake "make the user run": make them do this
11:04:56FromDiscord<punchcake> other than that generate logs bro
11:05:09FromDiscord<punchcake> wtf kind of app doesnt generate logs
11:05:15FromDiscord<whoman0385> yeah
11:05:17FromDiscord<whoman0385> i asked them
11:05:43FromDiscord<whoman0385> In reply to @punchcake "wtf kind of app": my apps 👍
11:06:56FromDiscord<punchcake> In reply to @whoman0385 "my apps 👍": better implement some common logging system between them all
11:07:38FromDiscord<punchcake> its not that hard tbh just have a proc called `log` and offload it to a threadpool
11:08:57FromDiscord<punchcake> i can make it for you too
11:11:12*Jjp137 quit (Read error: Connection reset by peer)
11:17:16FromDiscord<whoman0385> alr i found the actual error https://media.discordapp.net/attachments/371759389889003532/1130095802040197130/image.png
11:17:21FromDiscord<whoman0385> i have no idea what this is tho
11:17:40FromDiscord<punchcake> why does the app depend on libcrypto?
11:17:48FromDiscord<whoman0385> idk
11:21:53FromDiscord<whoman0385> oh wait, its because i used -d:ssl
11:24:23FromDiscord<punchcake> bruh
11:28:42FromDiscord<whoman0385> yeah i had no idea you need extra dlls for that
11:31:27FromDiscord<punchcake> sent a code paste, see https://play.nim-lang.org/#ix=4AJ3
11:31:34FromDiscord<punchcake> now you can log freely
11:33:39FromDiscord<punchcake> https://nim-lang.org/docs/logging.html
11:33:52FromDiscord<punchcake> im stupid there was a logging module all along
11:38:39FromDiscord<whoman0385> weird, i compiled with -d:ssl and added the dlls but now its saying ssl support isnt available?
11:38:49FromDiscord<punchcake> why do you need ssl anyways
11:39:42FromDiscord<whoman0385> well i need to download the older version of roblox to downgrade it
11:40:06FromDiscord<punchcake> are you using openssl?
11:40:38FromDiscord<odexine> Nim uses open SSL for SSL support via the define flag
11:40:54FromDiscord<punchcake> https://github.com/nim-lang/Nim/issues/19099
11:40:57FromDiscord<punchcake> read @whoman0385
11:40:59FromDiscord<Trayambak> I never realized the server had a Matrix bridge lol
11:46:49FromDiscord<whoman0385> ive already added the dlls in a zip file with my binary
12:32:41FromDiscord<ambient3332> What's the best and most portable way to implement OpenMP style parallel for in Nim?
12:39:40FromDiscord<punchcake> https://programming-language-benchmarks.vercel.app/nim-vs-java↵\
12:39:51FromDiscord<punchcake> bro why does java outdo nim?
12:56:37FromDiscord<intellij_gamer> In reply to @ambient3332 "What's the best and": You could use openMP https://nim-lang.org/docs/system.html#%7C%7C.i%2CS%2CT%2Cstaticstring↵Tried it once before and seems to work
13:18:02FromDiscord<punchcake> `nim c -d:danger -d:lto --passC:-march=native main.nim` ↵is this the most absolute optimization i can squeeze out of nim?
13:20:09FromDiscord<odexine> automatically? sure. manually? kinda no?
13:20:32FromDiscord<punchcake> In reply to @odexine "automatically? sure. manually? kinda": from the compiler i mean
13:21:09FromDiscord<odexine> you can try using PGO
13:21:46*Jjp137 joined #nim
13:21:50FromDiscord<punchcake> In reply to @odexine "you can try using": profile guided optimization?
13:22:19FromDiscord<odexine> yes
13:23:15FromDiscord<punchcake> In reply to @odexine "yes": i tried and everything broke
13:23:25FromDiscord<punchcake> `nim c -d:danger -d:lto --passC:-march=native --passC:-ffast-math --passC:-fprofile-generate .\bench.nim`
13:23:39FromDiscord<odexine> dont use fast math prolly?
13:23:44FromDiscord<punchcake> bet
13:23:58FromDiscord<punchcake> In reply to @odexine "dont use fast math": still didnt work
13:24:00FromDiscord<odexine> fast math is kinda notorious for breaking things iirc?
13:24:06FromDiscord<punchcake> i get like a billion linker errs
13:24:09FromDiscord<punchcake> In reply to @odexine "fast math is kinda": yeah
13:24:24FromDiscord<punchcake> im trying to benchmark nbody too so its probably a horrible idea
13:26:54FromDiscord<odexine> i mean i think at that point its a matter of your code
13:30:09FromDiscord<ambient3332> sent a code paste, see https://play.nim-lang.org/#ix=4AJi
13:30:40FromDiscord<odexine> In reply to @ambient3332 "It just gives me": how are you using it?
13:30:53FromDiscord<ambient3332> sent a code paste, see https://play.nim-lang.org/#ix=4AJj
13:32:27FromDiscord<odexine> `0||n-1` -> `0||(n-1)
13:32:29FromDiscord<odexine> (edit) "`0||(n-1)" => "`0||(n-1)`"
13:38:56FromDiscord<ambient3332> Thanks, unfortunately it seems no matter what I do, running 16 threads instead of 1 gives very minor boosts in performance, even when 80% of the code is highly parallelizable
13:39:18FromDiscord<ambient3332> I think I just need to start wrangling threads manually at this point
13:45:17FromDiscord<punchcake> In reply to @ambient3332 "Thanks, unfortunately it seems": bc 16 threads compared to what a gpu can run is nothing
13:45:42FromDiscord<punchcake> gpu's can run hundreds of thousands of threads
14:04:35FromDiscord<ambient3332> sent a code paste, see https://play.nim-lang.org/#ix=4AJt
14:07:08FromDiscord<punchcake> and btw
14:07:11FromDiscord<demotomohiro> In reply to @ambient3332 "Thanks, unfortunately it seems": Maybe, what you do in the thread complete in short time and the cost of creating new threads is relatively large.↵Or your code is not CPU bound.
14:07:21FromDiscord<demotomohiro> If your code is highly parallelizable and CPU bound, running with 2 threads should be 2 times faster than running with one thread.
14:07:30FromDiscord<punchcake> is `-d:danger` safe to enable if everything has been tested in release?
14:08:34FromDiscord<demotomohiro> In reply to @punchcake "is `-d:danger` safe to": It would be safe if you tested it with all possible inputs.
14:09:06FromDiscord<ambient3332> In reply to @demotomohiro "Maybe, what you do": I assumed OpenMP would keep threads up and no just start/close them for each parallel for
14:09:24FromDiscord<punchcake> In reply to @demotomohiro "It would be safe": does it provide significantly faster code than release?
14:09:52*Eternado joined #nim
14:10:25*Eternado is now known as Anuapalabdhi
14:11:41FromDiscord<demotomohiro> In reply to @punchcake "does it provide significantly": It depends on how much runtime checks affects speed of your program in release mode.↵If your program is IO bound, -d:danger would not make much difference.
14:12:00FromDiscord<punchcake> In reply to @demotomohiro "It depends on how": if it uses a lot of loops
14:12:06FromDiscord<punchcake> would it help a lot?
14:12:37*Anuapalabdhi quit (Client Quit)
14:13:28FromDiscord<demotomohiro> In reply to @punchcake "if it uses a": It depends on how much runtime checks are done in the loop in -d:release mode.
14:13:41FromDiscord<punchcake> bottom line
14:13:57FromDiscord<punchcake> if im running production software on a server should i use release or danger
14:14:13FromDiscord<punchcake> i think release and march=native is the best option in a server setting
14:14:40FromDiscord<punchcake> since its a server i dont have to worry about it not being compatible
14:15:44FromDiscord<demotomohiro> -d:danger likely makes your code faster, and doesn't make slower.↵But how much make it faster depends on how much runtime checks are done.
14:17:02FromDiscord<demotomohiro> I think you should use release rather than danger if you want your program runs correctly and doesn't keep running when something go wrong.
14:18:37FromDiscord<odexine> id say danger is ok if you thoroughly tested your code with a fuzzer and comprehensive test suites
14:19:02FromDiscord<punchcake> i mean does danger disable literally every runtime check?
14:19:06FromDiscord<odexine> yes
14:19:07FromDiscord<punchcake> even bound checking?
14:19:09FromDiscord<odexine> yes
14:19:14FromDiscord<punchcake> so its like C++
14:19:23FromDiscord<odexine> i guess that works as an analogy yes
14:23:27FromDiscord<ambient3332> sent a code paste, see https://play.nim-lang.org/#ix=
14:24:57FromDiscord<punchcake> sent a code paste, see https://play.nim-lang.org/#ix=4AJD
14:25:00FromDiscord<ambient3332> it's not
14:25:06FromDiscord<punchcake> have you tried?
14:28:54FromDiscord<ambient3332> also --passc:"/openmp" is 2x faster compoared to -d:openmp 🤔
14:35:04FromDiscord<punchcake> In reply to @ambient3332 "also --passc:"/openmp" is 2x": how are you even using openmp in nim
14:35:47FromDiscord<ambient3332> In reply to @punchcake "how are you even": https://discord.com/channels/371759389889003530/371759389889003532/1130120806412845056
15:31:00*blackbeard420_ quit (Quit: ZNC 1.8.2 - https://znc.in)
15:31:12*blackbeard420 joined #nim
15:32:51FromDiscord<_aromat> sent a long message, see http://ix.io/4AJN
15:33:24FromDiscord<punchcake> at this point i think i gave up on nim gui's, the only hope is to find a way to bind nim to js (same as how wails.io does it) and then make a web based ui lib
15:36:51FromDiscord<odexine> walkfiles doesnt necessarily read in the order of date modified
15:36:56NimEventerNew thread by CardealRusso: Detect arm during compilation., see https://forum.nim-lang.org/t/10339
15:40:32FromDiscord<_aromat> In reply to @odexine "walkfiles doesnt necessarily read": I guess it only works because I save them with now() as filename
15:40:42FromDiscord<odexine> possibly
15:40:52FromDiscord<odexine> but i dont think walkfiles has a defined order
15:42:37FromDiscord<jviega> @elegantbeef run this on a Linux box:
15:43:02FromDiscord<jviega> sent a long message, see http://ix.io/4AJP
15:43:57FromDiscord<punchcake> @pmunch https://github.com/PMunch/nim-electron have you given up on this project or what happened?
15:44:24FromDiscord<jviega> sent a code paste, see https://play.nim-lang.org/#ix=4AJQ
15:45:53FromDiscord<jviega> Which means you need not only libprcre.so to be there, but also libc, libm, libdl, ...
15:46:23FromDiscord<jviega> Same thing certainly happens when we try to add in OpenSSL3, etc.
15:48:25FromDiscord<jviega> We are probably the only people who have ever run a nim executable in an alpine container that imports re or openssl, because not only is it non-trivial to work around, the nim forum amusingly claims it's impossible to address: https://forum.nim-lang.org/t/9119
15:51:34FromDiscord<jviega> And in our build environment, we had .o's/.a's and .so's.
15:52:58FromDiscord<demotomohiro> You might need to rewrite re module so that it can links static library.
15:54:16FromDiscord<jviega> We just did a bunch of trickery to embed so's in the binary and load them from the binary before the proper entry point.
15:54:47FromDiscord<odexine> i didnt know this about nim wow
15:54:49FromDiscord<jviega> It's a follow-up on someone having the same issue yesterday.
15:54:50FromDiscord<odexine> thats some fucker
15:54:51FromDiscord<odexine> (edit) "fucker" => "fuckery"
15:55:21FromDiscord<jviega> One good thing about Go, which I've always hated, is that it was super easy to build a truly static binary.
15:56:30FromDiscord<jviega> Makes Nim pretty bad for the tech world when it's that difficult.
15:56:54FromDiscord<demotomohiro> At least, Nim can use static link library: https://internet-of-tomohiro.netlify.app/nim/clibrary.en.html#use-c-static-library-from-nim
15:57:45FromDiscord<jviega> No, if it has to load a .so at all, even if libc is statically linked, it will also dynamically load libc, even though the symbols are already there statically.
15:59:13FromDiscord<jviega> dynamic linking != dynamic loading. You can have a statically linked binary and still call dlopen()
15:59:41FromDiscord<ambient3332> you can link dynamically and load statically?
16:00:01FromDiscord<demotomohiro> --dynlibOverrideAll doesnt work?
16:00:38FromDiscord<jviega> Nope, definitely not for OpenSSL3
16:01:16FromDiscord<jviega> It worked in some cases, but there are a few places around where it definitely does not.
16:05:13FromDiscord<demotomohiro> https://github.com/nim-lang/Nim/blob/devel/lib/wrappers/pcre.nim#L313↵You might need to define `usePcreHeader` to link libpcre statically and install libpcre compiled as static link library.
16:05:20FromDiscord<jviega> Even if you were to tell me there's some magic flag combo to make it all work, I'd say it's just another example of Nim tooling, etc. not being good.
16:07:19FromDiscord<jviega> I promise you, if I was able to create a binary that works in an alpine container that uses libpcre and openssl3, I know more than enough about the internals of ELF, linkers, loaders and so on.
16:09:14FromDiscord<jviega> I'm telling you, even if I have all the correctly compiled dependencies around, it's way too difficult, and in some places, it seems impossible (OpenSSL3) to get a static binary that actually includes all the dependencies.
16:11:49FromDiscord<jviega> And by the way, if you have a .a or a .o around, there is no need to have the header files to link statically. That's not how it works
16:11:58FromDiscord<jviega> (it being linkers)
16:13:08FromDiscord<demotomohiro> https://github.com/nim-lang/Nim/blob/devel/lib/wrappers/openssl.nim#L285↵It seems even if `useStaticLink` is true, this module imports functions using dynlib pragma.
16:13:45FromDiscord<jviega> We were able to get openssl to staticly link until we switched to openssl3.
16:14:29FromDiscord<jviega> IIRC anyway. But yeah, when we switched to openssl3 at least, it was definitely getting loaded via dlopen
16:14:58FromDiscord<jviega> Even if it was ACTUALLY statically linked already
16:15:14FromDiscord<jviega> Which.. means you have to carry the so around anyway
16:15:22FromDiscord<jviega> Which is absolutely not acceptable
16:16:31FromDiscord<demotomohiro> You can link .a or .o without header but you have to translate almost every thing in header to Nim code.↵Using header pragma might be easier.
16:18:52FromDiscord<jviega> The nim standard library should be better than that. Again, the tech world loves deploying a single static executable in a stripped down environment, and other languages manage to make it easy.
16:21:47FromDiscord<punchcake> In reply to @jviega "The nim standard library": +1 for static exe's
16:21:47FromDiscord<jviega> But the fact that OpenSSL3 (and possibly earlier versions I guess) have to be dynamically loaded to be able to use the nim libraries that call it (unless you do low-level hackery like us) is just insane
16:21:57FromDiscord<punchcake> it makes it easier to share everything
16:22:23FromDiscord<punchcake> @jviega mind sharing the way on how you embedded the dll inside the exe?
16:22:38FromDiscord<demotomohiro> I usually build my code on running machine so that my program can load .so files without problems even if running machine is raspberry pi zero.
16:22:45FromDiscord<jviega> Maybe we'll write you a HOWTO guide at some point, but it does require work that isn't easy
16:23:10FromDiscord<punchcake> In reply to @jviega "Maybe we'll write you": trust me im a mad man
16:23:22FromDiscord<punchcake> i write windows gui's in C directly using windows.h
16:23:26FromDiscord<jviega> We did give a talk that covered that topic at Summercon yesterday, the video should end up available soon
16:23:36FromDiscord<punchcake> whos we?
16:24:38FromDiscord<jviega> One of my co-workers and I
16:28:48FromDiscord<jviega> The gist is though: 1) staticread() everything that the system will end up attempting to dlopen (which, if anything dlopens, will include libc and ldl, etc), 2) use link-time wrapping to impose an implementation of open64_nocancel. Have that wrapper check the path, and if it's a library you embeded, use memfd to hand it the library, otherwise proxy to openat(). 3) Add a constructor to your program to use a custom LD_LIBRARY_PATH to make
16:29:07FromDiscord<demotomohiro> By the way, If you want your executable runs on many machines without rebuilding on each machines, you cannot use `--passC:-march=native` unless all machine have same CPU as `-march=native` optimize code for the CPU on build machine.
16:29:28FromDiscord<punchcake> yes
16:29:51FromDiscord<punchcake> In reply to @jviega "The gist is though:": damn
16:30:59FromDiscord<punchcake> In reply to @demotomohiro "I usually build my": btw static linking reduces security risks
16:31:15FromDiscord<punchcake> somone cant just somehow modify the dll to inject code in your program
16:32:23FromDiscord<jviega> On the mac, since there's no memfd, I ended up just dropping carrying around the dylibs and then dropping them and setitng a custom DYLD_LIBRARY_PATH. Any time you set the dynamic library path, you need to self-reexec of course.
16:32:46FromDiscord<jviega> My co-worker did the Linux version, I did the mac version 🙂
16:35:47FromDiscord<demotomohiro> In reply to @punchcake "btw static linking reduces": If someone can modify dll or inject code, that means someone already hacked my PC and can access any files and is no longer secure even if executables are statically linked.
16:36:12FromDiscord<punchcake> In reply to @demotomohiro "If someone can modify": not really
16:36:39FromDiscord<punchcake> some programs might be venerable but dont really give root acess
16:36:47FromDiscord<punchcake> but it can still download and replace some files
16:37:38FromDiscord<jviega> PunchCake is 100% right, it's an easy way to escalate prives, and why LD_PRELOAD no longer checks the current working directory by default, to try to mitigate it a bit.
16:39:23FromDiscord<punchcake> ty
16:39:33FromDiscord<punchcake> i think we might be a bit biased tho 😅
16:41:15FromDiscord<jviega> sent a long message, see http://ix.io/4AKa
16:42:08FromDiscord<jviega> That's just a headache that drives people away, esp when they invested the time to build something significant. We did build out a ton of stuff in Nim, but we absolutely do not recommend Nim to people, even if we're okay with our choice.
16:42:32FromDiscord<jviega> I'm not sure we'd reach for it for another big project.
16:42:37FromDiscord<punchcake> and that is another point too, static linking ensures that all the lib versions you have are exactly the same on the consumer's/server's machine
16:42:45FromDiscord<punchcake> so thats one less headache to worry about
16:43:54FromDiscord<michaelb.eth> except libc, but depends
16:43:57FromDiscord<jviega> If I were to this project again, I'd probably hold my nose and pick Rust. Nim's just not even worried about trying to be 'prime time' so to speak.
16:44:14FromDiscord<punchcake> In reply to @jviega "If I were to": C
16:44:15FromDiscord<jviega> @michaelb.eth I just said absolutely w/ libc.
16:44:31FromDiscord<punchcake> rust is very annoying to work with
16:44:37FromDiscord<michaelb.eth> ah, I was looking at PunchCake's comment
16:44:50FromDiscord<jviega> I've been writing C for 35 years, but for big projects, it's too much work due to memory safety issues.
16:45:08FromDiscord<jviega> If performance isn't a huge issue, I'd hold my nose and use Go instead of Nim.
16:45:37FromDiscord<punchcake> have you considered bohem GC?
16:45:45FromDiscord<jviega> Nim would be great for me, if it seemed to care at all about more than the users.
16:46:02FromDiscord<punchcake> In reply to @jviega "Nim would be great": if it had a bigger ecosystem
16:46:07FromDiscord<jviega> I've used it many times, doesn't keep developers from making off-by-one errors that take a week to debug 😉
16:46:27FromDiscord<jviega> The focus of the current ecosystem is wrong.
16:46:38FromDiscord<punchcake> it should be on GUI
16:46:49FromDiscord<punchcake> literally the lack of nim gui's is insane
16:47:57FromDiscord<jviega> I mean, there's a reason why there are no major Nim projects. The one we're doing is already slotted to be a Linux Foundation project, which you'd think would be good for Nim, but I'm kind of embarrassed it's been such a bad experience.
16:49:20FromDiscord<jviega> @punchcake I do hate Rust. I think it's silly to ask developers to work harder on memory management than they do in C. And the code people write is generally unreadable.
16:49:21FromDiscord<punchcake> why is it so bad?
16:49:39FromDiscord<punchcake> In reply to @jviega "<@655759729477287956> I do hate": bohem gc
16:49:40FromDiscord<punchcake> amen
16:49:51FromDiscord<punchcake> its not as slow as you might think
16:51:16FromDiscord<jviega> So many reasons, but it all mainly boils down to issues like the above. The ecosystem isn't geared to make it easy for developers. The package manager is garbage, the error messages are garbage, they don't have good, current packages for stuff that should be basic (like even writing to an s3 bucket). The list goes on and on and on.
16:51:57FromDiscord<jviega> I don't think it's slow. I am a compiler person, I'm not afraid of garbage collection 😉
16:52:29FromDiscord<punchcake> In reply to @jviega "So many reasons, but": oh yeah the package manager is bad
16:52:43FromDiscord<jviega> But for some kinds of low-level things, it's better to use a ref counting approach to amortize the collection, as GC pauses can be an issue
16:53:16FromDiscord<punchcake> the shit ecosystem is why i wont consider nim for serious projects, half of the packages i use is either made by @neroist. or @pmunch lol
16:53:25FromDiscord<ambient3332> @jtv so thing like Go is what you would use...?
16:54:07FromDiscord<jviega> I just said above. If performance is a major concern, I'd hold my nose and use Rust (even though I hate it). If it isn't, I'd hold my nose and use Go (which I also don't like, but not with as much venom as Rust)
16:54:23FromDiscord<punchcake> In reply to @jviega "I just said above.": why not C++
16:54:28FromDiscord<jviega> I'd love Nim if it seemed to give a crap about the developer 🙂
16:54:30FromDiscord<ambient3332> So I guess you hate C++ more than Rust
16:54:33FromDiscord<punchcake> modern C++ is pretty safe with smart pointers
16:54:34FromDiscord<jviega> Oh yeah
16:54:41FromDiscord<odexine> i believe a lot of us here hold the same sentiment with nim, that it's pretty messy
16:54:41FromDiscord<jviega> C++ is an atrocity
16:55:01FromDiscord<ambient3332> Modern C++ was a thing in 1999
16:55:16FromDiscord<punchcake> In reply to @jviega "C++ is an atrocity": as long as you restrict yourself to a subset of it your good xd
16:55:29FromDiscord<jviega> As long as that subset is C, I'll consider it
16:55:48FromDiscord<demotomohiro> I understand you needs static links so that you can run your program on any distro.↵But there are people strongly discourage static linking:↵https://blogs.gentoo.org/mgorny/2021/02/19/the-modern-packagers-security-nightmare/
16:55:52FromDiscord<jviega> I'll never use C++ again. Just having to link to C++ code gives me enough nightmares
16:56:55FromDiscord<jviega> @demotomohiro I really don't care at all about what some random gentoo guy said. Different people have different needs, and I hope you can see I'm not an idiot.
16:57:00FromDiscord<punchcake> In reply to @jviega "I'll never use C++": thats why i stopped using it tbh, in C i crash in development but in C++ i crash in production and get fired
16:57:21FromDiscord<punchcake> C++ is an acquired taste for sure
16:57:39FromDiscord<ambient3332> Static linking for shipping software is very different from static linking for distro packages
16:58:08FromDiscord<punchcake> agreed
16:58:09FromDiscord<jviega> Exactly.
16:59:05FromDiscord<jviega> I don't care about distros. I'm firmly embedded in the tech world, where it's not about the distro, it's about running as little on top of the kernel as possible.
16:59:07FromDiscord<jviega> CPU == $$
16:59:25FromDiscord<punchcake> In reply to @jviega "CPU == $$": the python devs are crying in the corner rn
16:59:31FromDiscord<punchcake> jesus is python a horrible language
16:59:35FromDiscord<jviega> Cram more containers on there.
16:59:50FromDiscord<jviega> 30 years ago, python was a breath of fresh air, but now I agree :/
17:00:04FromDiscord<ambient3332> With Python it's easy to solve small problems quickly and ship them
17:00:57FromDiscord<takemichihanagaki3129> In reply to @jviega "I've used it many": Indeed! Nim is my favorite language nowadays, but I hate how it's hard to debug and understand errors.
17:01:17FromDiscord<punchcake> sent a long message, see http://ix.io/4AKm
17:01:44FromDiscord<jviega> We have an internal page called "Nim's dumb error messages" that tries to help point people on the right path. Compiler error messages are hard, but Nim takes it to a new level.
17:01:49FromDiscord<punchcake> In reply to @ambient3332 "With Python it's easy": is good if your program is 100 lines or less
17:02:39FromDiscord<takemichihanagaki3129> In reply to @punchcake "i mean OOP makes": Don't use pip.↵There are some alternatives to it. There is one from the Python Foundation that uses packages locally instead of globally.
17:03:04FromDiscord<punchcake> In reply to @takemichihanagaki3129 "Don't use pip. There": so the python foundation finally realized pip is garbage
17:03:16FromDiscord<takemichihanagaki3129> I'm particularly using Poetry. But I'll probably move to PSF's alternative.
17:03:18FromDiscord<jviega> One of my co-workers once spent a few years writing an implementation of Python from scratch with no GIL, and they decided it couldn't be "python" because the python test suite assumes single-threadedness under the hood, and thus wouldn't pass one test in the test suite
17:03:19FromDiscord<punchcake> and i also dont plan on using python in ever
17:03:26FromDiscord<jviega> I think they've finally backed off of that ho
17:03:36FromDiscord<punchcake> In reply to @jviega "One of my co-workers": its called pypy
17:03:40FromDiscord<punchcake> it has a jit too
17:04:22FromDiscord<jviega> Not the version he did. This was about a decade ago that we went to Guido with it.
17:04:24FromDiscord<ambient3332> pybind11 is probably the best experience I've had binding C++ so far in any lang
17:04:31FromDiscord<ambient3332> (Python)
17:04:34FromDiscord<punchcake> In reply to @ambient3332 "pybind11 is probably the": better than swig?
17:04:41FromDiscord<ambient3332> yes
17:04:45FromDiscord<punchcake> damn
17:04:50FromDiscord<punchcake> been using swig so much tbh
17:04:58FromDiscord<ambient3332> Given that Swig on Windows requries a lot more setup
17:05:10FromDiscord<punchcake> it doesnt really
17:05:11FromDiscord<jviega> Whom I've known since 1994, and he still decided to decline.
17:05:13FromDiscord<takemichihanagaki3129> In reply to @punchcake "i mean OOP makes": They already know about GIL issues, and newer versions are using GIL by interpreter now.↵That's not perfect, but better than nothing. ↵↵But really multithreading, don't use Python. Lol
17:05:17FromDiscord<punchcake> just download it and put it to path
17:05:31FromDiscord<takemichihanagaki3129> (edit) "In reply to @punchcake "i mean OOP makes": They already know about GIL issues, and newer versions are using GIL by interpreter now.↵That's not perfect, but better than nothing. ↵↵But really ... multithreading," added "if you want"
17:05:37FromDiscord<punchcake> In reply to @takemichihanagaki3129 "They already know about": or just dont use python
17:05:40FromDiscord<punchcake> use C
17:06:24FromDiscord<punchcake> i mean its the first language i learnt but after learning this thing called static typing my programming experince trancended
17:07:13FromDiscord<punchcake> it was shocking at first "whaat a string can just be a float then be an int then be a instance of a class"
17:07:27FromDiscord<punchcake> (edit) "can" => "cant"
17:08:09FromDiscord<jviega> They can be in C 🙂
17:08:28FromDiscord<_alkamist_> Someone should just make some absurdly minimal improvement to C that transpiles to C and fixes all of the things most people can agree are objectively bad.
17:08:36FromDiscord<punchcake> In reply to @jviega "They can be in": you gotta do some werid ooga booga stuff
17:08:36FromDiscord<jviega> That's called Zig
17:08:40FromDiscord<punchcake> In reply to @_alkamist_ "Someone should just make": thats just zig
17:08:42FromDiscord<_alkamist_> Zig goes way too far though
17:09:01FromDiscord<jviega> I dunno, to me, Zig doesn't do enough for me to consider it over C
17:09:06FromDiscord<punchcake> same
17:09:14FromDiscord<punchcake> its like C but javafied
17:09:19FromDiscord<jviega> Yup
17:09:25FromDiscord<punchcake> idk how to explain but its very verbose
17:09:37FromDiscord<takemichihanagaki3129> In reply to @punchcake "i mean its the": I started with Python too.↵After some years, there are a few things that makes you unhappy with the language. But, anyway, that is just a tool.
17:10:00FromDiscord<ambient3332> I don't really enjoy doing raw pointer arithmetic or implementing my own hash maps, Which is why I don't use C
17:10:10FromDiscord<punchcake> In reply to @takemichihanagaki3129 "I started with Python": yeah its like one of the tools in my basment that i just used once and never used again
17:10:26FromDiscord<punchcake> In reply to @ambient3332 "I don't really enjoy": there are libs to help you with common datastructures
17:10:39FromDiscord<ambient3332> In reply to @punchcake "there are libs to": ...which are not a part of the language
17:10:43FromDiscord<punchcake> yes
17:10:46FromDiscord<punchcake> but this is C
17:11:02FromDiscord<punchcake> you dont have to worry about it using a deprecated feature
17:11:13FromDiscord<punchcake> In reply to @punchcake "there are libs to": https://github.com/tezc/sc
17:11:17FromDiscord<odexine> In reply to @punchcake "but this is C": where basically nothing usable is part of the language :baqua:
17:11:20FromDiscord<jviega> Well this was fun, but I G2G!
17:11:28FromDiscord<punchcake> In reply to @jviega "Well this was fun,": see ya
17:11:55FromDiscord<punchcake> In reply to @odexine "where basically nothing usable": C has 1 principle that prevented it from being C++
17:12:10FromDiscord<punchcake> if it isnt awfully hard to implement then you should make it
17:14:49FromDiscord<ambient3332> Writing state of the art hashing and sorting functions is far from trivial, which is why I prefer the stdlib already has them
17:15:08FromDiscord<punchcake> isnt that what openssl is for
17:15:42FromDiscord<punchcake> and implementing a crypo lib in the stdlib is such a bad idea for a language thats meant to be protable
17:16:23FromDiscord<odexine> hashing as in non-crypto
17:17:31*lucasta joined #nim
17:17:47*ced1 joined #nim
17:17:48FromDiscord<jviega> C has qsort(). And hash tables are easy really. I can even give you one that fast, threadsafe and doesn't use locks. Don't see that in any other language.
17:18:04FromDiscord<punchcake> In reply to @odexine "hashing as in non-crypto": in that case, i also perfer a gui lib in C
17:18:16FromDiscord<punchcake> surley it isnt hard to port a gui lib to the esp32
17:18:23FromDiscord<punchcake> (edit) "surley" => "surely"
17:18:26Amun-Rathere are hashmaps in posix (iirc)
17:18:38FromDiscord<jviega> No there aren't
17:18:49*lucasta quit (Remote host closed the connection)
17:18:51Amun-Raman hcreate
17:19:03FromDiscord<ambient3332> Everything is easy once you have deep understanding of them
17:19:14*lucasta joined #nim
17:19:31FromDiscord<jviega> IIRC that's an associate array
17:19:59FromDiscord<punchcake> and idk why C doesnt have vectors
17:20:01FromDiscord<punchcake> like wtf bro
17:20:11FromDiscord<punchcake> its the only datastructure i use every project
17:20:15Amun-Rathe biggest con of hcreate is that only one hash table can be used at a time
17:20:47FromDiscord<jviega> there's hcreate_r()
17:20:57Amun-Raah, right
17:20:57FromDiscord<jviega> It's been a long time since I've used it so I don't remember
17:21:56FromDiscord<takemichihanagaki3129> In reply to @punchcake "and idk why C": I may be wrong, but C avoids to use malloc internally. ↵And you will need to put your dynamic array into the heap memory.↵↵Basically, almost everything is explicit. So you know what you're doing.
17:21:59FromDiscord<pmunch> In reply to @punchcake "<@392962235737047041> https://github.com/PMunch/nim": Not given up, it was never supposed to be anything more than an experiment to see how that would work. And maybe tee someone else off to make something more for it. Glad you like my packages by the way 🙂
17:22:42FromDiscord<punchcake> In reply to @takemichihanagaki3129 "I may be wrong,": ok thats actually a good reason
17:22:49FromDiscord<punchcake> im convinced
17:23:25FromDiscord<punchcake> In reply to @pmunch "Not given up, it": damn it could've been the start of something brilliant
17:24:02FromDiscord<takemichihanagaki3129> In reply to @punchcake "ok thats actually a": I can't remember C giving me some `free_some_datastructure` , there is just `free`.↵↵Every single type can be statically stored. Dynamic arrays can't.
17:24:35FromDiscord<punchcake> In reply to @takemichihanagaki3129 "I can't remember C": xd after i think about it you can completely avoid malloc while using the C stdlib
17:25:42FromDiscord<takemichihanagaki3129> In reply to @punchcake "xd after i think": Yep, people that do embedding C avoids malloc, everything goes on static memory (stack).
17:25:59FromDiscord<pmunch> In reply to @punchcake "damn it could've been": Well you're free to take the idea and use it. As I mention in the README I basically just followed the Electron quick start guide met coded it in Nim. There really isn't much more than that to it.↵Personally I've never liked web UIs much, so I didnt have much of an incentive to ever use it
17:26:30FromDiscord<punchcake> In reply to @takemichihanagaki3129 "Yep, people that do": as a guy who does embedded C we do use malloc but its freed shorty after using it since we still need the memory back
17:27:06FromDiscord<jviega> You don't use alloca()??
17:27:20FromDiscord<punchcake> no
17:27:24FromDiscord<jviega> (I thought we were leaving; My wife wasn't ready 🙂
17:27:35FromDiscord<takemichihanagaki3129> In reply to @punchcake "as a guy who": Hmmm, interesting!↵Noted it down, I didn't know that.
17:28:16FromDiscord<jviega> alloca() is generally going to be far faster whenever it can be used
17:28:31FromDiscord<punchcake> In reply to @takemichihanagaki3129 "Hmmm, interesting! Noted it": i mean embedded C is just regular C but you have from 200 to 300 kb of ram
17:28:35FromDiscord<punchcake> and on an rtos
17:28:50FromDiscord<punchcake> so there isnt much room for leaks
17:29:18FromDiscord<jviega> Since it bascially just has to push the stack pointer then bump it by the size, as opposed to managing headers, pools, lists, etc.
17:29:24FromDiscord<gamma8099> Would it be help to make some data engineering/data science stuff would that be helpful
17:30:15FromDiscord<takemichihanagaki3129> In reply to @punchcake "i mean embedded C": That's impressive!
17:30:18FromDiscord<gamma8099> Maybe there are ones idk about, or even an ETL or ORM
17:30:22FromDiscord<jviega> (Ok now we're leaving)
17:30:26FromDiscord<punchcake> In reply to @takemichihanagaki3129 "That's impressive!": you can learn for free↵https://wokwi.com/
17:30:31FromDiscord<punchcake> In reply to @jviega "(Ok now we're leaving)": enjoy the date bro
17:31:28*lucasta quit (Remote host closed the connection)
17:31:58FromDiscord<ambient3332> ehh.. arduino, and not stm32 🤷‍♂️
17:32:05FromDiscord<punchcake> In reply to @ambient3332 "ehh.. arduino, and not": neither
17:32:06FromDiscord<punchcake> esp32
17:32:15FromDiscord<ambient3332> (wokwi.com you posted)
17:32:21FromDiscord<punchcake> yes
17:32:25FromDiscord<punchcake> there is an esp32 there
17:32:36FromDiscord<punchcake> https://media.discordapp.net/attachments/371759389889003532/1130190255962734814/image.png
17:32:42FromDiscord<ambient3332> ESP32 C3?
17:33:07FromDiscord<punchcake> In reply to @ambient3332 "ESP32 C3?": i think so
17:33:10FromDiscord<punchcake> idk havent used it
17:33:54FromDiscord<punchcake> i mean just take the site with a grain of salt, its good for prototyping but its nothing like real hands on dev
17:34:45FromDiscord<takemichihanagaki3129> In reply to @punchcake "you can learn for": Thanks a lot!
17:34:48FromDiscord<punchcake> also esp32 boards are cheap as hell they're like 2 or 3 usd
17:35:01FromDiscord<punchcake> they arent very useful alone tho
17:35:08FromDiscord<punchcake> In reply to @takemichihanagaki3129 "Thanks a lot!": np
17:35:34FromDiscord<ambient3332> I use this to play around: https://easyeda.com/ 😉 easy to export to JLCPCB and get a fully working prototype
17:35:51FromDiscord<takemichihanagaki3129> In reply to @punchcake "also esp32 boards are": How do you communicate with the board?↵Via Serial port?
17:36:08FromDiscord<takemichihanagaki3129> Or via some other protocol?
17:36:09FromDiscord<punchcake> In reply to @takemichihanagaki3129 "How do you communicate": not sure how it works on the site
17:36:12FromDiscord<punchcake> didnt use it tbh
17:36:25FromDiscord<punchcake> but you gotta read the esp32 manual to understand what pins do what
17:36:50FromDiscord<takemichihanagaki3129> In reply to @punchcake "not sure how it": Talking about ESP32, specifically. Not the website.
17:37:05FromDiscord<takemichihanagaki3129> In reply to @punchcake "but you gotta read": Hmmmm, I see.
17:37:09FromDiscord<punchcake> i mean define by what you mean communicate?
17:37:10FromDiscord<ambient3332> ESP32 has Wifi, I2C, SPI, serial, etc
17:37:21FromDiscord<punchcake> display port? flashing? wifi?
17:37:47FromDiscord<punchcake> xd its not hard its just a bit tedious
17:37:53FromDiscord<takemichihanagaki3129> In reply to @ambient3332 "ESP32 has Wifi, I2C,": @punchcake This! 😂😂
17:38:56FromDiscord<punchcake> In reply to @takemichihanagaki3129 "<@655759729477287956> This! 😂😂": https://randomnerdtutorials.com/esp32-pinout-reference-gpios/
17:39:04FromDiscord<punchcake> keep this as refrence its good enough
17:39:34FromDiscord<punchcake> once you have the basics down read this↵https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf↵not entire but only what matters to you
17:41:09FromDiscord<takemichihanagaki3129> I'm saving this links!↵I'll probably use it a lot. My uni is going to start next month.
17:43:49FromDiscord<PunchCake> You computer engineer?↵(@takemichihanagaki3129)
17:44:31FromDiscord<takemichihanagaki3129> In reply to @PunchCake "You computer engineer? (<@890300313729400832>)": Yes!
17:44:58FromDiscord<PunchCake> Same
17:53:00FromDiscord<punchcake> Damn this what my matrix acc look like
17:53:58FromDiscord<odexine> In reply to @jviega "alloca() is generally going": me when i free alloca
17:54:32FromDiscord<punchcake> In reply to @odexine "me when i free": XD
17:55:24FromDiscord<punchcake> In reply to @odexine "me when i free": Btw who is kanon
17:55:34FromDiscord<odexine> anime girl
17:55:37FromDiscord<odexine> same one on my avatar
17:55:45FromDiscord<punchcake> Ngl she kinda hot
17:56:06FromDiscord<odexine> oh
17:56:21FromDiscord<punchcake> But not hotter than my beloved waifu akeno
17:58:57FromDiscord<takemichihanagaki3129> In reply to @punchcake "Ngl she kinda hot": Your Discord's isn't lieing, lol.
17:59:40FromDiscord<odexine> In reply to @takemichihanagaki3129 "Your Discord's isn't lieing,": LMAO I did not realise
17:59:59FromDiscord<punchcake> In reply to @takemichihanagaki3129 "Your Discord's isn't lieing,": https://media.discordapp.net/attachments/371759389889003532/1130197153785057360/my_honest_reaction_chrishemsworth_ryangosling_robertpattinson.mp4
18:01:22FromDiscord<takemichihanagaki3129> I love this meme.↵I'm afraid of us being off-topic...
18:01:37FromDiscord<punchcake> In reply to @takemichihanagaki3129 "I love this meme.": The mods are asleep
18:01:37FromDiscord<takemichihanagaki3129> Let's go to #offtopic
18:01:39FromDiscord<punchcake> Look
18:01:45FromDiscord<punchcake> FUCK YOU MODS HAHAHAH
18:01:48FromDiscord<punchcake> see
18:02:38FromDiscord<punchcake> Ngl bro Robert pattinson is handsome as hell
18:05:09FromDiscord<punchcake> In reply to @takemichihanagaki3129 "Your Discord's isn't lieing,": Btw lying
18:05:48FromDiscord<takemichihanagaki3129> In reply to @punchcake "Btw lying*": I was afraid about "lying" be the wrong form. Thanks!
18:06:01FromDiscord<punchcake> Np
18:50:52FromDiscord<4zv4l> sent a code paste, see https://play.nim-lang.org/#ix=4AKT
18:51:22FromDiscord<4zv4l> if that can help
18:51:23FromDiscord<4zv4l> sent a code paste, see https://play.nim-lang.org/#ix=4AKU
18:52:17FromDiscord<4zv4l> when I changed the IP it worked, why I can't send a broadcast ?
18:56:21FromDiscord<demotomohiro> Maybe broadcast requires root?
18:56:22FromDiscord<4zv4l> I also tried `192.168.1.255` but doesn't work either
18:56:30FromDiscord<4zv4l> so my dhcp client run as root ?
18:56:33FromDiscord<4zv4l> (edit) "run" => "runs"
18:56:53FromDiscord<demotomohiro> i dont know
18:57:21FromDiscord<4zv4l> lmao even with `sudo` I get permission denied
19:00:01FromDiscord<4zv4l> ooooh
19:00:02FromDiscord<4zv4l> I found
19:00:23FromDiscord<4zv4l> sent a code paste, see https://play.nim-lang.org/#ix=4AKY
19:00:34FromDiscord<yepoleb> In reply to @punchcake "FUCK YOU MODS HAHAHAH": i cri
19:01:28FromDiscord<takemichihanagaki3129> sent a code paste, see https://play.nim-lang.org/#ix=4AL0
19:07:02FromDiscord<takemichihanagaki3129> @Andreas, is there any roadmap for Nim right now?↵IK that probably some people ask it for you, but I'm curious about that.
19:07:17FromDiscord<4zv4l> In reply to @takemichihanagaki3129 "Are you using any": yes I am
19:07:27FromDiscord<4zv4l> but with the setSockOpt it works great !
19:39:15FromDiscord<pmunch> In reply to @punchcake "The mods are asleep": No we're not, we're always watching
19:41:34FromDiscord<pmunch> As long as you yield when someone wants to discuss on topic stuff here it's fine. And as long as you stay respectful of course
19:43:11FromDiscord<pmunch> If you're not respectful you aren't allowed in off topic either though. So in that case you're shit out of luck.
19:45:53FromDiscord<ambient3332> sent a code paste, see https://play.nim-lang.org/#ix=4ALb
19:47:51FromDiscord<ambient3332> 2.2ms with lower precision
19:51:35FromDiscord<michaelb.eth> @takemichihanagaki3129 you `@` mentioned a different Andreas
20:16:12FromDiscord<System64 ~ Flandre Scarlet> sent a code paste, see https://play.nim-lang.org/#ix=4ALh
20:16:42FromDiscord<takemichihanagaki3129> In reply to @michaelb.eth "<@890300313729400832> you `@` mentioned": Ohhh, OMG sorry for that!
20:17:17FromDiscord<takemichihanagaki3129> What is Andreas' account?
20:18:53FromDiscord<takemichihanagaki3129> sent a code paste, see https://play.nim-lang.org/#ix=4ALj
20:19:45FromDiscord<takemichihanagaki3129> (edit) "https://play.nim-lang.org/#ix=4ALj" => "https://play.nim-lang.org/#ix=4ALk"
20:19:50FromDiscord<takemichihanagaki3129> Can you access that file?
20:20:04FromDiscord<System64 ~ Flandre Scarlet> Which file?
20:20:39FromDiscord<tsoj> is osproc supposed to not work for nimscprits?
20:21:07FromDiscord<System64 ~ Flandre Scarlet> In reply to @takemichihanagaki3129 "Can you access that": There is no ini file in the folder I'm working in
20:22:44FromDiscord<takemichihanagaki3129> In reply to @sys64 "There is no ini": What is into your nimble file?
20:23:52FromDiscord<System64 ~ Flandre Scarlet> sent a code paste, see https://play.nim-lang.org/#ix=4ALm
20:25:20FromDiscord<takemichihanagaki3129> 🤔, there is nothing wrong with your nimble file, I think.
20:25:23FromDiscord<michaelb.eth> In reply to @takemichihanagaki3129 "What is Andreas' account?": take a look in the `#internals` channel
20:26:07FromDiscord<michaelb.eth> also not that in the past he's said he doesn't care for `@` mentions, but still fair game, I guess
20:26:24FromDiscord<System64 ~ Flandre Scarlet> In reply to @takemichihanagaki3129 "🤔, there is nothing": This is very weird
20:26:39FromDiscord<Elegantbeef> nimscript is a subset of Nim importedC code does not work↵(@tsoj)
20:26:55FromDiscord<takemichihanagaki3129> In reply to @sys64 "This is very weird": I'll have a look into each package you added...
20:27:11FromDiscord<System64 ~ Flandre Scarlet> In reply to @takemichihanagaki3129 "I'll have a look": It compiles under Windows
20:27:42FromDiscord<Elegantbeef> https://github.com/nim-lang/RFCs/issues/503 this is the roadmap
20:27:42FromDiscord<Elegantbeef> btw
20:28:32FromDiscord<Elegantbeef> The issue seems to be opensuse did not install the system lib where nimble expects
20:28:47FromDiscord<System64 ~ Flandre Scarlet> Btw is Nim 2 coming soon?
20:28:50FromDiscord<Elegantbeef> > Error\: cannot open '/usr/lib/nim/lib/system.nim'
20:28:57FromDiscord<takemichihanagaki3129> In reply to @Elegantbeef "The issue seems to": Ohhhh, I see.
20:29:08FromDiscord<System64 ~ Flandre Scarlet> In reply to @Elegantbeef "> Error\: cannot open": does not exist?
20:29:14FromDiscord<takemichihanagaki3129> In reply to @Elegantbeef "https://github.com/nim-lang/RFCs/issues/503 this is": Thanks, dude!
20:29:29FromDiscord<takemichihanagaki3129> In reply to @sys64 "does not exist?": try `cat` it...
20:30:00FromDiscord<System64 ~ Flandre Scarlet> There is no lib folder in nim folder
20:34:56*ced1 is now known as cedb
20:47:01*ntat quit (Quit: leaving)
20:57:49FromDiscord<michaelb.eth> In reply to @sys64 "Btw is Nim 2": I believe the gating factor is the fixing of `Showstopper` bugs and no additional `Showstopper` bugs appearing for some amount of time after the last one is fixed.
20:58:04FromDiscord<michaelb.eth> https://github.com/nim-lang/Nim/issues?q=is%3Aissue+is%3Aopen+label%3AShowstopper
21:00:26FromDiscord<System64 ~ Flandre Scarlet> In reply to @michaelb.eth "I believe the gating": I solved this problem↵But now I have this issue :
21:00:29FromDiscord<System64 ~ Flandre Scarlet> https://media.discordapp.net/attachments/371759389889003532/1130242576096694312/message.txt
21:04:32FromDiscord<michaelb.eth> In reply to @sys64 "I solved this problem": not sure, maybe copy/paste the super long `g++ ...` command and add in the `--verbose` flag
21:04:55FromDiscord<michaelb.eth> (edit) "copy/paste" => "copy/paste/run" | "command and" => "command, but" | removed "in"
21:06:51FromDiscord<System64 ~ Flandre Scarlet> In reply to @michaelb.eth "not sure, maybe copy/paste/run": Same thing https://media.discordapp.net/attachments/371759389889003532/1130244177385500812/message.txt
21:16:24FromDiscord<michaelb.eth> In reply to @sys64 "Same thing": not sure if it's the same problem: https://stackoverflow.com/questions/18406369/qt-cant-find-lgl-error
21:19:58*xet7 joined #nim
21:26:27FromDiscord<System64 ~ Flandre Scarlet> In reply to @michaelb.eth "not sure if it's": It helped me, thanksç https://media.discordapp.net/attachments/371759389889003532/1130249105424273479/image.png
21:26:29FromDiscord<System64 ~ Flandre Scarlet> (edit) "thanksç" => "thanks!"
21:27:58*azimut quit (Ping timeout: 240 seconds)
21:30:09*azimut joined #nim
21:51:18*azimut quit (Ping timeout: 240 seconds)
22:14:53*disso-peach quit (Quit: Leaving)
23:36:28*lucasta joined #nim