Skip to content

Development during GSoC 2015

Ivan Evgrafov edited this page Aug 13, 2015 · 51 revisions

On this page I will share my Activities and Objectives during this summer.

Weeks:

Week 1 (25.05 - 29.05)

Week 2 (01.06 - 05.06)

Week 3 (08.06 - 12.06)

Week 4 (15.06 - 19.06)

Week 5 (22.06 - 26.06)

Week 6 (29.06 - 03.07)

Week 7 (06.07 - 10.07)

Week 8 (13.07 - 17.07)

Week 9 (20.07 - 24.07)

Week 10 (27.07 - 31.07)

Week 11 (03.08 - 07.08)

Week 12 (10.08 - 14.08)

Week 1.

25.05

Objectives:
  • make Plot work with options by their names
  • test options (see prev)
  • update already existing code to copy-on-update

26.05

Objectives:
  • reduce complexity of Datablock#initialize
  • add tests for copy-on-update at least for Plot
  • add options handling for Dataset
  • write #clone for Dataset and Datablock
Activities:
  • options (by name) for Plot + tests
  • Datablock, Dataset, Plot copy-on-update

27.05

Objectives:
  • take a look at datasheets in Daru
  • update travis config with jruby
  • document Plot and Dataset
Activities:
  • add options handling for Dataset
  • write #clone for Dataset and Datablock
  • rethink updating datablocks
  • add tests for copy-on-update behaviour on modifying Plot options

28.05

Objectives:
  • take a close look at Hamster
  • use hamster to replace currently used containers (hash/array)
