Skip to main content

Multimedia Knowledge Representation and Management : "Brain Annex"

 (Updated Nov. 2022)

Wouldn't it be fantastic to have a "butler" to help us as we constantly face drowning in information?

That need was crushingly pressing for me, as a polymath with a thirst for knowledge in several fields, not to mention numerous very technical jobs over the years, several complex research projects, old notes from college and grad school, an endless stream of online courses I take, a tech startup I founded and used to run, the many conferences I attend, life in general, and even hobbies that tend to generate abundant information (such as flying airplanes and studying multiple foreign languages!)  

I was immensely eager for some sort of powerful assistance, something so helpful that I could poetically describe as an "annex" to my brain..

In this blog entry, I'll describe how deep frustration with existing software tools led to the start of the open-source BrainAnnex.org project, a web-based knowledge representation and management application.

The Problem

Knowledge comes in many forms.  Notes written out in words.  Tabular data.  Semi-structured data.  Images.  Plots.  Documents.  Audio.  Video.  Meta-data about other bits of knowledge.  Relationships between different notes....

Word processors are great to typeset your novel, but of mediocre help for structured or semi-structured data, such as the many little ideas about tidbits to include in the novel.  And they are unwieldy about managing images, never mind other types of knowledge.

Likewise, spreadsheets are as sleek as a penguin in water for the specific tasks they were designed for, but as clumsy as a penguin wobbling on land if used in other ways!

And traditional relational databases tend to require more expertise, beyond casual users; that's not a problem for me personally - in fact I worked as a database administrator for years - but databases can be rather unwieldy.

We've all been there, in our personal data management, and at work : we end up generating a lot of files - in particular Word docs, spreadsheets and images - and resort to using the file system to try to "tame" them in some fashion.  A battle easily lost, as evidenced by how many files typically end up littering the computer desktop.

Also, the OS file system is most definitely not meant to be a content management system.  In particular, the tree structure forces to choose one - and one only - location for a file or folder.  If you want multiple parents (categories) for a file or folder, you need to resort to creating very unwieldy "shortcuts" (or their counterparts in various operating systems), which are generally "second-class citizens"; for example, in Windows, shortcut folders are listed alphabetically after all the "regular" folders.

Beyond Content Management Systems

Content Management Systems are not a new idea.  But they are often specialized; for example, I worked with - and also developed - some Lab Information Management System (LIMS.)

Many of the more general-purpose content management systems aren't particularly popular - for good reasons, in my opinion.  I will contrast-and-compare some in future blog entries, but for now I'll just say that my jaw dropped when I tried out Microsoft One Note!  Not particularly useful - other than for laughs - and so no surprise that it never really took off, even with MS behind it...

Then, in 2015, after years of dissatisfaction with existing knowledge-management tools, I took the software platform that I had developed over the previous decade for a fairly elaborate movie information management system, and decided to apply it towards creating a general knowledge representation and management tool, to be eventually released as open source.

That's how the BrainAnnex.org project was born.

What is Brain Annex?

 Brain Annex is a web-based tool (which can also run locally) for Knowledge and Media Management.  It's very integrative, bringing in several open-source tools, and it's highly extendable with plugins.

There is no point to repeat here what's said on the official BrainAnnex.org  site, but I'll just mention one blurb:
Freely mix up formatted text notes, documents, images, graphics, data tables, spreadsheets, video, music – synergistically used together with the power of Semantic Technology. For example, to manage:
  • class notes
  • work/research notes
  • notes from hobbies
  • notes from everyday life (bills, medical)
  • personal-growth notes (journaling, progress)
  • music collection
  • photo/video collection (personal, work or research albums; artist porfolios)
  • website bookmarks (with optional annotations)
  • documents (the contents of any uploaded PDF files become searchable)
  • new plugins for special needs can be created easily
  • optionally sharing some of of your pages with others or making them public

Here's a 3-min intro video, aimed at the general public and casual users:

 

Above All, Something that is Useful

In various blog entries I'll be talking about interesting designs and technology behind knowledge representation and management, but the first-and-foremost force behind Brain Annex has been to create something extremely useful.  Remember the "butler" analogy I made at the beginning?  Brain Annex isn't meant to be a show-off for technology, or a playground for programmers; it's meant to be something of practical utility!

Since this is a blog about Science and Technology, the focus will be on the technologies behind Brain Annex - for example, Semantic Technology and Classes that have code (plugins) associated to them.  For more practical information about Brain Annex, including what it does and how to use it, I'll refer to the official BrainAnnex.org  site.

I am happy to say that, without exaggeration, Brain Annex has been a life-changer for me, in terms of managing my knowledge - for my research projects, jobs, courses, hobbies, and life in general.  I've used it essentially daily for the past 6 years.  Down the line, the plan is to release it as open source (UPDATE: done, see below), and hopefully help out others.

 

