Where to start kernel hacking?
Steve Pampling (1551) 8172 posts |
I don’t think you want to wait if you’re talking about IT content. The usual brief legal info document: |
Rick Murray (539) 13850 posts |
I was quite surprised to see this:
Over leftpondian way, the courts keep striking this down as saying that copyright is something that is attributed to a “person” and a machine isn’t a person. In France, at the moment, there’s no copyright for AI works 1. A decision in 2015 affirmed that copyright was for natural persons, specifically requiring the imprint of the author’s personality or intellectual effort – two things that a machine not only could not achieve, but also is not necessarily unique given that the AI state and learning could be cloned to a different machine that one would expect would give largely the same answer. My own personal thought is that AI should not benefit from copyright nor should it be able to apply for patents. I still don’t see why the human doesn’t just claim the copyright. They have to tell the AI what they want, so it’s not like there’s no human actions whatsoever. 1 This might change soon, and not necessarily in a good way. |
Paolo Fabio Zaino (28) 1882 posts |
But Amazon and others had to start “rate limiting” the number of books an author can publish within a certain amount of time, to control a bit what’s happening with AI. One of the interesting challenges is that AI increases the so called “productivity”, but it cannot increase consumption (where consumption means, consumption of the products built using AI). So, the whole repercussions on the economy are about to be revealed in the next years. On one side corporations have their dream come true, less in number and more productive employees and on the other their worst nightmare becoming reality: all the layd off one opening companies and making harsh competition to the corps because now they can, using AI for all sorts of tasks a “one man band” can compete with way larger corporations and in this amount of productivity, there will be no rise in consumption, unless it’s something that was already in demand and being under-produced before. |
NancySadkov (10280) 34 posts |
Fixed branches and header’s RO size. BTW, I have no idea why RISC OS Pi comes with StrongED instead of Zap. StrongED gives heavy Emacs/Vim vibes, since you can’t use it without reading the manual (I used Emacs with SBCL+slime but never got used to it). Yet StrongED is associated with everything including task window by default. Zap was more intuitive and had task window command history. As I understand Zap is open source (https://github.com/jaylett/zap) but i’m not sure about the license, and it is in assembly which I guess prevents porting it to newer ARM. Anyway, now the bellow code should compile. OS_WriteS * &01 OS_NewLine * &03 AREA helloloop, CODE, READONLY ENTRY again SWI OS_WriteS = "Hello, world!" DCB 0 ALIGN SWI OS_NewLine b again END |
Rick Murray (539) 13850 posts |
I think that was more to be seen to be doing “something”, as the rate was set at three books per day.
Yup. Won’t be pretty. And in the meanwhile we’ll be drowning in poorly created content that will likely bury anything of worth. AI written content promoted and reviewed on sites written by AI…
That’s half the problem.
Better that then Edit…
Nothing to do with Zap, that’s the LineEditor module. It came with Zap, sure, but it works just as well independently of it. |
Steve Pampling (1551) 8172 posts |
I note the use of “so called” in there, which suggests that, like me, you’re thinking it’s larger amounts of reduced quality. |
Steve Pampling (1551) 8172 posts |
Hmmm, I can’t say I’ve actually read the manual. |
Rick Murray (539) 13850 posts |
I suffer the same affliction. The medical name is “StrongEd isn’t Zap”, or “X doesn’t behave like Y”. ;) Thing is, StrongEd can do all the stuff Zap can do, and if you thump it hard enough it can even “be like Zap” (more or less). Plus, as I mentioned, it’s being actively developed. There’s a test version kicking around to handle Huge Memory machines. I like Zap. Despite all Fred’s efforts, you’ll have to pry Zap from my cold dead hands. But I’m also aware that it’s on borrowed time and the future is not rosy. The Zap sources are available and I’ve patched a few things (as has, ironically, Fred, plus others) but there is no official maintainer. There were plans for a group effort kind of thing, but that never seemed to go anywhere. I would imagine all of this factored into ROOL’s choice of StrongEd. It’s a shame, but it is what it is. |
NancySadkov (10280) 34 posts |
Yeah. But it would make sense to include a huge button “BEGINNER FRIENDLY MODE,” which will basically turn it into a notepad.exe, so people could edit their !Boot without additional adventures. For me the main difficulty debugging the DHCP issues was the StrongEd’s cryptic nature, since I had to retype `ping router` every time I needed to check the connection. Same way Linux distros still fail to supply Joe by default, sticking with Vim, and can’t even map CTRL-C to Esc key. since Esc is the first thing a newbie will press if a program gets hung, while CTRL-C is expected to copy text, but it instead terminates the program. |
Fred Graute (114) 645 posts |
You can probably Zap-ify StrongED quite a bit by changing its keybindings. Had a go at this years ago, can’t remember how far I got though. Should still have it somewhere.
I am, of course, partisan when it comes to StrongED having poured thousands of hours into it over the past 23 years. Beyond that, however, I’m quite utilitarian about the whole Zap vs StrongED thing. The main point is that people write code for RISC OS, even if that is it with Zap. If I can help a bit by providing some fixes for Zap then that’s fine. |
Paolo Fabio Zaino (28) 1882 posts |
Fred for President! (Ermmm Prime Minister in the UK…) :) |
NancySadkov (10280) 34 posts |
Surprisingly there is an incomplete public domain C compiler made by its author to promote a book: Looking at src\targets\cg\cgarmv6.c, it actually supports ARM, but needs a separate assembler which I’m working on. It supports structs and typedefs, so should be almost complete. Unions and bitfields should not be that hard to implement in half-assed way. With some work could be a throwin Norcroft replacement, until the kernel could be updated to work with out of the box Clang. Easier access to kernel modification could attract more people who can help rewriting the kernel to C. Hope one day we will see RISC OS running on Thumb-2 or even RISC V. Still would be a nice idea to contact the subc’s author if he is okay with his compiler being repurposed for RISC OS. |
Fred Graute (114) 645 posts |
This, I think, is mainly an issue for users completely new to RISC OS. Old hands that have experience with Edit should be able to work with StrongED, at least at a basic level. Creating a beginner friendly mode would be easy. The difficulty is how to make StrongED use it by default. Yes, you could replace BaseMode but then you’d lose all the advanced features.
That’s because the LineEditor module that provides command recall doesn’t come with StrongED, in part as its licence is unclear about distribution. The module does work with StrongED, I use it myself every day. If there anything else you think is cryptic do let me know and I’ll see if things can be improved. |
Rick Murray (539) 13850 posts |
It is in Apps, it is called Edit. [arrrgh, American style punctuation, arrrgh]
We’re getting there, but actually our conventions predate most of the others. Heck, it was weirdness beginning with ^K on DOS when RISC OS 2 was kicking around.
🏅 Hero right there…
Ummm, am I the only one that spots a problem here?
Possibly not Thumb. RISC OS needs an MMU. If done correctly, and the SWI call API is replaced by something 21st century, then “what it’s running on” should cease to be a concern. ARM, RISC-V, x86, whatever. |
NancySadkov (10280) 34 posts |
Asked SubC’s author. He is okay with that: https://imgur.com/a/ViBIXt1
I maybe alone here, but partial solution seems better than no solution. The problem: get an easy answer to “where to start kernel hacking?” That is of course if you want to attract new developers to RISC OS.
Edit is easy, but is not the default, since StrongEd hijacks the text file associations. There is a reason Microsoft still keeps notepad.exe as is.
I’m pretty sure Thumb 2 include MMU. It runs Windows 11 and Linux after all. Thumb-2 is just a way to use less bytes per instruction. That way you can churn out more opcodes without overflowing the CPU cache. Good for C++ with its template inline mess. Although there was non-MMU linux, which ran on playstation 1, because it was the cheapest MIPS devs could get. |
Paolo Fabio Zaino (28) 1882 posts |
To be clear, (and surelly till last time I checked), that has nothing to do with ROOL. ROOL Vanilla RISC OS doesn’t come with StrongED. Are you sure you’re not using a 3rd party bundle like RISC OS Direct?
With RISC OS, usually novices need first to figure out how the Desktop itself work, then the File System… I mean before we get to StrongED features, I am pretty sure there is going to be quite a bit of issues for a novice.
Totally agree on this. ROOL is (unfortunately) the first blocking element in a RISC OS larger adotpion for fun and learning only as a kernel hacking experience. They are not evil, but their “business practice” indeed is causing a lot of people simply not even bothering trying, given pretty much 99.99% of folks out there would expect an Open Source OS to be buildable with an Open Source toolchain, but no… |
NancySadkov (10280) 34 posts |
I’m using the default distro for Raspberry Pi.
Well, you can interpret it “left as an exercise to the reader.” If you want easier Raspberry Pi experience, then you will just stick with Linux. I’m here just because I don’t really like the Unix way, while RISC OS seems like a nicer and more modern alternative. Then again Norcroft C is a bit old, while kernel would be more useful rewritten to C. I.e. devs without a good grasp of ObjAsm, like me, will be able to start with it quickly. |
Paolo Fabio Zaino (28) 1882 posts |
Or BSD, or many other OSes that runs on the Pi, but yes.
RISC OS is certainly NOT more modern than any of the above. If you like it thought, that is great. As an historical reference, RISC OS is foundamentaly a better implementation (and a port to ARM) of the original Acorn MOS which was an early form of microcomputer OS for Acorn 8 bit systems and designed mostly for use in British schools and homes. Because of that, RISC OS appears to new people and to people that don’t fully understand OS design as a lighter weight OS than Linux and others. While it’s old ARM 2 style code isn’t particoularly optimised for modern pipelines and HW acceleration provided by ARM, it does indeed have less abstraction layers within it’s extremely simplified architecture (which was again originally meant to be a port of Acorn MOS to the first ARM based computer). This causes what is know as “interaction low latency” which is foundamentally what has made the iPhone feels so revolutionary to many users when it first came out and when the world only saw high interaction latency environments like Windows CE and Symbian OS (and alike). To be clear, low interaction latency, doesn’t mean RISC OS is faster than X or Y (this is one of the myths surrounding the OS), in fact it’s actually quite slower than others, but, as long as you do not run badly written desktop applications (that can kill it’s low interaction latency), it appears faster given it responds immediately to a user based action. But outside of this, there isn’t much in RISC OS that can be considered competitive, and even the low interaction latency kinda lose it’s value if you think that most of it is also thanks to the complete absence of any security infrastructure within the OS.
All true, hopefully the people who have set themselves up as the protectors and custodian of the OS will manage to overcome all these (and more) limitations it presents to this day, hopefully keep maintaining a good “low interaction latency”, so that the users will keep enjoying it more. |
NancySadkov (10280) 34 posts |
As I understand it ROOL is understaffed, and you can’t easily replace the old build system. Moreover, if you replace it with GCC (which gets more and more monstrous with time), then Stollman will come explaining that it is now GNU/RISC OS. And Clang is, for all intents and purposes, the property of Apple, while LLVM is a really huge tower of babel (read bloat), so by including Clang you bring in the entire Apple’s version of BSD Unix userspace, and it can be hard to keep with its maintenance. I.e. if you throw it into the code-base as a dependency, then people will be struggling to maintain it alone. That is why I’m looking for a total alternative to this all. Something I can just throw into a project as a single header file and expect it to sit pretty there. So unless Norcroft C becomes open source and people clean it up to be easily maintainable… |
Rick Murray (539) 13850 posts |
And nothing to do with them selling the better solutions? By the way, does Notepad cope with LF terminated files yet?
Depends on the hardware.
And there I was thinking the manufacturers just wanted to be cheap-arse and have the benefit of a 32 bit processor running code from a simple 16 bit flash device. Plus, Thumb instructions are limited in what they can do, so to match the same sort of features as traditional ARM means your code will actually be larger and execute more slowly.
My uncle wrote a book on C++. Quite a number, actually, he was a uni prof. He sent me a couple. I read them and was like “nah, I’ll stick with C”.
Wah! What the hell kind of stupid UI doesn’t have a menu bar?!? Something like that? ;)
I’m not sure I agree with that. You see, “before” the big complaint was that the sources were not “proper” open source. The older Castle licence had a requirement of some sort of licence for commercial use. I fiddled with the calculator once and discovered this was basically pennies, but my god did some people complain how it wasn’t real open source, just “source available” and how this was a great impediment to people wanting to do anything with the OS. Well it’s now open source and thousands flocked in and together we all sorted out the issues and got the OS up to date… Yes, I understand that the DDE isn’t free. It’s not good, but on the other hand I think the money from sales of that goes to supporting it. Maybe one day before I cark it we’ll have a compiler that’s VFP native and can kiss bubye to that emulated FP chip that’s long beyond its usefulness. But, you know, if ROOL acquiesced and stuck up a download of the latest DDE for free… thousands will flock in and together we’ll all sort out the issues and get the OS up to date… No, they won’t. Because “oh my god, it’s wall to wall machine code, who the hell even understands that?” and “oh my god, it’s not even POSIX or anything that sort of resembles POSIX” and “oh my god the filesystem is beyond alien” and… There’s always another excuse. And it’s not insurmountable. People have in the past, including ROOL themselves, said they’d help out serious developers with things like this. Unfortunately, a little too often, those who turned up had grandiose ideas (one person even wanted to change the system to use a DOM model, I’ll leave you to figure out what that might have meant) but were ultimately time wasters. So, serious developers with an interest in progressing RISC OS: the bounties page is up there 🔝. Get in touch with ROOL, discuss stuff. Doesn’t have to be public. In fact, if you stay away from the forums you might get work done. ;)
Abstraction layers? Wassat? ;) I think vectors and service calls is really stretching the concept of “abstraction”.
I think the best example of interaction latency I’ve ever come across is in XP where, unlike 95/98/ME, when an error happens, the error box on screen and the audible “bong!” are handled by two different parts of Windows. The result of this is that an error pops up, I dismiss it, and afterwards I hear the error noise.
Exactly this. How many websites have you been to that you click an icon and nothing happens?
That’s an argument I’d love to have with Stallman, but I think (hope) even he isn’t dumb enough to think that he can apply his preferred licence to the output of a compiler and have it override the existing licences that the software is supplied under.
Norcroft is the clue. It’s not Acorn. They outsourced it. Now, clearly ROOL has the rights to sell the product, and they have the source code and the rights to maintain it. Not so long ago there was discussion here regarding the rights of the font used in the programmer’s reference manuals that might have precluded being able to do a print run of updated manuals. I think that has been resolved, but it might give an idea of what ROOL are up against. They can’t just dump stuff online and wait for somebody to complain… |
Paolo Fabio Zaino (28) 1882 posts |
There was a time I wouldn’t have been so “concise” making my point, that was the time when Dev Environments were expensive and so, even if GCC exsisted, more stuff was built with the minimal invetment of buying the dev environment. But, in this day and age, with XCode, Clang, GCC, Microsoft Visual Studio Community Edition, LCC and all of them having better C++ and/or C compilers than DDE and even better UIs (in some cases), it’s really hard to justify that path anymore. I am not trying to cause troubles to ROOL, it’s just the famous “bar”… On top of that, what I mention in my previous comment was about people being interested for fun and curiosity, not committed developers that want to make RISC OS a better OS. I don’t think we’ll ever get to the stage of committed developers if we don’t pass through the selection of “whoever fancy to give it a go” stage first. Maybe a suggestion here for ROOL would be to make it a build service, so whoever is just curious and wants to give it a try with no strings attached, can and then they can decide from there. In the case of a build service, there wouldn’t be circoulating of free copies and only commercially purchased releases could be installed locally. But then there is the 2nd problem with DDE, it’s not something you gain any benefit from learning how to use it, where else could you use it? (Yes, it does run on Linux and Windows, but it ain’t popular or even easly available on those platforms). Whatever is the “move”, it ain’t gonna bring “rivers of developers” unless, by a miracle, RISC OS becomes viral, aka something everyone want to showcase on their GitHub profile and their blog, which, if people keeps not making it fun, enjoyable, cool and we still have a centralised forum where many expect Queen’s English and knowledge of Xshire culture, ain’t gonna happen any time soon. With the videos making, we saw there are folks on the internet curious about all sorts of “exotic” platforms and they want to give them a try, RISC OS is not a common one, so people need quite a bit of help to have a “succesful first experience” and that, btw, is also something that hits folks that have used the OS in the past (so definitely not one of the most intuitive out there I’d say). Hopefully through more and more videos and, especially when more advnaced arguments will be started to be showcased (the video on how to debug DDE C++ with DDT is a clear example of what people want), so is the stuff about C and GNU Assembly (while BBC BASIC, Lua and Python did not capture the same level of attentions), then more people will start to have a succesful experience on RO and move from casual curiosity to a bit more dedicated effort, but who knows, by that time maybe people will just want AI stuff… |
Steve Pampling (1551) 8172 posts |
Were you aware that the reason StrongED is doing that is because it has been run at startup, or at least “seen” such that the StrongED.!Boot file has registered the filetypes as handled by StrongED.
They like text editors that screw around with the file in ways like changing the end of line / new line ? Yup, there’s a reason large numbers of people use Notepad++ on Windows. |
Steve Pampling (1551) 8172 posts |
Are bears catholic? |
Rick Murray (539) 13850 posts |
Good grief, it only took ’em until Windows freaking ten in 2018…
Apparently, yes. Even better, that page shouts: TO FACILITATE AN ENCOUNTER BETWEEN STUDENTS AND JESUS CHRIST’S THIRST FOR THEM Thirst for them? Dude’s a vampire.
That smells of something that would have a hundred badly ’shopped GIFs. |
Colin (478) 2433 posts |
Apparently so. Notepad has been tarted up recently. It automatically detects line endings and has tabs. It’s ok for what it does. I wonder if anyone’s stronged – or any highly configurable editor is the same. The trouble with configurable editors is that you are under the illusion that you can get them to work how you want. I ended up changing the code now I daren’t upgrade stronged. |