<div dir="ltr">2017-12-12 7:06 GMT-05:00 Vit Ry <span dir="ltr"><<a href="mailto:frodox@zoho.com" target="_blank">frodox@zoho.com</a>></span>:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi! According to PR12 build (<a href="https://31-103838017-gh.circle-artifacts.com/0/root/repo/out/10-Buildbot.pdf" rel="noreferrer" target="_blank">https://31-103838017-gh.<wbr>circle-artifacts.com/0/root/<wbr>repo/out/10-Buildbot.pdf</a>)<br>
<br>
> Buildbot is a framework for building continuous integration applications.<br>
<br>
I'm confusing with this every time. What is "CI application" ? CI - is a process, a culture...<br>
I don't hear often 'CI application' term, and what is the meaning then?<br></blockquote><div><br></div><div>A CI application is an application that implements a continuous integration process.  I'm trying to make the point here that if you're going to use Buildbot, you're going to have to implement what you want (your application) *on top* of Buildbot (a framework).  Do you have a better term?<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> It is a popular choice for organizations and projects with complex and unusual<br>
build, test, and release requirements.<br>
<br>
add "workflow" here also.<br></blockquote><div><br></div><div>Where?  Isn't a workflow just a complex requirement?<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> but is not as simple to set up or use as tools like Joomla or Wordpress.<br>
<br>
it *might* not be as simple. But in some cases it would be simple enough,<br>
and in some cases it would be hard to setup Joomla for user requirements :)<br></blockquote><div><br></div><div>I think the analogy is clearer without caveats :)<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> into CVS<br>
<br>
What is CVS? VCS may be?<br></blockquote><div><br><a href="https://en.wikipedia.org/wiki/Concurrent_Versions_System">https://en.wikipedia.org/wiki/Concurrent_Versions_System</a> <br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> After leaving the router company, he built a clean re-implementation of the build system, in part as a way to learn Twisted, and the result became Buildbot.<br>
<br>
When?! When? So, when actuall Buildbot 0.7 was borne..?<br>
<br>
Looks like 2006.  Let's add year reference.<br>
commit 1bb1c105adac5c47aa9f78840d6215<wbr>ed29ec74d5 (tag: v0.7.1)<br>
Author: warner-buildbot <<a href="mailto:warner-buildbot@lothar.com">warner-buildbot@lothar.com</a>><br>
Date:   Sun Mar 12 12:18:43 2006 +0100<br>
<br>
    TAG buildbot-0.7.1<br>
<br></blockquote><div><br></div><div>0.7.1 definitely wasn't the first version of Buildbot.  That first version has been lost to the sands of experimental version control systems, but I suspect it was closer to 2003.  Brian (copied) - do you have a more accurate datestamp for your departure from "the router company"?<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> For example WorkerManager is dependent on the MessageQueueConnector, but<br>
are actually both childs of the masterService.<br>
<br>
but *they* are both childes<br></blockquote><div><br></div>> We jump from async world to sync world using <a href="http://self.db.pool.do" rel="noreferrer" target="_blank">self.db.pool.do</a><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<a href="http://self.db.pool.do" rel="noreferrer" target="_blank">self.db.pool.do</a> is - method. Should be `<a href="http://self.db.pool.do" rel="noreferrer" target="_blank">self.db.pool.do</a>(...)` then<br>
<br>
If we take into account not only experts of async readers,<br>
it would be cool to add some minimal clarification, or rephrase some parts,<br>
that it would be clear (for 2017):<br>
* which code/functions is async one (either return Defferred or yield Defferred - what difference)<br>
* in which case we should use wrappers (+ py2 vs py3)<br>
<br>
it is a bit mess in my newbie head due to history, the evolution and so on.<br></blockquote><div><br></div><div>We could include a sentence or two defining that in the history section, for sure -- it is truly the case that we have had a few functions in our history that were both (sometimes returned a value, sometimes a Deferred).  I added:<br><br>We are now accusomted to referring to functions as asynchronous (meaning they return a Deferred) and synchronous (meaning they do not).<br>In these dark ages, the distinction was not so clear and there were functions in Buildbot which could return a Deferred or an immediate value, depending on the circumstances.<br>Needless to say, such functions were difficult to call correctly and were refactored to be strictly synchronous or asynchronous.   <br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
requests paragraph<br>
<br>
> HttpClientService takes either one according to what is installed in your environment.<br>
<br>
And what if I have both? Which one in priority?<br></blockquote><div><br></div><div>txrequests.  That feels like a detail best left in the docs, and not the chapter?<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
 very big code example of class GitHubStatusPush(http.<wbr>HttpStatusPushBase):<br>
<br>
My suggestion to add some note, what is this 2 page code example illustrates :)<br>
And keep it as minimum as possible to achieve goal of illustration. Hard to understand for me<br></blockquote><div><br></div><div>I will defer to Pierre for that.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> <a href="https://github.com/twisted/twisted/blob/trunk/src/twisted/internet/defer.py#L1538" rel="noreferrer" target="_blank">https://github.com/twisted/<wbr>twisted/blob/trunk/src/<wbr>twisted/internet/defer.py#<wbr>L1538</a><br>
<br>
would not be correct after few months<br></blockquote><div><br></div><div>I took the link out.  I think links in a book probably aren't that useful :)<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> Perspective Broker<br>
<br>
looks like not finished yet. What is PB and what is goal if chapter?<span class="gmail-"><br></span></blockquote><div><br></div><div>I'll remove that and the other unfinished sections.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">
>  Are there sections that have too much detail?<br>
</span>I think about Async Services and RaceCondition chapters, a bit tricky/need deeper understanding<br>
<br>
<br>
+in gh PR some comments<br>
 ---<br>
<br>
Generally we have very good outline and structure, chapter content :)<br><br></blockquote><div><br></div><div>Thank you for your feedback!  I've incorporated it into a new branch I'll be pushing for review shortly.<br><br></div><div>Dustin <br></div></div></div></div>