Re: [O] [GSoC] Org Merge Driver Update

2012-08-18 Thread Andrew Young
Hello Simon,

On Fri, Aug 17, 2012 at 10:09 PM, Simon Thum simon.t...@gmx.de wrote:
 Hi Andrew,

 sorry to report less exciting things. I could not compile - the repo
 contains two invalid links into my system:

 lrwxrwxrwx 1 simon users38 Aug 18 04:01 tap-driver.sh -
 /usr/share/automake-1.12/tap-driver.sh
 lrwxrwxrwx 1 simon users36 Aug 18 04:01 test-driver -
 /usr/share/automake-1.12/test-driver

 I'm on gentoo and do not have automake 1.12. Using a link not the right
 thing IMO.


I believe I've fixed the issue, I hadn't realized they were links.
They should be updated with the actual files now. Thanks for reporting
it.

 II removed those from being referenced in source files and came farther,
 only for gcc to balk on

 doc_ref.h:54:3: error: redefinition of typedef ‘doc_ref’
 doc_ref.h:31:24: note: previous declaration of ‘doc_ref’ was here
 doc_ref.h: In function ‘doc_ref_check_for_circular_conflict’:

 and other such occurrences.

 I'm not sure about the cause, but maybe typedefs conflict with struct names?


It seems that a lot of my typedefs may not be valid c, but are
accepted by newer versions of gcc and some other compilers. I only get
a warning if I enable -pedantic using gcc version 4.7.1 20120721
(prerelease) (GCC).

I'm in the process of cleaning up my headers and should have something
for you soon. In the meantime, I believe upgrading gcc should make the
issue disappear. Let me know if I'm completely wrong :-)

 HTH,

 Simon

Thanks for trying out the merge driver. it's much appreciated.

Sincerely,
Andrew



Re: [O] Re-align All Tables in a Region.

2012-08-18 Thread Andrew Young
Hi Ian,

On Sat, Aug 18, 2012 at 4:14 AM, Ian Barton li...@wilkesley.net wrote:
 I have a file which contains lots of tables. The document is created by a
 shell script, so when it's opened none of the tables are aligned. Is there a
 command that will let me re-align all tables in a region? There are a lot of
 tables, so I don't want to do them one at a time.

 As a workaround I have used #+STARTUP: align in the buffer, which aligns
 them if I C-c on the in buffer setting.

 Ian.


Not sure if there is a built-in, but this seems to work for me:

#+begin_src emacs-lisp
  (defun my-align-all-tables ()
(interactive)
(org-table-map-tables 'org-table-align 'quietly))
#+end_src

Hope this helps.

Sincerely,
Andrew



Re: [O] [GSoC] Org Merge Driver Update

2012-08-16 Thread Andrew Young
Hi,
On Wed, Aug 15, 2012 at 1:04 PM, Eric Schulte eric.schu...@gmx.com wrote:
 I'm very excited to start using this merge driver.  I've put together an
 Arch Linux User Repository (aur) package, which can be used by Arch
 Linux users to install the org-merge-driver with pacman.  It is
 available at [1],

Thank you so much for doing this! I'm also an Arch Linux user, and am
now using your package as well!

 if others find it useful and if Andrew doesn't object
 I'd be happy to push it into the official aur database.  It is very
 simple and installs directly from git.


Yes, of course I don't mind.  This would be _awesome_.

I just installed OMD through your package. Pretty exciting for
me! It took me a little bit to realize the linked file was not
corrupted ;), but HTML to the new package.

Regarding the gnulib dependency:

I have included the Gnulib sources which my project depends on
directly into the git repository. Because of this, gnulib shouldn't be
nessecary to build. I've done this for two main reasons:

1. I thought that would make the dependencies easier on everyone else
   to build and install.

2. I believe I've uncovered a bug in one of the sources I'm using, and
   so for the time being I'm using a slightly edited version.

I'm really not sure what the standard is for using GnuLib in a
project. I think that distributing Gnulib dependencies directly with a
project may be typical, given that it is used at the source level. (If
anyone has any opinion on this, please share)

