go-concise-encoding
Joplin
Our great sponsors
go-concise-encoding | Joplin | |
---|---|---|
8 | 771 | |
30 | 42,770 | |
- | - | |
6.9 | 9.9 | |
7 months ago | 8 days ago | |
Go | TypeScript | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
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.
go-concise-encoding
-
Ask HN: How long does it take for you to release your open source project?
I'm not sure, TBH... Maybe I'm just a glutton for punishment?
I'm currently partway through refactoring all of the portable unit tests for Concise Encoding ( https://github.com/kstenerud/go-concise-encoding/tree/master... ) and it is a SLOG! I mean, so goddamn boring and tedious that I wanna stick an ice pick through my skull. There's easily another 200 hours of this terrible work ahead and I'll be right back to it the moment Dogma v1 is published in a few weeks (Dogma has been kind of a vacation from it in a lot of ways).
Do I dread it? Yes. Am I still going to do it? Yes. Because at the end of the day I want to be able to stand back and say "I made that. I completed it - ALL of it. It's not perfect, but it's doing its job and people are using it."
-
Working in the software industry, circa 1989 – Jim Grey
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
-
Ask HN: What are you working on this weekend?
I'll be working on the reference implementation [1] of Concise Encoding [2], which is a secure data format for the modern world. My aim is to replace insecure and clunky formats like JSON and XML and the various binary formats that do similar things less conveniently.
In a nutshell:
- Existing ad-hoc formats are too loosely defined to be secure, and that's becoming a huge problem as the bad guys become more sophisticated. CE is tightly specified and designed to mitigate exploitation of codecs.
- CE is a twin text and binary format. Humans view and edit in text, and machines send it in binary, so you get the convenience of text and the efficiency of binary for free.
- CE supports the fundamental types natively. Stringifying is buggy, causes incompatibilities, and opens security holes. And it's completely unnecessary with a properly designed data format.
[1] https://github.com/kstenerud/go-concise-encoding
[2] https://concise-encoding.org/
-
Ask HN: What are some tools / libraries you built yourself?
I'm building a general-purpose data format for the modern age. The old ones are too bulky, too insecure, and too limiting.
* Secure: As a tightly specified format, Concise Encoding doesn't suffer from the security problems that the more loosely defined formats do. Everything is done one way only, leaving less of an attack surface.
* Efficient: As a twin binary/text format, Concise Encoding retains the text-based ease-of-use of the old text formats, but is stored and transmitted in the simpler and smaller binary form, making it more secure, easier on the energy bill, and easier on the planet.
* Versatile: Supports all common types natively. 90% of users won't need any form of customization.
* Future-proof: As a versioned format, Concise Encoding can respond to a changing world without degenerating into deprecations and awkward encodings or painting itself into a corner.
* Plug and play: No extra compilation steps or special description formats or crazy boilerplate.
https://concise-encoding.org
Reference implementation (golang): https://github.com/kstenerud/go-concise-encoding
-
I'd like to review your README
One thing golang did right is the go playground. When I put code in my README, I also include a playground link.
Example: https://github.com/kstenerud/go-concise-encoding#library-usa...
-
Ask HN: Is there a place to build peoples’ open source ideas?
I could use some help if you're interested in implementing an ad-hoc data format codec in different languages.
https://concise-encoding.org is nearing release, but building the reference implementation (https://github.com/kstenerud/go-concise-encoding) has taken so much of my spare time that I couldn't even think about other languages (especially since I'll need to focus on the schema format next, and the proto-RPC protocol after that).
-
Architecture.md
I've started doing this in my larger projects e.g. https://github.com/kstenerud/go-concise-encoding/blob/master...
An architecture document should be the code equivalent of a combined street map and tourist guide. Its purpose is to bring strangers up to a minimum level of familiarity with the code as quickly as possible. That includes where things are, why it was architected this way, things to look out for, and a few interesting points of weirdness perhaps.
-
Ask HN: Show me your Half Baked project
Concise Encoding: https://concise-encoding.org
The friendly data format for human and machine. Think JSON, but with 1:1 compatible twin binary and text formats and rich type support.
* Edit text, transmit binary. Humans love text. Machines love binary. With Concise Encoding, conversion is 1:1 and seamless.
* Rich type support. Boolean, integer, float, string, bytes, time, URI, UUID, list, map, markup, metadata, etc.
* Plug and play. No schema needed. No special syntax files. No code generation. Just import and go.
I'm in the process of finishing up the reference implementation (https://github.com/kstenerud/go-concise-encoding), after which I'll start on the schema specification. Once that's done, I have a low-level communication protocol that will use this format under the hood.
Joplin
- Ask HN: What is your approach for managing personal digital assets?
- Joplin is an open source note-taking app
-
My productivity app is a never-ending .txt file
I've had great success with using Joplin for this, with Syncthing as a sync backend. Works well across OSes; I use it on Linux, macOS, Windows and Android.
https://joplinapp.org/
-
Why I Like Obsidian
The tools to manipulate SQL aren't that bad, no.
But rather than having a self explanatory markdown & flat file, now I have to start learning about the schema & making specific tools (in my preferred language) for manipulating Joplin's schema.
Suddenly I'm digging through 20 different technic specs to decode what data is where, how it works, and what I can do to it. Want to edit history? This is the best help you'll get, pray it's adequately technical to expedite you to your purpose: https://github.com/laurent22/joplin/blob/dev/readme/dev/spec...
As I began with, I struggle to imagine anything that generates anywhere near as much user agency as flat files and markdown. Having boring common data & systems lets me apply portable skills I already have, rather than having to skill up in some particular product's own ecosystem.
-
IAC sold 17 apps to Bending Spoons. $100M deal, all 330 employees fired
Joplin is a good open source option too, feels more like the original Evernote in terms of UI/UX https://github.com/laurent22/joplin/
-
Ask HN: What do you use for note-taking or as knowledge base?
Joplin, an open source, extendable, Markdown-based hierarchical note-taking app: https://joplinapp.org/
It lets you choose a synchronization backend, offers applications for every major desktop and mobile OS (also has a terminal version). You can create notebooks and subnotebooks to organize your notes. You can also add tags for better search experience. I created notebooks for specific domains (work-related, home improvement, etc.) and also keep a "temp" for quick notes and W.I.P. snippets.
Its only con that it uses Electron on desktop which causes relatively slow start of the application.
-
Joplin VS Einwurf - a user suggested alternative
2 projects | 20 Dec 2023
- PSA to Evernote Free users: 2 similar FREE apps to migrate to (I hope this post can end these questions so we can leave this sub's users in peace!)
- Evernote alternatives?
-
Evernote Pre Mortem
done
What are some alternatives?
diem - Diem’s mission is to build a trusted and innovative financial network that empowers people and businesses around the world.
Trilium Notes - Build your personal knowledge base with Trilium Notes
logsuck - Easy log aggregation, indexing and searching
obsidian - GraphQL, built for Deno - a native GraphQL caching client and server module
thgtoa - The Hitchhiker’s Guide to Online Anonymity
notesnook - A fully open source & end-to-end encrypted note taking alternative to Evernote.
cargo-readme - Generate README.md from docstrings
Boostnote - This repository is outdated and new Boost Note app is available! We've launched a new Boost Note app which supports real-time collaborative writing. https://github.com/BoostIO/BoostNote-App
vaku - vaku extends the vault api & cli
logseq - A local-first, non-linear, outliner notebook for organizing and sharing your personal knowledge base. Use it to organize your todo list, to write your journals, or to record your unique life.
lowdefy - The config web stack for business apps - build internal tools, client portals, web apps, admin panels, dashboards, web sites, and CRUD apps with YAML or JSON.
QOwnNotes - QOwnNotes is a plain-text file notepad and todo-list manager with Markdown support and Nextcloud / ownCloud integration.