<< The average person tends to have either less than eight tabs open, or to add tabs without organization until declaring “tab bankruptcy” and starting fresh. >>
yeah, I'm the... second one
(checks browser; it reports 'new mathematical research needed in order to determine if your number of open tabs is even theoretically countably infinite')
@natecull i obstinately refuse to ever close tabs even while my computer struggles and furiously diskswaps.
freeing up space memory and cpu time sounds like the garbage collector’s job. why is my computer making me do its job?
@natecull i sorta want a browser with a different UI paradigm where pages exist in a kind of zoomable space, history stacks are visualised as skeuomorphic stacks of paper, and “new tab” just makes a new stack. a heuristic dumps old stacks to disk so they don’t consume memory or cpu, but if you go back they can rehydrate, and ideally not in a way that is effectively reloading the page, though that might be unavoidable.
@natecull safari has like, half of this. you can zoom out and see a grid of stacks. i still eventually crash from too many tabs though.
@zensaiyuki I keep wondering what it is that keeps me using tabs and not bookmarks. I think three things so far:
* tabs have the back button memory (though not past the page where I right-clicked them, which is v. annoying if I've since closed that tab.. so, another reason never to close tabs
* they store a position in a page (sometimes), and page state (if not reloaded), which we don't have a URL representation for
* they're visible and in your face - so searchable - while bookmarks aren't
@natecull and all of that represents a cybernetic memory. fancy shmancy, but in my view closing a tab is technically brain damage
@zensaiyuki That's a (large) part of what this is all about:
"What if the Web were filesystem accessible?"
It's kind of relevant, at least to my interests.
My 'webscape' is my set of open tabs, but only because that's all today's browsers give me. What I *really* want is yeah, massive and pervasive caching. Everything I've ever browsed, I want it downloaded and not to hit the Internet again unless it absolutely needs to. And then I want to search that stuff locally.
Today's browsers assume 'stuff lives primarily in the cloud/web,' but I want the reverse of that.
Ideally, what I want is not even a 'browser'. Not tabs. I want those to be first-class windows, in a first-class filesystem.
With some way of 'browsing' them locally, but more like a filesystem browser than a web browser.
All my browsed web pages are *resources* I've found, not just random things I've flittered past. I want to keep them. I want them saved with their access trail (how I found them, for provenance data).
@natecull @dredmorbius it’s not the same thing, and I’ve mentioend it before, but pinboard.in is an okay stopgap. if you pay the premium account it can archive your links. if you have the plugin it has an option to save all your tabs. i have occasionally used that as a sorta lossless way to declare tab bankruptcy. i have never gone back, but it serves my packrattish psychology, not wanting to lose anything.
Hmm. I wonder if just automatic saving of all web pages to a file/folder, plus a file containing a history of URLs.... wouldn't go a very long way towards this.
perhaps even just a local web proxy service, implemented in Node.js
The point is its database should be engineered for maximum accessibility of data by other applications. So a filesystem, for preference, not a database.
ooh, literal dream projects! I like those.
I had something similar happen to me around 2006. Still don't quite grasp what my dream-self was trying to express.
(although a large part of it seems to have been 'functional reactive' before that became popular with React.js and Elm... sadly, I didn't have any way of expressing what I want, and I still don't quite grasp what the core elements of FRP are)
My gut feeling though was and still is that we ought to be able to make both GUI and network programming much, much simpler than they are by expressing them as declaratively as possible and letting a simple runtime engine stitch together dataflow paths.
How exactly that runtime engine works, though, my dream-self left as an exercise for the reader and so I still don't have a handle on it.
Something like 'pure-functional reactive RDF' was my feeling, but... how?
I like what Elm is *trying* to do, but, I don't think it's got there.
Elm is all based on the ML family of programming languages and those just rub me up the wrong way, because their fundamental structures don't seem recursively decomposable at runtime. Too much done by the compiler.
We need a core algorithm way simpler; about two orders of magnitude simpler.
Elm's 'records' need to be expressible at runtime; and all of the source code must be expressible in them.
(This is why I went hunting for a syntax that would let me express 'record/object' like constructs as lists, in a logically/algebraically complete manner, and got kinda lost in the implications since they don't seem to QUITE map to existing structures. A key/value store or function doesn't seem to QUITE have enough degrees of freedom to express all permutations of 'a set of Lisp Cons cells', and that worries me. And I can find no literature on anyone else doing that.)
Interesting! What does Quartz Composer do that React did badly or left out? I have no experience with react.
The thing that bugged me about Elm was just what kind of primitive 'FoldT' was... how we should track the accumulation of state over time in a FRP kernel, what primitives it should decompose into.
the whole model is that it’s like you’ve just got a pile of functions with multiparameters and multiple returns, and the plist is just a graph of how they’re hooked up.
That sounds... sensible?
Multiple returns as in coroutines and 'yield', or something else? What specifically about FRP requires them?
(I'm not surprised that it does, because I encountered something similar, but finding that plus the general lack of interest in reliable co-routine support in most languages shook my confidence.)
(The other confidence-shaking thing being that it seemed like the wiring-up graph between components would likely change over time, and I still don't understand how to handle that well, and simply. Eg if you disconnect from a stream because you've gone down the other path of an 'if' block, how do you reconnect?)
@natecull @dredmorbius frp doesn’t require them, exactly. it’s just a really convenient way to model the structure of a program. in a normal program you mightget some sturcture as a return value, and a bunch of code is effectively just “glue”, parsing oyt useful results and calling other functions. in quarts compuser you just hook a wire from an output value to an input value. the essence of frp is signals. a patch bay on a synth is like frp.
@natecull @dredmorbius then, the interpreter simply runs the graph 60 times a second, passing parameters in, pulling return values out, parcelling them to new parameters. nothing is persisted between calls unless you go to a lot of effort. and it’s a live coding environment, the program runs while you edit it, so changes get instant feedback.
Server run by the main developers of the project It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!