summaryrefslogtreecommitdiffstats
path: root/2023/talks/unentangling.md
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2023-09-22 10:14:52 -0400
committerSacha Chua <sacha@sachachua.com>2023-09-22 10:14:52 -0400
commit7458a38e3e754cf8bb6e7ab02e2de56557dcbe2d (patch)
tree1a81ab6f8526f08e050866083ffca108e292c1d7 /2023/talks/unentangling.md
parent6ad537fe73f6f66fd056ad4d8738961423dcc526 (diff)
downloademacsconf-wiki-7458a38e3e754cf8bb6e7ab02e2de56557dcbe2d.tar.xz
emacsconf-wiki-7458a38e3e754cf8bb6e7ab02e2de56557dcbe2d.zip
add eval, hyperamp, poltys, table, test, unentangling
Diffstat (limited to '2023/talks/unentangling.md')
-rw-r--r--2023/talks/unentangling.md77
1 files changed, 77 insertions, 0 deletions
diff --git a/2023/talks/unentangling.md b/2023/talks/unentangling.md
new file mode 100644
index 00000000..4f0764ab
--- /dev/null
+++ b/2023/talks/unentangling.md
@@ -0,0 +1,77 @@
+[[!meta title="(Un)entangling projects and repos"]]
+[[!meta copyright="Copyright &copy; 2023 Alexey Bochkarev"]]
+[[!inline pages="internal(2023/info/unentangling-nav)" raw="yes"]]
+
+<!-- Initially generated with emacsconf-publish-talk-page and then left alone for manual editing -->
+<!-- You can manually edit this file to update the abstract, add links, etc. --->
+
+
+# (Un)entangling projects and repos
+Alexey Bochkarev (he/him) - <https://www.bochkarev.io>, @bochkarev@qoto.org (Mastodon)
+
+[[!inline pages="internal(2023/info/unentangling-before)" raw="yes"]]
+
+Emacs provides a few excellent tools for working on projects through
+all their key stages. Orgmode is great for brainstorming, structuring
+and maintaining TODO lists, tracking time, organizing notes, and
+writing memos or reports. Many major modes help writing code, magit
+makes version control almost frictionless, and projectile helps with
+project management and navigation. However, I found a few situations
+when I wanted to separate the concepts of "project" and "source
+storage" (say, having a few version control repositories associated
+with a single "generalized project").
+
+In this talk, I would like:
+
+1. to describe a specific example of such situation,
+
+2. discuss a workflow aimed at managing such "generalized" projects
+and present my solution, based on a very simple ELisp "glue" on top of
+the functionality provided by package projectile.
+
+For example, consider a research project (think: applied mathematics with
+a heavy part of computational experiments). It might consist of:
+
+- The \`\`paper'' draft: some sort of final report source, usually in
+ LaTeX format, or orgmode exported to PDF via LaTeX. Version controlled
+ by git.
+
+- Numerical experiments: a separate folder, or even a separate git
+ repo. Contains the source code for numerical experiments and the
+ related technical documentation. Will be published along with the
+ paper.
+
+- A collection of intermediate memos (notes) sent to collaborators.
+
+- A collection of "raw" notes (lab journal), regarding what did I try
+ and especially what did NOT work and in which ways.
+
+This setting raises a few problems that all boil down to the necessity
+of having an easily accessible private notes file(s) associated with a
+few repositories at the same time outside of these repos. This way one
+can:
+
+- Maintain more granular project structure and TODOs while still having
+more concise TODO lists for the colleagues on a per-repository basis.
+
+- Maintain (project-specific) private technical notes, and maybe a full
+ lab journal both describing the "big picture" of the project and
+ containing the technical information.
+
+- Keep time tracking data private and outside of the source repositories,
+
+- Capture thoughts and TODOs to a single place from across a few
+ specific repositories.
+
+I propose to solve this problem by associating a single "notes folder"
+and a main `.org` file to each repository using the standard mechanism
+of directory-local variables on top of what is already provided by
+projectile package.
+
+
+
+[[!inline pages="internal(2023/info/unentangling-after)" raw="yes"]]
+
+[[!inline pages="internal(2023/info/unentangling-nav)" raw="yes"]]
+
+