Feb. 2021 UPDATE: a radically-revamped new major version of Brain Annex is currently under development, and is expected later this year.  It keeps the same general feel while overhauling and modernizing the technology internally used: PHP gives way to Python/Flask, and MySQL and a simple Triplestore give way to the graph database Neo4j.  Also, the front end is getting a major face life with Vue.js  .  Management of general datasets will be much more powerful.  The promised full release to open source will happen with this version.

Feb. 2022 UPDATE: the release of the complete redesign of Brain Annex - now in beta - took place as promised last year.  GitHub repository.

Nov. 2022 UPDATE: The overhauled new Brain Annex is  explained in this short video.

Comments

Popular posts from this blog

Discussing Neuroscience with ChatGPT

UPDATED Apr. 2023 - I'm excited by ChatGPT 's possibilities in terms of facilitating advanced learning .  For example, I got enlightening answers to questions that I had confronted when I first studied neuroscience.  The examples below are taken from a very recent session I had with ChatGPT (mid Jan. 2023.) Source: https://neurosciencestuff.tumblr.com In case you're not familiar with ChatGPT, it's a very sophisticated "chatbot" - though, if you call it that way, it'll correct you!  'I am not a "chatbot", I am a language model, a sophisticated type of AI algorithm trained on vast amounts of text data to generate human-like text'. For a high-level explanation of how ChatGPT actually works - which also gives immense insight into its weaknesses, there's an excellent late Jan. 2023 talk by Stephen Wolfram, the brilliant author of the Mathematica software and of Wolfram Alpha , a product that could be combined with ChatGPT to imp

Neo4j & Cypher Tutorial : Getting Started with a Graph Database and its Query Language

You have a general idea of what Graph Databases - and Neo4j in particular - are...  But how to get started?  Read on! This is part 3 of a 7-part series on Graph Databases and Neo4j.   part 1 : Graph Databases (Neo4j) - a revolution in modeling the real world! part 2 : Neo4j Sandbox Tutorial : try Neo4j and learn Cypher the free and easy way part 3 : Neo4j & Cypher Tutorial : Getting Started with a Graph Database and its Query Language  part 4 : Using Neo4j with Python : the Open-Source Library NeoAccess part 5 : Using Schema in Graph Databases such as Neo4j part 6  : Putting it All Together - a Technology Stack on Top of a Graph Database part 7  : (SPECIAL TOPIC) Full-Text Search with the Neo4j Graph Database If you're new to graph databases, please check out part 1 for an intro and motivation about them.  There, we discussed an example about an extremely simple database involving actors, movies and directors...  and saw how easy the Cypher query lan

Graph Databases (Neo4j) - a revolution in modeling the real world!

UPDATED July 2023 - I was "married" to Relational Databases for many years... and it was a good "relationship" full of love and productivity - but SOMETHING WAS MISSING! Let me backtrack.   In college, I got a hint of the "pre-relational database" days...  Mercifully, that was largely before my time, but  - primarily through a class - I got a taste of what the world was like before relational databases.  It's an understatement to say: YUCK! Gratitude for the power and convenience of Relational Databases and SQL - and relief at having narrowly averted life before it! - made me an instant mega-fan of that technology.  And for many years I held various jobs that, directly or indirectly, made use of MySQL and other relational databases - whether as a Database Administrator, Full-Stack Developer, Data Scientist, CTO or various other roles. UPDATE: This article is now part of a series... This is part 1 of a 7-part series on Graph Databases and Neo4j.  

Using Neo4j with Python : the Open-Source Library "NeoAccess"

So, you want to build a python app or Jupyter notebook to utilize Neo4j, but aren't too keen on coding a lot of string manipulation to programmatic create ad-hoc Cypher queries?   You're in the right place: the NeoAccess library can do take care of all that, sparing you from lengthy, error-prone development that requires substantial graph-database and software-development expertise! This is part 4 of a 7-part series on Graph Databases and Neo4j.   part 1 : Graph Databases (Neo4j) - a revolution in modeling the real world! part 2 : Neo4j Sandbox Tutorial : try Neo4j and learn Cypher – free and easy part 3 : Neo4j & Cypher Tutorial : Getting Started with a Graph Database and its Query Language   part 4 : Using Neo4j with Python : the Open-Source Library "NeoAccess" part 5 : Using Schema in Graph Databases such as Neo4j part 6  : Putting it All Together - a Technology Stack on Top of a Graph Database part 7  : (SPECIAL TOPIC) Ful

To Build or Not to Build One’s Own Desktop Computer?

“ VALENTINA ” [UPDATED JUNE 2021] - Whether you're a hobbyist, or someone who just needs a good desktop computer, or an IT professional who wants a wider breath of knowledge, or a gamer who needs a performant machine, you might have contemplated at some point whether to build your own desktop computer. If you're a hobbyist, I think it's a great project.  If you're an IT professional - especially a "coder" - I urge you to do it: in my opinion, a full-fledged Computer Scientist absolutely needs breath, ranging from the likes of Shannon's Information Theory and the Halting Problem - all the way down to how transistors work. And what about someone who just needs a good desktop computer?  A big maybe on that - but perhaps this blog entry will either help you, or scare you off for your own good! To build, or not to build, that is the question: Whether 'tis nobler in the mind to suffer The slings and arrows of OEM's cutting corners and limit

