Git Product home page Git Product logo

note-maps's Introduction

Note Maps

GoDoc Go Report Card Build Status Coverage Status

Note Maps aims to become a personal knowledge base that can be used on smartphones and laptops.

Each note map is a collection of information about a set of topics. Any topic can be described with a set of names, types, and miscellaneous notes that may include definitions, timestamps, or links to images, videos, etc. Topics may be connected to each other through associations, and any association may itself be described as another topic. Even the role played by a topic in an association can, itself, be described as a topic.

This model is isomorphic to the Topic Maps Data Model defined in ISO/IEC 13250-2:2006. Note Maps may some day be able to import from or export to standard Topic Map data formats like XTM (ISO/IEC 13250-3:2013) and JTM (JTM 1.1).

Status: Exploratory. Note Maps is in an experimental stage and is not yet useful for taking notes. Many design and implementation options are being explored.

This is not an officially supported Google product.

Development

Install Git Hooks

This repository comes with a Git pre-commit hook in ./githooks. Optionally, install it: cp ./githooks/pre-commit .git/hooks/pre-commit.

Manage Git Subtrees

Vendored code goes in the third_party directory, preferably using git subtree. For example:

git remote add third_party/zefyr https://github.com/memspace/zefyr.git
git fetch third_party/zefyr
git subtree add --prefix third_party/zefyr third_party/zefyr master --squash

How to update a subtree:

git fetch third_party/zefyr master
git subtree pull --prefix third_party/zefyr third_party/zefyr master --squash

Development Environment

  1. [Install Nix][].
  2. [Install direnv][].
  3. Install [nix-direnv][].
  4. In the root of this repository: echo "use flake" > .envrc

Building

Build everything:

nix build

The development environment configured above provides some of the standard development tools for the programming languages used in this repository. For example:

go test ./...
cargo test

Source Code Headers

Apache header:

Copyright 2020 Google LLC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

note-maps's People

Contributors

dependabot[bot] avatar jtacoma avatar sharechiwai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

note-maps's Issues

Use RoaringBitmaps for indexing in kvschema

I was really glad to see that I'm not the only one thinking about a nicer abstraction layer for key-value stores like Badger. The package kvschema looks really nice! One thing I'd like to suggest is to use roaring bitmaps for indexing instead of storing uint64 as byte slices.

Would you accept a patch for this, or I better create my own code generator in a similar vein for my own needs?

Upgrade dependency "github.com/textileio/go-threads"

Background

Repo github.com/google/note-maps depends on github.com/textileio/[email protected].

https://github.com/google/note-maps/blob/main/go.mod#L15

However, comparing version v1.0.2 of github.com/textileio/go-threads from proxy.golang.org and github, there are inconsistencies.

commit time of the copy on github.com

"committer": {
      "name": "GitHub",
      "email": "[email protected]",
      "date": "2020-12-01T22:14:02Z"
    }

commit time of the copy on proxy.golang.org

{"Version":"v1.0.2","Time":"2020-12-01T16:30:47Z"}

So the checksum from the code in github does not match the checksum saved in sum.golang.org. The v1.0.2 tag of github.com/textileio/go-threads might have been retagged after a minor edition. Depending upon such inconsistent tag version may result in some unexpected errors as well as build errors due to different proxy settings.

For example, when someone who does not use proxy.golang.org to download dependencies attempts to get github.com/textileio/[email protected], the following errors occur.

go: downloading github.com/textileio/go-threads v1.0.2
go: github.com/textileio/go-threads@v1.0.2: verifying module: checksum mismatch
        downloaded: h1:hrANmqXMuWFEpASIeAYiDU4m6X2b6bxVeeA48XYjTT4=
        sum.golang.org: h1:iYUA/E9gx9ALpYNYSCwKGhV3yOjxf6QtLliRitnsFSk=

SECURITY ERROR
This download does NOT match the one reported by the checksum server.
The bits may have been replaced on the origin server, or an attacker may
have intercepted the download attempt.

For more information, see 'go help module-auth'.

It is unwise to depend on such tag releases.

Solution

1. Bump the version of dependency github.com/textileio/go-threads

I would recommend bumping the version of github.com/textileio/go-threads to a new release to ensure dependency copy in proxy.golang.org and github in sync.

References

build failures

THis is a very nice demo of what can be done with golang and flutter together.

Not sure if this is stable yet but on MAIN branch things are broken.

Might be worth making a makefile in root.

go mod init
go: creating new go.mod: module github.com/google/note-maps

cd note-maps 
➜  note-maps git:(main) ✗ go run .
go: finding module for package github.com/google/subcommands
go: finding module for package github.com/google/note-maps/notes/notespb
go: finding module for package gopkg.in/yaml.v3
go: downloading gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776
go: found github.com/google/subcommands in github.com/google/subcommands v1.2.0
go: found gopkg.in/yaml.v3 in gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776
go: finding module for package github.com/google/note-maps/notes/notespb
config.go:25:2: no matching versions for query "latest"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.