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.
(Score: 1, Funny) by Anonymous Coward on Saturday April 23 2016, @10:37AM
We must burn this Heretic, and burn them good!
P.S. Your vision can be achieved in Emacs via piping such queries to wolfram alpha.
(Score: 4, Insightful) by requerdanos on Saturday April 23 2016, @11:31AM
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?
(Score: 2) by maxwell demon on Saturday April 23 2016, @11:41AM
I actually checked the public demo, and couldn't really figure out how to use it. All very confusing.
The Tao of math: The numbers you can count are not the real numbers.
(Score: 3, Funny) by RamiK on Saturday April 23 2016, @12:47PM
That's hardly fair. You could state the same regarding emacs in general.
compiling...
(Score: 0) by Anonymous Coward on Saturday April 23 2016, @12:53PM
emacs has history, heritage, infamy, buncha stuff like that. This thing got jack.
(Score: 2) by RamiK on Saturday April 23 2016, @01:08PM
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.
compiling...
(Score: 1) by lcall on Saturday April 23 2016, @01:40PM
Maybe this would help explain. Start at the top, or search for "gift ideas", for info on how I use OM and how that usage compares with emacs:
http://permalink.gmane.org/gmane.emacs.orgmode/104696 [gmane.org]
(Score: 2) by hendrikboom on Saturday April 23 2016, @11:59PM
That's exactly the kind of information that needs to be in the OM tutorial -- how to search.
(Score: 2) by maxwell demon on Saturday April 23 2016, @01:04PM
I disagree. While it takes some time to learn to use Emacs effectively, the basics are quite simple. I at least didn't have problems editing files with Emacs right from the beginning.
The Tao of math: The numbers you can count are not the real numbers.
(Score: 1) by lcall on Saturday April 23 2016, @01:47PM
I've noted elsewhere, but in case a direct reply helps: I've tried to compare/contrast it more thoroughly with emacs in this discussion:
http://permalink.gmane.org/gmane.emacs.orgmode/104696 [gmane.org]
(Score: 2) by requerdanos on Sunday April 24 2016, @02:26AM
Would it help to know that I have never, not once, used emacs?
(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.
Even emacs's infomode is beyond the pale.
-- hendrik
(Score: 2) by hendrikboom on Sunday April 24 2016, @12:26PM
Perhaps OM needs a different user interface.
(Score: 1) by lcall on Sunday April 24 2016, @02:01PM
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! :)
(Score: 1) by lcall on Monday April 25 2016, @05:12PM
(...is what I should have titled my previous reply, just above)
(Score: 1) by lcall on Saturday April 23 2016, @01:37PM
The idea is, if you read the screen and try what it says, it just works. Like:
In my OM instance, I can find my notes on a given topic, like gift ideas, for example, by simply typing "5gd" which jumps me to there. Or other combinations to find it on a different contextual path.
You can move an entry up 5 by typing 22, or down 20 by 26, or up a level with 28, or down a level with 7x (to select the target entry), then 27.
You can create relationships to other existing objects by typing 42, typing in a search string, and hitting x (or whatever letter from the search results).
It's all on the screen.
Maybe a demo video would be a better way to try to convey it.
(Score: 4, Interesting) by linuxrocks123 on Sunday April 24 2016, @05:17AM
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.
(Score: 1) by lcall on Monday April 25 2016, @06:00PM
Thanks. Best wishes! Feel free to stay in touch at onemodel.org if the mood ever strikes you. :)
(Score: 2, Interesting) by lcall on Saturday April 23 2016, @01:29PM
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?
(Score: 0) by Anonymous Coward on Saturday April 23 2016, @01:42PM
Let me help you out. What does it do? How is it better than alternatives?
(Score: 1) by lcall on Saturday April 23 2016, @01:44PM
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).
(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.
Yah, needs a video.
(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.
-- hendrik
(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.
Details on the data are in this file: https://github.com/onemodel/onemodel/blob/master/src/main/scala/org/onemodel/database/PostgreSQLDatabase.scala [github.com]
What else about the architecture would help?
Do you think I should put material like in the "About" / "what it is today" / "internals" page, or refactor those & put it somewhere else, or neither?
(Score: 2) by hendrikboom on Sunday April 24 2016, @12:36PM
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.
-- hendrik
(Score: 0) by Anonymous Coward on Monday April 25 2016, @02:47AM
Personal pet peeve for information management systems like this:
Why must everything be named? Anonymous entities/content can sometimes be a godsend, especially when dealing with "indexed data" which only really differs by the index value.
(Score: 1) by lcall on Monday April 25 2016, @06:10PM
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.
(Score: 0) by Anonymous Coward on Monday April 25 2016, @02:38AM
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.
(Score: 1) by lcall on Monday April 25 2016, @06:22PM
Thanks for bringing that up.
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.
(Score: 1) by lcall on Saturday April 23 2016, @01:58PM
BTW, your suggestion is good. If you subscribe to the announcements list (on the web site under "community.."), and I make the video, I could let you know about it there.
(Score: 2) by requerdanos on Sunday April 24 2016, @12:23AM
Subscribed. And thanks. My frustration at my failure to understand are, of course just that: My frustration, and my failure. Thanks for the very constructive responses.
(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.
(Score: 1) by lcall on Saturday April 23 2016, @01:52PM
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...
(Score: 2) by maxwell demon on Saturday April 23 2016, @02:28PM
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.
(Score: 1) by lcall on Saturday April 23 2016, @04:38PM
Almost like a "CSS" for the data. Maybe, but a relatively lower priority right now. Thanks for the suggestions.
(Score: 2, Insightful) by Anonymous Coward on Saturday April 23 2016, @06:16PM
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!
(Score: 1) by lcall on Saturday April 23 2016, @06:34PM
Thanks for your comment (which I upvoted; not sure why it got downvoted before).
That is hard for me. I can probably do it with long effort, but in a previous job I found that the tech writers could transform my best writing into something much better for a given audience.
I would value greatly your participation on the om-list to provide ongoing feedback, or so I can ask "is this better..."?:
https://pairlist6.pair.net/mailman/listinfo/om-list [pair.net]
(Or of course, this list whose content is a subset of the discussion list:
https://pairlist10.pair.net/mailman/listinfo/om-announce [pair.net] )
(Score: 2) by hendrikboom on Sunday April 24 2016, @12:54PM
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.
-- hendrik
(Score: 2, Interesting) by lcall on Saturday April 23 2016, @01:55PM
Here is another attempt:
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).
(Score: 3, Insightful) by Non Sequor on Saturday April 23 2016, @08:36PM
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.
Write your congressman. Tell him he sucks.
(Score: 1) by lcall on Saturday April 23 2016, @09:25PM
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 :)
https://pairlist10.pair.net/mailman/listinfo/om-announce [pair.net]
https://pairlist6.pair.net/mailman/listinfo/om-list [pair.net]
(Score: 2) by hendrikboom on Sunday April 24 2016, @12:59PM
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.
You need both of these; either on its own falls flat.
(Score: 1) by lcall on Sunday April 24 2016, @02:13PM
Thanks for these comments. Maybe between them and what is happening on the mailing list it will be improved.
(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.
(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.
Account abandoned.
(Score: 2) by CRCulver on Saturday April 23 2016, @04:18PM
(Score: 1) by lcall on Saturday April 23 2016, @04:42PM
I'm talking about just
1) 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.
(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.
FYI
(Score: 1) by lcall on Monday April 25 2016, @06:32PM
You could be right. I was at least pretending to be civil in case he had a good reason for the comment, but maybe not w/ the right attitude.
(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.
(Score: 1, Insightful) by Anonymous Coward on Saturday April 23 2016, @08:27PM
A daydreaming teen trying to explain his idea (or perhaps an inarticulate fella trying verbalize his project) seems better than some of the weekend bullshit that show up here.
(Score: 4, Insightful) by requerdanos on Sunday April 24 2016, @12:34AM
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.
(Score: 3, Insightful) by hendrikboom on Saturday April 23 2016, @05:14PM
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
(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):
https://pairlist10.pair.net/mailman/listinfo/om-announce [pair.net]
https://pairlist6.pair.net/mailman/listinfo/om-list [pair.net]
(Of course, feel free to suggest use cases in more detail here too.)
(Score: 2) by hendrikboom on Sunday April 24 2016, @12:05AM
I'm already on the om-list and have posted there.
(Score: 2) by darkfeline on Saturday April 23 2016, @08:40PM
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.
Join the SDF Public Access UNIX System today!
(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.
There's a more detailed discussion here:
http://permalink.gmane.org/gmane.emacs.orgmode/104696 [gmane.org]
(...or here, with the whole thread, flames and all: http://comments.gmane.org/gmane.emacs.orgmode/104595 [gmane.org] ).
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.
(Score: 2) by hendrikboom on Sunday April 24 2016, @01:48AM
I followed one of the links to emacs discussions, I noticed the line
make the tag help me as I am, *not* make me work to remember the tag (who is
servant 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.
-- hendrik
(Score: 3, Insightful) by darkfeline on Sunday April 24 2016, @04:14AM
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.
Join the SDF Public Access UNIX System today!
(Score: 1) by lcall on Sunday April 24 2016, @01:51PM
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]
(Score: 2) by JNCF on Sunday April 24 2016, @06:15PM
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?
(Score: 1) by lcall on Monday April 25 2016, @05:41PM
Thanks for the conversation.
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.
This could be written better but has my criteria on an acceptable system (I probably linked it somewhere before):
http://onemodel.org/1/e-9223372036854614279.html [onemodel.org]
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?
(Score: 2) by JNCF on Monday April 25 2016, @11:40PM
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.
(Score: 1) by lcall on Tuesday April 26 2016, @01:27AM
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.)
(Score: 2) by JNCF on Tuesday April 26 2016, @02:39AM
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.
(Score: 1) by lcall on Tuesday April 26 2016, @04:58PM
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.
Anyway those are a few current ideas to trade.
(Score: 1) by lcall on Monday April 25 2016, @05:45PM
PS: In this file I elaborate on licensing, and why/what of copyright assignment. I really tried to make the key stuff short & simple, and the rest at least skimmable:
https://github.com/onemodel/onemodel/blob/master/CONTRIBUTING [github.com]
(Score: 3, Interesting) by hendrikboom on Sunday April 24 2016, @01:12PM
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.
-- hendrik
(Score: 0) by Anonymous Coward on Monday April 25 2016, @02:04AM
Yep. In that post, I mentioned TiddlyWiki, which is the way I attack this problem. Definitely worth considering here as well.
https://soylentnews.org/comments.pl?sid=6386&cid=153384#commentwrap [soylentnews.org]
(Score: 1, Interesting) by Anonymous Coward on Monday April 25 2016, @02:25AM
I share much of the same vision as you seem to have. I'm working on building my own system, which would best be described a an entire software stack along these lines.
- I definitely value ease of use
- I definitely value programmability
- I definitely value ad-hoc search
- I definitely value data-driven relationships
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)
(Score: 1) by lcall on Monday April 25 2016, @05:57PM
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.
(Score: 1) by lcall on Monday April 25 2016, @08:31PM
Some above have mentioned other tools like tiddlywiki. For convenience of future readers, I'll mention here again that my criteria are found at:
http://onemodel.org/1/e-9223372036854614279.html [onemodel.org]
(Score: 1) by lcall on Monday May 16 2016, @01:29PM
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.