<< 31-10-2013 >>

00:01:48ScramblejamsI'm intrigued by the possibility of wrapped C++ libraries. Can anybody suggest a concise example of real code for that?
00:02:27dom96https://github.com/Araq/Nimrod/blob/master/examples/c%2B%2Biface/irrlichtex.nim
00:03:00ScramblejamsIs it just me or is Araq's output mind boggling?
00:03:26dom96his output?
00:03:30ScramblejamsDude seems epically prolific.
00:03:54ScramblejamsI know other people are contributing, but still.
00:04:01dom96Yeah, he's a God.
00:04:14BitPuffinand the fact that he's been working on this for years and years :D
00:04:25dom96The fact that he's doing it all in his spare time...
00:04:33dom96with no financial support.
00:04:36ScramblejamsOh man I thought he was full time. Nutty.
00:04:47BitPuffinyeah it's a bit insane
00:05:11ScramblejamsNimrod deserves way more attention than it's getting. I spent quite a while looking around for a better C with Pythonic syntax and somehow missed it.
00:05:51BitPuffinpreach it brotha!
00:05:52BitPuffinlol
00:05:54BitPuffinno but yeah
00:05:55VarriountSadly, Nimrod has human dynamics to contend with.
00:06:25BitPuffinyou mean tribalism?
00:06:27*mflamer joined #nimrod
00:06:31VarriountIt's not well known.
00:06:39BitPuffinalso tribalism
00:06:52VarriountIn a way.
00:07:31VarriountThe desire/action for someone to switch to or learn a new language must be great enough to pull them away from whatever language[s] they currently use.
00:07:49ScramblejamsWell thanks for the help y'all. Gonna wrap me some enet tonight. Then some messagepack hopefully.
00:08:04BitPuffinVarriount: well a lot of them have also lived in that bubble for so long that they attack everything else
00:08:17dom96Scramblejams: enet is already wrapper I think
00:08:21VarriountScramblejams, if you need help with c2nim, I'll be here for another... 3-4 hours
00:08:41dom96Scramblejams: Yep: https://github.com/fowlmouth/nimrod-enet/
00:09:04ScramblejamsVarriount: Thanks for the offer. I'll probably miss you. Gonna go home and play with my daughter for a few hours, then code.
00:09:12VarriountAnyone know if gcc has a way to *only* preprocess certain macros? Such as include?
00:09:14Scramblejamsdom96: Haha awesome thank you, that'll give me a good tutorial.
00:09:24Scramblejams...which I can apply to messagepack.
00:09:46dom96:)
00:10:04VarriountScramblejams, if you need to, send me a memo with memoserv
00:10:07Demosit should Varriount, check out 'man cpp'
00:10:21VarriountDemos, windows, remember?
00:10:29Varriount:P
00:10:54ScramblejamsVarriount: Thank you very much.
00:11:35Demosermmmm, any gcc distribution prolly comes with cpp
00:11:41Demoscpp --help?
00:12:20VarriountThere's -E, but that preprocesses *everything*
00:26:28*mflamer quit (Ping timeout: 240 seconds)
00:40:55*DAddYE_ joined #nimrod
00:40:58*DAddYE_ quit (Remote host closed the connection)
00:40:59*DAddYE quit (Read error: No route to host)
00:41:34*DAddYE joined #nimrod
00:49:07VarriountSo, I just figured out what happens when you run cat * > output.txt
00:49:40dom96Your computer self destructs? :P
00:50:05VarriountYes. From overeating.
00:54:37*DAddYE quit (Remote host closed the connection)
00:55:10*DAddYE joined #nimrod
00:56:11*mflamer joined #nimrod
00:57:02mflameris typedesc a compile time only type? i.e. cannot be a part of a tuple
00:57:35mflamerthat was a question and should have ended with ?
00:58:10Varriountmflamer, maybe?
00:59:22*mflamer quit (Remote host closed the connection)
00:59:30*mflamer joined #nimrod
00:59:43*DAddYE quit (Ping timeout: 272 seconds)
01:00:11mflamerI'm getting errors when I try to store typedesc like a runtime value
01:01:43dom96yeah, I don't think that's allowed.
01:03:39mflamernow that I look closer in the manual, it's pretty clear. You can use them as normal values in macros though
01:04:07Varriountdom96, I used cat on all the files in libcef's capi folder
01:04:47VarriountTranslating them all as individual files leads to import errors as twisted as a nest of cables.
01:05:11*Demos wants modules in C/C++
01:05:15Demosfor all our sakes
01:05:21Varriount?
01:05:39VarriountOh, you mean, in the languages.
01:05:43Demosyes
01:06:13Varriount*Demos want's C/C++ to have a modules-like feature
01:06:46VarriountI thought you meant you wanted nimrod modules to be written in C.
01:07:02Demoswell it is coming soon(TM) to c++ :D and erm no
01:07:03VarriountSilly Syntactical Ambiguity.
01:07:26VarriountDemos, I bet nobody will use it.
01:07:33Demosoh.... people will
01:07:41Demosdoes anyone actually think headers are a good idea?
01:07:45VarriountConsidering that C++ programmers are masochists.
01:08:14dom96I've spoken of people who did argue that they are a good idea.
01:08:26dom96*to
01:08:30DemosI like c++ actually, it is the most expressive language out there that is fast and has a mature library and tooling community (although tooling still sucks because c++'s syntax)
01:08:31*XAMPP quit (Quit: Drink all the Booze; Hack all the Things; Kill all the Humans;)
01:08:37*mah joined #nimrod
01:08:46Demosbut headers are the work of the fucking devil
01:09:09DemosWHO THE HELL WOULD WANT TRANSITIVE INCLUDES
01:09:57VarriountDemos, the problem is that C++ does exactly what you tell it.
01:10:38*mflamer quit (Ping timeout: 240 seconds)
01:11:01VarriountWhich is both good and bad.
01:11:27Demosthe problem is that headers are dumb
01:11:31VarriountAnd on par with "Let's eat, Grandma" vs "Let's eat Grandma"
01:12:13VarriountDemos, don't forget that the standard for C++ ABI's is not to have one.
01:12:31VarriountOr rather, the standard is to not have a standard.
01:12:44Demoswell that is fine
01:12:55Demosmodules do not require an ABI
01:12:57VarriountNot when it comes to interoperability.
01:13:03Demoswell yesh
01:13:14Demosthey are likely to be platform dependent
01:13:55Demosand they are not hugely likely to be the units with which libraries are distributed
01:14:15Demosalthough is is very possible module metadata and whatnot could be put into dll/so files
01:15:26Demosone major motivation is to cut down on compile times
01:15:48Demosand as nimrod has shown having modules means that your compiler can act as a bit of a build system
01:16:17*hoverbear joined #nimrod
01:17:52VarriountDemos, quite frankly, unless a library is absolutely huge, it's easier on the user if you simply statically include it.
01:18:02VarriountOtherwise you tend to get dll hell.
01:18:11Demosoh yeah, I am all for static libraries
01:18:27Demosand .a/.lib files could also contain module metadata I spose
01:18:55VarriountOf course, being a Windows user, I tend to have the mindset that "things should just work", even at the cost of efficiency.
01:19:35Demosit really russels my jimmies when windows apps just plop a bunch of dlls in their install directory
01:20:07Demosshared libraries are not so bad when you have package management that you can query for their version
01:20:31VarriountDemos, I once had an ATI driver, during an upgrade, crash and corrupt my video driver.
01:20:57VarriountThe crash was because it was using a dll that had been updated/placed by visual studio.
01:21:10Demosbut anyways the modules perposal for C++ does not deal with shared/static linking. It is to prevent the fucking around with the linker stage of using libraries and to improve compile times. And yes, ATI drivers are pretty bad
01:21:22Demosoh god
01:21:30Demossee static linking should always be done
01:21:44Demosit ticks me off that VS defaults to shared linking of the runtime
01:21:46VarriountDemos, that incident taught me to stay away from ATI
01:22:07VarriountBe back in 5 minutes, reading book to little bro.
01:23:47BitPuffincan not be a long book
01:24:08BitPuffincould it possibly be the linagl feature list :D
01:27:34VarriountBack.
01:27:50VarriountIt's a cardboard-type book on lego starwars
01:28:07VarriountHe's 5 years old.
01:29:31Demoswell I am playing battlefield, need to unwind after a day long fight with cmake/c++
01:29:50VarriountDemos, did you win the fight?
01:30:21Demosnot really
01:30:48DemosI found a bug in glfw's glfwConfig.cmake file, but nobody even seems to know that glfw has a config file...
01:30:50*zanoni quit (Read error: Operation timed out)
01:31:19VarriountIf it helps, I've never been able to compile GCC, LLVM, or GTK on Windows.
01:34:10*q66 quit (Ping timeout: 246 seconds)
01:34:14*mflamer joined #nimrod
01:35:14*Associat0r joined #nimrod
01:35:14*Associat0r quit (Changing host)
01:35:14*Associat0r joined #nimrod
01:35:22*q66 joined #nimrod
01:36:58*Boscop quit (Quit: Boscop)
01:41:26*mflamer quit (Ping timeout: 240 seconds)
01:42:14*mah quit (Quit: Page closed)
01:43:22*mflamer joined #nimrod
01:45:25Demoswell batttlefield sets itself as always-on-top for no reason...
01:49:07*mflamer quit (Ping timeout: 272 seconds)
01:51:54*mflamer joined #nimrod
02:02:50*DAddYE joined #nimrod
02:05:18*DAddYE quit (Remote host closed the connection)
02:09:18*mflamer quit (Ping timeout: 245 seconds)
02:13:22*xenagi joined #nimrod
02:13:26xenagihey guise
02:13:41xenagidon't be too upset with me, but... i got a haircut and i look like a hipster
02:14:01xenagiwoops wrong chat hehe
02:14:06Demosstory of my life
02:19:43*sebcrozet quit (Ping timeout: 245 seconds)
02:26:33*ics quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
02:31:11*XAMPP joined #nimrod
02:41:04*ics joined #nimrod
02:45:37NimBotAraq/Nimrod newasync 14f4a23 Dominik Picheta [+2 ±0 -0]: Epoll wrapper + selectors module.
02:45:50BitPuffinwtf Araq is up?
02:46:32dom96Yeah, his name is also Dominik :P
02:46:44BitPuffindom96: oh you have full commit access?
02:46:56dom96yeah
02:46:57BitPuffinI thought it went through Araq
02:47:02BitPuffincool!
02:47:08BitPuffinanyways goodnight :)
02:50:25dom96Yeah, same here.
02:50:27dom96'night
03:04:44*DAddYE joined #nimrod
03:10:50*DAddYE quit (Ping timeout: 245 seconds)
03:12:43*brson quit (Ping timeout: 272 seconds)
03:16:14*hoverbear quit (Quit: Textual IRC Client: www.textualapp.com)
03:26:48*hoverbear joined #nimrod
03:54:18*xenagi quit (Quit: Leaving)
04:19:42*mflamer joined #nimrod
04:20:52*guaqua``` joined #nimrod
04:21:30*guaqua`` quit (Ping timeout: 252 seconds)
04:24:14*OrionPK quit (Read error: Connection reset by peer)
04:25:47*mflamer quit (Read error: Connection reset by peer)
04:52:17*zhtx joined #nimrod
04:52:20*zhtx left #nimrod (#nimrod)
04:53:26ScramblejamsAnybody working on any erlang interop I should know about? :-)
04:58:53*Demos quit (Quit: Leaving)
05:09:18*DAddYE joined #nimrod
05:14:46*DAddYE quit (Ping timeout: 245 seconds)
05:26:42*hoverbear quit (Quit: Textual IRC Client: www.textualapp.com)
05:31:02ScramblejamsDumb babel question: I used it to install enet, but enet doesn't seem to be built. Do I need to do that myself? Or should babel handle that for me?
05:58:21*DAddYE joined #nimrod
05:58:39*DAddYE quit (Remote host closed the connection)
05:58:45*DAddYE joined #nimrod
06:07:51*mal``` quit (Ping timeout: 260 seconds)
06:09:15*Jackneill joined #nimrod
06:18:52*mal`` joined #nimrod
06:31:47*dyu joined #nimrod
07:34:36*sebcrozet joined #nimrod
07:35:14*sebcrozet quit (Client Quit)
08:04:57*delian66 quit (Ping timeout: 272 seconds)
08:18:56*delian66 joined #nimrod
08:24:21*dyu quit (Quit: Leaving)
08:29:59*DAddYE quit (Remote host closed the connection)
08:54:38*Araq_ joined #nimrod
09:13:59Araq_Scramblejams: babel doesn't build and nor does it need to. the compiler builds what you import.
09:31:17*DAddYE joined #nimrod
09:35:36*DAddYE quit (Ping timeout: 245 seconds)
09:40:34*CarpNet joined #nimrod
09:41:21*DAddYE joined #nimrod
09:45:50*DAddYE quit (Ping timeout: 245 seconds)
10:32:33*DAddYE joined #nimrod
10:36:53*DAddYE quit (Ping timeout: 248 seconds)
11:09:46*dymk quit (Ping timeout: 245 seconds)
11:13:47*dymk joined #nimrod
11:19:40*faassen joined #nimrod
11:28:31*dymk quit (Ping timeout: 245 seconds)
11:33:52*DAddYE joined #nimrod
11:36:18*dymk joined #nimrod
11:38:20*DAddYE quit (Ping timeout: 245 seconds)
11:45:13*Araq_ quit (Read error: Connection timed out)
11:45:54*Araq_ joined #nimrod
11:47:18*guaqua``` is now known as guaqua
11:51:34*mal`` quit (Read error: Connection reset by peer)
11:59:22*mal`` joined #nimrod
12:21:22*BitPuffin quit (Read error: Connection reset by peer)
12:21:38*BitPuffin joined #nimrod
12:22:50*Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258])
12:35:13*DAddYE joined #nimrod
12:38:56*dymk quit (Ping timeout: 245 seconds)
12:39:21*DAddYE quit (Ping timeout: 245 seconds)
12:57:09*Ricky_Ricardo joined #nimrod
13:15:50*EXetoC joined #nimrod
13:16:16EXetoCBitPuffin: yup, I'm alive still
13:16:28EXetoC~~~~~~~~~~~~
13:16:31dom96EXetoC: Welcome back!!!!
13:16:37EXetoCtnx
13:16:44dom96what happened to you?
13:17:35*faassen quit (Read error: Connection reset by peer)
13:17:41*faassen1 joined #nimrod
13:20:21*dymk joined #nimrod
13:21:05*zanoni joined #nimrod
13:21:52dom96EXetoC: you missed my blog post btw.
13:22:52EXetoCdom96: not much
13:23:05EXetoCI've still been visiting github and the forum actually
13:23:28EXetoCI only skimmed through it, but it seems like a good overview
13:23:35*OrionPK joined #nimrod
13:34:41EXetoCsomeone complained about the ~1ms pause time, claiming that 1/16th of a frame at 60fps is quite a lot.
13:35:39EXetoCI wonder how many people expect a GC to be able to run in such circumstances, while at the same time not experiencing any stutter
13:36:10EXetoCprobably not too many
13:36:34*DAddYE joined #nimrod
13:37:42dom96Interesting error: Error: expression ':delegator("evArr", es)' cannot be called
13:40:51OrionPKEXetoC how can he notice a GC pause if it's running at 60fps?
13:41:10OrionPKunless it's dropping frames and going down to 30 or something
13:41:21*DAddYE quit (Ping timeout: 272 seconds)
13:46:18EXetoCOrionPK: frame rate drops are noticeable
13:49:04EXetoCand that's all there is to it I guess. anyway, a 1ms pause shouldn't matter for most games
13:49:24OrionPKright, but if you keep the calc time under 16 mspf it shouldnt drop frames
13:49:29EXetoCand people who work on demanding games ought to know how to work around it anyway
13:50:45dom96I think NewGuy was saying on reddit that 1ms is in fact an overestimation and that the GC can actually get it in the range of a couple hundred µs.
13:53:45EXetoCgreat. so it's even less of a worry. that ought to attract at least some developers eventually, once it has been validated in practice
13:57:04VarriountAnyone know how exactly to make a generalized string literal?
14:00:38EXetoCI don't know what that implies
14:02:10EXetoCfound it in the manual just now
14:05:27EXetoCok, so echo"\l123" == echo r"\l123" == echo "\\l123"
14:05:56EXetoCneat
14:06:59EXetoCnot that you reduce typing much at all
14:08:27*io2 joined #nimrod
14:09:55EXetoCecho"""123"""
14:14:47*Ricky_Ricardo quit (Quit: Ricky_Ricardo)
14:15:29EXetoCalso, if the line ends with """, and continues on the next line, then no preceding newline will be generated
14:22:05C0C0EXetoC: fast GC surely attracted me :)
14:34:02*Araq_ joined #nimrod
14:38:17*Araq_ quit (Client Quit)
14:38:26*DAddYE joined #nimrod
14:38:37EXetoCaight, cool!
14:43:19*DAddYE quit (Ping timeout: 272 seconds)
14:46:01EXetoCcya
14:46:03*EXetoC quit (Quit: WeeChat 0.4.2)
15:04:11*Endy joined #nimrod
15:06:13*dyu joined #nimrod
15:07:28NimBotAraq/Nimrod newasync 38fb681 Dominik Picheta [+0 ±2 -0]: Epoll now works.
15:16:30*faassen1 is now known as faassen
15:22:32*MFlamer joined #nimrod
15:26:55*[1]Endy joined #nimrod
15:29:01*Endy quit (Ping timeout: 272 seconds)
15:29:01*[1]Endy is now known as Endy
15:39:36*DAddYE joined #nimrod
15:45:36*DAddYE quit (Ping timeout: 245 seconds)
15:49:08*wlhlm joined #nimrod
16:08:56*[1]Endy joined #nimrod
16:11:09*delian1 joined #nimrod
16:12:36*Endy quit (Ping timeout: 265 seconds)
16:12:36*[1]Endy is now known as Endy
16:15:28*delian66 quit (Ping timeout: 264 seconds)
16:28:05ScramblejamsAraq: Thanks for the explanation re: babel.
17:00:46*jbwiv quit (Quit: Leaving.)
17:01:53*MFlamer quit (Remote host closed the connection)
17:03:24*EXetoC joined #nimrod
17:05:51*brson joined #nimrod
17:12:18*DAddYE joined #nimrod
17:12:24*DAddYE quit (Remote host closed the connection)
17:12:38*DAddYE joined #nimrod
17:15:35OrionPKis there a performance/memory difference between AppendStrStr and ConStrStr?
17:16:09*gradha joined #nimrod
17:17:27*dymk quit (Ping timeout: 260 seconds)
17:20:24EXetoCOrionPK: the former doesn't create a new string since it appends, and it might not allocate depending on the capacity
17:20:39EXetoCas you might be able to tell from the declarations in system.nim
17:21:38OrionPKyeah, they do different things obviously, was just wondering what the tradeoffs were. thanks
17:25:35EXetoCs/create/return
17:25:55EXetoCyeah sometimes you want an extended copy for whatever reason
17:26:31*dymk joined #nimrod
17:26:59VarriountCan anyone tell me why this regular expression -> "#pragma once" , would faile if searched for in a file?
17:27:52gradhausing nimrod's regex? IIRC they eat whitespace by default
17:28:07VarriountEat whitespace?
17:28:51gradhasee http://nimrod-code.org/re.html#105
17:29:03gradhanow search for reExtended
17:29:10gradha"ignore whitespace and ``#`` comments"
17:29:20gradhaso you have to pass in explicitly your own set of flags
17:29:23gradhaI mean enums
17:29:54VarriountIs that mode the default?
17:30:03gradhait is for the re proc
17:30:12Varriount-_-
17:30:16gradhayeah
17:30:20Varriount*shakes fist*
17:31:03BitPuffinHey EXetoC glad you aren't dead
17:31:09BitPuffinActually I read what he said as something positive
17:31:12BitPuffinwith the GC
17:38:30BitPuffinEXetoC: did you mean this guy? http://www.reddit.com/r/programming/comments/1pclbq/about_nimrods_features/cd14l63
17:41:47EXetoCno, another response to that quote
17:44:33BitPuffinright
17:44:41BitPuffinbecause that one was positive
17:44:44BitPuffinwhich one do you mean?
17:45:36BitPuffinanyways even IF 1ms was too much then it isn't really that hard to cut it down
17:46:00BitPuffinJust find the biggest chunk that gets GC'd and manage it manually
17:46:45BitPuffinpeople just can't think one step beyond
17:47:41gradhaor do like they do in java/android: "prealloc" global arrays for everything dynamic, with a bool flag for each slot being used
17:48:09BitPuffingradha: you mean object pooling?
17:48:17gradhayes
17:48:23BitPuffinyeah that works just fine too
17:50:41*MFlamer joined #nimrod
17:55:11EXetoCthat's basically what I said. You could step at respawn or when bringing up the menu for example
18:02:46BitPuffinEXetoC: for sure
18:03:01BitPuffinAnd I mean there is no stop the world thing going on
18:03:08BitPuffinand 1ms
18:03:15BitPuffinbecomes 60ms per second
18:03:27BitPuffinhumans can notice delays from 100ms and up I believe
18:03:38BitPuffinso that pause is not noticable
18:03:42BitPuffinand it is spread out
18:03:50BitPuffininto 1ms chunks
18:04:00BitPuffinif he wrote a game in nimrod he would probably not be able to tell
18:04:18BitPuffinand even if he needed to optimize it is not like nimrod is gonna stop you
18:04:28BitPuffinquite the contrary
18:11:53EXetoC100ms over a second? that's a strange metric. anyway, my point was just that it might be better to spend a big part of that 1ms on something else, but not very often like I said
18:11:57dom96Happy Halloween everyone!
18:12:08BitPuffinhappy halloween OrionPK
18:12:10BitPuffinoops
18:12:13BitPuffindom96 :D
18:12:17EXetoCoh ok
18:13:00EXetoCI had no idea
18:13:13dom96:)
18:14:02EXetoCapparently it's the same day every year. how convenient
18:15:28*Associat0r quit (Quit: Associat0r)
18:24:56OrionPKhappy nexus 5 day everyone!
18:25:20*dymk quit (*.net *.split)
18:25:22*guaqua quit (*.net *.split)
18:25:22*q66 quit (*.net *.split)
18:25:22*kakoo quit (*.net *.split)
18:25:54MFlamerHi all, I'm planning on getting more familiar with macros. Can anyone suggest some existing code to look at for good examples?
18:27:17dom96fowl has a couple of macros in his repo I think: https://github.com/fowlmouth/nimlibs
18:27:23dom96You can also look at the htmlgen module
18:28:03dom96The manual is also pretty informative: http://build.nimrod-code.org/docs/manual.html#macros
18:29:05MFlamernice, I'll look at those modules. Thanks
18:31:08*CarpNet quit (Quit: Leaving)
18:32:06gradhaanybody knows where osproc.running is implemented?
18:34:04dom96gradha: Scroll down.
18:34:22dom96in osproc.nim and you will find it.
18:34:22gradhayeah, I think I mistyped search
18:34:59dom96"# Can't establish status. Assume running."
18:35:10dom96That sounds like it should just throw an exception.
18:38:03gradhaaccording to the man page it's valid, maybe the problem is ignoring the negative return values
18:38:53gradhaits strange how much "var" is used, maybe because it is ancient code before let happened?
18:39:17dom96yeah, that's precisely why.
18:40:20*[1]Endy joined #nimrod
18:43:27*Endy quit (Ping timeout: 272 seconds)
18:43:27*[1]Endy is now known as Endy
18:44:06*enurlyx joined #nimrod
18:52:36*dyu quit (Quit: Leaving)
18:52:37*[1]Endy joined #nimrod
18:54:26*q66 joined #nimrod
18:55:33*Endy quit (Ping timeout: 245 seconds)
18:55:33*[1]Endy is now known as Endy
19:13:26OrionPKbabel needs a page on nimrod-code.org, listing packages and whatnot
19:14:54gradhamake it so
19:15:42gradhadom96: so at 55, what's the next milestone?
19:16:16dom9660 is the current record
19:16:50VarriountPersonally, if Babel is going to list packeges, should there be a section for packages that are "officially supported"?
19:17:20gradhauncertainty is always funnier
19:18:01*guaqua joined #nimrod
19:23:46*sebcrozet joined #nimrod
19:25:57*dymk joined #nimrod
19:31:26OrionPKI think some packages should be given official/recommended status over others, for sure
19:31:34OrionPKsome are more alpha-ish and some are out of date
19:32:51gradhathat makes sense if there are two or more packages implementing the same functionality
19:37:28*dymk quit (Ping timeout: 260 seconds)
19:40:27*dymk joined #nimrod
19:52:11*jbwiv joined #nimrod
20:03:15*enurlyx quit (Ping timeout: 272 seconds)
20:05:25*Endy quit (Ping timeout: 272 seconds)
20:08:35*zanoni quit (Ping timeout: 272 seconds)
20:09:41*zanoni joined #nimrod
20:09:53EXetoCI'm gonna make a better version of Nimrod with the help of pegs and stuff
20:13:45*Varaway joined #nimrod
20:14:00gradhastuff is good
20:20:31EXetoCya
20:21:39VarriountHm.
20:22:00VarriountAfter 3 days, my bouncer connects. :/
20:22:06Varriount*shrug*
20:22:19*Varaway quit (Disconnected by services)
20:23:18AraqMFlamer: did I miss a pull request from you that fixes the 'distinct' bug for good? ;-)
20:25:41VarriountHm. I wonder what happens if I feed a unicode path to nimrod's path procedures.
20:26:02AraqVarriount: it should work of course
20:26:11*Jackneill quit (Read error: Connection reset by peer)
20:30:30*EXetoC quit (Quit: WeeChat 0.4.2)
20:32:35MFlamerAraq: I did make the change we discussed yesterday and verified that it fixes the original issues I was having with it.
20:32:46Araqgreat
20:33:26MFlamerI pushed the chage to my fork which seems to add it to the existing conglomerated pull request I have going...
20:38:48AraqMFlamer: does it also fix the nested generics bug you encountered?
20:40:04*jbwiv left #nimrod (#nimrod)
20:40:40MFlamerAraq:Yes
20:41:30MFlamerI'm not sure about the bug you were reporting, though. Somethng about VM building
20:41:53Araqwell it's the same regression gradha encountered
20:41:58Araqso lets see ...
20:43:20NimBotAraq/Nimrod master c1eb3e7 Mark Flamer [+2 ±1 -0]: LockFree Hash Table 0.1
20:43:20NimBotAraq/Nimrod master cf1de6c Mark Flamer [+1 ±0 -0]: Mersenne twister random number generator
20:43:20NimBotAraq/Nimrod master f983737 Mark Flamer [+0 ±1 -0]: fix for Issue #629 Recursive generic types not working
20:43:20NimBotAraq/Nimrod master e1470ae Mark Flamer [+0 ±1 -0]: better fix for Issue #629 Recursive generic types not working
20:43:20NimBot2 more commits.
21:06:35Araqwlhlm: I don't think gitignore can list every possible binary (what do you mean .exe extension? we don't need no extensions on Unix!)
21:07:58Araqalso a "strip trailing whitespace" diff is annoying. They are unnecessary but also harmless.
21:09:16gradhaAraq: did you start with .exe extensions under unix and were assaulted by the unix pedantic zealot force?
21:09:46Araqno, but I might start with .exe on unix
21:10:08Araqit's funny how badly git works on its home OS :P
21:10:15gradhano difference from .sh really
21:11:30wlhlmAraq: where did I wrote something about an .exe? There is no problem with .gitignore push, I just noticed that lib/pure/numeric is the only binary, that isn't in there and thought that it can be added (since there are already a lot of files in .gitignore)
21:12:30Araqwlhlm: you didn't but I allow myself to make fun of archaic-and-yet-praised-for-no-reason designs
21:13:39*EXetoC joined #nimrod
21:16:41gradhawlhlm seems willing, Araq you should ask him to provide a patch for .exe or moving files to some ignored subdirectory
21:18:30wlhlmAraq: if you don't care about trailing whitespace, then how about the merge of #646 that introduced carriage returns (shoud i make a seperate pull)?
21:19:00*enurlyx joined #nimrod
21:19:13wlhlmahh, now I get this with the .exe - no, I'm currently running linux.
21:20:24Araqwlhlm: I dislike commits that touch every file because of some whitespace thing; once we break history this should be done
21:21:02Araqand we need to break history to get rid of the csources.zip files afaik
21:21:36wlhlmAraq: yeah, I understand that and wasn't aware, no problem.
21:22:56Araqgradha: the root cause is that "nimrod c -r" plays nice and doesn't produce an .exe extension on unix nor puts it into some hidden dir
21:23:34OrionPKit's weird how http line endings are consistent with windows and http path separators are consistent with unix
21:23:42gradhaI blame nimrod then for not using extensions
21:25:02EXetoCon linux?
21:25:09AraqOrionPK: the reason is history I think. CR-LF was the common standard because Unix/C couldn't deal with it due to C's IO "abstraction"
21:25:21Araqs/because/before
21:26:55gradhaEXetoC: linux is just so behind modern times
21:27:25gradhait won't have a standard clipboard until Linus embeds one in the kernel
21:28:13wlhlmgradha: I guess the kernel is nowhere behind, the userland maybe.
21:34:39EXetoCI don't have too many complaints
21:34:47gradhaso like hint[LineTooLong]=off there could be a os.annoying.unix.extension = "exe" in config/nimrod.cfg?
21:35:39EXetoCstandard clipboard? surely it could be some dbus-driven interface or whatever, but I haven't needed any complex clipboard solutions
21:49:45*OrionPK quit (Ping timeout: 250 seconds)
21:49:55EXetoCwhat are the issues? All I can think of is that clipboard code will have to be ported to wayland and what have you
21:51:29*newguy1 joined #nimrod
21:54:26*CarpNet joined #nimrod
21:56:37gradhaEXetoC: can you point me to some documentation to read the current clipboard under linux?
22:12:26CarpNetif anyone's interested i solved the dynamic library linking problem i was having and it seems to be specific to ubuntu
22:13:02CarpNetit seems with recent (11.10+) versions you must use some gcc/clang compiler flags to get the libraries to link correctly
22:13:36CarpNetnamely -Wl,--no-as-needed
22:13:46CarpNetmore info here http://stackoverflow.com/questions/8140494/why-am-i-getting-a-gcc-undefined-reference-error-trying-to-create-shared-objec
22:13:52CarpNetand here https://github.com/Droggelbecher/Grail/pull/19
22:15:15Araqthat would be the 2nd ubuntu specific bug
22:15:41Trixar_zaUbuntu 12.04?
22:15:51Trixar_zaGod I hate having to work with it
22:16:19EXetoCgradha: I don't know. man xsetselectionowner?
22:16:38CarpNeti'm on yeah 12.04
22:16:49gradhaEXetoC: I'm not under linux, but it seems that would prevent the code from working without x
22:17:01CarpNetit's also happening on another ubuntu machine i have 13.04
22:17:33Trixar_zaYeah, they tend to leave certain parts broken. I think they still haven't given Pulse proper settings
22:17:55Trixar_zaBut 12.04 has several compiling issues using gcc
22:18:47CarpNetit's odd because the stack overflow link says you can put the linker args after the file (object or .c file) arg and it should work, but i had to pass the -Wl,--no-as-needed and explicitly the dynamic library i had
22:19:23*OrionPK joined #nimrod
22:19:59EXetoCgradha: there probably isn't one like you said. either that, or it's some obscure thing
22:20:30CarpNetactually i'm just misunderstanding the -Wl arg, you can just use it right before a link arg and it works, so i can work around this for now with "nimrod --passl"
22:24:38EXetoCso yeah it's pretty bad for devs. hopefully the wayland devs will recognize the need for a universal clipboard service
22:27:11gradhaMFlamer: I can confirm your patch fixes my pron downloading software, thanks
22:27:54MFlamerpron means porn I assume? In that case, by all means you are welcome!
22:28:59gradhaouch, now my youtube pron downloader is broken
22:29:40gradhaah, it's ok, I just need to make it deal with low quality vids
22:36:00gradhagood night
22:36:12*gradha quit (Quit: bbl, need to watch https://www.youtube.com/watch?v=n7pXRdkdJxI again)
22:36:52*Boscop_ quit (Quit: Boscop_)
22:43:42*io2_ joined #nimrod
22:44:43*io2 quit (Ping timeout: 245 seconds)
22:45:17*newguy1 quit (Quit: Leaving)
22:51:01NimBotAraq/Nimrod master ed3673f Araq [+0 ±1 -0]: added $ for oids
22:51:01NimBotAraq/Nimrod master cd57c04 Araq [+0 ±4 -0]: GC: even more stress testing
22:51:01NimBotAraq/Nimrod master 5468d8f Araq [+3 ±22 -0]: Merge branch 'master' of github.com:Araq/Nimrod
22:52:16VarriountHm. If programming languages were halloween candies, what would Java, C++, etc be?
22:52:40MFlamerAraq: Did you say you are actively working on changes to the compiler that effect macros and templates?
22:53:20MFlamerC++ would be that candy corn that is everywhere but no body really likes
22:53:54AraqMFlamer: the vm2 branch will fix many macro related bugs
22:55:00Varriountvm = virtual machine?
22:55:05Araqyes
22:55:18MFlamerI'm starting to get back to looking into macros, as I see several weakness in my current sumtype implementation that I believe can be tackeled with them
22:55:54MFlamerShouls I use that branch? Or is it not ready
22:56:47MFlamerI did run into some bugs in master last time, and I think you said the new VM would solve them
22:57:00Araqyes I know
22:58:16Araqvm2 bootstraps and many macros work. but there are 2 new bugs with it
22:59:17*EXetoC quit (Quit: WeeChat 0.4.2)
23:00:57MFlamerOK, fuck it. I'll try the new branch. If I mess around in there will it help you for me to report bugs etc?
23:01:35Araqnot really, chances are high you only report issues I already know :P
23:03:54Araqbut feel free to mess with it
23:04:47*enurlyx quit (Quit: Nettalk6 - www.ntalk.de)
23:05:37MFlamerOK. Damn, I havent looked into term rewriting macros in a while, whole other world of untapped power there!
23:05:53*BitPuffin quit (Quit: No Ping reply in 180 seconds.)
23:05:56*CarpNet quit (Quit: Leaving)
23:06:13*olahol quit (Ping timeout: 248 seconds)
23:06:17*BitPuffin joined #nimrod
23:06:20*olahol joined #nimrod
23:12:43*CptRootbeer joined #nimrod
23:18:00Araqhi CptRootbeer welcome
23:18:09CptRootbeerHi Araq. Thank you.
23:18:15CptRootbeerJust looking around.
23:24:53*io2_ quit ()
23:28:47*faassen left #nimrod (#nimrod)
23:41:57OrionPKso looking at the sockets.nim select proc, it looks like it's removing fd's that have been triggered?
23:42:31AraqOrionPK: I think so but dom96 wrapped epoll recently too
23:42:40OrionPKAraq shouldnt it be the other way around?
23:42:54OrionPKonly return back the fds that have new data
23:43:35OrionPKAraq I'm implementing the basic functionality of the "run" command for websockets right now, I'll work on integrating it w/ asyncio and http server later
23:44:03Araqawesome. you know the async stuff is still not stable API wise, right?
23:44:12OrionPKyeah
23:45:04OrionPKit's pretty damn convenient even now though, even if httpserver is buggy :)
23:45:44OrionPKfrom beej's network guide: When select() returns, readfds will be modified to reflect which of the file descriptors you selected which is ready for reading.
23:45:57OrionPKit looks like nimrod's select does the exact opposite; no?
23:49:53Araqno. it does the same
23:53:01OrionPKlook at scgi
23:53:11OrionPKin the "next" procedure
23:53:12OrionPKif select(rsocks, timeout) == 1 and rsocks.len == 0:
23:53:28*MFlamer quit (Ping timeout: 245 seconds)
23:54:14*freezerburnv joined #nimrod
23:54:55freezerburnvHow's it going all?
23:55:02OrionPKrsocks should contain the listening socket if there is a socket to accept
23:55:14OrionPKbut this is checking if rsocks is empty before accepting a socket
23:55:58*xenagi joined #nimrod
23:59:03*sebcrozet quit (Ping timeout: 252 seconds)