<< 14-02-2022 >>

00:00:19*tk quit (Quit: Well, this is unexpected.)
00:00:44*tk joined #nim
00:10:19arkanoidthe timeout arg of newHttpClient seems not working
00:10:50arkanoidI'm setting it to 3000, but it waits endlessly. Wireshark shows no data received from the server
00:15:55arkanoidtcpdump clearly shows data going only from client to server and never back, but the timeout is not triggered
00:24:14*rp1 quit (Ping timeout: 250 seconds)
00:25:45*rp1 joined #nim
00:51:39FromDiscord<congusbongus> Yaml is definitely nicer to hand edit↵But its spec is quite complicated, and you can do some unsafe stuff with it↵Which is often why I prefer json, it’s more widely supported and dead simple
01:14:33FromDiscord<abdu> sent a long message, see http://ix.io/3PyB
01:14:49FromDiscord<abdu> (edit) "http://ix.io/3PyB" => "http://ix.io/3PyC"
01:15:12FromDiscord<Elegantbeef> `m = none(Match)`
01:15:35FromDiscord<abdu> (edit) "http://ix.io/3PyC" => "http://ix.io/3PyD"
01:17:06FromDiscord<Elegantbeef> Or just dont reuse the variable
01:19:58FromDiscord<⃟⃟> i think its become clear the python style syntax was a mistake
01:20:46FromDiscord<Elegantbeef> No
01:21:08FromDiscord<Elegantbeef> I've yet see any reason to think that
01:51:24*rp1 quit (Ping timeout: 256 seconds)
01:51:46*rp1 joined #nim
02:16:03NimEventerNew question by itil memek cantik: To clear Options[nre.match] up on nim regex, see https://stackoverflow.com/questions/71106505/to-clear-optionsnre-match-up-on-nim-regex
02:16:31FromDiscord<Elegantbeef> @abdu\: i answered you question here already
02:24:16arkanoidif I do -d:mingw on linux I get a working cross-compiled x64 .exe that works on wine64. If I do -d:mingw32 it seems to compile, it gives no error but the output binary is not generated
02:25:39FromDiscord<Elegantbeef> It might only do the Nim compilation and not compile the binary, just like you're supposed to use i386
02:27:10arkanoidyou're right: it works with --d:mingw --cpu:i386, but it fails to execute
02:27:20arkanoidError: unhandled exception: lexbase.nim(138, 9) `input != nil` [AssertionDefect]
02:47:25arkanoidI'm pretty sure linux -> windows cross compilation was working the last time I tried
02:51:31FromDiscord<Elegantbeef> It worked for me the last i tried it aswell, though never 64bit -\> 32
03:20:37arkanoidElegantbeef, seems that async is the problem. My last toy is using just std + yaml packages, but it fails also x64 (--d:mingw)
03:21:43arkanoidtoolchains/nim-1.6.4/lib/pure/streams.nim(176) close -> SIGSEGV: Illegal storage access. (Attempt to read from nil?)
03:21:43FromDiscord<sheldon> https://github.com/sveltejs/svelte
03:22:52arkanoidsheldon, interesting
03:24:35arkanoidit goes sigsegv even when removing yaml module and use just std stuff
03:58:36arkanoidit sigsegv on windows too
03:59:20FromDiscord<Rika> Are you double closing? Even though that shouldn’t be an issue I would be led to believe
03:59:36arkanoid?
04:03:17FromDiscord<Rika> It says in the error it’s related to a stream
04:03:31FromDiscord<Rika> And close
04:05:30arkanoidRika, there's just 1 "close" reference in my whole codebase, that's a 100 lines script
04:05:44arkanoidI've also tried refc vs orc
04:06:02*supakeen quit (Quit: WeeChat 3.4)
04:06:32*supakeen joined #nim
04:07:06FromDiscord<Rika> You’re in debug right
04:07:10FromDiscord<Rika> No stack trace?
04:09:03arkanoidok I think I've found something
04:10:46FromDiscord<Elegantbeef> What'd you find?!
04:13:49arkanoidthe SIGSEGV was due to me trying to remove yaml dependency and forgetting to inizialize a ref var, so that can be put aside, but yaml module won't run on windows
04:14:13arkanoidI mean this: https://nimyaml.org/
04:16:13FromDiscord<Elegantbeef> It's CI does run on windows
04:39:45FromDiscord<Rika> It should
04:39:55FromDiscord<Rika> Any reason you’re using YAML though
04:41:40FromDiscord<haolian9 (高浩亮)> @\_discord\_882793909246369864\:t2bot.io thanks, it helps a lot↵(@auxym)
04:48:56*rockcavera quit (Remote host closed the connection)
05:08:25FromDiscord<huantian> huh just realized, is #community-events not announcing forum posts anymore
05:10:43FromDiscord<Elegantbeef> Perhaps the forum update broke it
05:49:47*xaltsc quit (Remote host closed the connection)
05:51:46*oz quit (*.net *.split)
05:51:46*jmdaemon quit (*.net *.split)
05:51:46*fowl quit (*.net *.split)
05:51:46*vicecea quit (*.net *.split)
05:51:46*systemdsucks quit (*.net *.split)
05:51:46*blackbeard420 quit (*.net *.split)
05:51:46*syl quit (*.net *.split)
05:51:46*def- quit (*.net *.split)
05:51:46*tinystoat quit (*.net *.split)
05:51:46*flynn quit (*.net *.split)
05:52:00*ox joined #nim
05:52:24*jmdaemon joined #nim
05:52:24*fowl joined #nim
05:52:24*vicecea joined #nim
05:52:24*flynn joined #nim
05:52:24*tinystoat joined #nim
05:52:24*def- joined #nim
05:52:24*syl joined #nim
05:52:24*blackbeard420 joined #nim
05:52:24*systemdsucks joined #nim
05:55:03*dom96 quit (*.net *.split)
05:55:03*adium quit (*.net *.split)
05:55:19*dom96 joined #nim
05:57:29*adium joined #nim
05:58:58*wyrd quit (*.net *.split)
06:04:15*wyrd joined #nim
06:17:30FromDiscord<Elegantbeef> @Phil\: did you ever get webp working?
06:18:23FromDiscord<Phil> In reply to @Elegantbeef "<@180601887916163073>\: did you ever": I had zilch time to get to work on it last weak, I was a bit behind on note taking on dnd sessions and made sure last week to get caught up there
06:19:17FromDiscord<Elegantbeef> Ah was just wondering 😀
07:33:19*PMunch joined #nim
07:51:50*supakeen quit (Quit: WeeChat 3.4)
07:52:10*supakeen joined #nim
08:08:57FromDiscord<Phil> In reply to @Elegantbeef "Ah was just wondering": I'll get back onto it one of these days once I've caught up with everything, I let the note taking slide a bit two weeks ago during vacation to get a lot of other stuff done
09:19:32FromDiscord<sheldon> https://tika.apache.org/
09:19:42FromDiscord<sheldon> https://github.com/ipfs-search/ipfs-tika
09:19:51FromDiscord<sheldon> https://github.com/ipfs-search/ipfs-search
09:21:05FromDiscord<Elegantbeef> What's with the random links?
09:25:08FromDiscord<sheldon> It's IPFS-search
09:25:20FromDiscord<sheldon> https://ipfs-search.com/#/
09:25:30FromDiscord<Elegantbeef> Sure but what's the point posting it here?
09:26:03FromDiscord<sheldon> just for sharing😄
09:26:42PMunchIt's not related to Nim though
09:26:42FromDiscord<sheldon> If anyone got interested
09:28:54FromDiscord<Rika> Your messages are appreciated but please share in #offtopic next time, thanks
09:31:14FromDiscord<sheldon> or there might be some implement in Nim already, who knows. If there is any please let me know.
09:32:20FromDiscord<sheldon> It uses Tika to detects and extracts metadata and text.
09:44:04FromDiscord<sheldon> Tika(Java)+ElasticSearch(Java) +RabbitMQ(Erlang) + Crawler(in Go)
10:49:43FromDiscord<Rika> In reply to @sheldon "Tika(Java)+ElasticSearch(Java) +RabbitMQ(Erlang) + ": For Rabbit, you only need an AMQP client; the others probably need a binding other than crawler, probably could be reimplemented
10:49:59FromDiscord<Rika> Especially that it’s a fucking pain interoping with Go or Rust
10:56:32*jjido joined #nim
10:57:54*arkurious joined #nim
11:24:54FromDiscord<abdu> How do we pre allocate a number of seq's size ?
11:26:45FromDiscord<Rika> newSeqOfCap
11:27:01FromDiscord<Rika> This does not create new data entries but allocates the memory needed
11:33:21PMunchnewSeq if you want to have a sequence that is a certain length, newSeqOfCap if you want an empty sequence but with enough allocated memory to grow to the specified size
11:34:27PMunchBy default sequences allocates room for a couple elements, and if you add more than those elements it will reallocate the buffer while growing it to a new bigger capacity. So if you're adding a lot of elements then it might be worth pre-allocating all the memory
11:36:32FromDiscord<Rika> If you know the size beforehand, yes
11:36:50FromDiscord<Rika> Or if you know that you will add many items
11:44:57FromDiscord<haxscramper> PMunch: I also realized that sqlite has support for fulltext search built into it, so generated documentation can benefit from this as well. IIRC there was even a way to host sqlite db on github pages without using separate server, so in theory you can get a full working index of the project and make it actually searcheable by only using static site generation
11:46:19PMunchNot really static if is uses a sqlite server in the background. But I get your point
11:46:27PMunchThis is one of the things I wanted to do with the JSON output
11:47:45PMunchThe reason I've gone for JSON as the format is that it is very widely supported, and as long as the compiler could spit out only a single documentation format we will be 100% sure that the output of the compiler can in fact be used to generate everything the official docs are able to generate.
11:48:07PMunchHow do you treat RST in your SQLite version by the way?
11:48:25FromDiscord<haxscramper> In reply to @PMunch "Not really static if": no, it is possible to host it entirely static
11:48:47FromDiscord<haxscramper> https://phiresky.github.io/blog/2021/hosting-sqlite-databases-on-github-pages/
11:49:09FromDiscord<haxscramper> In reply to @PMunch "How do you treat": I gave you an example of a current sqlite database
11:49:33FromDiscord<haxscramper> Right now I store the original documentation comment text as i
11:49:38FromDiscord<haxscramper> as well as runnable examples
11:50:35FromDiscord<haxscramper> I think it would be relatively easy to store blobs of the linearized RST AST in the database as well, with all the necessary processing already performed
11:51:29PMunchAh so you would still need an RST parser on the producer end
11:51:56FromDiscord<haxscramper> what else?
11:52:08FromDiscord<haxscramper> yes, of course db generator better read the rst and process it
11:52:20FromDiscord<haxscramper> the whole point of db is to contain only processed information
11:53:35PMunchA site which uses JavaScript to do a bunch of stuff isn't static though..
11:53:46PMunchBut it's a cool idea nonetheless
11:54:20PMunchWell I was thinking of parsing the RST into a JSON representation as well
11:54:37PMunchHmm, well I guess it would be static since it doesn't actually need anything but the file from the server
11:54:45FromDiscord<haxscramper> static site doesn't require server
11:55:22FromDiscord<haxscramper> and you would still generate it from the db, just having it around later on allows you to serach
11:55:24FromDiscord<haxscramper> (edit) "serach" => "search"
11:55:40FromDiscord<haxscramper> generator would take db and produce static site
12:06:01*supakeen quit (Quit: WeeChat 3.4)
12:06:31*supakeen joined #nim
12:07:50*Vladar joined #nim
12:08:05PMunchFor that site though you do need a server, because the SQL HTTP VFS needs to be able to do HTTP Range requests
12:08:16PMunchSo you need a compliant HTTP server
12:08:40PMunchI mean you could build a static version which worked on a local SQLite file, but what he proposes isn't static
12:08:41*Gustavo6046 joined #nim
12:09:23*Gustavo6046 quit (Remote host closed the connection)
12:09:42*Gustavo6046 joined #nim
12:24:05FromDiscord<haxscramper> The point is - I can just upload the documentation on github pages and it will work
12:24:10FromDiscord<haxscramper> For me that's static enough
12:24:35FromDiscord<haxscramper> I'm not web developer, so I don't care about nuanced terminology here
12:25:05FromDiscord<haxscramper> If `./make-site.sh` generates a lot of `.html` that I can put on gh pages it is "static" for me
12:27:30*jjido quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
12:33:06FromDiscord<ajusa> In reply to @haxscramper "The point is -": Well it also makes 10s of requests, but it would still be an improvement over existing docs
12:39:21FromDiscord<haxscramper> how to store processed RST in the database is not entirely clear
12:39:40FromDiscord<haxscramper> just putting JSON AST text blobs can work out, technically
12:39:58FromDiscord<haxscramper> Alhtough I would much rather prefer to have some form of semantic annotations as well
12:40:18FromDiscord<haxscramper> Like `<thing#other>` for "links" we have right now, this would have to be reparsed and reanalyzed
12:40:53FromDiscord<haxscramper> So there are going to be extensions to the stored json, for example when you link to something in comment, if you are in db you just have the entry ID linked
12:41:34FromDiscord<haxscramper> if all you have is json I suppose you can write IDs as well, but that means each reader would have to keep the map of active documentable entries to properly convert generated documentation comment to something
12:45:06FromDiscord<haxscramper> And "see also" as well as links to other elements in documentation are important
12:45:17FromDiscord<haxscramper> Doesn't help that current way of linking is completely insane
12:46:15FromDiscord<haxscramper> I mean, you have to spell `_every,single,argument,of,the,procedure,you,have,in,its,args,even,if,it,is,a,single,proc,with,this,name,across,the,whole,code`
12:46:19FromDiscord<haxscramper> (edit) "`_every,single,argument,of,the,procedure,you,have,in,its,args,even,if,it,is,a,single,proc,with,this,name,across,the,whole,code`" => "`_every,single,argument,of,the,procedure,you,have,in,its,args,even,if,it,is,a,single,proc,with,this,name,across,the,whole,code_`"
12:46:47FromDiscord<haxscramper> and as usual this loops back to the lack of proper IR/DB where you can `SELECT id WHERE name = 'myLinkedProc'`
12:47:21FromDiscord<haxscramper> (edit) "id" => "idn FROM entries"
13:01:22*neurocyte0917090 joined #nim
13:14:08*Vladar quit (Quit: Leaving)
13:50:18*jjido joined #nim
13:51:04NimEventerNew Nimble package! packedArgs - a convention mainly created for `createThread` proc, see https://github.com/hamidb80/packedArgs
14:12:21*jjido quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
14:16:08FromDiscord<Hamid_Bluri> yay
14:16:51FromDiscord<Hamid_Bluri> I feel like a useful member
14:19:25*jmdaemon quit (Ping timeout: 256 seconds)
14:36:29*mahlon_ quit (Ping timeout: 256 seconds)
14:37:06*rockcavera joined #nim
14:37:06*rockcavera quit (Changing host)
14:37:06*rockcavera joined #nim
14:40:33FromDiscord<lantos> sent a code paste, see https://paste.rs/p1t
14:41:26FromDiscord<lantos> (edit) "https://play.nim-lang.org/#ix=3PB0" => "https://play.nim-lang.org/#ix=3PAZ"
14:49:08FromDiscord<Rika> I don’t remember if the compiler has this optimisation but it’s called “NRVO” named return value optimisation
14:50:38FromDiscord<lantos> sent a code paste, see https://paste.rs/9Yg
14:51:55FromDiscord<lantos> (edit) "https://play.nim-lang.org/#ix=3PB5" => "https://play.nim-lang.org/#ix=3PB4"
14:52:43FromDiscord<demotomohiro> Using variables declared outside of procs are not much optimized.
14:55:29FromDiscord<demotomohiro> sent a code paste, see https://play.nim-lang.org/#ix=3PB7
14:56:00FromDiscord<lantos> ah oop
14:56:03FromDiscord<lantos> (edit) "oop" => "oops"
15:12:08*PMunch quit (Quit: Leaving)
15:39:40*jjido joined #nim
15:51:30*Gustavo6046 quit (Remote host closed the connection)
16:02:33NimEventerNew question by Artem Klevtsov: Static likinking C++ library with Nim C backend, see https://stackoverflow.com/questions/71114756/static-likinking-c-library-with-nim-c-backend
16:05:09*jjido quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
17:01:53FromDiscord<mratsim> Is it possible to describe a threadpool concept? How would you describe `pool.spawn fn(parameters)`?
17:02:17FromDiscord<mratsim> when spawn is a macro
17:02:29FromDiscord<mratsim> (don't have access to Nim atm)
17:34:05FromDiscord<konsumlamm> just `untyped` maybe?
17:34:43FromDiscord<konsumlamm> i'm not sure if you can encode the shape of the argument in the type (or a concept body), but i don't think it's possible
17:53:38FromDiscord<untoreh> If I have a file (svg), is it possible to parse it into a karax vnode?
17:58:32*jjido joined #nim
18:05:28*mahlon joined #nim
19:02:29*arkanoid quit (Ping timeout: 256 seconds)
19:18:18*jjido quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
19:54:56FromDiscord<JohnDoe> Hello, I am trying to use nimpy to extend some functionality in nim by feeding it some python. However, I am trying to interact with a dictionary but I keep getting pyobject errors. I was told I could serialize to json and then deserialize back to nim; is this possible in this way?
19:55:31FromDiscord<JohnDoe> `cpuinfo.get_cpu_info()['brand_raw']`
19:58:38FromDiscord<tandy> if i have a table of length 1, how do i get the item in it?
20:13:47*kenran joined #nim
20:16:33*kenran quit (Client Quit)
20:16:49FromDiscord<leorize> you loop through it
20:16:54*jjido joined #nim
20:21:24FromDiscord<tandy> makes sens
20:28:21*jmdaemon joined #nim
20:42:48*krux02 joined #nim
20:46:14FromDiscord<Forest> When I'm using a C++ library in Nim, how do i interact with the classes?
20:55:53FromDiscord<dom96> In reply to @tandy "if i have a": `toSeq(tbl.values)[0]` should work
20:56:15FromDiscord<dom96> you can also do `tbl.pairs` if you want the key too
21:06:52FromDiscord<krisppurg> Is there anyway I could stop choosenim downloading nim in 32 bit, because my computer is in 64 bit.↵And also whenever I do compile in nim it isn't fast (e.g. when nim version is switched and I run my code depending on how long the code is and the modules it is using it takes 1 minute to fully compile), how do I resolve this issue? Could it just be because of the 32 bit issue im having?
21:07:14FromDiscord<krisppurg> (edit) "Is there anyway I could stop choosenim downloading nim in 32 bit, because my computer is in 64 bit.↵And also whenever I do compile in nim ... it" added "(32 bit)"
21:23:50FromDiscord<demotomohiro> @Forest https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-importcpp-pragma
21:40:56FromDiscord<Forest> Thanks!
22:04:55*jmdaemon quit (Quit: ZNC 1.8.2 - https://znc.in)
22:07:10*jmdaemon joined #nim
22:12:16FromDiscord<dom96> In reply to @krisppurg "Is there anyway I": do you have a 32bit gcc in your PATH?
22:12:38FromDiscord<dom96> if so choosenim will grab a 32 bit Nim
22:35:03*jjido quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
22:47:06*arkanoid joined #nim
23:44:53FromDiscord<krisppurg> In reply to @dom96 "do you have a": Well, is it located in C:/bin↵then how do I replace the 32 bit gcc with the 64 bit gcc?
23:45:17FromDiscord<krisppurg> (edit) "C:/bin↵then how" => "C:/bin↵running `gcc -v`, it says win32.↵How"
23:46:56*cyraxjoe quit (Ping timeout: 250 seconds)
23:47:34*cyraxjoe joined #nim