00:00:01 | Araq | Cleverson: welcome! |
00:00:33 | Araq | sure it's a good contribution. def- can help you further with RosettaCode, I think |
00:03:16 | Cleverson | Araq: OK thank you, will do something next days... |
00:03:54 | * | zama joined #nim |
00:05:21 | Cleverson | I wanted to know about the UI library you are starting to work. Do you plan to use the native GUI API on each OS e.g., win32 API on Windows? |
00:06:55 | Araq | ui is a wrapper for libui |
00:07:06 | Araq | which uses native widgets for Win, Lin and Mac |
00:07:44 | Araq | you can use it today, the examples work |
00:07:56 | Araq | but libui itself is still in development. |
00:08:19 | Cleverson | Araq: OK, will try later. |
00:08:28 | Araq | 'nimx' should be more useful for now as it used in production. it draws its own widgets though afaik |
00:15:35 | * | Guest48581 quit (Ping timeout: 256 seconds) |
00:15:35 | * | gsingh93 quit (Ping timeout: 256 seconds) |
00:16:14 | * | Guest48581 joined #nim |
00:16:19 | * | gsingh93 joined #nim |
00:31:23 | * | pregressive quit (Remote host closed the connection) |
00:31:58 | * | pregressive joined #nim |
00:36:26 | * | pregressive quit (Ping timeout: 256 seconds) |
00:45:44 | * | cheatfate quit (Read error: Connection reset by peer) |
00:45:50 | * | cheatfate_ joined #nim |
00:47:28 | * | Cleverson left #nim (#nim) |
00:58:43 | * | libman quit (Quit: Leaving.) |
01:04:39 | cheatfate_ | libui uses GTK for linux and this is not very native |
01:16:47 | * | mitai joined #nim |
01:17:12 | * | chemist69 quit (Ping timeout: 260 seconds) |
01:26:18 | * | cyraxjoe quit (Remote host closed the connection) |
01:30:29 | * | chemist69 joined #nim |
01:42:37 | * | enthus1ast joined #nim |
01:45:00 | * | yglukhov joined #nim |
01:49:32 | * | yglukhov quit (Ping timeout: 256 seconds) |
01:50:18 | * | DavidGu joined #nim |
01:52:02 | * | perturbation joined #nim |
02:04:19 | * | perturbation quit (Remote host closed the connection) |
02:06:38 | * | perturbation joined #nim |
02:08:11 | * | perturbation quit (Remote host closed the connection) |
02:08:20 | * | perturbation joined #nim |
02:11:33 | * | DavidGu quit (Quit: DavidGu) |
02:12:53 | * | DavidGu joined #nim |
02:15:40 | * | mitai quit (Quit: Konversation terminated!) |
02:17:26 | * | DavidGu1 joined #nim |
02:17:52 | * | DavidGu quit (Ping timeout: 260 seconds) |
02:17:53 | * | DavidGu1 is now known as DavidGu |
02:23:41 | * | DavidGu quit (Remote host closed the connection) |
02:25:12 | * | DavidGu joined #nim |
02:36:56 | enthus1ast | is it known that http://nim-lang.org/news/community.html 404s? |
02:42:07 | * | DavidGu quit (Remote host closed the connection) |
02:47:23 | * | DavidGu joined #nim |
03:43:20 | * | DavidGu quit (Remote host closed the connection) |
03:43:35 | * | DavidGu joined #nim |
03:46:30 | * | yglukhov joined #nim |
03:51:16 | * | yglukhov quit (Ping timeout: 276 seconds) |
04:12:38 | * | perturbation quit () |
05:21:44 | * | chemist69 quit (Ping timeout: 260 seconds) |
05:23:44 | * | chemist69 joined #nim |
05:42:27 | * | arnetheduck_ quit (Remote host closed the connection) |
05:48:59 | * | yglukhov joined #nim |
05:53:40 | * | yglukhov quit (Ping timeout: 265 seconds) |
06:08:12 | * | pafmaf_ joined #nim |
06:19:42 | * | vendethiel- joined #nim |
06:20:04 | * | vendethiel quit (Ping timeout: 260 seconds) |
06:26:50 | * | vendethiel- quit (Quit: q+) |
06:36:37 | * | nsf joined #nim |
06:51:34 | * | yglukhov joined #nim |
06:52:40 | * | yglukhov quit (Remote host closed the connection) |
07:06:29 | * | Andris_zbx joined #nim |
07:13:18 | * | gokr joined #nim |
07:19:34 | * | zxtx quit (Quit: ZNC - http://znc.in) |
07:20:25 | * | zxtx joined #nim |
07:27:56 | * | zxtx quit (Quit: ZNC - http://znc.in) |
07:28:17 | * | zxtx joined #nim |
07:29:03 | * | Trustable joined #nim |
07:35:10 | * | GustavoLapasta joined #nim |
07:52:06 | * | yglukhov joined #nim |
07:56:40 | * | gokr quit (Ping timeout: 260 seconds) |
08:06:09 | * | yglukhov_ joined #nim |
08:09:21 | * | gokr joined #nim |
08:09:26 | * | yglukhov quit (Ping timeout: 244 seconds) |
08:34:01 | * | DavidGu quit (Ping timeout: 276 seconds) |
08:37:11 | * | DavidGu joined #nim |
08:52:51 | * | PMunch joined #nim |
09:02:39 | flyx | cheatfate_, um, what's more native to Linux? Motif? |
09:17:22 | * | bjz joined #nim |
09:21:44 | * | jivank[m] quit (Remote host closed the connection) |
09:21:44 | * | zielmicha[m] quit (Remote host closed the connection) |
09:21:45 | * | ehmry quit (Read error: Connection reset by peer) |
09:21:45 | * | prose[m] quit (Read error: Connection reset by peer) |
09:21:46 | * | MrAxilus[m] quit (Write error: Connection reset by peer) |
09:21:46 | * | hohlerde quit (Write error: Connection reset by peer) |
09:21:47 | * | M-Quora quit (Write error: Connection reset by peer) |
09:21:47 | * | TheManiac quit (Write error: Broken pipe) |
09:22:32 | chemist69 | wanted to ask the same. |
09:24:46 | * | yglukhov_ quit (Remote host closed the connection) |
09:30:01 | * | yglukhov_ joined #nim |
09:32:09 | * | Calinou quit (Ping timeout: 260 seconds) |
09:33:38 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
09:35:10 | * | zielmicha[m] joined #nim |
09:36:24 | * | Calinou joined #nim |
09:48:06 | * | M-Quora joined #nim |
09:48:06 | * | prose[m] joined #nim |
09:48:06 | * | MrAxilus[m] joined #nim |
09:48:06 | * | jivank[m] joined #nim |
09:48:07 | * | ehmry joined #nim |
09:48:16 | * | TheManiac joined #nim |
09:48:16 | * | hohlerde joined #nim |
10:01:06 | FromGitter | <rishavs> Hi. whenever i try to use libs like sdl2, i keep getting errors about missing dll (like sdl_gfx). when i tried sdl2_nim, i got warned about not having sdl_ttf.dll o.0 |
10:01:18 | FromGitter | <rishavs> i am assuming that I have to build the dlls myself somehow? |
10:15:39 | def- | rishavs: Googling for sdl2_gfx windows leads me to a Nim link: https://github.com/nim-lang/sdl2/wiki/Windows-Binaries |
10:18:26 | * | arnetheduck joined #nim |
10:18:39 | * | yglukhov_ quit (Remote host closed the connection) |
10:23:51 | FromGitter | <rishavs> hi. if I try to compile https://github.com/Vladar4/sdl2_nim/tree/master/examples/ex208_framerate.nim then i get missing sdl2_Image.dll |
10:24:16 | FromGitter | <rishavs> since i am getting a lot of such issues i thought maybe i am doing somethig wrong |
10:26:08 | * | yglukhov_ joined #nim |
10:30:20 | * | yglukhov_ quit (Ping timeout: 250 seconds) |
10:32:03 | def- | https://www.libsdl.org/projects/SDL_image/ |
10:32:44 | FromGitter | <rishavs> yep. i copied all the dlls from the projects in there and now it seems to be working fine |
10:32:54 | FromGitter | <rishavs> thanks for the help |
10:37:04 | * | elrood joined #nim |
10:37:06 | * | yglukhov joined #nim |
10:37:13 | * | yglukhov quit (Remote host closed the connection) |
10:37:47 | * | yglukhov joined #nim |
10:54:35 | cheatfate_ | flyx, you can start from libx11/libxcb for example |
10:57:21 | * | pafmafpaf_ joined #nim |
10:58:29 | * | mitai joined #nim |
11:00:49 | * | pafmaf_ quit (Ping timeout: 260 seconds) |
11:09:16 | flyx | cheatfate_: yeah, but what Linux applications use those? |
11:10:59 | cheatfate_ | flyx, SDL based applications for example |
11:12:20 | flyx | cheatfate_: those just use it to create an OpenGL surface and do custom UI there, afaik |
11:12:24 | * | pie_ joined #nim |
11:12:54 | * | pie_ quit (Changing host) |
11:12:54 | * | pie_ joined #nim |
11:13:01 | * | GustavoLapasta quit (Quit: Leaving) |
11:14:15 | cheatfate_ | flyx, i dont want to start gnome vs qt holywar here |
11:14:38 | cheatfate_ | flyx, but qt are default and native for some linux distros |
11:15:53 | flyx | cheatfate_: as is GTK. I don't have a preference between those. just wanted to say, there is no reasonable alternative to GTK that is „more“ native |
11:15:58 | flyx | maybe Qt is „equally“ native |
11:16:58 | flyx | and the choice may have been made because GTK is C while Qt is raped C++, so GTK seems to be the better option for a C library |
11:17:12 | cheatfate_ | flyx, libui is cpp library |
11:17:25 | flyx | is it? I thought it was C |
11:19:18 | cheatfate_ | maybe i'm wrong but its hard to draw interfaces on MacOS with plain C |
11:26:37 | cheatfate_ | flyx, and for productive dispute we need to agree on term `native`. |
11:31:43 | flyx | cheatfate_: yeah, but that would be ObjC for OSX. and yes, probably C++ for Windows |
11:32:14 | cheatfate_ | flyx, on windows you dont need to have C++ |
11:32:19 | flyx | cheatfate_: for me, `native` means „using a look-and-feel that is common on the target system“ |
11:33:01 | * | dmi0 quit (Ping timeout: 260 seconds) |
11:33:18 | cheatfate_ | flyx, you know 2 gtk programs can look very very different because of css theming |
11:34:00 | flyx | cheatfate_: I'd expect that on the same system, they look similar because the user configured the theme |
11:34:38 | * | bjz joined #nim |
11:34:51 | Calinou | libui is a C library, not C++ |
11:34:58 | Calinou | but obviously you can use it from C++, Rust, Go and so on |
11:35:03 | Calinou | Nim too :) |
11:35:54 | cheatfate_ | flyx, css theming allow application to overload user configured theme |
11:36:16 | cheatfate_ | flyx, i think you understand `native` as too wide term |
11:36:17 | Calinou | yeah, libui has no custom theming possible right now |
11:36:18 | FromGitter | <rishavs> Just updating something i learned. I am not supposed to download the dlls but create them myself. :smile: http://nim-lang.org/docs/nimc.html#dll-generation |
11:36:24 | Calinou | Qt probably has the best custom theming support out there |
11:36:25 | flyx | cheatfate_: okay, but I'd say libui does not do this. and I think we are drifting away from the original question |
11:37:12 | cheatfate_ | flyx, as for me `native` is something where you don't need additional libraries |
11:37:30 | flyx | cheatfate_: I wanted to know what you would prefer libui to be based on. and basing it on libx11 would mean a lot of custom theming, which means it would probably look very different from other applications |
11:38:11 | flyx | cheatfate_: mine is the user's view, yours is the developer's view. my aim as a developer is to give the user a UI look-and-feel they're familiar with |
11:38:28 | cheatfate_ | so if you are working with x11 for graphics `native` is libx11/libxcb, if you are working with Gnome then `native` will be GTK, if you are working with KDE, then native will be QT, but for all this systems `native` is libxcb/libx11 |
11:39:08 | Calinou | what if you use Wayland? |
11:39:29 | Calinou | granted, it's far from everywhere right now, but in 5 years? |
11:39:34 | cheatfate_ | Calinou, i think wayland have their own `libx11/libxcb` - but i dont know how it named |
11:39:56 | flyx | yeah, `native` for Linux has unfortunately no meaning at all, because Linux is a kernel and has no windowing system attached |
11:41:33 | flyx | and I think, the most important thing in building UIs is consistency with other GUIs the end user uses. and those are most commonly Qt or GTK applications. so using GTK as a backend makes sense |
11:42:38 | cheatfate_ | flyx, so for windows you will have 1 executable, for macos you will have 1 executable and for linux with KDE you need to have whole pack of libraries to run |
11:43:48 | cheatfate_ | so to be truly native libui must use what it have, like it must use QT for systems with QT, it must use xcb/x11 for systems with plain X... they you can call it `native` for Linux |
11:44:19 | * | cheatfate_ is now known as cheatfate |
11:45:32 | cheatfate | until it don't have support of libxcb/libx11/pure wayland/pure mir it must be called like `uses native ui for Windows and MacOS and uses GTK for Linux`. |
11:45:35 | flyx | cheatfate_: people tend to install GTK applications on KDE and Qt applications on Gnome |
11:47:01 | cheatfate | flyx, do you agree with this? GTK is native for GNOME and not native for KDE, and not native for plain X11, and not native for plain Wayland? |
11:47:09 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
11:47:48 | flyx | cheatfate: your usage of *must* applies some rules of your personal opinion, which is subjective. from my point of view, the Linux support is native. from yours, it's not. and I think most people will understand that „native“ means „using one of the common GUI libs“ in this context |
11:47:55 | flyx | so I don't think it's misleading |
11:48:38 | flyx | but yeah, it would probably be a good thing to add Qt support as a backend |
11:49:16 | flyx | the problem is, as the API gets more sophisticated, it gets harder and harder to craft a common abstraction over all used backends |
11:49:18 | * | bjz joined #nim |
11:49:44 | flyx | which is probably why the main author opted for supporting just one of the Linux-y toolkits for now |
11:49:50 | cheatfate | flyx, i dont think it will be harder then macos `cocoa` adoptation |
11:53:51 | * | bjz quit (Client Quit) |
11:54:25 | cheatfate | but my opinion nim must have own ui library without dependencies... |
11:54:38 | cheatfate | under dependencies i mean libui |
11:56:41 | * | bjz joined #nim |
11:57:39 | flyx | *must* is always such a strong word |
11:57:56 | flyx | the problem is that having such a thing is work. would you want to implement it? |
11:58:39 | flyx | in my opinion, it does not *always* make sense to reinvent the wheel |
12:00:09 | * | bjz quit (Client Quit) |
12:00:33 | flyx | so, the question is, what would be the benefit? |
12:00:54 | * | gangstacat quit (Ping timeout: 250 seconds) |
12:02:39 | cheatfate | flyx, if somebody with tough knowledge of Cocoa joins me i can write such library in nim, and i dont think it will be reinventing wheel... |
12:03:32 | flyx | yeah, but again, what would be the benefit? |
12:03:47 | flyx | compared to using libui |
12:09:01 | * | djellemah quit (Ping timeout: 256 seconds) |
12:09:08 | * | gangstacat joined #nim |
12:09:12 | * | OnO_ joined #nim |
12:09:12 | * | qwertfisch_ joined #nim |
12:10:02 | * | OnO quit (Ping timeout: 276 seconds) |
12:10:02 | * | qwertfisch quit (Ping timeout: 276 seconds) |
12:10:02 | * | dyce quit (Ping timeout: 276 seconds) |
12:10:03 | * | qwertfisch_ is now known as qwertfisch |
12:10:41 | * | gernest joined #nim |
12:10:56 | * | dyce_ joined #nim |
12:13:51 | * | enthus1ast quit (Ping timeout: 252 seconds) |
12:14:29 | * | gernest quit (Client Quit) |
12:14:57 | cheatfate | flyx, if you dont see any benefits, then we need to stop |
12:18:02 | flyx | well if you cannot point me to a shortcoming of libui you want to fix, there really is not much to discuss |
12:19:08 | flyx | and as I said, I agree that a Qt backend would be nice, but that could also directly be added to libui |
12:19:17 | * | CcxWrk_ joined #nim |
12:20:16 | * | abruanese_ joined #nim |
12:20:16 | * | brechtm joined #nim |
12:20:32 | yglukhov | hey guys, are you discussing ui events with asyncdispatch on macos? i would love to help with that. |
12:20:45 | * | Amun_Ra quit (*.net *.split) |
12:20:45 | * | CcxWrk quit (*.net *.split) |
12:20:46 | * | abruanese quit (*.net *.split) |
12:20:52 | yglukhov | cheatfate, flyx: * |
12:21:43 | flyx | yglukhov: not really ;) but cheatfate asked for someone knowing Cocoa |
12:22:29 | cheatfate | yglukhov, you have working UI cycle with asyncdispatch on macos? |
12:22:55 | cheatfate | yglukhov, so Cocoa using network for UI too? |
12:23:48 | yglukhov | cheatfate: "you have working UI cycle with asyncdispatch" - unfortunately no, but i've been thinking on possible solutions for a while. |
12:24:27 | yglukhov | cheatfate: ui events come through mach ports, not through sockets. sockets on the lower level utilize mach ports as well. |
12:25:16 | cheatfate | yglukhov, but i think mach ports can be covered with addWrite/addRead or i'm wrong? |
12:25:19 | * | gernest joined #nim |
12:25:25 | yglukhov | also you don't need cocoa to use all the powers of macos/ios runloops. CFRunLoop api is available with C CoreFoundation framework. |
12:26:14 | * | djellemah joined #nim |
12:26:24 | yglukhov | cheatfate: mach ports are much lower level than file descriptors. you can't use commonly-knows select/kqueue api on them. |
12:26:56 | * | dmi0 joined #nim |
12:27:13 | cheatfate | yglukhov, http://stackoverflow.com/questions/33115562/why-does-poll-indicate-a-kqueue-watching-a-single-empty-mach-port-set-is-readabl |
12:28:15 | cheatfate | i think kqueue supports mach ports |
12:28:56 | cheatfate | https://github.com/nim-lang/Nim/blob/devel/lib/posix/kqueue.nim#L34 |
12:29:51 | cheatfate | so to support it i just need to add some code to ioselectors |
12:30:09 | yglukhov | cheatfate: oh, i might be wrong then... but i remember i was looking through CFRunloop source code, and it used some different mach api. |
12:32:19 | cheatfate | yglukhov, more interesting part is how to join asyncdispatch and windows gui |
12:32:56 | yglukhov | cheatfate: what are we using to select on windows? waitformultipleobjects? |
12:33:16 | cheatfate | yglukhov, nope |
12:33:46 | cheatfate | yglukhov, but how waitformultipleobjects help us? |
12:34:11 | cheatfate | yglukhov, asyncdispatch is using IOCP |
12:34:37 | cheatfate | yglukhov, but for some cases we are using some tricks with RegisterWaitForSingleObject |
12:34:43 | yglukhov | cheatfate: i might be wrong, but i kinda remember there's a function like waitformultipleobjectsMSG or smth, that returns upon windows events |
12:35:11 | * | gernest quit (Quit: gernest) |
12:35:16 | cheatfate | yglukhov, heh if so it will be very easy |
12:36:08 | yglukhov | cheatfate: pls take a look: https://msdn.microsoft.com/en-us/library/windows/desktop/ms684245(v=vs.85).aspx |
12:38:05 | * | gernest joined #nim |
12:38:56 | * | mitai quit (Ping timeout: 256 seconds) |
12:39:55 | * | mitai joined #nim |
12:40:11 | * | djellemah quit (Ping timeout: 256 seconds) |
12:40:47 | yglukhov | cheatfate: so if you think kqueue supports mach ports, whats the next problem then? |
12:40:57 | * | gernest quit (Client Quit) |
12:41:25 | * | mitai quit (Client Quit) |
12:41:26 | cheatfate | msgwaitformultipleobject != waitformultipleobjects so tricks with registerwaitforsingleobject could not help |
12:42:12 | yglukhov | cheatfate: that tells me nothing unfortunately. do you mean you still see no solution? |
12:42:23 | cheatfate | yglukhov, yep |
12:44:20 | yglukhov | cheatfate: we're relying on RegisterWaitForSingleObject currently? |
12:46:48 | yglukhov | cheatfate: ok i see, we're using RegisterWaitForSingleObject. where the callback is called from? |
12:47:00 | cheatfate | yglukhov, on windows we are not relying on anything, but IOCP (Completion ports) dont understand anything except sockets/files/pipes |
12:47:07 | * | gernest joined #nim |
12:47:31 | cheatfate | so to support most of handles we can use RegisterWaitForSingleObject |
12:48:24 | cheatfate | because WaitForSingleObject support sync primitives/processes/threads/timers |
12:48:38 | cheatfate | but UI events is something different |
12:49:09 | * | gernest quit (Client Quit) |
12:49:51 | yglukhov | where do i find the code that selects? |
12:49:59 | * | gernest joined #nim |
12:50:48 | * | gernest quit (Client Quit) |
12:51:37 | yglukhov | cheatfate: is it getQueuedCompletionStatus or smth? |
12:52:54 | * | pie_ quit (Ping timeout: 250 seconds) |
12:53:29 | * | DavidGu quit (Quit: DavidGu) |
12:53:55 | * | brson joined #nim |
12:57:25 | cheatfate | yglukhov, code that selects are in poll() |
12:58:01 | cheatfate | getQueuedCompletionStatus - yep |
13:02:23 | cheatfate | yglukhov, but of course we can start windows thread make a loop with MsgWaitForMultipleObjects and make calls to PostQueuedCompletionStatus to wake up main async loop, but it looks ugly... |
13:04:31 | FromGitter | <rishavs> hi i have a basic nimble question. i created a project using "nimble init". in it i added a folder called "src" and one called "bin". in the src i have a simple nimfile called main.nim which contains 'echo "test"' in it. i added srcDir = "src" and ⏎ binDir = "bin" entries in the nimble file |
13:04:57 | FromGitter | <rishavs> i was expecting that using "nimble build" will compile the mian.nim in src into main.exe in bin |
13:05:14 | FromGitter | <rishavs> but i get "Error: unhandled exception: Nothing to build. Did you specify a module to build using the `bin` key in your .nimble file ⏎ ? [NimbleError]" instead |
13:05:49 | FromGitter | <rishavs> what am i doing wrong? |
13:06:30 | * | DavidGu joined #nim |
13:06:36 | cheatfate | rishavs: most of us never used `nimble` to compile nim projects |
13:08:15 | * | ehmry quit (Remote host closed the connection) |
13:08:15 | * | jivank[m] quit (Remote host closed the connection) |
13:08:15 | * | zielmicha[m] quit (Remote host closed the connection) |
13:08:15 | * | MrAxilus[m] quit (Remote host closed the connection) |
13:08:16 | * | prose[m] quit (Write error: Connection reset by peer) |
13:08:16 | * | M-Quora quit (Write error: Connection reset by peer) |
13:08:16 | * | TheManiac quit (Read error: Connection reset by peer) |
13:08:16 | * | hohlerde quit (Remote host closed the connection) |
13:08:33 | * | PMunch quit (Quit: leaving) |
13:09:52 | FromGitter | <rishavs> o.0 |
13:10:59 | yglukhov | rishavs: try adding `bin = @["path_to_main.nim"] |
13:11:39 | FromGitter | <rishavs> i just did |
13:11:44 | FromGitter | <rishavs> got unhandled exception |
13:11:46 | FromGitter | <rishavs> :D |
13:12:01 | FromGitter | <rishavs> bin = @["main"] |
13:12:09 | FromGitter | <rishavs> Error: unhandled exception: Build failed for package: nippy [BuildFailed] |
13:12:28 | FromGitter | <rishavs> should i report this? or is it some screwup on my side? |
13:12:29 | yglukhov | rishavs: ok, so you're one step closer =) |
13:13:00 | yglukhov | rishavs: path to main might need to be relative to nimble file |
13:13:03 | yglukhov | is it? |
13:14:11 | yglukhov | also, try appending .nim extension to filename. at least thats what i do, and it works for me |
13:14:19 | FromGitter | <rishavs> did both |
13:14:26 | yglukhov | still same error? |
13:14:30 | FromGitter | <rishavs> bin = @["src\main.nim"] |
13:14:39 | yglukhov | youre os is? |
13:14:43 | FromGitter | <rishavs> Reading as ini file failed with: ⏎ Invalid section: . ⏎ Evaluating as NimScript file failed with: ⏎ c:\users\rsharan\devspace\nim\nippy\nippy.nimble(16, 14) Error: invalid character constant. [NimbleError] [https://gitter.im/nim-lang/Nim?at=58134f42806316005dccb580] |
13:14:45 | FromGitter | <rishavs> windows |
13:14:52 | * | pie_ joined #nim |
13:15:05 | FromGitter | <rishavs> all people with such stupid issues come from windows :D |
13:15:13 | * | zielmicha[m] joined #nim |
13:15:27 | yglukhov | ah now youre getting syntax error. try use normal slash |
13:15:40 | yglukhov | the unix style |
13:16:15 | FromGitter | <rishavs> i tried both slashes |
13:16:35 | FromGitter | <rishavs> bin = @["src\main"] gives invalid character |
13:16:47 | FromGitter | <rishavs> bin = @["src/main"] gives the unhandles exception once again |
13:16:48 | yglukhov | "\" has to be escaped |
13:16:57 | yglukhov | bin = @["src\\main"] |
13:17:14 | FromGitter | <ephja> \\? |
13:17:19 | FromGitter | <ephja> \\\ |
13:17:36 | FromGitter | <ephja> 3 slashes here outputs 2 slashes |
13:17:46 | FromGitter | <ephja> \test |
13:18:14 | yglukhov | rishavs, does this work: bin = @["src\\main.nim"] |
13:18:16 | * | djellemah joined #nim |
13:18:49 | FromGitter | <rishavs> nope. i get invalid character |
13:19:08 | FromGitter | <rishavs> let me put the project on github so you guys can see the entire structure |
13:19:12 | FromGitter | <ephja> you said it has to be escaped, yet you didn't escape it yourself ;) |
13:20:21 | FromGitter | <ephja> @["src\\\main.nim"] or @[r"src\main.nim"]? |
13:21:09 | yglukhov | ahh.... so i've logged in to gitter, and guess what. my code looks differently there =) gitter ate one of my backslashes |
13:21:30 | yglukhov | rishavs: instead of one \ use 2 \ in a row |
13:21:30 | FromGitter | <ephja> oh. how annoying |
13:21:53 | FromGitter | <yglukhov> bin = @["src\\main"] |
13:22:06 | FromGitter | <ephja> it should only process user input, not bridged messages |
13:22:14 | FromGitter | <yglukhov> wtf even when i type in gitter it still deletes it |
13:22:27 | FromGitter | <ephja> try 3 slashes in a row |
13:22:32 | FromGitter | <rishavs> sorry i tried all these variants. 2 slashes. slash question, 3 slashes etc |
13:22:33 | FromGitter | <rishavs> :( |
13:22:37 | FromGitter | <yglukhov> `bin = @["src\main"]` |
13:22:53 | FromGitter | <yglukhov> stupid |
13:22:55 | FromGitter | <ephja> huh |
13:22:58 | FromGitter | <ephja> yeah :D |
13:23:17 | FromGitter | <ephja> markdown thingie to the rescue? |
13:23:37 | FromGitter | <yglukhov> ```nim ⏎ bin = @["src\\\main"]` |
13:23:41 | FromGitter | <rishavs> https://github.com/rishavs/nimble_test/ |
13:23:44 | FromGitter | <rishavs> here we go |
13:23:56 | FromGitter | <yglukhov> ahh there we go |
13:24:22 | FromGitter | <rishavs> 3 slashes - c:\users\rsharan\documents\github\nimble_test\nippy.nimble(16, 14) Error: invalid character constant. [NimbleError] |
13:24:38 | FromGitter | <rishavs> time for 4 slashes? |
13:24:40 | FromGitter | <rishavs> :D |
13:24:43 | FromGitter | <ephja> ```double slash markdown test: \\``` |
13:25:33 | Araq | did I mention that I consider text based interfaces with escaping rules the biggest problem in modern computing? |
13:25:41 | FromGitter | <yglukhov> @rishavs here's correct line in your case: ``` ⏎ bin = @["main.nim"] ⏎ ``` |
13:26:28 | FromGitter | <yglukhov> does that help? |
13:26:37 | * | DavidGu quit (Quit: DavidGu) |
13:27:20 | yglukhov | rishavs: or even: bin = @["main"] |
13:27:27 | FromGitter | <rishavs> @yglukhov we started from there |
13:27:28 | yglukhov | works for me. with your repo. |
13:27:34 | FromGitter | <rishavs> that gives Error: unhandled exception: Build failed for package: nippy [BuildFailed] |
13:28:03 | FromGitter | <rishavs> as it gives me no info, i dont know where i went wrong :( |
13:29:23 | cheatfate | Araq, what's wrong with text based interfaces |
13:30:06 | FromGitter | <yglukhov> @rishavs pls confirm that this nimble file doesn't work for you: ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=581352de482c168b22c5a3ea] |
13:30:59 | FromGitter | <rishavs> ```code paste, see link``` ⏎ ⏎ is what i just used [https://gitter.im/nim-lang/Nim?at=58135313806316005dccc899] |
13:31:19 | FromGitter | <rishavs> got Error: unhandled exception: Build failed for package: nimble_test [BuildFailed] |
13:31:53 | FromGitter | <yglukhov> @rishavs then you should probaly file a nimble bug :( |
13:32:45 | FromGitter | <rishavs> thanks. any info that i should add to the bug? |
13:33:04 | yglukhov | cheatfate: can't we switch to just msgwaitformultipleobjects and not use iocp at all? |
13:33:37 | FromGitter | <ephja> is the syntax of "requires" correct? is it different from "bin"? |
13:34:09 | yglukhov | rishavs: commit this new file to your repo, provide a link, your platform information, nim/nimble versions, well... all the usual stuff you would normally provide =) |
13:35:44 | cheatfate | yglukhov, all `waitformultiple` functions supports only limited set of windows handles, and sockets/pipes/file handles are not native for it. |
13:35:45 | FromGitter | <rishavs> i meant, can i run the nimble build command in a verbose format? |
13:35:52 | FromGitter | <rishavs> so i can add thet debug info as well |
13:36:10 | * | DavidGu joined #nim |
13:36:26 | yglukhov | cheatfate: ahh, ok. |
13:36:58 | cheatfate | yglukhov, so it will be something like (faster ui/slower networking) or (slower ui/faster networking) |
13:37:31 | yglukhov | cheatfate: imho, "slower ui" sounds like not a problem at all. |
13:38:02 | yglukhov | cheatfate: i mean noone will be able to notice |
13:38:19 | yglukhov | while "slower network" may be noticeable |
13:38:45 | cheatfate | yglukhov, i can make some kind of POC for windows UI if you need it |
13:39:46 | yglukhov | cheatfate: no, i don't _need_ it that much. |
13:40:25 | * | gangstacat quit (Ping timeout: 260 seconds) |
13:40:29 | yglukhov | i will not be able to play with it, coz i dont use windows. |
13:40:38 | yglukhov | macos would be welcome though ;) |
13:41:29 | yglukhov | rishavs: don't worry. you'll be asked for more info if needed =) |
13:41:33 | cheatfate | yglukhov, if you want me to make ioselectors/upcoming asyncdispatch support macos ui events, you need to give me some code :) |
13:41:45 | cheatfate | which i can test |
13:42:52 | cheatfate | i already have experience with libxcb, and i know how to handle windows, but i'm totally noob with macos, i have only VM with it |
13:42:53 | yglukhov | cheatfate: i don't think that would be easy. mach_over_kqeue is just the first tiny step towards working ui. |
13:43:46 | cheatfate | yglukhov, is there any resources around with tutorials/docs about native approach on macos ui? |
13:43:48 | * | djellemah quit (Ping timeout: 245 seconds) |
13:43:59 | * | desophos quit (Read error: Connection reset by peer) |
13:44:21 | FromGitter | <rishavs> thanks everyone. i added an issue here https://github.com/nim-lang/nimble/issues/266 |
13:45:07 | cheatfate | yglukhov, if macos ui based on mach ports, then mach over kqueue is like 50% of work... |
13:48:10 | * | Quora[m] joined #nim |
13:48:10 | * | mraxilus[m] joined #nim |
13:48:11 | * | jivank[m] joined #nim |
13:48:11 | * | prose[m] joined #nim |
13:48:12 | * | emery[m] joined #nim |
13:48:54 | yglukhov | cheatfate: i think we're still have to use cfrunloop api to dispatch that event. but yeah, thats probably just a couple of trials and errors. |
13:50:15 | cheatfate | yglukhov, i'm thinking to add interface to just wakeup poll() on UI events, so we only need to know if there events need to be processed, all other work must be done on client side |
13:50:37 | yglukhov | cheatfate: sure. sounds good. |
13:51:15 | * | gangstacat joined #nim |
13:52:14 | yglukhov | cheatfate: still, im not completely sure if mach_kqueue is the best way to go. |
13:53:01 | * | pafmafpaf_ quit (Ping timeout: 260 seconds) |
13:53:34 | cheatfate | yglukhov, its the only way |
13:54:11 | yglukhov | cheatfate: CFRunloop-based selector is another way |
13:54:37 | cheatfate | yglukhov, and how you can join it with async loop? |
13:54:54 | cheatfate | which is based on kqueue |
13:55:29 | yglukhov | cheatfate: i mean, using CFRunloop as the only way to select. no kquue |
14:01:23 | cheatfate | yglukhov, then we are in trouble |
14:07:13 | * | brechtm quit (Remote host closed the connection) |
14:08:53 | * | Amun_Ra joined #nim |
14:11:53 | * | bjz joined #nim |
14:13:12 | * | enthus1ast joined #nim |
14:16:11 | * | _samdev_ joined #nim |
14:16:29 | FromGitter | <dom96> yglukhov: have you seen my notifications package for OS X? it might be of interest https://github.com/dom96/notifications |
14:19:34 | * | _samdev_ quit (Client Quit) |
14:22:05 | * | Andris_zbx quit (Quit: Leaving) |
14:22:11 | * | gokr quit (Ping timeout: 256 seconds) |
14:27:13 | * | pafmafpaf_ joined #nim |
14:30:57 | cheatfate | yglukhov, if macos has something like `strace` you can run simple macos ui application and if you find calls select/poll/kqueue, then we can make it :) |
14:37:47 | enthus1ast | cheatfate you're working on the asyncnet udp right? |
14:38:02 | cheatfate | enthus1ast, nope |
14:38:10 | enthus1ast | ohh : ) |
14:38:24 | cheatfate | enthus1ast, there no my code in asyncnet, and i dont using it |
14:38:56 | cheatfate | because everything i need is in `asyncdispatch` |
14:40:46 | enthus1ast | mhh ok, that what i almost thought |
14:44:29 | * | __UNIcodeX__ joined #nim |
14:45:25 | * | brson quit (Ping timeout: 256 seconds) |
14:47:27 | yglukhov | cheatfate: even if macos use kqueue that doesn't mean, we can easily obtain the needed mach ports to pass them to out own kqueue. |
14:47:59 | yglukhov | omg sorry for all the typos %) |
14:48:11 | * | UNIcodeX quit (Read error: Connection reset by peer) |
14:48:58 | * | UNIcodeX joined #nim |
14:50:22 | * | dmi0 quit (Quit: ~) |
14:51:03 | yglukhov | theres also GCD (grand central dispatch) which is libdispatch. and cfrunloop is tightly integrated with it for several years already. so maybe thats another option. |
14:52:30 | * | __UNIcodeX__ quit (Ping timeout: 250 seconds) |
14:53:47 | yglukhov | dom96: yeah, i've seen it but didnt have a reason to play with it yet |
14:55:02 | * | yglukhov_ joined #nim |
14:56:25 | * | UNIcodeX quit (Read error: Connection reset by peer) |
14:56:47 | * | UNIcodeX joined #nim |
14:58:23 | * | yglukhov quit (Ping timeout: 265 seconds) |
14:58:38 | * | __UNIcodeX__ joined #nim |
14:58:57 | * | PMunch joined #nim |
14:59:35 | * | yglukhov_ quit (Ping timeout: 252 seconds) |
15:01:57 | * | UNIcodeX quit (Read error: Connection reset by peer) |
15:02:50 | * | UNIcodeX joined #nim |
15:04:40 | * | __UNIcodeX__ quit (Ping timeout: 265 seconds) |
15:04:48 | * | Snircle quit (Quit: Textual IRC Client: www.textualapp.com) |
15:05:21 | * | brson joined #nim |
15:10:50 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
15:12:44 | * | nsf quit (Quit: WeeChat 1.6) |
15:12:58 | * | bjz joined #nim |
15:16:35 | * | __UNIcodeX__ joined #nim |
15:16:37 | * | brechtm joined #nim |
15:17:00 | * | DavidGu quit (Quit: DavidGu) |
15:19:15 | * | brechtm quit (Remote host closed the connection) |
15:19:49 | * | UNIcodeX quit (Ping timeout: 244 seconds) |
15:26:37 | * | djellemah joined #nim |
15:26:47 | * | PMunch quit (Quit: leaving) |
15:26:51 | * | brechtm joined #nim |
15:26:59 | * | brechtm quit (Remote host closed the connection) |
15:27:16 | * | brechtm joined #nim |
15:28:37 | Araq | cheatfate: slow, error prone, doesn't compose well |
15:29:02 | Araq | write a regex matchin URLs within an XML file and see for yourself. |
15:29:45 | cheatfate | Araq, i dont understand link between console and regex matchin URLs |
15:30:59 | Araq | I'm talking about text based protocols / interfaces |
15:32:03 | Araq | in general. |
15:32:31 | cheatfate | ahh, then i misunderstood you sorry... |
15:53:37 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
15:55:44 | * | gokr joined #nim |
16:00:34 | cheatfate | why people think that macos is the best intuitive os, i have wasted 15 minutes to find how to start simple text editor |
16:01:20 | Araq | that's nothing. watch some nonprogrammer delete some files on his usb stick |
16:01:30 | Araq | to make room for new stuff. |
16:01:49 | Araq | doesn't work because mac keeps the wastebin on the same device |
16:02:04 | * | aziz joined #nim |
16:02:17 | Araq | but you can delete everything in the recycle bin and this affects all disks |
16:03:37 | cheatfate | Araq, i think all problems in modern world are from text protocols/interfaces |
16:05:23 | * | shodan45 joined #nim |
16:05:54 | cheatfate | some people invented http (i think this is start of text protocols/inferfaces) and now same people inventing http2 to reinvent binary protocol/interfaces... |
16:05:58 | enthus1ast | and inadequate separation between control and payload data |
16:07:38 | enthus1ast | sql/http/js injection, buffer overflows, etc etc |
16:07:43 | * | yglukhov joined #nim |
16:08:05 | cheatfate | yep all the problems we are fighting now started from this text protocols |
16:08:21 | cheatfate | so many RFC, biggest wastage of human power/time |
16:10:36 | enthus1ast | does it really make a difference if i forge an input that is able to break out of a text or binary protokoll? At least me as a human can read text protokolls. |
16:23:22 | * | brson quit (Quit: leaving) |
16:23:44 | * | UNIcodeX joined #nim |
16:25:14 | * | shodan45 quit (Quit: Konversation terminated!) |
16:27:08 | * | __UNIcodeX__ quit (Ping timeout: 260 seconds) |
16:29:35 | * | shodan45 joined #nim |
16:35:53 | * | abruanese_ quit (Ping timeout: 260 seconds) |
16:37:37 | * | gokr quit (Ping timeout: 256 seconds) |
16:39:52 | * | brson joined #nim |
16:39:53 | * | beatmox quit (Ping timeout: 256 seconds) |
16:40:04 | * | NhanH quit (Write error: Connection reset by peer) |
16:40:27 | * | pigmej quit (Ping timeout: 256 seconds) |
16:40:47 | * | djellemah quit (Ping timeout: 252 seconds) |
16:41:36 | * | Quora[m] quit (Ping timeout: 256 seconds) |
16:41:36 | * | prose[m] quit (Ping timeout: 256 seconds) |
16:41:36 | * | mraxilus[m] quit (Ping timeout: 256 seconds) |
16:41:36 | * | jivank[m] quit (Ping timeout: 256 seconds) |
16:41:36 | * | emery[m] quit (Ping timeout: 256 seconds) |
16:41:36 | * | daekano quit (Ping timeout: 256 seconds) |
16:41:36 | * | StarBrilliant quit (Ping timeout: 256 seconds) |
16:42:10 | * | EastByte quit (Ping timeout: 256 seconds) |
16:42:44 | * | zielmicha[m] quit (Ping timeout: 256 seconds) |
16:43:08 | federico3 | cheatfate: well they weren't exactly the same people, but yeah http is a mess. and now there's quic as well |
16:43:27 | * | NhanH joined #nim |
16:43:57 | * | brechtm_ joined #nim |
16:44:32 | * | brechtm_ quit (Read error: Connection reset by peer) |
16:44:54 | * | yglukhov quit (Remote host closed the connection) |
16:44:57 | cheatfate | federico3, you know what? when they invented http, they drop our salaries like in 10-50 times and let a bunch of ignorant newbees to learn programming :) |
16:45:02 | * | pigmej joined #nim |
16:45:08 | * | brechtm_ joined #nim |
16:45:21 | * | daekano joined #nim |
16:45:23 | * | beatmox joined #nim |
16:45:24 | * | yglukhov joined #nim |
16:45:50 | * | EastByte joined #nim |
16:45:52 | * | brechtm_ quit (Remote host closed the connection) |
16:46:27 | * | brechtm_ joined #nim |
16:46:30 | * | StarBrilliant joined #nim |
16:47:33 | * | brechtm quit (Ping timeout: 260 seconds) |
16:48:39 | dom96 | cheatfate: federico3: what aspects of HTTP would you guys consider to be a mess? |
16:49:05 | federico3 | yep :( |
16:49:49 | federico3 | inexistent isolation of layers |
16:50:03 | Araq | multipart data requires a unique terminor iirc |
16:50:22 | Araq | you need to ensure this terminator is not in the payload |
16:50:32 | * | brechtm_ quit (Ping timeout: 250 seconds) |
16:51:09 | cheatfate | Araq, multipart is a part of MIME standart which was invented after http, and was some kind of patch to send binary data over text interface :) because they dont like UUCP |
16:51:11 | dom96 | federico3: can you give an example of that? |
16:51:21 | federico3 | params in get queries with undefined behaviors |
16:52:39 | * | aziz quit (Quit: Ex-Chat) |
16:54:16 | federico3 | dom96: http relied on TCP concepts.of beginning. and end of a connection, and required hacks to implement broken parallel flows |
16:55:16 | dom96 | yes, but to be fair, I doubt parallel flows were considered in the original design of HTTP. |
16:56:26 | dom96 | In fact, I wouldn't be surprised if a lot of HTTP was just an attempt to standardise what the Netscape/MS decided to implement. |
16:57:35 | cheatfate | dom96, the problem is in text nature of http protocol |
17:02:18 | cheatfate | and main problem of this protocols - using ANSI 7 bit symbols to encode 8 bit symbols |
17:03:48 | * | irrequietus joined #nim |
17:04:28 | federico3 | dom96: if you isolate the layers correctly it becomes easy to add encryption/multiplexing/multipath later on through encapsulation |
17:04:45 | federico3 | look at quic :) |
17:09:27 | * | brechtm joined #nim |
17:13:27 | * | djellemah joined #nim |
17:16:25 | * | djellemah quit (Client Quit) |
17:35:51 | * | brechtm quit (Remote host closed the connection) |
17:43:32 | * | shodan45 quit (Quit: Konversation terminated!) |
17:44:04 | * | desophos joined #nim |
17:46:19 | * | brechtm joined #nim |
17:48:26 | * | Matthias247 joined #nim |
17:50:46 | * | brechtm quit (Ping timeout: 268 seconds) |
18:02:46 | * | dddddd joined #nim |
18:05:33 | * | zielmicha[m] joined #nim |
18:12:55 | * | jivank[m] joined #nim |
18:12:55 | * | MrAxilus[m] joined #nim |
18:12:55 | * | ehmry joined #nim |
18:12:55 | * | prose[m] joined #nim |
18:13:01 | * | hohlerde joined #nim |
18:13:02 | * | M-Quora joined #nim |
18:13:02 | * | TheManiac joined #nim |
18:14:08 | * | bjz joined #nim |
18:17:20 | dom96 | Eve is pretty cool. http://programming.witheve.com/ Definitely a lot that we can learn from it. I especially like the idea of separating functionality into blocks and being able to select which blocks to view. |
18:21:37 | * | yglukhov quit (Read error: Connection reset by peer) |
18:22:10 | * | yglukhov joined #nim |
18:25:11 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
18:34:08 | * | cheatfate quit (Quit: Leaving) |
18:34:53 | * | enthus1ast quit (Ping timeout: 260 seconds) |
18:35:30 | FromGitter | <rishavs> wow. thats a pretty interesting language |
18:45:19 | * | libman joined #nim |
18:48:01 | flyx | isn't that basically the same idea as WEB? |
18:50:01 | * | cheatfate joined #nim |
19:02:05 | * | gokr joined #nim |
19:15:06 | * | pregressive joined #nim |
19:16:12 | * | brson quit (Quit: leaving) |
19:22:05 | * | bjz joined #nim |
19:22:34 | * | Mat4 joined #nim |
19:25:24 | * | desophos quit (Ping timeout: 260 seconds) |
19:30:51 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
19:30:56 | * | Mat4 left #nim (#nim) |
19:31:40 | * | bjz joined #nim |
19:41:06 | * | gokr quit (Ping timeout: 256 seconds) |
20:02:25 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
20:15:12 | * | desophos joined #nim |
20:29:55 | * | enthus1ast joined #nim |
20:37:48 | * | gokr joined #nim |
20:54:08 | * | libman quit (Quit: Leaving.) |
21:14:51 | * | bjz joined #nim |
21:45:02 | * | chemist69 quit (Ping timeout: 250 seconds) |
21:47:15 | * | chemist69 joined #nim |
21:49:14 | * | Snircle joined #nim |
21:55:05 | * | pafmafpaf_ quit (Ping timeout: 260 seconds) |
22:00:03 | * | elrood quit (Quit: Leaving) |
22:23:32 | * | enthus1ast quit (Ping timeout: 265 seconds) |
22:23:53 | * | enthus1ast joined #nim |
22:31:50 | * | kunev quit (Ping timeout: 250 seconds) |
22:32:46 | * | kunev joined #nim |
22:49:04 | * | pafmafpaf_ joined #nim |
22:55:17 | * | pafmafpaf_ quit (Ping timeout: 260 seconds) |
22:59:17 | * | Trustable quit (Remote host closed the connection) |
23:09:35 | * | gokr quit (Ping timeout: 268 seconds) |
23:12:18 | * | bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
23:16:32 | * | Matthias247 quit (Read error: Connection reset by peer) |
23:17:17 | * | irrequietus quit () |
23:40:56 | * | cheatfate quit (Read error: Connection reset by peer) |
23:41:02 | * | cheatfate_ joined #nim |
23:49:55 | * | nsf joined #nim |
23:51:35 | * | zaquest quit (Quit: Leaving) |
23:57:15 | * | bjz joined #nim |
23:58:28 | * | zaquest joined #nim |