<< 15-09-2016 >>

00:01:26*fredrik92 quit (Read error: Connection reset by peer)
00:02:09*brson quit (Ping timeout: 276 seconds)
01:07:37*lxdong joined #nim
01:14:33*brechtm quit (Read error: Connection reset by peer)
01:14:39*brechtm_ joined #nim
01:19:02*ftsf_ joined #nim
01:19:54*desophos quit (Ping timeout: 244 seconds)
01:23:13*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
01:33:29*PMunch quit (Quit: leaving)
02:01:07*chemist69 quit (Ping timeout: 248 seconds)
02:05:57*xet7 quit (Quit: Leaving)
02:11:54*rgv151 quit (Remote host closed the connection)
02:14:33*chemist69 joined #nim
02:21:38*desophos joined #nim
02:53:32*brechtm_ quit (Read error: Connection reset by peer)
02:53:38*brechtm joined #nim
03:03:15*rtr_ joined #nim
03:21:31*abeaumont_ quit (Ping timeout: 265 seconds)
03:21:55*beaumonta joined #nim
03:58:40*Sentreen quit (Ping timeout: 244 seconds)
04:03:43*desophos quit (Read error: Connection reset by peer)
04:10:09*Sentreen joined #nim
04:13:31*lxdong quit (Quit: Page closed)
04:23:35*rtr_ quit (Remote host closed the connection)
04:46:35*rtr_ joined #nim
05:02:52*rtr_ quit (Remote host closed the connection)
05:06:58*rtr_ joined #nim
05:16:05*gokr joined #nim
05:25:44*gokr quit (Ping timeout: 265 seconds)
05:37:04*rtr_ quit (Remote host closed the connection)
05:44:09*aFriginElf joined #nim
05:44:10*aFrigginElf joined #nim
05:49:05*jam__ joined #nim
05:49:10jam__hey anyone know if you can return images with jester
05:57:37*jam__ quit (Quit: Page closed)
05:59:07*aFriginElf quit (Ping timeout: 250 seconds)
05:59:33*aFrigginElf quit (Ping timeout: 250 seconds)
05:59:35*gokr joined #nim
06:04:21*gokr quit (Ping timeout: 265 seconds)
06:18:10*gokr joined #nim
06:19:03*Trustable joined #nim
06:34:11*ftsf quit (Remote host closed the connection)
06:34:20*ftsf_ is now known as ftsf
06:37:13*GustavoLapasta joined #nim
06:37:51FromGitter<vegansk> jam__, ``var jpegData = readFile("test.jpg"); resp(jpegData, "image/jpeg")``?
06:39:33FromGitter<vegansk> @Araq, please look at this issue: https://github.com/nim-lang/Nim/issues/4714. I can write my own types to fix these problems, but maybe it's better to do it in the compiler?
06:45:08*space-wizard quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:55:10*nairobi joined #nim
06:58:32*nairobi_ joined #nim
06:59:05*nairobi quit (Ping timeout: 240 seconds)
07:08:52*flyx quit (Quit: ZNC - http://znc.in)
07:09:27*flyx joined #nim
07:14:25*nairobi_ quit (Read error: Connection timed out)
07:15:02*nairobi joined #nim
07:19:03*nairobi_ joined #nim
07:19:16*fredrik92 joined #nim
07:19:43*nairobi quit (Ping timeout: 265 seconds)
07:22:58*rtr_ joined #nim
07:29:08*Andris_zbx joined #nim
07:41:31*yglukhov joined #nim
07:54:05*GustavoLapasta quit (Ping timeout: 260 seconds)
07:59:19*fredrik92 quit (Read error: Connection reset by peer)
08:01:41*fredrik92 joined #nim
08:02:19*Raaaa joined #nim
08:05:09*rtr_ quit (Ping timeout: 244 seconds)
08:22:02*ftsf quit (Quit: :q!)
08:24:38*GustavoLapasta joined #nim
08:26:08*nairobi_ quit (Remote host closed the connection)
08:34:39*filcuc joined #nim
08:41:16*Matthias247 joined #nim
08:47:12*fredrik92 quit (Quit: Leaving.)
08:50:27*fredrik92 joined #nim
08:55:47*gokr quit (Remote host closed the connection)
08:56:11FromGitter<endragor> @Araq don’t you find `typed`/`untyped` as macro return types counter-intuitive? They are clear for arguments, but not so for return type. What effect does specfying `typed` vs `untyped` for return type have on how macro is invoked? Should there actually be any difference?
09:00:10*nairobi joined #nim
09:08:29FromGitter<x421> Hey, I just can't find the info anymore, I want a compile time switch for target os, e.g. ```when win_32```. I though I read it somewhere but I am searching for an hour now ... where do I find the doc about it?
09:12:15cheatfatex421: http://nim-lang.org/docs/manual.html#statements-and-expressions-when-statement
09:14:28FromGitter<x421> Thanks cheatfate, that's not what I was searching for though. I know the when statement but I am searching for the plattform symbols (if they exist, but as I said I am pretty sure I read about them).
09:16:45*nairobi quit (Read error: Connection timed out)
09:17:04cheatfatex421: https://github.com/nim-lang/Nim/blob/devel/lib/system/platforms.nim
09:17:39FromGitter<x421> cheatfate: Thank you so much!
09:17:44*nairobi joined #nim
09:20:13*fredrik92 quit (Quit: Leaving.)
09:36:14*elrood joined #nim
09:36:45*nairobi quit (Remote host closed the connection)
09:38:35*fredrik92 joined #nim
09:39:33*nairobi joined #nim
09:42:41*csoriano joined #nim
10:02:29*rtr_ joined #nim
10:07:02*rtr_ quit (Ping timeout: 265 seconds)
10:08:20*fredrik92 quit (Quit: Leaving.)
10:09:46*Demon_Fox quit (Quit: Leaving)
10:16:43*fredrik92 joined #nim
10:39:12*Raaaa quit (Ping timeout: 240 seconds)
10:39:39*brechtm_ joined #nim
10:43:13*brechtm quit (Ping timeout: 265 seconds)
10:52:38*ARCADIVS quit (Quit: ARCADIVS)
10:55:06FromGitter<Araq> @endragor ignoring minor issues in the current implementation, you're right typed/untyped as macro return types are the same
10:55:21FromGitter<Araq> the old 'stmt' can be expressed as 'void' (and should be)
10:56:07*spindle joined #nim
10:56:49*spindle quit (Remote host closed the connection)
10:56:51*nairobi quit (Remote host closed the connection)
10:57:08*spindle joined #nim
10:57:25*nairobi joined #nim
11:00:19*nairobi_ joined #nim
11:01:49*nairobi quit (Ping timeout: 244 seconds)
11:02:18*Snircle joined #nim
11:03:01*nairobi_ quit (Remote host closed the connection)
11:03:12*rtr_ joined #nim
11:06:13FromGitter<endragor> From `random` (https://github.com/nim-lang/Nim/blob/master/lib/pure/random.nim#L19): ⏎ > # XXX Expose RandomGenState ⏎ Is there anything holding that off? Exposing `next()` would really be nice. A meaningful random implementation should provide a way to get specific number of random bits. Current implementation doesn’t allow that - everything returns undefined (platform-specific) number of bits, and performs a costly `mod` operation.
11:07:52*rtr_ quit (Ping timeout: 265 seconds)
11:09:17FromGitter<Araq> we need to eliminate the mod op, it's wrong
11:09:43FromGitter<Araq> there is an issue open for random.nim improvements
11:13:03*brechtm joined #nim
11:14:44FromGitter<endragor> ok, found it, thanks
11:15:53*brechtm_ quit (Ping timeout: 240 seconds)
11:15:55*GustavoLapasta quit (Ping timeout: 260 seconds)
11:21:02*arnetheduck joined #nim
11:22:39*bjz joined #nim
11:29:10*xet7 joined #nim
11:35:34*rbergmair joined #nim
11:44:54*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
11:52:17*chemist69 quit (Quit: WeeChat 1.5)
11:53:26*chemist69 joined #nim
11:54:40*nairobi joined #nim
11:59:05*nairobi quit (Ping timeout: 260 seconds)
12:06:49*spindle quit (Remote host closed the connection)
12:08:44*PMunch joined #nim
12:17:22*fredrik92 quit (Read error: Connection reset by peer)
12:19:51*fredrik92 joined #nim
12:24:26*StarBrilliant joined #nim
12:27:54rudi_sCan I get a list of all available functions for a given variable, like dir() in python. e.g.: var x = 5; // get all functions which take an int as only parameter
12:29:54federico3that would be really handy
12:31:56flyxrudi_s: relevant: https://github.com/nim-lang/Nim/issues/3559
12:33:31flyx(not exactly what you are looking for, though)
12:35:36*nairobi joined #nim
12:52:21*nairobi quit (Read error: Connection timed out)
12:53:10*nairobi joined #nim
12:55:15*PMunch quit (Quit: leaving)
12:55:32*PMunch joined #nim
13:03:57*rtr_ joined #nim
13:08:17*rtr_ quit (Ping timeout: 240 seconds)
13:16:30*bjz joined #nim
13:17:45*bjz quit (Client Quit)
13:18:33*bjz joined #nim
13:25:23*stisa_ joined #nim
13:26:40*nairobi quit (Remote host closed the connection)
13:29:28*nairobi joined #nim
13:29:56*lxdong joined #nim
13:30:07*bjz quit (Read error: Connection reset by peer)
13:31:27*bjz joined #nim
13:33:07*nairobi quit (Remote host closed the connection)
13:34:53*nairobi joined #nim
13:40:56*bjz_ joined #nim
13:42:20*bjz quit (Ping timeout: 260 seconds)
13:46:47*fredrik92 quit (Read error: Connection reset by peer)
13:49:28*nairobi quit (Remote host closed the connection)
13:54:31*fredrik92 joined #nim
13:57:16*nairobi joined #nim
14:00:16*Matthias247 quit (Read error: Connection reset by peer)
14:53:01*brechtm quit (Read error: Connection reset by peer)
14:53:08*Andris_zbx quit (Remote host closed the connection)
14:53:38*brechtm joined #nim
14:59:02*chemist69 quit (Quit: WeeChat 1.5)
14:59:18*chemist69 joined #nim
15:16:42*lxdong quit (Ping timeout: 240 seconds)
15:18:45FromGitter<endragor> BlaXSpirit: have you considered extracting `urandom` (wrapper around OS-specific source of true random values) part of your `nim-random` lib into a separate library? It seems self-sufficient
15:19:48federico3endragor, BlaXSpirit: the libsodium wrapper contains a function that does that
15:21:11*hohlerde quit (Remote host closed the connection)
15:21:11*TheManiac quit (Remote host closed the connection)
15:21:11*M-Quora quit (Read error: Connection reset by peer)
15:23:07FromGitter<endragor> yeah, that’s what I’m saying - there are libraries that include it as a part, even though it deserves its own library. I don’t need libsodium and I don’t need everything else that `nim-random` provides.
15:24:59*fredrik92 quit (Read error: Connection reset by peer)
15:25:50*yglukhov quit (Ping timeout: 244 seconds)
15:29:01*nairobi quit (Remote host closed the connection)
15:29:27*nairobi joined #nim
15:36:00*space-wizard joined #nim
15:41:13*Trustable quit (Remote host closed the connection)
15:48:23*nairobi quit (Remote host closed the connection)
15:54:08*filcuc quit (Read error: Connection reset by peer)
15:56:08*nairobi joined #nim
15:57:07*libman joined #nim
16:14:36*csoriano quit (Quit: csoriano)
16:16:12*PMunch quit (Quit: leaving)
16:17:47*nicanaca0 joined #nim
16:19:34*fredrik92 joined #nim
16:22:02*brechtm quit (Read error: Connection reset by peer)
16:22:19*brechtm joined #nim
16:23:42*rtr_ joined #nim
16:29:57*brson joined #nim
16:31:44*hohlerde joined #nim
16:34:55stisa_Is there a way to do something similar to ``let x = [countup(0,10,2)] # [ 0, 2, 4 ,6 ,8 ,10] `` ?
16:35:45*yglukhov joined #nim
16:40:05*yglukhov quit (Ping timeout: 244 seconds)
16:40:40dom96stisa_: try ``sequtils.toSeq(countup(0,10,2))``
16:44:07*yglukhov joined #nim
16:45:47stisa_dom96: works, thanks! But it doesn't work when step is a float, e.g.: ``toSeq(countup(0.0,1.0,0.1))`` because countup expects integer steps.
16:46:11dom96indeed, countup only works with integers
16:46:47stisa_well, I guess I'll have to define my own countup :)
16:47:59dom96precisely
16:50:11*hohlerde quit (Remote host closed the connection)
16:50:11*libman quit (Read error: Connection reset by peer)
16:50:18flyxstisa_: there are also list comprehensions in the future module: echo lc[x | (x <- countup(0, 10, 2)), int]
16:51:02stisa_flyx: ooh nice
16:51:19flyxthis works: echo lc[0.1 * float(x) | (x <- countup(0, 10, 1)), float]
16:51:40*csoriano_ joined #nim
16:51:46*csoriano_ is now known as csoriano
16:53:06*yglukhov quit (Remote host closed the connection)
16:55:03*pregressive quit ()
16:55:37stisa_flyx: thanks, got it to work like this ``lc[ x | (x <- linspace(0.0, 2*Pi, 0.1)), float]``
16:56:05*hohlerde joined #nim
16:57:15*fredrik92 quit (Quit: Leaving.)
16:58:26*Jesin joined #nim
16:59:31*Jesin quit (Remote host closed the connection)
17:03:14*Jesin joined #nim
17:04:55*Jesin quit (Remote host closed the connection)
17:08:52*libman joined #nim
17:10:14*fredrik92 joined #nim
17:13:23*Jesin joined #nim
17:19:06libmanCurrent package ecosystem copyfreedom scores : Nim nimble 88.564% ; Lua rocks: 86.203% ; Haskell cabal 81.352% ; NodeJS npm 64.504% ; Ruby gems 38.854%
17:20:45libmanThe last two mainly reflect number of packages that don't mention a license. My Lua license analysis code is still pretty buggy, so the race is on! ;)
17:24:49*brechtm quit (Read error: Connection reset by peer)
17:24:54libmanThe above is in reference to my stupid little tool at https://github.com/lbmn/nim/tree/master/lice - I'm still in early stages of learning Nim.
17:25:27*brechtm joined #nim
17:26:42libmanI started refactoring my code into some half-baked modular idea, got "cannot be passed to a procvar" (see http://forum.nim-lang.org/t/1682), got depressed, and went to see what's been happening in Goland... ;)
17:35:09libmanNim is a really beautiful language for simple things, but at the deeper end of the pool you start drowning in pragmas and other ugly things...
17:35:58*GustavoLapasta joined #nim
17:46:03*desophos joined #nim
17:52:40*nairobi quit (Remote host closed the connection)
17:53:22AraqI don't get the criticism. why can't you annotate the proc with .procvar to make it compile?
17:57:43dycewondering if there is better syntax for not (1 in [1,2]), like python can do if 1 not in [1,2]
17:58:13dom96dyce: if 1 notin [1,2]
17:58:18dycethanks
17:59:11*M-Quora joined #nim
17:59:26*TheManiac joined #nim
18:02:03*yglukhov joined #nim
18:02:52dom96Araq: I'm still unconvinced about the reasoning for this procvar business.
18:03:19dom96Let's make it easier for people to use first class functions.
18:10:14Araqif we get rid of procvar, every time we add a new default'ed parameter to the stdlib, it's a breaking change.
18:10:51dom96I remember this as the reason why it exists, but I don't understand it.
18:11:00dom96Why is it a breaking change in that case?
18:11:01Araq"still unconvinced"? or was that just a synonym for "i cannot remember the reason"? ;-)
18:13:14dycei just ordered a FPGA to install a risc-v soft processor, gonna try some nim apps on it :D
18:16:43dom96Hey Calinou, any ideas when you'll get to work on the website some more?
18:19:57*Mat4 joined #nim
18:20:27*GangstaCat quit (Quit: Leaving)
18:21:14Mat4dyce: Which core do you plan to use ?
18:22:14dyceFreedom u500 by sifive https://dev.sifive.com/dev-kits/
18:22:26dycejust to get my feet wet
18:22:34dycehavent used a fpga before
18:22:58dyceMat4:
18:23:41Mat4I'm interested hearing about your experiences
18:27:09*hcorion joined #nim
18:28:26*stisa_ quit (Quit: quitting...)
18:30:14Calinoudom96: I have some work to do this week-end, so not sure
18:30:28Araqargh my connection is so bad, sorry my replay made no sense
18:31:04Araqdom96: takesCallback(strutils.toLower)
18:31:25Araq--> if toLower gets a new parameter, the types become incompatible
18:32:20*planhths joined #nim
18:32:31*nairobi joined #nim
18:32:37dom96okay, so the callback type for `takesCallback` is: proc (x: string): string
18:32:56dom96the type of toLower is proc (x: string): string, but becomes proc (x: string, y=42): string
18:33:15dom96takesCallback should still accept `proc (x: string, y=42): string`
18:33:26dom96because it doesn't need to specify `y`
18:34:32Araqthat's a possible solution, but it's some work to implement that.
18:34:41*Jesin quit (Quit: Leaving)
18:35:07Araqit's only a half solution though since Nim also has templates and macros which cannot be passed to procvars either
18:35:32Araqso a change from proc to template in the stdlib would stay impossible
18:36:20*nairobi_ joined #nim
18:36:52*nairobi quit (Ping timeout: 265 seconds)
18:37:14Araqnot to mention that every builtin in system.nim is not a proc
18:37:15dom96In that case it will just need to be a breaking change
18:37:53*Jesin joined #nim
18:38:21dom96I know it's a lot of work, but adding 'procvar' everywhere is simply too annoying.
18:38:29dom96So I will create an issue for this
18:38:55dom96That's a good point. Passing `!=` won't work then
18:39:03dom96But it will still be better than what we have now
18:41:17Araqanother issue for this?
18:41:22Araqit's already an RFC
18:41:29libmanI am only an egg. I was a programmer once, but that was in the 90s and I had an order of magnitude more living braincells back then.
18:42:00Araqplus the workaround is not to add procvar everywhere, but to use x => foo(x) aka a lambda
18:42:12Araqwhich is what the compiler would need to create for you anyway
18:42:18libmanI guess I'm no longer an egg even. I am an omelet.
18:42:33dom96Oh, I guess I already created an issue for it https://github.com/nim-lang/Nim/issues/2172
18:42:39Araqyes
18:43:11dom96I strongly believe this needs to happen before 1.0
18:43:39*Mat4 left #nim (#nim)
18:44:27libmanTo persuade pythontarded idiots like me to accept {.annoyance.}s, just tell us it's necessary to make Nim go really really fast. We'll believe you. ;)
18:46:08*yglukhov quit (Remote host closed the connection)
18:49:17*NimBot__ joined #nim
18:50:19*NimBot__ quit (Remote host closed the connection)
18:50:32*NimBot__ joined #nim
18:53:32*nairobi_ quit (Read error: Connection timed out)
18:54:50*nairobi joined #nim
19:00:40rudi_sIs it expected that Table has no items() iterator?
19:03:16rudi_sfor x in table: would be nice to iterate over values
19:03:38Araqfor x in values table:
19:03:44Araqfor key, val in table
19:03:50Araqfor k in keys table:
19:04:00Araqit's nicer the way it is :P
19:04:36ldleworkIts nicer that you have to convert a type to another type just to iterate it naturally?
19:04:55ldleworkWhen the first type is a type that could support the iterator protocol?
19:05:17rudi_sI see, makes it explizit of what I'm iterting over.
19:05:50ldleworkrudi_s: technically you're no longer iterating over the dictionary
19:06:03ldleworkand instead a sequence returned by a method on the dictionary
19:06:54*ldlework shrugs.
19:07:10rudi_sldlework: Well, they are iterators.
19:07:50ldleworksure
19:08:56Araqthere is no unary "natural" iteration for dicts
19:09:03AraqJS iterates over the keys for that
19:09:08Araqnot the values.
19:11:09*nairobi quit (Remote host closed the connection)
19:11:37ldleworksame for python
19:11:45ldleworkand ruby
19:11:58ldleworkand perl
19:13:04ldleworkand rust
19:13:18ldleworkoops not rust
19:13:26ldleworkI can't tell. I can't read rust O_O
19:13:42Araqrudi_s said "for x in table: would be nice to iterate over *values*"
19:13:45*shodan45 joined #nim
19:15:14*foocraft quit (Ping timeout: 244 seconds)
19:15:25ldleworkAraq: Sure, I saw that when they said it
19:16:05ldleworkI was just commenting about having to use a method to iterate the dictionary('s keys or values)
19:18:40FromGitter<Araq> for k, v in dict is the "natural" thing and doesn't require an explicit method
19:22:59*nairobi joined #nim
19:23:59*nairobi quit (Remote host closed the connection)
19:24:11dom96https://example.com
19:24:33*NimBot__ quit (Remote host closed the connection)
19:25:22*NimBot__ joined #nim
19:26:07*yglukhov joined #nim
19:26:29hohlerde:-)
19:26:48*NimBot__ quit (Remote host closed the connection)
19:26:59*NimBot__ joined #nim
19:27:29dom96I'm certainly not using this channel to test NimBot :P
19:29:06*NimBot__ quit (Remote host closed the connection)
19:29:18*NimBot__ joined #nim
19:30:01*NimBot__ quit (Remote host closed the connection)
19:30:09*nairobi joined #nim
19:30:12*NimBot__ joined #nim
19:30:31dom96Just http://some.links and some text.
19:31:12dom96Some more https://links.com and text.
19:32:09*NimBot__ quit (Remote host closed the connection)
19:32:19*NimBot__ joined #nim
19:33:58*NimBot__ quit (Remote host closed the connection)
19:34:08*NimBot__ joined #nim
19:35:17*NimBot__ quit (Remote host closed the connection)
19:43:21*NimBot joined #nim
19:47:56*libman quit (Read error: Connection reset by peer)
19:48:33*Jesin quit (Quit: Leaving)
19:51:44*Jesin joined #nim
19:52:08*Ven_ joined #nim
19:52:30*NimBot joined #nim
19:53:42Calinoudom96: this university month will be busy, at least 3-4 works to give back before October
19:53:45Calinousorry :p
19:54:31dom96Calinou: it's okay
19:55:06dom96Calinou: Just don't forget about us :)
19:56:14*nairobi quit (Remote host closed the connection)
19:57:22*nairobi joined #nim
19:58:17dom96yay, hyperlinkable IRC logs
19:58:24dom96http://irclogs.nim-lang.org/15-09-2016.html#19:58:17
19:58:45dom96And links are now rendered properly, although the regex captures too much
19:58:49dom96but it shall do for now
20:00:05FreezerburnVAraq, Just read through the procvar discussion. Why can't the compiler automatically generate " x => foo(x)" without needing to annotate a method with {.procvar.}? It already knows the annotation is needed, if I remember a compiler error I got a bit ago
20:00:42FreezerburnVSeems odd to tell the user to do something it already seems to know it needs tod o
20:00:50FromGitter<Araq> it can do that but -surprise! - features start with the state "not implemented" here in reality.
20:01:35*fredrik92 quit (Quit: Leaving.)
20:02:01FreezerburnVHeh, funny how that works. Just figured I'd throw my input into the ring
20:02:27*libman joined #nim
20:03:26dom96FreezerburnV: Thank you, it shows that others agree with me ;)
20:04:01FromGitter<Araq> that's always been the ultimate conclusion :P
20:04:06FromGitter<Araq> look at the github discussion
20:04:16FromGitter<Araq> nobody disagrees with it.
20:04:41FreezerburnVThere's just this finicky thing called "time" that is required to implement the thing, right? ;)
20:04:46FromGitter<Araq> the disagreement is only about whether some half-assed solution that simply disables the procvar check is worthwhile
20:05:45ldleworklol
20:09:57*NimBot joined #nim
20:10:45dom96It really has been a long time... oldest IRC logs: http://irclogs.nim-lang.org/30-05-2012.html
20:13:04dom96Back in the days when Araq still welcomed everybody :P
20:13:52*jivank_ joined #nim
20:14:17FromGitter<Araq> such a nice friendly guy. what happened to him?
20:14:44FromGitter<Araq> ah, he got married.
20:15:10dom96haha
20:15:11FreezerburnVSee, I was going to attribute being grumpy to increasing popularity of the language, thus more users clamoring for things
20:15:25FreezerburnVBack when Nim was Nimrod, there were like, 5 people who knew the language
20:17:39*libman quit (Read error: Connection reset by peer)
20:18:42*nairobi quit (Remote host closed the connection)
20:21:15*nairobi joined #nim
20:22:06*csoriano quit (Quit: csoriano)
20:22:35*Ven__ joined #nim
20:22:35*Ven_ quit (Read error: Connection reset by peer)
20:23:00*nairobi quit (Remote host closed the connection)
20:23:26*niv is now known as niv_
20:24:44*niv_ left #nim ("Textual IRC Client: www.textualapp.com")
20:24:48*niv joined #nim
20:25:24*nairobi joined #nim
20:30:28*Trustable joined #nim
20:30:33*nairobi quit (Ping timeout: 248 seconds)
20:35:27*libman joined #nim
20:45:57dom96GitHub's new reviews are pretty cool
20:46:35dom96Means multiple people can submit reviews and the PR submitter can then see an overview of the people that approve it/ask for changes/reject it.
20:46:47*libman quit (Read error: Connection reset by peer)
20:51:36*planhths quit (Quit: Konversation terminated!)
20:53:31*foocraft joined #nim
20:54:33*ThisIsZenified quit (Ping timeout: 240 seconds)
20:56:03*ThisIsZenified joined #nim
21:04:55*hcorion quit (Remote host closed the connection)
21:05:30*libman joined #nim
21:08:39*Ven__ quit (Ping timeout: 265 seconds)
21:09:53*_stowa joined #nim
21:16:41*libman quit (Read error: Connection reset by peer)
21:16:51*_stowa quit (K-Lined)
21:18:35*yglukhov quit (Remote host closed the connection)
21:24:46*brechtm quit (Read error: Connection reset by peer)
21:24:48*rbergmair quit (Quit: Leaving.)
21:25:33*brechtm joined #nim
21:29:17rudi_sNo builtin way to create a tempfile?
21:31:29FromGitter<Araq> os.getTempDir iirc
21:33:21*libman joined #nim
21:34:28rudi_sAraq: That returns a path to a directory where I can create temporary files. But I want to create the temporary file itself. With sane permissions and without race conditions.
21:36:12rudi_sHm. PathComponent and thus getFileInfo doesn't include information like character-device, block-device, etc. Is this planned or do I have to use something else?
21:41:04FromGitter<Araq> use posix.nim for posix stuff.
21:41:20FromGitter<Araq> lol @ char vs block device. is this 1970?
21:46:17*StarBrilliant quit (Ping timeout: 250 seconds)
21:46:42*qwertfisch quit (Ping timeout: 250 seconds)
21:46:44*tstm quit (Ping timeout: 250 seconds)
21:47:10*cyraxjoe quit (Ping timeout: 250 seconds)
21:47:24*cyraxjoe joined #nim
21:49:04*nsf quit (Quit: WeeChat 1.5)
21:49:18*hohlerde quit (Ping timeout: 275 seconds)
21:51:08*chemist69 quit (Ping timeout: 250 seconds)
21:51:25*qwertfisch joined #nim
21:52:11*StarBrilliant joined #nim
21:55:25*chemist69 joined #nim
21:56:19rudi_sAraq: All right. - Well, last time I checked I still have those files in /dev and I don't want to read from them so I have to differentiate them from normal files.
21:59:13*hohlerde joined #nim
22:00:06*pregressive joined #nim
22:00:54*tstm joined #nim
22:01:08rudi_sAnd regarding tempfiles. Any idea? Is this something which would be accepted in a std lib?
22:03:05FromGitter<Araq> sure why not. but i also don't see the problem with races
22:04:11FromGitter<Araq> it's more useful when you're in control over the filename, otherwise you get some shitty uuid nobody can remember
22:04:15rudi_sAraq: Is this 1970? - Arbitrary file overwrites and symlinks are a major security issue and still a big problem.
22:07:42rudi_s(And without O_EXCL you can't create a (temporary) file which is not affected by this.)
22:09:08*Matthias247 joined #nim
22:15:19*Trustable quit (Remote host closed the connection)
22:15:19*libman quit (Read error: Connection reset by peer)
22:16:24*shodan45 quit (Quit: Konversation terminated!)
22:26:02FromGitter<Araq> I don't use temporary files for crucial data, so I don't see the problem. Nor do I use symlinks.
22:33:57*libman joined #nim
22:38:19*bjz_ quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:40:09*brechtm_ joined #nim
22:40:16*brechtm quit (Read error: Connection reset by peer)
22:45:26*Demon_Fox joined #nim
22:56:08*mjl quit (Ping timeout: 250 seconds)
22:56:58*bjz joined #nim
22:58:52*bjz quit (Client Quit)
22:59:08*mjl joined #nim
23:05:19*foocraft quit (Quit: Leaving)
23:07:15*Matthias247 quit (Read error: Connection reset by peer)
23:07:42rudi_sAraq: The problem is that an attacker uses symlinks: https://en.wikipedia.org/wiki/Symlink_race - it's also not relevant if you use important data or not. The moment you do something like fopen("/tmp/foo", "w") it's too late an attacker can overwrite an arbitrary file with the permissions of the writing user.
23:08:52*GustavoLapasta quit (Quit: Leaving)
23:24:46FromGitter<Araq> sounds like just another Unix bug to me
23:29:07*rtr_ quit (Remote host closed the connection)
23:47:42*nsf joined #nim
23:55:47rudi_sYeah, you can call it a bug. Still needs to be handled for correct programs on any unix-like-system.
23:57:35rudi_s(And just curious, what system do you prefer developing for if it's not unix-like? Windows?)
23:57:53*chemist69 quit (Ping timeout: 265 seconds)
23:59:34FromGitter<Araq> it's not that I prefer Windows, it's just that everybody knows Windows and DOS are crap and people eventually need to face the truth that Unix is just as much horseshit