You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Abhishek Dhadwal <dh...@gmail.com> on 2019/03/21 16:06:46 UTC

GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Dear Sirs/Ma’ams, 
       I am Abhishek Singh Dhadwal, a student currently pursuing a Bachelor’s Degree in the field of Computer Science and Engineering in Visvesvaraya National Institute of Technology, Nagpur, India (Year-II) and I was fascinated by the efforts The Apache Foundation has undertaken in order to transform the Open Source Development Community .
       As an appreciator of OSS myself, I’m particularly excited by the student project titled 'Lagged Fibonacci Generators' and the changes it can provide for the community as a whole. I would love to attain more information about it, along with the way a student like me would be able to contribute to it as a part of Google Summer Of Code, 2019.
       I read the JIRA site about the issues it faces, the user guide and the Wikipedia site about the generator. Hence, on the recommendation of Gilles sir from the project’s JIRA site,  I joined this mailing list in order to attain assistance and guidance about the above project.

1.This is the first time I’m applying for GSoC , so , I’m still unsure about the tasks I’m required to perform as part of this undertaking, along with the proper method of writing a proposal up to the standards of the Apache Organization. 
2. I've read about the deficiencies in the wiki, but, they are a bit complicated in the language provided by the wiki page. Are there any other sources for the aforementioned data ?
       
       Overall, it would be a privilege for me to be granted the opportunity to assist in this project, and I would be grateful if the above questions were answered.
Thanking you,
Yours faithfully,
Abhishek Singh Dhadwal
Year-II, B.Tech  : Computer Science and Engineering
Visvesvaraya National Institute of Technology, Nagpur, India

Sent from Mail for Windows 10


Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Gilles Sadowski <gi...@gmail.com>.
> > Hi.
> >
> > I see that you use Java 11.
> > Can you try with a different version?
> > We only know that the build should work with Java 6, 7, 8, and 9.
> >
> > Actually, it would be a nice "micro-task" to figure out how to fix
> > that issue (confirmed to also happen with Java 10).
>
> I think this failed due to JaCoCo 0.8.0.
>
> 0.8.2 was the first version to support Java 11.
>
> When I use 0.8.2 or 0.8.3 I can run:
>
> > mvn clean package -P commons-rng-examples
>
> Currently:
> commons RNG uses 0.8.0
> commons parent 47 defines 0.8.1
> commons parent 48-SNAPSHOT defines 0.8.2
>
> So I’ve upgraded to 0.8.3 in commons-rng-parent. You should be able to build the package now.

Thanks!

Gilles

>
> Note: I still get a problem on Java 11 when building the site. This is from the spotbugs site report generation. Upgrading that from 3.1.3 in the parent to the latest 3.1.11 works. Then I get some Javadoc build errors on tables in the MersenneTwister. Disable the javadoc report and I can build the site on JDK 11 using:
>
> > mvn clean package site -P commons-rng-examples -Dmaven.javadoc.skip=true
>
> I’ll fix the javadoc another day.
>
> Alex
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Alex Herbert <al...@gmail.com>.

> On 23 Mar 2019, at 17:34, Gilles Sadowski <gi...@gmail.com> wrote:
> 
> Hi.
> 
> I see that you use Java 11.
> Can you try with a different version?
> We only know that the build should work with Java 6, 7, 8, and 9.
> 
> Actually, it would be a nice "micro-task" to figure out how to fix
> that issue (confirmed to also happen with Java 10).

I think this failed due to JaCoCo 0.8.0.

0.8.2 was the first version to support Java 11.

When I use 0.8.2 or 0.8.3 I can run:

> mvn clean package -P commons-rng-examples

Currently:
commons RNG uses 0.8.0
commons parent 47 defines 0.8.1
commons parent 48-SNAPSHOT defines 0.8.2

So I’ve upgraded to 0.8.3 in commons-rng-parent. You should be able to build the package now.

Note: I still get a problem on Java 11 when building the site. This is from the spotbugs site report generation. Upgrading that from 3.1.3 in the parent to the latest 3.1.11 works. Then I get some Javadoc build errors on tables in the MersenneTwister. Disable the javadoc report and I can build the site on JDK 11 using:

> mvn clean package site -P commons-rng-examples -Dmaven.javadoc.skip=true

I’ll fix the javadoc another day.

Alex



RE: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Abhishek Dhadwal <dh...@gmail.com>.
Dear Sir,
$mvn clean package runs perfectly and the build is successful. 

However, after installing TortoiseSVN and using $ mvn clean package site 
I get the following error :
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Apache Commons RNG 1.3-SNAPSHOT:
[INFO]
[INFO] Apache Commons RNG ................................. SUCCESS [06:58 min]
[INFO] Apache Commons RNG Client API ...................... FAILURE [04:03 min]
[INFO] Apache Commons RNG Core ............................ SKIPPED
[INFO] Apache Commons RNG Simple .......................... SKIPPED
[INFO] Apache Commons RNG Sampling ........................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  11:02 min
[INFO] Finished at: 2019-03-25T00:09:13+05:30
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.7.1:site (default-site) on project commons-rng-client-api: Execution default-site of goal org.apache.maven.plugins:maven-site-plugin:3.7.1:site failed: Java returned: 1 -> [Help 1]
Thanking you,
Yours faithfully,
Abhishek
Sent from Mail for Windows 10

From: Alex Herbert
Sent: 24 March 2019 23:32
To: Commons Developers List
Subject: Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'



> On 24 Mar 2019, at 17:51, Abhishek Dhadwal <dh...@gmail.com> wrote:
> 
> 
> Dear Sir,
> This all looks good. I would reemphasise that you should find a reference implementation of any new generator so that you can run it to produce numbers given a known seed. This can be used to test the Java version you create produces exactly the same sequence.
> Thank you for the feedback ! I shall keep that in mind while performing the aforementioned implementations.
> If you look at the unit tests for each generator in commons-rng-core you will see the type of testing process to implement.
> Will do so. Thank you again!
> The changes I suggested for building on Java 11 are now in master. Just update and try again:
>> git pull
>> mvn clean package site
> Let me know if you still get an error.
> Alex
> Unfortunately, even after having my repo updated to the latest version, I’m still getting an error. Seems like the file or path specified for a program known as “svm” cannot be found. The output is as follows :
> 
> [INFO] BUILD FAILURE
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time:  48.667 s
> [INFO] Finished at: 2019-03-24T23:05:29+05:30
> [INFO] ------------------------------------------------------------------------
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (prepare-checkout) on project commons-rng-parent: An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program "svn": CreateProcess error=2, The system cannot find the file specified
> [ERROR] around Ant part ...<exec executable="svn">... @ 4:26 in C:\Users\abhi1\Documents\GitHub\commons-rng\target\antrun\build-main.xml

To build the site you need to install svn (subversion). You don’t need the site unless you want to look at all the reports for the latest build. However you can run reports for different tools individually anyway.

Try again without site in the maven command.

mvn clean package



> 
> Thanking you,
> Yours faithfully,
> Abhishek
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org



Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Alex Herbert <al...@gmail.com>.

> On 24 Mar 2019, at 17:51, Abhishek Dhadwal <dh...@gmail.com> wrote:
> 
> 
> Dear Sir,
> This all looks good. I would reemphasise that you should find a reference implementation of any new generator so that you can run it to produce numbers given a known seed. This can be used to test the Java version you create produces exactly the same sequence.
> Thank you for the feedback ! I shall keep that in mind while performing the aforementioned implementations.
> If you look at the unit tests for each generator in commons-rng-core you will see the type of testing process to implement.
> Will do so. Thank you again!
> The changes I suggested for building on Java 11 are now in master. Just update and try again:
>> git pull
>> mvn clean package site
> Let me know if you still get an error.
> Alex
> Unfortunately, even after having my repo updated to the latest version, I’m still getting an error. Seems like the file or path specified for a program known as “svm” cannot be found. The output is as follows :
> 
> [INFO] BUILD FAILURE
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time:  48.667 s
> [INFO] Finished at: 2019-03-24T23:05:29+05:30
> [INFO] ------------------------------------------------------------------------
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (prepare-checkout) on project commons-rng-parent: An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program "svn": CreateProcess error=2, The system cannot find the file specified
> [ERROR] around Ant part ...<exec executable="svn">... @ 4:26 in C:\Users\abhi1\Documents\GitHub\commons-rng\target\antrun\build-main.xml

To build the site you need to install svn (subversion). You don’t need the site unless you want to look at all the reports for the latest build. However you can run reports for different tools individually anyway.

Try again without site in the maven command.

mvn clean package



> 
> Thanking you,
> Yours faithfully,
> Abhishek
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


