<< 06-01-2014 >>

00:00:05Araqhe's sleeping
00:00:11OrionPKmm
00:00:43OrionPKhe'll have to be more specific about 'not working at all' :D
00:06:58*OrionPK quit (Remote host closed the connection)
00:06:58*BitPuffin quit (Read error: Connection reset by peer)
00:07:51*OrionPK joined #nimrod
00:09:00dom96OrionPK: "at all" may be an exaggeration. But when people say something all I can see is ':' and nothing else.
00:09:16dom96also when I say something it isn't displayed in the browser
00:09:21OrionPKwhich browser
00:09:23dom96user list doesn't work either
00:09:25dom96firefox
00:09:26dom9626
00:09:28OrionPKok
00:09:34dom96anyways, good night.
00:09:36OrionPKI had firefox and IE working
00:09:37OrionPKbut
00:09:43OrionPKthat was over a month ago
00:09:48OrionPKlot has changed andI havent retestedit
00:09:59OrionPKtry chrome next time
00:10:05dom96ok.
00:10:08dom96'night
00:10:11OrionPKnight
00:42:11Araqforum action!
00:42:14Araqgood night
00:47:07OrionPKnight
00:48:30OrionPKYou can simulate shared memory via message passing (which is what modern hardware does, to some extent) and you can use message passing to simulate shared memory.
00:48:32OrionPKseems redundant
00:55:40Demos__yeah I saw that as well
01:02:11VarriountOrionPK: Can't you also use memory mapped files?
01:02:26OrionPKsay what?
01:02:42OrionPKoh
01:02:47OrionPKthat was from araq's blog
01:03:12VarriountAh. Sorry, just woke up from a nap, still a bit groggy
01:11:44OrionPKhow does this work...
01:11:45OrionPK let it = b while it != nil: if it.word == word: inc it.counter return it = it.next
01:19:36VarriountHuh. Nimrod currently has 19 outstanding pull requests
01:44:07*brson quit (Quit: leaving)
02:09:34*shodan45 joined #nimrod
02:24:29Demos__how big are nimrod's enums? do they default to 32 bits or start at 8 bits and expand if needed
02:26:42OrionPKtry looking at the generated C
02:56:25Demos__http://sdrv.ms/1cvddH8 w00t
02:57:06OrionPKnice
02:58:24OrionPKcan it do anything but color things?
02:59:06Demos__not really. but it colors things using the same functions that the docgen does
02:59:11Demos__which is pretty cool
02:59:21Demos__actually I had to modify the docgen a little bit to get it to work
02:59:29OrionPKhopefully it works better than the github highlighting :)
03:00:12Demos__well it knows it is working with nimrod
03:00:30OrionPKthe first ' in a char isn't highlighted
03:00:43Demos__I hope I did not break anything, I had to change TGeneralTokenizer in the highlight module from an object to a tuple
03:00:49Demos__yeah I just fixed that
03:41:42Demos__now on to figure out how the hell idetools does its magic
03:47:46OrionPKnot going to invoke it directly?
03:48:38Demos__I dont really want to parse the return values, would prefer to have idetools living in VS's process and just call functions. But who knows, that kind of thing is hard
03:49:17Demos__I may do build support and project structure first, although as usual all the visual studio extensibility interfaces are totally undocumented
03:49:43Demos__it is good to have something useful though
03:51:04OrionPKyeah
03:51:08OrionPKbuild supor twould be nice
03:53:06Demos__yeah, one problem is that nimrod projects are defined by what the main nodule references, not sure how adding files would work, maybe nake has something I could use
03:54:00OrionPKwell
03:54:04OrionPKit'd be up to you wouldnt it?
03:54:16OrionPKyour project file would set a main nimrod file
04:12:05Demos__right
04:13:02Demos__I wonder if I could get the compiler to generate a project file, so that I don't have to deal with keeping a project file in sync for xplatform dev.
04:21:03*radsoc joined #nimrod
04:38:40*BitPuffin joined #nimrod
04:45:00BitPuffindom96: you have to say I totally called it
04:47:08Demos__called what?
04:48:33BitPuffinThat Araq's "Competitive Concurrency Model" Didn't have anything to do with threads competing with each other or anything the like, but rather that it is competitive compared to what others offers haha
04:50:29Demos__by others we mean pretty much just Rust though, everyone else just lets races happen
04:51:34BitPuffindoes D?
04:55:47Demos__I mean I think it has channels and threads with a GC that can deal with shared memoryt
04:56:08Demos__but I don't think it tries to detect races
04:56:34Demos__oh I had a thought about a nimrod graphics library last night
04:56:51VarriountOoh, do tell.
05:01:27Demos__so one of the most annoying parts of GL and DX is that you have this shader program that is pretty simple that you need to set up. That set up is really annoying since the API does not know anything about the source language or the data. My thought was to have some kind of shader template where you would list per-vertex and uniform data, write your shader, and perhaps specify pipeline options. The library could figure out how to bind your resou
05:01:28Demos__rces to the pipeline and generate a shader. I was even thinking that if the library implementing stuff like swizzleing worked outside this template you could call nimrod functions from within the shader and if they could be inlined the graphics library would do so and generate some shader code.
05:01:45Demos__I had this idea at like 4AM but still, I think it is neat
05:02:28Demos__actually getting this to work goes on my list of things to do, I want to get visual studio working first
05:04:07VarriountDemos__: Any thoughts on a somewhat... higher level api?
05:04:25Demos__what?
05:04:47Demos__my thoughts were on doing shaders in nimrod(ish)
05:05:15VarriountAh.
05:05:31OrionPKdemos.. how would that work
05:05:42OrionPKcompile-to-GLSL?
05:06:03OrionPKbecause graphics hardware kinda expects GLSL/HLSL
05:06:07OrionPKfor hw acceleration
05:09:34Demos__yeah probably generate GLSL strings, for direct3D one could use the FLG
05:11:20OrionPKit'd have to be a subset of GLSL though, i'd think
05:11:23OrionPKerm
05:11:26OrionPKa subset of nimrod I mean
05:11:41Demos__ofc
05:12:19OrionPKinteresting idea, you should mock up some examples of what a sample shader might look like
05:12:26Demos__and there would probably be some macro trickery for data binding, I am writing a mock now
05:12:34OrionPKcool
05:19:14Demos__https://gist.github.com/barcharcraz/8278622
05:19:20Demos__something like that, more or less
05:21:56VarriountOrionPK: Just so you know, ircFamilier works without any flaws on Windows, on Chrome. I'm about to try accessing the client from my phone.
05:22:13OrionPKthanks for testing it out
05:22:16VarriountHave you thought about any particular icon for your program?
05:22:18OrionPKI'm aware of issues in firefox & ie
05:22:25OrionPKit has an icon :P
05:22:38VarriountIt has... a shape. :3
05:22:54OrionPKand it lights up when ur away & get a message :p
05:23:13OrionPKif you make a better one, ill gladly use it
05:23:19OrionPKbut i'm more or less satisfied w/ the current icon
05:23:36VarriountI dunno. When I first heard the name, I thought of something like maybe a bunny popping out of a hat, or an owl, or a cat
05:23:53OrionPKyeah
05:23:54VarriountSomething along the lines of a Witch's/Wizard's familier
05:24:04OrionPKit's more of a robot familiar heh
05:24:12OrionPKfor techno wizards
05:24:13OrionPKlike us
05:24:18Varriount:D
05:24:38OrionPKthat is what it's named after though, a wizard familiar
05:24:38VarriountBy the way, why the dependancy on pcre.dll?
05:24:54OrionPKbecause I'm using regular expressions for things like detecting links
05:24:59*VarriountFamilie joined #nimrod
05:25:00VarriountAh.
05:26:46OrionPKonce familiar is runnable w/o hacks to the nimrod stdlib (prior to compilation), I'm going to put up the source
05:27:17Demos__bunny with a crown...
05:27:26OrionPKit'd be nice if nimrod didn't have a dependency on pcre for regex
05:28:12OrionPKmaybe just give the cube some eyes and seams :P
05:28:59BitPuffinDemos__: I will be working on something like thst
05:29:06BitPuffinhowever slightly different
05:29:10BitPuffinanyways sleep
05:29:14VarriountWell to be fair, pcre is one of the best regular expression libs out their, at least in terms of performance.
05:29:21VarriountOr so I've heard.
05:29:59Demos__BitPuffin, how different? high level or just with a syntax that was not thought out over the past 20mins
05:32:43OrionPKyou finish you example demos? I gotta sleep too:-P
05:32:53Demos__I posted a gist
05:33:12OrionPKoh. missed it
05:33:20Demos__https://gist.github.com/barcharcraz/8278622
05:33:25*BitPuffin quit (Ping timeout: 245 seconds)
05:33:58OrionPKwhy a different tuple syntax?
05:34:09Demos__where
05:35:52OrionPKhttp://nimrod-lang.org/tut1.html#tuples
05:36:53Demos__what not doing the tuple[x:int, y:int] thing? I just like the other syntax better, both type foo = tuple \n stuff and tuple[...] work
05:39:43OrionPKhmm. guess I've never tried it
05:40:31EXetoCyou mean fields on separate lines? I've never seen that
05:41:13Demos__http://build.nimrod-lang.org/docs/manual.html#tuples-and-object-types
05:43:36Demos__I was under the impression type TFoo = object... is like a c++ class with a virtual member and type TFoo = tuple ... is like a c++ class without a virtual member
05:48:17OrionPKI'm off. night
05:48:36EXetoCyeah, I think I need to use the final pragma more
05:49:13Demos__night
05:49:25EXetoCbut I don't know what happens when the inheritable pragma isn't used, and nothing is inherited from
05:49:46Demos__yeah, anyway I did not want any kind of pointer to RTTI stuff in there
05:49:49Demos__hence the tuples
05:49:58Demos__or I would not want that if the sample worked
05:50:25Demos__although ofc you can pass a struct with RTTI info the the GPU as long as you tell the GPU about the offsets
05:51:47EXetoCok "bla = object" seems to imply 'final', which makes sense
05:52:59VarriountEXetoC: If you want to make an object inheritable, you either have to use the 'inherit' pragma, or use "TObject" as a base
05:53:49Demos__and what of RTTI info? do objects just contain a pointer to it as a "first member"?
05:53:58EXetoCyes, or anything declared with inheritable
05:54:04EXetoCdid you mean inheritable?
05:54:15VarriountProbably
05:54:20EXetoCyeah
05:55:09*VarriountFamilie quit (Read error: Connection reset by peer)
05:55:41*VarriountFamilie joined #nimrod
05:56:49*VarriountFamilie quit (Read error: Connection reset by peer)
05:57:35*radsoc quit (Ping timeout: 245 seconds)
06:10:30AraqDemos__: you're wrong "object" is the same as struct when you don't use "object of" (and not .inheritable)
06:10:41Araqno need to use tuple
06:11:56Demos__oh, neat
06:11:58Demos__thanks
06:16:38*VarriountMobile joined #nimrod
06:44:29VarriountHm.
06:44:41*VarriountMobile quit (Read error: Connection reset by peer)
06:45:02*VarriountMobile joined #nimrod
06:45:27Demos__yes?
06:46:54VarriountMobileDemos__: Just testing out OrionPK's irc application
06:47:03Demos__oh neat
06:47:11Demos__is it written in nimrod?
06:47:20VarriountMobileAnd typescript
06:47:36VarriountMobileHe posted a link to it today, look through the logs.
06:47:50Demos__can not be arsed. I will find it when it gets onto babel
06:47:57VarriountMobile:3
06:48:25VarriountMobileNow, let's see what happens if I open two connections to the same client.
06:49:06VarriountMobileNow I'm seeing double.
06:49:33VarriountMobileIt's like, webchat, but with the ablity to host it yourself.
06:53:40VarriountAnyway, off to bed. G'night Demos__
06:53:45*VarriountMobile quit (Read error: Connection reset by peer)
06:53:53Demos__night
07:17:17*Demos__ quit (Ping timeout: 272 seconds)
07:18:55*girvo joined #nimrod
07:48:16*ponce joined #nimrod
07:48:16*Icefoz joined #nimrod
08:12:24*zielmicha joined #nimrod
08:13:01*fowl quit (Ping timeout: 272 seconds)
08:13:55*zielmicha1 quit (Ping timeout: 272 seconds)
08:15:20*Araq_ joined #nimrod
08:32:51*Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 26.0/20131205075310])
10:08:05*CarpNet joined #nimrod
10:16:11*zielmicha quit (Ping timeout: 260 seconds)
10:20:19*zielmicha joined #nimrod
10:33:25*zahary_ joined #nimrod
10:52:33*zielmicha0 joined #nimrod
11:02:13*shodan45 quit (Quit: Konversation terminated!)
12:01:25*gradha joined #nimrod
12:15:29*darkf quit (Quit: Leaving)
12:15:42*faassen joined #nimrod
12:23:02*zielmicha0 quit (Remote host closed the connection)
12:23:08*zielmicha0 joined #nimrod
12:24:10*zielmicha0 quit (Remote host closed the connection)
12:24:15*zielmicha0 joined #nimrod
12:26:01*zielmicha0 quit (Remote host closed the connection)
12:26:08*zielmicha0 joined #nimrod
12:27:07*Araq_ joined #nimrod
12:27:19*zielmicha0 quit (Remote host closed the connection)
12:27:27*zielmicha0 joined #nimrod
12:30:16*Araq_ quit (Client Quit)
12:31:27*zielmicha0 quit (Remote host closed the connection)
12:31:35*zielmicha0 joined #nimrod
12:33:40*zielmicha0 quit (Remote host closed the connection)
12:34:46*zielmicha0 joined #nimrod
12:40:13*zahary__ joined #nimrod
12:40:13*zahary_ quit (Read error: Connection reset by peer)
12:42:27*EXetoC quit (Quit: WeeChat 0.4.2)
12:56:16*girvo quit (Quit: My iMac has gone to sleep. ZZZzzz…)
13:31:53*BitPuffin joined #nimrod
13:48:25*[1]Endy joined #nimrod
13:54:31*ddl_smurf quit (Quit: ddl_smurf)
13:54:56*Araq_ joined #nimrod
13:57:18*yogin joined #nimrod
13:57:49*yogin left #nimrod (#nimrod)
13:58:57*[2]Endy joined #nimrod
14:02:24*[1]Endy quit (Ping timeout: 276 seconds)
14:02:41*brihat joined #nimrod
14:03:16OrionPKVarriount try putting the name in quotes
14:03:23OrionPKVarriount I'm using the cfgparser module
14:03:41OrionPKoh
14:03:55*brihat left #nimrod (#nimrod)
14:04:58OrionPKi use it on my phone all the time (chrome beta for android)
14:31:30OrionPK-21F is that all?
14:34:14*zielmicha0 quit (Remote host closed the connection)
14:34:21*zielmicha0 joined #nimrod
14:41:46*EXetoC joined #nimrod
14:53:55*Araq_ quit (Quit: ChatZilla 0.9.90.1 [Firefox 26.0/20131205075310])
15:09:10*vendethiel quit (Ping timeout: 245 seconds)
15:25:32*ponce is now known as Guest40111
15:25:32*Guest40111 quit (Killed (hobana.freenode.net (Nickname regained by services)))
15:25:41*p0nce joined #nimrod
16:00:30*capisce quit (Ping timeout: 245 seconds)
16:06:47*capisce joined #nimrod
16:26:25*zielmicha0 quit (Remote host closed the connection)
16:26:32*zielmicha0 joined #nimrod
16:50:34*Demos__ joined #nimrod
16:56:15zahary__Araq, I don't have much time, but do you want to discuss quickly the concurrency plans?
16:56:32Araqyeah sure
16:56:58zahary__so, the plan is to have only monitor objects? (objects where the lock always resides next to the data it protects?)
16:57:12Araqno it's a mixture
16:57:50zahary__I can say that an object is protected by a global varialbe?
16:57:53Araqas I write it's quite decoupled, you can annotate fields explictly via {.guard: someLock.}
16:57:55zahary__global mutex
16:57:58Araqyeah
16:58:07zahary__that
16:58:09zahary__that
16:58:20zahary__ah, sorry, my enter is in the wrong place :)
16:58:36zahary__that's done with the guards pragma I guess?
16:58:44Araqyeah
16:59:05zahary__how does shared[L] interact with it? it's not quite clear to me
17:00:15Araqshared doesn't mean guarded
17:00:32Araqguarded means "protected by some guard"
17:00:58Araqshared[L] doesn't exist as that's viral
17:02:17Araqand seems to be overly restrictive
17:02:18zahary__hmm, ok, I need to read that part again more carefully. what confused me initially was that you are again doing analysis based on types instead of instances, but when I got to the examples it became more clear that it's about monitor objects
17:03:04Araqwell maybe this shared vs guarded distinction is not necessary
17:03:21Araqbut this occurred to me later after I had introduced "nothread"
17:03:28zahary__what happened to the unique types? maybe you don't need .nothread., because unique pointers can be upgraded into shared pointers as long as this is the last thing that happens to them
17:03:53AraqI removed them as I can't see them working
17:04:00zahary__why not?
17:04:12Araqyou need to multiplex unique pointers somehow
17:04:33Araqotherwise you can only send them to 1 thread
17:05:06zahary__what do you mean by "multiplex"?
17:05:48zahary__the way I see it, the only thing that you have to enforce about unique pointers is that the pointer is no longer usable after it has been passed to another proc accepting unique type (you have passed the ownership)
17:06:46zahary__threads here are not strictly a requirement, but just one scenario where ownership gets passed
17:07:42Araqwell you also need "lent" for "unique" to be useful
17:08:03Araqand then we might as well copy Rust's type system completely
17:08:15zahary__lent is the default when you pass it to a normal proc, no?
17:08:25Araqno
17:08:52Araqlent means you can't store the passed pointer in some datastructure
17:09:27zahary__I meant to a proc that accept value, not a ptr type
17:10:08Araqhmm
17:10:08zahary__forbidding use of addr in such procs is not much of a limitation
17:10:35zahary__and they are more generic anyway, so that's now most procs should be written
17:11:48Araqwell I have to think about this
17:12:07zahary__ok, and I'll read the plans again to understand shared[L] :)
17:12:12Araqhowever, the fundamental problem is that we use the type system to model time
17:12:34Araqand so we have a point of time where access to field F requires a lock
17:12:45Araqand we have a point of time where this lock is not required
17:12:56Araqthat's what I try to model with 'thread' and 'nothread'
17:13:22Araqit's hard to find definitive stuff about Rust's model
17:13:39Araqbut afaict it says "pass unique pointers and things are fine"
17:13:54Araqand has not much support for locks etc. in its safe mode
17:15:27Araqalso my design is about getting 80% of safety for 20% of implementation effort :P
17:17:21Araqthe shared[L] btw comes mostly from the paper about Cyclone's safe concurrency, so you might want to read that, was rather easy to follow
17:17:51zahary__do you have a link at hand?
17:19:37Araqhttp://homes.cs.washington.edu/~djg/papers/cycthreads.pdf
17:19:51*Mat3 joined #nimrod
17:19:55zahary__I'll read the rust manual too. few other points of interest are task-local variables, which will allow work stealing implementations of the spawn construct
17:20:18Mat3hi
17:21:29gradhahello Mat3
17:22:01zahary__and I like the Future libraries from the async world better than the C++'s std::future (with combinators such as after_all_are_done(), after_first_is_done()), but I'll have to look at examples of how these have been combined in the past
17:22:47Mat3task-local variables sounds interesting to me, it's good to see that feature in a C oriented language about ~35 years after its introduction
17:23:41Mat3hi gradha and all
17:25:59zahary__well, task-local variables already exist in a relatively natural way with closures - the bigger problem in C++ may actually be that you cannot forbid the use of real thread local variables inside the tasks (which we can do with the effect system)
17:27:06AraqI'm not sure I like the Future[T] but it surely is natural
17:27:41Araqnon-void procs are nice and traditional threading/actors really don't work well with that
17:28:07Araqin fact, I agree with the people who say the actor model is completely *un*functional
17:29:10dom96Araq: I read your blog post. Current question I have is: why is annotating with 'nothread' necessary?
17:29:22dom96Why won't all procs be nothread by default?
17:29:36Araqwell the name could be better
17:29:51Araqbut most procs are thread agnostic aka re-entrant
17:29:58Mat3Araq: Reading your blog and write documentation beside
17:30:16Araq"nothread" means that it doesn't run concurrently
17:30:24Araqwell
17:31:06Araqit means we're either in a "setup" or "teardown" for a classical fork&join setting
17:31:11dom96But I can't spawn a proc not marked with 'thread'
17:31:17dom96so I don't see the difference
17:31:19Araqyes
17:31:31Araq"thread" means "WILL" run in parallel
17:31:45dom96oh, I think I get it.
17:32:02dom96A proc which does not have any annotation can still be called by a proc with a {.thread.} annotation?
17:32:19Araqyes iff its effects allow for that
17:33:28dom96hrm, right
17:36:40dom96nice to see that people are obeying your "Please no reddit" request
17:37:10Araqindeed
17:38:09dom96I really wish the `Bucket` would be called a `PBucket`
17:38:15Araqlol
17:38:22gradhadom96: I thought only you did read reddit
17:38:47dom96gradha: 90% of people here probably found Nimrod through Reddit/HN :P
17:39:06gradhaman, google must be hurt
17:39:28dom96Araq: I actually looked at the 'next' field and though "huh, how can this be an object... it should be a pointer--- ohhhh, I miss the prefixes :("
17:40:10dom96*thought
17:40:23gradhaIIRC the first article has a type typo in the last example
17:40:42gradhaSharedStuff vs SharedIntPtr
17:40:56Araqgradha: I think I fixed that
17:41:14Araqdom96: well ... I agree :-/
17:41:36dom96Araq: An easier to follow example would be nice too btw
17:41:43dom96I don't know how hashtables work damn it.
17:42:02Araqthe example has not been picked by random
17:43:21dom96Also, you have 2 comments.
17:43:47dom96That's way too little for the amount of code that example shows.
17:44:04*shodan45 joined #nimrod
17:44:12Araqwell I can add more examples
17:46:50dom96Why is there a disproportionate number of locks in comparison to the number of buckets?
17:46:59dom96and what does Lock[0] mean?
17:47:33Araq0 is the lock level
17:47:53AraqI used 0 because I have no idea what that should be :P
17:48:12dom96Why is there a disproportionate number of locks in comparison to the number of buckets?
17:48:28OrionPKso you can only do 100 at a time
17:48:39Araqdom96: because locks are more expensive than pointer slots
17:49:38Araqbbl
17:49:43*Demos__ quit (Ping timeout: 260 seconds)
18:08:35*Demos__ joined #nimrod
18:11:26*DAddYE joined #nimrod
18:16:22*CarpNet quit (Quit: Leaving)
18:20:53*aftersha_ quit (Ping timeout: 248 seconds)
18:25:15*aftershave joined #nimrod
18:34:27*zielmicha0 left #nimrod ("Leaving")
18:38:35*q66_ joined #nimrod
18:38:58*q66 quit (Disconnected by services)
18:39:00*q66_ is now known as q66
19:00:18dom96Araq: What are these lock levels?
19:00:50Araqthey ensure deadlock freedom at compile time
19:01:14Araqthey won't matter in most cases afaict
19:01:28Araqjust use 0 and call it day unless the compiler complains
19:08:09gradhain what platforms does "\n" expand to a multibyte sequence?
19:08:49Araqwindows
19:08:53AraqCR+LF
19:12:56*brson joined #nimrod
19:17:35*mal``` quit (Ping timeout: 245 seconds)
19:18:23*mal`` joined #nimrod
19:30:16*BitPuffin quit (Quit: WeeChat 0.4.2)
19:30:57*fowl joined #nimrod
19:32:14Araqhey fowl
19:41:46*DAddYE_ joined #nimrod
19:41:47*DAddYE quit (Read error: Connection reset by peer)
19:45:35VarriountOrionPK: ping
19:45:42OrionPKwhat's up?
19:45:49VarriountDid you get my messages?
19:45:57OrionPKyour feedback? yeah
19:46:14OrionPKso with the username thing
19:46:22OrionPKdid you try putting quotes around the username?
19:46:36VarriountNo, I didn't
19:46:56OrionPKk, i didn't write the parsecfg module, so that's more of a parsecfg limitation
19:47:20OrionPKhttp://nimrod-lang.org/parsecfg.html
19:47:30VarriountYeah, I guessed.
19:47:47VarriountWhat about that socket creation/deletion every 10 seconds?
19:47:52OrionPKcould you elaborate on what you meant by "username in the connection address is cut off"?
19:48:00OrionPKwe'll get to that ;)
19:48:06VarriountOrionPK: Same thing at the nickname
19:48:29OrionPKoh, you mean the authentication name?
19:48:32OrionPKvs the irc nickname?
19:48:35VarriountYes
19:48:37OrionPKokay
19:48:46Varriountusername is the name visible in the irc address
19:48:47OrionPKnickname cut off at 16 characters
19:49:09Varriountor maybe address name is a better term. :/
19:49:10OrionPKwhere did you mean on that?
19:49:16VarriountLemme show you
19:49:19OrionPKokay
19:50:07*VarriountMobile joined #nimrod
19:50:55VarriountSee how the connection name ("[email protected]") is cut off?
19:51:08OrionPKhmm, nope
19:51:16OrionPKbut I'm on ircfamiliar and I dont show that kind of info
19:51:24OrionPKmy guess is that's an ircmodule limitation
19:51:28OrionPKirc* module
19:51:44VarriountIt should say "VeryLongNameIsCutoff@"
19:51:54VarriountAnd then the ip
19:52:00OrionPKright, interesting
19:52:08OrionPKyou sure it's exactly 16 characters?
19:52:39VarriountThis is the line in the config file: "username: VeryLongNameIsCutoff"
19:52:40OrionPKI dont see a limit in the irc module
19:52:40OrionPKhttp://nimrod-lang.org/irc.html
19:53:00OrionPKI'm just passing whatever you put in verbatim
19:53:22Araqmaybe that's even part of the irc protocol?
19:53:28OrionPKyeah, that's possible
19:53:30Araqdom96 we need you
19:53:32VarriountThat was my second guess
19:53:34*aftersha_ joined #nimrod
19:53:52OrionPKthe irc module should really be a babel package ;)
19:54:07OrionPKwe have irc but we dont have sha1 in the standard lib
19:54:09VarriountOrionPK: Now, the socket issue?
19:54:28OrionPKare you saying your browser was trying to hit the application
19:54:36OrionPKor that the applicaiton was tyring to hit something?
19:54:41VarriountHuh?
19:54:57VarriountI mean the socket creation/deletion every 10 seconds/
19:55:00Varriount*.
19:55:01OrionPKor are you reading that in the console?
19:55:03OrionPKwhere ar eyou seeing that
19:55:05gradhairc supports names longer than 9 characters, just look at people in this channel
19:55:16OrionPKwe're not talking about that gradha
19:55:33OrionPKthese are nicknames
19:56:30OrionPKVarriount was it the irc familiar console window, or was it in a browser console?
19:56:48gradhaOrionPK: my name on this channel is longer than 9 characters, seem to do fine, same with other people I can query
19:56:49VarriountFor when I tried to connect to irc familier via my phone?
19:56:54OrionPKyes
19:56:56OrionPKthe socket issue
19:57:02VarriountIt was the console
19:57:43OrionPKmy guess is that's part of the issue w/ sockets and httpserver
19:57:51Varriount?
19:58:00OrionPKand asyncio
19:58:03VarriountAh
19:58:06OrionPKthey're not very mature and kinda buggy
19:58:23OrionPKand httpserver doesnt really work at all w/o a hack
19:58:48OrionPKthats one of the main bottlenecks to me releasing this
19:59:00OrionPKso the 10 second interval thing, that's a separate issue?
19:59:36VarriountIt's not an issue as such, it's just something I noticed
20:00:08VarriountI don't know if it's intended or not, it just seemed like odd behavior. For all I know, it might be part of what httpserver does
20:00:34VarriountAlso, the port number that I sent you is incorrect. The port randomly changes each time the cycle repeats
20:00:47OrionPKwhere are you seeing it happen
20:01:13OrionPKwhat are your port/service port set to in the cfg file?
20:01:24VarriountWell, I was using Process Explorer to view the performance and internals of the ircFamilier process
20:01:43OrionPKdid it say what it was trying to hit?
20:01:54VarriountThe port and service port are the defaults.
20:02:00OrionPKI dont do anything other than IRC/http/websocket ports
20:02:01Varriount"Trying to hit"?
20:02:11OrionPKis there an IP with that port
20:02:18OrionPKor was it just loopback?
20:02:42VarriountThe ip is localhost
20:02:46OrionPKoh, that's right you said that
20:02:55OrionPKi have no idea what 61581 is for :\
20:03:11OrionPKit should only look at 6667, 8080/8081
20:03:29OrionPKthat's all *my* code is doing, but I cant speak for the nimrod std lib
20:03:34*mal`` quit (Ping timeout: 240 seconds)
20:03:41VarriountOdd. It's not doing it anymore
20:04:04OrionPKso were you able to get it working on your mobile?
20:04:12VarriountOr rather, the instance of ircFamilier that I spawned this time isn't showing the 10 second socket thing
20:04:17VarriountOrionPK: No
20:04:25OrionPKwhat browser/OS?
20:04:32*mal`` joined #nimrod
20:04:33VarriountI tried switching browser agents,
20:04:41VarriountI used android, dolphin browser
20:04:52OrionPKdoes dolphin support websockets?
20:05:08VarriountI believe so. One moment
20:06:43VarriountHuh. Apparently not
20:08:08OrionPKwell, there's no fallback.. this thing is made for modern browsers
20:08:29OrionPKit should work in chrome/chrome beta
20:08:38OrionPKI havent tried firefox mobile
20:08:46VarriountThing is, I could have sworn that it Dolphin Browser beta had websocket support a year ago.
20:09:01VarriountI would have thought that it would be introduced into the regular version already
20:09:10OrionPKthat sucks
20:11:01VarriountHm. Seems that dolphin browser has a separate addon that boasts supporting html5 features, I'll try that
20:11:51VarriountOrionPK: Don't useragents tend to have version numbers in them?
20:12:33VarriountYou could have a warning pop up if the useragent suggests that the browser won't support websocket
20:12:40OrionPKthe only difference user agents will make to irc familiar is A) how much of the log to send back, and B) it'll dad a CSS class to a couple elements
20:12:52OrionPKyou can detect that with client side code
20:13:05OrionPKJS can just see if the websocket object exists and show an error
20:13:55VarriountOk, html5test.com says dolphin browser with the jetpack addon supports websockets. Let's try this
20:14:23OrionPKas far as I'm concerned, that's gold plating, but I'll add to my 'first release prep' iteration
20:14:51*VarriountMobile quit (Read error: Connection reset by peer)
20:15:15VarriountOrionPK: I was also looking through the string's left in ircFamilier's exe/memory
20:15:32gradhagood night, honey badgers
20:15:35VarriountYou'd be amazed at some of the strings left in exes
20:15:37*gradha quit (Quit: bbl, need to watch http://www.youtube.com/watch?v=dEf4PJZXBxA again)
20:15:40OrionPK:)
20:15:45OrionPKwhat'd u find?
20:16:16OrionPKi slurp a lot of resources into the binary
20:16:19VarriountNothing interesting. But you'd be surprised - sublime text, for example, has the author's user drive in it
20:16:35VarriountOr at least, that's who I assume the drive name is
20:16:50OrionPKwhat was the name?
20:19:50Varriountc:\JJ\Projects\sublimex\third_party\boost_1_44_0\include\boost
20:20:20OrionPKweird
20:20:23VarriountNothin useful, but interesting nonetheless
20:20:35OrionPKyeah must be the sublime developer.. i guess
20:20:40OrionPKnot sure how that made it into ircfamiliar though :)
20:21:05*VarriountMobile joined #nimrod
20:22:47VarriountOrionPK: Nope
20:23:01OrionPKwhat happens?
20:23:04VarriountOr at least, not into the executable image
20:23:32OrionPKoh
20:23:41OrionPKsorry I thoguht you were saying sublime's got into irc familiar
20:23:47VarriountOrionPK: I get a browser error page, the generic "connection could not be made" thing
20:23:48OrionPKbut you were saying it got into sublime's :)
20:23:54VarriountOrionPK: Yeah
20:24:05VarriountI still can't connect. :/
20:24:05OrionPKIm not surprised u couldnt find anything in ircfamiliar's
20:24:08OrionPKit's UPXed
20:24:10OrionPKand stripped
20:24:15VarriountNo error this time though
20:24:30OrionPKwell, if you want to try chrome for android, that's the recommended one
20:24:31VarriountJust "GET /" in the console
20:25:37VarriountWorks on chrome. Maybe a cache issue or something with dolphin
20:25:54OrionPKtry swiping away the user list
20:26:07VarriountMobileHi
20:26:24OrionPKVarriountMobile hi
20:26:32VarriountMobileUser list swipes successfully
20:26:38OrionPK:-)
20:26:54OrionPKwhat phone is it?
20:27:15VarriountMobileSamsung Galaxy S2, i777
20:27:15OrionPKI screwed up landscape for it in my last build, its got a big black margin up at the top
20:27:38VarriountMobileRunning Cyanogen Mod and a custom kernal
20:27:47VarriountMobile*kernel
20:28:02OrionPKthats an old ass phone
20:28:10VarriountMobileNo black margin here.
20:28:18OrionPKmaybe it didnt get into that release then
20:28:32VarriountMobileOrionPK: It may be old, but it works.
20:28:53VarriountMobileI only upgrade when my phone finally breaks beyond reasonable repair.
20:29:02OrionPKhehe
20:29:10OrionPKI have a new phone every year, basically
20:34:09*vendethiel joined #nimrod
20:40:30Demos__guah I used to run a custom version of windows phone 7, but my new phone has Secure Boot and not enough people working to get custom kernels running
20:41:09VarriountMobileOrionPK, anything else I need to test?
20:41:42*[2]Endy quit (Ping timeout: 265 seconds)
20:41:42OrionPKnope, just nice to get other people using it to help me find things. thanks for testing it out
20:41:59VarriountMobileIt's my pleasure.
20:46:32OrionPKhopefully when I release it someone will port all the typescript to nimrod:-P
20:46:50OrionPKthen again that might produce a lot of boat
20:46:54*zielmicha0 joined #nimrod
20:47:14*zielmicha0 left #nimrod ("Leaving")
20:47:20*zielmicha0 joined #nimrod
20:47:24VarriountOrionPK: You know, this is something that could really put nimrod on the map
20:47:29OrionPKthe size of the app.js file is pretty small atm
20:47:56OrionPKglad you like it
20:48:32VarriountYour ircFamilier is like a BNC, webchat, and irc client all rolled into one, and no-where near as complicated to set up as similar software
20:48:48Demos__is there a link to this irc client?
20:48:56VarriountDemos__: Look in the logs
20:49:01Demos__I am
20:49:08OrionPKi'll send you it
20:49:19OrionPKhttps://dl.dropboxusercontent.com/u/417554/ircfamiliar.zip
20:49:31VarriountOrionPK: Does a 64 bit version work? Or are there issues?
20:49:33OrionPKobviously not for distribution
20:49:55OrionPKum i shouldnt think so.. it just would need to be built with 64 bit, with a 64 bit version of pcre/zlib
20:50:13*familiar125 joined #nimrod
20:51:13OrionPKmy next project is probably going to be to make a blog/resume site for a friend of mine, and then potentially replace my own blog site
20:51:17VarriountOrionPK: Well, unless you use another pattern matching module..
20:51:27VarriountHave you tried the peg parsing module?
20:51:29OrionPKhopefully something will come out of that, easy to use blog engine
20:52:00OrionPKI could probably eliminate the regex dependency, but jester depends on it afaik
20:52:21*familiar125 quit (Read error: Connection reset by peer)
20:52:38*familiar125 joined #nimrod
20:52:39*familiar125 quit (Read error: Connection reset by peer)
20:52:42OrionPKso I'd have to ditch jester in order to get rid of pcre dependency
20:52:56VarriountHm. Can pcre be statically linked/included? I don't think zlib can, due to the license
20:53:05OrionPKno idea
20:53:15Demos__are zlib and pcre GPL?
20:53:16OrionPKdistributing 3 files isn't terrible
20:53:27OrionPKor 4
20:54:03Varriountpcre is under bsd
20:54:20Demos__oh, it looks like zlib is a permissive license as well
20:54:29Demos__should be no problems static linking them
20:55:04Demos__just make sure you use the same msvcrt for everything on windows
20:55:31Demos__anyhow I gotta go
20:55:35OrionPKlater
20:57:03VarriountOrionPK: On a different topic, I had an idea for an easy but useful addition to nimrod-sublime
20:57:10OrionPKyeah?
20:57:14OrionPKI have a couple new ones too
20:57:22VarriountDocComment expansion
20:57:25OrionPKha
20:57:39OrionPKhow would that work?
20:57:56OrionPKI was thinking of a hotkey toggle to do doc comments (##)
20:58:07VarriountIt's irritating to have to type a new "## " each time you press enter
20:59:14OrionPKyeah
20:59:21VarriountSo have the plugin do it for you. Use a EventListener to listen for key presses, if a keypress is enter and the previous like has a doc comment, create the new comment
20:59:29Varriount*previous line
20:59:48OrionPKthen if you hit enter again, it has to look up and see if it added an empty ## line and remove it
21:00:10OrionPKor something
21:00:11VarriountNot neccesarily - what if you want an empty line in your doc-comment?
21:00:17OrionPKyeah good point..
21:00:21*Demos__ quit (Ping timeout: 276 seconds)
21:00:23VarriountI guess that could be a setting
21:00:25OrionPKmaybe ctrl+/ toggles double comments off
21:00:42OrionPKin addition to toggling regular comments
21:00:48VarriountAnyway, it's a useful feature, and shouldn't take too much time to implement.
21:00:54OrionPKagreed
21:01:14VarriountDo you want me to implement it, or you? I won't be able to get to it right away - I'm currently painting my room
21:01:34OrionPKwhat would your ETA be?
21:01:53OrionPKif its in the order of days, better for you to do it.. im going to be working on other stuff for the next couple weeks probably
21:02:00VarriountThis weekend, if I can keep my attention on it and remember to do it.
21:02:58OrionPKsounds good, I'll make sure to bug you :P
21:03:11OrionPKloves my doc comments
21:03:36Mat3ciao
21:04:10*Mat3 quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
21:06:00*achim joined #nimrod
21:09:50*radsoc joined #nimrod
21:09:58*zielmicha0 left #nimrod ("Leaving")
21:10:11Araqhi radsoc
21:10:31radsoc Hi Araq, happy new year
21:10:40Araqoh thanks. to you too
21:13:10radsocI just had a problem with memfiles on windows: GetFileSize doesn't work with files bigger than 2^32 B
21:14:20Araqer ... ok :D
21:14:34Araqit should use int64 though
21:15:32radsocI had to add GetFileSizeEx in winlean.nim and update memfiles.nim accordingly but I don't know if there is another way of doing this
21:16:12Araqwell memfiles doesn't even support getFileSize
21:16:18Araqso I'm not sure what you mean
21:17:29Araqoh I see
21:17:34radsocGetFileSize is used for calculating result.size in memfiles.nim
21:18:19Araqyeah got it
21:19:45Araqalright please make a pull request
21:21:08*zielmicha quit (Ping timeout: 260 seconds)
21:25:28radsocare you sure? (first PR ever on github...)
21:30:32*achim quit (Quit: Computer has gone to sleep.)
21:30:36OrionPKfirst time for everything
21:37:22VarriountOn linux, when using stat, what does "st_ctime" ("time of last status change") actually mean?
21:37:32VarriountWhat is a "status change"?
21:43:42VarriountAraq: ping
21:43:44Araqposix'ish for modification I guess
21:43:59Araqradsoc: yes, I'm sure
21:44:30VarriountAraq: right now I'm writing up the structures for the stat()-like procedure for os.nim
21:45:08VarriountWhat should the behavior be if the data for a member cannot be retrieved, for example, if the host system doesn't support getting that information?
21:45:31Varriount*file data for
21:46:51VarriountI was thinking that either class variants could be used, along with having various members be nil if data retrieval fails.
21:47:49Araqwell the point of a common subset is that no such fields exist by definition
21:48:42Araqotherwise the programmer might as well call the OS specific version ...
21:50:09VarriountYes.. but the reality is that many systems, although posix compliant, extend their support. I know, for example, that although file creation time is not mentioned in the posix stat() specification, some systems have a 'birthtime' member in the structure returned by stat.
21:57:45Araqwell if I call "nimstat" I expect it to return the same stuff on every OS. otherwise I can call posix.stat myself easily since I need an "if supported" check anyway
21:58:15VarriountHm. Ok
22:00:37*EXetoC1 joined #nimrod
22:00:37*EXetoC quit (Read error: Connection reset by peer)
22:01:01*EXetoC1 is now known as EXetoC
22:10:25*Demos joined #nimrod
22:14:09*aftersha_ quit (Quit: Computer has gone to sleep.)
22:36:31*ddl_smurf joined #nimrod
22:36:52dom96OrionPK: Varriount: The username limit is likely enforced by the ircd, but who knows. Test it to be sure.
22:37:32*dom_familiar joined #nimrod
22:40:13*dom_familiar quit (Remote host closed the connection)
22:40:33dom96Meh. I thought I had Chrome installed.
22:45:06*io2 joined #nimrod
22:56:29Demoshm I should submit a pr for my changes to nimdoc's highlite module
23:05:28OrionPKim not too concerned about that one dom96
23:11:14*io2 quit ()
23:17:06*darkf joined #nimrod
23:18:56*radsoc quit ()
23:31:17*Demos quit (Ping timeout: 248 seconds)
23:38:40*shodan45 quit (Quit: Konversation terminated!)
23:43:14*faassen quit (Quit: Leaving.)
23:51:44*p0nce left #nimrod (#nimrod)
23:57:23*ddl_smurf_ joined #nimrod