00:01:28 | FromGitter | <jrfondren> the discriminator is an enum, though? |
00:01:38 | FromGitter | <jrfondren> I have even more of that kind of code in https://github.com/jrfondren/nim-maxminddb/blob/master/src/maxminddb/node.nim#L61 |
00:01:57 | FromGitter | <jrfondren> there are fields with different types. the discriminator's an enum |
00:02:37 | FromGitter | <sealmove> yes, artiffcally. the real discriminator is code, not codeCase, which (code) can be of any type. |
00:03:44 | * | sirn quit (Ping timeout: 240 seconds) |
00:03:47 | * | fowl quit (Read error: Connection reset by peer) |
00:04:05 | * | fowl joined #nim |
00:04:57 | * | sirn joined #nim |
00:15:35 | * | kitech1 quit (Max SendQ exceeded) |
00:15:59 | * | kitech1 joined #nim |
00:16:45 | * | Jjp137 quit (Read error: Connection reset by peer) |
00:19:20 | * | Jjp137 joined #nim |
01:23:11 | FromGitter | <jrfondren> this server and openssl (cli) are both blocking on a read() at the same time. TLS negotiation works well enough in nc --ssl or when I write the client :( |
01:34:11 | * | TomDotTom quit (Ping timeout: 258 seconds) |
01:38:53 | * | Tanger joined #nim |
01:46:54 | FromGitter | <jrfondren> ok, figured it out. net protocol failure rather than ssl failure |
01:57:40 | * | abm quit (Quit: Leaving) |
02:07:00 | * | Tlangir joined #nim |
02:09:48 | * | Tanger quit (Ping timeout: 260 seconds) |
02:28:40 | * | apahl quit (Ping timeout: 268 seconds) |
02:30:11 | * | apahl joined #nim |
02:36:41 | * | dddddd quit (Ping timeout: 268 seconds) |
02:45:39 | * | dddddd joined #nim |
03:12:04 | * | muffindrake quit (Ping timeout: 240 seconds) |
03:14:25 | * | muffindrake joined #nim |
03:14:26 | * | madpata_ joined #nim |
03:17:25 | * | madpata quit (Ping timeout: 240 seconds) |
03:18:18 | jonjitsu[m] | is it possilble to create a generic `proc foo[T](a: seq[T], filler: T = ??)` where ?? is a generic default value? |
03:22:26 | jonjitsu[m] | ok, it's just default(T)... |
03:45:44 | FromDiscord | <Gyllou> anybody know of any fast graph libraries in nim? |
03:46:06 | disruptek | what happened with nvgraph? |
03:47:29 | FromDiscord | <Gyllou> i want to have options |
03:47:43 | FromDiscord | <Gyllou> in case i dont want to offload everything to the gpu |
03:48:00 | disruptek | well, you can look at gram and redesign it and i'll help impl it. |
03:48:41 | disruptek | it's oriented towards simplicity so far. it could be made it fit your goals, but it'd be a lot of work. |
03:48:53 | FromDiscord | <Gyllou> hmm yea |
03:48:58 | FromDiscord | <Gyllou> do you have a link? |
03:49:01 | disruptek | i would probably use neptune instead. |
03:49:03 | FromDiscord | <Gyllou> cant remember if you sent it before |
03:49:04 | disruptek | !repo gram |
03:49:05 | disbot | https://github.com/disruptek/gram -- 9gram: 11Generic graphs in Nim 15 11โญ 1๐ด 7& 4 more... |
03:49:32 | disruptek | dgraph is nice, too. |
03:50:02 | disruptek | i like the design of titan and it has a dynamodb datastore module, but i think it's not very widely used. |
03:50:15 | disruptek | tigergraph would be my commercial pick, i think. |
03:50:26 | FromDiscord | <Gyllou> ive used most of the on the market ones |
03:50:52 | FromDiscord | <Gyllou> i like arangdb, but i want something lighter weight than a graph db |
03:51:00 | FromDiscord | <Gyllou> just because of how im using it |
03:51:24 | disruptek | that's a multi-mode right? |
03:51:47 | FromDiscord | <Gyllou> yea |
03:51:55 | FromDiscord | <Gyllou> it was easy to use and performed pretty well |
03:52:26 | FromDiscord | <Gyllou> i used it for knowledge graph and ontology learning research |
03:53:08 | FromDiscord | <Gyllou> neptune would be took expensive |
03:53:10 | FromDiscord | <Gyllou> too |
03:53:21 | FromDiscord | <Gyllou> cloud is mostly out because of data storage |
03:53:37 | disruptek | the data changes too much? |
03:53:44 | FromDiscord | <Gyllou> too much data |
03:54:05 | Prestige | Hm is it unsafe to have an object's hash be hash(foo.unsafeAddr)? I suppose the object could be collected, and something else takes its place.. |
03:54:35 | FromDiscord | <Gyllou> amazon charges alot for storage at least for our size company lol |
03:54:36 | disruptek | depends on what you're trying to accomplish. |
03:55:11 | Prestige | just trying to add an object to a table disruptek, it doesn't really have "unique" properties to hash though |
03:55:21 | disruptek | i think of scaling storage as more of a problem of deletion -- how can you do it? -- than simply storing. storage rarely seems to be a problem. |
03:56:45 | disruptek | prestige: you can use the addr as long as you know what that means. |
03:57:08 | disruptek | don't be afraid. this is nim. |
03:57:35 | Prestige | hm it actually should be safe for this case |
04:06:01 | * | supakeen quit (Quit: WeeChat 2.9) |
04:06:36 | * | supakeen joined #nim |
04:11:03 | FromDiscord | <nikki> damn, the c code nim generates gets optimized to shreds |
04:11:20 | FromDiscord | <nikki> i was just checking out what the NRVO looks like when doing some assigns to `result[...]` to return a tuple |
04:11:33 | FromDiscord | <nikki> the proc is declared `{.inline.}` in nim |
04:12:15 | * | casaca quit (Remote host closed the connection) |
04:12:42 | FromDiscord | <nikki> but yeah the C code looks chill: declares teh result param fills it returns it (doesn't eg pass in a ptr to the original decl or sth), has an instance for it in the callsite, reads the fields out to local vars (cuz i destructure at the callsite) and carreis on... |
04:13:07 | FromDiscord | <nikki> the original proc is just reading the values off of the object, it's a 'getter' basically |
04:13:27 | FromDiscord | <nikki> anyways in the generated asm: it just optimizes it all out to directly reading from that struct in the expression later |
04:13:39 | disruptek | right. |
04:13:43 | FromDiscord | <nikki> all of that previous ceremony is gone |
04:13:44 | FromDiscord | <nikki> love it |
04:14:15 | * | casaca joined #nim |
04:14:28 | disruptek | don't try to outsmart it and you'll be fine. |
04:14:59 | * | a_chou joined #nim |
04:15:18 | FromDiscord | <nikki> i think it knows it's smarter than me |
04:15:37 | FromDiscord | <nikki> thanks, computer <gently pats it> |
04:16:40 | * | casaca quit (Remote host closed the connection) |
04:17:05 | * | casaca joined #nim |
04:30:06 | * | casaca quit (Remote host closed the connection) |
04:30:35 | * | casaca joined #nim |
04:33:11 | FromDiscord | <nikki> is there a section in the manual or a page on the site about doc comments and the various syntaxes you can use in 'em? even if it's extendable, just the default stuff |
04:33:23 | disruptek | the syntax is rst. |
04:33:27 | FromDiscord | <nikki> i ctrl+f'd around the manual but didn't find anything but also may not have searched well |
04:33:58 | FromDiscord | <nikki> disruptek: cool. i heard some markdown extns are supported? in any case outside of that is it pretty much "things starting with `##` after a decl" or is there more to it |
04:34:39 | disruptek | ## comments, or ##[ ... ]##, get stored in the ast. # (single pound) get omitted. |
04:35:14 | disruptek | there isn't really more to it. i use them extensively when i'm writing macros. |
04:36:10 | disruptek | here and there was talk of breaking ## in certain scenarios, but luckily, nothing came of it. |
04:36:24 | FromDiscord | <nikki> as in you generate doc comments? or just that you document your macros |
04:36:33 | FromDiscord | <nikki> thanks for the help btw! |
04:36:47 | disruptek | for example, a trailing ## will prevent an otherwise last expr from yielding the value for the body. |
04:37:12 | disruptek | i just use comments-in-the-ast as a way to self-document macros while writing them. |
04:37:20 | disruptek | like, complex macros. |
04:37:22 | disruptek | !repo cps |
04:37:23 | disbot | https://github.com/disruptek/cps -- 9cps: 11Continuation-Passing Style for Nim ๐ 15 39โญ 2๐ด |
04:37:29 | disruptek | !repo openapi |
04:37:30 | disbot | https://github.com/disruptek/openapi -- 9openapi: 11OpenAPI Code Generator for Nim 15 34โญ 2๐ด 7& 5 more... |
04:37:48 | disruptek | !repo carnac |
04:37:49 | disbot | https://github.com/disruptek/carnac -- 9carnac: 11magical function memoization across runtimes 15 0โญ 0๐ด |
04:40:05 | FromDiscord | <nikki> huh, interesting |
04:41:30 | FromDiscord | <nikki> also using submodules for deps: nice. i just built some C project i last worked on 6 years ago today and it builds fine, uses submodules |
04:42:34 | FromDiscord | <Zachary Carter> https://github.com/stoyannk/voxels/blob/22e1742860943d0429839b925c5472d8778d8c23/src/VoxelGrid.cpp#L42-L50 - I'm always confused by this in C/C++ |
04:42:55 | disruptek | submodules are the basis for nimph-2.0. |
04:42:57 | FromDiscord | <Zachary Carter> char holds a byte worth of data so how can its value be signed? |
04:43:20 | disruptek | sign is just a bit, man. |
04:43:22 | FromDiscord | <nikki> char is interpreted as a signed number |
04:43:23 | FromDiscord | <Zachary Carter> or does the sign occupy one of the bits? |
04:43:28 | * | a_chou quit (Quit: a_chou) |
04:43:31 | FromDiscord | <Zachary Carter> okay |
04:43:53 | FromDiscord | <Zachary Carter> so C++'s type checker doesn't care but Nim's does |
04:44:07 | FromDiscord | <Zachary Carter> so what type should one use in Nim then? |
04:44:10 | disruptek | !repo nimph |
04:44:11 | disbot | https://github.com/disruptek/nimph -- 9nimph: 11Nim package hierarchy manager from the future ๐ง 15 83โญ 5๐ด 7& 1 more... |
04:44:15 | disruptek | use whatever you want. |
04:44:28 | FromDiscord | <nikki> hmm, what are you trying to do i guess |
04:44:37 | FromDiscord | <nikki> like maybe you can work from the logic you want to accomplish and just express it |
04:44:51 | disruptek | i think the whole char vs. uint8 vs. byte thing is silly. |
04:44:53 | FromDiscord | <nikki> int8? |
04:45:01 | FromDiscord | <nikki> yeah just using int8 should work |
04:45:08 | FromDiscord | <Zachary Carter> okay |
04:45:13 | FromDiscord | <Zachary Carter> thanks |
04:45:13 | FromDiscord | <nikki> i think! still new to nim |
04:45:18 | FromDiscord | <Zachary Carter> I mean it makes sense that it would |
04:46:13 | FromDiscord | <Zachary Carter> it's still one byte of data but Nim cares more about type correctness |
04:46:21 | FromDiscord | <nikki> disruptek: cool re: nimph. i kinda saw it before. i'm not totally sure yet how i'll be handling nim deps in this main project i'm tackling (it's meant to just be a video game so i care less about being nimbley or w/e and just about making the final artifact) |
04:46:33 | FromDiscord | <Zachary Carter> whare you building nikki? |
04:46:35 | FromDiscord | <Zachary Carter> what kind of game? |
04:46:41 | FromDiscord | <nikki> the setup right now is that nim generates C that then is fed to CMake along with some vendored C deps (such as sdl2, sdl-gpu, ...) |
04:46:59 | FromDiscord | <nikki> just cuz i already had a cmake setup for all that to work on web + desktop + mobile |
04:47:38 | FromDiscord | <nikki> @Zachary Carter i've already been working on it in C++, it's ... kind of point n click but also kind of physicsy. mostly "top angled view" though |
04:47:44 | FromDiscord | <Zachary Carter> cool |
04:47:46 | FromDiscord | <nikki> could show in #gamedev |
04:47:52 | FromDiscord | <Zachary Carter> yeah that'd be neat |
05:11:37 | FromDiscord | <nikki> disruptek: the "total interoperability with Nimble" point seems important (from the features list in nimph) |
05:11:43 | FromDiscord | <nikki> how well does that work out in practice? |
05:12:14 | FromDiscord | <nikki> the rest of the stuff seems p good |
05:13:38 | FromDiscord | <nikki> having a list of common tasks in the 'Usage' section is a really good idea, docs-wise |
05:18:16 | * | NimBot joined #nim |
05:33:44 | * | bung joined #nim |
05:35:36 | * | narimiran joined #nim |
05:38:03 | * | opal quit (Ping timeout: 240 seconds) |
05:42:48 | ForumUpdaterBot | New thread by Kamek: Where to request code review?, see https://forum.nim-lang.org/t/7029 |
05:43:55 | FromDiscord | <iWonderAboutTuatara> I figured out why godot-nim wasn't workking |
05:44:44 | FromDiscord | <iWonderAboutTuatara> I need to install Nim on my windows machine, but choosenim is giving me problems |
05:44:55 | FromDiscord | <iWonderAboutTuatara> running `choosenim 1.4.0` gives the following error |
05:45:06 | FromDiscord | <iWonderAboutTuatara> Unable to extract. Error was 'Access is denied. |
05:45:10 | FromDiscord | <iWonderAboutTuatara> (edit) "Unable" => "`Unable" | "denied." => "denied.`" |
05:45:17 | FromDiscord | <iWonderAboutTuatara> `... Additional info: "(\"C:\\\\Users\\\\Admin\\\\AppData\\\\Local\\\\Temp\\\\nimarchive-243346665\\\\nim-1.4.0\\\\c_code\", \"C:\\\\Users\\\\Admin\\\\.choosenim\\\\toolchains\\\\nim-1.4.0\\\\c_code\")"'.` |
05:45:26 | FromDiscord | <iWonderAboutTuatara> my username is Admin on this computer |
05:45:32 | FromDiscord | <iWonderAboutTuatara> if anyone has any ideas, please help me out |
05:45:53 | FromDiscord | <iWonderAboutTuatara> alternatively, if I can use godot-nim using nim from WSL, please also @ me |
06:03:48 | FromDiscord | <iWonderAboutTuatara> still haven't found a fix |
06:04:08 | FromDiscord | <flywind> I often encounter this issue. Maybe you can restart the computer. |
06:04:23 | FromDiscord | <flywind> in windows |
06:04:40 | FromDiscord | <iWonderAboutTuatara> does that fix it? |
06:04:46 | FromDiscord | <iWonderAboutTuatara> I'll try that for sure then |
06:11:32 | FromDiscord | <flywind> You can also download them from website by hand and put them in the right directory. |
06:12:25 | FromDiscord | <flywind> for example put them in `C:\Users\USERNAME\.choosenim\toolchains` |
06:14:04 | FromDiscord | <flywind> If you need devel build, you could also download them from nightlies and unzip them to the directory(giving a right name). |
06:14:06 | FromDiscord | <flywind> https://github.com/nim-lang/nightlies/releases |
06:14:37 | FromDiscord | <flywind> https://media.discordapp.net/attachments/371759389889003532/773429976691245107/unknown.png |
06:17:54 | * | solitudesf joined #nim |
06:20:49 | FromDiscord | <iWonderAboutTuatara> That's what I'm doing right now |
06:29:03 | * | mbomba quit (Quit: WeeChat 2.9) |
06:55:16 | FromDiscord | <tinygiant> sent a code paste, see https://play.nim-lang.org/#ix=2CXv |
06:55:50 | FromDiscord | <tinygiant> (edit) "https://play.nim-lang.org/#ix=2CXv" => "https://play.nim-lang.org/#ix=2CXw" |
06:58:04 | FromDiscord | <lqdev> `for i, value in mySeq` |
06:58:11 | FromDiscord | <lqdev> `for key, value in myTable` |
07:03:52 | FromDiscord | <tinygiant> sent a code paste, see https://play.nim-lang.org/#ix=2CXF |
07:06:51 | * | mmohammadi9812 quit (Read error: Connection reset by peer) |
07:09:29 | * | mmohammadi9812 joined #nim |
07:16:51 | FromDiscord | <tinygiant> Ok, that iterated through the table and returned everything, thanks for the pointer. As a bonus, I just learned why `i, v` works as it wasn't readily apparent when I first saw it, so thanks for that! Do I need to continue nesting for the comparison to the other data set or is there a better way to do that? |
07:22:45 | * | mmohammadi9812 quit (Ping timeout: 240 seconds) |
07:23:06 | * | mmohammadi9812 joined #nim |
07:51:13 | FromDiscord | <lqdev> i'm not sure what your intent is. |
07:51:59 | FromDiscord | <lqdev> there's no point in doing `instance[k, MyType1][i]` btw. that's what the second variable in the outer loop is. |
07:52:42 | FromDiscord | <lqdev> also, if you need key-value pairs you'll need to use `fieldPairs`, not `fields` |
07:56:41 | FromDiscord | <tinygiant> Ok, Thanks for the help tonight. I'll put it together in the morning and see where I end up. |
08:04:11 | * | natrys joined #nim |
08:11:36 | bung | am debuging nimlsp , I got `Error: unhandled exception: /Users/bung/.choosenim/toolchains/nim-#devel/compiler/options.nim(586, 3) `not conf.outDir.isEmpty` [AssertionDefect]` see https://pastebin.com/JmdpzdVW |
08:14:41 | * | krux02 joined #nim |
08:17:52 | * | habamax joined #nim |
08:25:51 | * | krux02 quit (Remote host closed the connection) |
08:26:20 | * | krux02 joined #nim |
08:34:21 | FromDiscord | <Varriount> bung: Looks like the compiler is expecting an output directory to be empty. What does the `outDir` option mean in Nim's configuration file? |
08:34:56 | bung | .out file's dir |
08:35:40 | FromDiscord | <Varriount> Does that directory exist? Is it accessible? |
08:36:40 | bung | I dont know why it is empty string |
08:38:15 | FromDiscord | <Varriount> It's an empty string? |
08:38:34 | bung | am exporting prettyPrint proc in nimpretty.nim file, others nim core files didn't touched |
08:40:12 | * | Tlangir quit (Quit: Leaving) |
08:42:17 | bung | drwxr-xr-x 8 bung staff 256 Nov 4 16:03 nimlsp |
08:43:54 | FromDiscord | <Varriount> Is it only this project? What happens when you use the language server work other Nim projects? |
08:50:50 | bung | I tried 3 projects same. |
08:52:26 | bung | Initialising project with /Users/bung/nim_works/nimlsp/src/nimlsp.nim:/Users/bung/.choosenim/toolchains/nim-#devel |
08:52:46 | bung | the debug info shows pathes correct to me. |
08:56:28 | bung | oh, I got something, wait. |
09:00:12 | * | k0mpjut0r quit (Quit: Idle for 30+ days) |
09:16:25 | ForumUpdaterBot | New question by Aquachain: nim: Use a static library, see https://stackoverflow.com/questions/64677151/nim-use-a-static-library |
09:18:20 | * | PMunch joined #nim |
09:21:00 | bung | dont know now, debug info show paths correct. |
09:24:29 | bung | @PMunch do you faced `nim-#devel/compiler/options.nim(586, 3) `not conf.outDir.isEmpty` [AssertionDefect]` during developing nimlsp ? |
09:25:03 | PMunch | Hmm, I don't remember that error. But I wouldn't be surprised if I did.. |
09:26:15 | bung | am trying add formatting feature, thought it is easy. |
09:33:49 | PMunch | Oh cool |
09:34:35 | PMunch | Weird that you get that error though |
09:49:41 | * | Tanger joined #nim |
09:54:57 | bung | well, so much error, when use your master branch with nim devel I get `illformed AST` , with nim stable I get `illformed AST` other two places :( |
09:55:16 | PMunch | On the master branch? |
09:55:30 | PMunch | That's strange, I built that just the other day |
09:56:03 | * | Yardanico quit (Ping timeout: 272 seconds) |
09:56:30 | bung | yeah, with master and 1.4 , but it doesn't shutdown, others will shutdown |
09:56:59 | * | Yardanico joined #nim |
09:56:59 | PMunch | Wait, while building or while running? |
09:57:38 | bung | running with vscode-nim-lsp |
09:57:39 | PMunch | I just cloned it and built with `nimble build` without any issues on 1.4.0 |
09:57:43 | PMunch | Ah right |
09:58:02 | PMunch | Still strange though, works fine with vimlsp for me |
09:58:20 | PMunch | do you have the log file? |
09:58:44 | bung | master and 1.4 or others ? |
09:59:19 | PMunch | Yeah, master and 1.4 |
09:59:59 | bung | https://pastebin.com/XtGDa83y |
10:03:46 | PMunch | Hmm, could you try to pass in -d:explicitSourcePath? |
10:05:29 | * | natrys_ joined #nim |
10:07:20 | * | hnOsmium0001 quit (Quit: Connection closed for inactivity) |
10:08:22 | * | natrys quit (Ping timeout: 246 seconds) |
10:15:26 | bung | does that matters , it should be /Users/bung/.choosenim/toolchains/nim-1.4.0 right ? |
10:17:45 | PMunch | Yeah |
10:18:23 | * | Axiomatic quit (Remote host closed the connection) |
10:18:40 | PMunch | And run nimlsp with the same path |
10:18:44 | * | Axiomatic joined #nim |
10:24:08 | bung | I've create formatting branch https://github.com/bung87/nimlsp/commits/formatting |
10:24:21 | bung | if you intersted to fix |
10:24:57 | bung | need exporting proc and type in nimpretty.nim |
10:31:10 | * | opal joined #nim |
10:32:19 | FromGitter | <gogolxdong> communicating in UDP, got Message too long, what is the valid length of message? |
10:33:18 | * | mmohammadi9812 quit (Ping timeout: 260 seconds) |
10:33:35 | * | mmohammadi9812 joined #nim |
10:34:00 | PMunch | Well UDP supports up to 4096 bytes IIRC, but some routers don't support more than 512 |
10:35:23 | PMunch | Oh, apparently the max is 65,507 for the message part |
10:36:14 | PMunch | Some more info: https://stackoverflow.com/questions/1098897/what-is-the-largest-safe-udp-packet-size-on-the-internet |
10:37:49 | FromGitter | <gogolxdong> that's helpful, 65507 works, thanks! |
10:55:29 | federico3 | https://phantomdox.readthedocs.io/en/latest/ a non-unix kernel with persistent memory |
10:57:56 | federico3 | PMunch: 512 is pretty tiny. You can discover MTU with traceroute --udp --mtu |
10:59:40 | PMunch | True, but if you want to make absolutely sure to not be chunked |
11:08:51 | * | Aquachain joined #nim |
11:15:08 | * | Aquachain quit (Remote host closed the connection) |
11:25:51 | PMunch | Going to stream more this evening, showing my fix for the dbus issue and the docopt issue, implementing ninepatches for hovers, handling of global keyboard shortcuts for notifishower, and hopefully handling of icons for notificatcher. |
11:26:03 | PMunch | Aiming to start at UTC 18:00 |
11:40:29 | federico3 | PMunch: chunked? |
11:41:40 | PMunch | I guess fragmentation is the word that is more commonly used |
11:42:33 | * | lritter joined #nim |
11:43:14 | federico3 | there's the don't fragment flag for that |
11:43:25 | federico3 | and fragmentation is very uncommon now |
12:01:39 | * | TomDotTom joined #nim |
12:06:02 | * | supakeen quit (Quit: WeeChat 2.9) |
12:06:34 | * | supakeen joined #nim |
12:28:07 | PMunch | Oh for sure, I was just trying to tell the whole story |
12:28:30 | PMunch | I mean there is also an RFC for even larger UDP packages |
12:29:46 | * | solitudesf quit (Ping timeout: 246 seconds) |
12:31:42 | * | solitudesf joined #nim |
12:39:17 | * | apahl quit (Ping timeout: 260 seconds) |
12:39:48 | * | apahl joined #nim |
12:41:00 | PMunch | Hmm, what would be the best way to open a file, read to the end, and then run something every time to file updates. |
12:42:16 | federico3 | inotify? |
12:42:36 | federico3 | you want to monitor the file for writes from other applications? |
12:42:42 | PMunch | Yes |
12:42:52 | PMunch | I'm basically trying to read the log output from HexChat |
12:43:29 | federico3 | I use my fswatch wrapper |
12:47:34 | * | lritter quit (Quit: Leaving) |
12:48:49 | PMunch | But that just tells me that the file has changed? |
12:49:05 | PMunch | I guess I could read it with a stream and use stream.setPosition to skip what I have already read |
12:50:24 | FromGitter | <jrfondren> easiest way, tail -F the file and stream the output. best way: reimplement tail -F |
12:51:01 | PMunch | Hmm, true |
12:51:04 | PMunch | That would work |
12:57:42 | * | Vladar joined #nim |
12:57:43 | federico3 | PMunch: it depends on the write pattern. Is the other application appending? |
12:58:48 | * | Tanger quit (Quit: Leaving) |
12:58:51 | PMunch | Think so yeah |
12:58:56 | PMunch | It's HexChat just writing logs |
12:59:01 | federico3 | regardless, if you want to be notified of new writes you still have to use the inotify/watch syscalls or do polling |
12:59:02 | PMunch | Can't imagine it's doing anything else |
12:59:20 | federico3 | ...rotating the file? |
12:59:27 | PMunch | I guess.. |
13:00:00 | FromGitter | <jrfondren> detecting rotations is part of the function of tail -F |
13:00:33 | PMunch | https://hexchat.readthedocs.io/en/latest/faq.html#how-do-i-rotate-log-files-every-so-often |
13:00:41 | PMunch | Ah, apparently there is no rotation by default |
13:01:18 | PMunch | Huh, and I have 158Mb of IRC logs :P |
13:03:23 | FromDiscord | <lqdev> that's like, less than 20MB. it's tiny. |
13:03:52 | PMunch | Oh sorry, was supposed to be a capital B |
13:04:22 | FromDiscord | <lqdev> lo |
13:04:26 | FromDiscord | <lqdev> lol |
13:04:55 | Zevv | 1 bit is 125 millibyte |
13:05:38 | PMunch | Haha :P |
13:05:49 | PMunch | I'm going to start referring to them as millibytes :P |
13:08:42 | federico3 | still too reasonable. Use bit-ounces, bit-pounds... |
13:08:49 | * | abm joined #nim |
13:09:27 | * | lritter joined #nim |
13:10:01 | PMunch | Haha, I mean it's already kinda like that with 8 bits in a byte |
13:11:02 | PMunch | Hmm, interesting |
13:11:13 | PMunch | Nimlsp was pegging one of my cores at 100% |
13:11:34 | PMunch | That's not good |
13:13:53 | federico3 | PMunch: could be 9... |
13:14:03 | PMunch | True |
13:30:32 | PMunch | Damn, all my channels are so slow today that it's hard to debug IRC messages stuff :P |
13:35:07 | jonjitsu[m] | out of the three nim vscode plugins which one is the best? They all seem to get the indentation wrong using 4 instead of 2... |
13:37:33 | PMunch | Are you sure that setting is controlled by the plugin? |
13:37:40 | FromDiscord | <Rika> Thatโs dependent on your vscode settings |
13:37:46 | FromDiscord | <Rika> Not the plug-in |
13:39:19 | PMunch | Hmm, is there a similar syntax to `let (x, y) = someProc()` for sequences? |
13:39:26 | PMunch | That just discards the rest? |
13:40:14 | FromDiscord | <Rika> No, you can use the unwrap (I forgot the actual name) module though |
13:40:16 | jonjitsu[m] | Like a generic 4 spaces for all languages? That would be weird, but I'll check.. Does nim lsp work better than nimsuggest? |
13:40:31 | FromDiscord | <Rika> No, nimlsp uses nimsuggest |
13:40:55 | jonjitsu[m] | ahh so they're cheating.. :) |
13:41:21 | FromDiscord | <Rika> Not really |
13:41:32 | FromDiscord | <Rika> Depends on what you consider better |
13:41:56 | FromDiscord | <Rika> If you want an lisp then of course nimlsp is better but in terms of suggestion quality theyโre the same |
13:42:06 | PMunch | nimsuggest is a library as well as a separate program |
13:42:09 | FromDiscord | <Rika> I mean, lsp not lisp |
13:43:35 | PMunch | In general a direct nimsuggest plug-in could be better, but the idea is that everyone can collaborate on NimLSP so that you don't have to spend dev-time on each editor and still have a great result in all of them |
13:47:14 | Zevv | How many users does nimlsp have, compared to nimsuggest? |
13:47:30 | PMunch | I dunno, it's not like I track analytics.. |
13:55:32 | Zevv | you should, everybody's doing it! |
14:02:42 | PMunch | Yeah I've heard it's all the rage |
14:07:23 | FromDiscord | <shashlick> @iWonderAboutTuatara what version of choosenim do you have |
14:10:08 | * | pbb quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
14:11:23 | * | nsf joined #nim |
14:11:30 | * | pbb joined #nim |
14:14:46 | * | nsf quit (Client Quit) |
14:39:24 | * | mmohammadi9812 quit (Ping timeout: 256 seconds) |
14:41:44 | ForumUpdaterBot | New thread by Tutamona_io: How to measure HttpClient request total time, see https://forum.nim-lang.org/t/7030 |
14:45:01 | * | mmohammadi9812 joined #nim |
14:47:16 | PMunch | Hmm, is there a good way to escape things for putting it in a terminal command? |
14:53:27 | FromDiscord | <lqdev> PMunch: maybe this? https://nim-lang.org/docs/os.html#quoteShell%2Cstring |
14:55:56 | PMunch | Found a better way of handling it :) |
15:04:17 | PMunch | Okay, I'm off to get some dinner. As I said, trying to start tonights stream at 18:00 UTC |
15:04:27 | * | PMunch quit (Quit: leaving) |
15:18:41 | Zevv | dude |
15:18:45 | Zevv | 18:00, that's dinner time |
15:18:53 | Zevv | if you live in UTC |
15:44:18 | * | Vladar quit (Quit: Leaving) |
15:51:58 | disruptek | @clyybber |
15:52:01 | disruptek | !repo carnac |
15:52:02 | disbot | https://github.com/disruptek/carnac -- 9carnac: 11magical function memoization across runtimes 15 0โญ 0๐ด |
16:00:11 | * | stisa[m] quit (Quit: Idle for 30+ days) |
16:07:07 | FromDiscord | <shashlick> @Zachary Carter https://stackoverflow.com/questions/64677151/nim-use-a-static-library |
16:10:57 | disruptek | if a macro creates a new /func/ with /strictFuncs/ enabled but it's sem'd in a file without /strictFuncs/ then is it still strict? |
16:11:14 | Zevv | dude. really |
16:11:18 | Zevv | memoization to disk |
16:11:48 | disruptek | well, it's a simpler demo of typed macro bugs. |
16:18:32 | * | tane joined #nim |
16:24:09 | Zevv | well, just make it untyped then! |
16:33:47 | * | natrys_ quit (Quit: natrys_) |
16:34:04 | * | natrys joined #nim |
16:51:38 | * | TomDotTom quit (Ping timeout: 272 seconds) |
17:01:30 | habamax | hi, can I suppress dots in nim compile? |
17:01:43 | habamax | in the output .... |
17:02:15 | * | hnOsmium0001 joined #nim |
17:05:16 | solitudesf | --hint[Processing]:off |
17:08:04 | habamax | solitudesf: thank you! |
17:24:33 | * | madpata_ quit (Quit: Lost terminal) |
17:33:13 | * | PMunch joined #nim |
17:34:14 | * | habamax quit (Ping timeout: 264 seconds) |
17:36:38 | disruptek | Zevv: that reminds me of Western Union. |
17:40:33 | disruptek | so a dog walks into Western Union. |
17:40:45 | disruptek | the dog's like, "i need to send a telegram." |
17:40:55 | disruptek | clerk's like, "okay, what do you want it to say?" |
17:41:36 | disruptek | dog says, "woof woof woof woof woof woof woof woof woof." |
17:42:01 | disruptek | clerk says, "hmm, that's nine words. you can add another `woof` for the same price." |
17:42:14 | disruptek | dog just looks at the clerk and blinks slowly. |
17:42:25 | disruptek | "well, that wouldn't make any sense..." |
17:43:05 | disruptek | hearts and minds, people; hearts and minds! |
17:44:31 | PMunch | Haha, what? |
17:45:00 | PMunch | Zevv, I just ate dinner |
17:45:12 | PMunch | But then again I live in UTC+1 |
17:45:18 | PMunch | +2 in summer |
17:49:27 | federico3 | PMunch: live.. where? |
17:49:40 | PMunch | Stream is live, will start streaming at 18:00 UTC https://www.twitch.tv/pmunche |
17:59:17 | * | habamax joined #nim |
18:19:55 | * | TomDotTom joined #nim |
18:33:25 | narimiran | federico3: PMunch is in Norway |
18:33:35 | narimiran | ...and somewhere waaay north |
18:33:47 | federico3 | narimiran: I mean on what platform :D |
18:34:02 | narimiran | oh, "live" not "live" :) |
18:38:16 | * | nekits0 joined #nim |
19:01:21 | * | xet7 quit (Quit: Leaving) |
19:04:26 | ForumUpdaterBot | New thread by Kamek: First Nim package: Euler angle command line utility. Feedback appreciated!, see https://forum.nim-lang.org/t/7031 |
19:06:52 | * | xet7 joined #nim |
19:10:40 | FromDiscord | <zetashift> I have mixed feelings about this ForumUpdaterBot |
19:12:18 | federico3 | (yay for Dvorak) |
19:13:47 | FromDiscord | <tinygiant> sent a code paste, see https://play.nim-lang.org/#ix=2D1s |
19:19:37 | * | mmohammadi9812 quit (Ping timeout: 265 seconds) |
19:21:18 | FromDiscord | <zetashift> uh you could do an if statement returning the row where index == 0 |
19:21:32 | FromDiscord | <zetashift> not sure why you would use it like that |
19:22:01 | FromDiscord | <zetashift> awesome beard @PMunch |
19:24:27 | FromDiscord | <tinygiant> WHat would that if look like? I've been unable to find a good reference on how to reference tables in nim. The tables module talks to all the procedures and types, but I didn't catch anything that said Table Row 1 is reference with a [0], like it does with other containers. |
19:24:56 | FromDiscord | <tinygiant> (edit) "reference" => "referenced" |
19:25:01 | Zevv | nobody cares about your nimming PMunch. It's only the beard. |
19:25:06 | FromDiscord | <tinygiant> (edit) "WHat" => "What" |
19:25:21 | FromDiscord | <zetashift> Y E S ! |
19:26:36 | FromDiscord | <zetashift> how does your table look like @tinygiant / |
19:27:33 | FromDiscord | <zetashift> (edit) "how" => "what" |
19:27:46 | FromDiscord | <zetashift> (edit) "/" => "?" |
19:28:03 | FromDiscord | <tinygiant> Just this --> `TableRef[string, int]` FIrst row has special indicators that I can use to compare whether the record is interesting to me, the rest of the rows are the actual data. Technically, the first row is also part of the same data, but it's ordered first to help with comparison. |
19:29:40 | FromDiscord | <tinygiant> (edit) "comparison." => "comparison of multiple datasets." |
19:30:06 | FromDiscord | <zetashift> so a small version of your table would be `let table = {"foo": 44, "bar": 33, "nim" : 11}.toTableRef() `and you want to get `foo: 44` out of it? |
19:30:12 | FromDiscord | <FreezerburnVinny> sent a long message, see http://ix.io/2D1C |
19:30:36 | * | mmohammadi9812 joined #nim |
19:31:19 | FromDiscord | <tinygiant> @zetashift Yeah, pretty much, and even better if I can grab it during the mapIt iteration to allow comparison to other datasets. |
19:31:20 | FromDiscord | <FreezerburnVinny> (edit) "http://ix.io/2D1C" => "https://paste.rs/1bC" |
19:33:44 | FromDiscord | <zetashift> I think you might be better off with an OrderedTable then |
19:34:04 | FromDiscord | <zetashift> since TableRef is a hashmap and thus order isn't guarenteed |
19:34:32 | FromDiscord | <zetashift> and it has a `first` property |
19:38:52 | FromDiscord | <haxscramper> @FreezerburnVinny 1: `distinc tpointer` is a purely (well, mostly) nim type, so in order to generate `id` you actually need to do `` type ID{.importcpp: r"id", header: cxheader.} = object`` - for objective-C it should be roughly the same. This will generate `id` type in code. |
19:39:26 | FromDiscord | <haxscramper> 2) For putting string in the code you need to use `{.emit: "String".}` in place where you need this string to be inserted |
19:39:46 | * | habamax quit (Remote host closed the connection) |
19:39:56 | FromDiscord | <haxscramper> 3) Most likely `UncheckedArray` |
19:42:02 | FromDiscord | <haxscramper> 4) Wrapping heavily-OOP code in nim is not really simple task (most problems come up when you try to make it look more idiomatic in nim). The Simplest solution would be to just `importc` all methods for parent object, then do the same for derived + add new methods and so on. Maybe using typeclasses will help, but i"m not sure about this |
19:42:27 | FromDiscord | <FreezerburnVinny> sent a code paste, see https://play.nim-lang.org/#ix=2D1N |
19:43:09 | FromDiscord | <FreezerburnVinny> Raw `object` isn't great because all `id` can be nil/null |
19:43:34 | FromDiscord | <haxscramper> `ptr object` is `SomeType`, `distinct pointer` is a `void`. In nim `pointer` is a separate type, for working with opaque data that does not have specific type |
19:43:45 | FromDiscord | <haxscramper> Can you show the nim code? |
19:44:56 | FromDiscord | <FreezerburnVinny> sent a code paste, see https://play.nim-lang.org/#ix=2D1O |
19:45:06 | FromDiscord | <FreezerburnVinny> (edit) "https://play.nim-lang.org/#ix=2D1O" => "https://play.nim-lang.org/#ix=2D1P" |
19:45:14 | FromDiscord | <FreezerburnVinny> (edit) |
19:45:51 | FromDiscord | <FreezerburnVinny> (there's a lot more but that's specifically for the warning I showed above, everything else is effectively the same thing but different names) |
19:46:50 | FromDiscord | <tinygiant> @zetashift is good to learn that, unfortunately I don't get a say in it. I'm pulling from a dataset through a provided library, so I have to make do with what I'm given for now. Can I transform the TableRef into an ordered table to get the value I need? Time to do some more reading. |
19:47:13 | FromDiscord | <haxscramper> Side note: I'm not entirely sure how C's pointers would translate into nim and back, so you might want to just use `object` and not `ptr object`. |
19:47:26 | FromDiscord | <haxscramper> Because it might generate double pointers in the end, if original type was a poitner too |
19:47:50 | FromDiscord | <ElegantBeef> Dont you typically use `pointer` for interop with C/C++? |
19:47:58 | FromDiscord | <haxscramper> No |
19:48:04 | FromDiscord | <FreezerburnVinny> If I did that how would I pass `nil` as a parameter in places where that's supported? |
19:48:05 | FromDiscord | <haxscramper> Only when there is a opaque data |
19:48:37 | FromDiscord | <FreezerburnVinny> These are all effectively opaque btw. You only access anything via ObjC message passing |
19:48:58 | FromDiscord | <FreezerburnVinny> (except for some types I think) |
19:49:24 | FromDiscord | <haxscramper> Okay, so the question is - how to wrap things like `using PtrType = SomeType` and make it behave like pointer in nim too? Like passing nil and other things? |
19:50:34 | FromDiscord | <FreezerburnVinny> Yeah basically. And not have nigh-infinite Clang warnings. Technically I can just ignore them because they still work, but I'd like the generated code to be clean if possible |
19:51:55 | FromDiscord | <FreezerburnVinny> The underlying code that does the message passing only cares that the pointer it gets is to something valid and that it supports the message, but it's still going to generate a Clang warning for each instance of using an incorrect type even if it compiles and runs fine |
19:52:04 | FromDiscord | <zetashift> @tinygiant yes https://nim-lang.org/docs/tables.html#toOrderedTable,openArray[] |
19:53:13 | FromDiscord | <zetashift> Also I see the docs look got updates, but I find the `procs`section in the tables doc hard to parse |
19:53:51 | FromDiscord | <zetashift> this section https://media.discordapp.net/attachments/371759389889003532/773636143350677524/Screenshot_2020-11-04_tables.png |
19:56:04 | FromDiscord | <nikki> hmm newUTF8String returns an NSString, not an NSString |
19:56:17 | FromDiscord | <tinygiant> @zetashift I found the entry and procs. Not sure ordered table would do it either, but I'll run some experiments to find out. Thanks for your help. |
19:56:35 | ForumUpdaterBot | New thread by Mrhdias: Someone have an idea on how to implement a `[][]=` function?, see https://forum.nim-lang.org/t/7032 |
19:56:37 | FromDiscord | <nikki> so you probably want to importc NSString but then say that that method returns a ptr NSString |
19:57:03 | FromDiscord | <FreezerburnVinny> Ah, that's a good point, I hadn't thought of doing that. I've only been trying importc the pointer type for some reason... |
19:57:47 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=2D1Y |
19:57:51 | FromDiscord | <nikki> yeah if you find yourself saying ptr X a lot and want to say it less, you can also say type XPtr = ptr X or name X itself XObj and then do type X = ptr XObj |
19:58:35 | FromDiscord | <haxscramper> So I'm out of ideas at the moment. Maybe this is something obj-C specific that I don't know |
19:59:14 | FromDiscord | <zetashift> @tinygiant good luck! feel free to ask here or on the forum if you get stuck |
19:59:38 | FromDiscord | <nikki> i don't think starting with id and then making distinct versions of that is the right approach, probably better to importc each type on its own |
20:00:04 | FromDiscord | <nikki> id binds to all types, but you lose the information that lets you call those messages which is why you get the warnings |
20:00:33 | FromDiscord | <tinygiant> I will. Lots of good help here and tolerance for us new guys with the low-end questions. |
20:00:47 | FromDiscord | <ElegantBeef> Depends on who's on when asking ๐ |
20:04:53 | FromDiscord | <FreezerburnVinny> sent a long message, see http://ix.io/2D24 |
20:06:08 | FromDiscord | <nikki> this may not be a great answer but i think i would start by re importing the message per type i end up using it with |
20:06:13 | FromDiscord | <nikki> if it's mostly for a wrapper |
20:06:27 | FromDiscord | <nikki> because that actually clarifies all ways you're using a message / proc which is nice |
20:07:08 | FromDiscord | <nikki> but if you end up using it so many ways that that's untenable, that particular proc could just take a 'pointer' yeah. i think that the proc should take a pointer but the type itself should still be the particular type |
20:07:35 | FromDiscord | <nikki> bc. the type is the reason it declares void variables on the generated code |
20:07:47 | FromDiscord | <nikki> (edit) "on" => "in" |
20:09:29 | FromDiscord | <nikki> but yeah the example: if you end up using the 'target' properly mostly for NSView, then maybe just import it on that type, and then if you use it for some other type then that one; and if it ends up just being two types you use it on, i think it's worth importing twice for just those two types |
20:09:41 | FromDiscord | <nikki> because it documents "these are the types i'm using it for" |
20:10:13 | * | vicfred quit (Remote host closed the connection) |
20:10:41 | * | vicfred joined #nim |
20:12:46 | FromDiscord | <FreezerburnVinny> Hm, possibly. That's going to work for code internal to the Cocoa bindings, though if I make any automagic that can bind whatever to a target type, I'll have to rethink it. Thankfully I'm currently doing a workaround where I emit a "callback handler" type that gets a C function pointer and can be assigned to these situations in order to let any Nim proc be the handler for a target, so I could just have the type be that class in g |
20:14:20 | FromDiscord | <FreezerburnVinny> But I've been thinking about eventually making a macro that can generate something on the fly that avoids the double callback overhead if possible (Cocoa class -> target callback -> C function callback written in Nim) |
20:15:40 | FromDiscord | <nikki> yeah if you "type erase" the nim-facing callback type that way you would just need a single type on the wrapper side |
20:16:51 | FromDiscord | <nikki> if you can pass it a cdecl nim function (for the second thing you want to do where you use a macro) -- maybe you can just have an import for the signature that that function comes out to be |
20:17:29 | FromDiscord | <nikki> the main thing there is if the nim handler is a closure, then you need some way to store a data payload in the wrapper side, get that payload back out and call it |
20:20:49 | Zevv | man, me gusta --expandArc, I totally missed the fact that this exists |
20:21:20 | FromDiscord | <FreezerburnVinny> Yeah. For now anywhere Nim can provide a callback I'm marking it `.cdecl.` and not supporting closures for now. At some point I'll probably try to think about allowing an arbitrary "data" value, a la scripting languages that allow for defining custom functions and usually will carry a `void ` data value you can cast back to a type if you want something for handling that function. (e.g.: Tcl or Lua) |
20:22:01 | Zevv | hey disruptek |
20:22:05 | Zevv | how you're holding up |
20:22:59 | FromDiscord | <nikki> tbh if this is for ui code, i think the "overhead" of going through two callbacks may not be discernible since it's happening at ui rates. it would matter mostly for callbacks that are called tons of times per frame. and yeah you could just store the closure in the void data and get it back |
20:24:52 | FromDiscord | <FreezerburnVinny> Depends: if we're talking about a list then there might be an arbitrary number of callbacks to handle things like "how big is this cell?" or retrieving data for cells, etc. (though still might end up negligable in the end, so I'm honestly not worried about the overhead at this point, which is why I'm just leaving it as it is and thinking about possible future things that might be largely to make it nicer to work with the UI code) |
20:28:02 | FromDiscord | <nikki> hmm; callbacks as api design for those things don't seem so great |
20:28:31 | FromDiscord | <nikki> but i when wrapping we're not the ones making those choices i guess ๐
|
20:29:05 | FromDiscord | <nikki> are you wrapping UIKit / iOS too? i'd be interested in that ๐ |
20:29:15 | disruptek | Zevv: gotta block this FromDiscord guy; he's too spammy. |
20:30:30 | FromDiscord | <FreezerburnVinny> At some point I'll likely get to UIKit / iOS assuming my interest in working on this keeps for that long. But yeah Cocoa/UIKit has a TON of "this thing needs to implement these messages or has a target of anything and a message type it can send to that thing" to implement stuff |
20:30:44 | Zevv | yeah who is that I wonder |
20:30:49 | disruptek | is it surprising that one cannot hash a strtabs table? |
20:30:52 | FromDiscord | <FreezerburnVinny> ObjC is kinda like Ruby in a lot of ways |
20:30:57 | Zevv | I feel we need a #nim-old-farts IRC channel |
20:31:06 | FromDiscord | <nikki> yeah the "needs to implement this protocol" stuff; always been kinda meh on that |
20:31:14 | Zevv | why can one not hash a strtabs table |
20:31:21 | nikki93 | sup irc ppl |
20:31:22 | Zevv | and who uses strtabs anyway |
20:31:49 | disruptek | i realized the other day that i might be the oldest nimskull in the community. |
20:32:10 | Zevv | only the other day? |
20:32:25 | FromDiscord | <FreezerburnVinny> Honestly I like the protocol and optional message and all that sorta stuff design. I'm kind of a huge fan of message passing in general |
20:32:26 | Zevv | that was kind of plain & clear, right |
20:32:30 | disruptek | well, gordon used to have that title but, y'know, i think covid got'im. |
20:32:38 | Zevv | who's gordon? |
20:32:46 | disruptek | gordonbgood |
20:32:54 | Zevv | oh yeah what happened there |
20:33:01 | disruptek | i just told you. |
20:33:04 | FromDiscord | <UNIcodeX> Gordon Freeman is dead!? |
20:33:04 | FromDiscord | <nikki> i think message passing stuff is good, for sure. but it makes sense to me ar a higher level than language text level |
20:33:13 | disruptek | teh covid takes no prisoners. |
20:33:33 | FromDiscord | <nikki> like, as messaging between objects that are edited from a UI of some sort, as it was in Smalltalk |
20:33:42 | Zevv | there was this other guy that was quite active, I forgot his name, and he disappeared from #nim one day to the next. A few months later I found him on github, all his green squares went white |
20:33:42 | disruptek | blizzard activision made 1.2 billion in 3mos on microtransactions. |
20:33:50 | disruptek | 100MM per week. |
20:34:13 | Zevv | and then two months later a commit in an open source firmware for some medical machine |
20:34:46 | FromDiscord | <nikki> but yeah if this kind of api speaks to you then Cocoa coding should be fun ๐ฎ haha |
20:34:48 | FromDiscord | <zetashift> That story for some reason reminds me of LemonBoy |
20:34:52 | FromDiscord | <FreezerburnVinny> sent a code paste, see https://play.nim-lang.org/#ix=2D26 |
20:34:53 | disruptek | gee, i wonder what happened there. |
20:35:03 | Zevv | dang, who was that again |
20:35:06 | FromDiscord | <nikki> might be good to use some external past website ๐ค |
20:35:13 | FromDiscord | <FreezerburnVinny> Sure |
20:35:13 | FromDiscord | <nikki> paste |
20:35:40 | FromDiscord | <UNIcodeX> https://media.tenor.com/images/c88edfb9804fea2887ead10554cc78b8/tenor.gif |
20:36:19 | FromDiscord | <FreezerburnVinny> https://gist.github.com/Freezerburn/f7801141d849d4e3f41118cb54edf85a |
20:36:29 | FromDiscord | <FreezerburnVinny> (edit) "sent a code paste, see https://play.nim-lang.org/#ix=2D26" => "EDIT: TOo much text has been removed" |
20:37:19 | FromDiscord | <FreezerburnVinny> It's generating the wrong return type for `newNimUiCallbackTarget` with the `cb` parameter |
20:37:37 | FromDiscord | <nikki> might be due to the interaction with the distinct Id stuff |
20:37:49 | FromDiscord | <nikki> maybe try with just object? on all of 'em |
20:37:56 | FromDiscord | <FreezerburnVinny> Sure |
20:38:20 | Prestige | PMunch: dat ram usage |
20:40:05 | FromDiscord | <FreezerburnVinny> Ugh, and now I can't add a text field to a view because it needs to be a `NSView` which I don't have any way to represent as a distinct object and previously could just cast because they were all `Id` >.< |
20:40:21 | FromDiscord | <FreezerburnVinny> Just mangle it all to pointers mwahahahaha! |
20:41:15 | * | disruptek will eat for good. |
20:41:19 | * | disruptek will eat for food, too. |
20:41:54 | FromDiscord | <FreezerburnVinny> What's the way that Nim would represent a type that can be assigned to another type? (aka if it had traditional inheritance) |
20:42:07 | FromDiscord | <FreezerburnVinny> I don't care if I have to just shim a bunch of crap together to make it work, I can make it pretty later |
20:42:10 | FromDiscord | <nikki> "converter" |
20:42:32 | FromDiscord | <nikki> but also why not reimport it per type |
20:43:48 | FromDiscord | <FreezerburnVinny> That would be... a lot of types |
20:44:04 | FromDiscord | <FreezerburnVinny> Literally every displayable thing in Cocoa ๐ |
20:44:56 | FromDiscord | <FreezerburnVinny> Might do that at some point, for now I `cast` my way to victory with a `converter`. Though that's still going to be a metric ton of types... |
20:45:02 | FromDiscord | <FreezerburnVinny> Bleh |
20:45:49 | FromDiscord | <FreezerburnVinny> I'll change that to a reimport because it's going to be the same amount of code |
20:46:40 | FromDiscord | <FreezerburnVinny> Alright! No warnings! |
20:49:06 | FromDiscord | <FreezerburnVinny> Actually reimport might be the wrong option in the long run. It works for this one API, but when I start having more APIs that expect to work with something like `NSView`, then suddenly I have an explosion of function reimports for every function that needs to be able to consume all widgets (or other thing). So in the long run I need a way to tell Nim only once, for every type that needs to be used in some manner, that the given |
20:49:06 | FromDiscord | <nikki> sounds like it works |
20:49:09 | FromDiscord | <FreezerburnVinny> (edit) "mannger" => "manner" |
20:49:19 | FromDiscord | <FreezerburnVinny> But for now in my hacky state of code, it'll do |
20:49:43 | FromDiscord | <nikki> yeah it could go either way--- take a pointer in the proc, use a macro to gen them all, ... |
21:12:44 | Zevv | http://zevv.nl/div/irc.html |
21:14:52 | Zevv | like, what happened to zachary? |
21:15:17 | FromDiscord | <nikki> is that num messages? |
21:15:27 | Zevv | yea |
21:15:33 | disruptek | !last zacharycarter |
21:15:33 | disbot | zacharycarter quit 717 weeks ago and last spoke 22 weeks ago |
21:15:50 | disruptek | he's on discord, i think. |
21:15:59 | disruptek | !last Zachary Carter |
21:16:00 | disbot | Zachary Carter spoke in 12#nim-offtopic 2 hours ago |
21:16:16 | Zevv | ah changed his nic |
21:16:22 | FromDiscord | <nikki> they've definitely been around on discord |
21:16:36 | disruptek | you aren't parsing spaces in discord names correctly. |
21:16:44 | Zevv | of course I'm not |
21:16:50 | Zevv | i just hacked this up in a few mins |
21:17:00 | Zevv | I'm looking for that guy that got lost whose name I forgot |
21:17:08 | disruptek | is it faster to write broken code? ๐ค |
21:17:15 | Zevv | I find yes |
21:17:20 | Zevv | exponentially faster |
21:17:25 | disruptek | interesting. |
21:19:43 | disruptek | disbot: you know it's your birthday this month? |
21:19:44 | disbot | yep. ๐ |
21:20:06 | Zevv | speaking of disbot |
21:20:16 | Zevv | I still can't untune a radio channel |
21:20:25 | disruptek | lol seriously? |
21:20:34 | Zevv | I'd like to leave disbot |
21:20:39 | Zevv | please disbot |
21:20:55 | disruptek | i don't even remember how it's supposed to work. |
21:20:55 | Zevv | channel "nimph" |
21:21:09 | Zevv | no but there I am stuck with this IRC window going *ploing* every few days |
21:21:31 | Zevv | rm ~/disbot/radio.sqlite3 |
21:21:36 | disruptek | hmm, i will look at it. don't let me forget. |
21:22:40 | Prestige | PMunch: let me know what you want added to Nimdow by opening a ton of github issues :P |
21:23:09 | FromDiscord | <ElegantBeef> Add nimscript configuration ๐ |
21:24:06 | Prestige | I'd like to, wouldn't that require the user having Nim? |
21:24:13 | FromDiscord | <ElegantBeef> Nope |
21:24:19 | FromDiscord | <ElegantBeef> You can ship nimscript embedded |
21:24:24 | Prestige | PMunch: I should, I'll do that soonish |
21:24:43 | FromDiscord | <ElegantBeef> The compiler is written in nim, and can run nim code self contained |
21:24:53 | Prestige | Hm if it won't make the executable much larger I will do it |
21:25:08 | FromDiscord | <ElegantBeef> The biggest thing is shipping the stdlib afaik |
21:25:28 | FromDiscord | <ElegantBeef> From pmunch's count like 4-5MB since you probably want most libs accessible |
21:25:36 | disruptek | no one has changed their radio settings in 4mos. |
21:25:39 | Prestige | That's not too bad |
21:25:42 | disruptek | guess it's not a popular feature. |
21:27:11 | * | tane quit (Quit: Leaving) |
21:27:16 | disruptek | why do you need a smaller executable? |
21:27:51 | Prestige | People complain about dumb things is all, but +5MB is not bad at all |
21:28:05 | disruptek | fuck those people. |
21:28:26 | Prestige | my gf would get mad |
21:28:32 | Prestige | C ya PMunch |
21:28:38 | FromDiscord | <ElegantBeef> Only if she finds out |
21:29:02 | PMunch | I mean I'm still around here :P |
21:29:10 | Prestige | oh, jk :P |
21:29:57 | PMunch | Doesn't your girlfriend like it big? |
21:30:19 | FromDiscord | <ElegantBeef> How would... oh |
21:33:48 | FromDiscord | <Yardanico> good timing to join the chat |
21:33:53 | FromDiscord | <Yardanico> seeing pmunch ask those questions |
21:33:56 | FromDiscord | <Yardanico> unexpected to be honest :D |
21:34:08 | FromDiscord | <Yardanico> out of context |
21:34:39 | PMunch | Haha :P |
21:34:40 | Prestige | hahaha |
21:35:15 | PMunch | If only you knew :P |
21:37:09 | FromDiscord | <nikki> is pmunch still streamin |
21:37:18 | FromDiscord | <nikki> i need some nim video material to watch while i eat this lunch |
21:37:19 | FromDiscord | <ElegantBeef> Dont worry yard pmunch has a special place in his heart for you |
21:37:20 | PMunch | Just finished like 5 minutes ago |
21:37:30 | PMunch | @nikki ^ |
21:37:33 | FromDiscord | <ElegantBeef> I can boot up me pretending to do gamedev ๐ |
21:37:33 | FromDiscord | <nikki> i've been watching old nim streams from ar4q's youtube lol |
21:38:03 | FromDiscord | <nikki> maybe i should just listen to a text to speech of the nim manual while eating |
21:38:27 | Prestige | deepfake PMunch's voice reading the manual |
21:38:45 | FromDiscord | <ElegantBeef> When TTS is more appealing than me ๐ |
21:39:55 | PMunch | @nikki, uploading it to YouTube now so you can watch it :) |
21:43:39 | * | TomDotTom quit (Ping timeout: 265 seconds) |
21:46:02 | PMunch | Processing |
21:46:14 | FromDiscord | <ElegantBeef> You make me sad, my upload speed is 10mbps so it'd take me forever to upload 2+ hours of content |
21:46:33 | PMunch | 200Mbps symmetric fibre optic network baby! |
21:46:41 | FromDiscord | <ElegantBeef> 350 down, 10 up |
21:46:51 | PMunch | Ooof, that's rough |
21:47:19 | PMunch | I can get 1Gbps symmetric for only like $10 more a month |
21:47:42 | FromDiscord | <ElegantBeef> It's like 150CAD/mth for 1gig down 10 up |
21:47:48 | FromDiscord | <ElegantBeef> My isp doesnt offer anything but 10 up for residential |
21:47:52 | * | narimiran quit (Ping timeout: 256 seconds) |
21:49:06 | PMunch | Huh, actually right now they are running a campaign so I can pay $10 less for 1000/1000 for a year |
21:49:08 | PMunch | Hmm |
21:50:12 | FromDiscord | <ElegantBeef> And you're certainly now on symetric gbit? |
21:50:27 | disruptek | Zevv: how are you attempting to detune the radio? |
21:52:24 | FromDiscord | <ElegantBeef> Oh god pmunch i looked at what a different ISP offers where i'm at https://media.discordapp.net/attachments/371759389889003532/773665975550738432/unknown.png |
21:52:40 | PMunch | Haha, I was actually looking into it |
21:52:52 | PMunch | So I pay 449,- now because I got in a while ago |
21:53:03 | PMunch | The current price is 549,- for that plan |
21:53:14 | PMunch | This is in kroners by the way |
21:53:21 | disruptek | what else. |
21:53:26 | FromDiscord | <Daniel> to test connection got to fast.com |
21:53:41 | PMunch | The 1000/1000 is 449,- for a year, but then 649,- |
21:54:11 | FromDiscord | <ElegantBeef> That's like 1/3 the price for 1gbit in canada |
21:54:17 | FromDiscord | <ElegantBeef> There isnt price fixing here |
21:54:27 | PMunch | So I'm guessing this is a plot to get me to switch away from my cheaper than usual 100/100 plan by giving me 1000/1000 for a year and then I have to pay 649,- instead of 449,- |
21:55:06 | PMunch | @ElegantBeef, ooof, just looked at that image :P |
21:56:11 | FromDiscord | <ElegantBeef> Telecomunication providers in canada are garbage, it's one of the worst parts about canada |
21:56:28 | FromDiscord | <ElegantBeef> We have 3 big ISP/phone providers and all pricefix |
21:56:30 | disruptek | Zevv: detune seems to work for me. |
22:00:52 | FromDiscord | <Daniel> 200/20 here is 20-40โฌ |
22:01:19 | * | natrys quit (Ping timeout: 246 seconds) |
22:01:21 | FromDiscord | <ElegantBeef> Yea it's atrocious in Canada, all it takes is politicans forcing competition |
22:02:06 | FromDiscord | <ElegantBeef> Like if you really want to see how bad it is you should be able to check plans of telus, rogers, or bell and they'll all be identical |
22:04:41 | FromDiscord | <ElegantBeef> "Competition" https://media.discordapp.net/attachments/371759389889003532/773669070871592981/unknown.png |
22:27:21 | PMunch | Well this processing seems to take forever.. https://www.youtube.com/watch?v=Ow1uqY4fR3c |
22:27:49 | PMunch | https://github.com/PMunch/notifishower <- pushed the changes |
22:34:54 | FromDiscord | <ElegantBeef> Do i make a PR of useless code golf? |
22:35:09 | PMunch | Haha, depends |
22:35:32 | PMunch | If it gets cleaner: yes, if it just gets hard to read but technically less code: no |
22:36:01 | FromDiscord | <ElegantBeef> ` if color.r == 0 and color.b == 0 and color.g == 0 and color.a == 0:`โตto `if (color.r or color.b or color.g or color.a) == 0` ๐ |
22:37:09 | FromDiscord | <ElegantBeef> Shit, now i want an `anyNot(val, vars)` |
22:42:26 | * | solitudesf quit (Ping timeout: 244 seconds) |
22:42:43 | * | lritter quit (Quit: Leaving) |
22:43:54 | PMunch | Way, is that possible? |
22:44:11 | PMunch | Even easier though is `if color == default(Color)` ;) |
22:45:00 | PMunch | Should work at least, haven't tried it |
22:47:14 | FromDiscord | <ElegantBeef> Which part is possible? |
22:50:23 | PMunch | Oh, didn't see the `or` in there :P |
22:50:37 | FromDiscord | <Daniel> did anoyne try doing nim with figma? |
22:51:56 | PMunch | Yes: https://github.com/treeform/fidget |
22:52:37 | FromDiscord | <Daniel> yea, i googled to that as well, i was just wondering does it really work, i mean, this is a gamechanger |
22:53:09 | PMunch | I mean you can watch his video from NimConf where he uses it here: https://www.youtube.com/watch?v=IB8Yt2dqZbo |
22:53:25 | PMunch | I think he uses it for work |
22:53:54 | FromDiscord | <Daniel> yup, already watched it, link is in his github, ...its rather interesting, would love to see more videos with fidget |
22:56:31 | FromDiscord | <ElegantBeef> I've gotta toy around with nimscripter and fidget cause it'd be pretty cool to have realtime gui setup, similar to figma but code |
22:56:46 | FromDiscord | <ElegantBeef> Have to get it functioning, templates are misbehaving for some reason |
22:57:31 | PMunch | What kind of misbehaving? |
22:57:45 | FromDiscord | <ElegantBeef> Undefined behaviour |
22:57:58 | FromDiscord | <Daniel> i just installed Figma, tried to find fidget plugin, but its not there, not sure if this plugin is active at all |
22:58:13 | FromDiscord | <ElegantBeef> It's in fidget's repo |
22:58:22 | FromDiscord | <ElegantBeef> Wait |
22:58:24 | FromDiscord | <ElegantBeef> The fuck |
22:58:27 | FromDiscord | <ElegantBeef> It's working? |
22:58:50 | FromDiscord | <Daniel> https://media.discordapp.net/attachments/371759389889003532/773682694646267914/unknown.png |
22:59:04 | FromDiscord | <Daniel> but how to use it from his github? |
22:59:10 | FromDiscord | <Daniel> if its not in Figma |
22:59:13 | FromDiscord | <ElegantBeef> Think there is a explanation |
22:59:45 | FromDiscord | <Daniel> Isnt the goal to simply design GUI in figma, then with the plugin convert it to nim? |
22:59:56 | FromDiscord | <Daniel> (edit) "figma," => "Figma," |
23:00:06 | FromDiscord | <ElegantBeef> Yea |
23:00:08 | FromDiscord | <Recruit_main707> You download the plugin from github and somehow use it in fig a |
23:00:15 | FromDiscord | <ElegantBeef> It also has another benefit though |
23:00:26 | PMunch | @ElegantBeef, could be some fix in a newer Nim version? |
23:00:27 | FromDiscord | <Recruit_main707> I asked treeform a while ago iirc |
23:00:29 | FromDiscord | <ElegantBeef> Since you can script the behaviour you can design the gui in the nimscript vm |
23:00:37 | FromDiscord | <ElegantBeef> Possibly |
23:01:05 | federico3 | who's compiling on a ryzen? |
23:01:31 | PMunch | In general, or Figma? |
23:01:48 | FromDiscord | <Daniel> i have a Ryzen |
23:01:56 | FromDiscord | <zetashift> dunno how I feel about thinking imperative with UI, I like the way Elm does it a lot |
23:02:15 | FromDiscord | <Daniel> seems the code is here https://github.com/treeform/fidget/blob/master/figma_plugin/code.tsโตBut i have no idea how to connect it with Figma software |
23:02:30 | FromDiscord | <Daniel> (edit) "seems the ... code" added "plugin" |
23:02:56 | FromDiscord | <Daniel> Since i am not a real programmer, but rather very beginner, i am missing something here |
23:02:59 | FromDiscord | <Recruit_main707> Itโs briefly explained in the README |
23:03:01 | FromDiscord | <ElegantBeef> @treeform so i tested today, and uh.. it just works ๐ https://streamable.com/5v0hgn |
23:03:19 | FromDiscord | <ElegantBeef> So maybe i fixed something or the nim compiler did...? |
23:03:20 | FromDiscord | <Daniel> will watch your video, tnx, brb |
23:03:27 | FromDiscord | <ElegantBeef> That's unrelated to figma plugin |
23:03:33 | FromDiscord | <ElegantBeef> It's related to fidget, but not figma |
23:03:44 | FromDiscord | <ElegantBeef> Also i fucked up |
23:03:45 | FromDiscord | <Recruit_main707> @ElegantBeef fidget can be used without figma |
23:03:48 | FromDiscord | <ElegantBeef> since that video doesnt work |
23:04:05 | FromDiscord | <Daniel> oh, its 1second video, huh |
23:04:15 | FromDiscord | <Recruit_main707> Thatโs why it works for the examples, but Daniel wants the figma plugin too |
23:04:19 | FromDiscord | <Recruit_main707> I think |
23:04:30 | FromDiscord | <ElegantBeef> recruit that's not what i'm showing |
23:04:32 | FromDiscord | <Daniel> yea, so i could desing UI like i draw in MSpaint |
23:04:50 | FromDiscord | <ElegantBeef> I'm showing live updating of fidget using nimscripter |
23:04:55 | FromDiscord | <Recruit_main707> Check the readme, scroll to te end and try doing that |
23:04:56 | FromDiscord | <ElegantBeef> But that video is wrong |
23:05:06 | FromDiscord | <ElegantBeef> This is correct https://streamable.com/snbwlr |
23:05:55 | FromDiscord | <ElegantBeef> Well this is awesome news to see, just confused to why it suddenly works |
23:06:12 | PMunch | Damn, seeing your NimScript stuff is sooo cool |
23:06:27 | FromDiscord | <ElegantBeef> Seeing it suddenly work is even cooler ๐ |
23:07:09 | FromDiscord | <zetashift> That is really cool!! |
23:07:11 | FromDiscord | <Daniel> ok, i have too google to actually find out what NimScript is, ๐คฃ |
23:07:15 | FromDiscord | <Daniel> brb |
23:07:18 | FromDiscord | <ElegantBeef> Intepreted subset of nim |
23:07:27 | FromDiscord | <zetashift> got a repo I can play with? |
23:07:29 | FromDiscord | <ElegantBeef> I'm using the nim VM to talk to nim application sseemlessly |
23:07:38 | FromDiscord | <ElegantBeef> https://github.com/beef331/nimscripter |
23:08:02 | FromDiscord | <ElegantBeef> It takes a few minutes to setup for types and the like, but it's easy as hell |
23:08:51 | FromDiscord | <Daniel> Where do i find this "TypeScript"? https://media.discordapp.net/attachments/371759389889003532/773685212268724244/unknown.png |
23:10:24 | FromDiscord | <Daniel> alright, further googling says thats some sort of javascript |
23:10:31 | FromDiscord | <Daniel> but compiled |
23:11:27 | FromDiscord | <ache of head> npm -g install typescript |
23:11:29 | FromDiscord | <ElegantBeef> I dont want to make `fidgetscript` and the like as their own repos just cause it's not something i want to maintain |
23:11:58 | FromDiscord | <ElegantBeef> But it's fairly straight forward to use |
23:12:40 | FromDiscord | <ElegantBeef> Not that it's difficult to do, more just that i feel if the package authors want to support it as an optional feature they can |
23:13:02 | FromDiscord | <ElegantBeef> For instance Impbox seems keen on supporting it for nico |
23:14:00 | PMunch | Zevv, why doesn't this work? *!'\x1F' |
23:14:19 | PMunch | It says "'*' repeat argument matches empty subset" |
23:14:33 | FromDiscord | <ElegantBeef> Also pmunch i'm sorta angry at you for encouraging this, since now i want to toy with a ton of libs with it |
23:15:01 | FromDiscord | <ElegantBeef> Like can technically use gtk with this, or any other UI library |
23:15:31 | FromDiscord | <zetashift> karax too? |
23:15:59 | FromDiscord | <ElegantBeef> All nim code should be scriptable with this |
23:16:20 | FromDiscord | <ElegantBeef> Some things like tables may not work, i havent tested them since i dont like the idea of sending them cross the bridge |
23:16:50 | federico3 | PMunch: in general |
23:16:50 | PMunch | ElegantBeef :D |
23:16:52 | FromDiscord | <ElegantBeef> I should say any compiled nim code |
23:17:10 | ForumUpdaterBot | New thread by Akito: Quit() returning bool in else branch?, see https://forum.nim-lang.org/t/7033 |
23:17:17 | FromDiscord | <ElegantBeef> Like this doesnt work in JS due to the fact the compiler cannot be shipped inside JS, but you could in theory use WASM to get it |
23:17:31 | PMunch | Oooh |
23:17:37 | PMunch | That would be very interesting indeed :P |
23:17:51 | PMunch | But yeah, I really like what you're doing with this! |
23:17:53 | FromDiscord | <ElegantBeef> I have no interest in doing it |
23:17:59 | FromDiscord | <ElegantBeef> But hey in theory it can work ๐ |
23:18:02 | * | koltrast quit (Quit: ZNC - http://znc.in) |
23:18:34 | FromDiscord | <Daniel> For new beginners like myself, some1 making a video of how to build user inferface in an easy way would attract alot of potential users to NIM ....i mean the very first thing for me which attracted me to nim is, compiling to C without knowing C |
23:19:10 | FromDiscord | <Daniel> So, creating great user interface without knowing low level programing would do the same thing |
23:19:11 | FromDiscord | <ElegantBeef> I dont have any interest in figma so i'm not the one to explain that, unless you want a tedious video of someone using fidget with only code |
23:19:16 | * | krux02 quit (Quit: Leaving) |
23:20:24 | FromDiscord | <ElegantBeef> Well the scripted fidget takes a similar to figma, but instead of using a gui web app you get code |
23:20:32 | FromDiscord | <ElegantBeef> (edit) "Well the scripted fidget takes a similar ... to" added "role" |
23:21:04 | FromDiscord | <ElegantBeef> @Kiloneie Apparently you need to make a video showing off figma + fidget ๐ |
23:22:36 | * | koltrast joined #nim |
23:22:56 | FromDiscord | <Daniel> yea, why not, go with fidget, make a video, even if its in onyl code, i will gladly soak up the knowledge you present in there. I mean, i am sure i will not be the only one.โตWas watching pmunch stream, he mentioned user interface makes programming a nightmare, and if this can change it from nightmare to something much easier, its a big win for nim in general |
23:23:16 | FromDiscord | <ElegantBeef> Were you noo8? |
23:23:20 | FromDiscord | <Daniel> ya |
23:24:01 | FromDiscord | <ElegantBeef> I still need to get a video of nimscripter to show off the live editing feature in a nice manner |
23:24:53 | FromDiscord | <Daniel> Will gladly watch it once you online it ๐ |
23:25:09 | FromDiscord | <ElegantBeef> One thing that's delaying that is i live in a house with no insulation in the walls so all audio is picked up on my sensitive mic |
23:25:36 | PMunch | I have my pipe-dream of creating an actually useful UI library |
23:25:44 | * | stefantalpalaru quit (Ping timeout: 240 seconds) |
23:25:47 | PMunch | But it keeps getting side-tracked by other projects |
23:25:48 | FromDiscord | <ElegantBeef> Implying fidget isnt? ๐ |
23:25:52 | Prestige | PMunch: ^ |
23:25:57 | Prestige | cmon man |
23:26:20 | PMunch | Haha, well I haven't tried fidget |
23:26:42 | PMunch | Is it cross-platform with native toolkits so that it works with accessibility tools for people with disabilities? |
23:26:47 | FromDiscord | <nikki> making an api that lends itself to making good mobile uis is a whole ball game too |
23:26:51 | FromDiscord | <Daniel> every programing language needs GUI lib,...toolkiit, plugin, extension, or whatever the name for it is |
23:26:52 | FromDiscord | <ElegantBeef> Nah |
23:26:58 | FromDiscord | <Daniel> (edit) "every programing language needs ... GUI" added "good" |
23:27:05 | FromDiscord | <ElegantBeef> It's replicating webapps without the overhead |
23:27:31 | Prestige | it's native though, right? |
23:27:34 | FromDiscord | <nikki> for the game engine editor usecase where i'm running in wasm i was thinking to just use incremental-dom |
23:27:36 | FromDiscord | <ElegantBeef> Opengl rendered UI |
23:27:37 | PMunch | Replicating which part? |
23:27:39 | FromDiscord | <ElegantBeef> Not native toolkit |
23:27:44 | Prestige | ah I see |
23:27:45 | FromDiscord | <Daniel> but webapps are not located localy, thats the main problem, this would be compiled or run on a user device |
23:27:51 | FromDiscord | <ElegantBeef> Crossplatform abillity, and web support |
23:27:56 | PMunch | Right |
23:28:01 | * | solitudesf joined #nim |
23:28:03 | FromDiscord | <nikki> it's hard if you want selecting and editing text to work well on mobile, with mobile keyboards |
23:28:05 | FromDiscord | <ElegantBeef> IE your app looks the same everywhere |
23:28:13 | FromDiscord | <Daniel> even java didnt manage to pull that off, to make it native and on web |
23:28:29 | PMunch | Well Java looked the same everywhere, but it also looked shit everywhere.. |
23:28:33 | FromDiscord | <ElegantBeef> Well fidget uses webgl/opengl for rendering |
23:28:45 | PMunch | Fidget looks nice, I'll give it that |
23:28:46 | FromDiscord | <ElegantBeef> So it will look 1:1 on web as on desktop |
23:29:07 | FromDiscord | <nikki> yeah using a canvas to make a web ui has still been an open question as to whether u can actually make good ui with it |
23:29:16 | FromDiscord | <nikki> flutter is running into that issue right now |
23:29:20 | FromDiscord | <ElegantBeef> It doesnt intend to support native toolkits so it's probably not for everyone |
23:29:22 | PMunch | So it won't work on the devices used in the developing world because it uses too fancy tech (webgl)? |
23:29:25 | PMunch | That's a shame |
23:29:28 | FromDiscord | <nikki> like, selecting text etc. needs to be reimpled |
23:29:42 | FromDiscord | <ElegantBeef> Webgl is too fancy? |
23:29:44 | FromDiscord | <Daniel> isnt it opengl, even tv boes run opengl, no? |
23:29:52 | FromDiscord | <Daniel> (edit) "boes" => "boxes" |
23:29:56 | FromDiscord | <ElegantBeef> Opengl runs everywhere |
23:30:04 | FromDiscord | <ElegantBeef> Atleast 4.1 and below does |
23:30:05 | PMunch | For an old smartphone, or even a WAP phone? Yes! |
23:30:16 | FromDiscord | <nikki> on non desktop it's opengles |
23:30:36 | FromDiscord | <ElegantBeef> I mean natively it doesnt use webgl |
23:30:38 | FromDiscord | <nikki> i think the way a ui engine should be done is be renderer agnostic |
23:30:40 | FromDiscord | <ElegantBeef> On the web it does |
23:30:45 | PMunch | Anyways, I'm off to bed. It's already waay to late.. |
23:30:51 | FromDiscord | <ElegantBeef> Buh bye |
23:30:53 | Prestige | gn PMunch |
23:30:59 | FromDiscord | <nikki> with the layout system etc. being cross platform (eg. yoga) |
23:31:06 | FromDiscord | <ElegantBeef> Tell that to windows and WPF ๐ |
23:31:15 | FromDiscord | <nikki> tell which part |
23:31:21 | FromDiscord | <ElegantBeef> That it should be renderer agnostic |
23:31:37 | FromDiscord | <ElegantBeef> Or whatever the mac gui toolkit is |
23:31:37 | FromDiscord | <nikki> well, i think windows and wpf will matter when anyone uses apps made in them on mobile phones |
23:31:41 | FromDiscord | <nikki> right now no one does |
23:31:45 | PMunch | Good night! |
23:31:50 | * | PMunch quit (Quit: leaving) |
23:31:57 | FromDiscord | <Daniel> @PMunch gn |
23:32:03 | FromDiscord | <nikki> cocoa and uikit have overlap tho re: mac |
23:32:13 | FromDiscord | <ElegantBeef> Except you're a linux user who cannot use applications cause it relies on dx |
23:32:40 | FromDiscord | <nikki> one of my computers that i post screenshots from here is linux, yes |
23:32:50 | FromDiscord | <nikki> i also use mac and windows about as much haha |
23:33:01 | * | solitudesf quit (Ping timeout: 246 seconds) |
23:33:02 | FromDiscord | <nikki> esp. bc for building ios apps u need a mac |
23:33:02 | Prestige | All we need to support is linux, forget the rest :P |
23:33:09 | FromDiscord | <ElegantBeef> My point is that the UI libraries that both Apple/MS push arent really cross platform |
23:33:16 | * | mmohammadi9812 quit (Ping timeout: 256 seconds) |
23:33:17 | FromDiscord | <nikki> i'm most interested in ui toolkits that work well on mobile tho |
23:33:23 | FromDiscord | <ElegantBeef> I despise mobile |
23:33:28 | FromDiscord | <ElegantBeef> So i dont care as long as it runs on desktop |
23:33:35 | FromDiscord | <ElegantBeef> And fidget runs on desktop and web |
23:34:15 | federico3 | @ElegantBeef even PinePhone/Librem? |
23:34:42 | FromDiscord | <ElegantBeef> I dont have a need for any mobile computer, my smartphone as is doesnt have service and is mostly just a fancy pager |
23:34:46 | FromDiscord | <nikki> i think there's a large space of creativity possible on touch interfaces that is untapped |
23:34:49 | FromDiscord | <zetashift> .NET MAUI is focused on cross platform, not released yet tho |
23:35:16 | FromDiscord | <ElegantBeef> Many things about mobile is atrocious, from the lack of control, to the shitty app distrobution |
23:35:25 | Prestige | I hate touch screens |
23:35:30 | FromDiscord | <ElegantBeef> I havent used a librem or pinephone so cannot say much about that |
23:35:31 | federico3 | hence my question |
23:35:37 | FromDiscord | <nikki> yeah, one response is to ignore it, another is to try to work on it, just tryna do the latter |
23:35:49 | FromDiscord | <ElegantBeef> Well the issue is you cannot change my biggest concern |
23:36:06 | FromDiscord | <ElegantBeef> The app stores do not encourage good games in any reasonable way |
23:36:43 | FromDiscord | <ElegantBeef> They allow shitty tactics in game and abuse of their stores |
23:37:03 | FromDiscord | <nikki> sure but you can try to work on other things that are a nicer space |
23:37:11 | ForumUpdaterBot | New thread by Juancarlospaco: Nimpretty GitHub Action, see https://forum.nim-lang.org/t/7034 |
23:37:29 | FromDiscord | <ElegantBeef> I just have 0 enthusiam for that space, it'll take too much work to change and it's unreasonable |
23:37:38 | FromDiscord | <ElegantBeef> For instance you cannot ship a new appstore on google, or apple |
23:37:50 | FromDiscord | <ElegantBeef> So any change in that front requires user intervention |
23:37:55 | FromDiscord | <ElegantBeef> Which most users dont care |
23:38:13 | FromDiscord | <nikki> https://castle.xyz/halloween is the "main" thing i work on, kind of a tool where you can make interactive things on mobile |
23:38:36 | FromDiscord | <nikki> i get that ur not enthusastic about it, but i'm probably going to keep exploring it anyways |
23:38:50 | FromDiscord | <ElegantBeef> I'm not saying you cant, i'm just saying my view on it |
23:39:10 | FromDiscord | <nikki> because a few people that didn't make interactive stuff before tried their hand at it on this and it worked, maybe it could work for more folks |
23:39:32 | FromDiscord | <ElegantBeef> I think it could be a very cool space for small indies with small mechanics and small budgets sorta like flash player games were |
23:39:32 | FromDiscord | <nikki> yeah i think; apple and google are definitely trying to control the ecosystem |
23:39:44 | FromDiscord | <nikki> yeah! that would be cool |
23:39:48 | FromDiscord | <ElegantBeef> But due to the practices the stores excersize it cannot |
23:40:04 | FromDiscord | <ElegantBeef> They dont have a priority of quality, or block predatory practices |
23:40:17 | Prestige | Hopefully the linux phone market will help |
23:40:43 | FromDiscord | <ElegantBeef> We cant even get reasonable numbers in the desktop space, so i dont know ๐ |
23:40:49 | FromDiscord | <nikki> hehe |
23:41:16 | FromDiscord | <nikki> @ElegantBeef did you end up making the window focus keys work on vscode? |
23:41:34 | FromDiscord | <ElegantBeef> Never did look into it |
23:41:37 | FromDiscord | <Daniel> i hope nim will explode on every platfrom, so i can find tutorial for everything nim ๐ |
23:41:55 | FromDiscord | <ElegantBeef> Got held up into fixing my unity auto builder as my friend wanted to use it |
23:42:01 | FromDiscord | <ElegantBeef> And it broke some how |
23:43:02 | FromDiscord | <zetashift> I hope a new NimConf comes soon ๐ |
23:43:08 | FromDiscord | <ElegantBeef> Do have to say nikki if more games like downwell, luftrausers, and mini metro were common i'd be pretty happy with it |
23:43:25 | FromDiscord | <ElegantBeef> But those are the diamonds in the 100m tall tower of shit |
23:43:37 | FromDiscord | <ElegantBeef> Nimconf 2020.4.0? ๐ |
23:44:10 | * | mmohammadi9812 joined #nim |
23:45:37 | FromDiscord | <nikki> @ElegantBeef yeah i totally agree re: the app store incentive structure |
23:46:04 | FromDiscord | <exelotl> NimConf but this time I submit my video 10 minutes before the start of the conf |
23:46:16 | FromDiscord | <exelotl> Instead of 5 hours xD |
23:46:19 | FromDiscord | <nikki> also yeah downwell is awesome |
23:56:54 | FromDiscord | <ElegantBeef> Yea it's pretty fun on my arcade cabinet aswell ๐ |
23:57:02 | FromDiscord | <nikki> nice ๐ฎ |
23:57:19 | FromDiscord | <nikki> do u have any ios / android at all or just using that pager phone? haha |
23:57:41 | FromDiscord | <ElegantBeef> I have android |
23:57:51 | FromDiscord | <ElegantBeef> But i dont usue it for anything but a pager to "go to desktop" |
23:59:30 | FromDiscord | <nikki> here's a vid of some stuff ppl made + you can see the editor itself in the end (was gonna post in #offtopic but there's already a convo going on there) https://media.discordapp.net/attachments/371759389889003532/773697964261900288/video0.mov |
23:59:33 | FromDiscord | <nikki> you can "view source" on anyone else's card to see how it's made, some people learned that way |
23:59:56 | FromDiscord | <ElegantBeef> That's pretty cool\ |