Activities:
  • update travis config with ruby 2.1 and 2.2 versions
  • create travis config to test against osx (Travis doesn't allow to create a matrix with both linux and osx machines, but config may be used to test gem on osx from time to time just replacing default config with it)
  • docs for Plot and Dataset

29.05

Objectives:
  • cover installation process in readme
  • update "about me" page on github.io
Activities:
  • replaced hash and array with hamster
  • covered dataset with tests

Week 2.

01.06

Objectives:
  • prepare blog post about last week activities
  • cover Plot#update with specs
Activities:

02.06

Objectives:
  • cover Plot#replot and Terminal with specs since some code is still untested
  • focus on staff features and methods from proposal to implement them before sharing the gem
Activities:
  • posted in blog about progress during first week
  • covered Terminal options handling with specs
  • covered Plot#update with specs
  • found and fixed an issue with plotting to file (Ruby didn't wait for gnuplot to finish plotting)

03.06

Objectives:
  • cover rest of Terminal with specs
  • focus on docs to make possible using gem by early end-users
Activities:
  • covered Plot#replot with specs
  • add some small fixes and methods mentioned in proposal

04.06

Objectives:
  • fix :file option in Dataset#initialize
  • think about returning Dataset#clone call into Plot
  • make Dataset#initialize less complicated
  • focus on docs to make possible using gem by early end-users
Activities:
  • covered Terminal with specs
  • fixed some Terminal's output features

05.06

Objectives:
  • learn more about iruby to use it in documenting (example notebooks)
  • test against osx (using travis)
Activities:
  • fixed issue with not updating dataset if data stored in datablock even if options should be changed
  • added iRuby notebook with svg plots from Gnuplot (requires some changes to iRuby to do so)

Week 3.

08.06

Objectives:

09.06

Objectives:
  • work on notebooks and samples
Activities:

10.06

Objectives:
  • try to move some parts to modules and include them into classes
  • add docs and see if there are some missing tests
Activities:
  • added two iRuby notebooks
  • added nested options handling for Dataset

11.06

Objectives:
  • prepare existing parts for sharing with community
Activities:
  • some of rubocop issues fixed
  • fixed a bug with Splot options (invalid inheritance)
  • created helper modules

12.06

Objectives:
  • add more axamples to notebooks
  • add notebook docs
Activities:
  • docs improved

Week 4.

15.06

Objectives:
  • begin development of multiplot
Activities:
  • added several notebooks
  • added notebooks readme

16.06

Objectives:
  • continue development of multiplot
  • add specs for error handling
Activities:
  • added multiplot skeleton
  • resolved issue #6 (waiting for gnuplot to finish images)
  • semi-resolved issue #3 (handling gnuplot errors)

17.06

Objectives:
  • start review session
Activities:
  • moved plotting methods to mixed in module to avoid duplications
  • developed plotting part of multiplot

18.06

Objectives:
  • review session
Activities:
  • added a notebook
  • reviewed symengine wrapper in Ruby

Week 5.

22.06

Activities:
  • fixed several issues found by Alexej

23.06

Objectives:
  • add iRuby support
Activities:
  • renamed gem 'pilot-gnuplot' -> 'gnuplotrb'

24.06

Objectives:
  • write blog post about last weeks
Activities:
  • added iRuby support

25.06

Objectives:
  • add examples
Activities:

26.06

Objectives:
  • add specs for Splot or Multiplot
Activities:
  • added multiplot example and accepted pull request from Alexej with vector field example

Week 6.

29.06

Objectives:
  • add plot add/remove/replace/update methods to Multiplot

30.06

Objectives:
  • add more specs for multiplot
  • add more specs for plots from daru
Activities:
  • added plot add/remove/replace/update methods to Multiplot
  • splitted Dataset#initialize into several methods (avoid complexity)

01.07

Objectives:
  • check code, specs and docs before midterm
  • try to make gem work on osx
Activities:
  • added more specs for multiplot
  • added more specs for plots from daru
  • fixed plot from daru

02.07

Objectives:
  • check code, specs and docs before midterm
  • add missing Daru notebook
Activities:
  • added jruby to test gem with it too
  • made gem work on osx

03.07

Objectives:
  • test new IRuby support
  • add missing Daru notebook
  • check code, specs and docs
  • prepare new release
Activities:
  • reimplement IRuby support (thanks Abinash for idea)

Week 7.

06.07

Objectives:
  • begin adding Animation
Activities:
  • added midterm blog post during holidays

07.07

Objectives:
  • continue Animation development
Activities:
  • added Animation skeleton

08.07

Objectives:
  • refactor Animation
  • check code with rubocop
  • maybe fix codeclimate issues
Activities:
  • rewrite Multiplot a little to use its parts in Animation
  • improve Animation

09.07

Objectives:
  • test Animation
  • add notebook for Animation
Activities:
  • fixed rubocop issues
  • several fixes&refactors in Multiplot and Animation
  • embedding Animation into iRuby

10.07

Objectives:
  • check Animation docs
  • write list of notebooks in readme
Activities:
  • added notebooks for Animation

Week 8.

13.07

Objectives:
  • sciruby meeeting

14.07

Objectives:
  • add defaults for DateTime indexes
  • add iRuby notebook to show this functionality
  • take a look at html plots

15.07

Activities:
  • added defaults for DateTime indexes
  • added iRuby notebook to show this functionality

Week 9.

20.07

Objectives:
  • start adding Approximation to fit data with function

21.07

Activities:
  • implemented basics for Approximation
Objectives:
  • make Dataset (and Approximation) plottable
  • add defaults for Approximation (often used functions such as polinomial, exp, sin etc)
  • maybe add iRuby notebook

22.07

Activities:
  • made Dataset (and Approximation) plottable
  • rewrote Approximation as a method
  • added defaults for Approximation (often used functions such as polinomial, exp, sin etc)
  • added iRuby notebook
Objectives:
  • work on docs(RDoc) and specs for Animation and GnuplotRB::fit

24.07

Activities:
  • added docs for Animation and ::fit
Objectives:
  • review Alexej's code

25.07

Activities:
  • added comments on Alexej's code
Objectives:
  • test MixedModels and look through examples and notebooks

Week 10.

27.07

Activities:
  • finished review of Alexej's MixedModels
Objectives:
  • write specs for GnuplotRB (Animation and ::fit)

28.07

Activities:
  • added specs for Animation
Objectives:
  • add specs (maybe as examples) for ::fit

29.07

Activities:
  • added examples for ::fit
Objectives:
  • fix error with fit output waiting
  • finish tests for ::fit

30.07

Activities:
  • fixed error with waiting for output in fit
  • fixed race conditions in error handling
  • finished specs for fit
Objectives (30-31.07):
  • add v0.3.0 release
  • add new version to rubygems
  • write post in blog

Week 11.

04.08

Activities:
  • fixed tests and docs before release
  • released v0.3.0 of the gem
  • pushed new gem version to rubygems
Objectives:
  • improve gem docs (issues #29 and #33)

06.08

Activities:
  • updated gem docs with new links and notes
Objectives:
  • fix #32: add destructive methods for GnuplotRB's objects
  • add tests and docs for new methods (#32)

07.08

Activities:
  • added destructive update methods and tests for them
Objectives
  • revise docs (#33)

08.08

Activities:
  • added specs for destructive methods
Objectives
  • revise docs (#33)
  • add docs for destructive methods
  • update docs for YARD syntax

09.08

Activities:
  • added docs for destructive methods
  • rewrote several classes's docs with YARD
Objectives
  • revise docs (#33)
  • update docs for YARD syntax

Week 12.

11.08

Activities:
  • end updating docs for YARD syntax
Objectives:
  • fix notebooks (#33)

12.08

Activities:
  • notebooks fixed
Objectives:
  • update readme (see #33)

13-18.08

Activities:
  • readme updated
Objectives:
  • write blog post in SciRuby blog
Clone this wiki locally