<< 28-03-2014 >>

00:09:35*io2 quit ()
00:41:12*xenagi joined #nimrod
00:44:28*Skrylar joined #nimrod
00:56:36*tumak_ quit (Ping timeout: 255 seconds)
00:59:22*tumak joined #nimrod
01:03:20*tumak quit (Remote host closed the connection)
01:03:37*tumak joined #nimrod
01:05:41*Demos quit (Ping timeout: 255 seconds)
01:14:15*DAddYE_ quit (Remote host closed the connection)
01:32:24*OrionPK quit (Remote host closed the connection)
01:33:49*OrionPK joined #nimrod
01:41:32*q66 quit (Quit: Leaving)
02:12:26*Demos joined #nimrod
02:14:58*DAddYE joined #nimrod
02:18:41*Demos_ joined #nimrod
02:19:20*Demos quit (Ping timeout: 265 seconds)
02:19:33*DAddYE quit (Ping timeout: 265 seconds)
02:23:09*nolan_d left #nimrod (#nimrod)
02:53:03*nolan_d joined #nimrod
03:15:55*DAddYE joined #nimrod
03:20:27*DAddYE quit (Ping timeout: 265 seconds)
03:49:30*xenagi quit (Read error: Connection reset by peer)
04:11:05*Demos_ quit (Ping timeout: 255 seconds)
04:15:17*brson quit (Ping timeout: 240 seconds)
04:21:09NimBotVarriount/NimLime master 12035b2 Varriount [+0 ±1 -0]: Fixed thread error caused by compiler path settings.
04:54:02*Demos joined #nimrod
04:55:01*Demos quit (Client Quit)
04:55:10*Demos joined #nimrod
05:25:09*Demos quit (Ping timeout: 265 seconds)
05:27:54*Skrylar quit (Ping timeout: 252 seconds)
05:43:44*nande quit (Read error: Connection reset by peer)
05:45:44*BitPuffin quit (Ping timeout: 265 seconds)
06:23:39*Guest73710 quit (Quit: WeeChat 0.4.3)
06:37:59*psquid joined #nimrod
06:37:59*psquid quit (Changing host)
06:37:59*psquid joined #nimrod
07:15:27*DAddYE joined #nimrod
07:23:10*DAddYE quit (Remote host closed the connection)
07:23:36*DAddYE joined #nimrod
07:28:25*DAddYE quit (Ping timeout: 265 seconds)
08:02:31Araqhi ruzu welcome
08:24:12*DAddYE joined #nimrod
08:28:40*DAddYE quit (Ping timeout: 252 seconds)
08:34:15*DAddYE joined #nimrod
08:38:59*DAddYE quit (Ping timeout: 265 seconds)
08:56:46reactormonkAraq, o/
08:56:59*EXetoC joined #nimrod
08:57:00reactormonksometimes I ask myself why I'm coding in scala :-(
08:57:35reactormonktheir file reading lib is dead slow. slow as in reading char by char at some level.
08:58:15reactormonkI think getting the idetools to work would make me use nimrod a bit more :-)
09:27:14Araqreactormonk: so please do it
11:29:41*Skrylar joined #nimrod
12:06:34*easy_muffin joined #nimrod
12:14:48Skrylarmeep.
12:19:47*oxful quit (Ping timeout: 252 seconds)
12:20:28*oxful joined #nimrod
12:43:08*[1]Endy joined #nimrod
12:58:38*nande joined #nimrod
13:07:18*easy_muffin quit ()
13:16:27*BitPuffin joined #nimrod
13:39:42*psquid quit (Quit: out)
13:50:46*zahary_ quit (Ping timeout: 268 seconds)
13:58:21BitPuffinAraq: is there a way to take a ref, ptr, (or var I guess) in a proc and say I promise not to modify it?
13:59:02BitPuffinyou know, const lol* foo in C
14:04:01Skrylari don't think there is a 'const' modifier
14:04:33BitPuffinI feel like that's a useful thing to have
14:06:03SkrylarI ran in to an annoyance with that; I couldn't do a reinterpret_cast without upgrading a parameter to a var
14:06:59*Demos joined #nimrod
14:07:30SkrylarDemos: do you know of a pressing use-case for dynamic event binding? i know we were talking about it the other day, i just wanted to make sure i had the bases covered before committing to an implementation
14:08:50DemosI mean I can see most use cases bing fine with static binding, but at the same time I see little disadvantage to allowing dynamic binding (and I mean like dynamicly adding events, not some kind of janky dispatch scheme)
14:09:22Demosalso wrt your question about taking stuff by "const var" the compiler will just do that for you as an optimization if you take by "value"
14:09:38Skrylari think the problem is that you can't addr() a non-pointer value
14:09:45Demostrue
14:09:46Skrylarwhich means you can't memcpy data out of it
14:09:51AraqBitPuffin: we will get write tracking instead
14:10:15Araqwhich is none of C++'s or D's const problems, in theory
14:10:17Araq*has
14:10:43Demosright now you can shadow the var or just deal with it and take by var
14:10:47BitPuffinAraq: hmm, well how would I say with the write tracking that variable a won't be modified but variable b will be
14:11:09Araqwrites: b
14:11:20SkrylarDemos: mostly that handling becomes O(n) instead of O(1)
14:11:21Araq# a not mentioned, must not write a
14:11:26BitPuffinin a pragma?
14:11:35Araqyes
14:11:36BitPuffinoh so you have to be explicit to write?
14:11:38DemosSkrylar: you mean O(2n) instead of O(n)
14:11:54DemosAraq: what about doing it implicitly? bad idea?
14:11:57Skrylarsure, it has to go through a linear search instead of cases
14:11:59AraqBitPuffin: IF you have an explicit 'writes' annotation
14:12:07Araqotherwise it's computed for you
14:12:12*[2]Endy joined #nimrod
14:12:12BitPuffinAraq: hmm, I see
14:12:17BitPuffinI guess that's ok
14:12:28SkrylarDemos: one of the models i considered was to jump through a callback to an object's handler function, which then consulted the event map macro so it really was O(1)
14:12:32AraqDemos: it is done implicitly unless you annotate it yourself
14:13:13DemosSkrylar: talking about big-o complexity on event maps/handlers is really not a great plan
14:13:14BitPuffinAraq: also, if you don't take ref, var or ptr. And you only read from a variable, will it be passed by reference as an optimization?
14:13:25Demoswe are talking about dozens to hundreds of events
14:13:33SkrylarI have a vague appreciation for doing a queue instead for one reason: you can defer deletion of scene graph items to a separate step, and make sure no deletions occur until *after* all pending events are handled
14:13:35Skrylarwhich is safer
14:14:26DemosBitPuffin: I would think if you take "by value" the compiler will not let you write at all
14:14:30BitPuffinAraq: I don't think as a systems language too much of that stuff should happen automatically. Because on some systems it will be faster to copy it to the cache etc
14:14:43BitPuffinDemos: not what I asked
14:14:51BitPuffinDemos: it would let me write to my local copy
14:15:01Demoswhat local copy
14:15:05BitPuffinbut I was asking, if I don't write, does it skip the copy
14:15:08AraqBitPuffin: so you know better than the compiler when the tuple should be passed by copy on the stack?
14:15:26Araqbecause it is system dependent you know better?
14:15:27BitPuffinAraq: I don't, but some people do :P
14:15:31Araqmakes no sense
14:15:31*[1]Endy quit (Ping timeout: 264 seconds)
14:15:39Demosnimrod's default argument passing convention is to just be immutable on an abstract sense and let the compiler deal with it
14:15:41BitPuffinDemos: hmm, actually yeah
14:15:44Demosbecause it really is a simple rule
14:15:46BitPuffinmaybe we don't get a local copy
14:15:52BitPuffinthat makes it ez then
14:15:59BitPuffinwe have to make the copy ourselves
14:16:03Demoslike if sizeof(T) > register_size then by ref else by val
14:16:39DemosI think you can say var parm = parm to shadow
14:16:40AraqBitPuffin: there is a .bycopy pragma to override it if you know better
14:16:57AraqDemos: that is even an *idiom*
14:17:00BitPuffinAraq: the compiler won't always know the best, since it's not the one profiling and benchmarking etc
14:17:15AraqBitPuffin: and yet you trust it to get register allocation right
14:17:21*[2]Endy quit (Ping timeout: 252 seconds)
14:17:36BitPuffinAraq: I didn't say it never gets it right
14:17:38DemosBitPuffin: it is the one optimizeing, and the way nimrod deals with args makes that eaiser
14:17:41DemosI think
14:17:46BitPuffinDemos: yep
14:17:58BitPuffinDemos: I forgot that we don't get a copy when we pass a variable
14:18:20BitPuffinAraq: I guess you do {.bycopy: a, b, d.} or something then?
14:18:37Araqno, you annotate the *type* instead
14:18:48BitPuffinoh
14:19:02Demosif you want to get a copy in a proc use the var p = p thing
14:19:16BitPuffinAraq: but what if you only want it to happen on one proc? Guess just create a local variable then
14:19:40*[1]Endy joined #nimrod
14:20:03AraqBitPuffin: "but what if" questions are relevant when they turn into "but in this case that actually happened"
14:20:22BitPuffinwell
14:20:25BitPuffinnot sure I agree
14:20:29BitPuffinit's good to be aware of stuff
14:20:33BitPuffineven if you won't have to use it :P
14:21:17DemosBitPuffin: I agree. And you should be aware that the way nimrod passes arguments makes functions decls shorter and makes it harder to fuck up your performence by taking that huge sequence by value
14:21:28BitPuffinI have a feeling a compiler would want to optimize away a let foo = a though
14:21:48BitPuffinDemos: yep :) I know, it's awesome
14:21:58BitPuffina very sane default
14:22:40BitPuffinI'm pretty sure most languages don't do that. D passes by value by default iirc
14:22:45DemosI am actually not sure how I feel about var return types though
14:22:47BitPuffinjust because it wants to be C
14:23:02BitPuffinvar return types?
14:23:09Araq"but what if a progammer comes along and nests his if statements 40 levels deep? omg we need to ensure in the language spec this is not possible"
14:23:17BitPuffinproc foo*(in: foo, out: var bar) ?
14:23:33Demoslike proc foo*(in: foo): var TBar
14:23:42BitPuffinDemos: hm
14:23:46BitPuffinthe fuck does that even do
14:24:03Demoslike a c++ function returning a reference
14:24:10BitPuffinAraq: lol, much relevant
14:24:13*easy_muffin joined #nimrod
14:24:33BitPuffinDemos: but then you'd have to have a variable laying around somewhere right?
14:24:51Demosdoes more lifetime analysis than returning a ptr I guess. You can say like foo(glarg) = abar
14:24:52BitPuffinor will it keep on living if you declare it in the proc?
14:25:13BitPuffinoh
14:25:20Demosyeah the compiler will not let you return a local
14:25:23BitPuffinthat's funky
14:25:34BitPuffingrooveh
14:25:39AraqDemos: the 'var T' as a return type breaks memory safety. This is a well known issue with at least 2 solutions.
14:25:58Araqthe compiler prevents trivial mistakes for now, but the more complex examples escape it
14:26:00BitPuffinI can see it being somewhat cool though
14:26:17Demosit also means you have to write two functions in some cases, when you want mutable access
14:26:17BitPuffinfor maybe interacting with a database
14:26:44*darkf quit (Quit: Leaving)
14:27:03Demosand in general I dont really like that we have three pointer types, even if they do mix pretty well
14:27:05BitPuffinso you could do some kind of query thing, and it would return an array or something, and you'd override the = for that array type and it would set all the returned stuff to the value
14:27:49DemosI dont really like that use of `=` overloading, but OK
14:28:04BitPuffinDemos: it was just a shitty example
14:28:07AraqDemos: ptr/ref are essential. I couldn't eliminate 'var' from the language after trying hard.
14:28:08BitPuffinDEAL WIZ IT
14:28:27Araqif you have a solution, let us know
14:28:47BitPuffinvar is pretty much like doing void foo(int &lol) in C righ?
14:28:57Araqin C++, yes
14:29:11BitPuffinoh
14:29:14BitPuffinso that's not in C?
14:29:16BitPuffindidn't know
14:29:35BitPuffinrarely use it
14:29:53BitPuffinbut yeah it can be pretty useful in nimrod
14:29:55Araq& is c++ only
14:30:04BitPuffinsince it's esseintal to defining +=
14:30:09BitPuffinor maybe not actually
14:30:13BitPuffinif you do it as a template
14:30:29Araqstill '=' conceptually takes a 'var'
14:30:39BitPuffinyeah
14:30:40BitPuffintrue
14:31:07Demoswhy should I return a var over a ptr (once we get implicit deref)?
14:32:08BitPuffinDemos: you mean over a ref?
14:32:17Demosno. over a ref
14:32:26BitPuffinyou mean ptr?
14:32:36Demosoh yeah I mean ptr
14:32:37Demoschrist
14:32:41BitPuffinHEHE
14:32:50*BitPuffin is trolling a little
14:32:57DemosI am not transfering ownership at all
14:33:13BitPuffinDemos: well var is not supposed to break memory safety probably
14:33:19BitPuffinptr is not memory safe at all
14:33:23BitPuffinso why compare them
14:34:42Demosbecause one nimrod lets you return the var memory safety is the same
14:34:59Demosif you want to hold onto a var you need to take its address anyways
14:35:16Araqwell BitPuffin is right 'ptr' is not safe at all, 'var' tries to be (but currently fails)
14:35:41VarriountHow does var currently fail?
14:36:13BitPuffinVarriount: if you return var
14:36:49BitPuffinthen Araq will spank you
14:37:09Araqproc foo(x: var int): var int =x; proc unsafe(): var int = foo(result)
14:37:47VarriountHuh. I didn't know you could *return* a var type
14:38:06BitPuffinVarriount: me neither, or I think I knew but I had completely forgotten
14:38:42BitPuffinAraq: forbidding returning var seems reasonable
14:38:51BitPuffinand then to enable it you could mark a proc as unsafe or something
14:39:21DemosYeah esp since we hav the `..=` thing
14:39:39VarriountWe have a ..= thing?
14:39:50BitPuffinthink by .. he means +, * or whatever
14:40:21*BitPuffin the communication guru
14:40:37BitPuffinI should get that domain
14:40:40BitPuffincommunication.guru
14:40:43*Varriount bows to BitPuffin's communicative prowess
14:40:55Varriount.guru exists?
14:40:59BitPuffinyeah
14:41:00BitPuffinit's new
14:41:13BitPuffinthere is also .sexy -_-
14:41:24BitPuffinhttps://rms.sexy/
14:41:31VarriountIs that sfw?
14:42:04BitPuffinthat's where freetards go to fap
14:42:06AraqBitPuffin: 'var T' as return type is *essential* for containers
14:42:10BitPuffinVarriount: Yeah it is
14:42:16Araqthat's why I added it
14:42:24EXetoCI heard he likes computers
14:42:29BitPuffinAraq: how so=
14:42:37Araqsee tables.mget
14:42:56Demosmget could return a pointer though... right?
14:42:57Araq(which should become '[]' one day but that's a different topic)
14:43:20AraqDemos: right but then that is not consistent with how built-ins like arrays work
14:43:43Demosright, and we would need implicit dereferenceing for it to work
14:43:48Araqproc foo(x: var T); foo(a[i]) # [] for arrays returns a 'var T' conceptually
14:44:09*isenmann quit (Quit: Leaving.)
14:45:00BitPuffinzahary would freak out for me asking this, and Araq will surely to. But is or will procs be valid generic parameters one day?
14:45:02*BitPuffin hides
14:45:19EXetoCdoes seq as a magic type provide any benefits compared to a pure library implementation?
14:45:38BitPuffinwill surely TOO*
14:46:13AraqEXetoC: for now yes. in the longer run, no.
14:46:48EXetoCok
14:46:56BitPuffinVarriount: what did you think?
14:47:03DemosI assumed seq as magic was some GC related thing that I did not understand
14:48:12AraqDemos: yes, indeed
14:48:17DemosBitPuffin: you can emulate a proc as a generic param with a "functor" I think, but it is a bit unclean
14:49:09BitPuffinwhere the fuck is tables.nim anyway, github can't find it
14:49:21BitPuffinDemos: functor?
14:49:26BitPuffinWell I mean proc types
14:49:27Demosthe c++ kind
14:52:35EXetoCBitPuffin: yo, search the lib dir
14:52:48EXetoCor check the manual. it's in pure/collections
14:53:13BitPuffingithub search is useless yo
14:53:39EXetoCit shows up there
14:53:53EXetoCgoing to the actual repository first might help
14:58:03BitPuffinEXetoC: http://youtu.be/R0nbhh-GWpw
14:58:10BitPuffinI was in the repo
14:59:28EXetoCso was I
15:00:14Demosgotta go to class, see yall in 4 hours
15:01:52BitPuffinDemos: sounds like a fun class if it's 4 hours lol
15:04:38*Demos quit (Ping timeout: 240 seconds)
15:19:03*Matthias247 joined #nimrod
15:38:42*Matthias247 quit (Read error: Connection reset by peer)
15:45:39dom96BitPuffin: Here is a useful tip for you: go to the repo you want to search and press 't'
15:45:46dom96Type in the filename
15:45:55dom96and you will get a list of files in that repo
15:46:07BitPuffinneato
15:46:13BitPuffinyou wanna vnug?
15:46:35dom96hell yes. Let's do it baby
15:46:42dom96let me just put something to eat in the oven
15:46:52Rayneso_o
15:47:45Skrylaro_o
15:47:49BitPuffin0_0
15:48:08EXetoCd-(O_o)-p
15:48:10Skrylarಠ_ಠ
15:48:34EXetoC«_«þ®€þœ©→þ€®œþ©®ł€ĸœµ€@ł
15:49:38BitPuffinO(log n * n^n^n^n^n)
15:49:47SkrylarO(kirby)
15:49:56BitPuffinO(u)
15:49:58dom960_o
15:50:05Skrylarthis has been a very productive hour in nimrod history
15:50:12BitPuffindom96: done putting your penis in the oven?
15:50:57dom96BitPuffin: Stop spying on me!
15:52:31BitPuffinwe all know you like it hot dom96, no need to spy
15:53:07RaynesNOT APPROPRIATE FOR HQ
15:53:34EXetoCyou know what this salad needs?
15:54:03BitPuffinEXetoC: semen?
15:54:17EXetoCcowbell
15:54:32*Skrylar checks EXetoC for a fever
15:56:41BitPuffinEXetoC: you are drunk
15:57:24NimBotVarriount/NimLime master cab8e7a onionhammer [+0 ±1 -0]: Differentiate i from tmpl operator
15:58:06BitPuffindom96: meet
15:59:04NimBotVarriount/NimLime master 070c9fa onionhammer [+0 ±1 -0]: Differentiate i from tmpl operator
16:36:11BitPuffindom96: staahp
16:50:33*DAddYE joined #nimrod
16:56:58*DAddYE quit (Read error: Connection timed out)
16:57:33*DAddYE joined #nimrod
17:02:34Araqso I made the "feature matrix" people nag me about
17:02:48OrionPKlink?
17:02:58Araqbut I'm tired of ascii-arting tables
17:03:14Araqhow do I make a html table with a dead simple syntax?
17:03:31OrionPK<table><tr><td>? :P
17:03:40AraqOrionPK: btw I can't reproduce the memory leak with windows' task manager
17:03:48Araqit doesn't leak at all for me
17:03:52OrionPKgood
17:04:00OrionPKI guess ;P
17:04:57OrionPKAraq use emmet to generate html
17:05:42OrionPKtable>tr*2>td*4 + {tab} = 2x4 table
17:08:13*nande quit (Remote host closed the connection)
17:11:12dom96Araq: Write a Nimrod DSL to generate HTML easily :P
17:11:28Araqdom96: thars what i am doing
17:13:14dom96Also, yeah. Link? plz?
17:16:57NimBotAraq/Nimrod devel 08a19bf Araq [+0 ±3 -0]: fixes #911
17:16:57NimBotAraq/Nimrod devel 083b946 Araq [+0 ±2 -0]: tester outputs full test path
17:44:00*shodan45 joined #nimrod
17:44:14Araqhi shodan45 wb
17:44:21shodan45Araq: hello
17:45:20shodan45I've been on an anti-IRC diet lately.... needed to get stuff done :/
17:45:52Araqdom96: release date: 2014-03-30
17:46:26dom96Araq: async isn't ready
17:46:34Araqit is
17:46:49dom96can you fix the corruption?
17:46:55Araqworking on it
17:47:04Araqit's the last thing on my todo ...
17:47:18BitPuffindom96, Araq: yeah we should really update htmlgen
17:47:19Araqthen 0.9.4 is as stable as it will get
17:47:22BitPuffinneed to make it more complete
17:47:25BitPuffinin terms of html5
17:47:30Araqno
17:47:36Araqdeprecated htmlgen
17:47:43Araqrewrite it
17:47:55Araqthe immediate 1 char macros are evil
17:48:08BitPuffinlal
17:48:12BitPuffinwhat are you calling the new one
17:48:19BitPuffinhtmlsparkle?
17:48:43Araqsystem.universe.html.generator ofc
17:49:15BitPuffinspeedo.sphincter.html.penetrator*
17:49:43AraqBitPuffin.told.us.it.is.a.good.idea.html.generator
17:50:02BitPuffinseems like a reasonable name
17:50:36Araqweb.scale.html.generator
17:50:41Araqnow that's it
17:51:01BitPuffinhaha
17:51:07BitPuffinalmost there
17:51:21BitPuffinweb.scale.html.big.data
17:51:40BitPuffincloud
17:52:00BitPuffinweb.scale.nosql.cloud.big.data.html
17:52:06BitPuffindone
17:53:20BitPuffindom96: sandwitch, then CS, done with this iOS shit
17:53:36BitPuffinwhoever made it is a foken tätt
17:54:33*easy_muffin quit ()
17:55:22BitPuffindom96: right forgot you were fapping
18:02:05*psquid joined #nimrod
18:04:46dom96BitPuffin: back
18:05:46BitPuffindom96: I hear ya
18:06:03BitPuffinyes
18:06:10*Matthias247 joined #nimrod
18:06:12BitPuffinsandwich
18:12:34*q66 joined #nimrod
18:13:03*vendethiel quit (Ping timeout: 255 seconds)
18:16:17dom96Araq: I would like to add async support to all the other modules too if possible.
18:16:22dom96before release.
18:16:29*vendethiel joined #nimrod
18:16:42dom96but oh well. I guess it's ok.
18:16:59dom96We should add the closure macro though
18:18:03*vendethiel quit (Read error: Connection reset by peer)
18:18:52*vendethiel joined #nimrod
18:18:56*q66 quit (Ping timeout: 252 seconds)
18:20:21BitPuffindom96: almost done
18:21:09*q66 joined #nimrod
18:25:54*CarpNet quit (Quit: Leaving)
18:32:17Araqdom96: the closure macro will only be buggy as hell when people pass 3x nested templates to it or something
18:32:31dom96oh well.
18:32:34Araqwe need to mark that as experimental too
18:32:58dom96hrm, I guess.
18:33:12dom96But shouldn't people assume most things are experimental anyway?
18:36:55Araqhmm I dunno
18:37:32AraqI guess
18:41:09*brson joined #nimrod
18:41:19*brson quit (Client Quit)
18:41:26*brson joined #nimrod
18:41:48shodan45experimental just means that it's more fun
18:42:53VarriountWarning: Unless otherwise stated, everything anywhere is experimental. We are not responsible for any lost pets, reality distortions, or insurence premium changes.
18:43:24*[1]Endy quit (Ping timeout: 265 seconds)
18:45:05Araqit's not "experimental" at all. more like "it works unless you fuck the compiler"
18:46:12runvncThe features that I use work
18:46:33runvncNormal templates and well, all the features I tried
18:46:45VarriountAraq: It works unless you try to be a smarty-pants with the compiler.
18:46:47runvncI haven't really comprehended or exercised a lot of the metaprogramming though
18:47:56runvncI think there are some things that are like getting clever with expanding/changing the language that are experimental
18:48:06runvncthese are just my rough impressions, take them with a grain of salt
18:50:52*DAddYE_ joined #nimrod
18:53:05*DAddYE quit (Read error: Operation timed out)
18:54:56*DAddYE_ quit (Ping timeout: 240 seconds)
19:11:26*askatasuna joined #nimrod
19:31:07*Demos joined #nimrod
19:33:31*eximiuswastaken joined #nimrod
19:33:41eximiuswastakenquick question: how do I cast an int to some enumerated ordinal type? ie, 3->Three
19:34:50EXetoCif 3.T doesn't work, then I think you have to do cast[T](val)
19:34:56fowltype conversion should work
19:35:00dom963.TEnumType should work.
19:35:00fowlT(3) or 3.T
19:35:11eximiuswastakenlets find out...
19:36:32dom96eximiuswastaken: Welcome to #nimrod btw :)
19:36:41*easy_muffin joined #nimrod
19:37:08eximiuswastakendom96: thank you! :) I've been here before... for some reason I got kicked. maybe idle for too long? idk.
19:37:12eximiuswastakenanyway, that worked!
19:37:16eximiuswastakenFollowup!
19:37:26eximiuswastakenWhy does system.rand give me the same value each time? lol
19:37:31eximiuswastakendo I have to seed it?
19:37:44dom96did you call randomize() ?
19:37:45fowleximiuswastaken, that one is a random number at compiletime
19:37:54fowlyou want randomize/random from the math module
19:38:09dom96oh yeah, nvm what I said.
19:38:29eximiuswastakenI'm calling it in a loop 10 times for testing. So, it gets assigned the same value 10 times, but different values across compilation?
19:38:33eximiuswastakenhow bizarre.
19:38:56fowlrandom number at compiletime
19:40:33eximiuswastakengot it. it works now.
19:40:58eximiuswastakenit's just a stupidly simply deck of cards thing. very easy to see with the enumerations being the index of the array and all.
19:41:12EXetoCsometimes it's useful to do certain things at compile-time, but it's a source of confusion in this case
19:41:40EXetoCif you for whatever don't read the documentation, but still
19:41:55Demosrandom() is probably a bad name for that funciton
19:41:59DemosI got bit a while ago as well
19:42:09fowlrand predates static:
19:44:03Araqrand was also added when I was much smarter than I am today
19:44:24fowllol why do you say that
19:45:30eximiuswastakenYea... lol if anything, it should at least be renamed or contain a reference to math.random in the documentation for system.rand so that people know that it's not what they're looking for.
19:45:40Araqbecause I don't get why I added it. how can a compiletime rand be used for testing or debugging?
19:45:54eximiuswastakenAraq: I was actually just thinking that. I have no idea.
19:46:01DemosAraq: making nimrod really fast on benchmarks?
19:46:04eximiuswastakenlol
19:46:16EXetoChow is the connectivity for wireless keyboards that aren't dirt cheap? having to move it around is a pain in the ass
19:46:41DemosI would not go there. If you do get a RF one, bluetooth is the devil's tool
19:47:18fowlAraq, if i wanted a compile-time random number how else could i get it? something like let x = static: random() isnt working
19:48:45EXetoCDemos: RF?
19:48:51EXetoCit's USB
19:48:57DemosRadio Frequency
19:49:00Araqfowl: yeah I know. But still
19:49:10Demosso like not bluetooth
19:49:53Demoswow apperently concepts GCC was like 5x slower than regular GCC, christ
19:51:05dom96Araq: You added it about 2 years ago: https://github.com/Araq/Nimrod/commit/3f03d9da39391c7bdeb5ee2f18de6ef999c56813
19:51:32EXetoCDemos: I'm confused. you're saying bluetooth is alright? anyway, I'll replace it with a wired keyboard
19:51:47Demosno, you want RF. Bluetooth is hard to deal with
19:52:08fowlbluetooth is annoying and possibly more power hungry than bluetooth, on the other hand RF will likely take up a USB port
19:52:18fowlmore power hungry than RF*
19:53:07*awestroke joined #nimrod
19:57:31EXetoCok. you've never had a wireless device that you've had to re-position? it's only a meter a way in my case, with not that much in the way
19:59:44BitPuffindom96: doooooOOOOoooom
20:00:06fowlAraq, there should be a way to do that right?
20:00:46fowloh cannot importc a variable at compiletime :/
20:02:33BitPuffinAraq: join us
20:02:36BitPuffinAraq: in CS:GO
20:03:32*easy_muffin quit ()
20:03:38*gXen joined #nimrod
20:08:36OrionPKbluetooth is RF
20:10:49Matthias247details ;)
20:15:25Matthias247one major difference is also that the proprietary RF stuff (e.g. from logitech) works also in the Bios or anywhere else without a driver
20:15:37DemosOrionPK: whatever, you want something that comes with a dongle (hehe) that had its own drivers. Bluetooth is a PITA to set up
20:17:35*io2 joined #nimrod
20:19:08Matthias247as fowl said: BT makes sense when you are restricted on USB ports and don't want to carry a receiver around. E.g. on a laptop
20:22:08fowlbt also might be a security risk, i've met people in mcdonalds (self-professed hackers) who were like dude just turn on ur bluetooth i'll show you i can hack your computer
20:22:30fowlof course that merrits the response: using a program you find online makes you a script kiddy, not a hacker
20:22:51fowl"tell me something about the bluetooth stack" "..what?"
20:23:14EXetoChacker or cracker? :p
20:23:29fowlim a hacker, i know how to google
20:37:38BitPuffinDemos: did you join and leave the VNUG?
20:37:42EXetoCgotta have more cowbell man
20:37:56Demosyeah, I decided to finish my assignment first
20:38:25BitPuffinaight
20:43:06runvncwell I have a wireless usb keyboard and mouse on my linut mint, hope no one is hacking me. sure is nice to not have wires though
20:45:16EXetoCrunvnc: you never lose the connection?
20:45:55runvncno. but my keyboad is only like a meter away max
20:45:59runvnckeyboard
20:46:25EXetoCmine too. I gotta figure out what the hell is going on
20:47:30*nande joined #nimrod
20:47:50runvncyou havent had it for a long time have you? most obvious thing is battery getting low
20:48:25EXetoCit's always bad
20:49:57runvncyou have logitech?
20:50:18runvncI googled logitech wireless it says "unifying" tiny wireless receiver 2.4 ghz
20:50:27runvncthen I googled 2.4ghz interference
20:51:09runvnchm uses of 2.4 ghz band: phone, bluetooth, car alarm, microwave, wi-fi, eirp
20:55:18runvnchere you go, you can just paint your entire room with this YSHIELD EMF Shielding Paint http://www.amazon.com/YSHIELD-Shielding-Paint-HSF74-Liter/dp/B007AT1PVW/ref=sr_1_2?s=hi&ie=UTF8&qid=1396040064&sr=1-2&keywords=emf+shielding lol
20:55:51EXetoCalright thanks
20:55:57runvncheh
21:00:14fowllol
21:05:15EXetoCdom96: wanna try that macro? :p
21:09:44*[1]Endy joined #nimrod
21:12:54*rixx quit (Quit: WeeChat 0.4.3)
21:13:44*rixx joined #nimrod
21:20:25EXetoCso what should the html templates be replaced with? good old procs should do
21:21:49EXetoCwe're just emulating kwargs now aren't we? is that possible using a less hacky approach?
21:26:21*rixx quit (Quit: WeeChat 0.4.3)
21:26:37*rixx joined #nimrod
21:38:12AraqEXetoC: what do you mean? our approach has 0 overhead and is idiomatic
21:40:18EXetoCAraq: yeah but you said it was badly implemented
21:41:31*[1]Endy quit (Ping timeout: 265 seconds)
21:43:53EXetoCdidn't you want it to be rewritten?
21:44:05Araqhtmlgen? yes
21:44:17Araqbut the kwargs are cool
21:46:26EXetoCyeah and the current approach is used for that reason, right?
21:47:04Araqhtmlgen is archaic
21:47:36Araqbut to get rid of the immediate we need an additional rule for 'any' in the overloading resolution or something
21:47:48Araqthat's what you mean, I think
21:49:38EXetoCI don't know the details
22:04:36io2This should be a nimrod project eventually: https://github.com/gogits/gogs
22:04:59io2nimrod could fare better design - wise, I believe
22:07:56*reloc0 quit (Ping timeout: 255 seconds)
22:12:52*reloc0 joined #nimrod
22:13:44NimBotAraq/Nimrod devel 1384660 Charlie Barto [+0 ±1 -0]: fixed doc comment
22:13:44NimBotAraq/Nimrod devel 9570c4f Andreas Rumpf [+0 ±1 -0]: Merge pull request #1045 from barcharcraz/lowerBound... 2 more lines
22:23:23*Matthias247 quit (Read error: Connection reset by peer)
22:34:04*reloc0 quit (Quit: WeeChat 0.3.8)
22:34:13*armin1 joined #nimrod
22:34:29*armin1 is now known as reloc0
22:38:48AraqOrionPK, dom96, Varriount, EXetoC, BitPuffin https://github.com/Araq/Nimrod/wiki/Feature-Matrix
22:48:28*xenagi joined #nimrod
22:55:19*gXen quit ()
23:03:32Demoshmm facebook wrote a c preprocessor
23:07:37Demoswell helped walter bright write one I guess
23:11:15*nande quit (Read error: Connection reset by peer)
23:11:38*nande joined #nimrod
23:31:13*nolan_d quit (Remote host closed the connection)
23:36:57*darkf joined #nimrod
23:45:28*io2 quit (Quit: ...take irc away, what are you? genius, billionaire, playboy, philanthropist)
23:45:46Araqoh dom96, btw I found an easy way to do iterator validation for seqs if assertions are turned on
23:48:42dom96cool