For those intrigued by HyperCard, there is a modern day descendant that is able to produce standalone software for macs, windows, linux, iOS and Android called LiveCode. It is a joy to use, specially when you’re just building tools for your personal use, more focused in solving your own problems than building the next unicorn thing. Nothing is faster, IMHO, than dragging and droping a bunch of controls, writing some glue script, and scratching some itch. It can (and is) used to ship real products in all platforms. I think it shines in Desktop cross-platform development and for internal tools, those are my preferred use-cases for it.
It looks great to me. Pricey though, and very clearly targeted at devs. The partially unrealised beauty of Hypercard was anyone could use it, and making Stacks didn’t feel like you were making software.
You can actually have it for free. They have an open source GPL version at https://livecode.org/, it is targeted at professional developers but I know a ton of non-developers using it (I used to be a quite active member of their community) and techers in K12 space using it as well so you can still have that feeling of using stacks in HC.
I’m curious as to what you’ve built with this (just to get an idea of what the sorts of itch-scratching things are easily done with this)
I always use it when I need to transform data for some other stuff I am doing, or to scrape stuff for personal use, or to do some form of batch processing.
A recent example, I was building a little API backend server for a project that is not related to LiveCode, just normal web stuff. It was easier for me to cook up a little stack with buttons, fields and some diagnostics and debug my little server while I was building it than use those generic tools such as insomnia.
Those generic tools are awesome, pretty and powerful, but my own handmade tools, which I create specifically to a given project have the advantage of being tailored to whatever I am building, so they might be ugly but they are my special-purpose tools that help me develop and debug my own projects. There is a lot of developer ergonomics when you can quickly come up with GUI tools to debug whatever you’re doing.
Another example is when I had to do some complex batch renaming of thousand of files. The process involved a little crawler going on disk into the folders, inspecting some configuration files relative to the folders and renaming stuff inside them. I could do this with visual feedback, progress bars, etc…
I am quite bad at design but I am scratching my itches, not selling itch scratchers. My little stacks help me a lot.
So is LiveCode a project of your own then?
No, it is not. I am just one of its users.
[Comment removed by author]
What the hell, @rain1.
Find something kinder to do with your time.
Bringing other people down while adding nothing to the conversation isn’t something we need here.
I am the opposite. I liked NeXTSTEP a lot, and feel like a lot of ideas were lost when merging with the Mac. Although, to be honest, even more ideas were discarded more recently, after the merge with the Mac.
Just curious what you see those most recent losses were?
I’ll start first with features lost during the NeXTSTEP (OPENSTEP actually) to Mac OS X transition.
The biggest loss is of course detachable menus. Detachable menus meant any user could create whatever GUI required out of any application. Dynamic GUI controlled by the user! For free!
IIRC Rhapsody (the pre-release intermediate version between OPENSTEP and Mac OS X Server 1.0) had a menu bar, like the subsequent Mac OS X, however, it still provided detachable menus, giving you the best of both worlds. I wish we retained that.
On NeXTSTEP you could also run applications on one machine, and display their interface on another machine, sort of like X forwarding.
Now, about more recent changes, it’s not as much about removing existing functionality, but rather a shift in the culture. The model of interaction has shifted dramatically. NeXTSTEP was document-oriented, and multi window applications were the norm. It was very common for applications to interact with one another. Today, the world-view is application-centric, and most applications are single-window. Support for full screen applications is deeply enamored in the system.
This is particularly visible with Photos.app, an application that essentially manages multiple documents, but which offers a single-window application-centric interface. They even hid the documents (files), you won’t find them in Finder.app unless you know where to look in the .app container.
This transition has happened gradually, and it continues.
Tear-off menus were also a feature of the classic Mac OS (though they were nowhere near as universal or useful as the NeXT ones). I miss them both in macOS.
I think that interaction shift is ultimately down to the web, not the merger with the Mac. The original Mac was document-oriented as well (within an over-riding “active app” paradigm). But people have come to expect to interact within a single window, either a browser or a mobile device, and that’s utterly changed desktop apps as well.
The thing I miss most from OS 9 is the tab drawers in the Finder. Well, the whole Finder really. And the Chooser. For all the stick it got, discovering local services was never so simple again.
document-oriented as well
There was a big focus on documents across the board in the 90s - I remember all of the Microsoft hoopla about Cairo and later WinFS that were supposed to enable it. IMHO we’ve gone backwards over the past few years - a lot of modern productivity applications make it more difficult to work with multiple documents.
I know I sound like a bit of a stuck record but my perception is that desktop UIs have stagnated over the past 10-15 years, perhaps longer. In the 80s and 90s we had a lot of different platforms pushing different paradigms but today we have Windows 10, fundamentally the same as Windows 95, and mac OS 10.12, fundamentally the same as 10.00. Unfortunately the mainstream open source desktop platforms do their best to adopt/clone/tweak their closed source counterparts. Yes, we have the web, but a lot of it is just making prettier versions of the same desktop UIs we had in 1994.
They have absolutely stagnated. I don’t think documents is a fruitful route to take, to be honest — they’re a concept rooted in a world where most output was destined for a printer — but we can surely, surely have an alternative to the current paradigm.
Yes, documents, as envisioned in the ‘90s are dead. But I would want a data-oriented workflow, rather than an application-centric universes, where each application manages its own opaque data silo, or manages some data stored somewhere unknown in the cloud.
I wish the concepts of data, data representation, and data storage were clearly delimited and independently manageable.
Of course Plan 9 is one possible incarnation of these concepts, albeit not one that can provide what people expect in this day and age. But there are others possible incarnations, I’m sure.
In Plan 9 the user is in control where data resides, and where the computation happens, the namespace is the mapping between these resources.
Data can be on some remote file server, and can be processed by the local CPU, or it can be on some local file server and be processed by a remote CPU; it works just as well. Of course, preferably you chose to run the computations close to the data (both the data and the computation being remote), but you are in no way required to do so.
Of course typeless bag-of-bytes type of files are not what the general population expects today, but it doesn’t take much imagination conceiving having rich data providers communicating with data consumers through open protocols. The user can pick and chose who provides these independent services, or he can provide them himself (or some subset of them).
The protocols can even be application-specific protocols, as long as they are open protocols. They don’t even need to be restricted to network I/O. Perhaps it is desirable to run the computation closer to the data that the internet can provide. I mean protocol in the general sense of two systems talking together through whatever means, which could even mean some form of running two services under the same kernel instance, as long as there is a standard way to do this.
And then the user can chose what application to use, to display this data managed by some system, and processed by another, through another protocol (or the same protocol).
Classic Mac OS had the beginnings of this, and the unquestioned regression in handling of files and data from Classic Mac OS to OS X (file extensions? Are you FOR SERIOUS?) was the worst sin of the transition, in my opinion.
Am I missing some amazing rich features in the world of pagers? All I want is for something to pause the terminal when a screenful is reached, let me page back sometimes and that’s about it. more(1) does seem to handle that, primitive or not.
A variant of that feature I use pretty often in less is pressing & to search instead of /. That hides all lines except the matching ones, like an interactive grep.
Yes. Less has a few tricks. “shift >” will take you to the end of the file. “shift <” back to the beginning. “/” allows you to search. Typing “10” will take you to line 10. “?” allows you to search backwards. I actually use all of these features every day.
less can switch into and out of ‘follow’ mode with F, which means you get the benefit of a pager, but also of e.g tail -f.
Interesting. I didn’t support the guy’s views on gay marriage, but I was excited to see how someone with his technical expertise could lead the company. If it were up to me, I think he should have stayed if he was truly the best person for the job as long as his views didn’t affect the way he did his job.
EDIT: Especially given the statement in his personal blog post a few days ago, I think he should’ve been given a better chance.
That post said he would not “ask for trust free of context” and should be allowed to “show, not tell” but then his next actions were to refuse to discuss his position except in a 1:1 setting, and to essentially double-down on his intolerance with a weird justification about Indonesia.
The showing was all too telling. It was really that which disqualified him from the job.
CEO, even of a technical company, is not simply a technical position, it’s a position as a leader, a figurehead, a frontman, an ambassador. Mozilla faces multiple challenges in the coming months and years that will require someone skilled at these sorts of social politics and navigating passionately held views (cf DRM, mp4 etc).
That their CEO couldn’t even manage to navigate this with his own position - that he in effect put his head in the sand and refused to discuss it or even attempt to justify it - boded poorly for his ability to do it for the entire organisation.
The “if you disagree with me you’re oppressing poor Indonesians who can’t speak for themselves” thing is what really pushed me over the edge. What an asshole. I can’t imagine this having played out any other way, his response was pathetic and deserving of contempt.
My question: Does this new age of moral purity scale, or will we have to know all the politics of everyone we associate with?
“New age of moral purity”? Give me a break.
People in high profile positions are expected to avoid controversy, because nobody likes controversy. News at eleven.