3 ms·
I keep seeing articles like this and I keep being a bit disappointed that they mostly adopt techniques that were developed for general knowledge workers ("perso
by abeppu 5y ago
I keep seeing articles like this and I keep being a bit disappointed that they mostly adopt techniques that were developed for general knowledge workers ("personal knowledge management system") or ideas by/for writers or researchers, and don't seriously think about how to treat/manage code.
A brain isn't just about knowledge; it's also a set of skills, capacities, patterns of behavior. Software is an area it's possible to capture capacities in the form of code that actually does stuff. This article makes brief mention of code snippets, but only really to remark on the kinds of metadata that one should keep to find them later.
What I have yet to see a satisfying description of, and what I sometimes try to work towards myself, is a mashup of a library with a knowledge management system, where notes link to code, and both go together in a common repo. However, depending on the kinds of things one stores, the software/library side can stumble over some challenges, and I haven't quite figured out how to keep the overhead spent on maintaining it low. One might have small pieces of code in many languages, or different versions of the same language (e.g. making notes about macros in scala 2.x vs scala 3), and notes made at different times might incidentally become dependent on differing specific versions of library (e.g. ideas in statistical analysis that use pandas).
- epolanski 5y agoYou’re kind of describing org mode.
- abeppu 5y agoI use org mode, and org-roam, but if you just look at org mode's guidance on working with code-snippets, it gives basically no attention to dependencies or libraries. Each code snippet is assumed to stand on its own. So if, e.g. you want make a note about a data science related idea but you first want to assume the presence of numpy, how does your snippet tie to a particular environment? How does your giant accumulated history of notes with many snippets tie back to environments? This isn't met by org mode on its own, but might be met by org mode in combination with some other stuff. https://orgmode.org/manual/Working-with-Source-Code.html https://orgmode.org/manual/Working-with-Source-Code.html
- Arcsech 5y agoI've been thinking along some similar lines myself recently, that I'd like to have notes that can link to code in some kind of semi-durable way (i.e. as resilient as possible to changes), be able to run code snippets in a variety of languages, etc., and the only things I've found that are able to do this are: 1) Emacs with Org Mode, which is very powerful but has a learning curve like a brick wall, even if you already know emacs. Also nearly impossible to use with anything except emacs (yes, there are mobile/web apps that understand standard org syntax... which doesn't help with any customizations you make, which is like half the point of org mode). 2) Glamorous Toolkit, which is based on Pharo Smalltalk and is easier to use than org mode, but less featureful, much newer (== smaller community, less support), and has many of same problems (i.e. can't easily use it on any non-desktop platform). It's looking more and more like I'm going to have to build something myself for this.