00:05:03 | * | chimez joined #nim |
00:07:49 | * | chimez quit (Client Quit) |
00:19:03 | * | kapil____ quit (Quit: Connection closed for inactivity) |
00:21:10 | * | rnrwashere joined #nim |
00:25:02 | * | rnrwashere quit (Remote host closed the connection) |
00:27:46 | * | Cthalupa quit (Ping timeout: 246 seconds) |
00:28:17 | * | sealmove quit (Quit: WeeChat 2.4) |
00:29:54 | * | rnrwashere joined #nim |
00:30:34 | * | Cthalupa joined #nim |
00:36:27 | * | rnrwashe_ joined #nim |
00:39:54 | * | rnrwashere quit (Ping timeout: 252 seconds) |
00:40:22 | * | rnrwashe_ quit (Remote host closed the connection) |
00:47:26 | * | noeontheend joined #nim |
00:52:47 | * | ephja quit (Quit: Page closed) |
01:04:41 | FromDiscord | <citycide> amasad of repl.it says they'll upgrade Nim, so I bet it'll be running 0.19.4 soon |
01:21:06 | * | rnrwashere joined #nim |
01:26:45 | * | rnrwashere quit (Remote host closed the connection) |
01:44:06 | * | kapil____ joined #nim |
01:47:07 | * | neceve quit (Remote host closed the connection) |
01:47:25 | * | rnrwashere joined #nim |
01:55:48 | * | noeontheend quit (Ping timeout: 252 seconds) |
02:34:40 | * | rnrwashere quit (Remote host closed the connection) |
02:35:47 | * | cgfuh quit (Quit: WeeChat 2.3) |
02:38:22 | * | rnrwashere joined #nim |
02:49:17 | * | noeontheend joined #nim |
02:56:09 | * | endragor joined #nim |
03:03:52 | * | rnrwashere quit (Remote host closed the connection) |
03:05:40 | * | banc quit (Quit: Bye) |
03:06:27 | * | rnrwashere joined #nim |
03:10:50 | * | endragor quit (Remote host closed the connection) |
03:11:33 | * | gangstacat quit (Quit: Ĝis!) |
03:12:07 | * | endragor joined #nim |
03:17:57 | * | endragor quit (Remote host closed the connection) |
03:19:52 | * | endragor joined #nim |
03:20:17 | * | endragor quit (Remote host closed the connection) |
03:27:02 | * | banc joined #nim |
03:35:28 | * | abm quit (Ping timeout: 245 seconds) |
03:36:32 | * | endragor joined #nim |
03:37:47 | * | lritter quit (Ping timeout: 252 seconds) |
03:59:03 | * | kapil____ quit (Quit: Connection closed for inactivity) |
04:01:01 | * | endragor quit (Remote host closed the connection) |
04:07:23 | * | endragor joined #nim |
04:11:11 | FromDiscord | <slymilano> What do you guys think is missing before Nim goes mainstream? |
04:11:26 | FromDiscord | <slymilano> Ruby was super unknown before Rails - is this the case with Nim? |
04:12:21 | * | oley joined #nim |
04:13:39 | * | oley quit (Client Quit) |
04:19:28 | * | endragor quit (Remote host closed the connection) |
04:20:23 | * | endragor joined #nim |
04:24:19 | * | rayman22201 quit (Quit: Connection closed for inactivity) |
04:24:27 | * | chemist69 quit (Ping timeout: 240 seconds) |
04:24:57 | * | endragor quit (Ping timeout: 246 seconds) |
04:26:35 | * | chemist69 joined #nim |
04:27:56 | * | kapil____ joined #nim |
04:33:42 | * | dddddd quit (Remote host closed the connection) |
04:41:30 | FromGitter | <deech> I really hope to see it take off on resource constrained platforms that can afford some GC like mobile, tablet etc. It's possible some kind of Flutter competitor is it's killer app. |
04:45:49 | FromGitter | <deech> The C/C++ interop is the best I've seen so far. It would be nice if it was able to encode some of the ownership semantics into bindings. Not full on Rust but enough to use C++ somewhat safely. |
04:45:50 | FromDiscord | <slymilano> Can you imagine how liberating it'll be when we can use this for our day jobs? |
04:48:49 | FromGitter | <deech> Idk, depends. Haskell for me is still the best choice for a majority of use cases but it fails miserably on low power platforms and the FFI is pretty impoverished in comparison. |
04:49:51 | * | rnrwashere quit (Remote host closed the connection) |
04:50:20 | FromDiscord | <slymilano> Hey quick question: Are there any caveats to building cross-platform static binaries? Like, you can't use this library if you want static binaries and such |
04:56:54 | * | gangstacat joined #nim |
05:03:53 | shashlick | if you can do it with C/C++, you can do it with nim |
05:40:42 | * | oculux quit (Quit: blah) |
05:41:00 | * | oculux joined #nim |
06:10:46 | * | nsf joined #nim |
06:12:39 | * | noeontheend quit (Ping timeout: 252 seconds) |
06:27:17 | * | solitudesf joined #nim |
06:39:19 | * | endragor joined #nim |
06:40:53 | * | endragor quit (Remote host closed the connection) |
06:45:15 | * | vlad1777d joined #nim |
07:00:00 | * | gmpreussner quit (Quit: kthxbye) |
07:04:44 | * | gmpreussner joined #nim |
07:13:04 | * | narimiran joined #nim |
07:18:01 | * | nsf quit (Quit: WeeChat 2.4) |
07:19:03 | * | kapil____ quit (Quit: Connection closed for inactivity) |
07:32:01 | * | jjido joined #nim |
07:43:45 | * | hoijui joined #nim |
07:46:34 | * | Vladar joined #nim |
08:16:15 | FromDiscord | <thulahn> Are there any corporate sponsors of Nim? Or companies that use Nim? |
08:25:44 | FromDiscord | <tango> Hey, does anyone here know what Hydrus is? |
08:26:02 | FromDiscord | <tango> http://hydrusnetwork.github.io/hydrus/ |
08:28:19 | FromGitter | <SolitudeSF> it literally explains it on the site |
08:36:07 | * | solitudesf quit (Ping timeout: 240 seconds) |
08:39:47 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
08:42:53 | * | endragor joined #nim |
09:02:20 | * | jjido_ joined #nim |
09:06:24 | * | endragor quit (Remote host closed the connection) |
09:07:52 | * | clyybber joined #nim |
09:13:43 | * | endragor joined #nim |
09:24:01 | * | narimiran quit (Ping timeout: 244 seconds) |
09:29:55 | FromDiscord | <tango> It is written in Python, and some parts are slow... do you guys think it is possible to make it faster using Nim? |
09:34:20 | Araq | yup and interop with Python/C++ will become even easier not that the "new runtime" is getting into shape |
09:35:37 | FromDiscord | <tango> Araq ? |
09:36:07 | FromDiscord | <tango> Nim has its own runtime? |
09:36:34 | Araq | it always had, but it's getting a new one, trimmed down. |
09:36:36 | * | ng0 joined #nim |
09:37:07 | FromDiscord | <tango> Mmm, so it will be faster than Go and easier to use like Python? |
09:38:26 | FromDiscord | <tango> Are we "to the moon"ing this programming language, because I am slightly un-hyped by all the packages that Python has with Conda https://docs.anaconda.com/anaconda/packages/py3.7_linux-64/ |
09:38:46 | Araq | "to the moon"? |
09:39:15 | FromDiscord | <tango> 650 packages... "to the moon" as in crypto slang for "mass adoption" |
09:41:46 | clyybber | mass-adaption isn't necessarily good IMO. Adaption by the right people is where it's at; for example status |
09:45:05 | * | stefanos82 joined #nim |
09:46:44 | Araq | well I hope 0.20 will have some impact. Lots of problems are addressed. |
09:47:25 | * | arecacea1 quit (Ping timeout: 246 seconds) |
09:48:23 | * | arecacea1 joined #nim |
09:51:02 | FromDiscord | <tango> clyybber Python is good as an educational and stats language, and I think Go is competing in the same space of "easy" languages |
09:51:35 | FromDiscord | <tango> Nim could easily get some mind share in the youth, I hope that people can go hard on this |
09:57:37 | clyybber | I just hope that they won't ask for equivalents of "setup.py" or "__init__.py" or the likes. Otherwise I agree. |
09:57:43 | * | jjido_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
09:58:52 | clyybber | IMO Nim hit's the sweet spot between "easy for simple projects" (fast to write, non-intrusive type system) vs "easy for complex projects" (memory-safety, debugging) |
10:01:49 | clyybber | Araq: What do I do to test if my code works with the new runtime? Do I use "--newruntime" or "-d:newruntime" ? |
10:04:44 | Araq | --newruntime but don't use it yet, it's not even vaporware |
10:05:29 | * | jjido joined #nim |
10:05:34 | Araq | but hey, just today I made "hello world" work |
10:06:56 | Zevv | \o/ congrats araq! |
10:12:47 | * | hoijui quit (Ping timeout: 240 seconds) |
10:16:15 | FromDiscord | <tango> clybber wait until your library is as mature as Python/Anaconda's, then you will see wonders. Also what do you mean by "init.py" ? |
10:16:35 | FromDiscord | <tango> You are not referring to library imports right? |
10:21:40 | clyybber | Araq: \o/ |
10:23:53 | clyybber | tango: I'm referring to subpackages, and generally the weird conventions some languages develop when they get "mainstream" |
10:26:03 | FromDiscord | <tango> In order to stop that you need a very large "standard package library" that conform to those rules |
10:26:18 | FromDiscord | <tango> think about Machine Learning libs for example |
10:28:16 | * | dddddd joined #nim |
10:37:51 | * | neceve joined #nim |
11:02:37 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
11:14:29 | FromGitter | <BaldEagleX02> Since IoT is developing very fast, I think we should work to make it easy to program an Arduino or ESP8266 board with Nim. It is already possible but not very straight-forward. We could create a library with some built-in Arduino functions, an extension for an editor (VSCode seems to be the most used) which compiles Nim programs with the right config and uploads the compiled program to the selected board. |
11:16:50 | * | jjido joined #nim |
11:19:27 | FromGitter | <BaldEagleX02> It is already available an extension for VSCode that builds and uploads a .ino program to Arduino-compatible boards. Link: https://github.com/Microsoft/vscode-arduino |
11:21:42 | FromGitter | <BaldEagleX02> Nim on ESP8266 experiment: https://github.com/TomCrypto/caret |
11:32:06 | * | kapil____ joined #nim |
11:43:34 | federico3 | BaldEagleX02: please comment/vote https://github.com/nim-lang/needed-libraries/issues/84 |
11:48:23 | federico3 | BaldEagleX02: I ran Nim on different micros. The problem is reaching a critical mass of contributors to maintain a library |
11:48:25 | dom96 | yes, please create a library |
11:48:49 | dom96 | I've promised my book readers that I would write an article about embedded dev in Nim. A library would help out a lot |
11:54:02 | * | endragor quit (Remote host closed the connection) |
11:55:17 | * | solitudesf joined #nim |
12:04:27 | * | ng0 quit (Ping timeout: 256 seconds) |
12:07:12 | * | ng0 joined #nim |
12:17:15 | FromDiscord | <tango> https://github.com/nim-lang/needed-libraries/issues/65 |
12:17:20 | FromDiscord | <tango> We nee magic |
12:17:24 | FromDiscord | <tango> We need magic |
12:19:58 | * | hoijui joined #nim |
12:25:07 | * | hoijui quit (Ping timeout: 240 seconds) |
12:26:13 | * | endragor joined #nim |
12:30:24 | * | bobby quit (Ping timeout: 268 seconds) |
12:31:18 | * | nsf joined #nim |
12:31:38 | * | endragor quit (Ping timeout: 268 seconds) |
12:33:15 | * | hoijui joined #nim |
12:43:55 | * | bobby joined #nim |
12:49:15 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
12:51:27 | * | bobby quit (Ping timeout: 252 seconds) |
12:53:41 | clyybber | How can I make: |
12:53:53 | clyybber | for i in 0..10: |
12:53:59 | clyybber | i -= 1 |
12:54:02 | clyybber | work? |
12:54:28 | * | bobby joined #nim |
12:54:38 | clyybber | imagine the "i -= 1" being in some if case, so the loop will terminate |
12:55:36 | clyybber | s/case/block |
12:58:30 | clyybber | I guess a while loop works, but I wonder if theres a more "beautiful" way of doing this... |
12:58:34 | * | Senketsu quit (Quit: WeeChat 2.4) |
12:59:55 | * | Senketsu joined #nim |
13:02:02 | * | rnrwashere joined #nim |
13:05:51 | * | Vladar quit (Remote host closed the connection) |
13:05:53 | * | endragor joined #nim |
13:06:15 | * | rnrwashere quit (Ping timeout: 252 seconds) |
13:07:08 | * | vlad1777d quit (Ping timeout: 245 seconds) |
13:10:24 | * | endragor quit (Ping timeout: 250 seconds) |
13:19:08 | Araq | mutating the iteration variable inside the loop in a non-standard pattern should be ugly. |
13:19:28 | Araq | nothing beautiful to see here, it screams for a refactoring |
13:23:29 | clyybber | Yeah, I agree. Thats what you get for porting dart code ugh. |
13:33:31 | * | theelous3_ joined #nim |
13:43:56 | * | endragor joined #nim |
13:45:26 | FromGitter | <danielecook> How do I define an iterator type? |
13:45:41 | FromGitter | <danielecook> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c8cfe04dfc69a1454a36616] |
13:45:50 | FromGitter | <liquid600pgm> https://nim-lang.org/docs/manual.html#iterators-and-the-for-statement |
13:46:21 | FromGitter | <danielecook> I'm working with the `hts-nim` library and want to use it as an iterator, but conditionally allow the user to query the region. |
13:47:17 | FromGitter | <danielecook> Heres the full code: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c8cfe648aa66959b61d84fe] |
13:47:39 | FromGitter | <danielecook> I'm not sure what to set `var records: ` type to |
13:47:53 | FromGitter | <danielecook> But it's an iterator of the same time in both cases |
13:48:55 | * | endragor quit (Ping timeout: 255 seconds) |
13:57:08 | FromGitter | <liquid600pgm> you can use an `if` expression in that case |
13:57:46 | FromGitter | <liquid600pgm> ```var records = ⏎ if region.len > 0: ⏎ v.query(region) ⏎ else: ⏎ v``` [https://gitter.im/nim-lang/Nim?at=5c8d00dadfc69a1454a378b7] |
14:03:30 | FromGitter | <danielecook> oh cool |
14:03:51 | FromGitter | <BaldEagleX02> @dom96, @federico3 |
14:04:52 | FromGitter | <BaldEagleX02> I created a repository to work on the Arduino library https://github.com/BaldEagleX02/Arduino-Nim |
14:05:40 | * | vlad1777d joined #nim |
14:06:01 | FromGitter | <BaldEagleX02> I am going to add to my repo anyone interested and willing to help |
14:13:31 | * | rnrwashere joined #nim |
14:17:23 | solitudesf | did you check this out? https://github.com/gokr/ardunimo |
14:21:57 | FromGitter | <BaldEagleX02> @SolitudeSF Thank you! |
14:23:07 | FromGitter | <BaldEagleX02> I made the first commit to the repo. I copied TomCrypto’s caret repo as a starting point for our work |
14:25:49 | * | vlad1777d quit (Ping timeout: 255 seconds) |
14:30:25 | * | ephja joined #nim |
14:31:15 | ephja | how's it going? |
14:31:24 | FromGitter | <BaldEagleX02> Is anyone interested in contributing to that project? |
14:33:11 | * | noeontheend joined #nim |
14:35:45 | * | tribly quit (Quit: WeeChat 2.4) |
14:36:24 | * | tribly joined #nim |
14:36:39 | ephja | forgot I was a moderator on discord. barely needs moderatin' though |
14:47:57 | * | narimiran joined #nim |
14:50:40 | * | tribly quit (Quit: WeeChat 2.4) |
14:54:25 | * | tribly joined #nim |
14:55:00 | * | endragor joined #nim |
14:59:36 | * | endragor quit (Ping timeout: 250 seconds) |
15:06:42 | * | endragor joined #nim |
15:13:24 | * | rnrwashere quit (Remote host closed the connection) |
15:14:48 | * | rnrwashere joined #nim |
15:25:19 | * | noeontheend quit (Remote host closed the connection) |
15:25:55 | * | noeontheend joined #nim |
15:27:35 | * | hoijui quit (Remote host closed the connection) |
15:28:58 | * | abm joined #nim |
15:32:04 | * | federico3[m] quit (Remote host closed the connection) |
15:32:05 | * | Demos[m] quit (Read error: Connection reset by peer) |
15:32:08 | * | sendell[m] quit (Remote host closed the connection) |
15:32:10 | * | pqflx3[m] quit (Remote host closed the connection) |
15:32:13 | * | isaac[m] quit (Remote host closed the connection) |
15:32:14 | * | dyce[m] quit (Read error: Connection reset by peer) |
15:32:17 | * | k0mpjut0r quit (Remote host closed the connection) |
15:32:19 | * | zielmicha[m] quit (Remote host closed the connection) |
15:32:20 | * | spymasterd[m] quit (Remote host closed the connection) |
15:32:21 | * | yglukhov[m] quit (Remote host closed the connection) |
15:32:21 | * | flaviut[m] quit (Remote host closed the connection) |
15:32:23 | * | libman[m] quit (Remote host closed the connection) |
15:32:25 | * | sg-james[m] quit (Read error: Connection reset by peer) |
15:32:28 | * | lqdev[m] quit (Remote host closed the connection) |
15:32:28 | * | xylef quit (Read error: Connection reset by peer) |
15:32:29 | * | forkbomb9[m] quit (Remote host closed the connection) |
15:32:32 | * | TheManiac[m] quit (Remote host closed the connection) |
15:32:33 | * | GitterIntegratio quit (Write error: Connection reset by peer) |
15:32:35 | * | TheKing[m] quit (Read error: Connection reset by peer) |
15:32:38 | * | junk[m] quit (Read error: Connection reset by peer) |
15:32:39 | * | serialdev[m] quit (Read error: Connection reset by peer) |
15:32:39 | * | macsek1911[m] quit (Read error: Connection reset by peer) |
15:32:41 | * | Miguelngel[m] quit (Remote host closed the connection) |
15:32:41 | * | narimiran[m] quit (Remote host closed the connection) |
15:32:41 | * | Connor[m] quit (Write error: Connection reset by peer) |
15:32:42 | * | ArchieT[m] quit (Remote host closed the connection) |
15:32:42 | * | jugash[m] quit (Remote host closed the connection) |
15:32:42 | * | Cadair quit (Write error: Broken pipe) |
15:32:42 | * | xomachine[m] quit (Remote host closed the connection) |
15:32:43 | * | rnrwashere quit (Remote host closed the connection) |
15:35:07 | * | mwbrown quit (Ping timeout: 255 seconds) |
15:35:53 | * | ephja quit (Ping timeout: 256 seconds) |
15:37:36 | * | mwbrown joined #nim |
15:38:20 | * | elrood joined #nim |
15:43:08 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
15:43:39 | * | dyce[m] joined #nim |
15:47:19 | * | Vladar joined #nim |
15:53:43 | * | rnrwashere joined #nim |
15:59:21 | * | Connor[m] joined #nim |
15:59:21 | * | Cadair joined #nim |
15:59:21 | * | xylef joined #nim |
15:59:21 | * | Demos[m] joined #nim |
15:59:22 | * | TheKing[m] joined #nim |
15:59:22 | * | ArchieT[m] joined #nim |
15:59:24 | * | isaac[m]1 joined #nim |
15:59:24 | * | GitterIntegratio joined #nim |
15:59:24 | * | jugash[m] joined #nim |
15:59:24 | * | sendell[m] joined #nim |
15:59:24 | * | k0mpjut0r joined #nim |
15:59:24 | * | serialdev[m] joined #nim |
15:59:29 | * | federico3[m] joined #nim |
15:59:29 | * | flaviut[m] joined #nim |
15:59:29 | * | macsek1911[m] joined #nim |
15:59:29 | * | Miguelngel[m] joined #nim |
15:59:29 | * | junk[m] joined #nim |
15:59:29 | * | TheManiac[m] joined #nim |
15:59:30 | * | spymasterd[m] joined #nim |
15:59:30 | * | forkbomb9[m] joined #nim |
15:59:30 | * | pqflx3[m] joined #nim |
15:59:30 | * | sg-james[m] joined #nim |
15:59:30 | * | xomachine[m] joined #nim |
15:59:30 | * | zielmicha[m]1 joined #nim |
15:59:30 | * | narimiran[m] joined #nim |
15:59:31 | * | yglukhov[m] joined #nim |
15:59:31 | * | lqdev[m] joined #nim |
15:59:32 | * | libman[m] joined #nim |
15:59:55 | * | rnrwashere quit (Remote host closed the connection) |
16:00:27 | * | nsf quit (Quit: WeeChat 2.4) |
16:16:07 | * | narimiran quit (Remote host closed the connection) |
16:25:21 | * | noeontheend quit (Ping timeout: 252 seconds) |
16:31:11 | FromGitter | <BaldEagleX02> I think we should port this libraru |
16:31:55 | FromGitter | <BaldEagleX02> I think we should port this library: ArduinoCore-avr (https://github.com/arduino/ArduinoCore-avr) |
16:32:13 | FromGitter | <BaldEagleX02> It contains the standard Arduino library |
16:34:13 | * | rnrwashere joined #nim |
16:34:35 | shashlick | It's all c++, why not just wrap it |
16:41:15 | * | rnrwashere quit (Remote host closed the connection) |
16:44:15 | * | lritter joined #nim |
16:47:16 | * | abm quit (Quit: Leaving) |
16:47:24 | * | rnrwashere joined #nim |
16:50:40 | * | rnrwashere quit (Remote host closed the connection) |
16:54:13 | * | rnrwashere joined #nim |
16:55:51 | clyybber | Yeah wrapping this https://github.com/arduino/ArduinoCore-API should do |
17:02:37 | * | endragor quit (Remote host closed the connection) |
17:02:46 | * | noeontheend joined #nim |
17:04:31 | * | rnrwashere quit (Remote host closed the connection) |
17:05:33 | * | rnrwashere joined #nim |
17:07:58 | FromGitter | <BaldEagleX02> That’s exactly what I thought when I saw it |
17:08:37 | FromDiscord | <moerm> Hello everyone |
17:08:44 | FromGitter | <liquid600pgm> hello! |
17:08:50 | FromDiscord | <moerm> Guys, I want to tell you right away here: |
17:09:04 | FromGitter | <BaldEagleX02> > *<shashlick>* It's all c++, why not just wrap it < |
17:09:15 | FromGitter | <BaldEagleX02> Exactly what I thought |
17:09:35 | FromDiscord | <moerm> I polished my code (both C and Nim) and compiled again - but this time with --opt:speed (yesterday was a simple -d:release build) |
17:10:04 | FromDiscord | <moerm> And BANG: **Nim code is 2-3% FASTER than the C implementation! |
17:10:18 | FromDiscord | <moerm> ** |
17:10:23 | leorize | actually -d:release is better than --opt:speed :P |
17:10:31 | FromGitter | <BaldEagleX02> @Clyybber How do we wrap all that code? |
17:10:48 | FromDiscord | <moerm> leorize No. opt:speed is better |
17:10:49 | FromGitter | <liquid600pgm> does anyone have an answer to this? https://forum.nim-lang.org/t/4720#29460 |
17:11:21 | FromDiscord | <moerm> I'm looking forward to the next "smart guy" telling us how Nim is slow ... |
17:11:32 | leorize | moerm: here's my scientific proof https://github.com/nim-lang/Nim/blob/devel/config/nim.cfg#L55 |
17:11:35 | leorize | :P |
17:12:43 | FromGitter | <BaldEagleX02> @leorize is right |
17:13:15 | FromDiscord | <moerm> I don't care. I see the numbers, I see the effective result |
17:13:34 | FromGitter | <BaldEagleX02> the flag -d:release includes —opt:speed and other optimisations |
17:13:40 | FromDiscord | <moerm> Plus: I know my code but I'm not a guru in Nim compiler settings |
17:14:09 | FromGitter | <BaldEagleX02> How could —opt:speed be faster than -d:release? |
17:14:21 | FromGitter | <BaldEagleX02> `@if release: ⏎ opt:speed ⏎ @end` |
17:14:46 | FromGitter | <BaldEagleX02> Plus: `@if release or quick: ⏎ obj_checks:off ⏎ field_checks:off ⏎ range_checks:off ⏎ bound_checks:off ... [https://gitter.im/nim-lang/Nim?at=5c8d2f06dfc69a1454a4b6fc] |
17:15:11 | FromDiscord | <moerm> Funny. I'm joyfully telling you that some very performance sensitive Code (a hashing algo) is FASTER IN NIM THAN IN C ... and all you have to comment is Nim compiler parameter details ... |
17:15:38 | * | rnrwashere quit (Remote host closed the connection) |
17:16:17 | FromGitter | <BaldEagleX02> Does anyone know how to wrap an entire C++ library in Nim quickly? |
17:16:18 | solitudesf | this is epic |
17:18:00 | clyybber | BaldEagleX02: You can try https://github.com/nimterop/nimterop, https://github.com/nim-lang/c2nim or https://github.com/fragcolor-xyz/nimline |
17:18:23 | * | rnrwashere joined #nim |
17:19:00 | clyybber | moerm: What hashing algorithm? |
17:19:25 | FromGitter | <BaldEagleX02> @Clyybber Thank you! |
17:19:34 | FromDiscord | <moerm> something similar to xxHash |
17:22:55 | FromDiscord | <moerm> One that also does >1GB/s in *small* input (8 Bytes). Because the impressive numbers in the well known comparisons are often treacherous |
17:24:06 | * | Jesin quit (Quit: Leaving) |
17:24:07 | FromDiscord | <moerm> (and doing that also on 10+ years old processors) |
17:24:24 | clyybber | moerm: Based on xxh3? |
17:24:50 | clyybber | moerm: No vector instructons? |
17:25:15 | FromDiscord | <moerm> * laughing* I did, of course, read about xxh3 but, no, it's not xxh3 which I consider still immature |
17:25:34 | FromDiscord | <moerm> Nope, no vector instructions. No avx |
17:25:42 | clyybber | No SSE either? |
17:26:20 | FromDiscord | <moerm> In my field I need *mature* algorithms that provide good performance on 32 bit and old processors, too |
17:26:40 | FromDiscord | <moerm> (Nope, no sse either, although that wouldn't be a problem) |
17:26:45 | clyybber | What means mature in this case? Battle-tested? |
17:27:24 | FromDiscord | <moerm> Yes, that. And smhasher surviving (not the old appleby one but the newer one) |
17:27:43 | clyybber | Huh, do you have a link to the newer smhasher fork? |
17:28:40 | FromDiscord | <moerm> https://github.com/rurban/smhasher that's what we consider the one to pass today |
17:30:03 | FromDiscord | <moerm> But I also needed low latency. That's something many "cool" current hashes don't offer. |
17:30:25 | clyybber | Thanks, this is the one demerphq's fork is based on, which seperates initializing and actual hashing, but it seems that rurban's fork is at least still maintained |
17:30:32 | * | Jesin joined #nim |
17:30:37 | FromDiscord | <moerm> Latency is the one factor that makes or brakes your day wehen [D]DOSed |
17:32:15 | FromDiscord | <moerm> As little as 6 months ago I was still used to Nim implementation being about 10% (and sometimes even 15%) slower than C implementations. |
17:33:01 | FromDiscord | <moerm> So having something like a modern very fast hashing algo implementation in Nim being actually faster than in C is very significant in my eyes |
17:33:51 | clyybber | moerm: Is it on github? |
17:34:44 | FromDiscord | <moerm> Nope. a) most of my work is payed closed source, b) the open source that I do is not on github. I dislike github and I don't trust it |
17:35:18 | FromDiscord | <moerm> (I use fossil whenever I can) |
17:35:45 | clyybber | I don't like github either... was on the verge of writing "git hosting service" |
17:36:21 | clyybber | though I guess even then fossil doesn't count :P |
17:37:35 | FromDiscord | <moerm> I won't detail it as it's considered uncool and even politically incorrect but (seen from my field, security) I think what I call the "american software culture/approach) has failed us big time. |
17:38:16 | FromDiscord | <moerm> E.g. I don't care about "fun". software dev. must not be "fun". It must be proper engineering and execution |
17:38:35 | * | rnrwashere quit (Remote host closed the connection) |
17:39:13 | FromDiscord | <moerm> Btw, one of the major reason I IMMENSLY value Araqs work is because Nim makes it quite comfortable to write *good (as in quality/reliability) code* |
17:39:25 | clyybber | I agree |
17:39:55 | FromDiscord | <moerm> IMO Araqs work is by far more significant than that of 1 thousand big mouthed "cool" "gurus" (usually american) |
17:40:33 | clyybber | I don't think though, that nationality plays a big role there, though I am also not informed enough to say that with confidence. |
17:40:52 | FromDiscord | <moerm> IMO Araq has designed and built an almost perfect sweet spot between Ada and C/C++/Rust and all the other derivatives and wannabees |
17:41:44 | FromDiscord | <moerm> Yes, nationality (socialization, education, "culture", etc) sems to play a major role based on what I've seen |
17:42:21 | * | zyklon quit (Ping timeout: 252 seconds) |
17:42:38 | FromDiscord | <moerm> There *are*, of course, a few excellent american software engineers but generally speaking ... oh well |
17:42:39 | FromGitter | <Varriount> moerm: in the (admittedly small) number of companies I've worked for in the US, being a programmer is largely just another job. |
17:43:01 | * | natrys joined #nim |
17:43:31 | FromGitter | <Varriount> It's only at big silicon valley places (like Microsoft and Google) where you get a ton of miscellaneous perks. |
17:43:32 | FromDiscord | <moerm> Varriount I have some concrete experience myself. Yes, developer is just another job (and usually brutally driven by product manament) |
17:45:34 | FromDiscord | <moerm> Varriount I'd put it like this: even in the silicon valley the ratio of *really* good devs to bla bla gurus is unpleasant |
17:45:51 | FromGitter | <Varriount> Huh. |
17:46:09 | FromDiscord | <moerm> ? |
17:46:14 | FromGitter | <Varriount> (I wonder if I'm a bla-bla guru) |
17:46:55 | FromDiscord | <moerm> Oh, the corridors at google, etc, are filled with bla bla "gurus" |
17:47:26 | FromDiscord | <moerm> You? I don't think so. The bla bla gurus tend to be interested in Nim (or any other *real* alternative) |
17:47:44 | FromDiscord | <moerm> sorry, "tend NOT to be ..." |
17:50:28 | FromDiscord | <moerm> (and: There is a reason that Microsoft sunk big money into INRIA cooperation ...) |
17:51:28 | FromDiscord | <moerm> And btw, the man who gave us sublime editor support can't be a bla bla guru. He must be a good guy 😉 |
17:55:40 | * | zyklon joined #nim |
17:58:09 | FromGitter | <BaldEagleX02> @moerm I agree, @Araq has done a really good work. Nim is an excellent programming language in terms of speed and readability! |
18:06:26 | FromDiscord | <moerm> More importantly, it is a *well reflected* work. |
18:13:18 | * | I_Right_I joined #nim |
18:13:40 | * | seerix joined #nim |
18:15:22 | * | vlad1777d joined #nim |
18:22:31 | FromDiscord | <moerm> See you soon |
18:23:19 | I_Right_I | Hi all, I am new to nim. I have been looking for a simple Synchronous UDP peer to peer example. Something like -> var socket = newSocket(AF_INET, SOCK_DGRAM, IPPROTO_UDP) |
18:23:20 | I_Right_I | socket.recv() |
18:23:42 | * | nsf joined #nim |
18:25:11 | I_Right_I | using UDP doing you just start using socket.recv() and all is good |
18:31:50 | * | jjido joined #nim |
18:34:44 | clyybber | moerm C ya |
18:38:14 | * | rnrwashere joined #nim |
19:12:08 | shashlick | I'm not a fan of generalizations |
19:33:34 | * | elrood quit (Remote host closed the connection) |
19:46:23 | * | rnrwashere quit (Remote host closed the connection) |
19:47:04 | * | rnrwashere joined #nim |
20:00:13 | * | nsf quit (Quit: WeeChat 2.4) |
20:20:01 | FromGitter | <arnetheduck> @shashlick, btw, in terms of creating wrapper libraries, have you thought about naming? ie it's often useful to split wrappers into two parts: one that takes care of the ABI only, and another that provides a pleasant Nim experience on top |
20:20:25 | dom96 | I_Right_I: I don't think one exists, but you can look up one in C and pretty easily translate that to Nim |
20:22:18 | solitudesf | I_Right_I, https://github.com/treeform/netpipe/blob/master/src/netpipe.nim#L128 something like this? |
20:25:40 | dom96 | That's a cool library, but I wonder: isn't this almost a complete reimplementation of TCP? treeform? :) |
20:28:05 | * | rnrwashere quit (Remote host closed the connection) |
20:29:53 | * | neceve quit (Read error: Connection reset by peer) |
20:44:54 | * | noeontheend quit (Ping timeout: 264 seconds) |
20:47:34 | I_Right_I | Actually I figured out how to use UDP in the standard library "net module". It's quite simply. As of now it might be better for me to bind enet. But I am going to research this further. |
20:51:14 | * | rockcavera quit (Remote host closed the connection) |
21:01:42 | dom96 | I believe enet is already bound |
21:01:50 | dom96 | But you should really use the stdlib if you can |
21:10:00 | I_Right_I | dom96: I agree. Even if it's just for the fact of keeping portability simple. |
21:11:38 | * | sealmove joined #nim |
21:15:16 | * | natrys quit (Quit: natrys) |
21:15:30 | federico3 | without congestion control? meeh |
21:22:36 | shashlick | @arnetheduck: I've always wanted to but considering I don't use these libs, never gotten that far |
21:22:58 | shashlick | But both scintilla and nng were super easy to use as is |
21:23:17 | shashlick | I only look at their docs |
21:25:58 | federico3 | t |
21:27:07 | shashlick | I'm hoping to add as much into nimterop to make most standard stuff seamless, reducing the need for lib specific stuff |
21:27:22 | * | regtools quit (Quit: leaving) |
21:28:15 | FromGitter | <arnetheduck> mm.. did you manage to get nimterop to output a nim file? |
21:28:48 | FromGitter | <arnetheduck> ie so you don't have to reparse the c file and reconstruct it ever time? |
21:30:40 | * | Vladar quit (Remote host closed the connection) |
21:32:13 | * | noeontheend joined #nim |
21:34:09 | shashlick | Ya it is cached using gorge |
21:34:21 | shashlick | Or you could just redirect to a file |
21:48:29 | FromGitter | <arnetheduck> @shashlick ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ :/ that's sqlite, as downloaded from their home page.. bug or wrong usage? [https://gitter.im/nim-lang/Nim?at=5c8d6f2d9d9cc8114ad0b4e2] |
21:50:34 | FromGitter | <arnetheduck> which is funny, because that part shouldn't even be parsed: |
21:50:47 | FromGitter | <arnetheduck> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c8d6fb72f6ded0abbf48c71] |
22:15:50 | shashlick | You need to specify the right cDefines |
22:15:58 | shashlick | Haven't looked in detail |
22:16:45 | FromGitter | <arnetheduck> well, I didn't specify any, specifically not *MSC*VER or *BORLAND* so it shouldn't go into that branch |
22:16:53 | * | noeontheend quit (Ping timeout: 250 seconds) |
22:16:54 | shashlick | Also can use cPlugin to override those names |
22:17:34 | shashlick | I'll check in an hour, but it might be pulling some standard lib stuff |
22:17:37 | shashlick | Did you pull the latest |
22:17:46 | FromGitter | <arnetheduck> fresh install |
22:20:55 | * | noeontheend joined #nim |
22:21:56 | shashlick | Ok I'll check in a bit |
22:22:10 | shashlick | See the tests for how to fix the _ issues |
22:22:11 | FromGitter | <arnetheduck> well, it does include `stdarg.h` which might contain more of those ints etc |
22:22:17 | shashlick | With cPlugin |
22:22:35 | shashlick | Ya I had fixed that on Linux in last push, which os are you on |
22:23:53 | FromGitter | <arnetheduck> linux :) |
22:24:17 | FromGitter | <arnetheduck> commit 295e838bc18aa52c5213ed2172f615511bf7a906 (HEAD -> master, origin/master, origin/HEAD) |
22:27:41 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
22:31:51 | * | rnrwashere joined #nim |
22:38:35 | FromGitter | <viell> hay guys..how can i plugin nim to my visual studio? |
22:45:17 | FromGitter | <viell> no one knows?!!!!!!!!!!!!!!! |
22:49:52 | I_Right_I | viell: When I installed Visual code on linux I believe it just a plugin to intergrade it. |
22:50:24 | FromGitter | <viell> no I'm working with Windows vers. |
22:52:48 | I_Right_I | viell: try https://marketplace.visualstudio.com/items?itemName=kosz78.nim |
22:55:03 | I_Right_I | viell: I don't know how up to date this pages links are -> https://github.com/nim-lang/Nim/wiki/Editor-Support |
22:58:36 | * | jjido joined #nim |
23:07:13 | shashlick | Visual studio code has one of the best integrations |
23:07:41 | shashlick | But your question sounded like the full fledged visual studio |
23:09:34 | FromGitter | <genotrance> @arnetheduck you might want to pass the preprocess flag to toast so that all the preprocessing is done before the Nim conversion |
23:10:02 | FromGitter | <genotrance> Otherwise all the code will get converted as is |
23:11:04 | FromGitter | <genotrance> That's why the __int64 is getting pulled in |
23:13:25 | * | jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…) |
23:14:54 | shashlick | -p or --preprocess |
23:15:02 | * | solitudesf quit (Ping timeout: 245 seconds) |
23:15:23 | * | ng0 quit (Ping timeout: 256 seconds) |
23:21:51 | FromGitter | <arnetheduck> -p worked! |
23:22:10 | shashlick | Peace |
23:22:39 | shashlick | sqlite3.h doesn't seem to have any procs in it |
23:22:48 | shashlick | At least looking on my phone |
23:40:45 | * | I_Right_I quit (Remote host closed the connection) |
23:56:15 | * | stefanos82 quit (Remote host closed the connection) |
23:57:23 | * | rnrwashere quit (Remote host closed the connection) |
23:58:01 | * | rnrwashere joined #nim |