Editing User:Avbm

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 11: Line 11:


===Matlab/Octave===
===Matlab/Octave===
I have used Matlab for various college projects for the last 5 years. I began using Octave as a Matlab replacement about 2 years ago. The main uses have been for simulation and image processing. I know most of the similarities and differences between Matlab and Octave.
I have used Matlab for various college projects for the last 5 years. I began using Octave as a Matlab replacement about 2 years ago. The main uses have been for simulation and image processing. I am know most of the similarities and differences between Matlab and Octave.  


===Python===
===Python===
Line 17: Line 17:


===Other===
===Other===
Other than the above three  I have used some basic javascript & HTML. I am quite familiar with the Mediawiki framework and am one of the site maintainers for the [http://wiki.cyanogenmod.org Cyanogenmod wiki]. I have used the CGal library for a graphics project. I have briefly dabbled with QT when we were experimenting with various frontend/interface for an embedded project which transmitted data on the serial port. I primarily used Labview for my Master's Thesis.
Other than the above three  I have used somebasic javascript & HTML. I am quite familiar with the Mediawiki framework am one of the site maintainers for the [http://wiki.cyanogenmod.org Cyanogenmod wiki]. I have used the CGal library for a graphics project. I have breifly dabbled with QT when we were experimenting with various frontend/interface for an embedded project which transmitted data on the serial port. I primarily used Labview for my master's Thesis.


I am a bit familiar with mercurial(thanks to Jordi) and have submitted a couple of minor patches which fix Texinfo5 compatibility issues in Octave.
I am a bit familiar with mercurial(thanks to Jordi) and have submitted a couple of minor patches which fix Texinfo5 compatibility issues.


== F: Feeling fine ==
== F: Feeling fine ==
*IRC/mailing lists: familiar with using IRC.(IRC name: white) I have also used (subscribed and posted)the octave-maintainers list
*IRC/mailing lists: familiar with using IRC. have also used (subscribed and posted)the octave-maintainers list
*Mercurial: new to using mercurial but I have the hang of it(thanks to Jordi)
*Mercurial: new to using mercurial but I have the hang of it(thanks to Jordi)
*Mediawiki: quite familiar with mediawiki including (slightly) advanced features such as templates
*Mediawiki: quite familiar with mediawiki including (slightly) advanced features such as templates
Line 30: Line 30:
== O: Only out of interest ==
== O: Only out of interest ==
I guess I have covered most of the topics above. My two main gripes with octave are:
I guess I have covered most of the topics above. My two main gripes with octave are:
*Not all of the image processing built-in functions are not supported including some of the more commonly used ones like the wiener filter
*Not all of the image processing built-in functions are not supported including some of the more commonly used ones like the weiner filter
*Octave is much slower than Matlab especially for non-vectorized code (which have many loops)
*Octave is much slower than Matlab especially for non-vectorized code (which have many loops)


Line 38: Line 38:


== S: Self-assessment ==
== S: Self-assessment ==
*I am quite capable of working alone for extended periods but I prefer working in small groups and periodic review/criticism. Also working alone(in a void) for a long time tends to get boring.
*I am quite capable of working alone for extended periods but I prefer working in small groups and periodic review/criticism. Also working alone for a long time tends to get boring.
*I prefer to have a sort of holistic view of the work ahead but prefer to write code iteratively/incrementally with small improvements and testing between each step. I usually jot down my algorithm and functional blocks on paper before I start writing the code. Also usually I tend to prefer simple working algorithms(even if they have poor performance) initially and to replace them, at a later time, with more complicated but efficient ones.
*I prefer to have a sort of holistic view of the work ahead but prefer to write code iteratively/incrementally with small improvements and testing between each step. I usually jot down my algorithm and functional blocks on paper before I start writing the code. Also usually I tend to prefer simple working algorithms(even if the have poor performance) initially and to later replace them with more complicated but efficient ones.
*I don't mind throwing out chunks of my work if it doesn't fit with the overall project. I have worked in a student run lab for 5 years and we did on occasion have to chuck out weeks worth of work but what I learnt from it was that the effort is never wasted and that dumped code tends to find applications elsewhere later.
*I don't mind throwing out chunks of my work if it doesn't fit with the overall project. I have worked in a student run lab for 5 years and we did on occasion have to chuck out weeks worth of work but what I learnt from it was that the effort is never wasted and that dumped code tends to find applications elsewhere later.


Line 46: Line 46:
*Expand the built-in image processing functions to support more/most of those already there in matlab.
*Expand the built-in image processing functions to support more/most of those already there in matlab.
*Work on JIT compilation and expand it to work with matrices/other data types than scalars.
*Work on JIT compilation and expand it to work with matrices/other data types than scalars.
I am quite sure that I will have enough time for only <b>one</b> of the two and am leaning more towards JIT since that will be more useful in general.
I am quite sure that I will have enough time for only one of the two and am leaning more towards JIT since that will be more useful in general.


My planned schedule is:
*May 28 - June 16: Get acquainted with llvm and familiarize myself with Octave's Abstract Syntax Tree(AST) and Single Static Assignment(SSA) property of intermediate representation(IR). Also seperate the various parts of the code into smaller functional blocks and start on llvm 3.2 compatibility.(Some work has already been done on 3.2 compatibility)
*June 17 - July 29: Make the current JITC code compatible with llvm 3.2 and work on making an llvm IR for a matrix.
*July 30 - August 30: Convert an octave Matrix IR to llvm IR and work on getting everything together.
*Sept 1 - Sept 14: Clean up the code, iron out the creases and work on final report.


 
<!--[[Category:Summer of Code 2012]]-->
[[Category:2013]]
[[Category:Applicants]]
Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)