Fling OS - Kickstarter project
Re: Fling OS - Kickstarter project
Yes I came across your project when doing Cosmos. Good luck with yours! Maintaining backwards compatibility is a tough one!
Good luck with your project and many thanks. All support is appreciated.
Good luck with your project and many thanks. All support is appreciated.
Ed Nutting
"A computer does exactly what it is programmed to do. Nothing more, nothing less." - At a high level, you can blame other people (usually interns ). At OS level, I guess we just have to blame the firmware devs
"A computer does exactly what it is programmed to do. Nothing more, nothing less." - At a high level, you can blame other people (usually interns ). At OS level, I guess we just have to blame the firmware devs
Re: Fling OS - Kickstarter project
Haha that was a while ago, I haven't been apart of Cosmos for two years is it now? I can't remember, I moved towards my own Kernel and tools and never looked back. That it is, but it's nice to have because then you can write the code once for a program, and know it will work on future version after the code changes a bunch... Unless of course you remove a function..EdNutting wrote:Yes I came across your project when doing Cosmos. Good luck with yours! Maintaining backwards compatibility is a tough one!
Good luck with your project and many thanks. All support is appreciated.
Cheers!
Matt
Re: Fling OS - Kickstarter project
Haha I just meant I saw links to your pearos project from the Cosmos forums and stuff
Ed Nutting
"A computer does exactly what it is programmed to do. Nothing more, nothing less." - At a high level, you can blame other people (usually interns ). At OS level, I guess we just have to blame the firmware devs
"A computer does exactly what it is programmed to do. Nothing more, nothing less." - At a high level, you can blame other people (usually interns ). At OS level, I guess we just have to blame the firmware devs
Re: Fling OS - Kickstarter project
I like to see some clean description of what and how works within your system. But if you want to get it precisely, then it would take a lot of words. I have such attempt completed in one hundred and half kilobytes here, so you can grasp a bit about system description after some reading.EdNutting wrote:What precisely would you like to see?(I) expected to find an architecture description
Why do you think it is useful to hide our conversation?EdNutting wrote:Drop me an email
But your goal is to show to others how simple an operating system can be, isn't it? And having such a goal in mind you complain about "an awful lot of different things"? You should understand from the beginning, that to create "reference operating system with full technical documentation, reference articles and tutorials for all aspects of the Fling OS code" you will need to spend really a LOT of time. And if you will complain - your goal is compromised a lot and may be it would be more honest to declare much simpler goal. At least I have some feeling of an empty advertising instead of really serious promise, but I hope you can beat me with strong argumentsEdNutting wrote:"Architecture specification" means an awful lot of different things so I'm not entirely sure what you mean.
At least there are some C# files and you can describe their purpose. And of course, it is better to show how the files fit in a high level picture of your system.EdNutting wrote:API spec? I only have a core kernel at the moment without a process manager, executable format or API so there is no API to spec out as-yet.
You've just said the same about Linux, but with intention to show how badly documented it is. So I think when the goal is to get some really useful description then sentence like "It's a pretty obvious code/file structure" seems a bit crude.EdNutting wrote:Code structure spec? It's a pretty obvious code/file structure given the limited amount of code there.
We can discuss a meaning of some words you have used, but it will lead us to nowhere. I just had some hope to find a bit of examples that can show me your description approach. But have found nothingEdNutting wrote:Sorry but what exactly have I promised that is missing? I have said what I intend to create - reference articles and tutorials - but as clearly stated, they are yet to be created.
It's a good starting point, but it is far from complete description. And I hope you know why (just remember Linux).EdNutting wrote:Each namespace has a summary and a reasonable number of methods and classes also have remarks added.
I do not want to discourage you from creating really good OS description, but I hope you understand the amount of work to be done and will not end with some tricks to hide the missing description within a lot of words like "Sorry but what exactly have I promised".
Re: Fling OS - Kickstarter project
You seem to think I have no understanding of what system description is. I do, enough that I know it means a lot of different things to different people. Anyway your example shows what you think an architecture description is. And from a brief skim reading, I see that the document is laying out the entire design of your OS, including description of advantages and disadvantages of different approaches to every aspect. Fair enough. However, I would like to point at a number of things:I have such attempt completed in one hundred and half kilobytes here, so you can grasp a bit about system description after some reading.
- Your OS appears to be tackling a number of (what you consider - I will remain neutral on specific things) issues with OS design. My OS does not attempt to break the mould, so to speak. My OS is simply aiming to document existing approaches. As such, this cuts out most of your "The goal" section from any document I would write.
- Potential usage and business target are both, in one form or another, stated on my website. I would, however, say yours belong more be in a business plan, not an architecture document.
- Architecture - Right well now we get to something more interesting.
- Your High-level view documents are what I have planned for my Languages / Design category of reference articles. (Currently include Kernel Designs, Standard Libraries, Objects and Pointers).
- Your 100% Java section is not relevant because my actual articles should be language independent. The Standard Libraries article will cover a description of what is needed from a standard library for a basic kernel. Further, my samples will be in C# but any programmer worth their salt can translate.
- Method calls - these are generally set out by your compiler and/or language spec but I will consider adding documents to my ref articles to cover this - thank you for the suggestion.
- Data Structures - I do already have an "Objects and Pointers" article which will cover at least half of that. I will consider what the scope of the article should be and maybe add another article to cover anything I miss out.
- Memory management, Hardware Management, Task Management and Security will all be covered in currently planned or future reference articles and tutorials. (What is currently planned is dependent upon what Fling OS currently has as features).
- API Compliance is an irrelevance at my current stage. I will be laying out articles for talking about task management, EXE formats, ABIs and APIs when Fling OS gets that far.
- Technologies - Assembler and Compiler will only be mentioned briefly in my articles since they are not part of the kernel itself. I will cover bootloader, system images and debugging/testing.
- Most of the rest of your article is again specific to the issues you were trying to solve and are not exactly relevant for my project.
I don't, I just know how long a conversation about architecture specs can get so didn't want to thoroughly pollute this forum.Why do you think it is useful to hide our conversation?
No. An OS is far from simple. My aim to is make OS development accessible and provide documentation. That is not the same thing as trying to make it simple.But your goal is to show to others how simple an operating system can be, isn't it?
My statements were not complaints. They were questions. I was trying to determine what it was you meant by the very generic term that you used. As it turns out, what you meant is a lot of what I have already laid out as planned articles on my docs website.complain
I am well aware. I have spent 5 months getting to this stage and am now ready to start drafting and writing up fully my reference articles and initial tutorials. This I expect to take me till March next year. I have previously worked on private projects which I have documented to the nth-degree and they took a long time too.a LOT of time.
I would like to respond with the fact that C# is a classed based system. And the files are named by the class name. Each class does have its own description of what it does. The reference articles which cover overview will cover showing what files do what etc. Likewise tutorials will explain the structure of my code as an example to others.At least there are some C# files and you can describe their purpose. And of course, it is better to show how the files fit in a high level picture of your system.
What?! How on earth did you get the impression I used the same argument against Linux and for my OS. I said Linux was horrible. You can re-read my original paragraph for yourself. Plus their codebase is far from small or limited. I would hasten to point out that my codebase sits at a mere 308 files in 6 clearly defined projects, not linux's millions of lines. Furthermore, my code is 70% commented - 30,000 lines of code with 21,000 lines of comment (approx.). That's miles better than anything Linux has, even for just its core code. (And a lot better than any other OS I've found).Haha Linux? Documented? Hardly... Linux is a fully-working, optimised, production OS. It has little inline comments, very few function headers and descriptions and the code is renowned for being unreadable a lot of the time.You've just said the same about LinuxCode structure spec? [Mine is a] pretty obvious code/file structure given the limited amount of code there.
Okay I accept your point entirely. Unfortunately, unlike articles, one does not get to go back and edit/readjust/extend things days or weeks later. I agree it was a crude response, but hopefully you agree, nobody is perfect. (I could also have given you an excuse related to having been typing on my phone but I think you wouldn't take to kindly to it.)useful description then sentence like "It's a pretty obvious code/file structure" seems a bit crude
Hopefully it is clear now that the vast majority of what you consider to be missing / undocumented is planned to be documented in my reference articles or tutorials. As for examples of my descriptive style, I have a number of articles online that you could look at to get some sort of idea (though you ought to look at my more recent ones not the ones from when I was 13/14). Check the Kickstarter project for my profile which has links to relevant sources.
I would have launched the Kickstarter project later when I had more to show, but the timing of things (my internship ending and website bills coming through) meant that I needed to raise at least some funds this side of Christmas. Furthermore, it seemed pointless to run a Kickstarter project for only a tiny amount of the funds and to then have to run a whole new one again in 12 months. The Kickstarter project will give me enough funds to keep it running for at least 3 years and generate promotional material both online and at uni which will get more developers involved.
It's a good starting point
Agreed.
Further agreed. I have solved the primary Linux source-code problem ("no inline comments or function descriptions) since I have full inline comments for every piece of code (I have now added but not checked-in yet (due to my own form of review process) comments for all the USB related files). And as already stated I have full XML doc comments. Further to this, as I write my articles, I will also go back and extend the comments to include references to sections of my articles that are relevant, thus further enhancing the usefulness of both the inline and article forms of documentation.but it is far from complete description. And I hope you know why (just remember Linux).
I do understand the enormity of the task I am undertaking. However, I dislike you calling my sentence a "trick". My "sentence" was in fact a direct question - I requested from you precise examples of what you thought I was missing (some of which you have now provided).but I hope you understand the amount of work to be done and will not end with some tricks to hide the missing description within a lot of words like "Sorry but what exactly have I promised?".
You call my sentences "tricks". Well, I would suggest in future that when you hand down criticism of others (especially in slighting, one-line sentences such as yours) that you expand your criticism to something useful and constructive rather than just plain rude and derogatory.I've expected to find an architecture description, but even promised articles are missed
Anyway, thank you very much for your continued discussion of this. You have brought up a couple of useful things to add to my list of articles. Cheers,
Ed
Re: Fling OS - Kickstarter project
This is sort of what I meant by not taking negative comments/feedback too seriously. You will end up spending a lot of time typing up messages that could be better used coding your OS.
Although in embryo's case, I don't think that English is his primary language, so you may be picking up some "animosity" that wasn't necessarily intended...
Although in embryo's case, I don't think that English is his primary language, so you may be picking up some "animosity" that wasn't necessarily intended...
Project: OZone
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott
Re: Fling OS - Kickstarter project
I'll be really glad to see your efforts completed.EdNutting wrote:Hopefully it is clear now that the vast majority of what you consider to be missing / undocumented is planned to be documented in my reference articles or tutorials.
There is an entity that often misses statements of young and agile people. The entity is called Responsibility. It is very easy to tell us about Martian cities that you will build if provided with adequate funding. And after some time is passed it is always possible to point at the old plain "serious problems" you can't overcome and to tell that you have made all the possible but now sorry, you should go to another business. May be it is just a youngster's lack of experience, but often I have noticed such behavioral pattern when somebody is trying to hide the lack of planning and the excessive wish to do less and to get more.EdNutting wrote:You call my sentences "tricks". Well, I would suggest in future that when you hand down criticism of others (especially in slighting, one-line sentences such as yours) that you expand your criticism to something useful and constructive rather than just plain rude and derogatory.
That's my attempt to "expand my criticism to something useful". Or at least some explanation about the words I have used.
Re: Fling OS - Kickstarter project
@SpiderTL Perhaps but there is a difference between my being discouraged by Embryo (which I am not) and my attempts to get him to justify his short, one-liner. Furthermore, my stated aim is to educate people. Having had a high-quality education to date, I feel it necessary to try and explain to Embryo where is going wrong.
@Embryo I think perhaps SpiderTL is right, English isn't your first language. Which perhaps explains why you don't understand what "expanding on your criticism" means. It does not mean, "write a paragraph to suggest an entirely separate issue (aka responsibility)", it means "provide further examples to back up your original point and provide suggestions as to how those issues could be improved". Perhaps now you can see how one is significantly more useful and constructive than the other? For instance, what makes this current paragraph a piece of constructive criticism and not just annoying criticism, is that I am about to give you an example followed by a useful suggestion. When you originally stated "even promised articles are missing", I suggest you should also have said that what you expected to see was "the architecture design" and that you think I should have "added it to my list of reference articles" and provided your example document. Rather than leaving that as information to be extracted later and not just leave your sentence at the short jab that it was.
As for your paragraph on not taking responsibility well, I suggest that to not be taking responsibility, would be to not respond at all. I asked for feedback, you gave me a rude comment and yet I still attempted to work with you to gain more information as to what you objected to. After receiving that< I pointed out what you had missed but also acknowledged what I had missed (and have since added it). You asked me for a strong set of arguments, so I gave them to you, and your response, instead of saying "good show sir, you have addressed my complaints", was to say I am not taking responsibility. I would also point out that, a paragraph on responsibility is completely beside your original point, clearly it is not an expansion of your original criticism (no matter how much you try to say it is in separate paragraphs).
In future, please take a constructive approach to online criticism, not an annoying one. It works a lot better (there's my piece of wisdom from years of online posting )
All the best,
Ed
@Embryo I think perhaps SpiderTL is right, English isn't your first language. Which perhaps explains why you don't understand what "expanding on your criticism" means. It does not mean, "write a paragraph to suggest an entirely separate issue (aka responsibility)", it means "provide further examples to back up your original point and provide suggestions as to how those issues could be improved". Perhaps now you can see how one is significantly more useful and constructive than the other? For instance, what makes this current paragraph a piece of constructive criticism and not just annoying criticism, is that I am about to give you an example followed by a useful suggestion. When you originally stated "even promised articles are missing", I suggest you should also have said that what you expected to see was "the architecture design" and that you think I should have "added it to my list of reference articles" and provided your example document. Rather than leaving that as information to be extracted later and not just leave your sentence at the short jab that it was.
As for your paragraph on not taking responsibility well, I suggest that to not be taking responsibility, would be to not respond at all. I asked for feedback, you gave me a rude comment and yet I still attempted to work with you to gain more information as to what you objected to. After receiving that< I pointed out what you had missed but also acknowledged what I had missed (and have since added it). You asked me for a strong set of arguments, so I gave them to you, and your response, instead of saying "good show sir, you have addressed my complaints", was to say I am not taking responsibility. I would also point out that, a paragraph on responsibility is completely beside your original point, clearly it is not an expansion of your original criticism (no matter how much you try to say it is in separate paragraphs).
In future, please take a constructive approach to online criticism, not an annoying one. It works a lot better (there's my piece of wisdom from years of online posting )
All the best,
Ed
Re: Fling OS - Kickstarter project
@EdNutting I hope that your skill of writing extended lessons under the title "how to talk with me" will be used to write really good OS description.
Good luck in your endeavor.
Good luck in your endeavor.
Re: Fling OS - Kickstarter project
For those who may be interested, a preliminary version of my CPUs article is now available here: http://docs.flingos.co.uk/html/8e917313 ... 9a2acc.htm
As I said this article is only preliminary so please give any constructive criticism that you have and don't expect it to be perfect! Enjoy and please give me any feedback that you have.
As I said this article is only preliminary so please give any constructive criticism that you have and don't expect it to be perfect! Enjoy and please give me any feedback that you have.
Re: Fling OS - Kickstarter project
What are the "Reset Ops" that you are referring to? The only way, other than the keyboard and ACPI that I know of is a triple-fault.CPU reset is implemented in a number of ways. For example, the PS2 keyboard reset line has been a long-standing way to hard reset the CPU of a PC. Reset is also achieved through reset ops or the ACPI features.
EDIT: Awesome site, by the way. I can imagine how useful it will be when it is full...
Project: OZone
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott
Source: GitHub
Current Task: LIB/OBJ file support
"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott
Re: Fling OS - Kickstarter project
To clarify meaning: By "reset op" I mean an instruction which performs a hard or soft reset of the CPU. For example, some microprocessors have a soft reset op which resets the program to the start of execution and wipes temporary memory but without actually cycling the power.
To clarify my references: Yes Keyboard reset line, ACPI and triple fault are the only ways (AFAIK) on x86 (PC) of resetting the CPU. However, I don't know if ARM (or any variation) has a reset op. I do know that various microprocessors have reset ops and a number of GPU architectures have (hard) reset ops so I sort of assumed at least one or more (full) CPU architectures would have a reset op. At the very least, I didn't want to rule out the option, despite not being able to give an exact example of one.
To clarify my references: Yes Keyboard reset line, ACPI and triple fault are the only ways (AFAIK) on x86 (PC) of resetting the CPU. However, I don't know if ARM (or any variation) has a reset op. I do know that various microprocessors have reset ops and a number of GPU architectures have (hard) reset ops so I sort of assumed at least one or more (full) CPU architectures would have a reset op. At the very least, I didn't want to rule out the option, despite not being able to give an exact example of one.
Thanks!EDIT: Awesome site, by the way. I can imagine how useful it will be when it is full...