Using Schema in Graph Databases such as Neo4j

UPDATED Aug. 2023 - Graph databases have an easygoing laissez-faire attitude: "express yourself (almost) however you want"... By contrast, relational databases come across with an attitude along the lines of a micro-manager:  "my way or the highway"... Is there a way to take the best of both worlds and distance oneself from their respective excesses, as best suited for one's needs? This is part 5 of a 7-part series on Graph Databases and Neo4j.   part 1 : Graph Databases (Neo4j) - a revolution in modeling the real world! part 2 : Neo4j Sandbox Tutorial : try Neo4j and learn Cypher the free and easy way part 3 : Neo4j & Cypher Tutorial : Getting Started with a Graph Database and its Query Language part 4 : Using Neo4j with Python : the Open-Source Library NeoAccess part 5 : Using Schema in Graph Databases such as Neo4j part 6  : Putting it All Together - a Technology Stack on Top of a Graph Database part 7  : (SPECIAL TOPIC) F

Full-Text Search with the Neo4j Graph Database

(UPDATED Sep. 2023)   In part 5 ( Using Schema in Graph Databases ) we discussed the concept of a Schema Layer, and a design and implementation available from the open-source project BrainAnnex.org Now that we have such a layer, what shall be build on top of it?   Well, how about  Full-Text Search ?  This is  part 7  of a ongoing series on Graph Databases and Neo4j.   part 1  : Graph Databases (Neo4j) - a revolution in modeling the real world! part 2  : Neo4j Sandbox Tutorial : try Neo4j and learn Cypher the free and easy way part 3  : Neo4j & Cypher Tutorial : Getting Started with a Graph Database and its Query Language part 4  : Using Neo4j with Python : the Open-Source Library NeoAccess part 5  : Using Schema in Graph Databases such as Neo4j part 6 :   Putting it All Together - a Technology Stack on Top of a (Neo4j) Graph Database part 7 : (SPECIAL TOPIC) Full-Text Search with the Neo4j Graph Database part 8 (upcoming!) : (SPECIAL TOPIC) Document Management Full-Text Searching/

PET/CT Combined Scanners - a 2018 Breakthrough of the Year... and a Personal Story

Image source Recently, a co-worker in her 20's was diagnosed with a brain tumor!  At times like these, the importance of medical imaging jumps to the fore! Most people have heard of CT ("CAT") scanners – at least enough to know that they don't actually involve cats – but less well-known are PET scanners (which likewise don't involve pets!), and the synergistic combination of the two. A Marriage Made in Heaven What do those scanners do?  And why are they being combined in single devices? Voted 2018 Breakthrough of the Year by a science magazine , the improved PET/CT combined scanner has been a game changer. The EXPLORER PET/CT scanner – the world’s first medical imaging system that can capture a 3D image of the entire human body simultaneously – has produced its first human images. Developed by UC Davis scientists and a multi-institutional consortium, EXPLORER can scan up to 40 times faster, or use up to 40 times less radiation dose, than

RDF Triple Stores vs. Property Graphs : How to Attach Properties to Relationships

Time for the opening shot of a series about Semantic Technology , and in particular contrasting-and-comparing the opposing (but perhaps ultimately complementary) camps of:   RDF Triple Stores , aka Triples-Based Graphs.   For example, Blazegraph or Apache Jena   (Labeled) Property Graphs .  For example, Neo4j or Blazegraph (For this article, I'll assume that you have at least a passing acquaintance with both.  Here is background info on Triplestores and Property Graphs ) It’s my opinion that modeling in terms of Subject/Predicate/Object triples (aka RDF ) might be appealing to mathematicians or philosophers for its minimalist foundation (though a lot of baroque add-on’s quickly come out of the closet!) Modeling in terms of (Labeled) Property Graphs might be appealing to computer scientists, because such graphs appear more usable and less clunky once you start actually doing something with them. Perhaps because I straddle both the Math and CS camps, I’m currently on t

Brain Microarchitecture : Feedback from Higher-order areas to Lower-order areas

Some questions that arise in Machine Learning involve the prospect of using feedback from Higher-order areas (downstream) to Lower-order areas (upstream), and using Global Knowledge for Local Processing.  A desire to gain insight into those issues from Neuroscience ("how does the brain do it?") led me to some fascinating investigations into the Microcircuits of the Cerebral Cortex.  This blog entry is a broad review of the field, in the context of the original motivating questions from Machine Learning.   Starting out with a quote from the “bible of Neuroscience”: From Principles of Neural Science, 5th edn  (Online book location 1435.3 / 5867).  Emphasis and note added by me: Sensory pathways are not exclusively serial; in each functional pathway higher-order areas project back to the lower-order areas from which they receive input. In this way neurons in higher-order areas, sensitive to the global pattern of sensory input, can modulate the activity of neurons in lowe