00:28:46 | FromDiscord | <zanderfh> Could someone point me in the right direction here |
00:28:49 | FromDiscord | <zanderfh> I have been trying for hours |
00:28:57 | FromDiscord | <zanderfh> Basically, in python requests there is |
00:29:11 | FromDiscord | <zanderfh> params = {"data" : "moreData"} ↵requests.get(url, headers, params) |
00:29:24 | FromDiscord | <zanderfh> (edit) "params = {"data" : "moreData"} ↵requests.get(url, headers, params)" => "sent a code paste, see https://play.nim-lang.org/#ix=4AQI" |
00:29:26 | FromDiscord | <zanderfh> How do I accomplish the params part in Nim, I've tried all sorts of things and I just can't get it to work and I am not sure how to accomplish it |
00:29:34 | FromDiscord | <zanderfh> It is just not working for me |
00:29:37 | FromDiscord | <graveflo> `std/uri` |
00:29:49 | FromDiscord | <zanderfh> could you please elaborate |
00:30:40 | FromDiscord | <graveflo> https://nim-lang.org/docs/uri.html↵you can format your params using this standard library package |
00:31:09 | FromDiscord | <zanderfh> Which proc would i use |
00:31:17 | FromDiscord | <zanderfh> combine? |
00:31:22 | FromDiscord | <graveflo> `/` and `?` |
00:31:55 | FromDiscord | <zanderfh> Are you sure? |
00:32:24 | FromDiscord | <zanderfh> i guess there's only one way to find out |
00:32:27 | FromDiscord | <graveflo> yep. If the params are in the request body then you might want to do something slightly different but that is the idea |
00:32:38 | FromDiscord | <graveflo> for uri params |
00:32:45 | FromDiscord | <zanderfh> I tried putting them in body and it didnt work |
00:33:05 | FromDiscord | <graveflo> `encodeQuery` will work for the body |
00:33:38 | FromDiscord | <graveflo> but use the URI based params if you can |
00:33:54 | FromDiscord | <zanderfh> im looking on the docs and in what context would i use / |
00:33:56 | FromDiscord | <zanderfh> i understnad ? |
00:34:23 | FromDiscord | <graveflo> assuming that `url` in you python example is just the loc |
00:35:01 | FromDiscord | <graveflo> it would be `uri ? params` and that is the url for your request |
00:35:53 | FromDiscord | <zanderfh> YOOOO IT WORKED |
00:35:54 | FromDiscord | <zanderfh> no way |
00:35:56 | FromDiscord | <zanderfh> thanks so much |
00:35:59 | FromDiscord | <graveflo> yw |
00:36:08 | FromDiscord | <zanderfh> its literally 01:35 in the morning and ive been at it for ages now |
00:36:11 | FromDiscord | <zanderfh> thanks so much bro |
04:37:52 | * | cyraxjoe quit (Ping timeout: 245 seconds) |
04:40:36 | * | cyraxjoe joined #nim |
05:11:56 | * | Guest12 joined #nim |
05:14:10 | * | Guest12 quit (Client Quit) |
05:18:59 | NimEventer | New thread by zanderfh: HTTPclient, see https://forum.nim-lang.org/t/10345 |
06:36:32 | * | azimut joined #nim |
06:51:11 | * | PMunch joined #nim |
07:14:58 | * | PMunch_ joined #nim |
07:17:56 | * | PMunch quit (Ping timeout: 245 seconds) |
07:45:57 | FromDiscord | <bung8954> sent a code paste, see https://play.nim-lang.org/#ix=4ARC |
07:48:38 | FromDiscord | <demotomohiro> I think it do assign |
07:49:10 | FromDiscord | <demotomohiro> it does assign |
07:49:37 | FromDiscord | <enthus1ast> why do we have to test for a derived value with↵obj of Myderived value, btw? Why cant be this automatic? |
07:50:08 | FromDiscord | <Elegantbeef> It's automatic using methods |
07:50:11 | FromDiscord | <enthus1ast> no |
07:50:23 | FromDiscord | <enthus1ast> if i store a base in a seq |
07:50:49 | FromDiscord | <enthus1ast> then it will not catch up the correct method but the base method |
07:50:52 | FromDiscord | <bung8954> In reply to @demotomohiro "I think it do": I get nil when I use later |
07:52:00 | FromDiscord | <bung8954> I called as `newControllerCompletedHandler(b.ctx.windowHandle, b.ctx.controller, b.ctx.view, b.ctx.settings)` |
07:53:40 | FromDiscord | <Elegantbeef> Move the dispatch parameter to the first parameter or use the deprecated `--multiMethods:on` |
07:53:40 | FromDiscord | <enthus1ast> -.- |
07:53:41 | FromDiscord | <Elegantbeef> The issue with your dispatch is that you have N \ N number of possible dispatches |
07:53:41 | FromDiscord | <Elegantbeef> If you add another parameter you have N^3 and so forth |
07:53:41 | FromDiscord | <Elegantbeef> Where N is the number of inheriting objects from the base |
07:55:14 | FromDiscord | <Elegantbeef> Multimethods existed, but Nim methods are now dispatched on the first parameter alone which makes it easier to follow dispatch |
07:56:00 | FromDiscord | <enthus1ast> oh man |
07:56:10 | FromDiscord | <enthus1ast> it works. thank you Elegantbeef |
07:56:23 | FromDiscord | <Elegantbeef> Please don't say you enabled multimethods 😄 |
07:56:28 | FromDiscord | <enthus1ast> no |
07:57:03 | FromDiscord | <enthus1ast> i'm not using methods and inheritance in nim that often to be honest |
07:58:11 | FromDiscord | <Elegantbeef> PS if you want `informer.doWork(bleh)` to work you can always make a `proc doWork[T: BaseType](informer: var Informer, val: var T) = doWork(val, informer)` |
07:58:35 | FromDiscord | <Elegantbeef> I guess that could just be `val: var BaseType` |
07:59:51 | FromDiscord | <enthus1ast> I'm currently exploring which api i would like to use, i'm not really settled yet |
08:14:03 | FromDiscord | <enthus1ast> Have a look, while writing a document for my notes, i broke the c gen |
08:14:04 | FromDiscord | <enthus1ast> https://play.nim-lang.org/#ix=4ARL |
08:15:42 | FromDiscord | <Elegantbeef> Hmph `var T` causes it there |
08:16:25 | FromDiscord | <enthus1ast> but the "same" code over multiple files work |
08:16:39 | FromDiscord | <enthus1ast> this is basically what i do |
08:17:19 | FromDiscord | <graveflo> is it correct to stack `ref object of`s there? |
08:17:37 | FromDiscord | <Elegantbeef> Yes |
08:17:52 | FromDiscord | <Elegantbeef> `object of T` would drop the ref |
08:18:02 | FromDiscord | <graveflo> oh good to know |
08:18:05 | FromDiscord | <enthus1ast> doing var is kind of useless here |
08:18:16 | FromDiscord | <Elegantbeef> Yea was going to say that |
08:18:23 | FromDiscord | <Elegantbeef> But this is a bug so I guess a new github issue 😄 |
08:18:27 | FromDiscord | <Elegantbeef> If it doesnt exist |
08:18:50 | FromDiscord | <enthus1ast> yeah |
08:34:22 | FromDiscord | <demotomohiro> sent a code paste, see https://play.nim-lang.org/#ix=4ARO |
08:44:07 | FromDiscord | <bung8954> thanks! dont know where's the problem. |
09:08:37 | FromDiscord | <bung8954> my problem is my ptr initial value is nil |
09:18:56 | FromDiscord | <bung8954> oh, I can use `GetWindowLongPtr` get my user data inside that callback |
09:29:28 | * | jmdaemon quit (Ping timeout: 258 seconds) |
11:46:01 | * | PMunch_ is now known as PMunch |
12:24:45 | FromDiscord | <4zv4l> is there a lib to do nice user interaction in the terminal like nimble does ? |
12:28:12 | FromDiscord | <ambient3332> https://github.com/c-blake/cligen ? |
12:35:11 | FromDiscord | <jmgomez> Is there a define to test against for `nim check`? |
12:41:36 | FromDiscord | <jmgomez> There is no defined, closest thing is: `when querySetting(command) == "check":` |
12:41:44 | FromDiscord | <jmgomez> (edit) "defined," => "define," |
12:48:20 | NimEventer | New Nimble package! bard - Nim interface of Google Bard free API, see https://github.com/thisago/bard |
12:51:05 | PMunch | 4zv4l, by the way what Nimble does isn't all that nice :P |
12:51:43 | FromDiscord | <4zv4l> I mean, it could be better for sure but it's already good xD↵I like the `tab menu` thing |
12:57:24 | PMunch | It's so uncommon to use tab in the terminal though :P Always takes me by surprised that I can't navigate with the direction keys |
13:05:00 | FromDiscord | <punchcake> nim sucks |
13:32:33 | PMunch | What makes you say that? |
13:39:09 | FromDiscord | <DMXZ> In reply to @punchcake "nim sucks": Who? |
13:39:34 | FromDiscord | <punchcake> In reply to @PMunch "What makes you say": there is no gui library thats good in the whole language |
13:39:36 | FromDiscord | <punchcake> wtf bro |
13:40:38 | PMunch | As I brought up earlier, this is simply a side effect of there not being any good GUI libraries. Not really Nim specific |
13:40:54 | PMunch | Although you can use pretty much all of the available ones |
13:41:25 | FromDiscord | <punchcake> In reply to @PMunch "Although you can use": nimqt doesnt work on windows |
13:41:25 | FromDiscord | <punchcake> fuck |
13:41:26 | FromDiscord | <punchcake> this |
13:41:30 | FromDiscord | <punchcake> nim language |
13:42:19 | FromDiscord | <punchcake> https://github.com/jerous86/nimqt/issues/28 |
13:42:27 | FromDiscord | <punchcake> i make bug report and nobody responds |
13:42:39 | FromDiscord | <DMXZ> it is suppose to be used to write core parts of an app and for you to use another language to make the gui |
13:43:00 | FromDiscord | <punchcake> nim is advertised that it can replace my entire stack |
13:43:14 | FromDiscord | <DMXZ> NimGUI for gui? |
13:43:26 | PMunch | It can, at least if your stack isn't made out of insane choices |
13:43:50 | FromDiscord | <DMXZ> In reply to @PMunch "It can, at least": shut up |
13:43:51 | FromDiscord | <punchcake> In reply to @PMunch "It can, at least": qt is insane? |
13:43:52 | FromDiscord | <punchcake> bruh |
13:44:06 | PMunch | And you've put in a bug report to someones hobby project during summer vacation times, are you surprised you don't get an immediate reply? |
13:44:15 | FromDiscord | <DMXZ> In reply to @punchcake "bruh": its just a bot bruh |
13:44:20 | FromDiscord | <punchcake> In reply to @PMunch "And you've put in": yes |
13:44:26 | FromDiscord | <odexine> In reply to @punchcake "yes": Why is that |
13:44:32 | FromDiscord | <punchcake> In reply to @DMXZ "its just a bot": you stupid mf |
13:44:35 | PMunch | Oh no, QT isn't insane, that was just a general comment |
13:44:37 | FromDiscord | <punchcake> its pmunch on irc |
13:44:40 | PMunch | DMXZ, I'm not a bot.. |
13:44:58 | FromDiscord | <punchcake> In reply to @odexine "Why is that": you gotta take care of your projects |
13:45:01 | PMunch | I am a moderator though, so lets keep things civil.. |
13:45:06 | FromDiscord | <odexine> In reply to @punchcake "you gotta take care": It’s not an obligation |
13:45:10 | FromDiscord | <punchcake> it is |
13:45:11 | FromDiscord | <DMXZ> In reply to @PMunch "<@1130166329039650896>, I'm not a": you sure as hell talk like one |
13:45:18 | FromDiscord | <punchcake> you just not maintain a project? |
13:45:19 | FromDiscord | <odexine> Do you not see all of the “no warranty provided” lines in each license, |
13:45:20 | FromDiscord | <punchcake> like that |
13:45:22 | FromDiscord | <odexine> (edit) "license," => "license?" |
13:45:36 | PMunch | DMXZ, I talk like a bot? |
13:45:36 | FromDiscord | <punchcake> In reply to @odexine "Do you not see": i mean its standard to maintain your project |
13:45:37 | FromDiscord | <odexine> In reply to @punchcake "you just not maintain": It’s within your right to |
13:45:46 | FromDiscord | <odexine> In reply to @punchcake "i mean its standard": It’s standard yes, not obligatory |
13:46:21 | PMunch | I wouldn't call a > two day response time not maintaining their project |
13:48:53 | FromDiscord | <DMXZ> In reply to @punchcake "you stupid mf": im sorry about how your parents dropped you when you were born |
13:49:07 | FromDiscord | <punchcake> In reply to @DMXZ "im sorry about how": im about to drop your mom |
13:49:17 | FromDiscord | <leetnewb> this does not seem very civil |
13:49:20 | FromDiscord | <odexine> Jesus Christ why are you two now arguing |
13:49:24 | FromDiscord | <punchcake> In reply to @leetnewb "this does not seem": because it isnt |
13:49:53 | FromDiscord | <DMXZ> In reply to @punchcake "im about to drop": i about to f### your mom more than brain f### |
13:50:09 | FromDiscord | <punchcake> bros censoring fuck 💀 |
13:50:39 | FromDiscord | <DMXZ> In reply to @punchcake "bros censoring fuck 💀": it not me you bozo |
13:52:34 | FromDiscord | <pmunch> Well that's enough of that |
13:53:41 | FromDiscord | <punchcake> agred |
13:53:43 | FromDiscord | <punchcake> (edit) "agred" => "agreed" |
13:53:51 | FromDiscord | <michaelb.eth> What’s with all the brogrammers of late? High schoolers on summer vacation? |
13:54:18 | FromDiscord | <pmunch> Wasn't there someone who did some bro-analysis a while back? |
13:54:55 | FromDiscord | <pmunch> Crap, it deleted all their messages.. Sorry future people without context, go check the IRC logs if you want to see what was going on |
13:55:20 | FromDiscord | <punchcake> https://media.discordapp.net/attachments/371759389889003532/1130860357884321983/WhatsApp_Image_2023-07-17_at_13.32.45.jpg |
13:55:32 | FromDiscord | <punchcake> i feel ashamed studying computer engineering |
13:55:55 | FromDiscord | <leetnewb> In reply to @pmunch "Crap, it deleted all": For anybody reading, almost certainly not worth your time to dig out the context :p |
13:57:54 | FromDiscord | <pmunch> In reply to @punchcake "i feel ashamed studying": In general memes aren't accepted in the main channel. Besides this is just unnecessarily hurtful, doesn't add anything useful, and generally just encourages off-topic messages |
13:58:06 | FromDiscord | <punchcake> okay |
13:58:26 | FromDiscord | <punchcake> @pmunch bro come save us |
13:58:31 | FromDiscord | <punchcake> make bindings to qt |
13:58:42 | FromDiscord | <punchcake> i'll pay you 10 usd |
13:59:00 | FromDiscord | <takko_the_boss> I just came in and am hit in the face with bro-ness.↵↵Carry on. |
13:59:49 | PMunch | takko_the_boss, if it's any consolidation it isn't usually this bro-y in here |
14:00:01 | FromDiscord | <michaelb.eth> In reply to @punchcake "make bindings to qt": Have you tried DOtherSide?↵https://github.com/filcuc/DOtherSide |
14:00:24 | FromDiscord | <punchcake> In reply to @michaelb.eth "Have you tried DOtherSide?": yes |
14:00:27 | FromDiscord | <punchcake> it dont work on windows |
14:00:33 | FromDiscord | <punchcake> fucking windows man |
14:00:42 | FromDiscord | <ambient3332> Anyone done a lot of HTML parsin? Is there a way in the std htmlparser to find all divs with a partial class name? |
14:00:44 | FromDiscord | <takko_the_boss> I check in every now and again. I concur with your statement.↵(<@709044657232936960_=50=4dunch=5b=49=52=43=5d>) |
14:00:47 | FromDiscord | <michaelb.eth> In reply to @punchcake "it dont work on": It certainly can |
14:00:49 | FromDiscord | <ambient3332> Or do I have to regex a line location? |
14:00:55 | FromDiscord | <punchcake> In reply to @michaelb.eth "It certainly can": how |
14:01:00 | FromDiscord | <pmunch> In reply to @punchcake "i'll pay you 10": Eh, I'd rather spend my time on Futhark. That way you could easily create your own bindings. Besides, my time is worth way more than 10USD 😛 That's barely enough to buy a beer here |
14:01:16 | FromDiscord | <punchcake> In reply to @pmunch "Eh, I'd rather spend": bro i'll make it 15 |
14:01:37 | FromDiscord | <punchcake> you can buy dinner with it |
14:02:19 | FromDiscord | <pmunch> I could probably get the ingredients to make an ok meal for $15, if I added some rice or something from the cupboard.. |
14:02:30 | FromDiscord | <michaelb.eth> In reply to @punchcake "how": if they’re still using it, check out how Status Desktop is configured to build for Windows; if they’ve moved off it, look at an older tagged release: https://github.com/status-im/status-desktop |
14:03:43 | FromDiscord | <punchcake> In reply to @michaelb.eth "if they’re still using": where does it say |
14:03:53 | FromDiscord | <Clonkk> Status desktop is based on QML \: https://github.com/status-im/nimqml |
14:04:09 | FromDiscord | <Clonkk> That at least should work since it's alreayd being used |
14:05:21 | FromDiscord | <punchcake> bro |
14:05:26 | FromDiscord | <treeform> And many desktop apps are now just electron/webview. So any Nim web framework will do. |
14:05:26 | FromDiscord | <punchcake> im asking on how to compile dotherside |
14:05:30 | FromDiscord | <punchcake> not nimqml |
14:05:38 | FromDiscord | <punchcake> In reply to @treeform "And many desktop apps": treeform fix fidget |
14:05:38 | FromDiscord | <punchcake> ffs |
14:05:45 | FromDiscord | <Clonkk> Yup↵(@treeform) |
14:05:53 | FromDiscord | <ambient3332> In reply to @treeform "And many desktop apps": ...the worst desktop apps |
14:06:03 | FromDiscord | <punchcake> DAMN BRO |
14:06:11 | FromDiscord | <punchcake> is it so hard to get a working gui in nim |
14:06:26 | FromDiscord | <treeform> its so hard to get working gui anywhere |
14:06:31 | FromDiscord | <Clonkk> sure it's not optimizied but it works for simple stuff↵(@ambient3332) |
14:06:35 | FromDiscord | <punchcake> In reply to @treeform "its so hard to": qt and C++ is easy |
14:06:36 | FromDiscord | <ambient3332> Visual C# makes it very easy |
14:07:07 | FromDiscord | <treeform> Having shipped a visual C# app to thousndsa of people. Nope. Should have used electron. |
14:07:18 | FromDiscord | <punchcake> electron sucks |
14:07:19 | FromDiscord | <punchcake> ass |
14:07:36 | FromDiscord | <punchcake> its slow af |
14:07:50 | FromDiscord | <ambient3332> I'd rather use Godot than Electron just out of principle |
14:08:05 | FromDiscord | <punchcake> In reply to @ambient3332 "I'd rather use Godot": qt |
14:08:14 | FromDiscord | <punchcake> qt doesnt cost much if your 1 dev |
14:08:39 | FromDiscord | <Clonkk> Even Java can't manage to have a universal GUI stacks that works everywhere. In the long run, complex GUI needs to be specialized |
14:08:48 | FromDiscord | <punchcake> In reply to @Clonkk "Even Java can't manage": javafx |
14:08:50 | FromDiscord | <punchcake> swing |
14:09:21 | FromDiscord | <treeform> I have shipped VB6 WinForms, C# WFP, and even wxwidgets at some point. Electron is the best of them so far. |
14:09:32 | FromDiscord | <ambient3332> In reply to @treeform "I have shipped VB6": why? |
14:09:44 | FromDiscord | <Clonkk> Have you actually tried to use them or are you just listing google search ? Having worked on complex swing application, it's not all flowers and rainbow and not that "platform" agnostic↵(@punchcake) |
14:09:51 | FromDiscord | <treeform> It just works. Its fast. You can style it. There are many tutorials online. |
14:09:56 | FromDiscord | <punchcake> In reply to @Clonkk "Have you actually tried": yup i did |
14:09:59 | FromDiscord | <punchcake> javafx |
14:10:03 | FromDiscord | <ambient3332> In reply to @treeform "It just works. Its": It's slow |
14:10:07 | FromDiscord | <treeform> WFP is really really slow at rendering text. |
14:10:14 | FromDiscord | <punchcake> wrote some 40k line app couple years ago and it was seemless |
14:10:19 | FromDiscord | <ambient3332> Win32 is very fast at rendering text |
14:10:25 | FromDiscord | <punchcake> mem usage was as high as electron tho |
14:10:37 | FromDiscord | <treeform> Yes but C# means WFP which is 1000 times slower then Electron. |
14:10:45 | FromDiscord | <ambient3332> WinForms |
14:10:57 | FromDiscord | <treeform> WinForms are not protible and hard to style. |
14:11:10 | FromDiscord | <treeform> Make everything look like 2002 |
14:11:25 | FromDiscord | <ambient3332> Well once styling becomes a critical selling point, you can just make the entire app in Unity |
14:11:34 | FromDiscord | <punchcake> In reply to @ambient3332 "Well once styling becomes": qt |
14:11:43 | FromDiscord | <punchcake> qt is the best gui framework ever made |
14:11:59 | FromDiscord | <treeform> I have not tried Unity for app dev. But I have doubts ... having never seen one. |
14:12:09 | FromDiscord | <treeform> (edit) "I have not tried Unity for ... app" added "heavy 2d GUI" |
14:12:24 | * | xet7 quit (Remote host closed the connection) |
14:12:35 | FromDiscord | <ambient3332> Which apps are both 1. Heavy 2D GUI app, and 2. Styling is a mandatory requirement |
14:13:22 | FromDiscord | <treeform> I don't know Reddit, Discord, Slack, Twitter, Google (Gmail, Calendar, etc...), ? |
14:13:31 | FromDiscord | <ambient3332> None of those are heavy 2d GUI apps |
14:13:38 | FromDiscord | <ambient3332> gmail calendar are web native apps |
14:14:22 | FromDiscord | <Clonkk> So use QML↵(@punchcake) |
14:14:32 | FromDiscord | <punchcake> In reply to @Clonkk "So use QML (<@655759729477287956>)": IVE FUCKING BEEN TRYING TOO |
14:14:33 | FromDiscord | <punchcake> (edit) "TOO" => "TO" |
14:14:36 | FromDiscord | <punchcake> JESUS CHRIST |
14:15:20 | FromDiscord | <treeform> Of the apps I have currently open 50% of them are electron apps. |
14:15:37 | FromDiscord | <treeform> And the other 50% are not portable. |
14:15:38 | FromDiscord | <punchcake> In reply to @treeform "Of the apps I": bros ram is 200 gb |
14:16:23 | FromDiscord | <treeform> Apps I have open, Finder, Chrome, Piximator ( native apps) and discord, vscode, figma (web apps). |
14:16:31 | FromDiscord | <treeform> Chrome is kind of inbetween |
14:16:36 | FromDiscord | <Clonkk> Like i've already linked you, there is a nim qml bindings maintained by status that is actually used in production so if you can't manage to make it work, you're just doing it wrong.↵https://github.com/status-im/status-desktop↵https://github.com/status-im/nimqmlThis should cover all your need↵(@punchcake) |
14:16:36 | FromDiscord | <treeform> Finder is OS app |
14:16:43 | FromDiscord | <ambient3332> How is Chrome in between? |
14:16:53 | FromDiscord | <punchcake> In reply to @Clonkk "Like i've already linked": nimqml isnt the problem |
14:16:54 | FromDiscord | <treeform> The only native app is Piximator wich is probably written in ObjC |
14:16:55 | FromDiscord | <punchcake> dotherside is |
14:17:04 | FromDiscord | <punchcake> which IDK WHERE TO FUCKING PUT IT IN PATH IN WINDOWS |
14:17:07 | FromDiscord | <punchcake> WTF DO THEY MEAN |
14:17:17 | FromDiscord | <nervecenter> There are no good GUI solutions anywhere, only the least-worst for your application. Maintainers of small projects are not on-call customer service. You will have to roll your own solutions sometimes. |
14:17:29 | FromDiscord | <nervecenter> (edit) "There are no good GUI solutions anywhere, only the least-worst for your application. Maintainers of small projects are not on-call customer service. You will have to roll your own solutions ... sometimes." added "and fixes" |
14:17:29 | FromDiscord | <ambient3332> All webview apps are memory hogs and run with 10x more latency than native apps in my experience |
14:17:34 | FromDiscord | <Dale 데울> Chrome is basically electron but you can’t dynlib it |
14:17:44 | FromDiscord | <punchcake> In reply to @ambient3332 "All webview apps are": js devs are lazy |
14:17:49 | FromDiscord | <punchcake> thats why |
14:17:55 | FromDiscord | <punchcake> webviews arent the problem |
14:18:02 | FromDiscord | <treeform> In reply to @ambient3332 "How is Chrome in": I do think that is false, many native apps are so crappy. |
14:18:21 | FromDiscord | <bung8954> `~(WS_THICKFRAME | WS_MAXIMIZEBOX)` what's the `~` in nim ? |
14:18:32 | FromDiscord | <djazz> `not` |
14:18:39 | FromDiscord | <ambient3332> Many native apps are so crappy for the same reason Electron is so crappy. A layer cake of abstractions |
14:18:52 | FromDiscord | <treeform> I agree |
14:19:13 | FromDiscord | <treeform> But it feels like native layers in many of the propular native GUI libs is just as slow and crappy as chrome. |
14:19:27 | FromDiscord | <treeform> Main example: WPF |
14:19:40 | FromDiscord | <ambient3332> Qt is a lot more snappy than any Electron app |
14:19:48 | FromDiscord | <ambient3332> WPF is trash and should not be used |
14:19:50 | FromDiscord | <punchcake> In reply to @ambient3332 "Qt is a lot": telegram app proves that |
14:20:04 | FromDiscord | <punchcake> compare it to discord |
14:20:18 | * | PMunch quit (Quit: Leaving) |
14:20:30 | FromDiscord | <Clonkk> So Nim is bad because you don't know how to use an OS. Got it, thanks for your constructive criticism, spoken in a calm and elegant manner.↵(@punchcake) |
14:20:32 | * | xet7 joined #nim |
14:20:47 | FromDiscord | <nervecenter> If you make an Electron app without a huge shadow-dom library like React, you can make it reasonably fast. Bonus points by using Node's `exec` to call a Nim library to do all the hard work. |
14:21:00 | FromDiscord | <punchcake> In reply to @Clonkk "So Nim is bad": ok buddy talk to me in calm after 4 days of trying to set up dotherside |
14:21:04 | FromDiscord | <nervecenter> (edit) "library" => "executable" |
14:21:08 | FromDiscord | <punchcake> im gonna show them the other side of my dick i swear |
14:21:39 | FromDiscord | <ambient3332> In reply to @nervecenter "If you make an": How much memory would a simple calculator app made in that way use? |
14:21:50 | FromDiscord | <ambient3332> Compared to Nim/GTK |
14:21:52 | FromDiscord | <nervecenter> Not a very useful test case for Electron |
14:22:27 | FromDiscord | <nervecenter> If you're making a large multi-function application that needs to display lots of data, documents, and potentially plots, it becomes a reasonable choice |
14:22:31 | FromDiscord | <nervecenter> It's nonsense for a calculator |
14:22:40 | FromDiscord | <Clonkk> IMO comparing simple app will always advantage native framework because it has a low entry cost while web app has a high entry cost.↵(@ambient3332) |
14:23:15 | FromDiscord | <ambient3332> Discord is just IRC with a bit more user friendly interface, yet takes 1000000x more memory and is about as much slower |
14:23:20 | FromDiscord | <Clonkk> It's like benchmarks that compare the size of a hello world binary between language |
14:23:43 | FromDiscord | <nervecenter> In reply to @ambient3332 "Discord is just IRC": So go ahead and make your own if it's that easy |
14:24:03 | FromDiscord | <ambient3332> In reply to @nervecenter "So go ahead and": I would, if it was profitable |
14:24:08 | FromDiscord | <nervecenter> d'oh! |
14:24:29 | FromDiscord | <punchcake> this is the error thats making me go crazy https://media.discordapp.net/attachments/371759389889003532/1130867694242123896/image.png |
14:24:41 | FromDiscord | <punchcake> even though i can use qml in C++ just fine |
14:26:44 | FromDiscord | <punchcake> history has been made https://media.discordapp.net/attachments/371759389889003532/1130868257046417428/image.png |
14:28:19 | FromDiscord | <michaelb.eth> You’ll probably end up hating the combination of Nim and Qt/QML, just fyi |
14:28:32 | FromDiscord | <punchcake> In reply to @michaelb.eth "You’ll probably end up": i've looked at the dev api's |
14:28:32 | FromDiscord | <punchcake> they |
14:28:37 | FromDiscord | <punchcake> (edit) "they" => "they're very good" |
14:28:45 | FromDiscord | <punchcake> better than C++ qml actually |
14:28:58 | FromDiscord | <ambient3332> For my purposes ImGUI should be enough |
14:30:07 | FromDiscord | <punchcake> the entire issue was visual studio was supposed to put dotherside in my path after building but it turns out it needs admin perms |
14:30:11 | FromDiscord | <punchcake> so thats that |
14:30:51 | FromDiscord | <michaelb.eth> In reply to @punchcake "i've looked at the": It’s not that, more so that as soon as you need to do multithreaded stuff you’ll start to realize that Qt, being architected around common assumptions about memory management in C++, doesn’t mesh well with Nim |
14:31:50 | FromDiscord | <punchcake> In reply to @michaelb.eth "It’s not that, more": why what would happen |
14:31:58 | FromDiscord | <michaelb.eth> maybe you’ll have a slightly better time with Nim 2.0’s orc mm than with its legacy refc mm |
14:33:48 | FromDiscord | <michaelb.eth> In reply to @punchcake "why what would happen": Because in Nim it can be tricky to read/write across threads when `ref object` is involved, and your going to have a lot of that |
14:34:32 | FromDiscord | <michaelb.eth> but again maybe with Nim orc you’ll have a better time than my experiences with refc, which is still the default in Nim 1.6 |
14:34:59 | FromDiscord | <michaelb.eth> (edit) "your" => "you’re" |
14:35:09 | FromDiscord | <punchcake> In reply to @michaelb.eth "Because in Nim it": define read and write across thread |
14:35:11 | FromDiscord | <punchcake> its simple |
14:35:25 | FromDiscord | <punchcake> if its a shared resource that needs to be acessed between threads use a mutex |
14:35:32 | FromDiscord | <punchcake> if its only read then no mutex needed |
14:35:38 | FromDiscord | <michaelb.eth> No that won’t help you with refc mm |
14:35:44 | FromDiscord | <punchcake> what????????????????? |
14:35:57 | FromDiscord | <punchcake> refc just doesnt obey multithreaded rule? |
14:35:59 | FromDiscord | <punchcake> wtf |
14:36:49 | FromDiscord | <michaelb.eth> Because even a read across thread screws up the garbage collector’s reference count and some time later (non deterministic) you’ll get a crash with SIGSEGV |
14:36:55 | FromDiscord | <michaelb.eth> welcome to Nim |
14:38:02 | FromDiscord | <michaelb.eth> anyway just trying to warn you about difficulties ahead, maybe spare you some pain, or at least you’ll know why you’re having pain |
14:38:36 | FromDiscord | <punchcake> In reply to @michaelb.eth "Because even a read": can i go the no gc way? |
14:38:41 | FromDiscord | <michaelb.eth> Nope |
14:38:45 | FromDiscord | <punchcake> shit |
14:38:53 | FromDiscord | <punchcake> even with boehm this happens? |
14:39:22 | FromDiscord | <michaelb.eth> good question, haven’t tried with boehm |
14:40:33 | FromDiscord | <michaelb.eth> would be a good exercise to do some small example of lots of reading/writing back and forth across threads with Nim boehm and see what happens |
14:40:56 | FromDiscord | <michaelb.eth> But don’t put Qt in the mix, keep it simple |
14:41:24 | FromDiscord | <punchcake> i mean is this a nim bug or its just how nim is designed? |
14:41:44 | FromDiscord | <michaelb.eth> It’s just life with refc, it’s how it is |
14:43:35 | FromDiscord | <michaelb.eth> Orc is different, but you still have to be careful of referencing across threads because of how the reference counts work, look back in internals channel for discussions in recent months re: atomicref, which is on an experimental Nim branch, or maybe it’s in devel now |
14:44:21 | FromDiscord | <Clonkk> You can use --mm\:orc + Channel to safely uses ref across thread↵(@michaelb.eth) |
14:44:38 | FromDiscord | <punchcake> In reply to @michaelb.eth "Orc is different, but": can i avoid all of these problems by simply copying what i need to the thread? |
14:44:42 | FromDiscord | <Clonkk> The issue mentionned above with refc, is that using refc each thread has its own heap |
14:45:18 | FromDiscord | <Clonkk> Whereas --mm\:orc has a shared heap |
14:45:52 | FromDiscord | <michaelb.eth> In reply to @Clonkk "You can use --mm\:orc": Yes, but it’s important to architect around message passing style, which is not necessarily how people tend to write programs, but it is possible for sure |
14:46:08 | FromDiscord | <punchcake> In reply to @michaelb.eth "Yes, but it’s important": +1 for not using messages |
14:46:19 | FromDiscord | <punchcake> they increase compleixty by a lot |
14:46:35 | FromDiscord | <michaelb.eth> Right but that’s what you’ll need to do |
14:46:49 | FromDiscord | <Clonkk> You can use https://github.com/nim-lang/threading with --mm\:orc and you should have all the tools you need for multithreading↵(@punchcake) |
14:47:29 | FromDiscord | <Clonkk> You can use channel (which really aren't that bad), smartptrs, atomics |
14:47:47 | FromDiscord | <Clonkk> Which covers most use case |
14:47:49 | FromDiscord | <michaelb.eth> Hope it works 😄 |
14:48:08 | FromDiscord | <punchcake> fair enough |
14:48:15 | FromDiscord | <punchcake> orc is what i plan to use anyways |
14:48:18 | FromDiscord | <Clonkk> I use threading with --mm\:orc and don't have any issues so far |
14:48:27 | FromDiscord | <punchcake> so far is they key |
14:48:33 | FromDiscord | <punchcake> (edit) "they" => "the" |
14:48:42 | FromDiscord | <michaelb.eth> Just don’t use orc with 1.6 |
14:48:43 | FromDiscord | <Clonkk> The biggest paint points for me so far is managing the threads object |
14:49:08 | FromDiscord | <punchcake> In reply to @michaelb.eth "Just don’t use orc": wdym |
14:49:14 | FromDiscord | <michaelb.eth> It’s bugged |
14:49:19 | FromDiscord | <punchcake> then what do i use |
14:49:21 | FromDiscord | <michaelb.eth> Stick with 2.0 |
14:49:30 | FromDiscord | <punchcake> 2.0 is released? |
14:49:33 | FromDiscord | <Clonkk> That is my setup and it works. Sure 2.0 will improve things↵(@michaelb.eth) |
14:49:39 | FromDiscord | <michaelb.eth> devel branch |
14:49:47 | FromDiscord | <Clonkk> But telling people that orc is unusable with 1.6 is wrong |
14:49:48 | FromDiscord | <punchcake> so it isnt stable |
14:50:20 | FromDiscord | <Clonkk> All compiler have bugs, I haven't met any "blocking" issues with orc + 1.6 |
14:50:32 | FromDiscord | <michaelb.eth> In reply to @Clonkk "But telling people that": Ask the Status folks, in their experience it’s got some showstopper problems in 1.6 |
14:51:04 | FromDiscord | <punchcake> downloaded and installed the status client |
14:51:09 | FromDiscord | <punchcake> pretty neat and well done |
14:51:27 | FromDiscord | <Clonkk> The Status folks works on some very big & complex application that aren't necessarily comparable most usgae |
14:52:08 | FromDiscord | <punchcake> https://status.app/u/zQ3shkPWcjij1K9azw4TiNwm1Dmro4K67ArHcY1yRwHwfqCsv |
14:52:11 | FromDiscord | <punchcake> somone send me a message |
14:52:32 | FromDiscord | <michaelb.eth> True but at the same time they are also simply running their Nim programs longer and at larger scale |
14:54:07 | FromDiscord | <punchcake> i think nimqml's fork made by the status guys is the best to use |
14:54:23 | FromDiscord | <punchcake> if they're using it for they're software they are relying on it to not break |
14:54:28 | FromDiscord | <michaelb.eth> Probably |
14:54:30 | FromDiscord | <punchcake> its even production software too |
14:55:51 | FromDiscord | <punchcake> there is only 1 issue thought, text looks blurry for some reason |
15:00:40 | FromDiscord | <punchcake> but why did the signal team choose nim for their client? |
15:00:44 | FromDiscord | <punchcake> its a huge bet |
15:03:54 | FromDiscord | <michaelb.eth> It was, I was there at the time, and other options were considered, but Nim was chosen because it was being used successfully by the teams working on protocols. |
15:04:22 | FromDiscord | <michaelb.eth> (edit) "was," => "was a huge bet," |
15:05:01 | FromDiscord | <michaelb.eth> (edit) "the" => "other Status" |
15:05:21 | FromDiscord | <punchcake> pretty nice seeing nim in production software |
15:05:36 | FromDiscord | <michaelb.eth> e.g. the teams working on Nimbus ethereum client and the Waku protocol |
15:06:59 | FromDiscord | <punchcake> very nice |
15:09:55 | FromDiscord | <nervecenter> I use Nim for an engineering data analysis CLI application that gets invoked by server-side PHP or can be run locally, and now will also back an Electron GUI |
15:11:41 | FromDiscord | <punchcake> In reply to @michaelb.eth "e.g. the teams working": after seeing that a company that has raised 100 million dollars using nim and qml in production i will for sure start using it |
15:11:54 | FromDiscord | <punchcake> In reply to @nervecenter "I use Nim for": use nim qml |
15:12:08 | FromDiscord | <punchcake> or treat your customers like shit with electron |
15:13:24 | FromDiscord | <nervecenter> Find me the greatest QML interactive plotting library you can and I'll get right on it |
15:13:31 | FromDiscord | <nervecenter> (edit) "QML" => "Qt" |
15:13:51 | FromDiscord | <punchcake> https://github.com/xmake-io/xmake-repo |
15:13:56 | FromDiscord | <punchcake> lets go my pr got merged |
15:14:30 | FromDiscord | <ambient3332> HTML definitely has an edge when it comes to plotting. Yet write me Substance Painter in Electron |
15:14:32 | FromDiscord | <punchcake> In reply to @nervecenter "Find me the greatest": bet |
15:14:32 | FromDiscord | <punchcake> https://www.qcustomplot.com/ |
15:14:56 | FromDiscord | <punchcake> https://github.com/jkriege2/JKQtPlotter |
15:15:20 | FromDiscord | <michaelb.eth> In reply to @punchcake "https://www.qcustomplot.com/": GPL |
15:15:25 | FromDiscord | <punchcake> so? |
15:15:41 | FromDiscord | <punchcake> pay for it ya cheap ass |
15:15:53 | FromDiscord | <punchcake> if your already gonna pay for qt then pay for the plotting |
15:17:19 | FromDiscord | <michaelb.eth> Don’t assume the worst. For example, I tend to work on open source projects (my own and others) and I don’t want GPL in the mix, though LGPL is okay |
15:18:19 | FromDiscord | <michaelb.eth> In reply to @punchcake "if your already gonna": just use it open source, it’s mostly LGPL, don’t need to pay Qt for it unless you need a support contract |
15:18:39 | FromDiscord | <punchcake> or your gonna static link |
15:18:42 | FromDiscord | <michaelb.eth> (edit) "Don’t assume the worst. For example, I tend to work on open source projects (my own and others) and I don’t want GPL in the mix, though LGPL is okay ... " added "for me" |
15:19:03 | FromDiscord | <punchcake> idk if using dotherside is considered static linking or what since i just have to put the dll/so |
15:19:12 | FromDiscord | <ambient3332> GPL3 restricts free labor that big companies exploit, yet it also restricts freedom for good actors. Depends on what you're doing. Entirely FOSS stack? GPL3 is great |
15:19:19 | FromDiscord | <michaelb.eth> In reply to @punchcake "or your gonna static": Nope, that’s just Qt marketing FUD that you can’t static link. |
15:19:38 | FromDiscord | <punchcake> In reply to @michaelb.eth "Nope, that’s just Qt": hm i see |
15:19:48 | FromDiscord | <punchcake> i think LGPL requires your program to be relinkable |
15:20:04 | FromDiscord | <punchcake> i guess you could ship the object files too or make them avaliable? |
15:20:11 | FromDiscord | <michaelb.eth> Exactly |
15:20:21 | FromDiscord | <michaelb.eth> I explained here recently: https://forum.nim-lang.org/t/10301#68810 |
15:21:16 | FromDiscord | <punchcake> "in a form that can be relinked" |
15:21:28 | FromDiscord | <michaelb.eth> In reply to @ambient3332 "GPL3 restricts free labor": Opinions differ, but why not just always dual-license under MIT and Apache2? |
15:21:31 | FromDiscord | <punchcake> does shipping the exe alone consider it to be relinkable? |
15:21:37 | FromDiscord | <michaelb.eth> In reply to @punchcake "does shipping the exe": No |
15:21:45 | FromDiscord | <punchcake> then what do i got to ship |
15:21:56 | FromDiscord | <punchcake> the object files too? |
15:22:07 | FromDiscord | <punchcake> so just exe + obj files |
15:22:23 | FromDiscord | <michaelb.eth> ship the exe, and make object file available if requested or on public http server or something |
15:22:31 | FromDiscord | <ambient3332> In reply to @michaelb.eth "Opinions differ, but why": FOSS dev and proprietary development are two entirely different bubbles which I don't like to mix. Working without any compensation for people who use my work to make money just doesn't sit right with me. |
15:22:46 | FromDiscord | <ambient3332> Of course libraries are a different matter |
15:23:07 | FromDiscord | <punchcake> ahhh so i can put on my website "in order to comply with licencing restrections the object files are avaliable here " |
15:23:08 | FromDiscord | <nixfreak> Just getting into threads and concurrency , is learning about posix pthreads a good into to nim threads? https://github.com/freebendy/ben-books/blob/master/POSIX_Thread/pthread-primer.pdf |
15:23:27 | FromDiscord | <nixfreak> (edit) "into" => "intro" |
15:24:33 | FromDiscord | <punchcake> In reply to @michaelb.eth "ship the exe, and": if im making an app i'll probably hire a lawyer for 1 hour |
15:24:36 | FromDiscord | <punchcake> doesnt cost much |
15:27:21 | FromDiscord | <punchcake> https://media.discordapp.net/attachments/371759389889003532/1130883514687037500/image.png |
15:27:35 | FromDiscord | <punchcake> nah tho qt license price is going craaaaaaazy |
15:29:17 | * | xet7 quit (Quit: Leaving) |
15:29:21 | FromDiscord | <punchcake> ok thats better https://media.discordapp.net/attachments/371759389889003532/1130884016233533511/image.png |
15:29:46 | FromDiscord | <punchcake> In reply to @punchcake "": if i have 10 devs thats like 40k a month |
15:29:49 | FromDiscord | <punchcake> (edit) "month" => "year" |
15:29:51 | FromDiscord | <punchcake> damn |
15:31:05 | FromDiscord | <punchcake> but idk if getting into an iron clad with Qt is a good idea or not |
15:35:31 | FromDiscord | <ambient3332> In reply to @nixfreak "Just getting into threads": I just use OpenMP, and it works like this: for i in 0..<x => for i in 0||(x+1), and the loop now runs in parallel |
15:36:16 | FromDiscord | <ambient3332> (edit) "0||(x+1)," => "0||(x-1)," |
15:37:00 | FromDiscord | <ambient3332> As far as I understand it, Nim abstracts threads so you don't have to worry about if you have POSIX threads or something else |
15:39:00 | FromDiscord | <michaelb.eth> In reply to @punchcake "if im making an": yes, good idea if it's a commercial project |
15:39:50 | FromDiscord | <punchcake> In reply to @michaelb.eth "yes, good idea if": but how would qt know im using the foss version on my closed source static linked app? |
15:42:17 | FromDiscord | <nervecenter> probably by scanning the executable for binary blobs that look like pieces of Qt compiled with `-02` |
15:42:33 | FromDiscord | <nervecenter> (edit) "`-02`" => "`-O2`" |
15:42:45 | FromDiscord | <punchcake> even if i obfoscate the app? |
15:42:59 | FromDiscord | <nervecenter> This is very elaborate |
15:43:18 | FromDiscord | <punchcake> im tryna dodge the 300 usd a month |
15:44:34 | FromDiscord | <punchcake> jesus qt makes 121 million euro a year in revenue |
15:44:43 | FromDiscord | <odexine> if you're ever discovered you're gonna be paying way more than you would have had you just paid 300 a month |
15:44:44 | FromDiscord | <odexine> ngl |
15:45:31 | FromDiscord | <punchcake> In reply to @odexine "if you're ever discovered": im literally rich if i make 300 usd a month |
15:48:15 | FromDiscord | <michaelb.eth> sent a long message, see http://ix.io/4ATE |
15:49:20 | FromDiscord | <michaelb.eth> While you should still consult with a lawyer — and I'll not that I am not a lawyer (IANAL) — if you do that, then you should be okay per the terms of the LGPL lice nse. |
15:49:26 | FromDiscord | <michaelb.eth> (edit) "lice nse." => "license." |
15:49:58 | FromDiscord | <michaelb.eth> (edit) "http://ix.io/4ATE" => "http://ix.io/4ATG" |
15:50:18 | FromDiscord | <punchcake> https://github.com/teslamotors/qt |
15:50:19 | FromDiscord | <punchcake> like this? |
15:51:31 | FromDiscord | <odexine> In reply to @michaelb.eth "While you should still": you anal??? :baqua: |
15:51:44 | FromDiscord | <odexine> sorry had to |
15:51:53 | FromDiscord | <michaelb.eth> lol |
15:51:54 | FromDiscord | <punchcake> In reply to @odexine "you anal??? <:baqua:746617285057314928>": XD |
15:52:18 | FromDiscord | <punchcake> bro i'll just get the small busniess license |
15:52:32 | FromDiscord | <punchcake> its only 500 usd a year |
15:52:35 | FromDiscord | <odexine> sorry do you mind if you either link me the reason you need the business license or tell me |
15:52:40 | FromDiscord | <punchcake> a bank loan would suffice |
15:52:46 | FromDiscord | <odexine> because i dont actually know why |
15:52:52 | FromDiscord | <punchcake> In reply to @odexine "sorry do you mind": im making a closed source app |
15:52:59 | FromDiscord | <punchcake> static linked |
15:53:09 | FromDiscord | <michaelb.eth> so you think I'm full of shit, or what? |
15:53:14 | FromDiscord | <punchcake> no |
15:53:15 | FromDiscord | <michaelb.eth> if so, that's fine |
15:53:23 | FromDiscord | <punchcake> nim qml links static |
15:53:37 | FromDiscord | <punchcake> i just need to ship the qml files and also the dotherside dll |
15:53:46 | FromDiscord | <punchcake> so idk what to do to dynamic link the bullshit |
15:54:26 | FromDiscord | <punchcake> wait i gotta try something |
15:54:33 | FromDiscord | <michaelb.eth> wdym? what's the technical thing you don't understand or that's a problem? and how does that relate to needing a commercial license |
15:54:39 | FromDiscord | <michaelb.eth> (edit) "license" => "license?" |
15:54:44 | FromDiscord | <michaelb.eth> (edit) "if so, that's fine ... " added "😄" |
15:56:19 | FromDiscord | <punchcake> In reply to @michaelb.eth "wdym? what's the technical": nvm it links dynamic |
15:56:28 | FromDiscord | <punchcake> it was pulling the qt in my path thats why |
15:56:46 | FromDiscord | <punchcake> ok so we still can use dynamic qt |
15:56:52 | FromDiscord | <punchcake> and not pay the bullshit |
15:57:26 | FromDiscord | <nixfreak> In reply to @ambient3332 "I just use OpenMP,": is openMP a nim module ? |
15:57:28 | FromDiscord | <michaelb.eth> or, you know, static link and don't pay :facepalm: |
15:57:43 | FromDiscord | <punchcake> In reply to @michaelb.eth "or, you know, static": nah its fine dynamic link |
15:57:52 | FromDiscord | <ambient3332> sent a code paste, see https://play.nim-lang.org/#ix=4ATJ |
15:57:53 | FromDiscord | <michaelb.eth> anyway, if we want to discuss further about licensing and Qt, probably better to move to offtopic channel |
15:58:11 | FromDiscord | <punchcake> In reply to @michaelb.eth "anyway, if we want": sure |
15:59:19 | FromDiscord | <nixfreak> sent a code paste, see https://play.nim-lang.org/#ix=4ATK |
16:00:56 | FromDiscord | <punchcake> huh |
16:01:32 | FromDiscord | <punchcake> sent a code paste, see https://play.nim-lang.org/#ix=4ATN |
16:02:16 | FromDiscord | <ambient3332> In reply to @nixfreak "OK , I actually": There are simple examples https://nim-lang.org/docs/threads.html |
16:02:24 | FromDiscord | <michaelb.eth> sounds familiar, trying to remember how that was solved in Status Desktop |
16:02:27 | FromDiscord | <punchcake> (edit) "https://play.nim-lang.org/#ix=4ATN" => "https://play.nim-lang.org/#ix=4ATO" |
16:03:05 | FromDiscord | <ambient3332> sent a code paste, see https://play.nim-lang.org/#ix=4ATP |
16:03:06 | * | sagax joined #nim |
16:03:28 | FromDiscord | <punchcake> In reply to @michaelb.eth "sounds familiar, trying to": please do |
16:03:32 | FromDiscord | <punchcake> or i am fucked |
16:03:33 | FromDiscord | <michaelb.eth> In reply to @punchcake "please do": https://github.com/search?q=repo%3Astatus-im%2Fstatus-desktop%20windeployqt&type=code |
16:03:49 | FromDiscord | <michaelb.eth> you run it against dotherside.dll, not the exe |
16:03:54 | FromDiscord | <michaelb.eth> if you're linking dynamically |
16:04:04 | FromDiscord | <punchcake> you sure? |
16:04:06 | FromDiscord | <punchcake> lemme try |
16:04:20 | FromDiscord | <ambient3332> OpenMP works on shared memory tho |
16:04:24 | FromDiscord | <ambient3332> with Nim |
16:05:07 | FromDiscord | <ambient3332> I'm not sure if non-shared memory threads should be called threads or just processes |
16:05:15 | FromDiscord | <punchcake> In reply to @michaelb.eth "you run it against": IT WORKS |
16:05:20 | FromDiscord | <punchcake> man your a fucking wizard |
16:05:49 | FromDiscord | <michaelb.eth> 🧙♂️ |
16:05:55 | FromDiscord | <punchcake> XDDDDDD |
16:06:10 | FromDiscord | <punchcake> In reply to @michaelb.eth "you run it against": also i asume its same for linux and macos |
16:06:18 | FromDiscord | <punchcake> just run it on dotherside not exe |
16:06:18 | FromDiscord | <michaelb.eth> let's see |
16:06:44 | FromDiscord | <michaelb.eth> mac: https://github.com/search?q=repo%3Astatus-im%2Fstatus-desktop+macdeployqt&type=code |
16:07:22 | FromDiscord | <michaelb.eth> you run macdeployqt against the .app bundle that isn't fully bundled yet |
16:07:51 | FromDiscord | <punchcake> wdym |
16:07:53 | FromDiscord | <michaelb.eth> and there were two layers for some reason, I don't remember why it had to be that way, but I remember pulling out a lot of my hair figuring it out |
16:07:58 | FromDiscord | <punchcake> nim generates a .app for mac? |
16:08:24 | FromDiscord | <michaelb.eth> no, you have to build it up yourself |
16:08:32 | FromDiscord | <michaelb.eth> it's just a directory, not hard |
16:08:35 | FromDiscord | <punchcake> what do i put in it |
16:08:47 | FromDiscord | <punchcake> im not experince with windows |
16:08:50 | FromDiscord | <punchcake> (edit) "windows" => "mac" |
16:09:00 | FromDiscord | <michaelb.eth> read the status-desktop Makefile, it's all there |
16:09:01 | FromDiscord | <punchcake> im a windows user that gets cucked with my data |
16:09:32 | FromDiscord | <punchcake> In reply to @michaelb.eth "and there were two": when bundling the app is harder than making it |
16:09:33 | FromDiscord | <punchcake> xd |
16:09:35 | FromDiscord | <michaelb.eth> and I apologize for much of the Makefile, I hadn't done much work with `make` previously (other than running it), so it's a mess |
16:09:46 | FromDiscord | <punchcake> its fine |
16:09:59 | FromDiscord | <michaelb.eth> I haven't been involved with it for 2 years, but I still recognize a lot of it as stuff I worked on |
16:10:45 | FromDiscord | <punchcake> so wait |
16:10:48 | FromDiscord | <punchcake> let me get this straight |
16:11:07 | FromDiscord | <punchcake> so i dont get sued by daddy qt the pimp i have to fork qt and put all the sources there? |
16:11:10 | FromDiscord | <punchcake> that i am using |
16:11:12 | FromDiscord | <michaelb.eth> (edit) "I haven't been involved with it for 2 years, but I still recognize a lot of it ... as" added "(the innards of the Makefile)" |
16:11:17 | FromDiscord | <punchcake> if i dynamiclly link |
16:11:39 | FromDiscord | <michaelb.eth> nah, just get the qt sources / compiled libs the usual way, via package manager or Qt installer or whatever |
16:11:52 | FromDiscord | <michaelb.eth> but you should fork and link to your fork for compliance with LGPL |
16:12:12 | FromDiscord | <punchcake> what if my fork is just the same as regular qt |
16:12:14 | FromDiscord | <michaelb.eth> "link" — in the documentation, the Help menu, etc. |
16:12:18 | FromDiscord | <punchcake> i didnt mod anything |
16:13:12 | FromDiscord | <odexine> you dont need to fork if you make no changes |
16:13:13 | FromDiscord | <michaelb.eth> doesn't matter, the FSF has pointed out in the past that implicitly or explicitly saying, "hey, it's open source stuff, and you can find it on GitHub, etc." doesn't satisfy the terms |
16:13:18 | FromDiscord | <odexine> really |
16:13:21 | FromDiscord | <michaelb.eth> yes |
16:13:30 | FromDiscord | <odexine> sounds dumb |
16:13:38 | FromDiscord | <michaelb.eth> but, consider that we're talking about a compiled distributable |
16:13:48 | FromDiscord | <punchcake> thats closed source |
16:14:04 | FromDiscord | <michaelb.eth> I'm not talking about when authoring a library or open source app that someone will compile themselves |
16:14:17 | FromDiscord | <punchcake> cant i put in my site that i havent modifed the qt sources |
16:15:48 | FromDiscord | <michaelb.eth> alternatively, print out the sources and buy a second-hand copy machine, and put a mailing address in the Help menu where users can send a written request via postal service, and then mail them back a copy of the printed sources |
16:16:00 | FromDiscord | <michaelb.eth> I think that technically that would be in compliance |
16:16:17 | FromDiscord | <michaelb.eth> but seriously, just fork it, and sync `master` occasionally |
16:16:41 | FromDiscord | <punchcake> just like how tesla did it? |
16:17:06 | FromDiscord | <punchcake> In reply to @punchcake "https://github.com/teslamotors/qt": here |
16:18:21 | FromDiscord | <punchcake> why is this so complicated |
16:18:23 | FromDiscord | <punchcake> legal bsd |
16:18:25 | FromDiscord | <punchcake> (edit) "bsd" => "bs" |
16:21:03 | FromDiscord | <punchcake> one way i can think of is making my app open source but i make the build process hard and undocumented |
16:21:15 | FromDiscord | <punchcake> so you can see the source but you cant do anything with it |
16:25:28 | FromDiscord | <michaelb.eth> In reply to @punchcake "just like how tesla": yes, like that, it's sufficient |
16:26:09 | FromDiscord | <michaelb.eth> In reply to @punchcake "why is this so": it's not really, seems more like you're overcomplicating it |
16:26:55 | FromDiscord | <nixfreak> In reply to @ambient3332 "There are simple examples": Yes, I do know about the entry , thank you for the info. |
16:37:24 | * | ntat joined #nim |
16:51:11 | FromDiscord | <djazz> Nim check froze up computer... Umm just hovering static loop thing in vscode https://media.discordapp.net/attachments/371759389889003532/1130904611214069930/DSC_8175.jpg |
16:53:16 | FromDiscord | <punchcake> In reply to @djazz "Nim check froze up": prolly froze because you dont got ram |
16:54:52 | FromDiscord | <odexine> no i think its known that nim check and nimsuggest commonly have memory issues |
16:57:35 | FromDiscord | <punchcake> In reply to @odexine "no i think its": and they dont fix it |
16:57:39 | FromDiscord | <punchcake> isnt it with gc |
16:57:42 | FromDiscord | <odexine> its a hard fix |
16:57:44 | FromDiscord | <punchcake> the gc rn 😴 |
16:57:45 | FromDiscord | <odexine> its not really with the gc |
16:58:00 | FromDiscord | <nixfreak> sent a long message, see http://ix.io/4ATY |
16:59:42 | FromDiscord | <punchcake> In reply to @nixfreak "Ok so to the": i would make a vector with a mutex on it so each threads can store what is open and what is not in the vector |
16:59:53 | FromDiscord | <punchcake> and not use channels |
17:00:53 | FromDiscord | <nixfreak> vector like math vector ? and mutex like locking ? |
17:01:09 | FromDiscord | <punchcake> In reply to @nixfreak "vector like math vector": vector like a seq in nim |
17:01:16 | FromDiscord | <punchcake> a dynamiclly expandable array |
17:01:25 | FromDiscord | <punchcake> and mutex as in lock |
17:01:40 | FromDiscord | <punchcake> put a lock on the vector to prevent issues |
17:02:07 | FromDiscord | <nixfreak> Havent' read much into locking yet , so I will look into that thanks |
17:02:26 | FromDiscord | <nixfreak> any reason not to use async ? or use async with threads ? |
17:02:40 | FromDiscord | <djazz> In reply to @djazz "Nim check froze up": Made a minimal test, turns out I cant use result as variable name inside const = static: |
17:02:41 | FromDiscord | <punchcake> In reply to @nixfreak "any reason not to": commonly you choose 1 of them |
17:02:46 | FromDiscord | <odexine> async would technically be more appropriate for sockets |
17:02:47 | FromDiscord | <punchcake> either async or threads |
17:03:02 | FromDiscord | <djazz> Oh, nvm |
17:03:03 | FromDiscord | <odexine> i personally think that nim's stdlib async implementation is poor though |
17:03:15 | FromDiscord | <punchcake> i dont like async tbh |
17:03:24 | FromDiscord | <punchcake> i perfer the threadpool aproach |
17:03:28 | FromDiscord | <punchcake> (edit) "aproach" => "approach" |
17:04:04 | FromDiscord | <nixfreak> ok why not channels ? |
17:04:28 | FromDiscord | <punchcake> In reply to @nixfreak "ok why not channels": its complicated for no reason |
17:04:52 | FromDiscord | <nixfreak> channels is complicated you mean |
17:05:27 | FromDiscord | <punchcake> i never needed to use a channel exept if im running some sort of event looping concoction |
17:05:42 | FromDiscord | <punchcake> (edit) "looping" => "polling" |
17:05:48 | FromDiscord | <nixfreak> oh like an event loop for a gui? |
17:05:55 | FromDiscord | <nixfreak> or game |
17:05:57 | FromDiscord | <punchcake> not for a gui |
17:06:05 | FromDiscord | <punchcake> just a event loop for whatever project im doing |
17:06:30 | FromDiscord | <nixfreak> most gui's use an event loop , GTK, Qt, EFL, nuclear |
17:06:42 | FromDiscord | <nixfreak> ok gui framework maybe |
17:06:48 | FromDiscord | <punchcake> you can use event looping for other stuff |
17:07:05 | FromDiscord | <punchcake> like a thread thats detecated to do something very spesific |
17:07:29 | FromDiscord | <punchcake> anyways threadpooling will suffice |
17:07:38 | FromDiscord | <nixfreak> thats what I was thinking of using to retreive recv() information back from a socket |
17:07:44 | FromDiscord | <punchcake> In reply to @nixfreak "Ok so to the": what i would do is |
17:08:33 | FromDiscord | <punchcake> run on a single thread |
17:08:34 | FromDiscord | <punchcake> XD |
17:08:43 | FromDiscord | <nixfreak> really ? why ? |
17:09:00 | FromDiscord | <punchcake> i mean it depends |
17:09:07 | FromDiscord | <punchcake> if every port check a syscall? |
17:09:32 | FromDiscord | <punchcake> and why do you want to scan every port |
17:09:51 | FromDiscord | <nixfreak> well recev() function is an OS function for a syscall |
17:10:11 | FromDiscord | <punchcake> yeah i guess threading is nessecary |
17:10:23 | FromDiscord | <punchcake> do what i suggested |
17:10:31 | FromDiscord | <nixfreak> In reply to @punchcake "and why do you": because you want to find out what services are on what ports |
17:10:46 | FromDiscord | <punchcake> thread pool and lock the seq as a point of synchronization |
17:11:08 | FromDiscord | <punchcake> but it depends |
17:11:19 | FromDiscord | <punchcake> if every syscall takes 1 second thats 60k seconds |
17:11:32 | FromDiscord | <michaelb.eth> yeah, like we talked about earlier, you can't just do that in Nim like you would in C/C++ |
17:11:43 | FromDiscord | <punchcake> you can try |
17:12:20 | FromDiscord | <michaelb.eth> yeah, and then you can cry when you it blows up randomly with SIGSEGV |
17:12:25 | FromDiscord | <michaelb.eth> (edit) removed "you" |
17:12:46 | FromDiscord | <michaelb.eth> cf. the stuff Clonkk linked earlier, and Araq's malebolgia |
17:13:04 | FromDiscord | <michaelb.eth> things are looking more promising with Nim 2.0 (devel branch, currently) |
17:13:24 | FromDiscord | <nixfreak> yeah using devel branch right now , 1.9.5 |
17:13:46 | FromDiscord | <nixfreak> still have to call experimental pragma |
17:14:09 | FromDiscord | <punchcake> In reply to @nixfreak "yeah using devel branch": btw on windows rum netstat -aon |
17:14:12 | FromDiscord | <punchcake> (edit) "rum" => "run" |
17:14:14 | FromDiscord | <punchcake> as admin |
17:14:30 | FromDiscord | <michaelb.eth> "malebolgia" — https://github.com/Araq/malebolgia |
17:14:50 | FromDiscord | <punchcake> this gets all ips and ports and pid's associated with them |
17:14:55 | FromDiscord | <nixfreak> so basically your saying I can't replicate a thread safe scanner , but have the pthread support as in C library ? |
17:15:02 | FromDiscord | <punchcake> you can |
17:15:08 | FromDiscord | <punchcake> bro just try |
17:15:11 | FromDiscord | <punchcake> if it blows up revert to C |
17:15:29 | FromDiscord | <djazz> sent a code paste, see https://play.nim-lang.org/#ix=4AU3 |
17:15:42 | FromDiscord | <djazz> with nim check |
17:16:07 | FromDiscord | <michaelb.eth> In reply to @djazz "with nim check": because it's a `const`, nim check is basically compiling it |
17:16:11 | FromDiscord | <djazz> issue is the type mismatch float32 |
17:16:18 | FromDiscord | <djazz> and tuple is float64 |
17:16:24 | FromDiscord | <michaelb.eth> (edit) "it" => "it, I think" |
17:16:27 | FromDiscord | <punchcake> In reply to @djazz "and tuple is float64": bruh |
17:16:33 | FromDiscord | <djazz> lower the loop size and it works (to like 10) |
17:16:57 | FromDiscord | <nixfreak> I am going try , just wanted some info on threads cause I'm a n00b lol |
17:17:31 | FromDiscord | <punchcake> @nixfreak my advice is dont |
17:17:36 | FromDiscord | <punchcake> you'll know when you need them |
17:17:39 | FromDiscord | <punchcake> then learn them |
17:17:59 | FromDiscord | <djazz> `Error: expression '' has no type (or is ambiguous)` on the line `arr[i] = hslToRgb(col)` |
17:18:09 | FromDiscord | <djazz> then memory grows |
17:18:10 | FromDiscord | <punchcake> if you want to try threading make some malware that does remote code execution |
17:18:28 | FromDiscord | <punchcake> its pretty easy |
17:18:32 | FromDiscord | <punchcake> ish |
17:18:35 | FromDiscord | <nixfreak> yeah thats red team stuff next |
17:19:18 | FromDiscord | <punchcake> In reply to @nixfreak "yeah thats red team": black hat |
17:19:26 | FromDiscord | <punchcake> i learnt programming to make exploits |
17:19:37 | FromDiscord | <punchcake> then i enjoyed programming and said nah |
17:19:42 | FromDiscord | <punchcake> im not making no exploits |
17:19:58 | FromDiscord | <punchcake> or make a botnet |
17:20:04 | FromDiscord | <nixfreak> exploitdev is great learning for C programming |
17:20:04 | FromDiscord | <punchcake> pretty easy |
17:20:28 | FromDiscord | <nixfreak> I just don't launch pubically |
17:21:07 | FromDiscord | <djazz> using object instead of tuple works |
17:21:14 | FromDiscord | <michaelb.eth> fwiw, in this discord we discourage making malware in Nim or any other language, or encouraging others to do so↵I realize you're just giving some perspective on what got you into programming, etc., why it could be an interesting exercise, etc., but just keep that in mind |
17:22:28 | FromDiscord | <punchcake> In reply to @michaelb.eth "fwiw, in this discord": its pretty trivial malware |
17:22:42 | FromDiscord | <punchcake> anyone with 3 months of programming experince can make it |
17:22:49 | FromDiscord | <nixfreak> Its only for learning and security researching |
17:23:16 | FromDiscord | <punchcake> yes |
17:23:18 | FromDiscord | <nixfreak> same with RE and threat intel |
17:23:22 | FromDiscord | <punchcake> like my hentai collection |
17:23:26 | FromDiscord | <punchcake> researching |
17:23:34 | FromDiscord | <nixfreak> lol - no not the same |
17:23:53 | FromDiscord | <punchcake> i work at the institute of waifu analysis bro |
17:24:47 | FromDiscord | <nixfreak> lol |
17:25:43 | FromDiscord | <nixfreak> I like anime also |
17:26:04 | FromDiscord | <nixfreak> should talk in offtopic if this continues |
17:26:19 | FromDiscord | <punchcake> xd |
17:26:37 | FromDiscord | <punchcake> In reply to @nixfreak "should talk in offtopic": anyways bro |
17:26:42 | FromDiscord | <punchcake> try making a botnet |
17:26:54 | FromDiscord | <punchcake> its very fun i might actually make one |
17:27:16 | FromDiscord | <punchcake> as long as you know how to do event polling |
17:27:39 | FromDiscord | <nixfreak> yeah I have always wanted to , then automate it |
17:27:54 | FromDiscord | <punchcake> its automated by default |
17:27:59 | FromDiscord | <punchcake> buuuut there is a catch |
17:28:19 | FromDiscord | <nixfreak> kind of ... botnet are usually controlled by C2 |
17:28:28 | FromDiscord | <punchcake> you need to either port forward or figure out a way to make the infected machine get messages |
17:29:03 | FromDiscord | <nixfreak> bot net using irc is really fun |
17:29:05 | FromDiscord | <punchcake> i think you gotta do hole punching |
17:29:20 | FromDiscord | <nixfreak> yeah thats why a lot of p2p botnets exist now |
17:29:35 | FromDiscord | <nixfreak> use upnp ports |
17:29:38 | FromDiscord | <punchcake> but be warned p2p botnet is a bad idea |
17:29:40 | FromDiscord | <punchcake> very bad idea |
17:29:59 | FromDiscord | <punchcake> to arrest you all they need to figure out whos sending the botnet commands |
17:30:04 | FromDiscord | <punchcake> if its p2p gg |
17:30:57 | FromDiscord | <nixfreak> thats why you use a multiple hop VPN with proxies and or use a zombie and the C2 is an simple as a twitter bot |
17:31:13 | FromDiscord | <nixfreak> (edit) "an" => "as" |
17:31:18 | FromDiscord | <punchcake> nah |
17:31:31 | FromDiscord | <punchcake> your better off renting a vps from dark web or something |
17:31:35 | FromDiscord | <punchcake> pretty easy to find |
17:31:42 | FromDiscord | <punchcake> you pay in monero and the rest is yours |
17:31:47 | FromDiscord | <nixfreak> very true |
17:32:21 | FromDiscord | <punchcake> i remeber one time my freind made a botnet with a cool command called "sacrifice" |
17:32:52 | FromDiscord | <punchcake> it would just destory the user's machine but prior to doing it it would pop a message box saying "sacrifices must be made" |
17:32:54 | FromDiscord | <punchcake> XDDD |
17:33:40 | FromDiscord | <nixfreak> take #offtopic now ok |
17:34:56 | FromDiscord | <nixfreak> So is there every going to be a pthreads lib for nim ? or just a bunch of different modules ? |
17:35:13 | FromDiscord | <nixfreak> (edit) "every" => "ever" |
17:35:52 | FromDiscord | <nixfreak> Thats what's kind of confusing using nim , that there are so many different modules that kind of do the samething just differently |
17:41:02 | * | xet7 joined #nim |
17:43:22 | FromDiscord | <michaelb.eth> In reply to @nixfreak "So is there ever": there's the `std/posix` wrapper: https://nim-lang.org/docs/posix.html |
17:45:04 | FromDiscord | <nixfreak> yep thats cool , I was just curious if there was ever going to one modules that is "standardized" that's all |
17:45:33 | FromDiscord | <nixfreak> I'm looking at this too https://github.com/Araq/malebolgia |
17:55:31 | FromDiscord | <punchcake> In reply to @nixfreak "yep thats cool ,": i think you can use futhrak to import C header right @pmunch |
17:56:11 | FromDiscord | <nixfreak> yeah you can , just never used it before. |
17:57:00 | FromDiscord | <pmunch> In reply to @punchcake "i think you can": Indeed! |
17:57:23 | FromDiscord | <punchcake> In reply to @pmunch "Indeed!": @nixfreak our superior pmunch has saved you once again |
17:58:33 | FromDiscord | <pmunch> Oh, I have no idea what you are talking about. But Futhark can import C headers, it's kinda the only thing it does |
17:59:08 | FromDiscord | <punchcake> In reply to @pmunch "Oh, I have no": i mean stdlib headers |
17:59:11 | FromDiscord | <punchcake> like pthread.h |
18:01:04 | FromDiscord | <punchcake> i am convinced that @pmunch @treeform @neroist. are our superiors |
18:01:55 | FromDiscord | <punchcake> sorry for the @ btw |
18:02:30 | FromDiscord | <pmunch> Yeah it can do any header as long as Clang can do it |
18:02:57 | FromDiscord | <pmunch> I've wrapped the low-level stuff to deal with SCSI disks with it before |
18:03:21 | FromDiscord | <that_dude.> In reply to @punchcake "i think you gotta": Nat traversal is a massive pita trust me. I wouldn't wish the punishment of trying to make it work on anyone. |
18:03:34 | FromDiscord | <pmunch> And just stay in school and play around with programming, you'll get just as good |
18:03:54 | FromDiscord | <punchcake> In reply to @pmunch "And just stay in": how olf are you |
18:03:58 | FromDiscord | <punchcake> (edit) "olf" => "old" |
18:04:32 | FromDiscord | <ambient3332> what's the situation of Futhark on Windows atm? |
18:05:08 | FromDiscord | <pmunch> In reply to @punchcake "how old are you": I'm 31, no idea about the others |
18:05:21 | FromDiscord | <punchcake> In reply to @pmunch "I'm 31, no idea": explains why you are me superior |
18:05:40 | FromDiscord | <punchcake> (edit) "me" => "my" |
18:05:45 | FromDiscord | <pmunch> In reply to @ambient3332 "what's the situation of": Should work fine, as long as you install Clang correctly |
18:06:00 | FromDiscord | <ambient3332> I don't want to install anything separate 🤔 |
18:06:18 | FromDiscord | <pmunch> In reply to @punchcake "explains why you are": Eh, age isn't everything, plenty of old idiots out there |
18:06:29 | FromDiscord | <pmunch> And young savants for that matter |
18:06:32 | FromDiscord | <punchcake> In reply to @pmunch "Eh, age isn't everything,": how long have you been programming for |
18:06:48 | FromDiscord | <punchcake> plus young programmers are shit |
18:06:51 | FromDiscord | <punchcake> nowdays |
18:07:02 | FromDiscord | <pmunch> In reply to @ambient3332 "I don't want to": Well you don't really need clang. Only the libclang DLL |
18:07:03 | FromDiscord | <ambient3332> you get some humility with age |
18:07:13 | FromDiscord | <djazz> In reply to @ambient3332 "what's the situation of": I added windows support to Futhark, just install clang from their github releases and you should be good to go |
18:07:26 | FromDiscord | <michaelb.eth> In reply to @ambient3332 "you get some humility": and gry hairs 😄 |
18:07:31 | FromDiscord | <michaelb.eth> (edit) "gry" => "gray" |
18:07:38 | FromDiscord | <pmunch> In reply to @punchcake "how long have you": Since I was about 10, so some 20 odd years I guess |
18:07:43 | FromDiscord | <punchcake> In reply to @michaelb.eth "and gray hairs 😄": im 20 and i look like im 34 |
18:07:47 | FromDiscord | <punchcake> In reply to @pmunch "Since I was about": BRO |
18:07:48 | FromDiscord | <punchcake> NAAAH |
18:07:51 | FromDiscord | <punchcake> NAAAAAAAAAAAAAAAAAAH |
18:07:56 | FromDiscord | <nixfreak> 43 - here |
18:08:01 | FromDiscord | <michaelb.eth> 46 |
18:08:04 | FromDiscord | <punchcake> yall old af |
18:08:08 | FromDiscord | <punchcake> wtf |
18:08:16 | FromDiscord | <pmunch> Well gee thanks |
18:08:22 | FromDiscord | <nixfreak> lol |
18:08:25 | FromDiscord | <punchcake> we all gonna get old one day |
18:08:33 | FromDiscord | <punchcake> or i mean i at least |
18:08:47 | FromDiscord | <michaelb.eth> In reply to @punchcake "we all gonna get": yeah and it sucks, but that's life, enjoy! |
18:09:03 | FromDiscord | <punchcake> In reply to @michaelb.eth "yeah and it sucks,": i wanna enjoy parting before i grow old |
18:09:07 | FromDiscord | <pmunch> Eh, getting old is better than the alternative |
18:09:12 | FromDiscord | <punchcake> and have sex with sexy russian women |
18:09:22 | FromDiscord | <michaelb.eth> In reply to @pmunch "Eh, getting old is": quite true, quite true |
18:09:26 | FromDiscord | <punchcake> (edit) "parting" => "partying" |
18:09:29 | FromDiscord | <ambient3332> i would not mind getting younger for a few years |
18:09:46 | FromDiscord | <punchcake> i wonder how old is araq tbh |
18:09:49 | FromDiscord | <michaelb.eth> Memento mori |
18:09:58 | FromDiscord | <michaelb.eth> In reply to @punchcake "i wonder how old": early 40s |
18:09:58 | FromDiscord | <punchcake> he looks like his mental health is going to shit |
18:10:03 | FromDiscord | <michaelb.eth> dude |
18:10:09 | FromDiscord | <punchcake> what |
18:10:24 | FromDiscord | <punchcake> have you seen his fourm posts latley |
18:10:27 | FromDiscord | <michaelb.eth> maybe start working on a filter between your fingers and your brain |
18:10:27 | FromDiscord | <nixfreak> just work out and eat right , you'll be fine |
18:10:34 | FromDiscord | <Phil> I'd move that debate to offtopic |
18:10:47 | FromDiscord | <punchcake> ok |
18:10:49 | FromDiscord | <System64 ~ Flandre Scarlet> Is it possible to enable multithread on C compiler please? |
18:10:54 | FromDiscord | <Phil> Thanks |
18:10:57 | FromDiscord | <Phil> (edit) "Thanks" => "Thanks!" |
18:11:03 | FromDiscord | <michaelb.eth> In reply to @sys64 "Is it possible to": `--threads:on` ? |
18:11:05 | FromDiscord | <punchcake> In reply to @sys64 "Is it possible to": i think `-lpthread`? |
18:11:23 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @punchcake "i think `-lpthread`?": I meant multithreaded compilation |
18:11:26 | FromDiscord | <Phil> In reply to @michaelb.eth "`--threads:on` ?": It should be noted that if you're on devel, that flag should be provided by default |
18:11:30 | FromDiscord | <punchcake> In reply to @michaelb.eth "`--threads:on` ?": then this |
18:11:37 | FromDiscord | <Phil> The C-Compiler compiles multithreaded by default |
18:11:42 | FromDiscord | <Phil> Atleast gcc does |
18:11:47 | FromDiscord | <Phil> It just links only with a single threaded |
18:11:53 | FromDiscord | <Phil> Which means the default linker is slow as fuuuuuuuuck |
18:12:03 | FromDiscord | <System64 ~ Flandre Scarlet> ah, and can I use multithread on this? |
18:12:15 | FromDiscord | <System64 ~ Flandre Scarlet> there is the -jx flag I thing |
18:12:16 | FromDiscord | <michaelb.eth> In reply to @sys64 "ah, and can I": what platform are you on, windows? |
18:12:30 | FromDiscord | <michaelb.eth> I feel like I know the answer because I think I asked you before |
18:12:32 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @michaelb.eth "what platform are you": Windows |
18:12:35 | FromDiscord | <Phil> As in "Can a compiler compile with multiple threads a program that uses multiple threads"? |
18:13:10 | FromDiscord | <ambient3332> Nim threads don't share memory so it might also be an issue that's blocking parallelism |
18:13:19 | FromDiscord | <Phil> I'm somewhat confused on which part the multithread is referring to now |
18:13:32 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @isofruit "I'm somewhat confused on": Multithreaded compilation |
18:13:34 | FromDiscord | <punchcake> In reply to @ambient3332 "Nim threads don't share": so i can pass a pointer to a thread? |
18:13:42 | FromDiscord | <punchcake> (edit) "can" => "cant" |
18:14:48 | FromDiscord | <Phil> In reply to @sys64 "Multithreaded compilation": Then you should be good as in that shouldn't be anything you should need to worry about.↵The act of compilation itself should be multithreaded on all compilers, the windows default compiler (whichever one that is) should also do it similar to gcc simply because there's no way in hell that windows would give itself the embarassment of having that much longer compiletimes that would res |
18:15:08 | FromDiscord | <punchcake> msvc |
18:15:23 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @isofruit "Then you **should** be": and linking? |
18:15:37 | FromDiscord | <punchcake> In reply to @isofruit "Then you **should** be": i thin he or she meant the same way you pass --parralel in cmake |
18:15:42 | FromDiscord | <punchcake> (edit) "thin" => "think" |
18:15:49 | FromDiscord | <Phil> Linking I assume is always single threaded simply because the linkers I've googled were single threaded and always slow |
18:15:56 | FromDiscord | <Phil> But generrally linking should be less than half your compile time |
18:16:10 | FromDiscord | <Phil> Though there are fast linkers out there |
18:16:13 | FromDiscord | <Phil> I just haven't used them |
18:16:33 | FromDiscord | <System64 ~ Flandre Scarlet> Because compilation is quite slow for me |
18:16:53 | FromDiscord | <Phil> Even the debug compiles? |
18:16:55 | FromDiscord | <ambient3332> Depends on what you're compiling. Is there a specific file it gets stuck on? |
18:17:03 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @isofruit "Even the debug compiles?": I compile on Release |
18:17:17 | FromDiscord | <Phil> Always? Even during the development process? |
18:17:20 | FromDiscord | <punchcake> In reply to @ambient3332 "Depends on what you're": and hardware |
18:17:28 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @ambient3332 "Depends on what you're": No real idea, I know there is a lot of inline stuff |
18:17:40 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @isofruit "Always? Even during the": yeah, even if I change a small thing |
18:17:54 | FromDiscord | <punchcake> In reply to @sys64 "yeah, even if I": how many LOC are you compiling |
18:17:57 | FromDiscord | <Phil> Any particular reason why during the development phase you can't do debug compiles? |
18:18:08 | FromDiscord | <Phil> Or rather I assume there is one so I'm asking for the specific reason |
18:18:30 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @punchcake "how many LOC are": Wdym? |
18:18:40 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @isofruit "Any particular reason why": less good performances |
18:18:40 | FromDiscord | <punchcake> how many lines is your program |
18:18:51 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @punchcake "how many lines is": How can I count that? |
18:18:51 | FromDiscord | <punchcake> In reply to @sys64 "less good performances": doesnt matter in debug |
18:18:56 | FromDiscord | <punchcake> you want to debug |
18:19:17 | FromDiscord | <punchcake> In reply to @sys64 "How can I count": with an ide and some pair of eyes |
18:19:34 | FromDiscord | <Phil> During debug it should only matter to compile to see if it compiles and maybe test out whatever feature you developed / bugs you fixed.↵E.g. the web application I have in nim I always compile develop and only when I build for production do I link and use -d:release |
18:19:52 | FromDiscord | <Phil> Because without those the compilation is like 4x faster |
18:19:53 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @punchcake "with an ide and": I say that because there is a lot of files |
18:20:08 | FromDiscord | <punchcake> if its a big program ofc its gonna take forever to compile |
18:21:00 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @punchcake "if its a big": 65 Nim files |
18:21:16 | FromDiscord | <nixfreak> damn |
18:21:19 | FromDiscord | <punchcake> damn |
18:21:29 | FromDiscord | <nixfreak> all different procs? |
18:21:34 | FromDiscord | <punchcake> whats bro cooking |
18:21:48 | FromDiscord | <nixfreak> your Waifu |
18:22:01 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @nixfreak "all different procs?": Wdym? |
18:22:16 | FromDiscord | <punchcake> In reply to @nixfreak "your Waifu": uwu |
18:22:43 | FromDiscord | <michaelb.eth> In reply to @sys64 "How can I count": ChatGPT says: https://chat.openai.com/share/a33a2e27-02e0-47eb-8e97-6fb819cd1885 |
18:22:44 | FromDiscord | <punchcake> In reply to @nixfreak "your Waifu": my waifu https://media.discordapp.net/attachments/371759389889003532/1130927653919129760/images.jfif |
18:23:26 | FromDiscord | <michaelb.eth> In reply to @michaelb.eth "ChatGPT says: https://chat.openai.com/share/a33a2e2": just change `'.txt'` to `.nim`↵also, I'm not on Windows atm so can't check if the commands it proposed actually work |
18:23:27 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @michaelb.eth "ChatGPT says: https://chat.openai.com/share/a33a2e2": Will try this↵Btw↵https://github.com/system64MC/kurumi-x/tree/BoxUndoRedo↵My project |
18:23:29 | FromDiscord | <Phil> 65 is not that massive, but nicely sized |
18:23:47 | FromDiscord | <System64 ~ Flandre Scarlet> At the same time, it's a synthesizer |
18:24:01 | FromDiscord | <michaelb.eth> (edit) "`.nim`↵also," => "`'.nim'`↵also," |
18:24:06 | FromDiscord | <punchcake> In reply to @isofruit "65 is not *that*": it also depends on a lot of factos |
18:24:09 | FromDiscord | <punchcake> (edit) "factos" => "factors" |
18:24:18 | FromDiscord | <punchcake> if your using a lot of macros or templates |
18:24:26 | FromDiscord | <punchcake> how many lines |
18:24:30 | FromDiscord | <Phil> Yeah, metaprogramming will stress the compiler of course |
18:24:39 | FromDiscord | <Phil> And what dependencies you have that make use of metaprogramming |
18:24:53 | FromDiscord | <punchcake> yeah thats why C++ compile times go crazy |
18:25:03 | FromDiscord | <Phil> My admin-plugin for prologue was basically all generics which blew up compilation times for me |
18:25:52 | FromDiscord | <michaelb.eth> yeah, something I'm working on recently has several thousands lines of Nim macros, and it does increase compile times, though not horribly (not yet) |
18:26:01 | FromDiscord | <Phil> Because it generated like a thousand loc from the generics per ORM model |
18:26:18 | FromDiscord | <Phil> And at 30 ORM models that starts becoming noticeable |
18:26:43 | FromDiscord | <punchcake> In reply to @michaelb.eth "yeah, something I'm working": thousands of macros sound like a bad idea |
18:27:23 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @michaelb.eth "ChatGPT says: https://chat.openai.com/share/a33a2e2": 6207 lines |
18:27:25 | FromDiscord | <michaelb.eth> it's some layers that together form a DSL that I hope proves to be quite useful |
18:27:34 | FromDiscord | <michaelb.eth> but we'll see |
18:28:04 | FromDiscord | <punchcake> In reply to @sys64 "6207 lines": not much |
18:28:07 | FromDiscord | <punchcake> idk tbh |
18:28:08 | FromDiscord | <michaelb.eth> In reply to @sys64 "6207 lines": nice, it worked 😄 |
18:28:18 | FromDiscord | <punchcake> probably your machine is slow or something |
18:28:34 | FromDiscord | <punchcake> compiling qt with web engine for example takes me 12 hours |
18:28:46 | FromDiscord | <michaelb.eth> @System64 ~ Flandre Scarlet are you targeting Nim's C or C++ backend? |
18:28:47 | FromDiscord | <punchcake> from source |
18:28:48 | FromDiscord | <enthus1ast> "nimble develop -g" still does not work as it seems \:/ |
18:29:29 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @michaelb.eth "<@380360389377916939> are you targeting": C++↵Because with C, I have a segmentation fault with the ImGUI lib |
18:30:17 | FromDiscord | <michaelb.eth> I don't have any significant experience with C++, but one often hears complaints about slow compile-times for C++ in general, so maybe that's a factor in your situation |
18:30:25 | FromDiscord | <michaelb.eth> others here may know better |
18:30:45 | FromDiscord | <ambient3332> C++ can definitely kill your compile times |
18:30:57 | FromDiscord | <ambient3332> I get 15 minutes with just few files |
18:31:06 | FromDiscord | <punchcake> In reply to @ambient3332 "I get 15 minutes": how many |
18:31:15 | FromDiscord | <System64 ~ Flandre Scarlet> So it's that or segmentation fault |
18:31:26 | FromDiscord | <punchcake> i once wrote a 30k line C++ program with no generics and it took me like 1 min to compile |
18:31:35 | FromDiscord | <punchcake> In reply to @sys64 "So it's that or": or better computer |
18:31:41 | FromDiscord | <punchcake> so you can compute faster |
18:31:56 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @punchcake "or better computer": I have a war machine↵Intel Core i7, RTX 3050 |
18:32:01 | FromDiscord | <punchcake> jesus |
18:32:20 | FromDiscord | <punchcake> but yeah |
18:32:23 | FromDiscord | <System64 ~ Flandre Scarlet> 144Hz screen |
18:32:32 | FromDiscord | <punchcake> ahh thats the problem |
18:32:39 | FromDiscord | <punchcake> you didnt overclock your screen |
18:32:42 | FromDiscord | <punchcake> thats why |
18:32:42 | FromDiscord | <System64 ~ Flandre Scarlet> 🤣 |
18:33:10 | FromDiscord | <System64 ~ Flandre Scarlet> About ImGUI, did someone managed to compile a program that uses NimGL's ImGUI? |
18:33:22 | FromDiscord | <System64 ~ Flandre Scarlet> with C backend |
18:34:37 | FromDiscord | <punchcake> do you really need imgui |
18:34:43 | FromDiscord | <punchcake> or are you using it bc its eays |
18:34:46 | FromDiscord | <punchcake> (edit) "eays" => "easy" |
18:35:06 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @punchcake "do you really need": The entire thing relies on ImGUI |
18:35:11 | FromDiscord | <punchcake> damn |
18:35:33 | FromDiscord | <System64 ~ Flandre Scarlet> well, the GUI part |
18:35:38 | * | xet7 quit (Read error: Connection reset by peer) |
18:35:44 | FromDiscord | <System64 ~ Flandre Scarlet> I also use it because easy |
18:37:06 | FromDiscord | <punchcake> use qt bro |
18:37:15 | FromDiscord | <punchcake> it has better performance |
18:37:26 | FromDiscord | <punchcake> it doesnt use gpu like imgui |
18:37:37 | FromDiscord | <punchcake> unless your doing some heavy graphing |
18:37:54 | FromDiscord | <System64 ~ Flandre Scarlet> And it makes my code GPL I think |
18:38:01 | FromDiscord | <punchcake> LGPL |
18:38:14 | FromDiscord | <System64 ~ Flandre Scarlet> Oh interesting |
18:38:51 | FromDiscord | <System64 ~ Flandre Scarlet> But what for thoses links so? https://media.discordapp.net/attachments/371759389889003532/1130931707428749452/image.png |
18:39:02 | FromDiscord | <michaelb.eth> note there are some Qt libs that are only licensed with GPL, but most of them are multi-licensed as GPL and LGPL |
18:39:39 | FromDiscord | <punchcake> In reply to @sys64 "But what for thoses": yeah better stay on imgui then |
18:40:35 | FromDiscord | <ambient3332> Lot of cool node based stuff made in Godot: https://rodzilla.itch.io/material-maker just a question how well you can create the faster parts with Nim |
18:41:33 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @ambient3332 "Lot of cool node": Is there a framework for that? |
18:42:02 | FromDiscord | <ambient3332> Godot is the framework. It's a game engine, that also has a nice UI building system that can be easily themed |
18:42:55 | FromDiscord | <jmgomez> In reply to @ambient3332 "I get 15 minutes": I get 4 for seconds for 300k 😛 |
18:43:00 | * | xet7 joined #nim |
18:43:03 | FromDiscord | <enthus1ast> "nimble develop -g" is broken and "nimble develop" cannot work with local files o.0, how you guys develop your modules? |
18:43:13 | FromDiscord | <jmgomez> (edit) removed "for" |
18:43:31 | FromDiscord | <jmgomez> (and pulling millions on the cpp side of things) |
18:43:34 | FromDiscord | <ambient3332> In reply to @jmgomez "I get 4 seconds": Yeah, the C++ thing I'm importing is mostly templates and seem is built in a way that just kills the compilers |
18:43:55 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @ambient3332 "Godot is the framework.": Didn't knew it has GUI stuff |
18:44:22 | FromDiscord | <jmgomez> In reply to @ambient3332 "Yeah, the C++ thing": you dont use PCHs? |
18:44:28 | FromDiscord | <enthus1ast> in version 4 godot can even do multi window↵(@System64 ~ Flandre Scarlet) |
18:44:29 | FromDiscord | <ambient3332> PCHs? |
18:44:37 | FromDiscord | <jmgomez> precompiled headers |
18:44:57 | FromDiscord | <ambient3332> My endpoint is {.compile.} in Nim |
18:45:03 | FromDiscord | <ambient3332> there's no in-between |
18:45:05 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @enthus1ast "in version 4 godot": Oh wow! |
18:46:10 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @enthus1ast "in version 4 godot": https://docs.godotengine.org/en/stable/tutorials/ui/index.html↵Yeah it has that stuff |
18:46:27 | FromDiscord | <michaelb.eth> In reply to @sys64 "But what for thoses": maybe QPainter can make that possible, though I don't have any experience with it, just found via googl |
18:46:55 | FromDiscord | <jmgomez> In reply to @ambient3332 "My endpoint is {.compile.}": then you shoudlnt complain about the compilation times 😛 |
18:47:11 | FromDiscord | <ambient3332> In reply to @jmgomez "then you shoudlnt complain": It is what it is... |
18:47:18 | FromDiscord | <jmgomez> headers exists for a reason |
18:47:47 | FromDiscord | <ambient3332> is there an option for Nim to cache the headers? |
18:48:19 | FromDiscord | <jmgomez> you use them as usual but you have a prestep in the cpp side of things where you precompile them |
18:52:35 | FromDiscord | <jmgomez> (pch can also be used from c btw) |
18:52:52 | FromDiscord | <jmgomez> https://en.wikipedia.org/wiki/Precompiled_header |
18:56:21 | FromDiscord | <ambient3332> Is there a way to precompile Nim module so that it won't get re-compiled when I change the flags? |
18:56:44 | FromDiscord | <ambient3332> I know I can manually do this with object files, but I would prefer something more convenient and automatic |
18:57:32 | FromDiscord | <jmgomez> most of the time it will generate different code your only option is to have a different nimcache folder for your flag combs. I usually do `debug` and `release` |
18:58:18 | FromDiscord | <punchcake> why the nim compiler stupid |
18:58:28 | FromDiscord | <punchcake> why does it generate diffrent code for the same file XD |
18:58:38 | FromDiscord | <punchcake> its constant no |
18:58:42 | FromDiscord | <ambient3332> I could hide the {.compile.} behind a C export |
18:58:44 | FromDiscord | <punchcake> same input same output |
18:59:03 | FromDiscord | <ambient3332> although it kind of defeats the point |
18:59:10 | FromDiscord | <jmgomez> that's called deterministic not constant, and your changing the input |
19:00:43 | FromDiscord | <jmgomez> In reply to @ambient3332 "I could hide the": you can do exportc to a lib and importc it back that will speed things up too |
19:01:56 | * | jmdaemon joined #nim |
19:07:37 | FromDiscord | <bung8954> `snprintf(esc, n, "\\x%02x", (int)c);` equals to `"\\x" & byte.toHex(2)` ? |
19:15:45 | FromDiscord | <spatchler> hi, im having problems with the easygl examples that involve model loading with stb_image, when i run them it just says `out of memory` after the path of the model its trying to load |
19:15:50 | FromDiscord | <spatchler> Why is this happening? |
19:55:51 | FromDiscord | <enthus1ast> i tried to describe the issues i have in a nimbel issue https://github.com/nim-lang/nimble/issues/1124 |
20:02:50 | * | ntat quit (Quit: leaving) |
20:49:59 | FromDiscord | <yayo256> Sorry for the abruptness.↵Could you please add Japanese to language-specific?↵Sorry if I'm doing something wrong.↵(DeepL) |
21:10:24 | * | rockcavera joined #nim |
21:41:08 | * | alice quit (Remote host closed the connection) |
21:44:19 | * | alice joined #nim |
22:15:59 | * | sagax quit (Ping timeout: 246 seconds) |
22:36:38 | * | azimut quit (Ping timeout: 240 seconds) |
22:47:34 | * | jmdaemon quit (Ping timeout: 260 seconds) |