<div dir="ltr">Hey,<div><br></div><div>So first thing.</div><div>(a.1) I am planning to install ubuntu on my pc in a day.</div><div>        I guess We can install Macports on that. <br></div><div>(a.2 , a.3) Once macports is installed i'll install mpstats ,buildbot too.</div><div><br></div><div>(b.1) I went and completed week 1.But i am unable to access week 3 , week 4.Because the course starts on April 30 i guess.</div><div>I went through the topics.</div><div>Week 3 : Subqueries and Join</div><div>Week 4 : Modifying and Analyzing Data with SQL</div><div><br></div><div>So now would learn more about these topics through youtube, many other resources.</div><div><br></div><div>(b.2) Will look into them.</div><div>(b.3) Django hopefully wouldn't be a problem.</div><div><br></div><div>(c.0)  <span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">I would suggest that we create a new repository for your project under</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">MacPorts, you fork it and use your own fork for endlessly playing with</span><br style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">it, testing etc</span>

</div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">This sounds good.</span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">I think i would be more comfortable with Github.</span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">(c.2) Can be done.</span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">(c.3) You are talking about Build History data ..right?<br>There is already a JSON API for it as you said..so cant we use it? ( <b style="font-weight:normal" id="gmail-docs-internal-guid-f7a07faa-f4a8-4204-c407-1b306a51fdea"><span style="font-size:10pt;font-family:Verdana;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"><a href="https://build.macports.org/json/help">https://build.macports.org/json/help</a></span></b> )</span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">(d.1 , d.2) Yes will do the research .</span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">(e.1) I think when i will be changing Buildbot to update the database after every build ..Then i would need Tcl.</span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Will learn them as i get time.</span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Will see Project Description.</span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Also i have my Semester End exams from 27 April - 7 may.</span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">So maybe i would not be able to reply on time.</span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Thanks</span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Vishnu<br><br></span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div> </div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 24 April 2018 at 03:37, Mojca Miklavec <span dir="ltr"><<a href="mailto:mojca@macports.org" target="_blank">mojca@macports.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear Vishnu,<br>
<br>
I have a bunch of suggestions written below. Community bonding should<br>
usually be used to getting familiar with our codebase, our tools, our<br>
communication channels, getting to know people, ...<br>
<br>
Since you are creating a standalone product, this community bonding<br>
could be slightly different (not so much need to learn our base code<br>
by heart), but it should warm you up and get you up to full speed by<br>
the time the coding period starts.<br>
<br>
The most important parts are:<br>
- getting MacPorts installed somewhere where you have regular access<br>
- creating a repository and finish/improve the planning, I would like<br>
to see the database design finalized, finish the sample HTML document,<br>
...<br>
- creating tickets with milestones<br>
<br>
I hope others will be able to comment on my suggestions (they are not<br>
universal truths :)<br>
<br>
<br>
<br>
INSTALLING MACPORTS, BUILDBOT<br>
<br>
(a.1) We explained that owning a Mac was not a requirement for working<br>
on this project, but it would be orders of magnitude easier to work on<br>
some tasks if you had a regular access to MacPorts. This could either<br>
be:<br>
  - SSH access to a remote Mac or VM<br>
  - A Linux machine (even if Raspberry PI) or a VM with Linux<br>
<br>
You should start working on this as soon as possible because it would<br>
be a pity to waste precious time during the coding period. MacPorts<br>
can theoretically be installed on a UNIX machine, but there might be<br>
problems of one kind or the other. We can help you circumvent the<br>
problems, but you need to star working on this ASAP.<br>
<br>
Please let us know what your plan is.<br>
<br>
(a.2) With MacPorts you should be able to install mpstats and use it<br>
to submit statistics (to either the official server or your new server<br>
once ready).<br>
<br>
(a.3) It would probably be quite helpful if you manage to install<br>
buildbot and replicate our setup (at least to some extent). But (a.1)<br>
is a strong requirement for that, else it makes no sense.<br>
<br>
<br>
SQL & OTHER TOOLS<br>
<br>
(b.1) This is an absolute must:<br>
    <a href="https://www.coursera.org/learn/sql-for-data-science#" rel="noreferrer" target="_blank">https://www.coursera.org/<wbr>learn/sql-for-data-science#</a><br>
along with some further understanding of primary keys, indices,<br>
foreign keys, ...<br>
<br>
Let us know whether you managed to subscribe and how you are<br>
progressing, whether you have any further questions etc.<br>
<br>
(b.2) I found two (fully optional) courses on web design:<br>
- a very lightweight one with very clear explanations and adorable<br>
teacher, good for listening to while going for a walk :)<br>
  <a href="https://www.coursera.org/learn/responsivedesign/" rel="noreferrer" target="_blank">https://www.coursera.org/<wbr>learn/responsivedesign/</a><br>
