Emacs org-mode is very powerful tool for personal knowledge management, but can be hard to learn, makes it hard to have the same content (notes) referenced in more than one place, and can be awkward for the hands.
Finding other tools inadequate for various reasons, I wrote OneModel to meet my own needs, and made it available. If you touch-type, it is extremely fast for to-do lists and notes of all kinds, and I generate the project web site from part of its data. It is much easier to learn and faster to navigate than emacs, and you can have the same content in as many places as desired, without duplication.

But it wants to be more: It uses an internal structure that has big future ideas for knowledge management, like embedding code within groups of entities, or linking across OneModel instances, so you can choose to share data from your personal organizer, or subscribe to (or copy) data from other instances: like a wikipedia but where the internal knowledge is structured so can be used for computation, rich queries etc. Imagine asking a system: what villages in history had economic improvements in a 4-year period, all external conditions being equal, and what do those cases all have in common?--that is the long-term vision of the system. The vision and internal structure are intended as be a prototype of a platform to manage all mankind's knowledge as a usefully computable whole.

The web site has a few screen shots (remember it's an ugly prototype but works well! -- I have my calendar/life notes/todos/contacts etc in it now) and a demo system to play with without installing anything.

(It is written in scala, using a simple/approachable coding style that should be readable by most programmers with just minutes of scala knowledge--I hope--and uses postgresql for the data.)

I frankly don't mind if someone else takes the ideas and does a better job with them: we can do better than managing mankind's knowledge in the form of huge sophisticated piles of words: words are not the real knowledge but a superstrate over it, and they are hard to compute well. Feedback welcome.

I've used things like askSam [pcworld.com] (a document indexing system), Task Coach [taskcoach.org], and lots of things in between, for management of lists and information. And I see the room for improvement, and I see how I have had to change my workflow or even my data to fit it to a useful format for the software in use. I long for something that just takes my information, ideas, and data, and holds it in a way that's just right no matter what.

But...

After having spent 15 minutes or so following the links in TFA (the fine advertisement), I am no wiser than I was after simply reading the above buzzword-laden praise prose.

I guess I am saying that it doesn't help me a lot to know the philosophy of the program, or what it isn't, or how it aims to be an extensible flexible omniscient system for organization of the base atomic units of consciousness of the human race in computable form to capitalize on the synergy of etc. etc. etc....

What I was sort of hoping to learn was this: What does it actually do?

If that can't be explained from "selected data from the program" dumped to a web page (doesn't seem to be, anyway), how about something like a 4-5 minute video showing someone taking actual ideas and turning them into a "OneModel" fix-all do-all representation?

Sure it has all the bells and whistles, but does it give you carpal tunnel syndrome?

Disclaimer: GuidSD user that edits his config with nano while installing until he can install vi like the good FSM intended. Well, vis actually. Vi \ vim makes me cry for all the poor children in Uganda and the poor developers forced to maintain that spaghetti code.

Re:Hmmm.Re:Hmmm.(Score: 2) by hendrikboom on Sunday April 24 2016, @12:23PM

The only thing that made emacs usable for me is that for ordinary editing it used almost the same keystrokes as the PerfectWriter I used long ago on DOS. So I just went on using them when I moved to a better operating system. I regularly use maybe ten control character combinations when I use emacs. Most of its power is unused.

No, I don't think vim i any better in this respect.

Back on DOS, before hard drives, PerfectWriter was pretty neat. Not much better was available there back then.

I'm not looking forward to learning another set of unconscious keystrokes for OM.

Thanks for the question. Maybe I'm starting to see better why people think it's hard.

The thing with OM is:1) everything is on the screen, and reading it should be all you need to do at any given time. There are only 10 things options didn't create yourself at any given time, and only about 2-4 you'd use often. 1 2 and 4 being the main ones. That's why I haven't made a "user manual" (yet anyway)--there isn't much to tell that one can't get by reading the screen and trying it (or so i have hoped). And,2) everything else on the menu is something that was created and put there by the user, you, and arranged by you, and those get letters or other characters assigned dynamically. So if you create one entity, it is 'a', and you type a to go to it and do more with it. If you create a 2nd entity (sibling to a), it is b unless you reorder them with menu option 2. Next being 'c', and so on. If you create something new under 'a', it is 'a' when you are inside the first one. They are yours and you can make them however you want which is in effect making the keystrokes familiar. Sometimes I get mnemonics out of that ordering: I have one set of things (shown on the OM site also under getting started), one of my top menus or groupings I use , where I can remember what to type because mentally I associate them with letters of the alphabet and in that particular case it's handy. In other places I just get used to what I have put as 'a', 'b', 'c', 'd' etc.

It is really easy to use I think, once you do it for a little while.

Then maybe you can tell me what I need to say to new users to make the first couple of steps easier! :)

