<< 05-08-2018 >>

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:04FromGitter<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:22FromGitter<kayabaNerve> Apparently you can't override = after setting a destructor via =destroy
02:32:16FromGitter<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:12FromGitter<kayabaNerve> Generally, when my Nim compiler crashes, it's with a SEGFAULT.
03:11:20FromGitter<kayabaNerve> *and it's my fault.
03:11:26FromGitter<kayabaNerve> However, this is new to me. https://pastebin.com/pA2RicJb
03:11:39FromGitter<kayabaNerve> I didn't change that file at all.
03:12:14leorizeare you using --newruntime?
03:12:35FromGitter<kayabaNerve> Nope
03:12:45FromGitter<kayabaNerve> Same settings as always
03:14:36*Hotkeys left #nim (#nim)
03:17:14FromGitter<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:41ehmryAraq: I want to make CI tests for Genode, is appveyor the thing to use
09:31:47ehmry?
09:32:53*lolmac joined #nim
09:37:22*lolmac quit (Ping timeout: 244 seconds)
09:37:58ehmryits a problem, I have more commits queued but need better tests
09:38:28FromGitter<mratsim> Appveyor is windows only
09:38:44FromGitter<mratsim> Travis is x86_64 linux/mac only
09:44:51ehmrydoes the BSD stuff get tested?
09:47:36ehmrymaybe 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:49FromGitter<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:39FromGitter<Bennyelg> can someone explain to me once and for all what the hack are typedesc variables
11:08:41FromGitter<Bennyelg> to types
11:08:45FromGitter<Bennyelg> or *
11:08:45*aguspiza joined #nim
11:08:50FromGitter<Bennyelg> and when do I used them
11:19:59PMunchAs 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:53enthus1asthey guys if you not have already check out asyncdispatch2
12:58:11*SenasOzys quit (Remote host closed the connection)
12:59:15dom96enthus1ast: why?
12:59:20*Vladar joined #nim
12:59:46enthus1astasync udp, much less code to get something rolling
13:00:12*SenasOzys joined #nim
13:00:21enthus1astoverall design looks very promising
13:00:26dom96much less code? How so?
13:02:03enthus1astone can write a stable async udp server in about lets say 10 lines
13:02:56dom96Right, but that's because its got support for UDP and the stdlib asyncdispatch doesn't
13:03:04enthus1asti know
13:04:45enthus1asti have build an p2p system with asyncdispatch and it was a lot of pain, i'll consider porting it to asyncdispatch2
13:12:17dom96Of course it was, asyncdispatch doesn't support UDP
13:12:26dom96A 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:45ldleworkDoes anyone have a shell.nix for working with Nim?
13:14:14FromGitter<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:23FromGitter<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:08enthus1asti 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:00FromGitter<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:19FromGitter<mratsim> @enthus1ast it’s built on top of closure iterators
15:20:36FromGitter<mratsim> and closure iterators are state machines in the compiler
15:21:36FromGitter<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:11AraqI'm not sure you can do that
15:36:30FromGitter<mratsim> it works @Araq, syntax is a pain though: ⏎ ⏎ ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5b67197e945df30dc15939e5]
15:37:31FromGitter<mratsim> maybe this should be added to the closure iterator test suite?
15:37:38Araqyeah "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:19FromGitter<mratsim> It tooks Python 3 versions to get that working, it’s a win for me ;)
15:39:52FromGitter<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:22Araqbtw myseq[0] for float32 is 8 byte aligned
15:42:55FromGitter<mratsim> ah nice, is it because all seq are 8 bytes aligned by default?
15:43:02Araqseq 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:01TheLemonManhmm, 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:26enthus1astty 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:34TheLemonManand, 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:56AraqTheLemonMan: .gensym ?
17:43:42TheLemonManAraq, that's too early, how is the user supposed to know what the macro has been renamed to? :)
17:54:42FromGitter<Varriount> Well, a macro can't be renamed
17:55:07FromGitter<Varriount> You could define the macro before the template, and have the template call it
17:57:42TheLemonManbut the macro needs to access some of the per-instance template variables
18:11:17*ChickeNES joined #nim
18:11:46ehmryuh, 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:04dom96ehmry: 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:10ehmrydom96: 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:23ehmry*host its on
18:16:58dom96Did you write a CI server? In Nim?
18:17:18ehmryyea, a simple one
18:17:39dom96We used to have one too https://github.com/nim-lang/nimbuild
18:17:46*ChickeNES quit (Ping timeout: 264 seconds)
18:18:54dom96I'm happy to point a Nimble web hook at it but I'm not sure I'll be using it that much
18:22:26ehmryhmm.. I need to think this over
18:24:33stefanos82we need modules the same as Go's that let you setup a web server on the fly
18:24:38stefanos82as a standalone
18:25:08ehmrystefanos82: I think we have that, as much as I want it
18:25:26stefanos82we do? you mean, at the same degree as Go's?
18:26:57ehmryasynchttpserver?
18:29:17stefanos82I didn't know about this module
18:30:44stefanos82"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:58stefanos82that's not the case with Go's server though :/
18:32:32dom96How often do people actually expose Go's server directly though
18:33:01dom96Anyway, httpbeast is where it's at these days https://github.com/dom96/httpbeast
18:33:30*kobi7 joined #nim
18:40:29enthus1astone thing i always miss for such "simple http server" is byte range
18:40:52Araqstefanos82: given our resources we can only suggest you proxy with nginx or similar
18:41:28enthus1astwithouth byte range you cant fast forward videos etc.
18:41:40TheLemonManbingo! adding another layer of templates solved the problem
18:41:41stefanos82dom96: to answer your question, there are lots of websites that run on Go's standard net/http server
18:41:55stefanos82one of it was a famous torrent website that now is defunct
18:42:18stefanos82Araq: resources?
18:42:18dom96"lots" is relative
18:42:45dom96I would be that 99.9999% of website's use nginx, apache, lighttpd or MS' crap
18:42:50TheLemonManAraq, #8095 is ready-ish (see the XXX comment and #8410)
18:42:57dom96*bet that
18:43:03Araqstefanos82: we're stdlib and compiler developers, we don't write production servers
18:43:14stefanos82Araq: ah from that perspective
18:43:56AraqI've reviewed asynchttpserver and fixed a couple of security related things
18:45:04Araqbut it's never good enough for 99.9% update and no security flaws
18:45:18Araq*uptime
18:45:56stefanos82cool
18:46:15Araqthat said, it's getting better, maybe give it two more years and then you can run it without a safety net
18:46:44dom96or you could just use it as a reverse proxy and call it a day ;)
18:46:47*bthesorceror joined #nim
18:47:13Araqsure. or you say "I got virtualization, I'll be fine"
18:47:31*kobi7 quit (Quit: Leaving)
18:51:40Araqand 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:37dom96In other words: PRs welcome
18:57:16Araqdom96: but what's there to PR? more eyes need to try to break it
18:57:28enthus1astreverse proxy is not the holy grail
18:57:56Araqit definitely isn't but it's the best solution for now.
18:58:05Araqor do you have a better idea?
18:58:26enthus1astnot use http so often maybe
18:58:46TheLemonManlet's switch back to gopher then
18:59:40dom96What's wrong with a reverse proxy?
18:59:42zacharycarter[m]https://github.com/mre/awesome-static-analysis#web-services
19:00:08dom96If you're making a serious website you'll probably use cloudflare (or an equivalent) anyway
19:00:23dom96Which is in fact a reverse proxy
19:00:27enthus1astyou have another dependency to care about
19:00:37enthus1astit depends of course
19:00:46zacharycarter[m]well if you're not serving up static assets w/ a reverse proxy
19:01:00zacharycarter[m]you're not doing things right to begin with
19:01:06dom96Okay, that's fair. As someone who absolutely hates dependencies I've gotta agree with you there
19:01:32zacharycarter[m]containers make that kind of thing relatively trivial though
19:01:59dom96Yes, it's also incredibly easy to get nginx set up on a Linux machine
19:02:05zacharycarter[m]yup
19:02:15enthus1astbut then if you build on it and ship on windows?
19:02:37zacharycarter[m]use IIS
19:03:12enthus1astso i better build everything into my app and "call it a day"
19:03:13dom96Myself and many others would never use Windows as a server
19:03:18zacharycarter[m]also I think docker works on windows now
19:03:34zacharycarter[m]https://docs.docker.com/docker-for-windows
19:03:37dom96I don't see a reason why you would use Windows as a server
19:03:47zacharycarter[m]Nim != Java
19:03:59enthus1astevery time i used nim "for production" it was on an windows machine
19:04:03zacharycarter[m]you'd have to cross compile anyway
19:04:12zacharycarter[m]if you wanted all of this
19:04:17zacharycarter[m]and you were using C
19:04:21AraqI would use it, Linux has more security problem than Windows.
19:04:21dom96How many times did you actually host a website on your Windows machine?
19:04:39dom96Araq: Citation needed
19:05:13enthus1asti m with you here dom96 nginx is fine and good and works, but it locks you in a little bit
19:05:32zacharycarter[m]you can use any reverse proxy
19:05:47*kungtotte joined #nim
19:05:57zacharycarter[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:02dom96You can use cloudflare + asynchttpserver
19:06:18dom96cloudflare won't only protect you against DDoS
19:06:22dom96but also other things
19:06:55ehmrycomparing 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:28ehmryyou have to consider the OS and its libraries with Nim
19:07:40dom96ehmry: huh? Nim implements stuff down to the system calls too
19:07:45ehmrynot that is a bad thing
19:08:09*Sove15 quit (Remote host closed the connection)
19:08:28ehmrydom96: I think Nim uses more of the libc than Go
19:08:33Araqdom96: don't have any handy
19:08:56*nsf joined #nim
19:09:02Araqit's just my stupid opinion based on what I know about Linux's internals
19:09:23ehmryNim will call into the libc and some code will run and then the a system call is made to the kernel
19:10:24ehmryI was under the impression there is a bunch of google engineers that make Go do the libc stuff
19:11:19dom96That's only really the case for a small part of the stdlib AFAIK
19:11:27dom96the networking doesn't touch libc at all
19:11:57Araqwe got rid of libc's memset() and memcpy() fwiw
19:12:15Araqdom96: I think it does, posix.nim uses the C headers
19:12:16ehmryok, I stand corrected
19:12:30Araqand the net stuff is builtin on top of it
19:12:38Araqwell, hmmm
19:13:00ehmrywell it seems like a tradeoff between portability and optimization
19:13:04Araqmaybe it's not, but we definitely don't use the syscalls directly (would be nice if we would)
19:13:30dom96huh, that's surprising
19:13:39dom96But benchmarks don't seem to show this
19:13:47dom96So I seriously doubt it's worth worrying about
19:14:22Araqanyway, shellshock and Heartbleed didn't affect windows
19:14:54ehmryexactly
19:15:35Araqand it's just a question of time before a combination of fork + OOM-handler + spectre will kill Linux's whole design.
19:15:37Araq:P
19:15:59*Araq isn't entirely serious
19:17:33dom96Wouldn't be surprised if MS creates a Linux distro :P
19:18:00dom96For some niche markets like embedded devices or something
19:18:28dom96or for Azure
19:19:48Araqthey 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:54Araqdon'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:49ehmryyea, linux isn't getting better
19:22:03ehmryjust 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:09Araqehmry: "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:32ehmrythe Plan9 remnants still argue against structured data, I'm not sure if anyone else does
19:42:21krux02Araq, unixy means "do one thing, and do it well"
19:43:05krux02the 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:53Araqkrux02: that's just a marketing slogan, nobody knows what this "one thing" means
19:44:22krux02well it just means write small simple programs that focus on one thing.
19:44:36krux02And that is generally a very good programming advice.
19:45:03krux02so instead of complex objects with 1000s of methods that could do everything, just write a function that does the one thing.
19:45:50Araqdoes a "text editor" do "one thing"? what if it has a search&replace feature?
19:45:57krux02the 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:08ehmryI 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:37krux02the pipe remains quite usefull for shell editing
19:46:50krux02for me it is kind of command chaining.
19:47:22krux02a.b.c.d in nim is very similar to a | b | c | d in shell
19:47:41krux02a does something and the result is processed by b etc
19:47:56Araqkrux02: I dunno why you feel like you can lecture me on this topic.
19:48:55krux02the 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:18krux02Araq, I don't know either. I hope one day you stop hating Unix.
19:49:34ehmrya modern (not-unix) operating system with a unix shell environment does has its appeal, which seems to be what microsoft has realized
19:50:43krux02ehmry, 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:06Araqyeah, powershell never got invented...
19:51:19krux02I tried powershell for a bit.
19:51:32krux02It was really a long time ago
19:51:36krux02I used it on Windows XP
19:51:37ehmryidk, I never tried it
19:51:38krux02so yea
19:51:58krux02but what I didn't like about it instantly was it had real latency when I entered a command
19:52:15krux02I wonder how they managed to add latency from processing a command from the command line
19:52:30Araqnever had any latency for me
19:52:37Araqbut it sucked
19:52:57Araqreason: unclear quoting rules :P (same problem with Bash)
19:53:19krux02what is so unclear in bash
19:53:33krux02single quotes for quotes, and double quotes for string interpolation
19:53:42Araqit's different from a real programming language.
19:53:46ehmrythe secret is the non-breaking space
19:53:50Araqthat's enough for me to dislike it. ;-)
19:54:14krux02well bash started as just a command interface to the operating system
19:54:29krux02extending it that you could actually program in it was really an afterthought
19:54:43krux02so I don't judge it that basically everything is strings
19:54:52krux02that is what you type in the shell
19:55:03Araqno, that was good old 'sh' and then bash betrayed Unix and added a feature to this mythical "one thing"
19:55:12Araq:P
19:55:58krux02I am not 100% sure about the history, but yes it did not start with bash.
19:56:08krux02But I don't really care on how it is called
19:56:24krux02for be it is just different versions of the same thing with features added
19:56:32krux02sh -> bash -> zsh
19:57:31krux02but I just do fish as my shell.
19:57:54Araqwhen 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:32Araqand when I play SC2 I never think "it should only do one thing and let me only play as Protoss"
19:58:36krux02It 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:57Araqit's just stupid propaganda.
19:59:33*Nietzsche16 joined #nim
20:00:09Araqyes, back in the 70ies with 8KB of RAM people were forced into simplicity.
20:00:12krux02When 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:32krux02I hate that browsers try to do everything
20:00:44krux02that have their own file type associations stored in the browser
20:00:48AraqPDF prints just fine here with Chrome
20:01:04krux02and then I have to go in the setting and change every file type manually to "xdg-open"
20:01:17Araqand opens much faster than Adobe's software
20:01:26krux02I use chromium, but even there I just don't want that integrated pdf viewer
20:01:45Araqsounds like a Linux problem.
20:01:54krux02I 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:14ehmrythe 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:18krux02I disagree
20:04:39ehmryeven if I liked unix I don't know how I would convince the next generation its not a waste of time
20:05:18krux02I 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:44krux02And 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:17krux02ehmry, 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:28krux02ehmry, 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:14krux02I don't trust Microsoft, I don't truest Apple, and I especially don't trust closed source auto updates.
20:09:47ehmryunix was designed explicitly for sharing files between multiple humans using the same machine, it is not appropriate for sensitive data
20:10:14krux02then what is appropriate for sensitive data?
20:11:51krux02if 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:10krux02does that happen?
20:12:13krux02I don't know.
20:12:18krux02But I am sure it can happen.
20:12:57ehmrywe don't have good operating systems, I agree, but I think adding features to linux is counterproductive
20:13:12krux02ehmry, then what do you want to have?
20:14:12krux02Plan9
20:14:18krux02GNU Hurd?
20:14:40krux02Temple OS
20:15:08*pilottage joined #nim
20:16:22*Vladar quit (Quit: Leaving)
20:16:45ehmrywell I boot to an l4 family hypervisor, but still use a linux VM
20:17:30ehmryif 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:27krux02well games on plan9 are not very well supported
20:28:06ehmrythey have a fair amount of emulators working
20:28:14krux02well
20:28:29krux02I prefer non emulated games
20:28:48ehmrythe problem is when you want to watch a video
20:28:52krux02non emulated, non wine stuff
20:29:00krux02no mplayer?
20:29:19ehmryI don't think so
20:29:40krux02I like my mplayer
20:29:55*couven92 joined #nim
20:30:03FromGitter<zetashift> The only non-windows/unix OS I ever checked out was Haiku
20:30:23FromGitter<zetashift> that was wayback and nothing really worked
20:30:31ehmrywell 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:34krux02did you ever use an OS from the pre windows times?
20:31:29ehmryI used DOS, and only for games
20:32:23krux02yea 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:47krux02just 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:44krux02then computers could change the CPU architecture entirely and things would still just work
20:35:12krux02I 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:08ehmryI think Vulkan is encouraging, that there is a more towards better abstractions
20:37:52Demos[m]well vulkan is less abstract. IMO OpenGL with only DSA is a little nicer
20:39:19ehmrybbl
20:42:56*couven92 quit (Ping timeout: 268 seconds)
20:43:59*yglukhov[i] joined #nim
20:46:25enthus1astkrux 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:14FromGitter<mratsim> if only someone could write a good UI on MPV mac.
21:41:33FromGitter<mratsim> SMPlayer is ok but no MacOS support.
21:42:20FromGitter<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:31FromGitter<mratsim> oh and no jitter
21:42:46Demos[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:03FromGitter<mratsim> ah yeah, disable org triple-buffer/backingStore or whatever, I don’ want 4 buffers for my video
21:43:07FromGitter<mratsim> /rant off
21:43:22FromGitter<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:03Araqkrux02: why not use a BSD?
22:09:25krux02No particular reason at all.
22:09:46krux02I just did not get into contact with it
22:11:04krux02but 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:05krux02Araq: wait, I do use BSD, if using a PS4 counts.
22:12:24Araqit doesn't.
22:18:07krux02I thought so.
22:18:55krux02but 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:18FromDiscord<jos> woah
22:23:19FromDiscord<jos> opengl DSA
22:23:21FromDiscord<jos> that's a good thing
22:23:24FromDiscord<jos> when the fuck is that going to become standard
22:23:31FromDiscord<jos> it solves so many problems
22:23:33FromDiscord<jos> thank you for showing me that
22:25:10*yglukhov[i] quit (Ping timeout: 256 seconds)
22:28:15Demos[m]it's standard. 4.5 core I think
22:28:32Demos[m]also supported in MESA fwiw
22:28:39Demos[m]err llvmpipe that is
22:29:11Demos[m]and yeah, it really makes certain code a lot more clear
22:29:21Demos[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:23krux02jos: 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:34krux02the extension is written for OpenGL 2.0 I think.
22:34:45krux02So all you need is OpenGL 2.0 plus that extension.
22:35:15krux02But 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)