HPI VS concise-encoding

Compare HPI vs concise-encoding and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
HPI concise-encoding
14 22
1,391 255
- -
8.7 7.2
24 days ago 7 months ago
Python ANTLR
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

HPI

Posts with mentions or reviews of HPI. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-30.
  • First Personal Search Engine Prototype
    3 projects | news.ycombinator.com | 30 Dec 2023
    If this is interesting to you, you should check out the interesting work that karlicoss and others have done with "Human Programming Interface" [0] / [1].

    I've been kicking this idea around for quite a few years and have gone through multiple iterations before finding HPI and tossing out all my work in favor of building off theirs.

    HPI is a great platform to build your own stuff off and benefit from all the work that has already been done because imo building a good foundation is the hardest part. Sean Breckenridge's HPI-API is super interesting and useful, could likely be worked into this search engine concept, quite sure Sean actually has both newsboat and Firefox modules already made.

    I wrote modules of my own and made an authentication wrapped HPI-API and a GraphQL instance but currently in the middle of an infra move so nothing super cool to show off.

    Lots of interesting stuff in collecting and leveraging your data. If any of this stuff catches your eye, I highly encourage browsing karlicoss' exobrain [2] because there are some interesting things in there.

    [0]: https://github.com/karlicoss/HPI

    [1]: my own stuff, not trying to step on Karli, just wanted a 3 letter org for my stuff: https://github.com/hpi

    [2]: https://beepb00p.xyz/myinfra.html

  • I put my whole life into a single database
    4 projects | news.ycombinator.com | 27 Apr 2022
    My version of this: Human Programming Interface https://github.com/karlicoss/HPI

    It's a bit heavier on the automatic data aggregation side, but has some manual inputs as data sources too.

  • “Obtaining My Personal Data from Amazon Was a Nightmare”
    3 projects | news.ycombinator.com | 27 Mar 2022
  • Gains I'm Seeing from My Second Brain Tool
    13 projects | news.ycombinator.com | 31 Jan 2022
    This is my approach!

    I'm using HPI [0] as a sort of universal API for almost all of my data (manual notes, bookmarks, instant messages, internet comments, etc)

    Then I use it in tools like Orger [1] and Promnesia [2] which function as my second brain

    [0] https://github.com/karlicoss/HPI

    [1] https://github.com/karlicoss/orger

    [2] https://beepb00p.xyz/promnesia.html

  • Electric Tables – an experiment in personal databases
    8 projects | news.ycombinator.com | 26 Jan 2022
    I suppose HPI[0] kind of is that? ;)

    A community repository would be super nice for those. Something along the lines of DefinitelyTyped[1], all managed through git, easily integrates with other stuff (like shown on npmjs.org when the @types package exists), allows maintainers to "own" the adapters they contribute. It's really the N adapters * T time per adapter that really makes it hard for one person to do. That plus monitoring API changes/flakiness of each adapter to make sure the data is still solid.

    [0] https://github.com/karlicoss/HPI

    [1] https://github.com/DefinitelyTyped/DefinitelyTyped

  • Ask HN: Who Wants to Collaborate?
    58 projects | news.ycombinator.com | 1 Jan 2022
    I'm working on tools/projects to unify, access, interact and use my personal data for quantified self, knowledge management, etc.

    A couple of examples:

    - https://github.com/karlicoss/HPI#readme

    - https://github.com/karlicoss/promnesia#readme

    Would very much love to discuss it with other people, collaborate etc.

  • Questions about Emacs
    3 projects | /r/emacs | 13 Oct 2021
    Emacs is born as a human-computer interface, not specifically a PIM/PKM systems (Personal Information Management systems, Personal Knowledge Management systems), those are born at Xerox Parc and they never really took off, unfortunately. You can find a small intro like https://doi.org/10.1145/1480506.1480524 you can find many research articles and thesis on the ACM and other places, try https://karl-voit.at/tagstore/downloads/Voit2011.pdf by /u/publicvoit today in Emacs the most popular of such systems in org-roam, a wrapper/accessing tool for org-mode, witch is probably one of the most powerful, Memacs is another classic one that do something more and something less, Dimitri Gerasimov have it's own public HPI https://beepb00p.xyz/hpi.html with Grasp and Promnesia extensions for Emacs and probably many others do exists but they are used/developed by a small community and while in the "old" wiki book before, "personal note/evernote boom", now "zettelkasten boom" interest keep being there documentation especially at newcomer level is nearly zero... There are research papers, few whole books, tons of articles, but nothing like a complete and simple learning path...
  • Need opinions regarding developing a browser extension(firefox) for taking notes from a webpage
    7 projects | /r/emacs | 14 Sep 2021
    Their author have developed a more complex script collection (HPI, https://beepb00p.xyz/hpi.html) witch is a bit confuse, but seems alive and for certain aspects do extra things then memacs (https://github.com/novoid/Memacs).
  • How often do you refresh reddit profile?
    7 projects | /r/privacytoolsIO | 30 Jun 2021
    Side note: His Promnesia and HPI projects are just mind blowing!
  • One Hundred Ideas for Computing
    4 projects | news.ycombinator.com | 19 May 2021
    Some of my favourites:

    - "5. Life engine" and "92. Personal Data API"

       I'm working on this in "Human Programming Interface" :) https://github.com/karlicoss/HPI#readme It's far from solving these in general, but it works for me very well.

concise-encoding

Posts with mentions or reviews of concise-encoding. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-07.
  • Ask HN: What Underrated Open Source Project Deserves More Recognition?
    63 projects | news.ycombinator.com | 7 Mar 2024
  • It's Time for a Change: Datetime.utcnow() Is Now Deprecated
    5 projects | news.ycombinator.com | 19 Nov 2023
    "Local time" is time zone metadata. I've written a fair bit about timekeeping, because the context of what you're capturing becomes very important: https://github.com/kstenerud/concise-encoding/blob/master/ce...
  • RFC 3339 vs. ISO 8601
    4 projects | news.ycombinator.com | 31 Aug 2023
    This is basically why I ended up rolling my own text date format for Concise Encoding: https://github.com/kstenerud/concise-encoding/blob/master/ct...

    ISO 8601 and RFC 3339 are fine for dates in the past, but they're not great as a general time format.

  • Ask HN: Please critique my metalanguage: “Dogma”
    2 projects | news.ycombinator.com | 26 Feb 2023
    This looks similar to https://concise-encoding.org/

    Dogma was developed as a consequence of trying to describe Concise Binary Encoding. The CBE spec used to look like the preserves binary spec, full of hex values, tables and various ad-hoc illustrations: https://preserves.dev/preserves-binary.html

    Now the CBE formal description looks like this: https://github.com/kstenerud/concise-encoding/blob/master/cb...

    And the regular documentation looks like this: https://github.com/kstenerud/concise-encoding/blob/master/cb...

    Dogma also does text formats (Concise Encoding has a text and binary format, so I needed a metalanguage that could do both in order to make it less jarring for a reader):

    https://github.com/kstenerud/concise-encoding/blob/master/ct...

    https://github.com/kstenerud/concise-encoding/blob/master/ct...

  • Concise Encoding Design Document
    1 project | news.ycombinator.com | 7 Nov 2022
  • Keep ’Em Coming: Why Your First Ideas Aren’t Always the Best
    2 projects | news.ycombinator.com | 7 Nov 2022
    Hey thanks for taking the time to critique!

    I actually do have an ANTLR file that is about 90% of the way there ( https://github.com/kstenerud/concise-encoding/tree/master/an... ), so I could use those as a basis...

    One thing I'm not sure about is how to define a BNF rule that says for example: "An identifier is a series of characters from unicode categories Cf, L, M, N, and these specific symbol characters". BNF feels very ASCII-centric...

  • Working in the software industry, circa 1989 – Jim Grey
    5 projects | news.ycombinator.com | 11 Jul 2022
    It's still in the prerelease stage, but v1 will be released later this year. I'm mostly getting hits from China since they tend to be a lot more worried about security. I expect the rest of the world to catch on to the gaping security holes of JSON and friends in the next few years as the more sophisticated actors start taking advantage of them. For example https://github.com/kstenerud/concise-encoding/blob/master/ce...

    There are still a few things to do:

    - Update enctool (https://github.com/kstenerud/enctool) to integrate https://cuelang.org so that there's at least a command line schema validator for CE.

    - Update the grammar file (https://github.com/kstenerud/concise-encoding/tree/master/an...) because it's a bit out of date.

    - Revamp the compliance tests to be themselves written in Concise Encoding (for example https://github.com/kstenerud/go-concise-encoding/blob/master... but I'll be simplifying the format some more). That way, we can run the same tests on all CE implementations instead of everyone coming up with their own. I'll move the test definitions to their own repo when they're done and then you can just submodule it.

    I'm thinking that they should look more like:

        c1
  • Breaking our Latin-1 assumptions
    2 projects | news.ycombinator.com | 18 Jun 2022
    Ugh Unicode has been the bane of my existence trying to write a text format spec. I started by trying to forbid certain characters to keep files editable and avoid Unicode rendering exploits (like hiding text, or making structured text behave differently than it looks), but in the end it became so much like herding cats that I had to just settle on https://github.com/kstenerud/concise-encoding/blob/master/ct...

    Basically allow everything except some separators, most control chars, and some lookalike characters (which have to be updated as more characters are added to Unicode). It's not as clean as I'd like, but it's at least manageable this way.

  • I accidentally used YAML.parse instead of JSON.parse, and it worked?
    8 projects | news.ycombinator.com | 23 Jan 2022
    You might get a kick out of Concise Encoding then (shameless plug). It focuses on security and consistency of behavior.

    https://concise-encoding.org/

    In particular:

    * How to deal with unrepresentable values: https://github.com/kstenerud/concise-encoding/blob/master/ce...

    * Mandatory limits and security considerations: https://github.com/kstenerud/concise-encoding/blob/master/ce...

    * Consistent error classification and processing: https://github.com/kstenerud/concise-encoding/blob/master/ce...

  • Ask HN: Who Wants to Collaborate?
    58 projects | news.ycombinator.com | 1 Jan 2022
    In the above example, `&a:` means mark the next object and give it symbolic identifier "a". `$a` means look up the reference to symbolic identifier "a". So this is a map whose "recusive link" key is a pointer to the map itself. How this data is represented internally by the receiver of such a document (a table, a struct, etc) is up to the implementation.

    > - Time zones: ASN.1 supports ISO 8601 time types, including specification of local or UTC time.

    Yes, this is the major failing of ISO 8601: They don't have true time zones. It only uses UTC offsets, which are a bad idea for so many reasons. https://github.com/kstenerud/concise-encoding/blob/master/ce...

    > - Bin + txt: Again, I'm unclear on what you mean here, but ASN.1 has both binary and text-based encodings

    Ah cool, didn't know about those.

    > - Versioned: Also a little unclear to me

    The intent is to specify the exact document formatting that the decoder can expect. For example we could in theory decide make CBE version 2 a bit-oriented format instead of byte-oriented in order to save space at the cost of processing time. It would be completely unreadable to a CBE 1 decoder, but since the document starts with 0x83 0x02 instead of 0x83 0x01, a CBE 1 decoder would say "I can't decode this" and a CBE 2 decoder would say "I can decode this".

    With documents versioned to the spec, we can change even the fundamental structure of the format to deal with ANYTHING that might come up in future. Maybe a new security flaw in CBE 1 is discovered. Maybe a new data type becomes so popular that it would be crazy not to include it, etc. This avoids polluting the simpler encodings with deprecated types and bloating the format.

What are some alternatives?

When comparing HPI and concise-encoding you can also consider the following projects:

deepstream.io - deepstream.io server

cue - The home of the CUE language! Validate and define text-based and dynamic configuration

wakatime - Command line interface used by all WakaTime text editor plugins.

joystick - A full-stack JavaScript framework for building stable, easy-to-maintain apps and websites.

org-roam-ui - A graphical frontend for exploring your org-roam Zettelkasten

postal-codes-json-xml-csv - Collection of postal codes in different formats, ready for importing.

megadetector-gui - A desktop application that makes using MegaDetector's model easier

futurecoder - 100% free and interactive Python course for beginners

PowerDeleteSuite - Power Delete Suite for Reddit

FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project

Memacs - What did I do on February 14th 2007? Visualize your (digital) life in Org-mode

cue - CUE has moved to https://github.com/cue-lang/cue