Follow

I think I've never been more forcibly struck than today with the realisation that today's Web developers have never used 1980s BASIC systems and just have no awareness that computers used to be things you could both use and program interactively, in the same session.

We've deprived an entire couple generations of children of a basic formative mind-expanding experience of cognitive freedom, and now they're making tools that restrict other people's thought lives and see nothing wrong with that.

We gotta get something like Smalltalk back in people's faces.

We gotta make them remember that they have a choice.

That it doesn't have to be this locked-in prison where only Developers can create schemas and human/machine interfaces and Users can't change anything but can only submit to the machine.

@natecull I agree but have you ever opened up the inspector pane in Chromium or Firefox? There's literally an IDE in there with a REPL. You can load, edit, and save local files, run random code. The only real barrier is that the DOM kinda sucks.

@natecull You could go a long way just having the debug panel presented as a different program.

@dl

Wow, have they really added local file/save? That's a game changer if so.

@dl

My hope is that eventually when I have a useful set of query functions, I can migrate my Node code to a single-page web app, so that's another reason why I want to stick with Javascript.

At that point, F12 would become very useful. I might have a play and see what the debugging experience is like.

@wolfcoder @natecull I'd say the main blocker to using the web browser as a beginner tool is that the console doesn't have any standard input. Interactive text is an easy on-ramp for programming.

@wolfcoder @natecull I have ambitions for a pedagogical language for kids. I have a bunch of free floating ideas and child development observations of my own children.

@natecull in England they are teaching kids in junior school how to code with Scratch (a work colleague mentioned this), I think some also learn Python in high school.

But they do not (yet) teach the same kids/teens how to make even the basics of an application that could maybe be used in a small business and learning to do this is overwhelming even for an adult with some tech experience..

@vfrmedia

If I can get Node working to my liking as a decent personal universal programmable information shell, which it now seems like it should be able to, then I'm suddenly feeling a whole lot happier about the entire future of computing.

Javascript has WASM available for compilation and it's got a migration path to web applications for when the heavy banhammer finally comes down on terminal applications on systems like Android.

We might be able to stay one step ahead of the 1984 gang.

@vfrmedia

(Until they require registered public HTTPS certificates as a prerequisite for even running locally-hosted single-page webapps on your own computer, which is sadly more likely to happen than not.)

@natecull sooner or later, the bottom will fall out of the whole adtech market and tech "progress" will stagnate due to lack of funding; I don't think the Internet or computers will disappear overnight but people will have to start reusing old methods like standalone apps / collecting less data and networked computers only working within limited geographical areas (like they did from the 1970s to 2000s)

@vfrmedia

I just hope we don't end up with billions of phone-class devices becoming bricked and being e-waste, or worse, turning into toxic malware infection vectors that are irretrievably wired into personal medical data and home automation systems, just because eg someone like Google has a whoopsie or gets taken over by evil people or has a financial meltdown.

that's probably going to happen, but I would like it not to, please.

@natecull this already happens with old mobile phones anyway, but at that point its very likely the Internet/telecoms networks will fragment and be heavily geoblocked (maybe even renationalised) to keep the potential damage within limited areas. I don't think it will be "back to the stoneage" but maybe back to 1980s...

@natecull also at least in UK (and possibly across Europe) a lot of critical infrastructure and data is still kept on standalone/private systems that don't go anywhere near Google and the apps are just front ends to mainframes or their equivalents (banking and insurance and national healthcare systems seem to be still like that)