RE: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Abhishek Dhadwal <dh...@gmail.com>.
Dear Sir,
This all looks good. I would reemphasise that you should find a reference implementation of any new generator so that you can run it to produce numbers given a known seed. This can be used to test the Java version you create produces exactly the same sequence.
Thank you for the feedback ! I shall keep that in mind while performing the aforementioned implementations.
If you look at the unit tests for each generator in commons-rng-core you will see the type of testing process to implement.
Will do so. Thank you again!
The changes I suggested for building on Java 11 are now in master. Just update and try again:
> git pull
> mvn clean package site
Let me know if you still get an error.
Alex
Unfortunately, even after having my repo updated to the latest version, I’m still getting an error. Seems like the file or path specified for a program known as “svm” cannot be found. The output is as follows :

[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  48.667 s
[INFO] Finished at: 2019-03-24T23:05:29+05:30
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (prepare-checkout) on project commons-rng-parent: An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program "svn": CreateProcess error=2, The system cannot find the file specified
[ERROR] around Ant part ...<exec executable="svn">... @ 4:26 in C:\Users\abhi1\Documents\GitHub\commons-rng\target\antrun\build-main.xml

Thanking you,
Yours faithfully,
Abhishek




Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Alex Herbert <al...@gmail.com>.

> On 24 Mar 2019, at 14:47, Gilles Sadowski <gi...@gmail.com> wrote:
> 
> Hi Abhishek.
> 
> Overall it looks good to me (but I'm not used to laying out GSoC proposals
> so it might be good to have additional comments).
> 
> I've added a few remarks in the text (see below).
> 
> Le dim. 24 mars 2019 à 13:09, Abhishek Dhadwal <dhadwal1507@gmail.com <ma...@gmail.com>> a écrit :
>> 
>> Dear Sir,
>> 
>> I’ve added skeletal draft of my GSOC proposal (as per the Apache foundation’s guidelines) below :
>> 
>> GSOC-19 Application :- RNG-32: Implement More Generators
>> 
>> Background
>> 
>> The Commons RNG is focused on the utilization of Java-only implementations of various standard generators, with focus being placed on fast generators with strong uniformity and predictability.
> 
> You should probably insert the words "random numbers" somewhere.
> Perhaps add this link
>    https://en.wikipedia.org/wiki/Pseudorandom_number_generator <https://en.wikipedia.org/wiki/Pseudorandom_number_generator>
> as general information about the topic.
> 
>> 
>> Design / description of work
>> 
>> -  Implementation of Linear Congruential Generators
>> 
>> -  Implementation of Lagged Fibonacci Generators
>> 
>> -  Implementation of PCGs
> 
> Perhaps add web links (e.g. to the corresponding Wikipedia pages).
> 
>> 
>> Results for the Apache community
>> 
>> The implementation of PRNGs will allow for the occurrence of speed and regularity for sequences of pseudo random numbers, easing the creation of applications involving data encryption, games and gambling.
> 
> I'd be wary mentioning "data encryption"; it's probably a long way from
> the deterministic RNG implementations, that are the scope of this
> component, to a reliable cryptographic appplication.
> 
> "Simulations" is probably worth mentioning among the potential uses.
> You could also mention actual applications that use RNGs (and maybe
> issues that they could encounter with using a "bad" generator).
> 
>> Deliverables
>> 
>> Java Implementations for the following PRNGs shall be provided:
>> 
>> 1. Linear Congruential Generators : One of the oldest and best known PRNG algorithms, LCGs create pseudo random sequences of numbers using discontinuous piecewise linear equations.
>> 
>>  2. Lagged Fibonacci Generators : An improvement over Linear Congruential Generators , these PRNGs take their inspiration from the Fibonacci series, and utilise the following generalised formula :
>> Sn = Sn-k * Sn-j (mod m) , where ‘*’ is a binary operation. (NOTE: k and j may not be selected randomly)
>> 
>>  3. PCGs : Permuted Congruential Generators are RNGs which are modern, light and reliable in nature, and are more efficient than LCGs while utilising a power of 2 modulus, leading to unbiased output bits.
> 
> Reading one of the above links, I've just found out another generator that
> looks quite easy to implement:
>  https://issues.apache.org/jira/browse/RNG-85 <https://issues.apache.org/jira/browse/RNG-85>
> 
>> 
>> Scheduling
>> 
>> May 27- Beginning of coding and testing for Linear Congruential Generators
>> 
>> June 17 - Testing for LCG commenced along with potential bug fixing
>> 
>> June 24 18:00 UTC - Testing phase 1 - complete. Mentor evaluation of LCGs begin / Evaluation 1
>> 
>> June 28 18:00 UTC - Phase 1 Evaluation deadline
>> 
>> June 29 - Beginning of implementation for Lagged Fibonacci Generators
>> 
>> July 15 - Student testing of implemented LFGs begins along with bug fixing
>> 
>> July 22 18:00 UTC - Testing Phase 2 – Complete. Mentor evaluation of LFGs begin / Evaluation 2
>> 
>> July 26 18:00 UTC - Phase 2 Evaluation deadline
>> 
>> July 27 -Design and Coding for Java Implementation of PCGs begin
>> 
>> August 12 - Student testing of PCGs begins along with the implementation of final fixes to code
>> 
>> August 19 - 26 18:00 UTC - Final phase of Student Testing Complete. Mentor evaluation of overall code begins / Final evaluation
>> 
>> August 26 - Sept 2 18:00 UTC - Mentors submit final student evaluations
>> 
>> September 3- Final results of Google Summer of Code 2019 announced
> 
> Honestly, I've no idea about whether this schedule is realistic.
> I mean: Assuming full-time commitment, it could probably be
> finished much faster. ;-)
> At this point, it looks to me that the longest part will be getting
> acquainted with the framework of "Commons RNG" (and even
> this will probably look fairly easy once you get the hang of it).
> Then the coding of the algorithm(s) will be pretty straightforward:
> It seems (sometimes much) less than 20 lines of code each.
> Most time will probably be spent porting from C (with its caveat
> of data type adaptation), ensuring full coverage and reproducibility
> of the reference implementation's output.
> 
> That is to say that we should perhaps add additional task(s)...
> An obvious one would be to mention:
> - Look for more RNG algorithms, and implement them, if
>   time permits.
> 
>> Other commitments
>> None during the period of May 27th-July 27th . College begins from July 27th, but shall not affect the deadlines proposed.
>> 
>> Community engagement
>> Interacted with Gilles sir in the JIRA forum, along with subscription and interaction with members of the developer’s mailing list. Project importing and building using Maven also performed.
>> 
>>       -- END OF PROPOSAL—
>> 
>> NOTE: I had created a table for the scheduling part, which got removed when I copied my draft proposal from the word document to mail, along with various cosmetic changes which I had applied to the text.
> 
> Depending on what kind of document, you might write it in "Google Docs"
> (seems appropriate for GSoC...) and share the link.
> 
>> Should I add my previous experience with Java and other qualifications, along with sources of information?
> 
> Sure.
> 
>> What other changes should I make to my current proposal ?
> 
> See above.
> And perhaps Alex, and others, have something to add too…

This all looks good. I would reemphasise that you should find a reference implementation of any new generator so that you can run it to produce numbers given a known seed. This can be used to test the Java version you create produces exactly the same sequence.

If you look at the unit tests for each generator in commons-rng-core you will see the type of testing process to implement.

> 
>> Feedback would be highly appreciated.
>> 
>> PS :- Apologies for not replying earlier, I’ve been under the weather for the past few days. I shall undertake the changes you and Alex sir have advised, and reply as soon as possible.

The changes I suggested for building on Java 11 are now in master. Just update and try again:

> git pull
> mvn clean package site

Let me know if you still get an error.

Alex


RE: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Abhishek Dhadwal <dh...@gmail.com>.
Dear Sir,
I’ve implemented all the changes required, and made a few tweaks and additions as per your suggestions. Kindly check them and let me know if I’ve to make more changes.
The link : https://docs.google.com/document/d/1dKwGTDYWrqae26v3DdLljvZw9reEfaO5h2vyO1rWRG8/edit?usp=sharing
Thank you so much for the feedback !

Regards,
Abhishek

Sent from Mail for Windows 10

From: Alex Herbert
Sent: 29 March 2019 03:06
To: Commons Developers List
Subject: Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Hi,

The proposal is good. It sets out the areas you wish to work on and an initial timeframe. This will probably change due to the nature of discovery as your work proceeds but everyone understands this and the starting plan is sound.


Here are some areas for revision:

Qualify this statement: 'Running benchmarks on Java’s ‘SecureRandom’(introductory task)

This is not described anywhere else and needs some explanation. What are you going to benchmark and for what purpose? Perhaps summarise by stating that the relative speed performance can be tested of the standard implementations provided by Sun:

https://docs.oracle.com/en/java/javase/11/docs/specs/security/standard-names.html#securerandom-number-generation-algorithms <https://docs.oracle.com/en/java/javase/11/docs/specs/security/standard-names.html#securerandom-number-generation-algorithms>

Note that some of these are blocking and sources of entropy are system dependent. You should concentrate on non-blocking implementations for benchmarking. It would be good to know how much slower it would be to plug in a secure RNG in place of a non-secure one.



