There's a new browser in town: Nyxt. It is free software. It is intended to be modified by the user, perhaps even rewritten. From https://nyxt.atlas.engineer/:
Built-in programmability.
Use the built-in REPL to program Nyxt. Run short scripts, and try out new workflows. Everything in Nyxt is fully extensible and modifiable.
It is written in Common Lisp.
Is this the browser we programmers have been waiting for? The one we can modify to our wildest dreams?
[Ed's comment: The linked source is obviously intended to show a potential user how it will work, and in this role it does a reasonable job. But there is not a great deal to explain why they think it is a game changer, or why it will appeal to many users. If it is necessary to use Lisp to extend the browser then perhaps it will not have the impact that they seem to believe it will have. But what do you think? Will it gain a foothold, or simply fade away to be forgotten except perhaps for a few enthusiasts?]
(Score: 5, Insightful) by istartedi on Friday March 01 2024, @12:42AM (2 children)
I'm surprised Emacs doesn't already have a web browser built in. I think this will be a hard "no" for most of us except avid Lispers; but it's the kind of news I come here for, so thanks.
Appended to the end of comments you post. Max: 120 chars.
(Score: 4, Informative) by Anonymous Coward on Friday March 01 2024, @02:35AM
According to this short article, https://nyxt-browser.com/article/why-building-nyxt-instead-of-an-emacs-package.org [nyxt-browser.com] "Emacs already has a package called EWW, or Emacs Web Wowser." But the NYXT authors didn't like it for a number of reasons...
Among the reasons is the complexity of full Emacs and the long learning curve.
When I was a student (late 1970s) I used a very early Emacs on a slow time-share system, but once I had my own microcomputer I started using Emacs subset/clones instead...because they were a lot smaller and easier to learn than full Emacs. Now I'm down to using MicroEmacs when I need a text editor, works fine in Windows (my big customer has Windows stuff that I need to run).
(Score: 5, Informative) by RamiK on Friday March 01 2024, @11:44AM
Emacs isn't multithreaded and no one is sure hot to do it without breaking backwards compatibility: https://coredumped.dev/2022/05/19/a-vision-of-a-multi-threaded-emacs/ [coredumped.dev]
It's at the heart of why they haven't switched to guile, have good rendering or a built-in browser and it's why projects like lem (common lisp) and now this nyxt browser (also common lisp) are taking off: https://github.com/lem-project/lem [github.com]
compiling...
(Score: 5, Funny) by EJ on Friday March 01 2024, @01:08AM
I don't think thith ith thomething people want.
(Score: 5, Funny) by ikanreed on Friday March 01 2024, @02:37AM (8 children)
1. Meant to be modified
2. Written in LISP
Choose 1.
(Score: 2, Informative) by Anonymous Coward on Friday March 01 2024, @02:47AM (3 children)
Lisp is a great language for extensions and automation. Autodesk chose it for Autocad (long ago), see https://help.autodesk.com/view/ACDLT/2024/ENU/?guid=GUID-3B8EDFF1-A130-434F-B615-7F2EC04322EE [autodesk.com] for example. It's been the extension language in Emacs forever (or at least a really long time?)
(Score: 2) by bzipitidoo on Friday March 01 2024, @04:08AM (2 children)
Don't know about later versions but in early versions of AutoCAD, AutoLISP was pretty feeble. Couldn't do recursion without rapidly running out of memory. Since looping was impractical to do with recursion, they added control statements for that. Made AutoLISP more like plain old C.
(Score: 1, Interesting) by Anonymous Coward on Friday March 01 2024, @04:35AM (1 child)
Um, no, looping is not impractical to do with recursion. You just need to be a competent programmer and understand what tail recursion is. That's the proper way to iteration with recursion, and languages like Lisp optimize for it.
(Score: 4, Informative) by bzipitidoo on Friday March 01 2024, @04:47AM
AutoLISP did not optimize for tail end recursion, and would run out of memory if you tried it.
(Score: 0) by Anonymous Coward on Friday March 01 2024, @04:24AM (3 children)
Seems like you've never programmed in Lisp in your life.
(Score: 1) by khallow on Friday March 01 2024, @04:55AM (2 children)
(Score: 3, Funny) by DannyB on Friday March 01 2024, @03:24PM (1 child)
He said Lisp, not C which has all the sharp edges and no safety features. Incomprehensibility should not be confusicated with safety.
Don't put a mindless tool of corporations in the white house; vote ChatGPT for 2024!
(Score: 3, Interesting) by JoeMerchant on Saturday March 02 2024, @03:50AM
>not C which has all the sharp edges and no safety features
Hey, I program in C++ pretty much the same way I do serious tree felling with chainsaws: in shorts and flip-flops, and very carefully. Nothing worse than wearing a bunch of cumbersome safety gear that makes you hot and sweaty and fatigued (and stupid) before you even start working. Same thing with "safe" programming languages, you can always screw things up, even when your language comes with training wheels, air bags, harnesses and curb sensors - and a lot of those things make the job harder instead of easier.
I have done a couple of microPython projects on the Raspberry Pi Pico, because the tool chain is so damn friendly as compared to the nightmare of a C toolchain they sort of contemptuously threw out there. However, language to language, I never spent so much time chasing gremlins in C as I did in that microPython chasing garbage collector issues.
🌻🌻 [google.com]
(Score: 3, Funny) by Anonymous Coward on Friday March 01 2024, @04:28AM (8 children)
The great think about Lisp is when some young engineer comes bragging about a new feature his whiz-bang, toy language has, I can't always say, "yeah, Lisp had that in the 60's."
(Score: 2) by driverless on Friday March 01 2024, @06:08AM (7 children)
And for operating systems it's "yeah, Multics had that in the 60s". For hardware, "yeah, the Atlas has that in the 50s", or for some newer things, "yeah, the model 91 had that in the 60s".
(Score: 2) by PiMuNu on Friday March 01 2024, @08:27AM (6 children)
> For hardware
10 TB Hard Drive?
(Score: 4, Funny) by driverless on Friday March 01 2024, @08:35AM (2 children)
The Atlas had drum memory, which can store about 100,000 times more angular momentum than any 10TB hard drive can.
Kids these days...
(Score: 2) by PiMuNu on Friday March 01 2024, @08:56AM (1 child)
That is a lot of storage
(Score: 2) by driverless on Friday March 01 2024, @09:14AM
There's an apocryphal story that a FASTRAND I drum made a US navy ship keel over when they tried to turn it, which is almost certainly an urban legend, but they had serious problems with them trying to tear themselves off their mounting bolts and walk across the floor when they were spun up.
(Score: 3, Insightful) by RS3 on Friday March 01 2024, @03:10PM (2 children)
You didn't need that much local storage before the proliferation of bloatware.
(Score: 3, Interesting) by PiMuNu on Friday March 01 2024, @06:17PM (1 child)
Well, it depends what you are doing...
https://home.cern/science/computing/storage [home.cern]
"600 petabytes of data"
(Score: 2) by RS3 on Friday March 01 2024, @06:55PM
That's why I specified "local" storage. The balance / tradeoffs / costs between huge but less available storage, versus local (or "DASD" in IBM parlance).
(Score: 5, Insightful) by owl on Friday March 01 2024, @05:14AM (11 children)
Given the extreme technical incompetence of 99.8% of browser users, it will "simply fade away to be forgotten except perhaps for a few enthusiasts".
The typical "browser user" does not know how to program anything, and sadly, does not even realize they can already create programs to customize the browser they currently have (Bookmarklets anyone? [wikipedia.org]).
So, a nice curiosity, but it is not going to unseat the evil one's browser from its perch.
(Score: 4, Insightful) by driverless on Friday March 01 2024, @06:13AM
It's not just that, it'll be a neverending race to keep up with all the crap Google is inventing to add to the web, in a language with a very small user base, and with a feature set that's interesting for geeks, possibly even just "geeks who know Lisp", but not for a wider audience. I just can't see people flocking to this.
(Score: 2) by quietus on Friday March 01 2024, @09:17AM (5 children)
... what do you think are the features a new browser should have, to push Chrome from its throne?
(Score: 3, Insightful) by RS3 on Friday March 01 2024, @03:26PM (3 children)
I would hope privacy, but sadly I don't think most people care. Even if they do care, they can't seem to connect with the specifics of how to be more secure. Convenience always seems to win those battles.
(Score: 2) by quietus on Friday March 01 2024, @05:00PM (2 children)
With regards to privacy, I wonder about a browser which auto-creates fake history profiles. Would it be possible to automatically strip a cookie down to its essentials i.e. only the ID needed for session management?
(Score: 3, Interesting) by RS3 on Friday March 01 2024, @07:01PM (1 child)
Probably due to EU privacy requirements (thank you!) I've been noticing more and more websites giving options for cookie management. Most will set a bunch of "necessary" cookies. I've come across a few that let you block all cookies, and checking browser cookies, I don't find any for those sites.
Many sites think they're being clever using a . (dot) prefix, like that'll hide the cookie? I dunno, I wipe them all regularly.
Way back in the 90s when I first started browsing, running Linux, the cookies folder was a 'ln -s' to /dev/null. Of course as time has marched forward, most websites have devolved into requiring some amount of cookie storage.
I like your fake history profile thing. I'm a huge advocate of disinformation. Fill their coffers with garbage!
(Score: 3, Insightful) by JoeMerchant on Saturday March 02 2024, @03:55AM
When "hidden" bits started showing up on file systems, my favorite utility to use (or write, it's not hard) is one that does a summary listing of all hidden files in the system. It's really fun hitting one button and seeing all the stuff that the designers never wanted you to see in a nice easy to read short list.
Real security is done by obscurity. If you must store secrets on the hard drive, keep them in a file named: thumbs.db in an average looking folder somewhere. Bonus points if you encode the secrets steganographically.
🌻🌻 [google.com]
(Score: 2) by crafoo on Saturday March 02 2024, @03:03AM
about $1bil in marketing and ideally a tie-in deal with an OS
(Score: 2) by Freeman on Friday March 01 2024, @02:31PM (3 children)
I would say bookmarklets are part of the reason why we can't have nice things. It just sounds like a horrible idea.
Joshua 1:9 "Be strong and of a good courage; be not afraid, neither be thou dismayed: for the Lord thy God is with thee"
(Score: 2) by DannyB on Friday March 01 2024, @03:21PM (1 child)
Are bookmarklets severely limited to 2 GB in size? 2 ^ 31 ?
Don't put a mindless tool of corporations in the white house; vote ChatGPT for 2024!
(Score: 2) by Freeman on Friday March 01 2024, @03:56PM
I would suggest that hijacking a bookmark, isn't a good way of doing whatever thing you're trying to do.
Joshua 1:9 "Be strong and of a good courage; be not afraid, neither be thou dismayed: for the Lord thy God is with thee"
(Score: 4, Insightful) by owl on Friday March 01 2024, @11:04PM
Also not the point.
The point is that the present browsers already have a "built in" language (Javascript) that can be used, to some extent, to customize them, via at least 'bookmarklets'. And only a few of us geekier users even know bookmarklets exist, a smaller subset use one or more that someone else wrote on a regular basis, and an even smaller subset actually have written one for a particular customization we wanted.
Given that fact with current browsers, a browser with a Lisp interpreter for customization is not likely to see enough uptake to more than a mere curiosity.
(Score: 5, Interesting) by Mojibake Tengu on Friday March 01 2024, @07:19AM
Since the orthodox web industry client browsers made by corporations are systematically taking away freedoms from users, and of these, freedom of information in the first place, locking them in advertising feed cage and political control platforms at the same time, I appreciate every attempt to restore power to the user.
In digital paradigm, ability to program a thing provides freedom and looses outer control bond.
I praise and bless this project. We need more of such. We need web browsers become a commodity.
Rust programming language offends both my Intelligence and my Spirit.
(Score: 4, Funny) by DannyB on Friday March 01 2024, @03:27PM (8 children)
Will the EMACS phenomena happen to this browser?
Every other application that you might need was written in to Emacs. Email client. FTP. Telnet. You name it. It almost as if Emacs could be the operating system. (maybe it should be?)
Why did this happen? Because emacs users could not figure out how to exit the editor and ended up having to rewrite all their other apps as emacs extensions.
What if the browser could be the "OS".
Don't put a mindless tool of corporations in the white house; vote ChatGPT for 2024!
(Score: 4, Funny) by sgleysti on Friday March 01 2024, @06:10PM (1 child)
Emacs is a good operating system, but it could use a better text editor.
Sadly, this is happening for a lot of things. It turns out, what we really needed in software was to add more layers to our software stack, write everything in poorly designed interpreted languages, and host everything on remote servers. Welcome to the cloud.
(Score: 2) by DannyB on Friday March 01 2024, @09:07PM
Emacs is sufficiently flexible to use it as a good OS and make it emulate VIM.
Problem solved. Everyone happy.
Don't put a mindless tool of corporations in the white house; vote ChatGPT for 2024!
(Score: 3, Funny) by hendrikboom on Friday March 01 2024, @06:17PM (1 child)
Same happened to vim.
It's just a question of which editor you got locked into first, and are still stuck inside.
(Score: 3, Funny) by DannyB on Friday March 01 2024, @09:11PM
If you are able to start another instance of the shell from within the editor, then all is good happiness, rainbows and unicorns.
Assuming you know how to exit from your shell, you will be back in the editor. If you can't exit your shell, you can always start another instance of the editor.
I won't even mention tmux (or screen / scream). (oops, I said I wouldn't mention it)
Don't put a mindless tool of corporations in the white house; vote ChatGPT for 2024!
(Score: 4, Funny) by Reziac on Saturday March 02 2024, @03:01AM (3 children)
"Why did this happen? Because emacs users could not figure out how to exit the editor"
Where is the mod for "+1, Literal Truth" ??
I only tried emacs once. I could not figure out how to exit the durn thing and wound up doing a hard reset to get loose from it. I am quite convinced emacs was built from bear traps.
And there is no Alkibiades to come back and save us from ourselves.
(Score: 3, Informative) by RS3 on Saturday March 02 2024, @06:12AM (1 child)
It's been a long time since I tried EMACS, but IIRC I had to ALT-F2, login, kill -9 [EMACS process ID].
(Score: 3, Funny) by Reziac on Saturday March 02 2024, @06:26AM
I made the mistake of attempting it from within my first foray into linux.... babes in the woods... bears....
And there is no Alkibiades to come back and save us from ourselves.
(Score: 2) by DannyB on Monday March 04 2024, @06:37PM
It was so difficult I could not bare it.
But then Macintosh Common Lisp (oh, about 1990 ish) had a GUI editor called FRED. (Fred Resembles Emacs Deliberately) Every key binding was programmable, of course in CL. But since it was a GUI, you could move the window around, pick File-->Save, and close it.
Ooops, but I forgot to evaluate it first, so now I have to re-open that file . . .
Don't put a mindless tool of corporations in the white house; vote ChatGPT for 2024!