concise-encoding VS todomvc

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

todomvc

Helping you select an MV* framework - Todo apps for React.js, Ember.js, Angular, and many more (by tastejs)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
concise-encoding todomvc
22 60
255 28,478
- 0.2%
7.2 7.5
7 months ago 15 days ago
ANTLR JavaScript
GNU General Public License v3.0 or later 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.

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.

todomvc

Posts with mentions or reviews of todomvc. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-07.
  • Unison Cloud
    7 projects | news.ycombinator.com | 7 Feb 2024
    The odd thing is unison started purely as a language. Now there's a platform.

    I often find the best way to understand complex things is to dig all the way back to when they were being thought up. In this case there's a blog post from 2017 that I still find useful when thinking about Unison:

    https://pchiusano.github.io/2017-01-20/why-not-haskell.html

    Key quote:

    Composability is destroyed at program boundaries, therefore extend these boundaries outward, until all the computational resources of civilization are joined in a single planetary-scale computer

    (With the open sourcing of the language I doubt it will be one computer anymore, but it's an interesting window into the original idea)

    Personally I find there's a lot to this. It's interesting that we're really, really good at composing code within a program. I can map, filter, loop and do whatever I want to nested data structures with complete type safety to my heart's content. My editor's autocompleting, docs are showing up on hover, it's easy to test, all's well.

    But as soon as I want cron involved, and maybe a little state-- this is all wrecked. Also deployment gets more annoying as they talk about a lot.

    So I think Unison always had to have a platform to support bringing this stuff into the language, even though they built the language first.

    I'd love to hear some opinions from outside Unison about how they like using this language, tooling and hosting.

    I'd like to hear this too.

    Also, it would be great if there was something like https://eugenkiss.github.io/7guis/ or https://todomvc.com/ for platforms that we could use to compare Unison, AWS, etc etc. Or is there already a 7GUIs for platforms that I don't know about?

  • Hooking-up a headless CMS to React apps
    1 project | dev.to | 30 Jan 2024
    git clone --depth=1 https://github.com/tastejs/todomvc.git
  • TodoMVC: Helping you select an MV* framework
    1 project | news.ycombinator.com | 27 Oct 2023
  • Is Software Engineering Real Engineering?
    1 project | news.ycombinator.com | 5 Oct 2023
    The problem with this question is that, if it's not engineering, what is it? A better question is motivated by studying the history of chemistry and its progenitor, alchemy. That is: is software development alchemy or chemistry?

    Software development alchemy. Just like alchemy, software dev is not standardized, everyone has their own idiosyncratic naming systems, classifications and rules-of-thumb. Like alchemists, software engineers are often jealous of their proprietary knowledge. Just like alchemists, they admired, feared and loathed for having secret knowledge. And just like alchemists, you have to be exceedingly brilliant to work in such a chaotic field and get anything done.

    What changed alchemy into chemistry, and what is the analog to that in software? Arguably the change started with notion of conservation of mass and energy, and the development of the periodic table (thanks to Lavoisier and Mendeleev, respectively). As for what that analog is for software, first we need a characterization of the field. With alchemy and chemistry both, it's essentially mixing stuff together, heating and cooling it, and seeing what happens. But what is it for software?

    Software engineering is often mistaken for computer science. Computer science is a tiny subset of software engineering. In practice, almost all of computer science is encapsulated in a few, tiny standard libraries - the places where bubble-sorts and hash maps live. (This mistake is consistent, and leads to "leet code" style interview questions which are irrelevant to actual work). I'd characterize software engineering as the set of solutions to a boundary value problem[0] described as "a set of interacting screens with behaviors pleasing to humans". The current solutions to this problem have been idiosyncratically shaped by resource constraints that rapidly relaxed over time[1], and characterized by elements discovered at random by necessity: e.g. kernels, processes, files, procedures, terminals, etc. In this analysis "language" functions as a kind of "coordinate system" as in physics[2][3], within which each of these elements are described, and within which elements are combined to make new elements, which eventually yield a solution to the boundary problem (which is termed "application").

    I don't particularly know what the standardization of software engineering will look like, but I'm certain that this analysis, or something similar to it, is the first steps in the right direction. Personally, I look forward to the day we can shed the considerable weight of our alchemical origins.

    0 - https://en.wikipedia.org/wiki/Boundary_value_problem

    1 - https://en.wikipedia.org/wiki/Moore's_law

    2 - https://en.wikipedia.org/wiki/Coordinate_system

    3 - https://www.rosettacode.org/wiki/Rosetta_Code - the same problem is solved in many languages. For applications: https://todomvc.com/

  • Ask HN: What is the point of Front end Framework?
    1 project | news.ycombinator.com | 20 Jul 2023
    Compare the source code at https://todomvc.com/ to see what various frameworks bring to the table. VanillaJS is generally 2-3x as much code since you have to implement the MVC logic yourself.
  • Todo MVC – Helping you select a JavaScript MV* framework
    1 project | news.ycombinator.com | 7 Jul 2023
  • Scala PlayFramework and Angular JS - too much effort in terms of duplication and mixing concetps
    1 project | /r/codehunter | 3 Jul 2023
    There is an example (not mine) of AnjularJS controllers, how much JS I have to write:https://github.com/tastejs/todomvc/tree/gh-pages/architecture-examples/angularjs/js
  • Lesson 13 : Flutter | Clean Architecture | ToDo Model
    1 project | /r/FlutterDev | 15 May 2023
  • What is the best way to learn angular besides angular documentation? Any resources? Books?
    1 project | /r/Angular2 | 13 Apr 2023
    Learn by doing. You could recreate the TodoMVC app.
  • How easy is ruby to learn from zero experience coding
    3 projects | /r/ruby | 4 Apr 2023
    How easy or hard to build Shopify without zero coding experience? Shopify is a big thing =) So that would be hard to build with zero coding experience. Start with a todo list, micro blog, or something small in scope that interests you. https://todomvc.com/ is interesting since it is the identical app, written in many different ways, different languages and frameworks - and you can use them as reference to see how others have built something.

What are some alternatives?

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

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

jotai - 👻 Primitive and flexible state management for React

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

futurecoder - 100% free and interactive Python course for beginners

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

angular-spotify - Spotify client built with Angular 15, Nx Workspace, ngrx, TailwindCSS and ng-zorro

awayto - Awayto is a curated development platform, producing great value with minimal investment. With all the ways there are to reach a solution, it's important to understand the landscape of tools to use.

FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project

realworld - "The mother of all demo apps" — Exemplary fullstack Medium.com clone powered by React, Angular, Node, Django, and many more

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

tyrian - Elm-inspired Scala UI library.