joystick
concise-encoding
joystick | concise-encoding | |
---|---|---|
59 | 23 | |
224 | 268 | |
-0.4% | 0.0% | |
10.0 | 7.2 | |
9 days ago | almost 2 years ago | |
JavaScript | ANTLR | |
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.
joystick
-
What should a native DOM templating API look like?
I think I've cracked this [1]. A lot of the popular frameworks just copy each other by using funky attributes, templating hacks, and compilers. You don't need that (yes, they have certain positives and negatives but you don't need them).
Instead, what's hinted at in this article (using a plain HTML string) works great. Add in a little abstraction for the sake of structure and simplicity and you've got a surprisingly robust UI framework without a ton of complexity.
[1] https://cheatcode.co/joystick (a full-stack JS framework that has its own components API)
-
Show HN: Node.js video tutorials where you can edit and run the code
This is wild. I'd love to use this to do a demo app for my JS framework, Joystick [1]. Would a collab be possible (happy to contribute the end result to the Scrimba library)?
[1] https://cheatcode.co/joystick
- Ask HN: What Are You Working On? (March 2025)
-
The Front End Treadmill
This is exactly why I'm building Joystick [1]. I got tired of the constant indecision and churn in JS frameworks, so I've built (and am actively building) a full-stack solution that features a simple component API that doesn't change, backed up by a batteries-included Node.js backend. All wired together so it's easy to use and fast to build your idea (for real, not just marketing fluff). Purposefully designed for people who are trying to build real businesses, not tinkering around to pad their resume.
The best part? I'm a tyrant about backwards compatibility, stability, and longevity (meaning, even if nobody else uses it, I'll be maintaining this for the long-haul).
For the cynics: for the love all that's holy, do not send me the XKCD cartoon about standards. I deeply care about solving this problem and this isn't "just another JS framework." It's a replacement for all of the "just do everything on the client" buffoonery and it works incredibly well.
[1] https://github.com/cheatcode/joystick
-
Svelte 5 and the Future of Frameworks: A Chat with Rich Harris
It's either VDOM or having to depend on a compiler to do everything (how Svelte works). The advantage to the former is it's relatively easy to debug, whereas with a compiler, I'm at the mercy of its developer and their whims.
VDOM may be "antiquated" (I mean it's a nested object or linked list which are standard paradigms) but slow depends on what you're doing. I did a linked list for my own full-stack framework's [1] component library and it's quite snappy.
[1] https://github.com/cheatcode/joystick
-
The Future of Htmx
If you like this approach but want a full-stack JS solution, check out Joystick [1] (the philosophy [2] page echoes a lot of the same sentiments here).
[1] https://cheatcode.co/joystick
[2] https://docs.cheatcode.co/joystick/philosophy
-
Ask HN: Freelancer? Seeking freelancer? (December 2024)
Remote Work: Yes, only
Unicorn. I do branding [1], design, and full-stack JavaScript development. I built the Joystick JavaScript framework (full-stack [2]) and Push deployment service [3]. Recently shipped Parrot [4].
Looking to work with entrepreneurs and small teams (or VCs who need a sharp shooter who can deliver) who need help shipping product and features that work from day one, fast. 17+ years of experience running a small business/shipping software, so I don't need to be babysat—just set loose with a clear idea of what needs to be built and open lines of communication if/when I have questions. The catch: using freelance work to finance product ideas and have freedom to do work on my terms (i.e., I can be available to consult long-term but not looking to transition to a full-time position).
Average time to brand, design, and ship a full-stack app is 3-6 months but I can move faster if you're willing/able to delegate 100%.
Contact: [email protected]
[1] https://dribbble.com/rglover
[2] https://cheatcode.co/joystick
[3] https://cheatcode.co/push
[4] https://codewithparrot.com
- Ask HN: Freelancer? Seeking freelancer? (October 2024)
-
Simplicity Is an Advantage but Sadly Complexity Sells Better
I built a full-stack JS framework [1] that I thought would be a hit. As best as I can tell, because it lacks the complexity/word salad of existing solutions, it's mostly been ignored despite being (imo) an elegant solution to a long-standing problem.
[1] https://cheatcode.co/joystick
- Show HN: Joystick – A Full-Stack JavaScript Framework
concise-encoding
-
Make a New Programming Language
I haven't made a programming language (and never will), but I did build a BNF-inspired metalanguage for describing text and binary formats to scratch the itch of trying to describe a binary data format I was developing:
The metalanguage: https://dogma-lang.org/
It's even got a syntax highlighter: https://marketplace.visualstudio.com/items?itemName=ksteneru...
The binary format I wanted to describe: https://github.com/kstenerud/concise-encoding/blob/master/cb...
- Ask HN: What Underrated Open Source Project Deserves More Recognition?
-
It's Time for a Change: Datetime.utcnow() Is Now Deprecated
"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
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”
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
-
Keep ’Em Coming: Why Your First Ideas Aren’t Always the Best
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
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
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?
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...
What are some alternatives?
opennextjs-netlify - Open Next.js adapter for Netlify
todomvc - Helping you select a JavaScript framework - Todo apps for React.js, Angular, Vue and many more
tensorflow-ruby - Deep learning for Ruby
postal-codes-json-xml-csv - Collection of postal codes in different formats, ready for importing.
webcontainer-core - Dev environments. In your web app.
futurecoder - 100% free and interactive Python course for beginners