There /is/ a chance that a lot of mundane (but essential) stuff keeps going somehow, whilst a lot of "cool" things disappear (or don't spread internationally as much)

@natecull earlier this evening I pressed whatever F-key makes the web editor/debugger appear on a UK news site and shows the code; whilst I could see a lot of data being collected for Google adtech, the news itself remains on the news orgs own servers; if the ad revenue disappeared maybe they would go back to print newspapers distributed in a single region/country (or even local ad sales) but I'd be very surprised if news reporting itself totally disappeared..

@natecull we've already got the situation where since GDPR many American news sites no longer accept traffic from foreign countries (as their local ad networks refuse to comply to GDPR) and this seems to be permanent, OTOH its still possible to get news from America due to people on here talking about stuff (the challenge may be to keep similar to the Fediverse running with whatever resources remain available in the future)

@vfrmedia @natecull I think in a lot of senses Google et al have become "too big to fail" no matter how tall a pile of lies the ad tech industry is, and our best bet for reclaiming computing as a thing that serves humanity is to elect people who can help enact a controlled demolition of said industry, and everything that comes with that.

@jplebreton @natecull

it was once widely believed (by management, workers and customers alike) that manufacturing industries in my country (UK) were "too big to fail", these made heavy infrastructure and products such as cars (eg things that were in genuine demand and depended on for society to function).

Whilst we still make these things today, its to a lesser extent and the companies making them are far leaner and often owned by overseas organisations..

@vfrmedia @natecull yeah, i think the things that make particular industries actually-vs-not TBTF have to do with centralization dynamics, economies of scale, and where labor is cheapest globally. some analysts predicted the decline of eg American manufacturing as early as the early 70s. whereas ad tech i think is more like the industry of TBTF's coinage: the financial services industry - unbelievable centralizations of power and direct political influence.

@jplebreton @natecull

global communications are genuinely useful and a lot of adtech is being justified to fund the infrastructure for this (eg: "free" services such as Facebook in place of paying per second for a telephone call) - I wouldn't even rule out a return to the nationalised/part nationalised PTT (post, telegraph and telephone) administration (in countries that haven't kept this arrangement. However we already had relatively cheap/affordable telecoms in the late 90s and early 00s..

@natecull So much this. Back when there were a lot of different competing micros and not that much software, businesses and individuals bought them with the expectation that they would need to write a lot of their own software to get the most use out of the machine. But then the PC pulled ahead of everyone else and everyone and their dog started selling software for it, and computers became just an appliance for running commercial applications.

@natecull It's also interesting to consider micros and then the PC in the context of the broader computing history including mainframes and minicomputers. With early mainframes you'd be writing most of your own software. Later on, especially with minicomputers, more and more functionality could be achieved using commercial software without having to write any code. Early micros had little commercial software but ultimately ended up being a continuation of the same path away from programming.

@freakazoid

Admittedly programming your own software was terrible and people were glad to not have to do it

but then things like spreadsheets and databases were sort of about that, and they're now a huge part of corporate workflow, so we do still like programming.

I guess there's a happy balance somewhere, but I'm not sure where it is.

For now I'm just glad to finally have a phone that can run Termux and Node so I can poke at datasets like Unicode while I'm having lunch.

@natecull Spreadsheets are awesome. I just wish they weren't these separate things that make you fall back to a "real programming language" when you try to do anything too complicated.

I'm not sure what we can even do when Apple and Google wield so much power. Neither company has any interest in letting people have control over "their" devices. Personally I'm content with carving out a little corner for me and my kids and anyone else who still wants to hack.

@natecull I think another problem along these lines is the way software is developed, which is in large organizations using brain-dead languages like Javascript and Go in order to make sure any programmer can easily be replaced if necessary, even if that means you need 5-10x the number of people you'd need if you hired Lisp people. Note that I don't say "if you wrote it in Lisp" because you WON'T get that if you write JS-flavored Lisp.

@freakazoid @natecull Especially with large organizations you tend to have too many managers who all need people under them to validate their position. And then you have to make the applications more complex to make the number of people worth it.

I wouldn't call JS "brain-dead", though. Go attempts to allow for brain-dead developers with one way to do everything, whereas JS was designed by someone who was brain-dead leaving endless pitfalls and booby-traps for developers to watch out for.

@natecull But now we're into the next stage of evolution past that. Most people don't have PCs anymore except maybe for work. They use their phone for everything. Which means even if every PC become easier to program, it wouldn't matter anymore because the main people with PCs will already be programmers. We'd have to also make PCs popular again. Or maybe look at ways to make programming popular in general.

@natecull

Have you looked at Amber? Smalltalk in JavaScript. It requires server-side stuff but maybe you could combine it with something like tiddlywiki and have a working environment in the browser as a static website.

amber-lang.net/

@suetanvil

I haven't yet, but I'll look at it! Thanks.

Yeah, I think a local Node plus a web browser is probably going to be the simplest fully-configurable environment on the desktop going forward (so many Electron-style apps are literally just that). Unfortunately phone and tablet devices are probably not going to ever make a local Node a simple thing to have.

@natecull In my opinion, we'd do better to destigmatize block programming languages like Scratch. You know you've got an intuitive tool on your hands when a 12 year old can pick it up and learn to make something in an hour. Adults could benefit from that ease of use too without having to invest a lot of time into learning how programming works.

@montagsoup

If we could get a 1:1 parity between the graphical block editor and a text format that's also nice for humans to code in directly, so you could go between one or the other without data loss, then I'd agree. I think we could probably get that if we really wanted to.

@montagsoup

I guess that's the main thing I want:

* I want simple ways of getting started to code or just enter data or just sketch out the shape of a problem

* then I want whatever results from that to be easily saved to non-volatile storage so it can connect to and from other things

* then I want those small things to be able to be connected together and published and imported safely and securely without bringing large third party corporations or government authorities into the mix

@montagsoup

You wouldn't think this is a strange or bizarre requirement. But so much of the computing infrastructure we've built now is all heavily dependent on needing permission from and giving up privacy to large central authorities, who interpose themselves between users.

@natecull I agree that a good text format behind it would be important (for example Scratch's format from what I understand is a mess of JSON full of block IDs and stuff, which isn't very easy to edit by hand or with code). That could make it easier to distribute too since you could copy and paste it around easier.

I think a block language might be good for some of the safety requirements too since you're a lot less likely to accidently mix data and code if your code is all blocks. That still leaves vulnerabilities in the VM and phishing to worry about, but it at least makes it less likely you'll write something vulnerable.

I'm not saying block programming is the solution to everything, but I think it's something people should consider more.

@montagsoup

(plays with Scratch with zero prior knowledge)

Ok, that's pretty cool. It's basically Logo? And sprites are 2D turtles?

@natecull Yep. It built on a lot of the work Logo did, just making everything blocks and focusing more on making it easy to make animations and games (since that's what kids like to make).

@natecull @montagsoup MakeCode is Blocks, TypeScript* or Python*.

*: static, limited versions. You can't write fully arbitrary code and expect it to make to a block, sadly. But it does a decent job.

@natecull @montagsoup I have a friend who has been working on pencilcode.net/ which has 1:1 parity between blocks and Javascript. Whether or not that's nice for humans to code in directly is left as an exercise for the reader.

@natecull squeak.org/ Downloads available for Linux, Windows, and MacOS. The source is a mix of MIT and Apache licences.

@natecull i was thinking recently about how python's "notebooks" and the various browser js debuggers are this generation's attempts to re-create that experience, from first principles, without really knowing what it's like or what they want

@natecull I mean
Emacs is there. You can run buffer and make it change itself.
Browsers are there. You can change whatever you want interactively.

@natecull
I think the interactive python interpreter is the reason why it got so popular.

Like,C++ or java: okay first download this IDE, download the libraries...

(a few days later) Okay we're gonna teach you to program now.

Pyhton:

python3.9

Python 3.9 (default, June 4 2019, 09:25:04)
[GCC 4.8.2] on linux

Type "help", "copyright", "credits" or "license" for more information.
>>>

@yuki

Yep, if Node is going to pull this "you literally aren't allowed to write a REPL interactively" nonsense, I'm going to seriously consider rewriting this application in Python.

I chose Node because I THOUGHT its interactive coding experience was a little more polished than Python's.

But I guess I was wrong.

@yuki

I am using Node to interactively explore and query the Unicode database of Chinese characters. It's the sort of dataset where you literally DON'T KNOW what kind of queries you want until you examine the data and run them. So I create them and refine them interactively.

And now I've got to the point where I want a slightly better query syntax than

foo("bar","baz")

and so I wanted to step up to a SLIGHTLY better REPL.

And now Node tells me "nope, can't do that".

@yuki

And programmers just think that this is normal. That's what gets me.

We used to have a better world. It wasn't perfect but it let you do things like this.

@yuki

like do I have to literally hack a hook into the Node REPL function itself? Cause if I have to do that, I'm gonna.

What I'm trying to do is not strange. None of this is strange.

But increasingly we're making it strange.

@yuki @natecull I've been saying Python turned into the new BASIC.

... MicroPython is already ROM Python, kinda.

@natecull bring back Python, Perl & Ruby. Mwahahahahaha!

@natecull (I was going to say Pascal and Visual Basic for this joke, as those were the languages I originally learned, but I decided that actual web languages with REPLs made more sense)

@natecull This is the one thing that was actually very good about my highschool curriculum requiring a TI-83+

@natecull It is a shame that most people never have a chance to just turn on a computer, being greeted by a blinking cursor, and then just typing in commands. It was - in a very simplistic way - a dialogue with the machine.

@tsturm

I'd really love to see a hybrid of that text dialogue model with window-and-widget interfaces, both connecting to the same underlying data system.

Like how we have filesystems, and then we can have multiple command shells that can talk the filesystem API and have the concept of a "location", ie the filesystem object that they're interacting with, and then we also can have file browser windows that can also talk the same API.

I wish we had that, but for a space of data objects.

@tsturm @natecull the flip side of this is that there are people who are glad not to have to contend with the "tyranny of the blank canvas".

Sign in to participate in the conversation
Mastodon

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!