- a more comprehensive one about bootstrap 4:<br>
  <a href="https://www.coursera.org/learn/bootstrap-4/" rel="noreferrer" target="_blank">https://www.coursera.org/<wbr>learn/bootstrap-4/</a><br>
You might know these things already and even if not, you probably know<br>
enough to come up with some basic styles for what we need; we don't<br>
need perfect design anyway.<br>
<br>
(b.3) Django (which you should know from inside out :)<br>
<br>
<br>
PLANNING<br>
<br>
(c.0) Open for discussion/suggestions ...<br>
I would suggest that we create a new repository for your project under<br>
MacPorts, you fork it and use your own fork for endlessly playing with<br>
it, testing etc. (No need to fork though, you can just start<br>
somewhere.) Once you think that part of your code is ready for review,<br>
you submit a pull request, we review it and merge it. That way we<br>
would end up with clean code upstream, all of it being properly<br>
reviewed.<br>
<br>
Once the code ends up in the MacPorts repository, that code should<br>
basically be ready for deployment.<br>
<br>
We use Trac as our main issue tracker. It depends on what others<br>
think, but as a pilot project we could use GitHub issues & milestones<br>
in this case. What do others think?<br>
<br>
(c.1) I would suggest to turn your application (just plans, no<br>
personal info) and spreadsheet with database into some<br>
documentation/plan document in that repository. Then we can make<br>
further suggestions for how to improve the plan before the summer<br>
starts.<br>
<br>
(c.2) Let's use the bonding period to open a bunch of tickets and<br>
assign milestones to them, say:<br>
  - "install MacPorts on X; milestone: community bonding"<br>
  - "accept and store installation statistics; milestone: 1st midterm"<br>
  - "deploy basic page; milestone: 1st midterm"<br>
  - ...<br>
  - "implement OAuth; milestone: stretch goals"<br>
to match his timeline from the proposal. We might need to identify<br>
further requirements (that could be implemented by someone else) for<br>
the work to be complete (like: improve portindex2json, whatever needs<br>
to be changed on the buildbot side, ...).<br>
<br>
(c.3) Plan the API to get the data from the database in JSON format<br>
(so that someone else could write an independent app with the same<br>
display functionality).<br>
More in a separate email, I guess.<br>
<br>
<br>
MARKET RESEARCH<br>
<br>
(d.1) Figure out if the app could be deployed somewhere temporarily. (Heroku?)<br>
<br>
(d.2) Do some "market research" of different available graph drawing<br>
toolkits and try to report pros/cons for our application. (Personally<br>
I would like to find something that would allow zooming and sliding in<br>
time, but even if that requirement is not met, that's OK.)<br>
<br>
<br>
MACPORTS BASE<br>
<br>
(e.1) Usually we would have suggested the students to get really<br>
familiar with the Tcl and MacPorts base. I'm not sure how much Tcl is<br>
really needed in this case. You might want to be able to modify<br>
mpstats or portindex2json or something like that, so it helps to have<br>
a basic understanding of our code, but the tricky stuff can be done by<br>
someone else when needed.<br>
<br>
Here's a video about Tcl from Clemens:<br>
* <a href="https://youtu.be/46qshiDskrM" rel="noreferrer" target="_blank">https://youtu.be/46qshiDskrM</a><br>
<br>
That said, you should become familiar with various concepts of how<br>
MacPorts works from the user point of view, where all the resources<br>
are (build infrastructure etc.), ...<br>
<br>
PROJECT DESCRIPTION<br>
<br>
The official project description still has some typos and could be<br>
improved. It can still be modified until the coding starts. Low<br>
priority, but let's think of some improvements during those three<br>
weeks.<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
Mojca<br>
</font></span></blockquote></div><br></div>