URLFormJS
calculang
URLFormJS | calculang | |
---|---|---|
4 | 5 | |
21 | 39 | |
- | - | |
5.9 | 4.6 | |
10 months ago | 5 months ago | |
JavaScript | JavaScript | |
BSD 3-clause "New" or "Revised" License | GNU Affero General Public License v3.0 |
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.
URLFormJS
-
Show HN: Non.io, a Reddit-like platform Ive been working on for the last 4 years
I'm concerned about the `#` character in the URL.
# means fragment and that's kept local and not sent to the server unless client side Javascript sends it to the server. I would use an identifier that doesn't already mean something to the URL.
See https://github.com/Cyphrme/URLFormJS#query-parameters-fragme... (Also see https://github.com/Cyphrme/Path)
For an example where this is relevant: https://cyphr.me/ed25519_tool/ed.html#?msg_encoding=Text&msg...
And see https://www.rfc-editor.org/rfc/rfc3986#section-3.5
- URLFormJS: Create sticky forms, stateful applications, shareable links
-
How to store your app's entire state in the url
I wrote a library for storing application state in the URL. Its novel feature is using fragment query, which prevents the information from being sent to the server.
https://github.com/Cyphrme/URLFormJS
I would love to see it get more use.
Here's a small demo: https://cyphrme.github.io/URLFormJS/#?first_name=Bob&last_na...
See my other comment on this page for some other examples of its use.
calculang
- Show HN: Open-source, browser-local data exploration using DuckDB-WASM and PRQL
-
Dynamic programming in Haskell: automatic memoization
I develop calculang, a language for calculations. It converts concise formulae into Javascript.
Since calculation formulae are usually inherently pure, a `--memo` flag to the compiler memoizes the lot.
Many of my models are written in this recursive style and only work because of memoization. Sometimes other tricks are needed e.g. careful ordering of the calls, so that the memo is available before the stack breaks.
My first calculang example is a bouncing ball: the position at t depends speed and the position at t-1. With loops we'll usually discover the same thing, but it's so much harder to follow.
First-class memoization to proliferate this style is a really neat thing.
[0] https://github.com/calculang/calculang
[1] bouncing ball code: https://github.com/declann/calculang-miscellaneous-models/bl...
[2] bouncing ball initial post: https://observablehq.com/@declann/calculang-bouncing-ball?co...
[3] if you can tolerate my slow-load WIP devtools and are on a Desktop, this is better, with buttons to navigate through the model development (only some of which are working now!): https://models-on-a-plane.pages.dev/stories/bounce/
-
AI intensifies fight against ‘paper mills’ that churn out fake research
My instinct about numbers (i.e. incl. statistics) is that they should be reproducible: on-demand, with results and workings easily subjected to interrogation.
In reality in many fields - my experience is in finance, but also in science - calculations are scattered across different languages and systems. This adds friction to any process about reproducing, understanding, analysing numbers.
This is some motivation for calculang, a language for calculations I develop. https://github.com/calculang/calculang
For the HN crew it's an under-development(!) functional language with properties to permit flexible designs that can scale. It's for numbers and if you share the model alongside your numbers people can check them according to the model and see the workings.
It goes well with visual number [dev/person]tools that I will release one of soon, and in the future watch for a browser extension for the workings behind numbers you are reading.
Important, it won't address the raw data part of the problem, but where numbers following from that are concerned, it might get closer to that instinct.
-
Ask HN: Those making $0/month or less on side projects – Show and tell
I'm developing calculang, a language for calculations: https://github.com/calculang/calculang
I've made some examples here: https://observablehq.com/collection/@declann/calculang
Some tooling work for visualizations and for showing the workings will be released in the next weeks.
There are no positive money flows; I've spent many years experimenting, developing, and now 1 year after a public release the twitter page where I make announcements has 24 followers: https://twitter.com/calculang
I'm a modelling consultant - I work with numbers, I think they should be simple, but they are disjointed across systems and entities and programming languages and spreadsheets. The friction accumulates everywhere: to get a simple result, to follow the workings, to do any analysis, to share one or the other.
-
How to store your app's entire state in the url
I'm developing more tools to these ends, via my overarching project calculang, a language for calculations [1].
I also have a loan/repayment validator [2] but haven't added this QR code feature yet.
Bank letters e.g. "Interest rates are rising and now we want 100e more per month, every month" could use a QR code to an independent validator or to see the workings behind the 100 calculation.
Not using this in the real world now and there are security considerations to keep in mind, but reading state from a URL facilitates the usecase, QR codes that link physical numbers to their calculation and model.
Implementation of payroll calculator is an Observable notebook and thankfully it neatly supports all my strict requirements as a QR code demo.
[0] https://observablehq.com/@declann/payroll-playground-ireland...
+Feature tweet: https://twitter.com/calculang/status/1608183731533107206
[1] https://github.com/calculang/calculang
[2] https://observablehq.com/@declann/loan-validator-dev
What are some alternatives?
Path - A more robust URI naming scheme
summonscript - Manifest manifold models with magical machinations.
nonio
CozeJS - Coze Javascript - cryptographic JSON messaging specification
u - μ is a JavaScript library for encoding/decoding state (JavaScript object) in URL
graphic-walker - An open source alternative to Tableau. Embeddable visual analytic
xstate - Actor-based state management & orchestration for complex app logic.
sveltekit-search-params - The easiest way to read and WRITE from query parameters in sveltekit.
ipfs - IPFS implementation in JavaScript
numbro - A JS library for number formatting