For the time being, it may be best to leave Gnulib out as dependency,
until I find out what to do. Re-importing Gnulib modules may
reintroduce the problem I was having.

 I spent some time testing this locally and I've run into what appears to
 be an error.  Namely when merging a tree with multiple new sub-headings
 the merge completes successfully, but the subheadings from the OTHER
 branch are deleted by the merge.  Here [2] is a tarball of the entire
 git directory after the failed merge.  Please let me know if there is
 any other debug information I can provide.


Thank you for letting me know, and your detailed example.  This should
be fixed now, along with some other issues.

 Thanks,

 Footnotes:
 [1]  http://cs.unm.edu/~eschulte/data/org-merge-driver-20120815-1.src.tar.gz

 [2]  http://cs.unm.edu/~eschulte/data/fruit-test.tar.bz2

 --
 Eric Schulte
 http://cs.unm.edu/~eschulte

Thanks again for doing all this, it's really appreciated!

Sincerely,
Andrew Young



Re: [O] Emacs shell-script to tangle org-babel at the command line.

2012-08-13 Thread Andrew Young
Hi Matthew,

On Mon, Aug 13, 2012 at 2:15 PM, Matthew Oesting oesti...@me.com wrote:
 I recently wrote what I thought to be a very simply she'll script to tangle a 
 file; simply call the script on a file, e.g. 'tangle corgi.org' and a file, 
 'corgi.rb' (assuming one uses Ruby) appears in the local directory.

 Tangling the file from within Emacs works normally.  Tangling from this 
 script does not work; the only interesting response is tangled 0 code blocks 
 from corgi.org.  The same file tangles two blocks from within Emacs.

 It seems that the org-babel-tangle function is using some piece of 
 information present in the normal Emacs loading sequence which is not found 
 during the script load.  I could provide a large number of files, but I 
 imagine that the problem will be obvious to someone here.

 What is wrong with this code?

 #!/usr/bin/emacs --script

 ;; The subdirectory ~/.emacs.d is to be added to the top-level elisp
 ;; file search.
 (progn (cd ~/.emacs.d) (normal-top-level-add-subdirs-to-load-path))

 ;; Org-Mode, Org-Babel, and the tangle library are required, if we are
 ;; to proceed further.
 (require 'org-install)
 (require 'org)
 (require 'ob-tangle)

 ;; Load the main configuration and setup file.
 (require 'ob-ruby)
 (require 'ob-python)
 (require 'ob-emacs-lisp)
 (require 'ob-lisp)

 ;; Tangle all files given.
 (dolist (file command-line-args-left)
  (princ file)
  (org-babel-tangle-file file))



The previous code works for me if the file I'm trying to tangle is in
~/.emacs.d.

I think what may be happening is you are specifying your input files
as relative paths, and when you cd into .emacs.d, you are no longer
loading from the correct directory.

Are you getting output such as
#+begin_example
  Wrote /home/user/.emacs.d/input-file.org
  tangled 0 code blocks from input-file.org
#+end_example

Try replacing:

#+begin_src emacs-lisp
  (progn (cd ~/.emacs.d)
(normal-top-level-add-subdirs-to-load-path))
#+end_src

with something that doesn't change the current directory of the buffer
permanently. Replace the progn line with following to allow the
assigned value of default-directory to go out of scope:

#+begin_src emacs-lisp
  (let ((default-directory ~/.emacs.d))
(normal-top-level-add-subdirs-to-load-path))
#+end_src

Andrew



[O] [GSoC] Org Merge Driver Update

2012-08-13 Thread Andrew Young
Hello Everyone,

I've been working on a merge driver for org-mode documents over the
summer as a Google Summer of Code project. I just wanted to show
everyone some progress on the merge driver.

There are some new examples you can see at the project page [1][2], and
instructions on how to build and use it.

the source is available here: git clone git://orgmode.org/org-merge-driver.git

I'd really appreciate if anyone could take the merge driver out for a
test spin, and come back with any kind of feedback, such as:

- file output
- customization
- the user interface
- the merging rules
- new features and element specific support
- testing
- neat ideas, etc.

There is only about a week left in GSoC, but I'm planning to continue to
develop the merge driver past the end of GSoC.

Please take a look, and thanks,

Andrew Young

[1] project page:
http://orgmode.org/worg/org-contrib/gsoc2012/student-projects/git-merge-tool/
[2] examples:
http://orgmode.org/worg/org-contrib/gsoc2012/student-projects/git-merge-tool/examples.html



Re: [O] [babel, ess] How can I make S-RET to be multi-session friendly?

2012-08-11 Thread Andrew Young
Hello All,

Well, despite being relatively new to elisp, I've decided to take a
crack at one of your problems. I'm not too sure what is causing the
strange behaviour of the session property, but I have some thoughts on
getting that one function working.

Bear with me :-)

It seems that for me, the inferior ess process is not being properly
associated with the src edit buffer.  It is being set correctly by
org-babel-R-associate-session, and then being set a second time
incorrectly by org-babel-edit-prep:R.  Commenting out line 5 in
org-babel-edit-prep:R seems to fix this issue, although I'm honestly
not sure if or what it breaks.  Everything seems ok for me, but ymmv.

Heres the change:
#+begin_src emacs-lisp
  (defun org-babel-edit-prep:R (info)
(let ((session (cdr (assoc :session (nth 2 info)
  (when (and session (string-match ^\\*\\(.+?\\)\\*$ session))
(save-match-data (org-babel-R-initiate-session session nil))
;;(setq ess-local-process-name (match-string 1 session)
)))
#+end_src

Is there any one having such issues, or who can weigh in on what
exactly is happening here?

Without making the above change, it is possible to manually attach an
ess process to the current src buffer by using the command:

C-c C-s (ess-switch-process)

You'll have to specify the process name, rather than the buffer name,
and the session must have already been started. From here all ESS
functions should work. For example, calling:

C-c C-z (ess-switch-to-end-of-ESS)

will open the session buffer.

I've implemented a variation of the function you mentioned, which uses
the inferior process discussed above.  It should do something at least
remotely like the function you were asking for, and will work with
babel sessions, as long as the ess process is associated
properly. I've made one change worth mentioning: the function now
prompts for a buffer name to set up on if no ess process is associated,
instead of only and always using *R*.

Try it out, and let me know what you think.  Of course feel free to
tweak  share!  This is my real first dive into lisp, so if anyone has
anything to share please do.

#+begin_src emacs-lisp
  (defun my-ess-eval ()
(interactive)
(update-ess-process-name-list)
(if (not (ess-make-buffer-current))
;; Obtain the target ess session
(let ((session
   (read-string Use session: 
(let ((proc (get-process ess-current-process-name)))
  (if (processp proc)
  (buffer-name (process-buffer proc)))
  ;; Obtain buffer matching session
  (if (not (get-buffer session))
  ;; If there is no buffer, create a new one
  (save-excursion
(inferior-ess)
(rename-buffer session)))
  (setq ess-local-process-name
(process-name (get-buffer-process session)
(ess-make-buffer-current)
(if (and transient-mark-mode mark-active)
(call-interactively 'ess-eval-region)
  (call-interactively 'ess-eval-line-and-step)))

(add-hook 'ess-mode-hook
  '(lambda ()
 (local-set-key [(shift return)] 'my-ess-eval)))

(add-hook 'inferior-ess-mode-hook
  '(lambda ()
 (local-set-key [C-up] 'comint-previous-input)
 (local-set-key [C-down] 'comint-next-input)))

(add-hook 'Rnw-mode-hook
  '(lambda ()
 (local-set-key [(shift return)] 'my-ess-eval)))

  (require 'ess-site)

#+end_src

Sincerely,
Andrew Young



Re: [O] Use nomencl package with latex exporter?

2012-08-08 Thread Andrew Young
Hello Johan,

On Wed, Aug 8, 2012 at 2:40 AM, Johan Ekh ekh.jo...@gmail.com wrote:
 Thanks,
 can you give some hints on how to customize it, or point me to some
 information?

To have makeindex run, try evaluating the following elisp:

(setq org-latex-to-pdf-process
'(pdflatex -interaction nonstopmode %b
  bibtex %b
  makeindex %b.nlo -s nomencl.ist -o %b.nls
  pdflatex -interaction nonstopmode %b
  pdflatex -interaction nonstopmode %b))

Alternatively, you can customize the variable org-latex-to-pdf-process
as Nick suggests, to accomplish the same thing. Use the following
command:

M-x customize-variable org-latex-to-pdf-process

More documentation is available through customize, and there is lots
of great information available here:
http://orgmode.org/worg/org-tutorials/org-latex-export.html

Hope this helps,

Andrew



 /Johan


 On Mon, Aug 6, 2012 at 9:35 PM, Nick Dokos nicholas.do...@hp.com wrote:

 Johan Ekh ekh.jo...@gmail.com wrote:

  Thank you Myles,
  I'm not that comfortable with cmake but I will give your solution a try
  and report My milage.
 
  / Johan
 
  Sent from my iPad
 
  On 6 aug 2012, at 14:14, Myles English mylesengl...@gmail.com wrote:
 
  
   Johan Ekh writes:
  
   Hi all,
   I use the default latex exporter in org-mode v7.8 to write documents
   using
   a custom latex class which is built on article.
   I would like to use the nomencl latex package if possible.
  
   From the shell I usually run something like
  
   makeindex filename.nlo -s nomencl.ist -o filename.nls
  
   followed by latex or pdflatex, but how can I get the exporter to do
   this?

 Customize the variable org-latex-to-pdf-process appropriately.

 Nick

   I don't know the answer to your question, but when I came across the
   same problem, I used a makefile-like solution because I felt that the
   building process was becoming sufficiently complicated to warrant
   using
   a specialised tool.  If you are comfortable with CMake already it may
   be
   worth a look.  Have a look for UseLatex.cmake.
  
   Basically you get emacs to export the .tex file from the .org file:
  
   add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mypaper.tex
COMMAND emacs --batch
  --visit=${CMAKE_CURRENT_BINARY_DIR}/mypaper.org
  --load=/home/me/myfuncs.el
  --funcall org-export-as-latex-batch
DEPENDS orgfile
COMMENT Exporting orgmode file to LaTeX using emacs
)
  
   And then bibtex and nomenclature are asked to do their stuff, and a
   pdf
   is produced, with something like this directive:
  
   add_latex_document( mypaper.tex
INPUTS tex/bibliography.tex
   texlib/mystyle.sty
BIBFILES texlib/mylibrary.bib
DEFAULT_PDF
USE_NOMENCL
   )
  
   I also get it to generate all my R plots.  Other advantages are that
   you
   get an out-of-source build that is isolated (to some extent) in its
   own
   directory.  And I think it is easier to diagnose the problems when
   things go wrong, better than staring at an elisp backtrace.  Now if
   org
   would write my CMakeList.txt for me, that would be a fine thing.
  
   Myles
 







Re: [O] starting value for ordered lists?

2012-08-08 Thread Andrew Young
Hi Matt,

You have to start the text of the item with [@13].
Try:
13. [@13] this is the 13th item

Sincerely,
Andrew

On Wed, Aug 8, 2012 at 2:24 PM, Matt Price mopto...@gmail.com wrote:
 Hi,

 in the org manual (http://orgmode.org/manual/Plain-lists.html) i read that I
 can start an ordered list at a particular number using an [@20] syntax:

 If you want a list to start with a different value (e.g. 20), start the text
 of the item with [@20]4. Those constructs can be used in any item of the
 list in order to enforce a particular numbering.

 I think I'm not understanding somehting though, as if I try this:

 [@13]. thirteenth item

 org doesn't seem to recognize the line as a list item.  I'm running a pretty
 recent org 7.8.11 from git.  I'm sure I'm just reading the manual wrong --
 any hints? thanks
 Matt





[O] [GSoC] Merge Driver progress and conflict markers

2012-07-13 Thread Andrew Young
Hello list,
Another small progress update on the org-merge-driver:

The merge driver at this point has the ability to detect the insertion
and deletion of headings, and should correctly cause updates to the tree
structure to conflict.

Here is a short example of the merge driver at work:

Ancestor File:

* Gardening
** Spring Planting
* Rocket Cars
** Speed Concerns
*** How to go faster
* Origami
- How do you fold a crane?

Local Revision:

* Gardening
- Buy a sprinkler.
* Rocket Cars
- rocket cars are cool.
** Speed Concerns
- I'm not going fast enough.
*** How to go faster
*** Bigger engines

Remote Revision:

* Gardening
** Spring Planting
* Rocket Cars
- rocket cars are dangerous.
** Safety Concerns
- Look into wearing a helmet.
* Origami
- Cranes are easy.

Output File:

* Gardening
- Buy a sprinkler.
* Rocket Cars

- rocket cars are cool.
===
- rocket cars are dangerous.

** Safety Concerns
- Look into wearing a helmet.

** Speed Concerns
- I'm not going fast enough.
*** Bigger engines
===


===
* Origami
- Cranes are easy.


Currently, I am working on global matching, which is my name for
detecting element's movement across the document.

I need some input on the display of conflicts: Right now I am trying
to devise the output to be as informative and useful as possible.

There are a number of issues to consider:

1. Providing the most amount of information possible.  This means
including descriptive information in the conflict markers, and never
combining the conflict markers of side-by-side conflicts.  There is
also a risk of printing too much, and cluttering the output.

2. Nested conflict markers. With global matching implemented in the
near future, the merge driver may be printing nested conflicts. This
is because it is possible for conflicts to be inside other conflict
boundaries.  It will be important to consider the desired behavior and
output of the merge driver when merging elements whose parents have
conflicted.

3. Compatibility with org-mode and traditional diff tools. Some merge
tools may simply fail with nested conflicts.

4. Visual queues.  Nested conflict markers could be indented according
to their conflict level to help see where they line up.  This has the
trade off of abandoning the traditional style, and may be initially
confusing.

Following is a simplified example of nested conflict markers. In the
example, each heading is unique and we assume their movement may be
tracked.  In the actual merge driver, IDs would be used to implement
tracking of this nature.

EXAMPLE 2

Ancestor:

* Heading 1
* Heading 2
* Heading 3
** Heading A
** heading B

Local Revision:

* Heading 1
** DONE Heading A
** Heading B
* Heading 2
* Heading 3

Remote Revision:

* Heading 2
** TODO Heading A
* Heading 3

Output File:

 local: updated children
* Heading 1
   local: content update
** DONE Heading A
  ===
** TODO Heading A
   remote: content update
** Heading B
===
 remote: deleted
* Heading 2
 local: moved
===
   local: content update
** DONE Heading A
  ===
** TODO Heading A
   remote: content update
 remote: moved
* Heading 3

## output, non-nested conflicts
 local
* Heading 1
** DONE Heading A
** Heading B
===
 remote
* Heading 2
 local: moved
===
** TODO Heading A

* Heading 3

For the moment, I am partial to using nested conflict markers. Nested
markers display as much information as possible, and allow the merger
to do as much work as possible towards merging the final document.
The drawback of nested markers is that they may be a major departure
from diff output.

Any kind of brainstorming, interesting examples, or opinions would be
a huge help to me.

Thanks,

Andrew



[O] [GSoC] org-merge-driver weekly update

2012-06-16 Thread Andrew Young
Hi everyone,
small weekly update;

I'm almost finished creating the parser.  Because of the nature
of org mode grammar, the files are being parsed with regexs and
(f)lex.

Because Orgmode files can be written in any character encoding
supported in Emacs, I am looking into using libiconv to support
as many file encodings as possible.

Sincerely,
Andrew Young



Re: [O] [GSoC] org-merge-driver weekly update

2012-06-06 Thread Andrew Young
Hi Robert Horn,

On Mon, Jun 4, 2012 at 11:30 AM, Robert Horn rjh...@alum.mit.edu wrote:
 Another area that would be nice to address is taking advantage of the
 information in date-trees so assist with merging.  This is similar to
 the logic around keeping headlines in order.  With date trees there is a
 date and sometimes time tag to help.

 In addition to the occurrence order, there is also an ordering constraint on 
 date trees that can be used to determine the proper delta.  You can use the 
 date and time information in the headlines to determine the proper sequencing.

 For example, the delta/merger for two files of the form:
 File 1:
 * Year
 ** Year-Month
 *** Year-Month-Day
  Y-M-D-Time1 stuff1 ...
  Y-M-D-Time2 stuff2 ...
  Y-M-D-Time4 stuff4 ...
  Y-M-D-Time5 stuff5 ...
  Y-M-D-Time9 stuff9 ...
 File 2:
 * Year
 ** Year-Month
 *** Year-Month-Day
  Y-M-D-Time1 stuff1 ...
  Y-M-D-Time2 stuff2 ...
  Y-M-D-Time3 stuff3 ...
  Y-M-D-Time6 stuff6 ...
  Y-M-D-Time7 stuff7 ...

 Should be:
 * Year
 ** Year-Month
 *** Year-Month-Day
  Y-M-D-Time1 stuff1 ...
  Y-M-D-Time2 stuff2 ...
  Y-M-D-Time3 stuff3 ...
  Y-M-D-Time4 stuff4 ...
  Y-M-D-Time5 stuff5 ...
  Y-M-D-Time6 stuff6 ...
  Y-M-D-Time7 stuff7 ...
  Y-M-D-Time9 stuff9 ...

 This time aware merge logic will apply similarly to all levels of the date 
 tree.

 Date trees are recognizable by the combination of headlines in this
 format.  A date tree can occur anywhere in an org file, but it will
 begin with a level one headline of the form * , etc.

 R Horn
 rjh...@alum.mit.edu

Thank you for the suggestion!  The program should support date trees.

I wonder if date trees specifically should be aggressively resorted
during the merge (reordering more headings than necessary, without
regards to the in-file ordering).  It is currently my opinion that the
program should try to retain the original ordering as much as
possible, only sorting the minimum number of headings necessary when
merging has made the ordering ambiguous.

Sincerely,
Andrew Young



Re: [O] [GSoC] org-merge-driver weekly update

2012-05-31 Thread Andrew Young
Hi Carsten,

On Wed, May 30, 2012 at 1:15 PM, Carsten Dominik
carsten.domi...@gmail.com wrote:

 Hi Andrew,

 On 30.5.2012, at 16:36, Andrew Young wrote:

  Hello everyone,
 
  I would just like to let everyone know that a prototype for 
  org-merge-driver is available.  It is not complete, so of course please do 
  not use it for your repository! ;)
 
  You can see some example use of it at the the worg project page: 
  http://orgmode.org/worg/org-contrib/gsoc2012/student-projects/git-merge-tool/prototype.html


 A nice start!

 In your first example, it seems incorrect to me that * A new heading in file 
 2
 ends up being the first top-level headline in the merged file.  It is added as
 second in file two, so I clearly would expect it to appear as second in the 
 merged file.

 Greetings

 - Carsten

 P.S.  Bastien, should comments and discussions like this one be on the list, 
 or off list?

 - Carsten

I agree that the prototype is not correct in this respect.  I
originally planned to separate orgmode elements into two types:
ordered and unordered.  Unordered elements would be things like
plain lists and headings.  Ordered entities would be things like
numbered plain lists.

This decision led to the prototype not tracking the order which
headings appear.  Only hierachical position was tracked and used
in the prototype.  As a result, new headings are always shown at
the start of a level, and reordered headings may or may show up
in the new order.  I have since changed my mind about how to
handle this situation.

The new strategy is to track the same positional data for both
ordered and unordered elements.  The difference between the
element types will be in how reorders from both files will be
merged together.

I can modify the prototype to print headings in the correct
order, but I'm mostly just interested in moving on.

Sincerely,
Andrew



[O] [GSoC] org-merge-driver weekly update

2012-05-30 Thread Andrew Young
Hello everyone,

I would just like to let everyone know that a prototype for
org-merge-driver is available.  It is not complete, so of course please do
not use it for your repository! ;)

You can see some example use of it at the the worg project page:
http://orgmode.org/worg/org-contrib/gsoc2012/student-projects/git-merge-tool/prototype.html

Sincerely,
Andrew Young


[O] [GSoC] Org merge driver progress update

2012-05-19 Thread Andrew Young
Hello everyone,

Just to remind everyone, my project is the  org merge driver.  The project
webpage is 
herehttp://orgmode.org/worg/org-contrib/gsoc2012/student-projects/git-merge-tool/index.html,
and the code repository is
herehttp://orgmode.org/w/?p=org-merge-driver.git;a=summary.
 Here is a quick update on the problems I have encountered, and what is
going on:

I was on my way to finishing my prototype, but I felt that the prototype
was not going to really demonstrate any of the concepts and programming
techniques which I was going to use in the final version.  The prototype
was really just going to be bad merge driver.

I spent quite some time trying to implement a fast algorithm for finding
the shortest edit script of a file (this is what
'diffhttp://en.wikipedia.org/wiki/Diff'
does).  It turns out that the exact same
algorithmhttp://www.grantjenks.com/wiki/_media/ideas:diffalgorithmlcs.pdf
was
already implemented in Gnulib, which I am now using instead.

I am also trying to incorporate elements of polymorphism, generic
programming, and object oriented programming in C.  Its very interesting,
although it can get very complicated.  I am planning to use these concepts
to make the merge driver more extendable and reusable.

Right now I'm considering the implementation of the final merge driver, and
doing a lot of scratch work on paper.  The prototype should be finished
soon, and then I can move onto the real implementation.  In the code
repository, you can find a implementation notes in
doc/implementation.organd a log of what I'm working on in doc/
notes.org.

Sincerely,
Andrew Young


Re: [O] Google Summer of Code -- 3 Org projects for our first participation!

2012-04-24 Thread Andrew Young
Hi,

Thank you Bastien for working so hard to get Org-mode 3 slots, I know
most other Gnu projects only received one slot.  I'm really excited to
be able to work on this project!

Thank you to every one else involved as well!

Best,
Andrew

On Tue, Apr 24, 2012 at 7:29 AM, Richard Riley rile...@gmail.com wrote:
 Bastien b...@gnu.org writes:

 Dear all,

 we will have 3 students hacking Org thanks to Google and the GSoC
 program.  The list of all accepted projects can be checked here:

   http://www.google-melange.com/gsoc/projects/list/google/gsoc2012

 Congratulations to Thorsten, Aurélien and Andrew who made it!
 And special thanks to Thorsten, who really pushed me into this.

 Really cool. org-mode just keeps growing while still keeping its core
 simplicity. By far the biggest use I have now is as a simple journal
 logger! If I may, and just for the future, what I'd really like to see
 is a working org mode and google integration with gnus
 integration. Possibly via googlecl which I used yonks ago for a googlecl
 based blogger.com blog facility direct from org-files (still working
 well enough and is in github (org-googlecl). I know there are some
 proofs of concept already there but performance and usability were
 pretty rudimentaty. bbdb's days are pretty much up in this day of
 smartphone and everyone integrates with google ;) This integration
 would obviously (!?!) integrate with google calendars which is then
 already well catered for on just about any mobile device.







Re: [O] Google Summer of Code 2012 Student Application

2012-04-06 Thread Andrew Young
Hi,

On Thu, Apr 5, 2012 at 3:46 AM, Torsten Wagner torsten.wag...@gmail.com wrote:

 Hi Andrew,


 Reading this proposal and having a bit background in writing
 proposals, I have the following suggestion:

 * I'm not sure everyone (at least the one who review this) know what
 org-mode is. There should be a very small summary about org-mode and
 the key-benefit being plain text (which is why you can start this
 project after all).

This raises the point that I have no idea at all who will be reviewing
my proposal. I originally wrote the proposal targeting Org-Mode devs
as the audience.  This has provided some important insight to my
application. Thank you!


 * In the way the proposal is written, you address org-mode users which
 uses git (later you mention other CVS too). This actually makes, or at
 least sound like, the proposal being only useful for a (small)
 intersection of users namely org-mode AND (in the sense of an logic
 AND) git-user.
 I would find it more useful to describe this work as being an
 extension for org-mode users;
 ** They can start to collaborate on a org-mode files, including
 collaboration with users of possible other software tools (e.g.
 mobileorg apps).
 ** Org-mode user can use a CVS system which is not only of interest
 for collaboration but for keeping a chronological order of changes in
 e.g. a project file.
 ** It makes org-mode a possible tool for software developers which can
 now use org-files e.g. for documentation and notes beside there source
 code in the same git repository.

 All this points would show that the proposal is going to extend
 org-mode instead of being limited useful for only a very particular
 user-base. Finally, I guess it would be good to mention that this
 project (and org-mode in general) is not limited to a OS but attracts
 users of MS Windows, Mac OS and Linux. Simply to demonstrate that the
 user-base can be expected to be rather large.
 (Not sure if the GNU people like this ;) )

 Torsten

These are all great suggestions and points.  This triggered a complete
rewrite of the benefits section.  Thank you for your help.

Regards,
Andrew Young



Re: [O] Google Summer of Code 2012 Student Application

2012-04-05 Thread Andrew Young
Hello Bastien,

On Thu, Apr 5, 2012 at 2:48 AM, Bastien b...@gnu.org wrote:
 Hi Andrew,

 Andrew Young younga...@gmail.com writes:

 My name is Andrew Young, and I would like to participate in an Org-Mode
 project for GSoC 2012.  My application for the project 'Git merge tool for
 Org files' can be found
 herehttp://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/pwyl/1#.

 Great!

  I would appreciate as much feedback and criticism as possible.

 First of all, make sure someone can co-mentor this project.  I'm willing
 to mentor this (as the current maintainer it makes sense, especially for
 people judging the project from the outside), but having Carsten as a
 co-mentor would be a great win.  Make sure Carsten (cc'ed) is okay.

I will send him a personal (private) request.


 Carsten, being a co-mentor involves mainly three things:

 1. registering on google-melange.com

 2. from there, requesting to be a mentor for the GNU project

 3. during the project, help the student and have IRC/phone meetings,
   at least when I'm not here (I expect to be off for 2-3 weeks this
   summer, I will tell when ASAP)

 I used the generic GNU Project student application template, which can be
 found here http://www.google-melange.com/gsoc/org/google/gsoc2012/gnu.

 1. First things thing: you should rewrite the summary section to
   remove the I believe and other informal writing from Carsten's
   prose.  Make it yours, make it a real summary.

I found the GNU Application template confusing, and was not sure if
the summary was supposed to be written by me, or copied from the ideas
page (to clarify what project idea I was referring to).  I followed
your advice and wrote my own project summary, since that seems like
the better idea.


 2. Refer to org-element.el when you mention the Data representation.
   org-element.el will be key in representing data and diffs between
   data (at any level.)

 3. Add a documentation section, explaining what doc you will write and
   how you you will write/host it (worg is fine.)


Thanks for the pointers. I've incorporated your advice into the proposal.

 I have some specific questions:
 1.  There is no implementation details or decisions in my application, just
 a basic plan of what needs to be done.  Should I start researching
 implementation details for my application?

 You can look at org-element.el for the data representation.

 2.  I would like to post my application on the community site Worg.  If
 this is appropriate, what is the proper channel to request GIT access?

 Send me your public key.

 If this mailing list is not the appropriate place to discuss my
 application, please let me know and then feel free to email me directly.  I
 will also be spending as much time as possible on freenode #org-mode as
 Pwyl.

 This mailing list *is* the appropriate place, no worry.

 Thanks again for your proposal, this would be a great plus for Org!

 Best,

 --
  Bastien

Thanks again for your suggestions and pointers.

My public key is attached.

Regards,
Andrew


youngar17@gmail.com.pub
Description: Binary data


[O] Google Summer of Code 2012 Student Application

2012-04-04 Thread Andrew Young
Hello Org-Mode mailing list,

My name is Andrew Young, and I would like to participate in an Org-Mode
project for GSoC 2012.  My application for the project 'Git merge tool for
Org files' can be found
herehttp://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/pwyl/1#.
 I would appreciate as much feedback and criticism as possible.

I used the generic GNU Project student application template, which can be
found here http://www.google-melange.com/gsoc/org/google/gsoc2012/gnu.

I have some specific questions:
1.  There is no implementation details or decisions in my application, just
a basic plan of what needs to be done.  Should I start researching
implementation details for my application?
2.  I would like to post my application on the community site Worg.  If
this is appropriate, what is the proper channel to request GIT access?

If this mailing list is not the appropriate place to discuss my
application, please let me know and then feel free to email me directly.  I
will also be spending as much time as possible on freenode #org-mode as
Pwyl.

Regards,
Andrew Young
younga...@gmail.com