In your schedule you state:

Coding of implemented PCGs begins along with bug fixing 

I would remove the ‘bug fixing’. I do not imagine you will have time to introduce bugs within a week then fix them again. Leave it out as it is already covered by the comparison of your Java port to the reference implementation. If you match the implementation then the task is done. If not then carry on trying to implement it.



Typos:

(Not a problem but I always collate these when proof reading)

thes PRNGs

Missing spaces:

implementations,porting 
known.Determinism
‘SecureRandom’(introductory task)

Extra spaces:

“implementation details” ,
Tortoise SVN performed .
DTPS , Dahanu
Java , Matlab ,
July 27th . College

You need some consistency with how you introduce lists. You use different punctuation throughout, for example:

- end of text :
- end of text :-
- end of text:
- end of text -

You switch from Italic to Standard font before a punctuation or sometimes after, for example:

- end of text: more
- end of text: more

You sometimes put your [x] reference insert before or after punctuation, for example:

- something good[1].
- something better.[2]

You sometimes end bullet points with a full stop and sometimes not. I would either add them all the time or only add them when the bullet point has multiple sentences.

Some of your bullet point lists do not have space before or after to the adjacent paragraphs.


Hope this helps.

Alex


> On 28 Mar 2019, at 04:00, Abhishek Dhadwal <dh...@gmail.com> wrote:
> 
> Hi Sir,
> I’ve made the changes that were required, which consisted of updating the timeline and adding to the deliverables section. Kindly check the document and let me know of any changes to be made.
> Regards,
> Abhishek
> 
> Sent from Mail for Windows 10
> 
> From: Gilles Sadowski
> Sent: 27 March 2019 19:40
> To: Commons Developers List
> Subject: Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'
> 
> Hi.
> 
> Le mer. 27 mars 2019 à 13:43, Abhishek Dhadwal <dh...@gmail.com> a écrit :
>> 
>> 
>> 
>> Hello Sir,
>> 
>>> I don't know what are the hard requirements for the schedule, but
>>> I would not make such delineation between coding, reviewing and
>>> testing.
>> The Elements Of A Quality Proposal in Google’s Guide (https://google.github.io/gsocguides/student/writing-a-proposal)  state the following about deliverables and timelines:
>> Deliverables
>> Include a brief, clear work breakdown structure with milestones and deadlines. Make sure to label deliverables as optional or required. You may want your plan to start by producing some kind of white paper, or planning the project in traditional Software Engineering style. It’s OK to include thinking time (“investigation”) in your work schedule. Deliverables should include investigation, coding and documentation.
> 
> So, indeed, what I described (quoted below) is referred to here as
> "investigation".
> Then "coding" could be assumed to include "testing" and "review",
> and even "documentation" (as it is a prerequisite to commit that all
> codes come with complete Javadoc).
> 
>> I attempted to follow it in my implementation of the milestone timeline.
>> What be your advice on improving/altering the timeline provided in the documentation ?
> 
> I don't know whether we follow the "traditional Software Engineering style"...
> 
> According to what happens in practice, top-level would be
> * investigation (with sub-tasks such as collecting reference implementations)
> * coding (with subtasks such as producing numbers from reference
>  implementations, porting those implementations to Java, write unit tests
>  and Javadoc)
> These two "steps" can be repeated for each RNG which you are going
> to contribute.
> But as I said there is no strict order: if you are stuck with one (e.g.
> missing a reference implementation, or cannot compile it for some
> reason), you could start working on another that may prove more
> straightforward.
> 
> HTH,
> Gilles
> 
>>> You could perhaps also mention that you'll need to compile the
>>> "reference" implementations (in C probably), and most importantly
>>> devote some time to looking for those (a.o. also compare several
>>> implementations of the same algorithm (and with the algorithm
>>> description), if there is no "authoritative" origin for the code (i.e.
>>> when the person who wrote the code is not the person who
>>> designed the algorithm).
>>> Depending on when you actually find all the needed resources
>>> for a given task, the schedule will be quite different...
>> 
>> I’ll add those tasks and work on the schedule as required.
>> 
>> Thanking You,
>> Yours Faithfully,
>> Abhishek
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
> 
> 



Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Alex Herbert <al...@gmail.com>.
Hi,

The proposal is good. It sets out the areas you wish to work on and an initial timeframe. This will probably change due to the nature of discovery as your work proceeds but everyone understands this and the starting plan is sound.


Here are some areas for revision:

Qualify this statement: 'Running benchmarks on Java’s ‘SecureRandom’(introductory task)

This is not described anywhere else and needs some explanation. What are you going to benchmark and for what purpose? Perhaps summarise by stating that the relative speed performance can be tested of the standard implementations provided by Sun:

https://docs.oracle.com/en/java/javase/11/docs/specs/security/standard-names.html#securerandom-number-generation-algorithms <https://docs.oracle.com/en/java/javase/11/docs/specs/security/standard-names.html#securerandom-number-generation-algorithms>

Note that some of these are blocking and sources of entropy are system dependent. You should concentrate on non-blocking implementations for benchmarking. It would be good to know how much slower it would be to plug in a secure RNG in place of a non-secure one.



In your schedule you state:

Coding of implemented PCGs begins along with bug fixing 

I would remove the ‘bug fixing’. I do not imagine you will have time to introduce bugs within a week then fix them again. Leave it out as it is already covered by the comparison of your Java port to the reference implementation. If you match the implementation then the task is done. If not then carry on trying to implement it.



Typos:

(Not a problem but I always collate these when proof reading)

thes PRNGs

Missing spaces:

implementations,porting 
known.Determinism
‘SecureRandom’(introductory task)

Extra spaces:

“implementation details” ,
Tortoise SVN performed .
DTPS , Dahanu
Java , Matlab ,
July 27th . College

You need some consistency with how you introduce lists. You use different punctuation throughout, for example:

- end of text :
- end of text :-
- end of text:
- end of text -

You switch from Italic to Standard font before a punctuation or sometimes after, for example:

- end of text: more
- end of text: more

You sometimes put your [x] reference insert before or after punctuation, for example:

- something good[1].
- something better.[2]

You sometimes end bullet points with a full stop and sometimes not. I would either add them all the time or only add them when the bullet point has multiple sentences.

Some of your bullet point lists do not have space before or after to the adjacent paragraphs.


Hope this helps.

Alex


> On 28 Mar 2019, at 04:00, Abhishek Dhadwal <dh...@gmail.com> wrote:
> 
> Hi Sir,
> I’ve made the changes that were required, which consisted of updating the timeline and adding to the deliverables section. Kindly check the document and let me know of any changes to be made.
> Regards,
> Abhishek
> 
> Sent from Mail for Windows 10
> 
> From: Gilles Sadowski
> Sent: 27 March 2019 19:40
> To: Commons Developers List
> Subject: Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'
> 
> Hi.
> 
> Le mer. 27 mars 2019 à 13:43, Abhishek Dhadwal <dh...@gmail.com> a écrit :
>> 
>> 
>> 
>> Hello Sir,
>> 
>>> I don't know what are the hard requirements for the schedule, but
>>> I would not make such delineation between coding, reviewing and
>>> testing.
>> The Elements Of A Quality Proposal in Google’s Guide (https://google.github.io/gsocguides/student/writing-a-proposal)  state the following about deliverables and timelines:
>> Deliverables
>> Include a brief, clear work breakdown structure with milestones and deadlines. Make sure to label deliverables as optional or required. You may want your plan to start by producing some kind of white paper, or planning the project in traditional Software Engineering style. It’s OK to include thinking time (“investigation”) in your work schedule. Deliverables should include investigation, coding and documentation.
> 
> So, indeed, what I described (quoted below) is referred to here as
> "investigation".
> Then "coding" could be assumed to include "testing" and "review",
> and even "documentation" (as it is a prerequisite to commit that all
> codes come with complete Javadoc).
> 
>> I attempted to follow it in my implementation of the milestone timeline.
>> What be your advice on improving/altering the timeline provided in the documentation ?
> 
> I don't know whether we follow the "traditional Software Engineering style"...
> 
> According to what happens in practice, top-level would be
> * investigation (with sub-tasks such as collecting reference implementations)
> * coding (with subtasks such as producing numbers from reference
>  implementations, porting those implementations to Java, write unit tests
>  and Javadoc)
> These two "steps" can be repeated for each RNG which you are going
> to contribute.
> But as I said there is no strict order: if you are stuck with one (e.g.
> missing a reference implementation, or cannot compile it for some
> reason), you could start working on another that may prove more
> straightforward.
> 
> HTH,
> Gilles
> 
>>> You could perhaps also mention that you'll need to compile the
>>> "reference" implementations (in C probably), and most importantly
>>> devote some time to looking for those (a.o. also compare several
>>> implementations of the same algorithm (and with the algorithm
>>> description), if there is no "authoritative" origin for the code (i.e.
>>> when the person who wrote the code is not the person who
>>> designed the algorithm).
>>> Depending on when you actually find all the needed resources
>>> for a given task, the schedule will be quite different...
>> 
>> I’ll add those tasks and work on the schedule as required.
>> 
>> Thanking You,
>> Yours Faithfully,
>> Abhishek
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
> 
> 


RE: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Abhishek Dhadwal <dh...@gmail.com>.
Hi Sir,
I’ve made the changes that were required, which consisted of updating the timeline and adding to the deliverables section. Kindly check the document and let me know of any changes to be made.
Regards,
Abhishek

Sent from Mail for Windows 10

From: Gilles Sadowski
Sent: 27 March 2019 19:40
To: Commons Developers List
Subject: Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Hi.

Le mer. 27 mars 2019 à 13:43, Abhishek Dhadwal <dh...@gmail.com> a écrit :
>
>
>
> Hello Sir,
>
> >I don't know what are the hard requirements for the schedule, but
> >I would not make such delineation between coding, reviewing and
> >testing.
> The Elements Of A Quality Proposal in Google’s Guide (https://google.github.io/gsocguides/student/writing-a-proposal)  state the following about deliverables and timelines:
> Deliverables
> Include a brief, clear work breakdown structure with milestones and deadlines. Make sure to label deliverables as optional or required. You may want your plan to start by producing some kind of white paper, or planning the project in traditional Software Engineering style. It’s OK to include thinking time (“investigation”) in your work schedule. Deliverables should include investigation, coding and documentation.

So, indeed, what I described (quoted below) is referred to here as
"investigation".
Then "coding" could be assumed to include "testing" and "review",
and even "documentation" (as it is a prerequisite to commit that all
codes come with complete Javadoc).

> I attempted to follow it in my implementation of the milestone timeline.
> What be your advice on improving/altering the timeline provided in the documentation ?

I don't know whether we follow the "traditional Software Engineering style"...

According to what happens in practice, top-level would be
* investigation (with sub-tasks such as collecting reference implementations)
* coding (with subtasks such as producing numbers from reference
  implementations, porting those implementations to Java, write unit tests
  and Javadoc)
These two "steps" can be repeated for each RNG which you are going
to contribute.
But as I said there is no strict order: if you are stuck with one (e.g.
missing a reference implementation, or cannot compile it for some
reason), you could start working on another that may prove more
straightforward.

HTH,
Gilles

> >You could perhaps also mention that you'll need to compile the
> >"reference" implementations (in C probably), and most importantly
> >devote some time to looking for those (a.o. also compare several
> >implementations of the same algorithm (and with the algorithm
> >description), if there is no "authoritative" origin for the code (i.e.
> >when the person who wrote the code is not the person who
> >designed the algorithm).
> >Depending on when you actually find all the needed resources
> >for a given task, the schedule will be quite different...
>
> I’ll add those tasks and work on the schedule as required.
>
> Thanking You,
> Yours Faithfully,
> Abhishek

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org



Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Gilles Sadowski <gi...@gmail.com>.
Hi.

Le mer. 27 mars 2019 à 13:43, Abhishek Dhadwal <dh...@gmail.com> a écrit :
>
>
>
> Hello Sir,
>
> >I don't know what are the hard requirements for the schedule, but
> >I would not make such delineation between coding, reviewing and
> >testing.
> The Elements Of A Quality Proposal in Google’s Guide (https://google.github.io/gsocguides/student/writing-a-proposal)  state the following about deliverables and timelines:
> Deliverables
> Include a brief, clear work breakdown structure with milestones and deadlines. Make sure to label deliverables as optional or required. You may want your plan to start by producing some kind of white paper, or planning the project in traditional Software Engineering style. It’s OK to include thinking time (“investigation”) in your work schedule. Deliverables should include investigation, coding and documentation.

So, indeed, what I described (quoted below) is referred to here as
"investigation".
Then "coding" could be assumed to include "testing" and "review",
and even "documentation" (as it is a prerequisite to commit that all
codes come with complete Javadoc).

> I attempted to follow it in my implementation of the milestone timeline.
> What be your advice on improving/altering the timeline provided in the documentation ?

I don't know whether we follow the "traditional Software Engineering style"...

According to what happens in practice, top-level would be
* investigation (with sub-tasks such as collecting reference implementations)
* coding (with subtasks such as producing numbers from reference
  implementations, porting those implementations to Java, write unit tests
  and Javadoc)
These two "steps" can be repeated for each RNG which you are going
to contribute.
But as I said there is no strict order: if you are stuck with one (e.g.
missing a reference implementation, or cannot compile it for some
reason), you could start working on another that may prove more
straightforward.

HTH,
Gilles

> >You could perhaps also mention that you'll need to compile the
> >"reference" implementations (in C probably), and most importantly
> >devote some time to looking for those (a.o. also compare several
> >implementations of the same algorithm (and with the algorithm
> >description), if there is no "authoritative" origin for the code (i.e.
> >when the person who wrote the code is not the person who
> >designed the algorithm).
> >Depending on when you actually find all the needed resources
> >for a given task, the schedule will be quite different...
>
> I’ll add those tasks and work on the schedule as required.
>
> Thanking You,
> Yours Faithfully,
> Abhishek

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


RE: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Abhishek Dhadwal <dh...@gmail.com>.

Hello Sir,

>I don't know what are the hard requirements for the schedule, but
>I would not make such delineation between coding, reviewing and
>testing.
The Elements Of A Quality Proposal in Google’s Guide (https://google.github.io/gsocguides/student/writing-a-proposal)  state the following about deliverables and timelines:
Deliverables
Include a brief, clear work breakdown structure with milestones and deadlines. Make sure to label deliverables as optional or required. You may want your plan to start by producing some kind of white paper, or planning the project in traditional Software Engineering style. It’s OK to include thinking time (“investigation”) in your work schedule. Deliverables should include investigation, coding and documentation.
I attempted to follow it in my implementation of the milestone timeline.
What be your advice on improving/altering the timeline provided in the documentation ?

>You could perhaps also mention that you'll need to compile the
>"reference" implementations (in C probably), and most importantly
>devote some time to looking for those (a.o. also compare several
>implementations of the same algorithm (and with the algorithm
>description), if there is no "authoritative" origin for the code (i.e.
>when the person who wrote the code is not the person who
>designed the algorithm).
>Depending on when you actually find all the needed resources
>for a given task, the schedule will be quite different...

I’ll add those tasks and work on the schedule as required.

Thanking You, 
Yours Faithfully,
Abhishek

Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Gilles Sadowski <gi...@gmail.com>.
Hello.

I don't know what are the hard requirements for the schedule, but
I would not make such delineation between coding, reviewing and
testing.

You could perhaps also mention that you'll need to compile the
"reference" implementations (in C probably), and most importantly
devote some time to looking for those (a.o. also compare several
implementations of the same algorithm (and with the algorithm
description), if there is no "authoritative" origin for the code (i.e.
when the person who wrote the code is not the person who
designed the algorithm).
Depending on when you actually find all the needed resources
for a given task, the schedule will be quite different...

Regards,
Gilles

Le mar. 26 mars 2019 à 19:02, Abhishek Dhadwal <dh...@gmail.com> a écrit :
>
> Dear Gilles Sir,
> Thank you for the feedback! I’ve made the changes as requested. Would you kindly review the document again and check if there are any more final changes required ?
> And, Alex sir, are there any changes required on the document ? Could you review it too ? Feedback would be highly appreciated !
>
> Regards,
> Abhishek
>
> Sent from Mail for Windows 10
>
> From: Gilles Sadowski
> Sent: 26 March 2019 19:03
> To: Commons Developers List
> Subject: Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'
>
> Thanks for the document.  I've made some comments.
> Let's see whether Alex has something to add.
>
> Regards,
> Gilles
>
> Le lun. 25 mars 2019 à 14:30, Abhishek Dhadwal <dh...@gmail.com> a écrit :
> >
> > Dear Sir,
> > The revised GSoC proposal has been created(minus the about me section), and the Google Docs link is provided below :
> > https://docs.google.com/document/d/1dKwGTDYWrqae26v3DdLljvZw9reEfaO5h2vyO1rWRG8/edit?usp=sharing
> > Any and all forms of feedback would be highly appreciated !
> > Thanking you,
> > Abhishek
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


RE: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Abhishek Dhadwal <dh...@gmail.com>.
Dear Gilles Sir,
Thank you for the feedback! I’ve made the changes as requested. Would you kindly review the document again and check if there are any more final changes required ?
And, Alex sir, are there any changes required on the document ? Could you review it too ? Feedback would be highly appreciated ! 

Regards,
Abhishek

Sent from Mail for Windows 10

From: Gilles Sadowski
Sent: 26 March 2019 19:03
To: Commons Developers List
Subject: Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Thanks for the document.  I've made some comments.
Let's see whether Alex has something to add.

Regards,
Gilles

Le lun. 25 mars 2019 à 14:30, Abhishek Dhadwal <dh...@gmail.com> a écrit :
>
> Dear Sir,
> The revised GSoC proposal has been created(minus the about me section), and the Google Docs link is provided below :
> https://docs.google.com/document/d/1dKwGTDYWrqae26v3DdLljvZw9reEfaO5h2vyO1rWRG8/edit?usp=sharing
> Any and all forms of feedback would be highly appreciated !
> Thanking you,
> Abhishek

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org



Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Gilles Sadowski <gi...@gmail.com>.
Thanks for the document.  I've made some comments.
Let's see whether Alex has something to add.

Regards,
Gilles

Le lun. 25 mars 2019 à 14:30, Abhishek Dhadwal <dh...@gmail.com> a écrit :
>
> Dear Sir,
> The revised GSoC proposal has been created(minus the about me section), and the Google Docs link is provided below :
> https://docs.google.com/document/d/1dKwGTDYWrqae26v3DdLljvZw9reEfaO5h2vyO1rWRG8/edit?usp=sharing
> Any and all forms of feedback would be highly appreciated !
> Thanking you,
> Abhishek

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


RE: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Abhishek Dhadwal <dh...@gmail.com>.
Dear Sir, 
The revised GSoC proposal has been created(minus the about me section), and the Google Docs link is provided below :
https://docs.google.com/document/d/1dKwGTDYWrqae26v3DdLljvZw9reEfaO5h2vyO1rWRG8/edit?usp=sharing
Any and all forms of feedback would be highly appreciated !
Thanking you,
Abhishek
Sent from Mail for Windows 10

From: Gilles Sadowski
Sent: 25 March 2019 05:20
To: Commons Developers List
Subject: Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Hi.

Le dim. 24 mars 2019 à 18:42, Abhishek Dhadwal <dh...@gmail.com> a écrit :
>
>
> Dear Sir,
> Honestly, I've no idea about whether this schedule is realistic. I mean: Assuming full-time commitment, it could probably be finished much faster. ;-)
> Oh, okay. As per your estimates, how many days should I allocate for the implementation and testing of each generator (inclusive of the time spent porting from C) ?

I'm not good at estimates. ;-)
In the end, if there is more time, there will always be something to do!

> At this point, it looks to me that the longest part will be getting
> acquainted with the framework of "Commons RNG" (and even
> this will probably look fairly easy once you get the hang of it).
> And how much time for this? I’ll update my timeline accordingly.

I designed the component, with the goal of fixing deficiencies[1][2]
of the "Commons Math" library and tried to provide a framework that
would be easy to use[3] (for users and contributors), but it's hard to
know how newcomers approach the result.
Alex went through this, so he can probably share his experience.

Best,
Gilles

[1] http://commons.apache.org/proper/commons-rng/userguide/rng.html#a1._Purpose
[2] http://commons.apache.org/proper/commons-rng/userguide/why_not_java_random.html
[3] http://commons.apache.org/proper/commons-rng/commons-rng-simple/apidocs/org/apache/commons/rng/simple/RandomSource.html

> That is to say that we should perhaps add additional task(s)...An obvious one would be to mention:
>  - Look for more RNG algorithms, and implement them, if time permits.
> Alright. I’ll implement all of the changes suggested, and let you know.
> Thank you so much for your input !
> Regards,
> Abhishek
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org



Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Gilles Sadowski <gi...@gmail.com>.
Hi.

Le dim. 24 mars 2019 à 18:42, Abhishek Dhadwal <dh...@gmail.com> a écrit :
>
>
> Dear Sir,
> Honestly, I've no idea about whether this schedule is realistic. I mean: Assuming full-time commitment, it could probably be finished much faster. ;-)
> Oh, okay. As per your estimates, how many days should I allocate for the implementation and testing of each generator (inclusive of the time spent porting from C) ?

I'm not good at estimates. ;-)
In the end, if there is more time, there will always be something to do!

> At this point, it looks to me that the longest part will be getting
> acquainted with the framework of "Commons RNG" (and even
> this will probably look fairly easy once you get the hang of it).
> And how much time for this? I’ll update my timeline accordingly.

I designed the component, with the goal of fixing deficiencies[1][2]
of the "Commons Math" library and tried to provide a framework that
would be easy to use[3] (for users and contributors), but it's hard to
know how newcomers approach the result.
Alex went through this, so he can probably share his experience.

Best,
Gilles

[1] http://commons.apache.org/proper/commons-rng/userguide/rng.html#a1._Purpose
[2] http://commons.apache.org/proper/commons-rng/userguide/why_not_java_random.html
[3] http://commons.apache.org/proper/commons-rng/commons-rng-simple/apidocs/org/apache/commons/rng/simple/RandomSource.html

> That is to say that we should perhaps add additional task(s)...An obvious one would be to mention:
>  - Look for more RNG algorithms, and implement them, if time permits.
> Alright. I’ll implement all of the changes suggested, and let you know.
> Thank you so much for your input !
> Regards,
> Abhishek
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


RE: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Abhishek Dhadwal <dh...@gmail.com>.
Dear Sir,
Honestly, I've no idea about whether this schedule is realistic. I mean: Assuming full-time commitment, it could probably be finished much faster. ;-)
Oh, okay. As per your estimates, how many days should I allocate for the implementation and testing of each generator (inclusive of the time spent porting from C) ?
At this point, it looks to me that the longest part will be getting
acquainted with the framework of "Commons RNG" (and even
this will probably look fairly easy once you get the hang of it).
And how much time for this? I’ll update my timeline accordingly.
That is to say that we should perhaps add additional task(s)...An obvious one would be to mention:
 - Look for more RNG algorithms, and implement them, if time permits.
Alright. I’ll implement all of the changes suggested, and let you know.
Thank you so much for your input !
Regards,
Abhishek



Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Gilles Sadowski <gi...@gmail.com>.
Hi Abhishek.

Overall it looks good to me (but I'm not used to laying out GSoC proposals
so it might be good to have additional comments).

I've added a few remarks in the text (see below).

Le dim. 24 mars 2019 à 13:09, Abhishek Dhadwal <dh...@gmail.com> a écrit :
>
> Dear Sir,
>
> I’ve added skeletal draft of my GSOC proposal (as per the Apache foundation’s guidelines) below :
>
> GSOC-19 Application :- RNG-32: Implement More Generators
>
> Background
>
> The Commons RNG is focused on the utilization of Java-only implementations of various standard generators, with focus being placed on fast generators with strong uniformity and predictability.

You should probably insert the words "random numbers" somewhere.
Perhaps add this link
    https://en.wikipedia.org/wiki/Pseudorandom_number_generator
as general information about the topic.

>
> Design / description of work
>
> -  Implementation of Linear Congruential Generators
>
> -  Implementation of Lagged Fibonacci Generators
>
> -  Implementation of PCGs

Perhaps add web links (e.g. to the corresponding Wikipedia pages).

>
> Results for the Apache community
>
> The implementation of PRNGs will allow for the occurrence of speed and regularity for sequences of pseudo random numbers, easing the creation of applications involving data encryption, games and gambling.

I'd be wary mentioning "data encryption"; it's probably a long way from
the deterministic RNG implementations, that are the scope of this
component, to a reliable cryptographic appplication.

"Simulations" is probably worth mentioning among the potential uses.
You could also mention actual applications that use RNGs (and maybe
issues that they could encounter with using a "bad" generator).

> Deliverables
>
> Java Implementations for the following PRNGs shall be provided:
>
>  1. Linear Congruential Generators : One of the oldest and best known PRNG algorithms, LCGs create pseudo random sequences of numbers using discontinuous piecewise linear equations.
>
>   2. Lagged Fibonacci Generators : An improvement over Linear Congruential Generators , these PRNGs take their inspiration from the Fibonacci series, and utilise the following generalised formula :
> Sn = Sn-k * Sn-j (mod m) , where ‘*’ is a binary operation. (NOTE: k and j may not be selected randomly)
>
>   3. PCGs : Permuted Congruential Generators are RNGs which are modern, light and reliable in nature, and are more efficient than LCGs while utilising a power of 2 modulus, leading to unbiased output bits.

Reading one of the above links, I've just found out another generator that
looks quite easy to implement:
  https://issues.apache.org/jira/browse/RNG-85

>
> Scheduling
>
> May 27- Beginning of coding and testing for Linear Congruential Generators
>
> June 17 - Testing for LCG commenced along with potential bug fixing
>
> June 24 18:00 UTC - Testing phase 1 - complete. Mentor evaluation of LCGs begin / Evaluation 1
>
> June 28 18:00 UTC - Phase 1 Evaluation deadline
>
> June 29 - Beginning of implementation for Lagged Fibonacci Generators
>
> July 15 - Student testing of implemented LFGs begins along with bug fixing
>
> July 22 18:00 UTC - Testing Phase 2 – Complete. Mentor evaluation of LFGs begin / Evaluation 2
>
> July 26 18:00 UTC - Phase 2 Evaluation deadline
>
> July 27 -Design and Coding for Java Implementation of PCGs begin
>
> August 12 - Student testing of PCGs begins along with the implementation of final fixes to code
>
> August 19 - 26 18:00 UTC - Final phase of Student Testing Complete. Mentor evaluation of overall code begins / Final evaluation
>
> August 26 - Sept 2 18:00 UTC - Mentors submit final student evaluations
>
> September 3- Final results of Google Summer of Code 2019 announced

Honestly, I've no idea about whether this schedule is realistic.
I mean: Assuming full-time commitment, it could probably be
finished much faster. ;-)
At this point, it looks to me that the longest part will be getting
acquainted with the framework of "Commons RNG" (and even
this will probably look fairly easy once you get the hang of it).
Then the coding of the algorithm(s) will be pretty straightforward:
It seems (sometimes much) less than 20 lines of code each.
Most time will probably be spent porting from C (with its caveat
of data type adaptation), ensuring full coverage and reproducibility
of the reference implementation's output.

That is to say that we should perhaps add additional task(s)...
An obvious one would be to mention:
 - Look for more RNG algorithms, and implement them, if
   time permits.

> Other commitments
> None during the period of May 27th-July 27th . College begins from July 27th, but shall not affect the deadlines proposed.
>
> Community engagement
> Interacted with Gilles sir in the JIRA forum, along with subscription and interaction with members of the developer’s mailing list. Project importing and building using Maven also performed.
>
>        -- END OF PROPOSAL—
>
> NOTE: I had created a table for the scheduling part, which got removed when I copied my draft proposal from the word document to mail, along with various cosmetic changes which I had applied to the text.

Depending on what kind of document, you might write it in "Google Docs"
(seems appropriate for GSoC...) and share the link.

> Should I add my previous experience with Java and other qualifications, along with sources of information?

Sure.

> What other changes should I make to my current proposal ?

See above.
And perhaps Alex, and others, have something to add too...

> Feedback would be highly appreciated.
>
> PS :- Apologies for not replying earlier, I’ve been under the weather for the past few days. I shall undertake the changes you and Alex sir have advised, and reply as soon as possible.

Good.
Once you can build the project, you should probably ensure that you
can make pull requests.

Regards,
Gilles


>
> Thanking you,
> Yours Faithfully,
> Abhishek

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


RE: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Abhishek Dhadwal <dh...@gmail.com>.
Dear Sir, 

I’ve added skeletal draft of my GSOC proposal (as per the Apache foundation’s guidelines) below :

GSOC-19 Application :- RNG-32: Implement More Generators 

Background 

The Commons RNG is focused on the utilization of Java-only implementations of various standard generators, with focus being placed on fast generators with strong uniformity and predictability. 

Design / description of work 

-  Implementation of Linear Congruential Generators 

-  Implementation of Lagged Fibonacci Generators 

-  Implementation of PCGs 

Results for the Apache community 

The implementation of PRNGs will allow for the occurrence of speed and regularity for sequences of pseudo random numbers, easing the creation of applications involving data encryption, games and gambling.   

Deliverables 

Java Implementations for the following PRNGs shall be provided: 

 1. Linear Congruential Generators : One of the oldest and best known PRNG algorithms, LCGs create pseudo random sequences of numbers using discontinuous piecewise linear equations. 

  2. Lagged Fibonacci Generators : An improvement over Linear Congruential Generators , these PRNGs take their inspiration from the Fibonacci series, and utilise the following generalised formula : 
Sn = Sn-k * Sn-j (mod m) , where ‘*’ is a binary operation. (NOTE: k and j may not be selected randomly) 

  3. PCGs : Permuted Congruential Generators are RNGs which are modern, light and reliable in nature, and are more efficient than LCGs while utilising a power of 2 modulus, leading to unbiased output bits. 

Scheduling 

May 27- Beginning of coding and testing for Linear Congruential Generators 

June 17 - Testing for LCG commenced along with potential bug fixing 

June 24 18:00 UTC - Testing phase 1 - complete. Mentor evaluation of LCGs begin / Evaluation 1 

June 28 18:00 UTC - Phase 1 Evaluation deadline 

June 29 - Beginning of implementation for Lagged Fibonacci Generators 

July 15 - Student testing of implemented LFGs begins along with bug fixing 

July 22 18:00 UTC - Testing Phase 2 – Complete. Mentor evaluation of LFGs begin / Evaluation 2 

July 26 18:00 UTC - Phase 2 Evaluation deadline 

July 27 -Design and Coding for Java Implementation of PCGs begin  

August 12 - Student testing of PCGs begins along with the implementation of final fixes to code  

August 19 - 26 18:00 UTC - Final phase of Student Testing Complete. Mentor evaluation of overall code begins / Final evaluation 

August 26 - Sept 2 18:00 UTC - Mentors submit final student evaluations 

September 3- Final results of Google Summer of Code 2019 announced 

Other commitments 
None during the period of May 27th-July 27th . College begins from July 27th, but shall not affect the deadlines proposed. 

Community engagement 
Interacted with Gilles sir in the JIRA forum, along with subscription and interaction with members of the developer’s mailing list. Project importing and building using Maven also performed.

       -- END OF PROPOSAL—
       
NOTE: I had created a table for the scheduling part, which got removed when I copied my draft proposal from the word document to mail, along with various cosmetic changes which I had applied to the text.
Should I add my previous experience with Java and other qualifications, along with sources of information? What other changes should I make to my current proposal ? Feedback would be highly appreciated.

PS :- Apologies for not replying earlier, I’ve been under the weather for the past few days. I shall undertake the changes you and Alex sir have advised, and reply as soon as possible.

Thanking you, 
Yours Faithfully,
Abhishek

Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Gilles Sadowski <gi...@gmail.com>.
Hi.

I see that you use Java 11.
Can you try with a different version?
We only know that the build should work with Java 6, 7, 8, and 9.

Actually, it would be a nice "micro-task" to figure out how to fix
that issue (confirmed to also happen with Java 10).

Regards,
Gilles

Le sam. 23 mars 2019 à 17:19, Abhishek Dhadwal <dh...@gmail.com> a écrit :
>
>
> >Well, you did not ask anything to maven and it told you so.
> >You should run
>  >  mvn -e package
> Oh.
> Here is the data that comes after $mvn -e package
> [INFO] Apache Commons RNG Core ............................ FAILURE [  2.164 s]
> [INFO] Apache Commons RNG Simple .......................... SKIPPED
> [INFO] Apache Commons RNG Sampling ........................ SKIPPED
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time:  42.155 s
> [INFO] Finished at: 2019-03-23T21:46:51+05:30
> [INFO] ------------------------------------------------------------------------
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.0:test (default-test) on project commons-rng-core: There are test failures.
> [ERROR]
> [ERROR] Please refer to C:\Users\abhi1\Documents\GitHub\commons-rng\commons-rng-core\target\surefire-reports for the individual test results.
> [ERROR] Please refer to dump files (if any exist) [date]-jvmRun[N].dump, [date].dumpstream and [date]-jvmRun[N].dumpstream.
> [ERROR] The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
> [ERROR] Command was cmd.exe /X /C ""C:\Program Files\Java\jdk-11.0.2\bin\java" -javaagent:C:\\Users\\abhi1\\.m2\\repository\\org\\jacoco\\org.jacoco.agent\\0.8.0\\org.jacoco.agent-0.8.0-runtime.jar=destfile=C:\\Users\\abhi1\\Documents\\GitHub\\commons-rng\\commons-rng-core\\target\\jacoco.exec org.apache.maven.surefire.booter.ForkedBooter C:\Users\abhi1\AppData\Local\Temp\surefire3445595890932575193 2019-03-23T21-46-49_406-jvmRun1 surefire13043730006449520386tmp surefire_013568639770855619682tmp"
> [ERROR] Error occurred in starting fork, check output in log
> [ERROR] Process Exit Code: 1
> [ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
> [ERROR] Command was cmd.exe /X /C ""C:\Program Files\Java\jdk-11.0.2\bin\java" -javaagent:C:\\Users\\abhi1\\.m2\\repository\\org\\jacoco\\org.jacoco.agent\\0.8.0\\org.jacoco.agent-0.8.0-runtime.jar=destfile=C:\\Users\\abhi1\\Documents\\GitHub\\commons-rng\\commons-rng-core\\target\\jacoco.exec org.apache.maven.surefire.booter.ForkedBooter C:\Users\abhi1\AppData\Local\Temp\surefire3445595890932575193 2019-03-23T21-46-49_406-jvmRun1 surefire13043730006449520386tmp surefire_013568639770855619682tmp"
> [ERROR] Error occurred in starting fork, check output in log
>
>  Thanking you,
>  Yours faithfully,
>  Abhishek
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


RE: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Abhishek Dhadwal <dh...@gmail.com>.
>Well, you did not ask anything to maven and it told you so.
>You should run
 >  mvn -e package
Oh.
Here is the data that comes after $mvn -e package
[INFO] Apache Commons RNG Core ............................ FAILURE [  2.164 s]
[INFO] Apache Commons RNG Simple .......................... SKIPPED
[INFO] Apache Commons RNG Sampling ........................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  42.155 s
[INFO] Finished at: 2019-03-23T21:46:51+05:30
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.0:test (default-test) on project commons-rng-core: There are test failures.
[ERROR]
[ERROR] Please refer to C:\Users\abhi1\Documents\GitHub\commons-rng\commons-rng-core\target\surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date]-jvmRun[N].dump, [date].dumpstream and [date]-jvmRun[N].dumpstream.
[ERROR] The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was cmd.exe /X /C ""C:\Program Files\Java\jdk-11.0.2\bin\java" -javaagent:C:\\Users\\abhi1\\.m2\\repository\\org\\jacoco\\org.jacoco.agent\\0.8.0\\org.jacoco.agent-0.8.0-runtime.jar=destfile=C:\\Users\\abhi1\\Documents\\GitHub\\commons-rng\\commons-rng-core\\target\\jacoco.exec org.apache.maven.surefire.booter.ForkedBooter C:\Users\abhi1\AppData\Local\Temp\surefire3445595890932575193 2019-03-23T21-46-49_406-jvmRun1 surefire13043730006449520386tmp surefire_013568639770855619682tmp"
[ERROR] Error occurred in starting fork, check output in log
[ERROR] Process Exit Code: 1
[ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was cmd.exe /X /C ""C:\Program Files\Java\jdk-11.0.2\bin\java" -javaagent:C:\\Users\\abhi1\\.m2\\repository\\org\\jacoco\\org.jacoco.agent\\0.8.0\\org.jacoco.agent-0.8.0-runtime.jar=destfile=C:\\Users\\abhi1\\Documents\\GitHub\\commons-rng\\commons-rng-core\\target\\jacoco.exec org.apache.maven.surefire.booter.ForkedBooter C:\Users\abhi1\AppData\Local\Temp\surefire3445595890932575193 2019-03-23T21-46-49_406-jvmRun1 surefire13043730006449520386tmp surefire_013568639770855619682tmp"
[ERROR] Error occurred in starting fork, check output in log

 Thanking you,
 Yours faithfully,
 Abhishek


Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Gilles Sadowski <gi...@gmail.com>.
Hello.

Le sam. 23 mars 2019 à 16:35, Abhishek Dhadwal <dh...@gmail.com> a écrit :
>
> Dear Sir,
> After running $mvn package, I get:
> [INFO] BUILD FAILURE
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time:  19:08 min
> [INFO] Finished at: 2019-03-22T23:23:39+05:30
> [INFO] ------------------------------------------------------------------------
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.0:test (default-test) on project commons-rng-core: There are test failures.

Which tests failed?
[Please show all the relevant info.]

>
> And, after $mvn -e :
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time:  0.297 s
> [INFO] Finished at: 2019-03-22T23:45:05+05:30
> [INFO] ------------------------------------------------------------------------
> [ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]
> org.apache.maven.lifecycle.NoGoalSpecifiedException: No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy.

Well, you did not ask anything to maven and it told you so.
You should run
   mvn -e package

"-e" is the option (to show the exceptions)
"package" is the goal (which, in this case, asks maven to create the JAR files)

>
> >Perhaps start to fill the "application template".[1]
> >That way, we can perhaps focus on specific questions
> >you may have for the particular task that interested
> >you.
> Yes sir, I’ll fill up the form application and send it via mail here ?

Yes.

Regards,
Gilles

>
> Thanking you,
> Yours faithfully,
> Abhishek
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


RE: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Abhishek Dhadwal <dh...@gmail.com>.
Dear Sir,
After running $mvn package, I get:
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  19:08 min
[INFO] Finished at: 2019-03-22T23:23:39+05:30
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.0:test (default-test) on project commons-rng-core: There are test failures.

And, after $mvn -e :
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.297 s
[INFO] Finished at: 2019-03-22T23:45:05+05:30
[INFO] ------------------------------------------------------------------------
[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]
org.apache.maven.lifecycle.NoGoalSpecifiedException: No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy.

>Perhaps start to fill the "application template".[1]
>That way, we can perhaps focus on specific questions
>you may have for the particular task that interested
>you.
Yes sir, I’ll fill up the form application and send it via mail here ?

Thanking you,
Yours faithfully,
Abhishek


Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Gilles Sadowski <gi...@gmail.com>.
Hi Abhishek.

Le ven. 22 mars 2019 à 19:48, Abhishek Dhadwal <dh...@gmail.com> a écrit :
>
>
>
>
>
> >Well then, I guess that we consider the micro-tasks which I evoked in
>
> my previous message: Clone the repository and build the code.
>
> This is explained in more details here:
>
>     http://commons.apache.org/proper/commons-rng/developers.html
>
> Please try it, and then let us know how it went.
>
> I cloned the repository, but the build instructions require me to get an apache account and sign an ICLA. I ran $mvn package and encountered the errors accompanied by the screenshots on the bottom.

There are no screenshots; they were probably stripped by the ML software.

Please copy/paste the exact command you ran, and the most relevant
part of the error message you got in return.

>
> >Please note that there are several "roles" in the GSoC program; on this
>
> ML, you'll only get technical help with specific programming tasks.  But
>
> it seems (?) that you need more general help from the administrative side.
>
> Oh, could you please send me the email address/ provide contact details of someone handling the administrative side ?

You'll perhaps find help there:
    https://developers.google.com/open-source/gsoc/resources/lists#discussions

>
> >Some of these other tasks may look less daunting to you.  And nothing
>
> will prevent you from contributing to "Commons RNG" too when you'll
>
> feel more comfortable with the expectations.
>
> I would love to contribute to the project in any means possible, but, my given skill set and amiability for mathematical phenomena affirms my belief that I may  provide the best of my abilities in these forms of projects.

Perhaps start to fill the "application template".[1]
That way, we can perhaps focus on specific questions
you may have for the particular task that interested
you.

> But, I would be open for any and all suggestions, sir.
>

A suggestion is to have a look at all the "Commons"
libraries[2] (and their associated bug-tracking project,
to ensure that the code is being actively maintained).

Best regards,
Gilles

[1] http://community.apache.org/gsoc.html#students-read-this
[2] http://commons.apache.org/

> [...]

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


RE: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Abhishek Dhadwal <dh...@gmail.com>.

>Well then, I guess that we consider the micro-tasks which I evoked in
my previous message: Clone the repository and build the code.
This is explained in more details here:
    http://commons.apache.org/proper/commons-rng/developers.html
Please try it, and then let us know how it went.
I cloned the repository, but the build instructions require me to get an apache account and sign an ICLA. I ran $mvn package and encountered the errors accompanied by the screenshots on the bottom. 
>Please note that there are several "roles" in the GSoC program; on this
ML, you'll only get technical help with specific programming tasks.  But
it seems (?) that you need more general help from the administrative side.
Oh, could you please send me the email address/ provide contact details of someone handling the administrative side ?

>Some of these other tasks may look less daunting to you.  And nothing
will prevent you from contributing to "Commons RNG" too when you'll
feel more comfortable with the expectations.
I would love to contribute to the project in any means possible, but, my given skill set and amiability for mathematical phenomena affirms my belief that I may  provide the best of my abilities in these forms of projects. But, I would be open for any and all suggestions, sir.

>At this point, you should be fine with running
this command (from within the directory where you "clone"d the
"git" repository):
    $ mvn package
On running the above command, I get the following ‘test failure’ :


And, after running mvn -e , we get :


Thanking you,
Yours faithfully,
Abhishek

Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Gilles Sadowski <gi...@gmail.com>.
Hello.

Le ven. 22 mars 2019 à 14:48, Abhishek Dhadwal <dh...@gmail.com> a écrit :
>
> Dear Sir,
> >I don't understand what you mean be "screening tests".  Sorry.
> Certain organisations had held certain micro tasks to be performed by students in order to increase their chances of selection for the project. I was asking about those tasks in reference to our current project.

Well then, I guess that we consider the micro-tasks which I evoked in
my previous message: Clone the repository and build the code.
This is explained in more details here:
    http://commons.apache.org/proper/commons-rng/developers.html

Please try it, and then let us know how it went.

> >Overall, the task consists in providing a Java implementation of the
> generator(s).
> Sir, may I attain more information on this topic?

If we are going to advance in the discussion, you'll have to spell out
what you don't understand in the task description here:
    https://issues.apache.org/jira/browse/RNG-32

> I read the student guidebook, and, as the deadline for the application submission periods are approaching, I may need to write the synopsis, timeline, deliverables and participation details of the project along with the application itself, and would greatly appreciate help with obtaining data/guidance with the above information.

Here is a document which you should read if not done already:
    http://community.apache.org/gsoc.html#students-read-this

Please note that there are several "roles" in the GSoC program; on this
ML, you'll only get technical help with specific programming tasks.  But
it seems (?) that you need more general help from the administrative side.

Also, you should have a look at other tasks which you help with in the
"Commons" project (of which "Commons RNG" is a tiny part).
Some of these other tasks may look less daunting to you.  And nothing
will prevent you from contributing to "Commons RNG" too when you'll
feel more comfortable with the expectations.

> > But, in order to compile the library and perform automatically the necessary
> sanity checks on the code you write, you'll need "maven"[1].
> I’ve downloaded and installed Maven, and shall begin pursuing a Udemy course in Maven in the near future.

OK.  But that is certainly not a requirement; usage is pretty
straightforward in the context of this project, and most of the
"magic" is handled by the configuration file(s) shipped with the
project's code.  At this point, you should be fine with running
this command (from within the directory where you "clone"d the
"git" repository):
    $ mvn package

Gilles

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


RE: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Abhishek Dhadwal <dh...@gmail.com>.
Dear Sir,
>I don't understand what you mean be "screening tests".  Sorry.
Certain organisations had held certain micro tasks to be performed by students in order to increase their chances of selection for the project. I was asking about those tasks in reference to our current project.
>Overall, the task consists in providing a Java implementation of the
generator(s).
Sir, may I attain more information on this topic ? I read the student guidebook, and, as the deadline for the application submission periods are approaching, I may need to write the synopsis, timeline, deliverables and participation details of the project along with the application itself, and would greatly appreciate help with obtaining data/guidance with the above information.
> But, in order to compile the library and perform automatically the necessary
sanity checks on the code you write, you'll need "maven"[1].
I’ve downloaded and installed Maven, and shall begin pursuing a Udemy course in Maven in the near future.

Thanking you,
Yours faithfully,
Abhishek

Sent from Mail for Windows 10



Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Gilles Sadowski <gi...@gmail.com>.
Hi.

Le ven. 22 mars 2019 à 08:28, Abhishek Dhadwal <dh...@gmail.com> a écrit :
>
>
> Dear sir,
>
> >>But first things first: Have you set up a programming environment for
> making your experiments?
> I have IntelliJ IDEA community edition along with Netbeans 8.2 with Java 8u191 installed.
> For repository purposes, I’m using Github Desktop. Any other software I should install for this undertaking ?

Which software you use is up to you as long as you can achieve what you want.
But, in order to compile the library and perform automatically the necessary
sanity checks on the code you write, you'll need "maven"[1].

You could test your environment by
 1. making a local copy of the project's repository (a.k.a. "git clone")
 2. building the library (e.g. run "mvn package")

> >>Again, please be more specific about what you are missing
> from the description.
> I wanted to know about any and all micro tasks/screening tests I should undergo before preparing and submitting my draft proposal for the project on 25th.

I don't understand what you mean be "screening tests".  Sorry.

Best regards,
Gilles

[1] http://maven.apache.org/

>> [...]

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


RE: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Abhishek Dhadwal <dh...@gmail.com>.
Dear sir, 

>>But first things first: Have you set up a programming environment for
making your experiments?
I have IntelliJ IDEA community edition along with Netbeans 8.2 with Java 8u191 installed.
For repository purposes, I’m using Github Desktop. Any other software I should install for this undertaking ?
>>Again, please be more specific about what you are missing
from the description.
I wanted to know about any and all micro tasks/screening tests I should undergo before preparing and submitting my draft proposal for the project on 25th.

Thanking you,
Yours faithfully,
Abhishek
Sent from Mail for Windows 10

From: Gilles Sadowski
Sent: 21 March 2019 23:53
To: Commons Developers List
Subject: Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Hi Abhishek.

Le jeu. 21 mars 2019 à 17:14, Abhishek Dhadwal <dh...@gmail.com> a écrit :
>
> Dear Sirs/Ma’ams,
>        I am Abhishek Singh Dhadwal, a student currently pursuing a Bachelor’s Degree in the field of Computer Science and Engineering in Visvesvaraya National Institute of Technology, Nagpur, India (Year-II) and I was fascinated by the efforts The Apache Foundation has undertaken in order to transform the Open Source Development Community .
>        As an appreciator of OSS myself, I’m particularly excited by the student project titled 'Lagged Fibonacci Generators' and the changes it can provide for the community as a whole.

Thanks for your interest, but let's not exaggerate the impact of
completing that task. ;-)

> I would love to attain more information about it,

I'm afraid that would be part of your work. ;-)

But don't hesitate to ask more specific questions if you are at a
loss with how to go about the more general task described here:
    https://issues.apache.org/jira/browse/RNG-32

> along with the way a student like me would be able to contribute to it as a part of Google Summer Of Code, 2019.

Again, please be more specific about what you are missing
from the description.

>        I read the JIRA site about the issues it faces, the user guide and the Wikipedia site about the generator. Hence, on the recommendation of Gilles sir from the project’s JIRA site,  I joined this mailing list in order to attain assistance and guidance about the above project.

Overall, the task consists in providing a Java implementation of the
generator(s).

> 1.This is the first time I’m applying for GSoC , so , I’m still unsure about the tasks I’m required to perform as part of this undertaking, along with the proper method of writing a proposal up to the standards of the Apache Organization.

This mailing list will try to help you with the coding side of things
but for administrative and other questions of the purpose of GSoC,
you should start by reading and following the guidelines:
    https://google.github.io/gsocguides/student

> 2. I've read about the deficiencies in the wiki, but, they are a bit complicated in the language provided by the wiki page.

The framework for achieving this task is explained in the userguide[1]
and Javadoc[1] of the "Commons RNG" project.

For a specific generator, the first thing would be to search for a reference
implementation (probably in C or C++), and be able to run it.

> Are there any other sources for the aforementioned data ?

There are links in the Wikipedia page that are worth exploring.

But first things first: Have you set up a programming environment for
making your experiments?

>
>        Overall, it would be a privilege for me to be granted the opportunity to assist in this project, and I would be grateful if the above questions were answered.

I hope I have been of some help,
Gilles

[1] http://commons.apache.org/proper/commons-rng/userguide/rng.html#a3._Library_layout
[2] http://commons.apache.org/proper/commons-rng/commons-rng-core/apidocs/org/apache/commons/rng/core/package-summary.html

> [...]

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org



Re: GSoC 19: Information pertaining to 'Lagged Fibonacci Generators'

Posted by Gilles Sadowski <gi...@gmail.com>.
Hi Abhishek.

Le jeu. 21 mars 2019 à 17:14, Abhishek Dhadwal <dh...@gmail.com> a écrit :
>
> Dear Sirs/Ma’ams,
>        I am Abhishek Singh Dhadwal, a student currently pursuing a Bachelor’s Degree in the field of Computer Science and Engineering in Visvesvaraya National Institute of Technology, Nagpur, India (Year-II) and I was fascinated by the efforts The Apache Foundation has undertaken in order to transform the Open Source Development Community .
>        As an appreciator of OSS myself, I’m particularly excited by the student project titled 'Lagged Fibonacci Generators' and the changes it can provide for the community as a whole.

Thanks for your interest, but let's not exaggerate the impact of
completing that task. ;-)

> I would love to attain more information about it,

I'm afraid that would be part of your work. ;-)

But don't hesitate to ask more specific questions if you are at a
loss with how to go about the more general task described here:
    https://issues.apache.org/jira/browse/RNG-32

> along with the way a student like me would be able to contribute to it as a part of Google Summer Of Code, 2019.

Again, please be more specific about what you are missing
from the description.

>        I read the JIRA site about the issues it faces, the user guide and the Wikipedia site about the generator. Hence, on the recommendation of Gilles sir from the project’s JIRA site,  I joined this mailing list in order to attain assistance and guidance about the above project.

Overall, the task consists in providing a Java implementation of the
generator(s).

> 1.This is the first time I’m applying for GSoC , so , I’m still unsure about the tasks I’m required to perform as part of this undertaking, along with the proper method of writing a proposal up to the standards of the Apache Organization.

This mailing list will try to help you with the coding side of things
but for administrative and other questions of the purpose of GSoC,
you should start by reading and following the guidelines:
    https://google.github.io/gsocguides/student

> 2. I've read about the deficiencies in the wiki, but, they are a bit complicated in the language provided by the wiki page.

The framework for achieving this task is explained in the userguide[1]
and Javadoc[1] of the "Commons RNG" project.

For a specific generator, the first thing would be to search for a reference
implementation (probably in C or C++), and be able to run it.

> Are there any other sources for the aforementioned data ?

There are links in the Wikipedia page that are worth exploring.

But first things first: Have you set up a programming environment for
making your experiments?

>
>        Overall, it would be a privilege for me to be granted the opportunity to assist in this project, and I would be grateful if the above questions were answered.

I hope I have been of some help,
Gilles

[1] http://commons.apache.org/proper/commons-rng/userguide/rng.html#a3._Library_layout
[2] http://commons.apache.org/proper/commons-rng/commons-rng-core/apidocs/org/apache/commons/rng/core/package-summary.html

> [...]

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org