With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js. Learn more →
Striff Alternatives
Similar projects and alternatives to striff based on common topics and language
-
-
diff-match-patch
Diff Match Patch is a high-performance library in multiple languages that manipulates plain text.
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
-
-
react-contenteditable
React component for a div with editable contents
-
-
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
striff reviews and mentions
-
Show HN: A stab at building my own string diffing library
Clicky:
TipeIt demo: https://typeitjs.com/build-your-own
Diff library: https://github.com/alexmacarthur/striff
The demos get's quite slow if I type too much. Is the search method linear or quadratic?
If I type too much without spaces, like "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab" (that is an evil string for search) then in the typing box the text is wrapped but in the reply box the text is all in the same line and goes outside the box.
Having looked at the code a bit I stumbled onto this:
https://github.com/alexmacarthur/striff/blob/master/src/util...
This... can't be right.
Can you explain how your algorithm differs from, in particular, this one: https://en.wikipedia.org/wiki/Longest_common_subsequence_pro...
Also, why does it differ from that?
Took a stab at building my own string diffing JS package.
I built an interactive demo for TypeIt’s website (https://typeitjs.com/build-your-own) a while back. The approach I took to handle user input necessitated a way to calculate the difference between the versions of a user’s text input.
I searched around for a package to help me out and found a couple of good ones (like fast-diff), but I either didn’t really like their API or didn’t want to take on a huge new dependency. Instead, I thought I’d give it a shot myself (famous last words).
I dove into it having no real formal knowledge of the algorithmic approaches to string diffing, and so things got frustrating real fast. But then I figured out a way to build it out using JavaScript symbols to link characters that helped ease the complexity a ton. It all resulted in “striff,” which comes in at just over 600 bytes gzipped, and that I’ve been using in production for a couple of months now.
It’s a little weird looking back now, because I don’t think I’d recommend someone taking the same path in building your own, but at the same time, there’s an immense satisfaction knowing I was able to figure out a pretty reliable approach. Check it out:
https://github.com/alexmacarthur/striff
-
Here’s my ~600 byte (minified, gzipped) package for diffing two strings.
I might wait a while before adding this one
- Striff: A < 600 byte string diffing package.
-
A note from our sponsor - SurveyJS
surveyjs.io | 29 Mar 2024
Stats
alexmacarthur/striff is an open source project licensed under MIT License which is an OSI approved license.
The primary programming language of striff is TypeScript.