I did something similar to what you did a while back, but kind of different, too. I wrote MailTask [github.com], which is an email manager, but contains within it a todo list as well, and the todo list is automatically populated with new or updated tasks when emails come in. I need to write docs for it, but it's definitely awesome, for me personally at least. Techies could probably get it working without docs if they really wanted to, hence the link

I'd love other people to use it ... and since your submission got accepted, after I write docs, I'll wait for the queue to be near-empty someday and a story on MailTask as well :) But, even if other people never do, it was still worth it for me to write it -- because I use it and like it.

I looked at OneModel and it doesn't look like it's for me; mind maps etc. were never something I found a lot of use for. But thanks for sharing.

And regarding some of the jerks who posted (I saw at least one), don't listen to them; there are always jerks. And, I hope you get some more users, but, even if no one else ever uses it, you wrote something useful to you. And that makes it worth it. Congratulations.

I guess I'm not good at making things clear; sorry about that. But I use it to organize all my thoughts, and to get around really efficiently because everything is basically a single keystroke (or a few) away. It is both, today, a more-efficient note-taking tool (collapsible outlines, textual mind maps), but has an internal structure to model knowledge more independently of the words. Wikipedia for example, has very many words. But is not very easily computable. OM is designed to be computable (that part is future, but that's the idea).

