00:05:17 | * | mwbrown quit (Ping timeout: 268 seconds) |
00:13:14 | * | mwbrown joined #nim |
00:13:57 | * | bthesorceror quit (Ping timeout: 240 seconds) |
00:17:38 | * | Bock joined #nim |
00:20:50 | * | Bock quit (Remote host closed the connection) |
00:21:10 | * | hggdh2 joined #nim |
00:22:26 | * | hggdh2 quit (Killed (Sigyn (Spam is off topic on freenode.))) |
00:26:40 | * | wildlander quit (Quit: Konversation terminated!) |
00:31:43 | * | aaron7 joined #nim |
00:33:20 | * | aaron7 quit (Remote host closed the connection) |
00:44:18 | * | Guest6534 joined #nim |
00:47:09 | * | Guest6534 quit (Remote host closed the connection) |
00:48:23 | * | stefanos82 quit (Quit: Quitting for now...) |
00:58:47 | * | xylef quit (Quit: WeeChat 2.2) |
01:07:46 | * | joepie9114 joined #nim |
01:13:07 | * | joepie9114 quit (Ping timeout: 268 seconds) |
01:16:04 | FromGitter | <kayabaNerve> `Error: cannot bind another '=' to: myObject` Stil got this error :P Both are in the file, it's an object, no other = exists... |
01:18:59 | * | By joined #nim |
01:21:10 | * | hipp joined #nim |
01:24:19 | * | By quit (Ping timeout: 260 seconds) |
01:25:09 | * | hipp quit (Remote host closed the connection) |
01:37:21 | * | Minkar7 joined #nim |
01:43:02 | * | Minkar7 quit (Ping timeout: 256 seconds) |
01:52:47 | * | bthesorceror joined #nim |
01:57:32 | * | clyybber quit (Ping timeout: 244 seconds) |
01:57:48 | * | clyybber joined #nim |
01:57:48 | * | clyybber quit (Client Quit) |
01:58:01 | * | clyybber joined #nim |
02:04:22 | FromGitter | <kayabaNerve> Apparently you can't override = after setting a destructor via =destroy |
02:32:16 | FromGitter | <qqtop> @imdaveho maybe you can find some inspiration here https://github.com/qqtop/NimCx/blob/master/nimcx/cxprint.nim |
02:35:57 | * | bthesorceror quit (Ping timeout: 240 seconds) |
02:38:43 | * | exponent26 joined #nim |
02:39:32 | * | exponent26 quit (Remote host closed the connection) |
02:43:34 | * | leorize1 is now known as leorize |
02:48:36 | * | Erenzie20 joined #nim |
02:48:45 | * | krux02 quit (Remote host closed the connection) |
02:53:27 | * | Erenzie20 quit (Ping timeout: 240 seconds) |
03:01:56 | * | Hotkeys joined #nim |
03:11:12 | FromGitter | <kayabaNerve> Generally, when my Nim compiler crashes, it's with a SEGFAULT. |
03:11:20 | FromGitter | <kayabaNerve> *and it's my fault. |
03:11:26 | FromGitter | <kayabaNerve> However, this is new to me. https://pastebin.com/pA2RicJb |
03:11:39 | FromGitter | <kayabaNerve> I didn't change that file at all. |
03:12:14 | leorize | are you using --newruntime? |
03:12:35 | FromGitter | <kayabaNerve> Nope |
03:12:45 | FromGitter | <kayabaNerve> Same settings as always |
03:14:36 | * | Hotkeys left #nim (#nim) |
03:17:14 | FromGitter | <imdaveho> @qqtop thanks, looking at your code...still wrapping my head around it, the lib looks really cool |
03:46:02 | * | clyybber quit (Ping timeout: 244 seconds) |
03:47:10 | * | bthesorceror joined #nim |
03:59:30 | * | johtso joined #nim |
04:04:35 | * | johtso quit (Ping timeout: 240 seconds) |
04:14:06 | * | cats25 joined #nim |
04:14:23 | * | cats25 quit (Killed (Unit193 (Spam is not permitted on freenode.))) |
04:23:45 | * | trisk14 joined #nim |
04:26:12 | * | trisk14 quit (Remote host closed the connection) |
04:36:57 | * | bthesorceror quit (Ping timeout: 240 seconds) |
04:37:36 | * | bthesorceror joined #nim |
04:44:48 | * | Blendify_i5 joined #nim |
04:48:00 | * | J2118 joined #nim |
04:49:17 | * | Blendify_i5 quit (Remote host closed the connection) |
04:49:31 | * | J2118 quit (Killed (Unit193 (Spam is not permitted on freenode.))) |
04:55:20 | * | r0bby14 joined #nim |
04:58:08 | * | r0bby14 quit (Remote host closed the connection) |
05:04:03 | * | syncretism_mbl4 joined #nim |
05:09:55 | * | JudicialWatch joined #nim |
05:10:04 | * | syncretism_mbl4 quit (Ping timeout: 260 seconds) |
05:11:32 | * | unknown18 joined #nim |
05:13:05 | * | unknown18 quit (Remote host closed the connection) |
05:34:48 | * | cwre joined #nim |
05:40:44 | * | cwre quit (Ping timeout: 244 seconds) |
05:50:32 | * | arecaceae quit (Remote host closed the connection) |
05:50:51 | * | arecaceae joined #nim |
05:59:07 | * | barschmade joined #nim |
06:03:57 | * | barschmade quit (Ping timeout: 240 seconds) |
06:15:33 | * | kaushalmodi quit (Quit: Connection closed for inactivity) |
06:18:22 | * | raso2 joined #nim |
06:20:52 | * | Pici12 joined #nim |
06:24:27 | * | nsf joined #nim |
06:25:41 | * | Pici12 quit (Ping timeout: 244 seconds) |
06:48:26 | * | baweaver18 joined #nim |
06:50:27 | * | baweaver18 quit (Remote host closed the connection) |
06:54:49 | * | Vladar joined #nim |
07:10:22 | * | nortoh joined #nim |
07:10:49 | * | nortoh quit (Killed (Unit193 (Spam is not permitted on freenode.))) |
07:15:18 | * | mub20 joined #nim |
07:16:25 | * | mub20 quit (Remote host closed the connection) |
07:22:03 | * | Trustable joined #nim |
07:23:50 | * | Trustable quit (Remote host closed the connection) |
07:34:03 | * | Keanu73 joined #nim |
07:34:28 | * | Keanu73 is now known as Guest59665 |
07:36:51 | * | Facilitating joined #nim |
07:39:36 | * | yglukhov[i] joined #nim |
07:40:34 | * | Guest59665 quit (Ping timeout: 260 seconds) |
07:42:05 | * | Facilitating quit (Ping timeout: 240 seconds) |
07:43:40 | * | lostlabyrinth5 joined #nim |
07:49:05 | * | lostlabyrinth5 quit (Ping timeout: 240 seconds) |
07:52:54 | * | yglukhov[i] quit (Remote host closed the connection) |
08:03:27 | * | orb joined #nim |
08:04:08 | * | gmpreussner_ joined #nim |
08:04:17 | * | orb quit (Remote host closed the connection) |
08:04:35 | * | gmpreussner quit (Ping timeout: 240 seconds) |
08:06:24 | * | ZexaronS joined #nim |
08:08:32 | * | moigagoo joined #nim |
08:08:35 | * | ZexaronS quit (Remote host closed the connection) |
08:11:19 | * | sielicki joined #nim |
08:11:21 | * | moigagoo quit (Client Quit) |
08:12:37 | * | sielicki quit (Remote host closed the connection) |
08:18:39 | * | IntPtr28 joined #nim |
08:18:52 | * | IntPtr28 quit (Remote host closed the connection) |
08:27:20 | * | yglukhov[i] joined #nim |
08:27:58 | * | yglukhov[i] quit (Remote host closed the connection) |
08:28:12 | * | yglukhov[i] joined #nim |
08:30:25 | * | rtarded joined #nim |
08:40:13 | * | olspookishmagus1 joined #nim |
08:43:47 | * | Olipro17 joined #nim |
08:44:57 | * | bthesorceror quit (Ping timeout: 240 seconds) |
08:46:34 | * | olspookishmagus1 quit (Ping timeout: 264 seconds) |
08:48:01 | * | Olipro17 quit (Ping timeout: 248 seconds) |
08:59:25 | * | april joined #nim |
09:00:57 | * | Alina-malina7 joined #nim |
09:01:08 | * | april quit (Remote host closed the connection) |
09:01:24 | * | Alina-malina7 quit (Remote host closed the connection) |
09:01:46 | * | clyybber joined #nim |
09:25:17 | * | nsf quit (Quit: WeeChat 2.2) |
09:31:41 | ehmry | Araq: I want to make CI tests for Genode, is appveyor the thing to use |
09:31:47 | ehmry | ? |
09:32:53 | * | lolmac joined #nim |
09:37:22 | * | lolmac quit (Ping timeout: 244 seconds) |
09:37:58 | ehmry | its a problem, I have more commits queued but need better tests |
09:38:28 | FromGitter | <mratsim> Appveyor is windows only |
09:38:44 | FromGitter | <mratsim> Travis is x86_64 linux/mac only |
09:44:51 | ehmry | does the BSD stuff get tested? |
09:47:36 | ehmry | maybe I just write some CI in Nim... |
09:49:07 | * | Ellenor2 joined #nim |
09:49:53 | * | Ellenor2 quit (Killed (Sigyn (Spam is off topic on freenode.))) |
09:50:09 | * | hvxgr13 joined #nim |
09:56:17 | * | hvxgr13 quit (Ping timeout: 248 seconds) |
09:59:14 | * | rtarded quit (Quit: Leaving) |
10:01:04 | * | PMunch joined #nim |
10:14:11 | * | nirel0 joined #nim |
10:16:06 | * | nirel0 quit (Remote host closed the connection) |
10:22:49 | FromGitter | <mratsim> it doesn’t |
10:23:52 | * | arecaceae quit (Remote host closed the connection) |
10:24:10 | * | arecaceae joined #nim |
10:26:27 | * | ng0 joined #nim |
10:40:46 | * | yglukhov[i] quit (Remote host closed the connection) |
10:42:09 | * | clyybber quit (Ping timeout: 248 seconds) |
10:47:52 | * | yglukhov[i] joined #nim |
10:49:28 | * | nsf joined #nim |
10:51:57 | * | yglukhov[i] quit (Ping timeout: 240 seconds) |
10:52:44 | * | arooni20 joined #nim |
10:53:34 | * | ng0 quit (Quit: Alexa, when is the end of world?) |
10:57:58 | * | arooni20 quit (Ping timeout: 264 seconds) |
11:02:03 | * | ynyounuo joined #nim |
11:03:11 | * | clyybber joined #nim |
11:03:28 | * | ynyounuo quit (Read error: Connection reset by peer) |
11:08:39 | FromGitter | <Bennyelg> can someone explain to me once and for all what the hack are typedesc variables |
11:08:41 | FromGitter | <Bennyelg> to types |
11:08:45 | FromGitter | <Bennyelg> or * |
11:08:45 | * | aguspiza joined #nim |
11:08:50 | FromGitter | <Bennyelg> and when do I used them |
11:19:59 | PMunch | As far as I understand it typedesc is the descriptor of the type. It can be used if you want to have a procedure like say a parser take in what type it should parse into. So let's say parser[T](kind: typedesc[T]): T. This takes in a typedesc argument and returns that same type so parser(int) will return an int. You can either check this type in the body of the procedure, or you can have multiple procedure with different bodies and overload them |
11:20:09 | * | wildlander joined #nim |
11:25:10 | * | yglukhov[i] joined #nim |
11:27:56 | * | clyybber quit (Ping timeout: 244 seconds) |
11:29:35 | * | yglukhov[i] quit (Ping timeout: 240 seconds) |
11:29:41 | * | vok`19 joined #nim |
11:30:29 | * | vok`19 quit (Killed (Sigyn (Spam is off topic on freenode.))) |
11:31:29 | * | jjido joined #nim |
11:41:36 | * | johnlage10 joined #nim |
11:43:01 | * | johnlage10 quit (Remote host closed the connection) |
11:43:05 | * | jjido quit (Ping timeout: 240 seconds) |
11:45:14 | * | cyberzeus7 joined #nim |
11:46:03 | * | cyberzeus7 quit (Killed (Sigyn (Spam is off topic on freenode.))) |
11:46:49 | * | yglukhov[i] joined #nim |
11:51:38 | * | yglukhov[i] quit (Ping timeout: 256 seconds) |
11:56:05 | * | captainkraft quit (Ping timeout: 240 seconds) |
11:56:30 | * | yglukhov[i] joined #nim |
12:06:39 | * | ProClifo joined #nim |
12:06:47 | * | aguspiza quit (Ping timeout: 268 seconds) |
12:07:33 | * | ProClifo quit (Remote host closed the connection) |
12:33:50 | * | SiLuman15 joined #nim |
12:33:51 | * | aguspiza joined #nim |
12:36:08 | * | Trustable joined #nim |
12:39:49 | * | SiLuman15 quit (Ping timeout: 260 seconds) |
12:40:20 | * | captainkraft joined #nim |
12:44:10 | * | beatmox quit (Ping timeout: 264 seconds) |
12:44:40 | * | beatmox joined #nim |
12:55:23 | * | enthus1ast joined #nim |
12:56:38 | * | Vladar quit (Quit: Leaving) |
12:56:53 | enthus1ast | hey guys if you not have already check out asyncdispatch2 |
12:58:11 | * | SenasOzys quit (Remote host closed the connection) |
12:59:15 | dom96 | enthus1ast: why? |
12:59:20 | * | Vladar joined #nim |
12:59:46 | enthus1ast | async udp, much less code to get something rolling |
13:00:12 | * | SenasOzys joined #nim |
13:00:21 | enthus1ast | overall design looks very promising |
13:00:26 | dom96 | much less code? How so? |
13:02:03 | enthus1ast | one can write a stable async udp server in about lets say 10 lines |
13:02:56 | dom96 | Right, but that's because its got support for UDP and the stdlib asyncdispatch doesn't |
13:03:04 | enthus1ast | i know |
13:04:45 | enthus1ast | i have build an p2p system with asyncdispatch and it was a lot of pain, i'll consider porting it to asyncdispatch2 |
13:12:17 | dom96 | Of course it was, asyncdispatch doesn't support UDP |
13:12:26 | dom96 | A better approach would be to implement UDP in asyncdispatch |
13:12:52 | * | barschmade joined #nim |
13:13:43 | * | barschmade quit (Read error: Connection reset by peer) |
13:13:45 | ldlework | Does anyone have a shell.nix for working with Nim? |
13:14:14 | FromGitter | <mratsim> @Idlework, somethink like this? https://github.com/status-im/nimbus/blob/master/nim.nix |
13:23:07 | * | cholcombe25 joined #nim |
13:24:39 | * | cholcombe25 quit (Remote host closed the connection) |
13:37:18 | * | moigagoo joined #nim |
13:41:07 | * | e-mail joined #nim |
13:42:20 | * | e-mail quit (Remote host closed the connection) |
13:43:26 | * | moigagoo quit (Remote host closed the connection) |
13:50:14 | * | stefanos82 joined #nim |
13:55:23 | FromGitter | <imdaveho> @qqtop totally derped, must have been the late night coding eyes, but I cleared screen immediately after writeStyled so *that's* why nothing was showing. Onto testing the modifier keys and perhaps mouse support. Your lib is really cool though, probably will use it to learn as I go! |
14:07:26 | * | zeroed joined #nim |
14:12:45 | * | zeroed quit (Ping timeout: 244 seconds) |
14:17:02 | * | dorelix joined #nim |
14:19:36 | * | Guest82238 joined #nim |
14:20:07 | * | Guest82238 quit (Remote host closed the connection) |
14:20:08 | enthus1ast | i have no idea how this whole async works internally dom96 |
14:22:04 | * | HeinzBoettjer joined #nim |
14:22:53 | * | HeinzBoettjer quit (Killed (Unit193 (Spam is not permitted on freenode.))) |
14:27:53 | * | Numline18 joined #nim |
14:29:02 | * | Numline18 quit (Remote host closed the connection) |
14:29:57 | * | aguspiza quit (Ping timeout: 240 seconds) |
14:39:44 | * | kaushalmodi joined #nim |
14:44:46 | * | moigagoo joined #nim |
14:47:19 | * | moigagoo quit (Client Quit) |
14:49:00 | FromGitter | <qqtop> @imdaveho glad you like it, hopefully you find some procs which will help you with your project. |
15:02:01 | * | moigagoo joined #nim |
15:03:48 | * | LookingGlassSec joined #nim |
15:06:41 | * | nc-x joined #nim |
15:06:57 | * | LookingGlassSec quit (Remote host closed the connection) |
15:09:28 | * | moigagoo quit (Remote host closed the connection) |
15:09:41 | * | nc-x quit (Client Quit) |
15:16:36 | * | CcxWrk quit (Quit: ZNC 1.7.1 - https://znc.in) |
15:19:53 | * | enthus1ast quit (Ping timeout: 265 seconds) |
15:20:19 | FromGitter | <mratsim> @enthus1ast it’s built on top of closure iterators |
15:20:36 | FromGitter | <mratsim> and closure iterators are state machines in the compiler |
15:21:36 | FromGitter | <mratsim> closure iterators provides the yield/resume functionality and can even take different param at each iteration. |
15:24:02 | * | CcxWrk joined #nim |
15:25:11 | Araq | I'm not sure you can do that |
15:36:30 | FromGitter | <mratsim> it works @Araq, syntax is a pain though: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b67197e945df30dc15939e5] |
15:37:31 | FromGitter | <mratsim> maybe this should be added to the closure iterator test suite? |
15:37:38 | Araq | yeah "it works" but I'm not sure the spec should allow it. oh well. |
15:37:57 | * | bast-anon joined #nim |
15:38:18 | * | bast-anon quit (Remote host closed the connection) |
15:38:19 | FromGitter | <mratsim> It tooks Python 3 versions to get that working, it’s a win for me ;) |
15:39:52 | FromGitter | <mratsim> In the example there, you have several closure iterators that take parameters: https://nim-lang.org/docs/manual.html#iterators-and-the-for-statement-first-class-iterators |
15:40:02 | * | edcragg quit (Quit: ZNC - http://znc.in) |
15:40:40 | * | edcragg joined #nim |
15:42:22 | Araq | btw myseq[0] for float32 is 8 byte aligned |
15:42:55 | FromGitter | <mratsim> ah nice, is it because all seq are 8 bytes aligned by default? |
15:43:02 | Araq | seq header is 8 or 16 bytes, allocator uses 8 byte alignment |
15:48:10 | * | Boulet6 joined #nim |
15:49:29 | * | Hobbyboy8 joined #nim |
15:49:42 | * | Boulet6 quit (Remote host closed the connection) |
15:52:52 | * | Hobbyboy8 quit (Remote host closed the connection) |
15:54:24 | * | enthus1ast joined #nim |
15:56:49 | * | Trustable quit (Remote host closed the connection) |
16:09:01 | * | A5A joined #nim |
16:11:07 | * | A5A quit (Remote host closed the connection) |
16:18:53 | * | TheLemonMan joined #nim |
16:25:01 | TheLemonMan | hmm, is there a way to pass an iterable to a macro and iterate over it at CT? |
16:30:53 | * | yglukhov[i] quit (Remote host closed the connection) |
16:36:39 | * | yglukhov[i] joined #nim |
16:41:11 | * | moigagoo joined #nim |
16:41:12 | * | yglukhov[i] quit (Ping timeout: 256 seconds) |
16:45:08 | * | PMunch quit (Quit: leaving) |
16:48:26 | enthus1ast | ty mratsim |
16:49:06 | * | kaushalmodi quit (Quit: Connection closed for inactivity) |
16:50:50 | * | moigagoo quit (Ping timeout: 256 seconds) |
16:53:41 | * | garywhite joined #nim |
16:54:08 | * | garywhite quit (Remote host closed the connection) |
16:55:53 | * | nsf quit (Quit: WeeChat 2.2) |
17:02:11 | * | ofelas joined #nim |
17:05:41 | * | Pisuke joined #nim |
17:06:21 | * | MyMind quit (Ping timeout: 244 seconds) |
17:06:43 | * | ofelas quit (Client Quit) |
17:13:09 | * | ofelas joined #nim |
17:17:34 | TheLemonMan | and, is there a way to have a macro defined in a template (with a fresh name for each template instantiation)? |
17:36:38 | * | yglukhov[i] joined #nim |
17:40:56 | Araq | TheLemonMan: .gensym ? |
17:43:42 | TheLemonMan | Araq, that's too early, how is the user supposed to know what the macro has been renamed to? :) |
17:54:42 | FromGitter | <Varriount> Well, a macro can't be renamed |
17:55:07 | FromGitter | <Varriount> You could define the macro before the template, and have the template call it |
17:57:42 | TheLemonMan | but the macro needs to access some of the per-instance template variables |
18:11:17 | * | ChickeNES joined #nim |
18:11:46 | ehmry | uh, would there be an interest in CI for nimble? I have a webhook server that will get as far as executing a shell script and update a commit status, but I'm not sure how to structure the configuration |
18:14:03 | * | holodoc23 joined #nim |
18:15:04 | dom96 | ehmry: We already have CI for Nimble? |
18:15:10 | * | holodoc23 quit (Read error: Connection reset by peer) |
18:15:14 | * | LookingGlassSec joined #nim |
18:16:05 | * | LookingGlassSec quit (Killed (Sigyn (Spam is off topic on freenode.))) |
18:16:10 | ehmry | dom96: I could make a native CI server that would build for whatever host its own, this way you could build and run it on BSD for example? |
18:16:23 | ehmry | *host its on |
18:16:58 | dom96 | Did you write a CI server? In Nim? |
18:17:18 | ehmry | yea, a simple one |
18:17:39 | dom96 | We used to have one too https://github.com/nim-lang/nimbuild |
18:17:46 | * | ChickeNES quit (Ping timeout: 264 seconds) |
18:18:54 | dom96 | I'm happy to point a Nimble web hook at it but I'm not sure I'll be using it that much |
18:22:26 | ehmry | hmm.. I need to think this over |
18:24:33 | stefanos82 | we need modules the same as Go's that let you setup a web server on the fly |
18:24:38 | stefanos82 | as a standalone |
18:25:08 | ehmry | stefanos82: I think we have that, as much as I want it |
18:25:26 | stefanos82 | we do? you mean, at the same degree as Go's? |
18:26:57 | ehmry | asynchttpserver? |
18:29:17 | stefanos82 | I didn't know about this module |
18:30:44 | stefanos82 | "This HTTP server has not been designed to be used in production, but for testing applications locally. Because of this, when deploying your application you should use a reverse proxy (for example nginx) instead of allowing users to connect directly to this server." |
18:30:58 | stefanos82 | that's not the case with Go's server though :/ |
18:32:32 | dom96 | How often do people actually expose Go's server directly though |
18:33:01 | dom96 | Anyway, httpbeast is where it's at these days https://github.com/dom96/httpbeast |
18:33:30 | * | kobi7 joined #nim |
18:40:29 | enthus1ast | one thing i always miss for such "simple http server" is byte range |
18:40:52 | Araq | stefanos82: given our resources we can only suggest you proxy with nginx or similar |
18:41:28 | enthus1ast | withouth byte range you cant fast forward videos etc. |
18:41:40 | TheLemonMan | bingo! adding another layer of templates solved the problem |
18:41:41 | stefanos82 | dom96: to answer your question, there are lots of websites that run on Go's standard net/http server |
18:41:55 | stefanos82 | one of it was a famous torrent website that now is defunct |
18:42:18 | stefanos82 | Araq: resources? |
18:42:18 | dom96 | "lots" is relative |
18:42:45 | dom96 | I would be that 99.9999% of website's use nginx, apache, lighttpd or MS' crap |
18:42:50 | TheLemonMan | Araq, #8095 is ready-ish (see the XXX comment and #8410) |
18:42:57 | dom96 | *bet that |
18:43:03 | Araq | stefanos82: we're stdlib and compiler developers, we don't write production servers |
18:43:14 | stefanos82 | Araq: ah from that perspective |
18:43:56 | Araq | I've reviewed asynchttpserver and fixed a couple of security related things |
18:45:04 | Araq | but it's never good enough for 99.9% update and no security flaws |
18:45:18 | Araq | *uptime |
18:45:56 | stefanos82 | cool |
18:46:15 | Araq | that said, it's getting better, maybe give it two more years and then you can run it without a safety net |
18:46:44 | dom96 | or you could just use it as a reverse proxy and call it a day ;) |
18:46:47 | * | bthesorceror joined #nim |
18:47:13 | Araq | sure. or you say "I got virtualization, I'll be fine" |
18:47:31 | * | kobi7 quit (Quit: Leaving) |
18:51:40 | Araq | and yes, it's nice that Go's web stuff is so mature you can run it without a reverse proxy. We'll get there too. |
18:54:37 | dom96 | In other words: PRs welcome |
18:57:16 | Araq | dom96: but what's there to PR? more eyes need to try to break it |
18:57:28 | enthus1ast | reverse proxy is not the holy grail |
18:57:56 | Araq | it definitely isn't but it's the best solution for now. |
18:58:05 | Araq | or do you have a better idea? |
18:58:26 | enthus1ast | not use http so often maybe |
18:58:46 | TheLemonMan | let's switch back to gopher then |
18:59:40 | dom96 | What's wrong with a reverse proxy? |
18:59:42 | zacharycarter[m] | https://github.com/mre/awesome-static-analysis#web-services |
19:00:08 | dom96 | If you're making a serious website you'll probably use cloudflare (or an equivalent) anyway |
19:00:23 | dom96 | Which is in fact a reverse proxy |
19:00:27 | enthus1ast | you have another dependency to care about |
19:00:37 | enthus1ast | it depends of course |
19:00:46 | zacharycarter[m] | well if you're not serving up static assets w/ a reverse proxy |
19:01:00 | zacharycarter[m] | you're not doing things right to begin with |
19:01:06 | dom96 | Okay, that's fair. As someone who absolutely hates dependencies I've gotta agree with you there |
19:01:32 | zacharycarter[m] | containers make that kind of thing relatively trivial though |
19:01:59 | dom96 | Yes, it's also incredibly easy to get nginx set up on a Linux machine |
19:02:05 | zacharycarter[m] | yup |
19:02:15 | enthus1ast | but then if you build on it and ship on windows? |
19:02:37 | zacharycarter[m] | use IIS |
19:03:12 | enthus1ast | so i better build everything into my app and "call it a day" |
19:03:13 | dom96 | Myself and many others would never use Windows as a server |
19:03:18 | zacharycarter[m] | also I think docker works on windows now |
19:03:34 | zacharycarter[m] | https://docs.docker.com/docker-for-windows |
19:03:37 | dom96 | I don't see a reason why you would use Windows as a server |
19:03:47 | zacharycarter[m] | Nim != Java |
19:03:59 | enthus1ast | every time i used nim "for production" it was on an windows machine |
19:04:03 | zacharycarter[m] | you'd have to cross compile anyway |
19:04:12 | zacharycarter[m] | if you wanted all of this |
19:04:17 | zacharycarter[m] | and you were using C |
19:04:21 | Araq | I would use it, Linux has more security problem than Windows. |
19:04:21 | dom96 | How many times did you actually host a website on your Windows machine? |
19:04:39 | dom96 | Araq: Citation needed |
19:05:13 | enthus1ast | i m with you here dom96 nginx is fine and good and works, but it locks you in a little bit |
19:05:32 | zacharycarter[m] | you can use any reverse proxy |
19:05:47 | * | kungtotte joined #nim |
19:05:57 | zacharycarter[m] | https://blogs.msdn.microsoft.com/friis/2016/08/25/setup-iis-with-url-rewrite-as-a-reverse-proxy-for-real-world-apps/ |
19:06:02 | dom96 | You can use cloudflare + asynchttpserver |
19:06:18 | dom96 | cloudflare won't only protect you against DDoS |
19:06:22 | dom96 | but also other things |
19:06:55 | ehmry | comparing nim and go http servers is hard because nim would bring in more external code, whereas go implements stuff down to the system calls |
19:07:15 | * | Sove15 joined #nim |
19:07:28 | ehmry | you have to consider the OS and its libraries with Nim |
19:07:40 | dom96 | ehmry: huh? Nim implements stuff down to the system calls too |
19:07:45 | ehmry | not that is a bad thing |
19:08:09 | * | Sove15 quit (Remote host closed the connection) |
19:08:28 | ehmry | dom96: I think Nim uses more of the libc than Go |
19:08:33 | Araq | dom96: don't have any handy |
19:08:56 | * | nsf joined #nim |
19:09:02 | Araq | it's just my stupid opinion based on what I know about Linux's internals |
19:09:23 | ehmry | Nim will call into the libc and some code will run and then the a system call is made to the kernel |
19:10:24 | ehmry | I was under the impression there is a bunch of google engineers that make Go do the libc stuff |
19:11:19 | dom96 | That's only really the case for a small part of the stdlib AFAIK |
19:11:27 | dom96 | the networking doesn't touch libc at all |
19:11:57 | Araq | we got rid of libc's memset() and memcpy() fwiw |
19:12:15 | Araq | dom96: I think it does, posix.nim uses the C headers |
19:12:16 | ehmry | ok, I stand corrected |
19:12:30 | Araq | and the net stuff is builtin on top of it |
19:12:38 | Araq | well, hmmm |
19:13:00 | ehmry | well it seems like a tradeoff between portability and optimization |
19:13:04 | Araq | maybe it's not, but we definitely don't use the syscalls directly (would be nice if we would) |
19:13:30 | dom96 | huh, that's surprising |
19:13:39 | dom96 | But benchmarks don't seem to show this |
19:13:47 | dom96 | So I seriously doubt it's worth worrying about |
19:14:22 | Araq | anyway, shellshock and Heartbleed didn't affect windows |
19:14:54 | ehmry | exactly |
19:15:35 | Araq | and it's just a question of time before a combination of fork + OOM-handler + spectre will kill Linux's whole design. |
19:15:37 | Araq | :P |
19:15:59 | * | Araq isn't entirely serious |
19:17:33 | dom96 | Wouldn't be surprised if MS creates a Linux distro :P |
19:18:00 | dom96 | For some niche markets like embedded devices or something |
19:18:28 | dom96 | or for Azure |
19:19:48 | Araq | they should just use the PhDs and prove their kernel correct, or write a new one and prove it correct. it's been done before. |
19:20:54 | Araq | don't worship the 70ies, the world moved on, "science" is now a thing. |
19:20:56 | * | neckbosov joined #nim |
19:21:25 | * | neckbosov quit (Client Quit) |
19:21:49 | ehmry | yea, linux isn't getting better |
19:22:03 | ehmry | just more complicated and less unixy |
19:24:12 | * | Dominian5 joined #nim |
19:27:11 | * | krux02 joined #nim |
19:27:24 | * | stefanos82 quit (Quit: Quitting for now...) |
19:27:57 | * | aguspiza joined #nim |
19:29:10 | * | Dominian5 quit (Ping timeout: 264 seconds) |
19:32:48 | * | IntPtr9 joined #nim |
19:33:09 | Araq | ehmry: "less unixy" is almost always a good thing, as I consider Unix the ultimate stringly-typed environment |
19:37:35 | * | IntPtr9 quit (Ping timeout: 240 seconds) |
19:40:32 | ehmry | the Plan9 remnants still argue against structured data, I'm not sure if anyone else does |
19:42:21 | krux02 | Araq, unixy means "do one thing, and do it well" |
19:43:05 | krux02 | the in and output of unix commands do not need to be strings at all, even though for general command line tools they are |
19:43:53 | Araq | krux02: that's just a marketing slogan, nobody knows what this "one thing" means |
19:44:22 | krux02 | well it just means write small simple programs that focus on one thing. |
19:44:36 | krux02 | And that is generally a very good programming advice. |
19:45:03 | krux02 | so instead of complex objects with 1000s of methods that could do everything, just write a function that does the one thing. |
19:45:50 | Araq | does a "text editor" do "one thing"? what if it has a search&replace feature? |
19:45:57 | krux02 | the way the unix environment ties togethers those components as individual processes that send each other data is, well, maybe not the thing you should do in real application development. |
19:46:08 | ehmry | I think the pipe was the first unix feature, but if you look at modern unix there isn't a lot of piping going on |
19:46:37 | krux02 | the pipe remains quite usefull for shell editing |
19:46:50 | krux02 | for me it is kind of command chaining. |
19:47:22 | krux02 | a.b.c.d in nim is very similar to a | b | c | d in shell |
19:47:41 | krux02 | a does something and the result is processed by b etc |
19:47:56 | Araq | krux02: I dunno why you feel like you can lecture me on this topic. |
19:48:55 | krux02 | the difference is though that in the unix shell, a b c d are all spawned at the same time as processes. For most of the time that really doesn't matter, but it alreads utilizes 4 cores of your cpu |
19:49:18 | krux02 | Araq, I don't know either. I hope one day you stop hating Unix. |
19:49:34 | ehmry | a modern (not-unix) operating system with a unix shell environment does has its appeal, which seems to be what microsoft has realized |
19:50:43 | krux02 | ehmry, well the Linux environment seems to be the environment where the is continued to be developed and improved on, where on windows things were quite frozen for eternity on cmd. |
19:51:06 | Araq | yeah, powershell never got invented... |
19:51:19 | krux02 | I tried powershell for a bit. |
19:51:32 | krux02 | It was really a long time ago |
19:51:36 | krux02 | I used it on Windows XP |
19:51:37 | ehmry | idk, I never tried it |
19:51:38 | krux02 | so yea |
19:51:58 | krux02 | but what I didn't like about it instantly was it had real latency when I entered a command |
19:52:15 | krux02 | I wonder how they managed to add latency from processing a command from the command line |
19:52:30 | Araq | never had any latency for me |
19:52:37 | Araq | but it sucked |
19:52:57 | Araq | reason: unclear quoting rules :P (same problem with Bash) |
19:53:19 | krux02 | what is so unclear in bash |
19:53:33 | krux02 | single quotes for quotes, and double quotes for string interpolation |
19:53:42 | Araq | it's different from a real programming language. |
19:53:46 | ehmry | the secret is the non-breaking space |
19:53:50 | Araq | that's enough for me to dislike it. ;-) |
19:54:14 | krux02 | well bash started as just a command interface to the operating system |
19:54:29 | krux02 | extending it that you could actually program in it was really an afterthought |
19:54:43 | krux02 | so I don't judge it that basically everything is strings |
19:54:52 | krux02 | that is what you type in the shell |
19:55:03 | Araq | no, that was good old 'sh' and then bash betrayed Unix and added a feature to this mythical "one thing" |
19:55:12 | Araq | :P |
19:55:58 | krux02 | I am not 100% sure about the history, but yes it did not start with bash. |
19:56:08 | krux02 | But I don't really care on how it is called |
19:56:24 | krux02 | for be it is just different versions of the same thing with features added |
19:56:32 | krux02 | sh -> bash -> zsh |
19:57:31 | krux02 | but I just do fish as my shell. |
19:57:54 | Araq | when I open a browser I never think "omg, it should only do one thing, it should only render HTML and pipe the youtube videos to an external command instead" |
19:58:32 | Araq | and when I play SC2 I never think "it should only do one thing and let me only play as Protoss" |
19:58:36 | krux02 | It is like a good configured zsh without actually needing to install any configurtion, some changes to how bash works to make it easier to work with and the stuff that inevitably comes when you introduce a breaking change. |
19:58:57 | Araq | it's just stupid propaganda. |
19:59:33 | * | Nietzsche16 joined #nim |
20:00:09 | Araq | yes, back in the 70ies with 8KB of RAM people were forced into simplicity. |
20:00:12 | krux02 | When I open a browser, like firefox, and it opens my PDF in pdf.js, which is slow, shows wrong characters, and makes bad quality prints, I wish that it would have opened an external program to open the pdf |
20:00:32 | krux02 | I hate that browsers try to do everything |
20:00:44 | krux02 | that have their own file type associations stored in the browser |
20:00:48 | Araq | PDF prints just fine here with Chrome |
20:01:04 | krux02 | and then I have to go in the setting and change every file type manually to "xdg-open" |
20:01:17 | Araq | and opens much faster than Adobe's software |
20:01:26 | krux02 | I use chromium, but even there I just don't want that integrated pdf viewer |
20:01:45 | Araq | sounds like a Linux problem. |
20:01:54 | krux02 | I have my favorite pdf viewer installed on the system. I don't want that pdf that is from the internet to be shown in a different viewer for no reason. |
20:03:14 | ehmry | the problem is the unix paradigm isn't going to deliver, so we might as well move on |
20:04:17 | * | Nietzsche16 quit (Ping timeout: 248 seconds) |
20:04:18 | krux02 | I disagree |
20:04:39 | ehmry | even if I liked unix I don't know how I would convince the next generation its not a waste of time |
20:05:18 | krux02 | I see my Operating system kind of like a home, that over the years I customized to an extend that I have the right set of programs installed that my workflow is efficient. |
20:05:44 | krux02 | And then there are all these programs that try to be everything and have built in solutions that are worse than what I want to use |
20:07:17 | krux02 | ehmry, the unix system isn't a waste of time. considering the age it has and how many people have been working on it, it is impressive that there aren't 100x more ways to do exactly the same thing, making it absolutely impossible to learn |
20:08:28 | krux02 | ehmry, But apart from usability and complexity, I don't think there is a real alternative to Linux that anyone that might want to work with sensitive data can use at all. |
20:08:35 | * | wildlander quit (Quit: Konversation terminated!) |
20:09:14 | krux02 | I don't trust Microsoft, I don't truest Apple, and I especially don't trust closed source auto updates. |
20:09:47 | ehmry | unix was designed explicitly for sharing files between multiple humans using the same machine, it is not appropriate for sensitive data |
20:10:14 | krux02 | then what is appropriate for sensitive data? |
20:11:51 | krux02 | if you really have sensitive data on Windows, the government in the USA could pressuer Microsoft to send your machine an exclusive automatic update, then would then scan your entire system for this data and sand it back to Microsoft. |
20:12:10 | krux02 | does that happen? |
20:12:13 | krux02 | I don't know. |
20:12:18 | krux02 | But I am sure it can happen. |
20:12:57 | ehmry | we don't have good operating systems, I agree, but I think adding features to linux is counterproductive |
20:13:12 | krux02 | ehmry, then what do you want to have? |
20:14:12 | krux02 | Plan9 |
20:14:18 | krux02 | GNU Hurd? |
20:14:40 | krux02 | Temple OS |
20:15:08 | * | pilottage joined #nim |
20:16:22 | * | Vladar quit (Quit: Leaving) |
20:16:45 | ehmry | well I boot to an l4 family hypervisor, but still use a linux VM |
20:17:30 | ehmry | if you think unix is good, then plan9 is better |
20:18:10 | * | kungtotte quit (Quit: leaving) |
20:20:49 | * | pilottage quit (Ping timeout: 248 seconds) |
20:27:27 | krux02 | well games on plan9 are not very well supported |
20:28:06 | ehmry | they have a fair amount of emulators working |
20:28:14 | krux02 | well |
20:28:29 | krux02 | I prefer non emulated games |
20:28:48 | ehmry | the problem is when you want to watch a video |
20:28:52 | krux02 | non emulated, non wine stuff |
20:29:00 | krux02 | no mplayer? |
20:29:19 | ehmry | I don't think so |
20:29:40 | krux02 | I like my mplayer |
20:29:55 | * | couven92 joined #nim |
20:30:03 | FromGitter | <zetashift> The only non-windows/unix OS I ever checked out was Haiku |
20:30:23 | FromGitter | <zetashift> that was wayback and nothing really worked |
20:30:31 | ehmry | well for games linux isn't that great, games get released, the ABI changes again, and the windows version works better in wine than the native one |
20:30:34 | krux02 | did you ever use an OS from the pre windows times? |
20:31:29 | ehmry | I used DOS, and only for games |
20:32:23 | krux02 | yea I hope that some time in the future that there will be a virtual console like system based on Vulkan, SDL and Webassemply that allows to realease games in a package that runs Operating system independently. |
20:32:47 | krux02 | just release it, and it will even run on PLAN9, if they support it. |
20:32:53 | * | TheLemonMan quit (Quit: "It's now safe to turn off your computer.") |
20:34:44 | krux02 | then computers could change the CPU architecture entirely and things would still just work |
20:35:12 | krux02 | I really have high hopes for WebAssemply outside of the Web. |
20:36:35 | * | mids joined #nim |
20:36:58 | * | yglukhov[i] quit (Remote host closed the connection) |
20:37:08 | ehmry | I think Vulkan is encouraging, that there is a more towards better abstractions |
20:37:52 | Demos[m] | well vulkan is less abstract. IMO OpenGL with only DSA is a little nicer |
20:39:19 | ehmry | bbl |
20:42:56 | * | couven92 quit (Ping timeout: 268 seconds) |
20:43:59 | * | yglukhov[i] joined #nim |
20:46:25 | enthus1ast | krux if you like mplayer try mpv |
20:53:39 | * | Tycale12 joined #nim |
20:56:21 | * | nsf quit (Quit: WeeChat 2.2) |
20:58:10 | * | Tycale12 quit (Remote host closed the connection) |
21:13:19 | * | Death916 quit (Changing host) |
21:13:19 | * | Death916 joined #nim |
21:13:19 | * | Death916 quit (Changing host) |
21:13:19 | * | Death916 joined #nim |
21:20:30 | * | SenasOzys quit (Remote host closed the connection) |
21:21:14 | * | SenasOzys joined #nim |
21:27:14 | * | couven92 joined #nim |
21:30:22 | * | yglukhov[i] quit (Remote host closed the connection) |
21:30:58 | * | yglukhov[i] joined #nim |
21:31:36 | * | Richard_Cavell joined #nim |
21:35:46 | * | yglukhov[i] quit (Ping timeout: 264 seconds) |
21:36:26 | * | Richard_Cavell quit (Ping timeout: 256 seconds) |
21:41:14 | FromGitter | <mratsim> if only someone could write a good UI on MPV mac. |
21:41:33 | FromGitter | <mratsim> SMPlayer is ok but no MacOS support. |
21:42:20 | FromGitter | <mratsim> and if only Intel, Nvidia and AMD could agree on vdpau/vaapi … Oh and support Hardware accelerated 10-bit HEVC and H264 ... |
21:42:31 | FromGitter | <mratsim> oh and no jitter |
21:42:46 | Demos[m] | I want a gstreamer based player on windows. I may just make one that's like a Gtk4 window with a video widget |
21:43:03 | FromGitter | <mratsim> ah yeah, disable org triple-buffer/backingStore or whatever, I don’ want 4 buffers for my video |
21:43:07 | FromGitter | <mratsim> /rant off |
21:43:22 | FromGitter | <mratsim> xorg* |
21:48:29 | * | bthesorceror quit (Remote host closed the connection) |
21:50:49 | * | yglukhov[i] joined #nim |
21:55:08 | * | yglukhov[i] quit (Ping timeout: 256 seconds) |
22:09:03 | Araq | krux02: why not use a BSD? |
22:09:25 | krux02 | No particular reason at all. |
22:09:46 | krux02 | I just did not get into contact with it |
22:11:04 | krux02 | but isn't BSD even though it is not a Linux, after all not that different from Linux, because it is still a Unix derivative? |
22:12:05 | krux02 | Araq: wait, I do use BSD, if using a PS4 counts. |
22:12:24 | Araq | it doesn't. |
22:18:07 | krux02 | I thought so. |
22:18:55 | krux02 | but it is probably propriatery BSD fork. Somthing that the GPL license wants to prevent. |
22:19:20 | * | conno joined #nim |
22:19:52 | * | conno quit (Killed (Sigyn (Spam is off topic on freenode.))) |
22:20:49 | * | yglukhov[i] joined #nim |
22:23:18 | FromDiscord | <jos> woah |
22:23:19 | FromDiscord | <jos> opengl DSA |
22:23:21 | FromDiscord | <jos> that's a good thing |
22:23:24 | FromDiscord | <jos> when the fuck is that going to become standard |
22:23:31 | FromDiscord | <jos> it solves so many problems |
22:23:33 | FromDiscord | <jos> thank you for showing me that |
22:25:10 | * | yglukhov[i] quit (Ping timeout: 256 seconds) |
22:28:15 | Demos[m] | it's standard. 4.5 core I think |
22:28:32 | Demos[m] | also supported in MESA fwiw |
22:28:39 | Demos[m] | err llvmpipe that is |
22:29:11 | Demos[m] | and yeah, it really makes certain code a lot more clear |
22:29:21 | Demos[m] | be aware that it tends to brake graphics debuggers |
22:31:36 | * | SenasOzys quit (Remote host closed the connection) |
22:32:38 | * | SenasOzys joined #nim |
22:34:23 | krux02 | jos: DSA is also available as an ARB extension, so that you don't need a 4.5 context to get the support for it |
22:34:34 | krux02 | the extension is written for OpenGL 2.0 I think. |
22:34:45 | krux02 | So all you need is OpenGL 2.0 plus that extension. |
22:35:15 | krux02 | But still won't work on a mac, because, yea, you know apple. |
22:35:44 | * | yglukhov[i] joined #nim |
22:40:33 | * | yglukhov[i] quit (Ping timeout: 264 seconds) |
23:05:45 | * | yglukhov[i] joined #nim |
23:10:05 | * | yglukhov[i] quit (Ping timeout: 244 seconds) |
23:10:05 | * | xylef joined #nim |
23:11:29 | * | Looking joined #nim |
23:16:33 | * | Looking quit (Ping timeout: 264 seconds) |
23:20:50 | * | yglukhov[i] joined #nim |
23:21:53 | * | mids quit (Quit: Connection closed for inactivity) |
23:22:10 | * | xylef quit (Quit: WeeChat 2.2) |
23:23:16 | * | hubcaps10 joined #nim |
23:25:05 | * | yglukhov[i] quit (Ping timeout: 240 seconds) |
23:26:11 | * | hubcaps10 quit (Remote host closed the connection) |
23:28:19 | * | Guest92882 joined #nim |
23:29:20 | * | Guest92882 quit (Remote host closed the connection) |
23:32:27 | * | aguspiza quit (Ping timeout: 240 seconds) |
23:35:47 | * | yglukhov[i] joined #nim |
23:40:03 | * | yglukhov[i] quit (Ping timeout: 244 seconds) |
23:42:48 | * | couven92 quit (Ping timeout: 256 seconds) |
23:46:01 | * | BuildTheRobots11 joined #nim |
23:50:45 | * | yglukhov[i] joined #nim |
23:52:05 | * | BuildTheRobots11 quit (Ping timeout: 240 seconds) |
23:55:05 | * | yglukhov[i] quit (Ping timeout: 240 seconds) |