ryrobes
So, in terms of the RVBBIT (just say rabbit) iceberg - this is everything "above the waterline" - for this layer, direct comparison would be something like superset - but done in a very different way. Please hit me up here with more questions, ideas, etc!
Why can't we have a bit of both - and put some direct-manipulation, Bret Victor-y Twists on it?
I just want to build "nice things" for my users that answer their questions, have some re-usability, lots of interactivity, and be able to check it into source control...
Ended up in this beautiful mutation of Tableau meets Hypercard meets Powerbuilder, etc (I think there is even a little SmallTalk and Lotus Notes in there). It's funny how the ultimate evolution of a dash tool is essentially an internal app builder...
Anyways - so I jumped off the ledge and dedicated an entire year to this - alpha is a bit rough around the edges, but it's def something interesting...
Don't let your dreams be memes - or something like that. :)
Not to shill too hard, but my X timeline is loaded with little videos and gifs showing different features and demos (some quite esoteric, like joining a Clojure REPL output vector to a SQL table and filtering on it all). @ryrobes
Currently working on docs and much better "WTF IS THIS" messaging.
There is also a whole (user space configed) viz reco system (algo chosen and built templates based on query metadata and specified attribs) - but it's all just a starting point. Low bar, high ceiling? At least that's the idea.
There are lots of other systems focused on reading/writing values from the dash (both headless server processes and active browser actions - all synced with the server). Clojure REPL constructing data shapes to be rendered on the front-end also gives me HTMX vibes, which is kind of cool.
There is also a complete visual flow builder system, that you could use to write ETL... or run "visual functions" triggered by UI actions, etc etc.
Anything that serves moving data back & forth, reaction chains, and making it look beautiful (if you want).
I had people tell me that it wasn't a good idea - will turn people off, etc - my thought was... "well, if people see you can do crazy stuff, then certainly a plain-jame white, black, and heather grey theme would be childs play, no?"
Eventually, I just decided to lean into it. As the kids say, "vibes".
But underneath the water line it's almost like a pub/sub reactive value engine - since everything is essentially a named parameter that can be subbed to by the client (by referencing it) and the client will push updates to any subbed clients. So, run a flow - each step in the flow is it's own subbable value - run a solver (arbitrary function) - its a sub value - signals (boolean triggers) also a sub... not to mention other client's UI values... also a subbable value.
It's a deep rabbit hole (pun intended?) of reactive / cascading effects - which is a great fertile ground for interactive dash creation. IMHO data tools want to be feedback loop factories.
Hell, even moving foward - in the 90s using DOS - you had to be somewhat computer literate to get anything to run well (esp games those days which bundled their own hw drivers, etc). HIMEM.SYS, different system boot files per application, etc.
In some ways things are much better now... in some ways they are far far inferior.
This mini-dichotomy reminds me of Rich Hickey's "Simple and Easy" talk.
Much in favor of more Alan Kay, Bret Victor, Doug Engelbart type ideas coming to market as opposed to being "locked" (somewhat) in academia.
It's also because CA DMV is a bit of a shit show - buy a car and you won't have plates for MONTHS, so seeing cars with no plates (at least in the Bay area) is super normal.
As an ex-NYer (where such things are strictly forbidden, heh) it was a bit jarring to not have a plate for 3-5 months.
I hate it when companies start their marketing about how shitty their main competitor is. Really? You couldn't muster an elegant elevator pitch without throwing some shade first?
Granted this seems to be a 'alternative marketing' page ("Why Zulip?") that calls out Slack directly... but, then again, so does the main page of the site.
If you can't define what your product does without namedropping a popular alternative first... C'mon man.
Red flag: both their concept as well as name have YT's brand name in it. The equivalent of calling your company "Uber for X". I'm all for decentralization where it makes sense - but this seems like they might be shooting themselves in the foot everywhere EXCEPT the tech (which, ultimately won't matter if they fail).
From the article: "Online since March 2018 in a beta version, the project should definitely take off by October, based on the money raised."
Beta + $60k + 6 more months time = Success? Against a practical content monopoly.
As a guy currently doing the start-up dance - this kind of optimistic naivety almost offends me.
Use this ance-data to shape your tone and phrasing.
Is this kind of snark really necessary in top marketing copy? I get what you are saying in terms of freemiums ins and outs, but I don't know if it should be my first impression to your company's message.
To each their own, just feels a bit cheap IMHO.
The dirty "silos" outnumber the clean by far.
Reminds me of ancedotes of devs intentionally wasting ram in old school console game development; locking it up in some obscure way; just so that at the 11th hour, you can remove it and claim "amazing optimizations". ;)
Anyways, Interesting analog. Intellectual dishonestly aside...
I have no first hand knowledge, but it seems highly probable.
Big fan of dark interfaces and visual (relationship) flow-graphs like this.
A twisted version of Stockholm Syndrome, trust me. That nagging feeling that says, "I don't want to rock the boat and be the bad guy", will not move you forward in life.
Doing the long-term mental gymnastics of "Things will get better if X happens or Y turns up", is just wasting more time.
Edit: Please don't read this as negative. But having been there, and having spent way too long pondering the situation... It breaks my heart to hear of those currently living through it.
Being in a bad marriage is like being that poor mouse in 'An American Tale'. Looking wistfully up at the night sky, thinking "Somewhere, out there..." (there is a life that doesn't resemble hell / a distorted version of expected reality).
Obviously, I'm making a leap here that you aren't some kind of monster or what-have-you and you don't deserve any of this. ; )
Going to fix the offending "encoder" scripts (or whatever you want to call them) and re-index everything over the weekend.
Just a short explanation of the (still very rudimentary) query "system" (using the term loosely here)...
Tab file gets scraped, broken down into individual passages based on how it's written (aka the "riffs", even though they might not technically be)..
P.M.---| h P.M. h
|---------------------------|
|---------------------------|
|--------7^8--7-------------|
|--------------------7^8--7-|
|-0---0-----------0---------|
|---------------------------|
becomes normalized / encoded to something like "5a 5a 3h 3i 3h 5a 4h 4i 4h"
and inserted into an ElasticSearch cluster, using a non-word analyzer for indexing (simplified a bit here for sake of argument - but I also save all spacing, symbol markup, bar sections and palm muting they just are not being utilized in search currently). "settings": {
"index.analysis.analyzer.nonword.type": "pattern",
"index.analysis.analyzer.nonword.pattern": "[^\\w]+"
}...
Upon search - the same encoding function is then applied to the incoming text, exploded and thrown in an ordered SPAN query with diff levels of 'slop'... "query": {
"span_near": {
"clauses": [
{
"span_term": {
"riff_code": "5a"
}
},
{
"span_term": {
"riff_code": "5a"
}
},
{
"span_term": {
"riff_code": "3h"
}
},
{
"span_term": {
"riff_code": "3i"
}
}
],
"slop": 6,
"in_order": true
} ....
I cut the score off at a >1.1 or something so that it doesn't show things that are way off.At the time it seemed like the best way to detect patterns that are mostly similar and look decent. I also experimented with MoreLikeThis and FuzzyLikeThis query variants, but ultimately the span query gave closer results to what one would EXPECT to see (but still has some scoring and clustering problems).
Any Lucene / ElasticSearch gurus feel free to suggest differently.
Syntax highlighting would look cool in that box as well, albeit not very useful. GuitarHero colors? ;)
http://riffbank.com/?q=5--5--7--7--%0D%0A-5-----5----%0D%0A-...
I'm actually surprised that I haven't scraped 124 different versions of it by now. Hopefully with lots of transcriptions things will show up to more diverse 'fingerings' (you know, the "right way" plus all the "other ways")...
Scoring seems to change oddly as well and I haven't been able to flag down exactly what is going on there
Thanks for the example url too. I'm glad that people are liking my little POC.
In my case I was initially just trying to leverage the vast trove of ascii tabs out there on the interwebs and see what came out of it hard-coded or not - first step was normalizing the format and storage (done, but always ongoing) - next would be intervals and pitch/tonality normalization (including various weird tunings if detectable) - but you're dead on right.
Also looked into doing some pseudo-tab to audio tones - then I could possibly compare it to inputted audio playing, etc. I haven't looked into the details - but it seems somewhat feasible...
But I will def look into the intervals, as people have suggested.