<div dir="ltr">I have improved my proposals as suggested by you except timeline.Now you can see is this is perfect.<div>Few hours are left so please reply soon as possible.Now i'm improving project timeline.</div><div>Thank You</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 26 March 2018 at 12:53, Mojca Miklavec <span dir="ltr"><<a href="mailto:mojca.miklavec.lists@gmail.com" target="_blank">mojca.miklavec.lists@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear Abhishek,<br>
<br>
On 26 March 2018 at 08:00, Abhishek Kashyap wrote:<br>
> Yes,I can totally ageee with you.But i focus more attention towards the goal<br>
> of the project almost from GSOC period.I am not doing for money instead i<br>
> want to be part of open source. This will be my achivements.So please view<br>
> my proposals and suggest changes.Even i not able to contact my mentor.So<br>
> that i can maximise the chance of accepting into GSOC.<br>
> Thank You<br>
<br>
I did send you some feedback for which you have deliberately chosen to<br>
argue against instead of doing it.<br>
<br>
And you did receive a very detailed reply from precisely one of two<br>
people listed as a potential mentor. Do you want to say you did not<br>
receive it?<br>
<br>
I have nothing to add to that, except that Ignoring the advice we gave<br>
you in numerous email (including the plea to not send emails to<br>
individual people, but keep discussion on the list, ignoring feedback<br>
you receive etc.) will do anything but increase your chances to get<br>
accepted.<br>
<br>
Mojca<br>
<br>
On 25 March 2018 at 23:38, Rainer Müller wrote:<br>
> Hello Abhishek,<br>
<span class="">><br>
> On 2018-03-25 16:43, Abhishek Kashyap wrote:<br>
>> I have drafted my proposals through GSOC portal.Please review it,give<br>
>> feedback and suggest changes.As time is very less (only 2 days left) So<br>
>> i hope you plase take steps soon as possible.<br>
><br>
</span>> Your proposal is well-structured and follows our template. However, you<br>
> should be more careful with the English language and especially punctuation.<br>
><br>
> Let me go through the proposal and leave comments:<br>
><br>
> Project Idea & Abstract<br>
><br>
> The project idea section does not actually explain the project idea.<br>
><br>
> You cannot say that you want "To make MacPorts efficient ,useful and<br>
> popular". This would imply it is none of this at the moment. Also, how<br>
> does your project help to reach that?<br>
><br>
> In the abstract, the output of 'port selfupdate' is not relevant to your<br>
> proposal. Why are you not even showing the message for unread items that<br>
> would appear there? Why are you not demonstrating how 'port news' will work?<br>
><br>
> The goal needs to be made clear here. It is definitely not "to inform<br>
> user about exact configuration changes that has been made after updating<br>
> the port tree". Your goal is a mechanism to deliver announcements to<br>
> users of MacPorts. These announcements are distributed along with the<br>
> ports tree and can be read by users with a 'port news' command.<br>
><br>
> Methodology<br>
><br>
> Lots of details are left out or implied. The proposal should be written<br>
> such that it does not require prior knowledge on the topic. Imagine the<br>
> reader has never heard of what you are proposing, but has knowledge on<br>
> MacPorts itself.<br>
><br>
> One of the first things I noticed is that you must have blindly copied a<br>
> lot of stuff from Gentoo, without applying the necessary changes to<br>
> adapt this to MacPorts. The reference to Gentoo was meant as an<br>
> inspiration. We have not asked to copy and paste the functionality into<br>
> MacPorts.<br>
><br>
> a) News Manager<br>
><br>
> Why are you choosing a directory for the unread items? Where is this<br>
> directory? Are you planning to copy the news items them there? How does<br>
> it work with multiple ports trees? No details are given on this and I<br>
> honestly do not understand it.<br>
><br>
> Talk more about the mechanisms and what you want to achieve. Tell me<br>
> less what it will look like in the code. Before you tell me how you will<br>
> implement something, tell me about the design first. Afterwards you can<br>
> explain how this can be achieved with code, but first there has to be<br>
> plan what you even want to do.<br>
><br>
> I would have used the SQLite registry we already have to store the<br>
> unread state of each news entry.<br>
><br>
> You need a clear description here in which states a news item can be.<br>
> And then, which action will change the state of a news item? How will<br>
> these states be reflected in the database or in the filesystem. What do<br>
> you have to manipulate to apply a state change.<br>
><br>
> portdb, portdbapi, vardb, vardbapi, language_id, ...:<br>
> Lots of variables (?) or terms that do not exists in MacPorts.<br>
> Therefore most of the API description makes no sense. I assume you<br>
> blindly copied this from Gentoo, without applying the necessary changes<br>
> to adapt this to MacPorts.<br>
><br>
> unread_filename, skip_filename? What is this skip about? "skip" is not<br>
> mentioned before and never after. What should I make of such unconnected<br>
> pieces of information?<br>
><br>
> "updateItems: It will figure out which news items from NEWS_PATH are<br>
> both unread"<br>
> How exactly will it do that? This must probably be one of the most<br>
> important parts of the News Manager and you just left it out.<br>
><br>
> "getUnreadItems:It will determine if there are unread relevant items in<br>
> news.repoid.unread."<br>
> Aren't all items in news.repoid.unread relevant to the user? I thought<br>
> you filtered them before even adding them to the unread database?<br>
><br>
> b) News Items<br>
><br>
> Looks like a class description, but that is an implementation detail<br>
> that does not matter at this stage.<br>
><br>
> How would news items be stored in the ports tree?<br>
> What information do they need to contain?<br>
> What is an example of the file format?<br>
><br>
> c) Display<br>
><br>
> Are the restrictions full-blown Tcl expressions are just static<br>
> declarations?<br>
><br>
> "DisplayProfileRestriction": no such thing exists in MacPorts. Once<br>
> again, you blindly copied from Gentoo.<br>
><br>
> "count_unread_news": Why is this not the responsibility of the News Manager?<br>
><br>
> d) Adding command<br>
><br>
> So, a 'port news'. You tell me nothing more. How will it behave? Will it<br>
> have subcommands? What can the user do with it? When will an item be<br>
> marked as read? How will this interact with the News Manager?<br>
><br>
> All the implementation details here seem wrong. No, this will not be in<br>
> action_selfupdate, as it will be its own port action. You might want to<br>
> name it action_news. It will especially not be in<br>
> macports1.0/selfupdate.tcl, as this is solely a part of the port client.<br>
><br>
> News items added to web<br>
><br>
> How will the HTML pages be generated? Will it use templates? When will<br>
> the pages be updated? What tools will be required for this?<br>
><br>
> Is your plan to integrate it with our existing announcements or replace<br>
> them?<br>
><br>
> Here you did the exact opposite of the rest of your proposal. You<br>
> described a design, but left out the implementation.<br>
><br>
> Project Timeline<br>
><br>
> Hard to follow. For example, the first five weeks are just labeled "News<br>
> Manager". There are no milestones or details for each week.<br>
><br>
> Are the "#1,#2,#3" meant to refer to the API description given before?<br>
> This is really hard to follow. So, after four weeks you want to have<br>
> finished the init function and two one-liner functions for News Manger.<br>
> This cannot be realistic.<br>
><br>
> You need to come up with a better way to measure your progress. Set<br>
> yourself milestones which parts are supposed to work at which time. This<br>
> can be weekly or maybe monthly if you are not yet able to determine the<br>
> exact time you will need to specific tasks.<br>
><br>
> You could also give examples what you would do when you are unexpectedly<br>
> ahead of your schedule or behind. Are there things that could<br>
> additionally be implemented, but there was no time for it anymore? Are<br>
> there things that are not relevant to the core mechanisms and could be<br>
> left out due to time constraints?<br>
><br>
> You want to implement the 'port news' command very late in a single<br>
> week. How are you going to test the functionality in the weeks before<br>
> that if this command does not yet exist?<br>
><br>
> Also, writing tests at the end does not make sense to me either. You<br>
> should write tests while you are implementing the functionality, not<br>
> some time later.<br>
><br>
> The web part is missing completely from the timeline. Are you going to<br>
> implement that or not?<br>
><br>
> What I am still missing in the timeline is time for documentation.<br>
> For example, writing a new port action also means writing a new man page<br>
> for it. And it would also be helpful to users to have information on<br>
> this in the guide.<br>
><br>
> Overall<br>
><br>
> You still need to improve your proposal. Outline the goals clearly.<br>
> Review the parts you took from Gentoo again and make them fit into the<br>
> world of MacPorts. Give a proper design description before you explain<br>
> the implementation.<br>
><br>
> In general on your communication style: Please do not start new mail<br>
> threads all the time. Instead, reply to previous mails. There are also<br>
> other things being discussed at the same time over this list and your<br>
> GSoC topic across multiple threads is very hard to follow.<br>
><br>
> Oh, and by the way, I spent around two hours with reading, thinking and<br>
> writing this email. Please be more patient when you expect answers. We<br>
> are not at our computers all the time and even if we are, we cannot not<br>
> always reply immediately.<br>
><br>
> I hope these comments help you to improve your proposal. Let me know if<br>
> you need clarification on specific points.<br>
><br>
> Rainer<br>
</blockquote></div><br></div>