These are chat archives for akkadotnet/akka.net

21st
Apr 2015
Joshua Benjamin
@annymsMthd
Apr 21 2015 00:05
@Aaronontheweb any idea how to make a fake task that takes a parameter? for instance "./build.cmd MultiNodeSpec ClusterDeathWatchSpec"
Aaron Stannard
@Aaronontheweb
Apr 21 2015 00:05
F# is dark and evil magic
so no
Joshua Benjamin
@annymsMthd
Apr 21 2015 00:05
rgr
I'll find it
Natan Vivo
@nvivo
Apr 21 2015 15:56
question about the priority queue...
Aaron Stannard
@Aaronontheweb
Apr 21 2015 15:56
shoot
Natan Vivo
@nvivo
Apr 21 2015 15:56
in some cases the envelope is being sent instead of the message
is this a bug?
Aaron Stannard
@Aaronontheweb
Apr 21 2015 15:57
could you post your snippet?
because yeah, that should not be happening
I mean the envelope should be passed to the ActorCell
but it shouldn't get passed into the OnReceive method - the actorcell should unpack it
I'll open an issue for that then, ok ?
Aaron Stannard
@Aaronontheweb
Apr 21 2015 15:59
do you have a .NET Fiddle that can reproduce this too?
Natan Vivo
@nvivo
Apr 21 2015 16:00
I'll provide one
Aaron Stannard
@Aaronontheweb
Apr 21 2015 16:00
if you could open an issue and include that - that would be super helpful
Natan Vivo
@nvivo
Apr 21 2015 16:00
ok
Aaron Stannard
@Aaronontheweb
Apr 21 2015 16:00
thanks Natan
Natan Vivo
@nvivo
Apr 21 2015 16:00
np
Aaron Stannard
@Aaronontheweb
Apr 21 2015 16:00
so correct me if I'm wrong
but it sounds like an envelope gets wrapped around the other envelope
for some reason
Natan Vivo
@nvivo
Apr 21 2015 16:00
It seems to just be missing the ".Message" in the call
so, the method ends up returning the default value
Aaron Stannard
@Aaronontheweb
Apr 21 2015 16:01
ah
send a PR too if you can
got it
Natan Vivo
@nvivo
Apr 21 2015 16:01
ok
Natan Vivo
@nvivo
Apr 21 2015 16:31
I opened an idea on .net fiddle for them to fix the buffering of console.log. this is required in every fiddle we do in for akka.net. would help if people voted so they can prioritize: https://dotnetfiddle.uservoice.com/forums/228764--net-fiddle-ideas/suggestions/7623540-flush-the-console-buffer-after-run
Joshua Benjamin
@annymsMthd
Apr 21 2015 16:34
@Aaronontheweb one of my coworkers just showed me some AppDomain stuff. For the multinode tests wouldn't it be easier to load the child nodes up in their own app domain? It would allow us to attach a debugger alot easier
Aaron Stannard
@Aaronontheweb
Apr 21 2015 16:35
@annymsMthd you can use the Child Process Debugger in Visual Studio to do the same thing
but the guy you should talk to about redoing the MultiNodeTestRunner is @smalldave
Joshua Benjamin
@annymsMthd
Apr 21 2015 16:35
rgr
Aaron Stannard
@Aaronontheweb
Apr 21 2015 16:35
let me get you the download link for the multi-node test runner
err
child process debugger
sorry, still on my first cup of coffee
Joshua Benjamin
@annymsMthd
Apr 21 2015 16:36
lol same
to answer your question though, I don't know what the downsides would be of using an AppDomain - part of me think it's a better idea to leave this stuff as-is and let each node have its own independent process-level resources
but don't all .NET processes share the same threadpool anyway?
i.e. isn't the CLR threadpool a shared resource across all of them? or is that not right?
Aaron Stannard
@Aaronontheweb
Apr 21 2015 16:42
ah, my bad
shared across appdomains
but not processes
my brain this morning http://i.imgur.com/NIOYi.gif
Aaron Stannard
@Aaronontheweb
Apr 21 2015 16:51
ok, nevermind - CLR Threadpool and Threads: unique per process, but each AppDomain gets its own FIFO queue for work items
finally
Nikita Tsukanov
@kekekeks
Apr 21 2015 16:52
Ehm, you just can't share a thread across processes. Whether ThreadPool is shared between AppDomains depends on CLR host. I. e. custom CLR host can even run multiple CLR threads on one native thread ( see https://msdn.microsoft.com/en-us/library/74169f59.aspx )
Haven't seen such CLR hosts, but still
Aaron Stannard
@Aaronontheweb
Apr 21 2015 16:53
@kekekeks yeah I forgot my basic computer organization stuff this morning
thread is a resource of the process
should have been obvious but I drank a lot of wine last night
Nikita Tsukanov
@kekekeks
Apr 21 2015 16:54
BTW, on Linux threads are processes that share address space and file descriptors
Aaron Stannard
@Aaronontheweb
Apr 21 2015 16:55
literally processes (like, would they show up on ~ ps) ?
Nikita Tsukanov
@kekekeks
Apr 21 2015 16:56
They have PID and you can see them in htop
Aaron Stannard
@Aaronontheweb
Apr 21 2015 16:56
ah got it, so they're implemented as just what - micro processes effectively?
Nikita Tsukanov
@kekekeks
Apr 21 2015 16:57
Just regular processes
Aaron Stannard
@Aaronontheweb
Apr 21 2015 16:57
but with shared address space and process-level resources as the parent
Nikita Tsukanov
@kekekeks
Apr 21 2015 16:57
That's why you don't use calls like fork from Mono
I think it's implemented like namespaces (i. e. groups of processes that have different network stacks, process PID space, etc)
Aaron Stannard
@Aaronontheweb
Apr 21 2015 16:59
looks like we accidentally run the tests for Akka.Cluster 3 times in our builds.... FAKE picks it up three times (because it also gets used inside the multinode testkit)
and our build runner crashes on one of those runs, after successfully completing the tests a previous time
that's good to know @kekekeks
same place each time - test 48 in Akka.Cluster causes a stackoverflow inside XUnit
Aaron Stannard
@Aaronontheweb
Apr 21 2015 17:05
ah... figured out why
Natan Vivo
@nvivo
Apr 21 2015 17:10
does akka.net supports this? can't see any "mailbox-requirements" in the source
my-dispatcher {
  mailbox-requirement = ""CustomMailbox, AssemblyName""
}
Aaron Stannard
@Aaronontheweb
Apr 21 2015 17:10
no
Natan Vivo
@nvivo
Apr 21 2015 17:11
ok. should I open a ticket or there is no plans to support this?
Aaron Stannard
@Aaronontheweb
Apr 21 2015 17:11
what's it for?
dispatchers and mailboxes are totally decoupled in Akka.NET
Natan Vivo
@nvivo
Apr 21 2015 17:12
it's in the original akka docs as a way to set the mailbox in the actor
Aaron Stannard
@Aaronontheweb
Apr 21 2015 17:12
one doesn't create the other anymore
you should be able to set that for an actor
but your code snippet made it look like you were setting one for a dispatcher
we should support the former but not the latter - not sure how we handle configured mailboxes within Deploy today
Natan Vivo
@nvivo
Apr 21 2015 17:13
from what I understood here, you can set it on the dispatcher and the actor should inherit it
Aaron Stannard
@Aaronontheweb
Apr 21 2015 17:13
that doesn't apply to Akka.NET
Natan Vivo
@nvivo
Apr 21 2015 17:13
ok
Aaron Stannard
@Aaronontheweb
Apr 21 2015 17:13
afaik
Natan Vivo
@nvivo
Apr 21 2015 17:13
I'll remove that
sorry, I think I got confused. it's the "mailbox-type" in the dispatcher
but it's the same. I'll remove this section, we can add later if this support is added
so, basically any mailbox setting that comes from the dispatcher is not supported in akka.net right?
Aaron Stannard
@Aaronontheweb
Apr 21 2015 17:17
yeah, that's a bunch of legacy stuff that comes from shared mailboxes and such
we don't have any plans to port that
Natan Vivo
@nvivo
Apr 21 2015 17:17
ok. that simplifies things a lot here
Aaron Stannard
@Aaronontheweb
Apr 21 2015 17:21
issue with the failing XUnit tests is that some of the stuff in a recent PR for eliminating compiler warnings caused a bunch of recursive calls to the Dispose methods in some tests
going to revert those changes and just use pragma to suppress the warning
Nikita Tsukanov
@kekekeks
Apr 21 2015 17:24
Is there any ongoing effort to implement Akka.Persistence plugin for EventStore? I mean, EventStore is specifically designed for that.
Aaron Stannard
@Aaronontheweb
Apr 21 2015 17:25
@kekekeks ask and ye shall receive
Nikita Tsukanov
@kekekeks
Apr 21 2015 17:26
Oh, thanks
Aaron Stannard
@Aaronontheweb
Apr 21 2015 17:26
looks like @trbngr is going to extract that into a standalone nuget package
Aaron Stannard
@Aaronontheweb
Apr 21 2015 17:32
alrighty, think I've got it
this should stop XUnit from crashing on the Akka.Cluster tests
Roger Johansson
@rogeralsing
Apr 21 2015 17:34
Wut, you found the xunit issue?
Aaron Stannard
@Aaronontheweb
Apr 21 2015 17:35
yeah - the one that's been failing all new PRs
we merged in a PR that accidentally introduced some recursive Dispose calls this week
basically the TestKit and XUnit both went nuts trying to dispose the same thing over and over again until the call stack barfed up a StackOverflow
and TeamCity wasn't catching the exception
Roger Johansson
@rogeralsing
Apr 21 2015 17:36
Oh :)
Aaron Stannard
@Aaronontheweb
Apr 21 2015 17:36
XUnit's low reliability has made us just assume that XUnit fucked up
I had to run it in resharper with the debugger attached to find the problem
not a big deal, but our adventure with XUnit continues :p
Aaron Stannard
@Aaronontheweb
Apr 21 2015 17:50
@rogeralsing would you mind merging #883 ?
got the magical green checkmark to come back
actually @Horusiath , why don't you merge #883 -
seems like @rogeralsing and I do it all the time - you guys with commit access should feel free to do it more often :p
Bartosz Sypytkowski
@Horusiath
Apr 21 2015 17:52
you don't do null check for _collector ;)
rejected
Aaron Stannard
@Aaronontheweb
Apr 21 2015 17:53
nooooooooooooooooooooooooooo
BUT I ALLOCATE IT IN THE CONSTRUCTOR
SURELY
SURELY BARTOSZ
;)
Bartosz Sypytkowski
@Horusiath
Apr 21 2015 17:55
merged, how about Akka.Persistence.SqlServer?
could we rerun tests for it?
Aaron Stannard
@Aaronontheweb
Apr 21 2015 17:56
I still need to update the build server image
I can do that this week - still traveling but I have decent office space
when I've done that I'll kick off a new build
Bartosz Sypytkowski
@Horusiath
Apr 21 2015 18:00
also I have strange behavior. Inside Web Api (with Owin) I'm creating actor selection and ask it for something (like var res = aref.Ask<Response>(new Request, timeout).Result). Message comes to actor, and I can see it serves a response, but caller never gets it
Aaron Stannard
@Aaronontheweb
Apr 21 2015 18:02
looks like #884 is right up your alley @Horusiath
Roger Johansson
@rogeralsing
Apr 21 2015 18:02
Asp.net has its own synchronizationcontext
Maybe that interferes?
Aaron Stannard
@Aaronontheweb
Apr 21 2015 18:03
I'm not going to have time to touch #884 before our hotfix, but that's a pretty severe bug if what the user reported is true. Can someone self-assign that issue?
Roger Johansson
@rogeralsing
Apr 21 2015 18:03
Oh
Aaron Stannard
@Aaronontheweb
Apr 21 2015 18:03
sounds like an issue with the RemoteDaemon or actor path parsing
Bartosz Sypytkowski
@Horusiath
Apr 21 2015 18:03
I'm not using remoting
Aaron Stannard
@Aaronontheweb
Apr 21 2015 18:03
the network isn't an issue, as messages arrive at both ends
but the reply-to address is wrong
Bartosz Sypytkowski
@Horusiath
Apr 21 2015 18:05
ok, I'll investigate this
Aaron Stannard
@Aaronontheweb
Apr 21 2015 18:05
ty sir
Bartosz Sypytkowski
@Horusiath
Apr 21 2015 18:06
however my problem may be different
Aaron Stannard
@Aaronontheweb
Apr 21 2015 18:06
I'm a little surprised if this is the case, because all of my Akka.Cluster stuff still works - uses ActorRefs
over Akka.Remote
Bartosz Sypytkowski
@Horusiath
Apr 21 2015 18:39
ok, in my case problem lies in Ask method itself - we create there a promise (aka TaskCompletionSource) and resolve it in message incoming to FutureActorRef. My problem is that Task returned by this promise is never activated, and even despite it's resolved with actor reply (which could be seen i.e. in ContinueWith method which works properly) it will hang forever in task.Wait() and task.Result
I'm not TPL expert but for me this looks like a problem between ASP.NET and Akka sync contexts
Joshua Benjamin
@annymsMthd
Apr 21 2015 18:41
Have you tried using async all through the ASP.net stack?
instead of using Wait
Nikita Tsukanov
@kekekeks
Apr 21 2015 18:43
AFAIK, ASP.NET SyncContext just ensures that you have right HttpContext.Current and other things
It's not something single-threaded like WinForms/WPF SyncContext
Bartosz Sypytkowski
@Horusiath
Apr 21 2015 18:45
@annymsMthd this is not an async method ;)
ill have a look later
Bartosz Sypytkowski
@Horusiath
Apr 21 2015 18:56
heh, 10 points at first gues
if I changed default dispatcher to TaskDispatcher, everything works
... or not :(
Roger Johansson
@rogeralsing
Apr 21 2015 19:00
so the entire flow works as expected, its just that wait() never completes even though the completionsource has a result?
Bartosz Sypytkowski
@Horusiath
Apr 21 2015 19:00
it seems so
Roman Golenok
@shersh
Apr 21 2015 19:26
Hi @kekekeks, glad to see you here
Nikita Tsukanov
@kekekeks
Apr 21 2015 19:26
sup
I'm here because of your translations of the bootcamp
Wouldn't know about the project otherwise
Roger Johansson
@rogeralsing
Apr 21 2015 19:29
@Horusiath does the deadlock occur even in the simplest case, if you ask an actor and wait for response, and nothing more, that is , two actors only? can I replicate it that way?
Bartosz Sypytkowski
@Horusiath
Apr 21 2015 19:30
I think I've met similar problem once
Roger Johansson
@rogeralsing
Apr 21 2015 19:30
type of web app? web api?
Bartosz Sypytkowski
@Horusiath
Apr 21 2015 19:30
yes
I didn't checked yet, but the last time I had similar issue, this was solution: http://stackoverflow.com/questions/5095183/how-would-i-run-an-async-taskt-method-synchronously
Bartosz Sypytkowski
@Horusiath
Apr 21 2015 20:09
confirmed - this is async problem in general, not Akka specific
and link, I've given, solves it
Nikita Tsukanov
@kekekeks
Apr 21 2015 20:10
does Akka have ConfigureAwait(false) in every async API exposed to the user?
Bartosz Sypytkowski
@Horusiath
Apr 21 2015 20:11
nope
Nikita Tsukanov
@kekekeks
Apr 21 2015 20:12
It discards current SynchronizationContext and executes await continuation on a regular thread pool
Joshua Benjamin
@annymsMthd
Apr 21 2015 20:13
@Horusiath it's generally bad idea to do sync over async. Push the async all the way through the stack
Nikita Tsukanov
@kekekeks
Apr 21 2015 20:13
It may be not possible in some cases
i. e. one might want to use Akka from a synchronious callback from some library
Nikita Tsukanov
@kekekeks
Apr 21 2015 20:16
Anyway, the rule of the thumb is to call ConfigureAwait(false) before awaiting if you are writing a class library.
Class library code usually expect to be called from "free" SynchronizationContext, so when it's not the case, weird stuff happen
So it's better to just ConfigureAwait(false) all the things
Natan Vivo
@nvivo
Apr 21 2015 20:29
I had some ideas to fix these async/await stuff. But the problem is that it maybe deviates too much from the JVM implementation
Nikita Tsukanov
@kekekeks
Apr 21 2015 20:30
JVM implementation isn't based on TPL either
Natan Vivo
@nvivo
Apr 21 2015 20:30
yep, that's the problem =)
Nikita Tsukanov
@kekekeks
Apr 21 2015 20:30
But I think, that isolation from the external SynchronizationContext might just work
Natan Vivo
@nvivo
Apr 21 2015 20:31
We should port TPL to the official JVM, make it widely adopted, let the typesafe guys solve all the problems in Akka and then just port back =)
Nikita Tsukanov
@kekekeks
Apr 21 2015 20:31
Muahahahaha
Arjen Smits
@Danthar
Apr 21 2015 20:31
lol. Yeah. Good luck with that
Natan Vivo
@nvivo
Apr 21 2015 20:37
@kekekeks I'm curious. You said "one might want to use Akka from a synchronious callback from some library"... but that seems impossible with akka
Nikita Tsukanov
@kekekeks
Apr 21 2015 20:37
actorRef.Ask<...>(...).Result
Natan Vivo
@nvivo
Apr 21 2015 20:38
oh, got what you meant
Natan Vivo
@nvivo
Apr 21 2015 20:48
@Aaronontheweb you added a "Custom Mailboxes" to the docs section. From what I see, the implementation in .net is different from jvm. Did you mean an example of inheriting from Mailbox directly, or what?
jcwrequests
@jcwrequests
Apr 21 2015 22:47
@nvivo is there any documentation for using Ask? Or better yet documentation on the best way to do request response pattern from say a webservice to the actor system then back again.
jcwrequests
@jcwrequests
Apr 21 2015 22:52
I am guessing that you would use Ask and PipeTo. I will check bootcamp documentation to see if anything is there.
Natan Vivo
@nvivo
Apr 21 2015 22:57
I'm not sure there is a documentation specific for that. I'm updating them as I go, didn't see everything
But I think it's basically Ask from an web api or mvc controller
jcwrequests
@jcwrequests
Apr 21 2015 22:58
@nvivo Thanks. That is what I thought. Just wanted to be sure I wasn't going crazy.
Natan Vivo
@nvivo
Apr 21 2015 22:58
now I'm not sure how pipeto would work there. pipeto is to be used inside actors I think
jcwrequests
@jcwrequests
Apr 21 2015 23:00
I am trying to put together a real simple proof of concept were an outside service say a WebApi call asks for the state of an actor within the actor system and I want to be sure I am following best practices. Hopefully soon I will have something to share to that I can get some input from the group.
Natan Vivo
@nvivo
Apr 21 2015 23:00
here is an answer from Roger to one of my first questions: https://groups.google.com/d/msg/akkadotnet-user-list/A8RQqX-Oph0/CqXeyYDsv98J
that's what I do here
jcwrequests
@jcwrequests
Apr 21 2015 23:03
Thanks. it's appreciated.
I have been using gitter so much I forget about google groups
So basically just query the actor system using the selection method. So if that actor is under several layers of hierarchy I don't have to pass the message all the way down the system takes care of that for me. Nice.
jcwrequests
@jcwrequests
Apr 21 2015 23:09
I wonder if there is a good document explaining best practices of modeling with aKKA selectors. Perhaps I should check out that book @rogeralsing was talking about Akka In Action I believe was the title maybe that is detailed there.
Natan Vivo
@nvivo
Apr 21 2015 23:18
that's something I would like to see someday in the docs... it's more about patterns and good practices
Aaron has been publishing some stuff on his blog
but I think most of the stuff is for the jvm version
From what I have seen, usually external code would be calling top level actors
jcwrequests
@jcwrequests
Apr 21 2015 23:20
NIce. I know NServiceBus did a good job covering that stuff. Sometimes it's nice to have a simple chart with the basic patterns, examples and use cases.
Natan Vivo
@nvivo
Apr 21 2015 23:20
not as a rule.. but it's just that usually top level actors would be handling and distributing work
I think the problem is that at this abstraction level, almost every solution can be answered with "depends"
=)
I was looking at Nservice bus before discovering akka
but their license model changed, and I started looking for other things
then I found ZeroMq, read a huge book about it... then found akka, and almost every problem I had was solved.. =)
jcwrequests
@jcwrequests
Apr 21 2015 23:23
I liked NServiceBus before the change. The guy who created ZeroMQ left that project and started something else then I think he even abandoned that one as well.
Natan Vivo
@nvivo
Apr 21 2015 23:23
udi dahan ?
jcwrequests
@jcwrequests
Apr 21 2015 23:24
Now Udi is NServiceBus I forget the guy who started ZeroMQ.
Natan Vivo
@nvivo
Apr 21 2015 23:25
oh, right. got confused
jcwrequests
@jcwrequests
Apr 21 2015 23:25
So many frameworks and libraries so little time ;)
Natan Vivo
@nvivo
Apr 21 2015 23:25
I think that's the thing you're talking about: http://architects.dzone.com/articles/nanomsg-next-gen-zeromq-here
didn't know about that
jcwrequests
@jcwrequests
Apr 21 2015 23:26
I know a guy who did dot net then moved over to GO and was using it.
Natan Vivo
@nvivo
Apr 21 2015 23:26
interesting. I wonder how it's more lightweight than zeromq
zeromq is almost at the zero level already
but that guy is crazy... did you see his "M4" methodology for development?
jcwrequests
@jcwrequests
Apr 21 2015 23:27
I believe so. Suppose to be wicked fast.
In this case stability is more important I think.
Natan Vivo
@nvivo
Apr 21 2015 23:29
actually, it's this guy I was thinking: http://en.wikipedia.org/wiki/Pieter_Hintjens
they have a methodology to build software that don't require version numbers.
basically "the code is always stable".. i call it crazy talk =)
C4.. not M4 =)
jcwrequests
@jcwrequests
Apr 21 2015 23:31
You sound like Richard Campbell from Dot Net Rocks. He always say that's crazy talk.
Natan Vivo
@nvivo
Apr 21 2015 23:31
hahaha I love that show
got a mug from them last month
didn't arrive yet
jcwrequests
@jcwrequests
Apr 21 2015 23:32
I just got caught up today. Three shows in a row plus Hansell Minutes.
Natan Vivo
@nvivo
Apr 21 2015 23:32
oh man, I have so many podcasts to listen....
there is another show from Richard Campbell called "run as"
a little bit more technical
I have 5 hanselminutes to listen to
jcwrequests
@jcwrequests
Apr 21 2015 23:33
That one is on my list too. NodeUp, Herding Code are some others I like
Natan Vivo
@nvivo
Apr 21 2015 23:34
node up I didn't see. will check it up
i listen to Javascript Jabber and adventures in angular too
and of course: The Bugle, the best podcast ever =)
jcwrequests
@jcwrequests
Apr 21 2015 23:34
I think we need to start the Akka podcast.
That would be cool. Though I would be happy just to finish my Pull Request Screen Cast.
Natan Vivo
@nvivo
Apr 21 2015 23:36
yeah.. I'm thinking how much trouble I'm having to find enough stuff to fill the documentation
imagine a weekly show
I'm guessing Aaron will say "I have two of those already scheduled..." haha
jcwrequests
@jcwrequests
Apr 21 2015 23:37
Tell me about it. You know the expression "My eyes are to big for my stomach" I think that applies here. Aaron is a machine.
Natan Vivo
@nvivo
Apr 21 2015 23:39
are you going to publish these screencasts on youtube?
or somewhere else?
jcwrequests
@jcwrequests
Apr 21 2015 23:40
That is the plan. I just need to get some quiet time in the house to get is done. Since I just started a new job my schedule is a little out of synch.
Hopefully tonight I will finish up the slides.
Natan Vivo
@nvivo
Apr 21 2015 23:41
I imagine. I'm only able to do these stuff because I'm having some free time at home these months
have been spending a lot of time to understand akka
Aaron Stannard
@Aaronontheweb
Apr 21 2015 23:42
@nvivo I have the Bugle on my to-do list - John Oliver is hilarious
Natan Vivo
@nvivo
Apr 21 2015 23:42
both of them are!
british humor FTW as you say haha
Aaron Stannard
@Aaronontheweb
Apr 21 2015 23:43
@nvivo yeah, I meant inheriting from the Mailbox base class and defining your own. truth be told - we don't really need a section on that. Not a lot of real-world use for it yet
Natan Vivo
@nvivo
Apr 21 2015 23:44
that's what I imagined. the implementation from the Mailbox is more complicated, involves understanding more things or inheriting from other classes
Aaron Stannard
@Aaronontheweb
Apr 21 2015 23:44
@kekekeks translations of the bootcamp? Into F# ?
Natan Vivo
@nvivo
Apr 21 2015 23:44
my plan is to create the initial docs, and then later go back and add some of these details
not sure how long I can focus on this, but I wanna try
Aaron Stannard
@Aaronontheweb
Apr 21 2015 23:44
nice man
happy to support you where you need it
Natan Vivo
@nvivo
Apr 21 2015 23:45
I read the entire "dispatcher" page from akka, I still cannot explain what they do exactly :-p
I mean, I understand.. but not from the docs
Aaron Stannard
@Aaronontheweb
Apr 21 2015 23:46
yeah
our docs should be more human-friendly :p
Natan Vivo
@nvivo
Apr 21 2015 23:46
one thing I started to worry a little bit is that the docs may need some metadata soon
Aaron Stannard
@Aaronontheweb
Apr 21 2015 23:47
like version-specific stuff?
or something else
Natan Vivo
@nvivo
Apr 21 2015 23:47
yes. notes about things missing in the version, etc
maybe a way to scan the docs and see what needs to be changed when version changes
but I'm not sure the best way to do it today, or if we should spend time on it now
I think at some point it will become an issue, but not now
Aaron Stannard
@Aaronontheweb
Apr 21 2015 23:48
in the little header section where you set the layout and page title you can define your own little variables following that convention
@skotzko is the guy to ask about how to do that best - you don't necessarily need to use those vars on the page, but you can use that to create an update scheme if necessary
Natan Vivo
@nvivo
Apr 21 2015 23:50
right
I know there are some platforms like readthedocs.org that already support a lot of stuff. maybe when this becomes an issue, akka.net could try one of those
Aaron Stannard
@Aaronontheweb
Apr 21 2015 23:51
yeah we'll just have to see how much of a problem it really is
Natan Vivo
@nvivo
Apr 21 2015 23:51
yep
Aaron Stannard
@Aaronontheweb
Apr 21 2015 23:51
we have the API docs, which automatically get versioned and updated
Natan Vivo
@nvivo
Apr 21 2015 23:51
one thing I know it would be nice to have today is a scanner for dead links
Aaron Stannard
@Aaronontheweb
Apr 21 2015 23:51
most of the stuff in these hand-written docs shouldn't change much
Natan Vivo
@nvivo
Apr 21 2015 23:51
not sure if the current build system reports this
yeah, maybe the problem is that a lot of the docs are covering things that should be documented in the class docs, like MSDN
Aaron Stannard
@Aaronontheweb
Apr 21 2015 23:52
so at the top of the docs inedx
index*
we do have a big link pointing to the API docs
but I'm skeptical that it's obvious enough
Natan Vivo
@nvivo
Apr 21 2015 23:52
I saw that
Aaron Stannard
@Aaronontheweb
Apr 21 2015 23:53
the API docs have built-in search and other awesome stuff too
they're pretty sweet
SandCastle is pretty amazing once you get over the configuration overhead
Natan Vivo
@nvivo
Apr 21 2015 23:53
but could it hold the examples and more text without having to keep all in comments?
Aaron Stannard
@Aaronontheweb
Apr 21 2015 23:54
you do have the ability to add custom pages, but really it's meant to be a webified version of XML-doc comments
and small examples do fit nicely in the comments - we do that in a few places
but yeah, you can't really fit a small app in one though
Natan Vivo
@nvivo
Apr 21 2015 23:54
I remember reading about the microsoft documentation process
it's quite complex, and they don't have much documentation in the source
not easy to do that
Aaron Stannard
@Aaronontheweb
Apr 21 2015 23:55
going to see if I can update our VM image for @Horusiath
so we can unit test the SQL-server Akka.Persistence Impl
Natan Vivo
@nvivo
Apr 21 2015 23:56
ok.. and I'll go watch a movie
9pm here... time to stop
Aaron Stannard
@Aaronontheweb
Apr 21 2015 23:56
haha
Natan Vivo
@nvivo
Apr 21 2015 23:57
aaron, are you married?
does that answer your question?
Natan Vivo
@nvivo
Apr 21 2015 23:58
hahahaha
that's why you have so much energy then!
Aaron Stannard
@Aaronontheweb
Apr 21 2015 23:59
haha