<< 09-01-2014 >>

00:12:24*Kooda quit (Quit: leaving)
01:02:11*icebattle quit (Quit: Leaving)
01:51:46*DAddYE quit (Remote host closed the connection)
02:12:17EXetoCwoop
02:12:47OrionPKwatap
02:27:27VarriountOrionPK: On the latest version of master?
02:27:39OrionPKyeah
02:27:57OrionPKassuming you havent updated it ;)
02:28:10VarriountOrionPK: Huh, maybe my change got overridden. I separated comment and doc-comment scopes
02:28:35OrionPKnevermind, guesss you fixe that ;)
02:28:46OrionPKI just hadnt gotten latest since yesterday
02:30:25VarriountOrionPK: Yeah, it's fixed. All it required was me splitting the comment scopes into two, and checking for the one belonging to documentation comments
02:31:49OrionPKworks well now
02:31:53Varriount:D
02:32:46OrionPKu borked the asm highlighting though
02:33:06VarriountOrionPK: I had a merge conflict, and did the best I could.
02:33:25OrionPKif u remove "asm" from the other keywords it should work again
02:34:14VarriountOr I could make asm non-greedy :P
02:35:56OrionPKor that
02:36:15NimBotVarriount/Nimrod-Sublime master 896d9a2 Clay Sweetser [+0 ±3 -0]: DocContinue.py - Remove some commenting, set debug variable to false... 2 more lines
02:36:33*Varriount hugs NimBot
02:38:29OrionPK;D
02:44:18*bastian_1 quit (Ping timeout: 252 seconds)
02:52:51*DAddYE joined #nimrod
02:57:30*DAddYE quit (Ping timeout: 252 seconds)
03:03:00*DAddYE joined #nimrod
03:06:53*brson quit (Quit: Lost terminal)
03:07:24*DAddYE quit (Ping timeout: 252 seconds)
03:08:36*brson joined #nimrod
03:19:33*DAddYE joined #nimrod
03:41:12OrionPKso what's next varriount
03:44:21VarriountNext?
03:44:36OrionPKdid you figure out the issue with go to definition?
03:44:49OrionPKnext for the st plugin
03:44:55VarriountNope. Sublime Text just crashes.
03:45:18OrionPKdid u try sticking in some prints
03:45:23OrionPKdebugging it
03:45:33VarriountNope. I been asleep for most of the day.
03:45:37OrionPKmmk
03:45:38Varriount*I've
03:47:20OrionPKI kinda want to do a light table plugin
03:47:23OrionPK:-)
04:25:01*dmac quit (Quit: Leaving.)
04:55:25*EXetoC quit (*.net *.split)
05:07:25*EXetoC joined #nimrod
05:10:28*OrionPK quit (Remote host closed the connection)
05:12:00*DAddYE quit ()
05:37:23*dmac joined #nimrod
06:10:05*ddl_smurf quit (Quit: ddl_smurf)
06:30:36*discoloda joined #nimrod
06:31:22discolodahello
06:48:33*brson quit (Quit: leaving)
07:38:46*shodan45 quit (Quit: Konversation terminated!)
08:20:54*Araq_ joined #nimrod
08:23:22Araq_hi discoloda welcome
09:07:46*dmac1 joined #nimrod
09:12:20*dmac1 quit (Ping timeout: 252 seconds)
09:28:12*achim joined #nimrod
09:33:39*CarpNet joined #nimrod
09:35:18*dmac quit (Quit: Leaving.)
09:37:05*dmac joined #nimrod
10:11:02*dmac quit (Quit: Leaving.)
10:14:02*faassen joined #nimrod
10:27:03*io2 joined #nimrod
10:50:27*dmac joined #nimrod
10:57:50*dmac quit (Ping timeout: 264 seconds)
11:38:56*Mat3 joined #nimrod
11:39:06Mat3G'Day
11:53:51Araq_hi Mat3
11:54:36Mat3hi Araq, I hope your locking code works as intended
11:55:19*dmac joined #nimrod
11:58:00*faassen quit (Remote host closed the connection)
12:00:05*dmac quit (Ping timeout: 252 seconds)
12:05:28Mat3hi dmac
12:09:10Araq_you mean locks.TLock ?
12:09:22Mat3yes
12:13:02Araq_pretty sure it does, yeah
12:14:03Mat3nice !
12:18:53Mat3ciao
12:19:02Araq_bye
12:19:20*Mat3 quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
12:21:30Araq_wow win xp still has 29% market share
12:28:51*radsoc joined #nimrod
12:30:30*Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 26.0/20131205075310])
12:55:32*dmac joined #nimrod
13:00:09*dmac quit (Ping timeout: 272 seconds)
13:08:28*darkf quit (Quit: Leaving)
13:48:24*[1]Endy joined #nimrod
14:04:29*OrionPK joined #nimrod
14:20:23*Araq_ joined #nimrod
14:25:07*Araq_ quit (Client Quit)
14:32:15*radsoc quit (Ping timeout: 300 seconds)
14:33:52*jpoirier quit (Read error: Connection reset by peer)
14:43:03*faassen joined #nimrod
14:43:22*achim quit (Quit: Computer has gone to sleep.)
14:45:55*achim joined #nimrod
14:56:20*dmac joined #nimrod
14:57:26*achim quit (Quit: Computer has gone to sleep.)
15:00:44*dmac quit (Ping timeout: 260 seconds)
15:04:53*achim joined #nimrod
15:25:51*Demos joined #nimrod
15:28:05*achim quit (Quit: Computer has gone to sleep.)
15:29:33*achim joined #nimrod
15:32:36*tumanovm joined #nimrod
15:41:00*achim quit (Quit: Computer has gone to sleep.)
15:41:34*achim joined #nimrod
15:48:53*tumanovm quit (Ping timeout: 252 seconds)
15:52:21*achim quit (Quit: Computer has gone to sleep.)
15:53:08*achim joined #nimrod
15:54:02*[2]Endy joined #nimrod
15:56:47*[1]Endy quit (Ping timeout: 260 seconds)
16:04:09*psquid quit (Quit: work)
16:13:00*[1]Endy joined #nimrod
16:16:23*[2]Endy quit (Ping timeout: 252 seconds)
16:22:36*achim quit (Quit: Computer has gone to sleep.)
16:25:08*aftersha_ joined #nimrod
16:25:55*faassen quit (Quit: faassen)
16:53:42*aftersha_ quit (Quit: Computer has gone to sleep.)
16:55:56*achim joined #nimrod
16:57:03*dmac joined #nimrod
16:57:12*[2]Endy joined #nimrod
16:57:23discolodahow can i return a object of T into a ref T?
17:00:40*[1]Endy quit (Ping timeout: 260 seconds)
17:01:45*dmac quit (Ping timeout: 265 seconds)
17:03:43EXetoC'ref T' is the return type? there are several ways to deal with that. new(result); result.foo = ... for example
17:04:37EXetoCand "result[] = valueType" I think, where [] dereferences
17:05:15discolodaokay, so ref is pretty much allocated only, unlike ptr where you can get the addr of T
17:10:02EXetoCI think you can get the address in both cases by casting to uint
17:12:11EXetoCthe Type(x: 0...) syntax should work for ref objects too. also: "For a ref object type system.new is invoked implicitly."
17:13:24discolodaokay, thanks
17:19:18*aftersha_ joined #nimrod
17:20:48*[1]Endy joined #nimrod
17:24:35VarriountGood morning guys!
17:24:56*[2]Endy quit (Ping timeout: 265 seconds)
17:25:49VarriountAraq: I'm not surprised at WinXP's market share, it's better than 2000/ME, and less crap-loaded than Vista
17:34:48*icebattle joined #nimrod
17:52:50*shodan45 joined #nimrod
17:54:38*brson joined #nimrod
17:55:22*aftersha_ quit (Quit: Computer has gone to sleep.)
17:57:16*dmac joined #nimrod
17:57:41*io2 quit (Remote host closed the connection)
17:58:06*io2 joined #nimrod
18:01:47*dmac quit (Ping timeout: 245 seconds)
18:06:12*[2]Endy joined #nimrod
18:06:22*margocha joined #nimrod
18:09:51*[1]Endy quit (Ping timeout: 272 seconds)
18:11:22Demosgah XP needs to die
18:13:15*DAddYE joined #nimrod
18:13:20*DAddYE quit (Remote host closed the connection)
18:13:33*DAddYE joined #nimrod
18:13:43*margocha quit (Remote host closed the connection)
18:20:34*radsoc joined #nimrod
18:25:51*dmac joined #nimrod
18:31:46*[1]Endy joined #nimrod
18:32:27*io2 quit ()
18:35:11*[2]Endy quit (Ping timeout: 272 seconds)
18:36:05*ddl_smurf joined #nimrod
18:59:04*dmac quit (Quit: Leaving.)
19:18:37*dmac joined #nimrod
19:21:03*Mat3 joined #nimrod
19:21:17Mat3hello
19:21:41discolodahowdy
19:22:42Mat3hi discoloda
19:23:01*[2]Endy joined #nimrod
19:25:56*aftersha_ joined #nimrod
19:26:51*[1]Endy quit (Ping timeout: 272 seconds)
19:45:13Mat3I take a quick look on the article in Dr'Dobbs journal mention Nimrod and remarkely the author advertised a full article later this year about our language (I doubt in combination with an article about Rust)
19:46:06Araqhuh?
19:46:21Araqhe told me he would release the full article in january
19:46:30Araqnot "later this year"
19:47:27Mat3well, for me the end of january for example is "later this year" in my opinion
19:47:54Araqsure ... this strange
19:48:00Araq*still
19:48:13*io2 joined #nimrod
19:50:00Mat3obviously an example of my personal Denglish style ;)
19:50:22Mat3sorry
19:50:47discolodaif this is the article, http://www.drdobbs.com/jvm/the-rise-and-fall-of-languages-in-2013/240165192, it says "later this month"
19:50:52Araqwell ... I have a sweet implementation for Future[T] but it's not correct ...
19:51:13Mat3discoloda: Yes it is this article
19:51:37Araqit's however so sweet that I'm playing with the idea to change its semantics and declare victory ... *cough*
19:52:02Mat3how about bestFuture[T] ?
19:52:16Araqmaybe I should name it CarefulHere[T] :-)
19:53:12Araqit is however embarrassing to claim freedom of deadlocks and then say "oh you can only have N futures or it'll deadlock" ...
19:54:00*gradha joined #nimrod
19:54:36discoloda2 questions, have you seen my pull request for c2nim improvements and would more be welcome. my goal is to get it to convert quake 1,2,3 source
19:56:17Araqoh you're that guy
19:56:27discolodayeah
19:56:32AraqI've seen your pull request
19:56:39Araqwell I haven't yet code reviewed it
19:57:08AraqI can do it later though, bbl
19:57:19discolodacool
20:08:46*Varriount|Mobile joined #nimrod
20:23:24*OrionPK quit (Remote host closed the connection)
20:25:20*OrionPK joined #nimrod
20:25:52Araqdiscoloda: did you ensure the c2nim tests still work?
20:26:50OrionPKsmall update to anyone interested (dont link to anyone off this channel) https://dl.dropboxusercontent.com/u/417554/ircfamiliar.zip
20:30:59Mat3hi OrionPK
20:31:07OrionPKhi Mat3
20:31:28OrionPKsec
20:31:34*OrionPK left #nimrod (#nimrod)
20:31:36*OrionPK joined #nimrod
20:31:39*[1]Endy joined #nimrod
20:31:48OrionPKmm
20:32:07AraqOrionPK: "dont link to anyone off this channel" is a bad idea, this channel is logged
20:32:22OrionPKwell, if someone goes through the trouble of looking it up in the logs, they're ok by my book
20:34:28*[2]Endy quit (Ping timeout: 252 seconds)
20:38:29discolodalooks like i broke systest.c, matrix.h didnt work for original or my changes
20:39:27gradhaso it never worked?
20:40:02Araqhmm iirc matrix.h did work for me
20:40:11discolodai wouldnt say never, but from the point i started my changes it didnt
20:40:33Araqwell you forgot to implement "new" and "delete" in c++ mode
20:41:49dom96OrionPK: Does it work in Firefox yet?
20:42:05OrionPKno, havent had time to work on that yet
20:43:07discolodaok, you can remove my pull request. ill try again when everything passes
20:43:39OrionPKi'll probably work on it more this weekend
20:47:12Araqdiscoloda: nud ldp and led are cool names but if even I can't guess their meaning it means you have abbreviated too much ... ;-)
20:49:32EXetoC?, ?, light-emitting diode
20:52:44Mat3ldp - load pointer ?
20:52:46discolodagotcha, im not sure what they mean. but i guess these work: startExpression, leftBindingPower, leftExpression
20:53:01Mat3brb
20:53:50Araqcheck out how compiler/parser does precedence parsing, seems to use a somewhat simpler algorithm
20:54:00EXetoCmnemonics is the way to go these days
20:54:42Araqdiscoloda: you need to enable c++ mode for the matrix.h test
20:55:03discolodaah
20:57:37Araqalso congrats, so you seem to have figured out how the lookahead + backtracking works :-)
20:58:38*OrionPK is really looking forward to improvemens to c2nim
20:59:13*[1]Endy quit (Ping timeout: 252 seconds)
21:00:11discolodawell, i have it mostly converting quake 2
21:00:42OrionPKimpressive
21:00:52OrionPKusing changes to c2nim or changes to quake 2?
21:00:58discolodac2nim
21:01:06OrionPKnice
21:01:49discolodaone change to quake 2 so far, where #if #endif blocks mess with control flow. cant convert those to when
21:02:34Araqyeah but c2nim can't read your mind and you have to learn how to use it, so it must suck. never mind it's better than h2pas or swig.
21:04:57discolodaits just the nature of the CPP, character based preprocessing
21:05:14discolodahas no concept of the code it changes
21:06:08*Araq is annoyed by c2nim bashing
21:06:31discolodaim not bashing c2nim
21:06:31*Araq considers it the best tool in the existance of mankind
21:06:48Araqno, not you, but OrionPK is
21:07:20Mat3bb
21:07:36dom96Is he?
21:08:05Mat3Araq: well, it has its use
21:10:24shodan45wasn't someone working on nimrod+llvm?
21:11:10Araqshodan45: not that I'm aware of, clang works fine with nimrod
21:11:36AraqI started an llvm backend once but lost interest
21:13:51shodan45Araq: ah ok. Just curious because I just found python bindings for the "llvm library".
21:14:15Araqwe have some old bindings somewhere too
21:14:29OrionPKdom96 i must have missed it :p
21:14:32shodan45there's even a nice tutorial on making your own language/compiler with it
21:14:46Mat3shodan45: What's the reason for your interest in LLVM ?
21:15:03discolodathats what Nimrod needs, an eval function. compiles the given string into llvm bytecode then llvm runs it (compiled or interpreted)
21:15:06shodan45Mat3: nothing in particular, it's just fun & interesting
21:15:43Araqdiscoloda: no, we already have that
21:16:25Mat3discoloda: I work on somewhat similar and think to be finsihed end of february
21:16:42Mat3^finished
21:17:42discolodanice, kinda ment that as a joke. how does it work?
21:18:07Araqthe devel branch has a new register based virtual machine
21:18:14*Mat3 a bit simplificated statement but you will code in an dynamic environment with adaptive compilation beside editing
21:18:21Araqthat's used for compile time evaluation
21:18:39Araqbut will be exposed as "eval"
21:19:14OrionPKi wasnt bashing c2nim, but obviously any improvements to it should be welcomed
21:20:31shodan45a compiled language with eval... that's either the best or worst of both worlds ;)
21:20:52gradhaI'm looking for references, anybody know of recent private picture leaks since Scarlett Johansson's?
21:21:41OrionPKlol
21:21:47OrionPKwrong channel gradha
21:21:58OrionPK(although I wouldnt mind seeing anything new)
21:22:22discolodai thought those were fake, just a look alike
21:23:01gradhaI'm not interested in the pictures, I only want to know if somebody else more recently made the same mistake
21:23:12gradhabasically, I'm not hipster enough to keep with the news
21:23:14Mat3of course
21:24:05gradhathe only leaks I know are about kpop idols, but I don't think people will get that when they read my paper
21:24:47Araqgradha: what paper?
21:25:03gradhaI told you, I'm writing a paper
21:25:22gradhathe title is "how to release software periodically"
21:25:36gradhaI believe I mentioned it a few days ago
21:25:41Araqwell tell me again please
21:25:59gradhait's kind of fight club style, but don't worry, I'm making it for you
21:26:27Araqdoes it include "how to implement futures efficiently in a thread local heaps setting?"
21:26:39gradhanope, it's precisely against that
21:27:48Araqok, is an exception "too many unresolved futures, you a channel instead" acceptable?
21:27:57Araq*use a channel instead
21:28:30gradhaonly if you raise it during a call to echo
21:31:19Araqmeh this future stuff doesn't work
21:31:27gradhaok, Scarlett Johannson it is then
21:31:46AraqScarlett Johannson is certainly not a bad choice
21:31:54AraqI heard she likes porn
21:32:06dom96Scarlett Johannson is a goddess.
21:33:19OrionPKwe should get her to endorse nimrod
21:33:22dom96Damn. Rust is moving at a pretty fast pace.
21:33:33dom960.9 is just out.
21:34:10bstriedom96: note that 0.9 will be followed by 0.10, not by 1.0
21:34:24bstriethey're just regular snapshots that happen every 3 or 4 months
21:34:31dom96Ahh. Interesting.
21:37:00Mat3Rust rusts faster
21:40:48*achim quit (Quit: Computer has gone to sleep.)
21:41:09EXetoC0.10? no respect for ordering :(
21:48:09Mat3go to bed, ciao
21:48:15*Mat3 quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
21:51:50wanI'm still looking at the frameworkBenchmarks numbers, and I just realised something.
21:52:09wanI can augment the results of any db tests with nawak
21:52:31wanI just set up more workers that connect to Mongrel2, and it magically happens: numbers go up
21:53:06wan(on my 3-year-old laptop, with postgres+mongrel2+workers+wrk running on it)
21:54:00wanThe only downside is the plaintext and json results go slightly down
21:55:09wanIt's definitely a question of being cpu-bound or db-bound, and I can't make good enough estimations with my hardware because I'm cpu bound quite fast for db tests if I fire up more workers.
21:55:33wanThe question being: how can I determine the optimal number of workers to win the benchmark?
21:57:21Araqyou can't
21:57:40Araqyou can tell the guy running your code to optimize the number of workers for his machine ...
21:57:53Araqhe'll gladly do that, I'm sure
21:59:01wanBut he would just guess to start as many as cores on the machine, but he'll be wrong
21:59:24Araqyup, often its twice the number of cores
21:59:41wanOn my laptop (4 threads), if I fire 15 workers I get better db, queries and updates results
22:00:23wanJust because the db is the bottleneck, then you might as well fire up the most workers you can because they can do stuff until they block on the db response
22:01:29wanIf I'm right, we could win on every database-driven test using this trick
22:02:07discolodawont others do the same thing?
22:02:16gradhano, they are nicer
22:02:30wanAnd because I don't have a db running on an SSD (like their dedicated db i7 machine), I don't really know for sure that the db will be the bottleneck
22:02:52wanBut I still guess it will be
22:03:07wanThey don't seem to currently do it, no
22:03:14gradhagood night, honey badgers
22:03:36*gradha quit (Quit: bbl, need to watch http://www.youtube.com/watch?v=dEf4PJZXBxA again)
22:03:41Araqgood night, gradha
22:03:52wanThat's why for example everyone has crappy numbers for the updates test, the slower. It's bound to be the db the bottleneck.
22:03:57wannight'
22:04:21dom96Are you sure the rules don't say anything against doing this sort of thing?
22:04:31wanI'll check
22:04:40wan(but I don't see why they would forbid it)
22:05:12wanThe configuration of the framework is just supposed to reflect what you would actually run in production. If it is better for prod, it's better for the benchmark
22:06:26wanMost of all the other frameworks probably just have such a small pool of db connections because they don't have that many workers fired up
22:07:27wanBut I might be wrong, maybe I'm just fooling myself and a lower number of workers would be more beneficial
22:09:12dom96I had a somewhat similar problem for the Jester benchmark.
22:09:47dom96I didn't have enough time to add threading to jester, so I had to spawn some number of Jester instances.
22:09:50dom96Picked 8 IIRC
22:09:56dom96Obviously not ideal.
22:10:34wanYeah, but for /json or /plaintext, one worker for nawak obtains a higher score.
22:10:59wanFor example, on my laptop it's 25 000 req/s
22:11:15wanAnd with 15 workers it's 22 000 req/s
22:12:23wanOn the other hand, for the /db test, one worker: 7 000 req/s. two workers: 12 000 req/s. more: 14 000 req/s, I can't go higher, I'm cpu bound.
22:12:44EXetoCdom96: any plans to allow the content retrieval method in Jester to be overwritten?
22:12:56EXetoCis this related to "cache control" in the TODO file or is that some http thing?
22:13:01dom96EXetoC: the what?
22:13:09dom96elaborate please
22:16:03OrionPKwan, given your name I was hoping you somehow got g-wan working with Nimrod :-P
22:16:04shodan45hm, I don't remember what it was about rust that I didn't like... and now that I look at it again, it's not too bad
22:18:12EXetoCdom96: optional user-defined GET handling: "proc(path: string ...): string = ..." for caching and what have you
22:18:26wanOrionPK: Nah, g-wan is useless. I don't use proprietary software if I can avoid it. Besides, monkey/duda (http://duda.io/documentation/hello_world_5_steps) is faster.
22:19:11wanOrionPK: And I'll make the monkey bindings at some point and try it out.
22:19:14EXetoCwhich would override the default method, which simply attempts to fetch the file
22:19:36dom96EXetoC: oh. No plans for that.
22:20:03OrionPKI'd never heard of duda
22:20:40EXetoCok maybe I'll have a go at that this weekend
22:22:23wanOrionPK: Me neither before a few months ago. I think I originally found it because I was looking at the FrameworkBenchmarks issues. Lots of "I've never heard of that framework before, what the hell is it?"
22:28:36OrionPKwon't work on windows though
22:28:38OrionPK?
22:32:03wanYeah no. Linux is the master on servers.
22:32:31OrionPKright, but some people like to develop on windows
22:32:32shodan45never heard of duda or monkey either... looks interesting, but a little weird
22:32:38OrionPKand suport multiple platforms
22:34:14wanServer software usually have fewer "let's run it on everything!" requirements. If you know your way around GNU/Linux, you usually don't settle for Windows or others.
22:34:54OrionPKwhats an example
22:35:04wanof?
22:35:29OrionPKanother server library that's linux only
22:35:44OrionPKI can think of a lot of windows only software like that
22:36:31wanNot only server libraries, server software as well. Do nginx, apache run on Windows?
22:36:51Araqapache certainly does
22:36:53OrionPKyeah
22:36:56OrionPKthey both do
22:37:08wanOk, I didn't know that.
22:38:11wanWell, Mongrel2 only runs on Linux (yeah, it's not popular at all).
22:40:14shodan45I forgot how much I don't like C... stupid identifiers popping up out of nowhere :/
22:40:46shodan45although the claimed speed of this duda thing is pretty crazy
22:41:40shodan45supports x86, x86_64, and arm... but no MIPS?
22:42:04shodan45(they claim it's perfect for embedded environments)
22:42:46Araqbstrie: did Rust move to "move" semantics everywhere with 0.9.0 ?
22:44:03bstrieAraq: "move" has been the default since around... 0.5?
22:44:10bstriefor a while, basically
22:44:36wanOrionPK: Damn, lots of server stuff is cross-platform (rabbitmq, mongodb, postgresql, redis has a port, ...). But I'll find something linux-only, and popular. Let's see...
22:44:43bstriewe used to have really complicated rules about when a thing would be moved or copied, and had both "move" and "copy" as keywords to override the defaults
22:44:59OrionPKlol
22:45:10OrionPKit's not that hard to support windows w/ mingw and such
22:46:52OrionPKdepending on your level of abstraction from hw
22:46:54Araqbstrie: so I can copy a mutable pointer to create cyclic structures and linked lists?
22:46:54Araqbut it's not the default?
22:47:09*psquid joined #nimrod
22:48:14bstrieAraq: you won't be able to copy a unique pointer, for obvious reasons
22:48:32bstrieAraq: for graphs and stuff you'll probably want either Gc or our strong/weak refcounted pointers
22:48:55Araqhmm
22:49:07bstrieAraq: for doubly linked lists you can either use unique pointers in one direction and unsafe pointers in the other direction, or again use the strong/weak refcounted pointers
22:49:35Araqok so borrowed and unique pointers do prevent that
22:49:49bstriecycles are the bane of unique pointers, yep
22:50:30Araqcycles can also be created via closures, how do you handle that?
22:51:01Araq(oh congrats on the 0.9 release btw!)
22:51:24bstriethanks :)
22:51:34bstrienot sure if I can think of a concrete example of creating a cycle out of a closure
22:51:52bstrieI'm sure we prevent it statically, the only question is if we're being way more restrictive than is perhaps necessary
22:54:12*radsoc quit (Ping timeout: 252 seconds)
22:54:21Araqalright, how do you support my favourite parallel programming example? (inserting strings to a hash table in parallel)
22:56:43*aftersha_ quit (Quit: Computer has gone to sleep.)
22:58:38wanOrionPK: Finally, I found some examples: Varnish cache, uwsgi, HAProxy don't run on Windows. So yeah, lots actually have a (more difficult, of course) way of running under Windows. Yay for cross-platform!
22:58:52OrionPK:P
22:59:04Araqwan: the best example still is valgrind
22:59:17Araqnot exactly "server software" though
22:59:33wanYes, I was searching for that specifically
23:00:18Araqand mongodb is so broken on windows it's not funny and I would count it as "doesn't exist on windows"
23:00:44Araqbut then maybe it's just as broken on linux ...
23:01:17Demosthere are alternitives to valgrind that run on windows
23:01:36AraqDemos: they are all not free afaik
23:01:53Demosclang is
23:02:10bstrieAraq: if you want to share some memory among several tasks, we have an atomically reference-counted pointer type for that called "Arc"
23:02:13bstriethe name is bad
23:02:21bstrieeveryone thinks it's the same as objC's arc...
23:02:26Demosnot quite the same, but it can check for memory leaks and bad/uninitialized reads
23:03:38VarriountAraq: Downloading Whispered World right now.
23:03:57Araqbstrie: alright but how do you prevent races on that shared array?
23:04:08Varriount<3 Point and click adventures
23:04:26AraqVarriount: play indiana jones 4 instead ;-)
23:04:45Araqbut whispered world is good too
23:04:47bstrieAraq: I'm not an expert here. have some really old documentation that should still be vaguely relevant: http://winningraceconditions.blogspot.com/2012/09/rust-4-typesafe-shared-mutable-state.html
23:05:09discolodahow about a FPS / Point and Click hybrid
23:05:30*filwit joined #nimrod
23:05:45filwithey guys
23:06:01bstrieAraq: the tldr is that it statically prevents data races
23:06:15Demoshttp://eigen.pri.ee/shooter/ even better :D
23:06:15bstrie...I think
23:06:27VarriountHi filwit!
23:06:29bstrieI don't do much parallel stuff
23:06:49filwithey Varriount :)
23:08:18filwiti saw araq's lock articles, looked pretty cool
23:08:50filwiti don't know enough about threading to comment on the article much, but i was easy to follow and well written
23:09:06Demosmy only concern atm is that having manually managed memory that contains pointers to GC'd memory gets even more painful
23:09:38Araqbstrie: no need for tldr, I already read it. and it uses my solution or something very close to it :-)
23:10:28AraqDemos: define "more painful" please
23:10:45Araqcurrently it's allowed but so unsafe that it can't seriously be used
23:10:59Demosyeah, that was my point
23:11:57Araqhi filwit
23:12:14filwithey
23:12:21Demosanyhow I gotta go.
23:12:25*Demos quit (Quit: Leaving)
23:13:29filwitAraq: so, monday your video comes out
23:14:17filwitbeen waiting for awhile
23:14:22Araqapparently yeah
23:14:27dom96we should all discuss it in the VNUG
23:14:36filwitVNUG?
23:14:45dom96Virtual Nimrod User Group
23:14:57filwitthis is something i don't know about
23:14:58bstrieAraq: you should write a blog post about it :)
23:15:42filwitdom96: is that a fancy way to say 'forums' or is this some kind of teamspeak thing?
23:15:54Araqbstrie: I already did ... but please don't reddit it
23:16:01dom96filwit: teamspeak
23:16:26filwitdom96: cool :) how do i join it?
23:16:39filwitis it actually teamspeak?
23:16:45bstrieAraq: linky linky
23:16:52filwitor some other software?
23:17:03filwithttp://forum.nimrod-lang.org/t/334
23:17:10filwit^ bstrie
23:17:17dom96Look at the topic "VNUG: join us on teamspeak at nimrod-lang.org"
23:17:25*dom96 bets no one is there though heh
23:17:41dom96It's BitPuffin's idea and he's playing Dota now most of the time.
23:18:17filwitlol, i noticed you two on Dota over the past week
23:18:29dom96Yeah. I may have been playing too lol
23:19:14filwitnot really my kind of game or i would play with you guys sometime
23:19:30*darkf joined #nimrod
23:19:35dom96I kind of suck at it tbh
23:20:10filwitidk even how it works really, i'm just not into those top-down RTS/raid-style games much
23:20:53filwitanyways, i'm having trouble finding that page you where talking about
23:21:13filwitone sec
23:21:32dom96This one? https://thestrangeloop.com/news/strange-loop-2013-video-schedule
23:21:42filwitno for teamspeak
23:22:00dom96oh
23:22:45filwiti don't see it on the site at all, did you mean the forums?
23:23:00dom96I meant the IRC topic
23:23:28filwitidk what that means really
23:23:59filwiti only started using IRC a couple years ago, never really learned how it worked all the way
23:25:34Araquse an irc client that shows the topic
23:26:06filwithave a recommendation? i use xchat now
23:26:49dom96see that textbox at the top?
23:26:56dom96that's the topic
23:27:12*Varriount|Mobile quit (Ping timeout: 245 seconds)
23:27:18AraqI use chatzilla fwiw
23:27:43dom96chatzilla sucks
23:27:52OrionPKx/y-chat is decent
23:27:56OrionPKx-chat or y-chat
23:28:01Araqdom96: why?
23:28:08filwitdom96: i'm still looking up irc-topics online, but i don't see how the top bar is useful
23:28:37filwitdom96: i can see the text you quoted, but i don't see anything else related to how to setup teamspeak or anything
23:28:53dom96Setting up teamspeak is simple
23:28:55dom96just download it
23:29:28filwiti see, so some string of text up there is what i need for teamspeak, gotit
23:37:06fowlfilwit, /topic
23:37:45filwitthnx
23:51:10*io2 quit ()
23:52:36discolodairssi ftw
23:53:09dom96Araq: It requires Firefox to be running
23:55:21Araqdom96: yeah and you shouldn't browse the web
23:55:22Araqit's too distracting
23:55:29filwitbtw, is there a better way to test if a function exist than system.compiles ? (one that doesn't require object instantiation
23:55:39filwit)
23:56:31filwitan object to be allocated***
23:59:10Araqwhen defined(strutils.toUpper)
23:59:37Araqcurious you know about "compiles" but not about "defined"
23:59:46Araqwhen "compiles" is about to be removed
23:59:52filwitoh duh