The philosophy of the program ... if the web site's explanations aren't enough, then I need to get a tech writer because I really put a lot in there. If you think of what an object model is (in a way: objects with names, relationships between them, attributes), that is what the app lets you create. And (though it's not fully working) assign classes to objects. Then, in the future, code to classes.

So it's an object model built on the fly. So now the app lets you not only create the equivalent of collapsible outlines (more efficiently than org-mode and letting you put the same thing in more than one place). But now we also have as a representation of knowledge, that really lets you store anything you want, even as complicated as "John is moody because he thinks Sally thinks he forgot their anniversary," not necessarily as words but as *data*: thoughts vs. expectations, relationships between people, dates, etc. The various attribute types assignable to entities, relationship types that can be created, etc., should all allow that, though it is not fully demonstrated. I guess I didn't make that clear. Maybe I should make videos and whitepapers.... We really hashed it out in some of the design discussions years ago, and I demonstrated it fully then I thought, but maybe I'm not explaining it well now.

Consider a simple pen on your desk. What you know about it can be expressed as numbers, relationships, and code: mass, owner, manufacturer, component parts, newtonian physics, etc. You may not choose to model all those things (= put them in OneModel) in some form, but you definitely could put in the parts about it that you desire. Then mentally extrapolate that to scale up to all the knowledge you care to express (ie, whatever you make notes about), in the single system (which I believe can handle it, especially with all the future features in place, but it can now too, really).

Then (this part isn't developed yet but is the real power that I envision), you have data and I have data that relates to each others' data. We can link those, like web pages or wikis link to topics. But we because it is an object model, and has a structure, the linking (or subscribing, copying, whatever fits) can be done in a way that is also structured, and can have code around it to make the pieces fit and work together well. Maybe I'm also not explaining that well.

But at that point, we have shared our knowledge with each other, in a structured way. We have integrated our two systems in a way that, unlike wikipedia, is highly computable. And unlike emacs, is easy to learn and use (or so I have thought), and more efficient (physically, for the hands and mind, for entry and navigation).

Now mentally add another feature (which like the sharing noted above, also isnt' there yet because there aren't enough users to warrant it): A given entity in the system is the same entity regardless of its name. Just like in the real world, a house can be a casa or a domo or whatever but its *data* is the same thing: it has the same numbers, relationships, and code. Thus, knowledge is independent of human language. We can share the same knowledge across cultures, if we choose to, because it really is the same thing regardless of the name you use for it.

I think the above, combined with the network effect, can allow us to organize mankind's knowledge as a whole. I'm sorry if I'm still not explaining it well. But I appreciate very much the chance to try.

I'm giving this away for free. I might sell binaries or hosting, but it's all there for free, with code. I think it is really useful. OTOH, maybe I wrote it too specifically to my own personal requirements or something.

I tried to explain these things in the web site in the various links under "vision"--but does the above do any better?

Today, it is like a collapsible outline, note-taking system, that is really efficient from the keyboard to navigate, and where you can link to any content from anywhere (unlike most anything with text files, AFAIK).

OK: just what it does(Score: 1) by lcall on Saturday April 23 2016, @02:11PM

You can take notes with it. Rearrange them easily, up and down in a list, or up/down in the hierarchy. Link them to each other. Navigate across links with simple keypresses. Make deeply nested lists. Link lists to lists. Compose long paragraphs and attach them. Or do more complicated things if desired, by creating relationship types and using those.

It's better than the alternatives because the navigation takes fewer keystrokes, you don't have to read a manual (it's all on the screen, or so I thought), you can have the same thing in as many places as you want (unlike org-mode AFAIK), it is Free (some alternatives are, others are not), and it has immense future potential for becoming a better-structured wikipedia, if we work together.

Re:Hmmm.Re:Hmmm.(Score: 2) by hendrikboom on Saturday April 23 2016, @05:43PM

Just getting a tech writer isn't enough if the tech writer doesn't know what to write. The skill of a tech writer is in organising and presenting information clearly, not in figuring out what the information is.

Wandering around your website, it looks like a mind-map listing the things you'd like an information-organizing system to do. The kind of things a marketing manager would want customers to believe, not the kind of thing a technologically-inclined person would want to understand in depth.

It doesn't explain its architecture or its engineering except to mumble something vague about objects and relationships.

I did sign up for the mailing list, by the way, hoping I might end up learning something definite.

Some architectureSome architecture(Score: 2, Informative) by lcall on Saturday April 23 2016, @06:14PM

Thanks, especially for your candor. I accept your comments about the site. Your being on the regular list (not just announcements) would let me ask if my later improvement efforts help enough. Feedback is something the project has really needed.

How is this for an initial description of the architecture (beyond the "About" page then "what it is today" link, which mentions simplified scala and postgres):

- everything is an "entity", represented by the entity table. An entity has a name (or in the future I hope, any number of names, with one chosen for display based on context or user preference). Names can be 160 characters long (it just "felt" right as the length for making & rearranging rough individual notes, without the note becoming a paragraph which goes in a TextAttribute). In addition to attributes, entities have a creation date (i'm thinking of adding an edited date), an "archived date" (which makes them hidden from most use, which I currently use to mark off done tasks or past calendar items; calendar items, BTW, I just write like a to-do entity, with a quick date in a list, and sort them, then ck it each day, which isn't ideal yet but works better than the other stuff I've tried). Entities also can be marked as public, non-public, or null (not specified), and data exports (to text outline or html) can filter on those values.

- entities have attributes, including:
- QuantityAttribute (per a Martin Fowler book), with number, unit and type: for example, 5 meters length. Meters and Length have to be defined as entities (not done automatically yet, nor made sharable...maybe should be as part of sharing, or user feedback). QuantityAttrs also have a date on which they are known valid, and a date on which they were observed, which the UI lets you use or ignore by just hitting Enter.
- DateAttributes have date and type, for example 2010-1-1 and "birth", where "birth" is an entity.
- BooleanAttribute similarly has a boolean and a type, and valid & observed dates.
- FileAttribute (lets you add blobs/whatever to entities) has file content and metadata, including the original path and md5sum, and other metadata.
- TextAttribute lets you put in arbitrary text, including very long, and I use it for paragraphs, quotes, or stack traces, but the original intent was more to put in something like a serial #. It also has valid/observed dates.
- RelationToEntity: link entities to each other. One can be specific and make types (...is child of, lives next to, owns, whatever kind of relationship...), or use the UI quick option which is just "has" (and comes predefined in the system).
- RelationToGroup: of debatable use now, but might become more useful when code is associated with classes. Today, groups of entities are created when importing data from a text outline. Groups can also have class uniformity optionally enforced.

Not many conveniences are there yet (sharing/distributed instances, and better UIs are obviously big), but I think with some thought when using OM, that should let one "model" just about any knowledge, at least as much as what one might ever personally enter into a system.

Yes, this presentation helps. It should be in the "about" page. It says what the conceptual model is. It could even be what everyone here is asking for. The demo version gives me not a clue what's going on. I think I need this information just to understand what the screenful of instructions mean.

I agree. This probably should be accounted for in OM when there are use cases (with users) driving the priority.Because all the conveniences aren't in OM yet, sometimes I cheat just by putting whatever is the info, in the entity name. But that doesn't lend itself to computability long-term and isn't a good practice once the ability to use code or have object templates is in place.

So, a lot of what you are describing as your vision sounds to me like the vision behind the Semantic Web. I feel you would be well advised to read up about the Semantic Web, and figure out how to leverage the existing information (especially ontologies) that is being developed toward that end. That would allow you to focus your efforts only at the remaining portions of your data model, which are the more subjective ones, which is probably what you really want to do anyway, I'm guessing.

Wikipedia even recognizes this to some degree. There is (or at least used to be--haven't checked in a while) a project called Semantic Wikipedia, to elicit structured data to undergird Wikipedia articles.

1) I think the data model needs to evolve farther and faster than any individual or consensus will allow, so any ontology breaks down when trying to cope with our very-much-in-progress-for-a-long-time effort to understand reality and write what we learn.2) That has the problem of being based on human language, which is fickle etc etc as I've tried to write somewhat on my web site, if you browse through the links under "vision" (which itself is buried under "More about..." or FAQs):http://onemodel.org/1/e-9223372036854615514.html [onemodel.org]...and under the FAQs where I mention the semantic web (currently the 5th bullet here):http://onemodel.org/1/e-9223372036854624401.html [onemodel.org]

. If you have time to digest some of those things to see how the OM vision differs from anything that uses words at the lowest level, I'd be very interested in your feedback.

Site suggestionSite suggestion(Score: 2) by Marand on Saturday April 23 2016, @12:32PM

It's nice that the site has a FAQ, but the layout of it is annoying. It has fifteen separate bullet points, all linking to other pages that tend to only have 3-5 lines of text each. In addition, many of those also link to further mini-pages with only a couple lines as well, sometimes the same ones multiple times. It would be much nicer to read if the sub-pages were consolidated into the main FAQ, with the initial questions set up like a table of contents, with anchor links to their answers instead. That way someone curious about the software could just read or skim the entire thing instead of opening a dozen tabs or constantly jumping forward/back.

Another suggestion is to shorten the links, there's no need to have the entire sentences be clickable links; all it does is make the brain tune them out. Better to have words and phrases relevant to the link content highlighted, makes them stand out more. For example, the telnet demo is a nice touch that should be prominently displayed, but instead it just sort of blends into the rest of the pile of links and RANDOM UPPERCASE LETTERS.

Thanks for the suggestions; I appreciate the candor. It would be easier to do what you say but for the philosophy of the web site itself, and its being generated directly from content (aka my personal notes).

The whole idea is to model knowledge, ie, what I know. So the content started out as, in effect, a network of thoughts, each one leading to the next. Something like a mind map. Then I simply generate the site. I don't know if it's worth it to me to hand-create the html pages or use a different content system, when I currently can just use my note-taking system, hit generate, push it up, and it's live.

But I grant you it's different to read, and might put people off. Maybe it could be made more sophisticated in how I generate html from my notes (aka my knowledge model) to make it more attractive and readable. That's far from the highest priority at the moment though. (like, versus some key features to let individual OM instances aka models interact with each other and share information, or maybe creating a demo video and/or whitepapers that better explain the confusing parts to people).

I hope that one mitigating factor is that it responds quickly (since it's just static, lightweight html), so a person can see the set of ideas at any given time, and click to learn more about any one of them, something like quickly navigating a map. But that kind of "ease of use" could be some wishful thinking on my part...

The whole idea is to model knowledge, ie, what I know. So the content started out as, in effect, a network of thoughts, each one leading to the next. Something like a mind map. Then I simply generate the site.

Then maybe you should add code to generate a well-readable site from your data representation. If that's not possible, I'd see that as a sign that there's information missing, namely exactly the information needed to generate a readable page from it.

--The Tao of math: The numbers you can count are not the real numbers.

Smart people might want to use your software. They can figure out what you wrote and what you were thinking. But you shouldn't make them, because reward isn't guaranteed for that effort.

Instead, 'dumb it down' and make elevator pitches. Can you explain, in HARD CAPPED THIRTY SECONDS, what it does? Refine your description until you can, then use that as your descriptive text. Do the same for any other critical information. Take *important* usage recommendations ('here's how you can structure things!') and decompose using examples (grab any software-skills textbook, eg. a sql one, for the format) so that it's active learning for the reader.

EVERYTHING which is at present a brain-dump should be recompiled into (using onemodel's format) internal project docs. Get your project docs ducks in a line and keep them out of the user-public eye, and in the git-repo-public eye. Separate your internal project documentation and your user documentation!

Tech writing is a skill that can be learned. If you were to learn it, you'd probably find that you would require different tools to express yourself after that. You won't get it by getting a machine to write for you.

As for how to learn it, the only way I know is to do it, and revise mercilessly, getting constructive criticism from readers.

I used to hate writing. My Phd thesis was an exercise in tears. What turned me around was a good workshop on creative writing, followed by several Novembers of nanowrimo.

After that, I no longer feared writing lots of text. If something wasn't clear enough, I rewrote, and rewrote again. often from scratch each time, until it was good enough. (no that isn't the recommended approach for the nanowrimo November; then you just write the *first* draft; rewriting later). Now I just emit words roughly on topic and then change them a few times once I've found out what I was writing. Often you only find out what you have to say by saying it wrong.

1) Theory: We have many systems (wikis, evernote, cyc, etc), but all are crippled by relying on human language as a fundamental layer. To more powerfully manage knowledge, we can approach it more like an object model created on the fly by just using the system: what you know about a pen, say, is best expressed as numbers, relationships, and code (mass, owner, behavior ...); the human language words can change when the knowledge doesn't.2) Vision: Be effective on an individual level, then link OneModel instances (find others' data, subscribe to changes, copy, link, etc), to build large and comprehensive systems in wiki-like ways (with the power of the network effect), but without the crippling human-language limitations. Think wikipedia but all the data is effectively computable, and locally controllable.

3) Today: The AGPL prototype is like emacs org-mode in being keyboard- and desktop-oriented, and feeling like nested lists galore, but uses postgresql, allows having the same data linked into multiple places, is much easier to learn & use than emacs, and has a bigger long-term vision. It's (for me) the best personal organizer ever: very fast to navigate, and very flexible. The web site is generated from its data.

4) Next steps: Community-building and funding. I could really use feedback. The current target audience might be note-takers who touch type, like speed (and don't need mobile--cough), and need to be able to put the same information in more than one place in their notes. And anyone who wants to help move the big picture forward. Like, I hope to add anki-like features, and ways to attach code to classes of objects that were "modeled" on the fly as a side-effect of using the system (eg, so you can change the date on to-dos, in ways you specify, with simple code, or eventually run simulations, etc).

A number of the things you state as objectives seem to run afoul of the full employment theorem [wikipedia.org]. Your software may in fact be useful, but some of your aspirational goals seem to be frustrated by the problem that it's impossible to determine what the optimal granularity for data is. In your villages example, picking equivalence classes for your "all external conditions being equal" modifier is fraught with peril. Even if we suppose that there is some real, eternal law to be divined by this analysis, it's not going to be identified by every choice of equivalence classes. The set of reasonable equivalence classes is going to be quite large and there will be a variety of choices which do not find any significant explanatory variable and others which effectively cherry pick a spuriously significant explanatory variable. Before you can hope to look at similarities in economic progress of villages, you first need a theory of what makes two villages similar.

Stated another way, there are results in algorithmic information theory which say that there is no a priori way to choose an optimal granularity for atoms of knowledge. This is the basis for the intractability of some big picture problems in formal logic, computer programming, statistical inference, machine learning, and human learning. The issues in that last item are noted in Plato's Socratic dialogues, with the Socratic position that knowledge is unperfectable being contrasted with a Sophistic position that perfect knowledge of virtue was possible and teachable.

Thanks for your perceptive comment. Maybe as the system matures and is more used, we will model things at different granularity levels at different times, or find the best ways to meet the goals we can meet. I don't expect to run into that as a core blocker for some time. Participation welcome :)

This is a visionary presentation. Not likely to interest technical people by itself -- it's easy to be visionary without usable results. The presentation you made about entities and attributes, with attributes specified, was technical, and straightforward. It fails to express the purpose of the system and comes across as yet another data structure.

OK: just what it does(Score: 1) by lcall on Saturday April 23 2016, @02:17PM

You can take notes with it. Rearrange them easily, up and down in a list, or up/down in the hierarchy. Link them to each other. Navigate across links with simple keypresses. Make deeply nested lists. Link lists to lists. Compose long paragraphs and attach them. Or do more complicated things if desired, by creating relationship types and using those.

It's better than the alternatives because the navigation takes fewer keystrokes, you don't have to read a manual (it's all on the screen, or so I thought), you can have the same thing in as many places as you want (unlike org-mode AFAIK), it is Free (some alternatives are, others are not), and it has immense future potential for becoming a better-structured wikipedia, if we work together.

Yah, needs a video.

what the IT industry doesn't want you to know(Score: 2) by Bot on Saturday April 23 2016, @02:53PM

The next logical step from the spreadsheet and the wiki is the hypercard/wagn/newton os/org mode/onemodel approach, and things like orientdb, picolisp, would be a nice nosql infrastructure (postgresql is getting there too).

Apple snuffed the then successful hypercard and newton, which is a real pity because it would have made the web a semantic web from the start.

Of course this step could not be possible outside the free software world because the software industry wants you as a mere user of their feature laden stacks.

Weird that this submission was acceptedWeird that this submission was accepted(Score: 2) by CRCulver on Saturday April 23 2016, @04:18PM

Maybe not over-the-topMaybe not over-the-top(Score: 1) by lcall on Saturday April 23 2016, @04:42PM

I'm talking about just1) What it does today, where my statements are true. I think if you tried it you could confirm that, or have something more specific to refute. And,2) a possibility for future, based on the internal structure and how it could be used. If you disagree with how that could work, please be familiar with what I have said, and much more specific about which part, and why that couldn't work. Like sharing data structured in an object model, vs. wikis of today sharing unstructured (or less-structured) data.

Re:Maybe not over-the-topRe:Maybe not over-the-top(Score: 0) by Anonymous Coward on Monday April 25 2016, @01:46AM

Hey, while that feedback wasn't particularly helpful, neither was your response. I appreciate seeing you taking the time to speak for what your contribution does, but it seems this response was just defensive in nature.

Re:Weird that this submission was accepted(Score: 5, Insightful) by JNCF on Saturday April 23 2016, @07:24PM

I think he's having trouble explaining what it is that he's made, but he has made something. Daydreamers don't have github pages. Nothing he's claimed to have implemented seems over the top. Calling somebody mentally ill due to communication problems is just you being an asshole. I almost modded you troll, but decided to leave this comment instead. Personally, I like the idea of seeing personal projects hit the front page.

Re:Weird that this submission was accepted(Score: 4, Insightful) by requerdanos on Sunday April 24 2016, @12:34AM

The author's logorrhea and over-the-top claims suggest that we are dealing with either a daydreaming teenager, or someone who's mentally ill. Why did this make it to SN's front page?

Just writing to say that I hear what you are saying, but I respectfully disagree--I love seeing things like this on SN, and I have a lot of respect also for the author's work in a difficult area, namely information herding. I've tried and discarded so many to-do list/task management/notes management programs that they are starting to feel like weight-loss fads, and I'm glad to see someone with some vision take on the problem.

How friendly is it with distributed revision control systems? If I build a tangle of information, it is easily duplicated over several systems that are in intermittent content, and will updates made independently sync properly and bidirectionally when the machines are brought into temporary contact?

That's what I miss with all such systems so far.

-- hendrik

Re:Distributed?Re:Distributed?(Score: 1) by lcall on Saturday April 23 2016, @05:26PM

You have a really good point there. The next big thing OM needs is what I call "sharing" which is basically the kind of connection you describe, only between OM instances themselves. Hopefully to include watching for changes (subscribing), copying, linking, marking public or private, etc. I haven't really thought enough to have a good answer about integrating OM with version control, but maybe....

I invite you to join the mailing list for detailed discussion, like, at least to help provide the use cases and help choose priorities, or more involvement if you like. At a minimum, joining the announcements list would let you know what happens (low-volume, maybe monthly):

What exactly is wrong with Org mode? As far as I can tell, the submitter thinks the key bindings are bad (a reasonable complaint, but they can be rebound, and there are preset packages for, e.g., evil mode that fixes them), and he wants to be able to link a single note in multiple places. This can be done in Org mode via Org mode's extremely powerful native links, or it would be trivial to write a dynamic Org block that pulls an authoritative content source into multiple different files/locations.

Furthermore, I don't think needing to have "the same content in multiple places without duplication" is a common need. Reasonable people have decided that (hyper)links are the right tool if you want to reference some content, not duplicating that content in multiple places, even if it is pulling from a shared source.

advantages over vs. emacsadvantages over vs. emacs(Score: 1) by lcall on Saturday April 23 2016, @08:49PM

Thanks for pointing out that linking feature. I've tried both, and navigation in OM is (to me at least) definitely faster and requires fewer keystrokes. Also the fact that what you need to know is on the screen, to reduce the learning curve.

And a big deal with me is that the internal structure is about *knowledge* rather than about words. See another comment I made here mentioning "theory", and others about the nature of knowledge. I believe that as long as we are dependent on text at the lowest level, we limit the what the software can do with the data. There is more on that at the web site under "vision" links, but you have to drill in to find it all.

Partly taking advantage of OM's db structure, the next big phase will be about making it distributed (sharing knowledge between OM instances), letting you set different permission levels on different entities, propagate changes, etc.

make the tag help me as I am, *not* make me work to remember the tag (who isservant vs. master)

You might want to look at the literature on controlled vocabularies before you get around to having schemes for naming tags and attributes and so forth.

As for organizing knowledge in general, may I recommend The Accidental Taxonomist, by Heather Hedden. You seem to be on your way to building a system to organize information, and you might as well find out where that led other people. Most of the people professionally in the field got into it by accident, hence the title.

My intention is not to get philosophical, but knowledge IS words, as far as people are concerned. The biggest advance in human history, and the biggest advance any one person can make, is learning language.

Computers can take advantage of typed values (which is why we invented databases), but humans fundamentally understand only words (and pictures). If your goal is personal knowledge management and not computer knowledge management, take care not to put the cart before the horse; unless your goal is curating a personal knowledge database, this is merely a means to an end. Any solution that allows you to take notes and find them satisfactorily is doing its job to the fullest.

Thanks for your comment, it's a good one. As I've written in this page and on the OM web site (links under "vision" stuff), I think that words are key and important for us just as you say and more, but that there is a level below that, which I'm trying to map, hence "atomic knowledge".There are more details at http://onemodel.org [onemodel.org] under "More about OM" then "OM future plans and vision", then the first link, or just drill into this page, where the things talk about how what you know about a physical object (mass, etc...):http://onemodel.org/1/e-9223372036854641853.html [onemodel.org]

I've got some questions about this project. I'm making this a reply to one of your posts because I want you to see it, but it should really probably be a comment on the submission directly. I've read parts (but not all) of your website and github, and used your demo briefly, but I don't think I understand it yet. I'm going to state things about your project matter-of-factly to avoid constant disclaimers, but I recognize that I might be misunderstanding things and I welcome you to bluntly correct me.

Your project is attempting to model human knowledge. You want to let people share models with each other (though this is not implemented yet), which is wildly different than the push-to-master model of Wikipedia for example. Is this partly intended to allow competing world-views to build their own incompatible models?

Are you attempting only to build a layer for sharing models of things, or do you also intend to prescribe a general-purpose schema for how those models should be laid out? Not that you can control how people use this thing, or would even want to. But clearly defining what sorts of properties objects should have would make objects more compatible between models, and allow for easier sharing. I could also see you wanting to leave this up to the community to figure out, and just focus on building the base layer. Relatedly, do you intend to prescribe units of measurement for time, physical dimensions, weight, etc? If so, which ones?

I'm super excited to see attempts at a decentralized, open source Wolfram Alpha being made. I'm going to sign up to your mailing list/newsletter, you crazy crazy man.

One more question, super nit-picky. I wouldn't normally ask this, I'm not trying to get you to switch licenses. I'm legitimately wondering if you're drawing a distinction that I'm missing between code and other ideas.

I frankly don't mind if someone else takes the ideas and does a better job with them

If you don't mind somebody else taking the ideas, why is this project AGPL instead of a more permissive license such as CC0? Do you not consider code to be strictly composed of ideas?

About allowing competing world-views: yes, because central control is usually bad (I had a whole semester class on Stalin; sigh). But also because a different community will care more about different things and should be allowed to. Like wikipedia disallows some content as not noteworthy enough (I forget their exact wording), but you can make your own wiki with its own focus. OM is Free software so ... people can use it for their purposes, though I personally strongly prefer they be honest and follow the Golden Rule in doing so, though I know that's more than you asked.

"Are you attempting only to build a layer for sharing models of things, or do you also intend to prescribe...": Wow, I think you really get it. I love it when that happens. It's rare enough still to be a thrill. Everything in that paragraph that you said, I agree with. I'd like to share my units, attribute types, relation types etc, if they help anyone, but haven't got around to it and don't consider them more than an example usage. Being able to share or copy such things could tip the scale for some users though.

I'd love to have your participation in discussions (like priorities and designs; I think the next main priority after I properly respond to feedback should be sharing/distributed stuff, but funding might be an issue really really soon and I need to think about how to find the right philanthropsts, along with other developers. I'd like to sell hosting, because I think it could be done right without undue initial expense, but things haven't clicked enough there yet). Or code contributions from anyone who "gets it" like you seem to.

I'm not familiar with CCO, sounds like creative commons something, but I like the AGPL generally over BSD for non-protocol works because I've put so much into this that I do want to get some $ benefit for project sustainability if possible (per things like RMS' writings on business models etc), and if someone else really does just run with it, I want to be able to use their improvements at my discretion, not theirs. I hope that makes sense. I don't pretend to know the final answers on everything but that much seems good enough to work with for now.

You mentioned focus. I'd like to focus on whatever does the most good & helps support my family with a clear conscience. This really seems like a worthwhile thing if I can sustain it. Your tone makes me think I can say, I hope without offending: I believe in God and that he gives us opportunities but lets us choose, have hard experiences, & work hard, all for our own growth (and that the problems can all be resolved at some point). My experience is that if I know what He wants I'd better do it, because when I disagree and do it my way I really make a mess of things. So I'll keep trying.

I look forward to our future collaboration, if/when that is in your interest.

I don't know what the "community" thinks, but this page has probably reached the point where it doesn't matter, and I don't mind, if you repost this anything like this level of your quality comment at the bottom for visibility, & quote me if/as you see fit.

BTW, if you have ideas: what could I explain better, specifically for the demo, to make it so people know how to use it beyond creating one entity and looking at it blankly?

Let me throw a suggestion at you. I think users should be able to distribute a group of one or more objects in a package, and that they should be able to have packages rely on other packages that they are trusting. They should obviously be able to fork those packages if necessary, but they should also be able to add, remove, and change data before redistributing the latest upstream version. This might allow for a large amount of collaboration on general data that most people agree about while still allowing divergence when different interpretations of the universe (or whatever it is you're modeling) would result in different data. Wikipedia allows a new wiki to fork their information, but it doesn't allow them to redistribute the latest upstream information with changes. And this would be difficult for Wikipedia, because Wikipedia is far less organized than the thing you're building. Redistributing a sentence that can be edited for clarity is way more of a maintenance nightmare than redistributing a set of values that should change rarely and within predictable parameters.

You mentioned focus. I'd like to focus on whatever does the most good & helps support my family with a clear conscience. This really seems like a worthwhile thing if I can sustain it. Your tone makes me think I can say, I hope without offending: I believe in God and that he gives us opportunities but lets us choose, have hard experiences, & work hard, all for our own growth (and that the problems can all be resolved at some point). My experience is that if I know what He wants I'd better do it, because when I disagree and do it my way I really make a mess of things. So I'll keep trying.

We're definitely modeling the universe differently right here, but It's really difficult to offend me with civil behavior. I'm open to the potential that we're living in a simulated reality, but would see human beings as a totally meaningless emergent phenomenon regardless. That's about as close to theism as I can get. You seem like a well-intentioned, intelligent human being. I really hope you can make a living off of this somehow, but I don't how that would work. Wikimedia seems to meet their fundraising goals.

I'm drawn on whether or not you should bother making a demo that's accessible from a browser at this point. On the one hand, it would lower the barrier of entry. On the other hand, I'm not sure that anybody who doesn't have a telnet client will properly understand this at it's current stage of development, so it might not matter. I might make one at some point, but I can't promise that. I'm currently busy with other projects, but it would actually be pretty simple to just expose a remote terminal in a browser that's trapped in a telnet connection with your existing demo.

As for improving the actual demo, I'm not sure how it should be presented. Differently, definitely. I'm still trying to think up something more constructive than that.

All sounds good. We have the same thoughts on browser vs. telnet. I read that there is a telnet:// [telnet] like there is http://, [,] but there didn't seem to be much support.

Suggestion noted. I'm going to (hopefully later this week) refine & prioritize my known use cases for distributed use, and present them on the discussion email list for feedback, then move to design; welcome to join in there.

About the demo: In another thread in this page I said something about "some architecture", which maybe combined with a couple of others here ("elevator pitch" #2 or #3 and "a better explanation, maybe" and "OK: just what it does" could be incorporated as paragraphs on the onemodel.org "About" and/or "getting started" pages, and linked into the demo page. Or such. But within the demo, assuming they've read the "some architecture" content, it could simply suggest creating attributes and nested entities a little (which someone did, most not), and see what that does. Those are my ideas so far, in case they spur more in you. Or, it might simply matter more, later.

Thanks! (Same, frankly, to all who've said stuff here. It's good to have feedback, especially at this stage.)

And thank you for making this cool open source project! I think I vaguely realized that we needed an open source Wolfram Alpha before, but I wasn't thinking about it in anything that resembled your terms until I started reading your posts. This is a glorious plan; I'm excited to see where you take it.

Thanks. I'm kind of wondering where it can lead, myself. I'm going to need more outside participation, so if you see things I'm doing that could help/hurt the hosting idea (it's on the "download" web page now), or in welcoming developers, speak up. Or if you meet a philanthropist (you know, PBS says "sponsored by the ..." people who want to change the world), you could mention OM as something that could take us all to the next level in knowledge management. :) Or if someone wants to make an app, I'd license the code. Etc. Might sell better installers later on. I have some other things planned, but probably for after some minimum features are in place for distributed use.

For the demo, i added some text in the first sandbox: "IN THIS DEMO: After you create press 1 to create an entity, note that it has a letter. Those are yours. Now press "a" to see more of what you can do." But, it could be cut off for those with, say, 80- or 120- column terminal windows, and so maybe I should duplicate it in a good place in the demo page of the web site, and/or see if I can make the demo work well with instructions in = 80 columns.

Have a look at Ask Soylent: Looking for Document and File Organisation Tools [soylentnews.org], where I ask a related question and get lots of information about tools, which I still need to digest fully. There are a lot ideas embedded in the software being discussed there. One thing is clear -- it's a lot of work just to marshall all the different text-related file formats out there.

With all that being said, I want to share a few areas where we part company, just because I feel you might benefit from the perspective:

- I don't currently value emacs (guess I found vim simpler)- I don't value keyboard bindings nearly so much (I prefer GUIs)- I echo some of the comments I've seen with regard to language in addition to data relationships; narrative flow matters (to humans), especially for documentation (hard to build into a data model)

You're right about GUIs: it's necessary (with mobile) to make software acceptable to most customers. I (or may I say we?) just haven't got far enough.

The bridge between data and narrative flow is important. I wish I had something smart to say about it. It will have to be resolved, perhaps by getting people used to the system. To me, it "just works" because the narrative flow goes entity to entity with a single keystroke, depending on what I want to see more about, next. And the UI presents relationships to entities or attributes. So there, charitably, is noun/verb/object. I also think that alternative presentations of the data are very important. Like, imagine (for data where it fits), auto-generating a mind map, image, or cartoon-like representations, or whatever mode is most useful depending on the context, device, user need, and available data.

So, I hope we could agree on all points, by saying that the narrative flow is a presentation mode based on the same data.

In fact, maybe that is what we do in our minds all the time: if one knows both Greek and Hindi, and looks at a flower pot, they know what will happen if they pick it up, or tip it over, because of experience. OM wants to represent *that*, at the lowest level. Putting that into words in either langage is the next, and frankly optional, step, because the words may differ but the knowledge is the same. OM wants to handle *that* too, and I think you're just making the excellent point that the humans really are key here, and we need to work with them in the right ways, by presenting data as narrative, or in whatever other way fits.

What do you think? I would love it if we could work together in ways that are good for all concerned. There's plenty of work to do, from about any angle you look at this problem, and probably we can do more good together than separate.

By modeling things as an object model instead of as logical statements we can operate at multiple levels of granularity at the same time -- like the real world does, and like we do when interacting with the real world. The complexity of each level is subsumed in whatever abstractions one chooses to create/use at a given time.