“The J operating system is primarily intended for programmers. I’ve attempted to lower the bar, so amateurs can contribute. I hope to recreate the dynamic environment that used to exist when the Commodore 64 was around and everyone was creating odd-ball software.” You can download it from this page.
No security! You can access all ports, memory and disk blocks to your hearts content. When you’re working with your own computer, security just gets in the way and makes things slow–I hate anti-virus and anti-spyware because they just slow things down. When you know you don’t have a risk, have no secrets and do regular back-ups, who needs security?
Don’t know, maybe the ones who want to ensure that their box won’t be used by every script kiddy in the network neighborhood to launch marvellous DDOS’s?
Not a problem-there’s no networking support, either.
Also keep in mind that this is principally an academic endeavor for programmers, as noted in the blurb.
Not a problem-there’s no networking support, either.
Not yet… but when there will be? Anyways, as a pet project it’s ok, really, it wasn’t my will to criticize the principle.
> Not a problem-there’s no networking support, either.
>
> Also keep in mind that this is principally an academic
> endeavor for programmers, as noted in the blurb.
It’s enough if the OS doesn’t allow every user / network connection to run home-grown programs, but only trusted ones.
Really, I agree – the whole thing seems written by a… well, strange person.
…since Bill Gates wrote BASIC
Gates wrote a version of BASIC, not the language itself: see http://www.microsoft.com/billgates/bio.asp
I’m sure many lab researchers still use DOS because they have to interact with hardware, which is difficult with Windows.
Maybe they use… hmmm… UNIX? Just guessing.
Blazing-fast compiler which can recompile everything in 5 seconds. It doesn’t optimize.
So why to make it do it in 5 seconds? Where’s the problem in making it do it better, in 10 seconds or so? Doesn’t seem an advantage to me.
Anyway, anyone is free to do everything he wants 🙂
I’m sure many lab researchers still use DOS because they have to interact with hardware
Maybe they use… hmmm… UNIX? Just guessing.
I have seen instances where people still use DOS while interacting with hardware, but I doubt that they are going to jump to J. They use DOS because they know it and they have the development tools. Virtually noone knows J and the development tools will be limited in comparison.
I’m sure many lab researchers still use DOS because they have to interact with hardware
Maybe they use… hmmm… UNIX? Just guessing.
Ehmm, for researchers I suppose DOS is just one of many items in their toolbox, like it is in mine.
Think DOS – think realtime, embedded, long-running single-task applications, where high-powered CPU’s or multitasking don’t buy you anything. Last places where I personally ran into DOS:
* Barcode scanner: (think it was DR-DOS there, btw). Basically DOS is used as a bootloader to start some custom app that deals directly with the hardware (battery-powered 286 ucontroller with software in ROM, maybe 1 meg of RAM and laser sensor in something the size of a bulky remote control, occasionally dropped on the floor).
* Process monitor: continuously read some sensors, and show on a small screen to allow process operator to adjust machinery/production parameters. Nothing fancy, just 24/7, shock-proof, dust-proof, years of continuous, maintenance-free operation wanted. No moving parts, please.
* Call center: call number, talk to people, enter some info, repeat. Reasons to use DOS: cheap, well known, does the job.
There’s still countless applications like this (and more to come), so DOS or other small OS’es used for it, aren’t going extinct anytime soon. It’s just that you don’t see them anymore. Which, IMHO, is exactly what makes a good OS: one that the user doesn’t notice.
As a former Seagate employee back in 2000. I can tell you that they still use DOS and Windows 3.11 .
Why ? Because some of the “tester” use by QC to test the hard disk are control by software written in DOS & Windows 3.11.The PCs in those tester have less than 16 MB RAM. In the manufacturing industry, they don’t fix things unless it is broken. One of the software use for testing the reliability of the hard disk run in OS/2.
In my current company, we still have some legacy program that use DOS. The PC is map to a share network drive. The program is a simple data entry program that calculate the values that are key in by the operators and sent the result to the share network drive.
I am unfortunate to be given the task to rewrite the C program in Windows VB. It is unfortunate because the documentation is lost and those programmers who work on the old program have left the company. The old program don’t run too well in Windows so we are stuck with it until I can come up with the solution.
It’s so people can hack without waiting for the compiler.
This would be nice if kept on ROM just like the OSes in old systems like the C64/Apple II, etc. Frankly, the biggest problem I see with this is the lack of SCSI support and the fact that it uses a C-like scripting system as it’s default environment. BASIC (or a modern interactive language like Python) would have provided a much nicer user environment.
You know, the Nth iteration of ITS is not likely to be any better than the first… face it, you’re not Richard Greenblatt and this isn’t 1966. Move on already.
<blockquote>There is an extension of ASCII called “J” rich text which allows colors, links, graphics and various widgets in your documents. This format is used in source code, documents, help, menus, etc.</blockquote>
Wonderful. One of the worst things about the C64 era was the proliferation of nonstandardized ASCII extensions and mutilations. (PETSCII, anyone?) What do you want to bet that J-the-encoding doesn’t share any useful commonality with either Latin-1 or UTF-8?
<blockquote>No security! You can access all ports, memory and disk blocks to your hearts content. When you’re working with your own computer, security just gets in the way and makes things slow–I hate anti-virus and anti-spyware because they just slow things down. When you know you don’t have a risk, have no secrets and do regular back-ups, who needs security?</blockquote>
First, this guy needs to use an OS that isn’t Windows or MS-DOS. ‘Security’ as in virtual memory and other hardware protection doesn’t have anything to do with anti-virus and anti-spyware programs (at least, it doesn’t have anything to do with the software sold as anti-virus and anti-spyware software). I can’t imagine how taking advantage of a hardware MMU would slow things down in any meaningful way. (No, cycle shaving isn’t meaningful.) The only way this statement makes sense is if he doesn’t really know what kind of protection a Unix-like system, for examaple, provides.
Second, the only person who doesn’t need hardware protection is a ‘perfect programmer’ whose application code will never scribble someplace it isn’t supposed to. Chuck Moore (Forth, colorForth, etc.) could make claims to that title, I doubt this guy can.
> I can’t imagine how taking advantage of a hardware MMU would slow things down in any meaningful way.
Well, you don’t have enough imagination.. The main reason why micro-kernels are slower than monolithic kernels is because the number of context switches increase, and context switch are expensive mainly due to HW protection.
Microsoft research OS’s singularity is not using HW protection to avoid this cost, so people do try to get rid (intelligently in the case of singularity) of the cost of HW protection, not just to shave a few cycles.
That said, I agree with all your other comments.
Security being not useful because you’re alone on the system, *sigh*..
Stop bashing this guys’ project! PLEASE! He’s trying to make something nice for beginners and that should be nothing else but welcomed.
I’ve attempted to lower the bar, so amateurs can contribute
Beginners should learn to program on a system with modern security and protection features. What is gained by not having these? Why is the J OS more fun to hack on because I can shoot myself in the foot more easily?
Why is the J OS more fun to hack on because I can shoot myself in the foot more easily?
By shooting yourself into foot you occasionally may gather valuable knowledge about security and protection (about what and how to do and what not) – urgently needed for beginners. IMHO relying on nowadays managed code platforms, hardware protection and so on, makes coders just lazy and irresponsible
Beginners should learn to program on a system with modern security and protection features. What is gained by not having these? Why is the J OS more fun to hack on because I can shoot myself in the foot more easily?
Check out Joel’s Law of Leaky Abstractions. The more you abstract away, the more mysterious errors pop up to scare a programmer off of programming.
http://www.joelonsoftware.com/articles/LeakyAbstractions.html
Beginners should start from the beginning: assembler and single threaded environment.
It will boost the experience and knowledge of internals. Only then the jump to high-level multithreaded code is ok.
Sometimes people are doing so dumb things only because they doesn’t know the basics.
are f–king MORONS. it is his pet project! who the f–k CARES if it has no security, no networking, no <insert>!?
It’s a HOBBY OS for people/programmers to PLAY with! good GOD, get a grip people.
you people are so goddamned narrow minded its not funny.
Second, the only person who doesn’t need hardware protection is a ‘perfect programmer’ whose application code will never scribble someplace it isn’t supposed to.
I can’t believe the folks here bashing this guys’ security perspective. To those who are: YOU need to get a clue!
Running an OS as it is described, is equally dangerous as booting your machine with a known-original DOS disk (or bootable Win???s install CD), and typing commands at the prompt.
Security comes from knowing what is happening, and/or making sure that you do. Memory protection (using MMU) is one way of enforcing that by putting untrusted apps in their own sandbox. Using a modern, safe, language (Java, Python, …) could be another way. But what if everything you’re running IS trusted software? How? Well, because you wrote everything yourself?
Good luck hacking a box where there isn’t any software that even touches network hardware, listening or handling packets in any way. What are you risking then? Hard lockup? Reset button will fix that. Filesystem corruption? Regular backups, a spare machine for experimentation (or emulator like Bochs), a couple of read-only boot disks, and nothing can hurt you.
Anyone who thinks ‘security’ is even an issue in such an environment, obviously never programmed on old machines like ZX Spectrum or C64. Get some perspective here.
There is a reason those days are gone.
yep, and that reason is retarted end-users that havent the vaugest idea how to scratch their own A*@, let alone use a computer.
This project is just silly (although anyone who develops a hand-built OS that actually boots and does anything deserves a bit of credit). Hobbiests (sic) would do better to use a OS project that takes into account at least some of the developments in the last 30 years – and if you want to talk to hardware, well, perhaps Linux, ucLinux, or eCos might actually allow you to code in a standard language…
Besides, this guy is bizarrely ignorant and aggressively proud of his own ignorance. Yes, Stroustrup is an idiot for maintaining C operator precedence, kid. Sure, type checking is useless. No, namespaces are all ‘crap’ and anyone who builds something bigger than 20,000 lines just needs to ‘try harder to reuse stuff’.
I hate to flame a new OS. But this guy is just so obnoxious and ignorant it’s hard to avoid it.
Wow, amazing how someone can make comments as obtuse as yours and call someone else “obnoxious and ignorant”.
You definitely win the “pot, kettle, black” award for the year!
There are three things I want in an OS website.
1) Screenshots:
What dose it look like? Is it GUI or CLI? I am so shallow that I don’t want to use extremely ugly systems.
2) Documentation:
What dose it do? How do I get it to do that? In your case some info on the programming environment would be nice.
3) Live CD:
Floppies are dead. Some people don’t even have them anymore and I’m not just talking about new computers. Would you replace your floppy drive when it brakes? J might have one, depending on what JCD is.
Even if JCD is a live CD I wouldn’t try it because I don’t know what I’m getting into. I’m not saying your system is bad, I would just like more information before I commit to something.
“Download JCD (Burn a “J” CD-ROM from this ISO file and boot to it.)”
hmm.. i wonder… oh right, thats going to be totally different from the boot floppies and try installing itself to your hdd.
Have you read my comment fully? I mentioned they appear to have a Live CD but I wouldn’t try it because of 1 and 2. I WANT some decent information BEFORE I try something.
————
Booting ‘J’ Operating System from CD-ROM…
Please specify the location of the CD-ROM
drive you are booting from. (I don’t know how
to detect it.)
(P)rimary or (S)econdary IDE controller:
Unit (0=Master or 1=Slave):
————
my cdrom is secondary master
i tried all 4 ide devices (on emulator),
but can’t get further
I agree, this looks like a fun project to play around with. I could see it being used in some sort of embeddedd system or a something that will drive a device.
I don’t think that the developer wants to compete with MS Windows or anything. He just wants to have fun right now and create a place where others can have fun. I remember the excitement on the older hardware systems, and I do sometimes miss it while programming in unix b/c of it’s extreme access to hardware. It looks as if you can literally poke around with hardware. I plan on trying to install this.
Fred
All I will say is this sounds like a wonderful project, I give the guy full marks for doing this, bringing it out so we can see it and so on.
It’s a hobby OS, nothing more. It is not going to compete with any other OS out there and was never intended too. It is just someone who remembers the 8 bit days and wanted to bring that back. For me, if I want to remember those days, I crank up an Apple ][ emulator 🙂
If you want Python, PHP or whatever on this platform, then you can port/write it yourself.
If you want more security or whatever, then you have missed the point and need to re-read the article.
Personally, I won’t be downloading this project anytime soon as I don’t need what this offers, but I applaude the fact that he has done this, and I think most hackers out there should.
I think I’m fallen in love with this, and I still have to download it. I just hope it works, it’s a funny toy for geeks with an old computer collecting dust in the basement!
“But this guy is just so obnoxious and ignorant” seems to me this project was written for _fun_ so that people could have… wait now… FUN with it.
“Don’t know, maybe the ones who want to ensure that their box won’t be used by every script kiddy in the network neighborhood to launch marvellous DDOS’s?”
Write me an exploit for the J operating system, scan the entire internet for some theoretical person who has managed to write a tcp/ip stack and network card drivers for it and happens to be online, launch a ddos, and I will bow down to you as the the greatest hacker that ever lived.
1 Don’t use alphabet letters as name, they’re all used up by programming languages (and here I was hoping it really was a J-virtual machine; J as in J the interpreted APL-like programming language)
2 C? Ugh.
I agree with an earlier poster. It would be nice with some screenshots and details on what’s included. I’m just starting to learn C (only done hello world and some basic computations so far) so this project really seems great. Ah well. I guess I’ll put my plans on hold and have some faith in the future =)
“Features: No security! ”
I think that Windows is enough.
The project looks interesting, but I don’t have a spare computer.
I usually evaluate different “hobby” operating systems via Qemu, but this won’t boot under it. (From the ISO. I couldnt’ run the .exe file to produce a floppy image, since I’m Linux based).
If you are able to make it work under Qemu please let us know – it looks like fun, and reminds me of the time I used to do x86 programming under DOS precisely so I could do low-level things, like mess around with mode 13h…
Hmmn, which comments were obtuse, exactly?
I’m all for people writing OS’s for fun. But the relentless, ignorant and mean-spirited flamage all over the guys website (go read it if you haven’t already) means that he, in my mind, forfeits the usual goodwill that should be directed to a quirky solo project.
It’s not the technical decisions that get up my nose – although I happen to think that static types are good, I’m quite happy to have (polite) discussions with Python guys about the issue and concede that they’ve got some good points. I think that C++ exceptions are flawed, but have actually grovelled through two different (real) implementations in the course of a binary rewriting project, and come to understand why they are implemented the way they were (particularly historically). And so on. Everyone has opinions about these things and one of the fascinating things about computing is just how many approaches produce reasonable results.
This guy, though, just comes off like a jerk who thinks that everyone who doesn’t agree with him is ‘an idiot’ (including, apparently, Bjarne Stroustrup, who is anything but, whether you agree or disagree with him on language design).
Its a learning platform. Lets take cars again as yet another anology. Your sitting in drivers ed, they are explaining how to drive. None of this REALLY means anything.. You memorize what is supposed to happen, but you dont REALLY know whats supposed to happen unless you do it yourself. This is where practice comes in. J sounds like a really awsome environment for practicing REAL computing. You are given the reighns to your computer, and allowed to do whatever passes through your imagination. There is no network support RIGHT NOW, but who knows what someone might code up. This is the beauty of the OS, everything is open and un-restricted. I could code networking if I wanted to. No sound? no problem. Given the time, and the willpower, anything can be done.
i worked on some pic and uc programming projects before. i always wanted program pc’s like this devices. i think it is great project. and i have a word for those heroic strikers: you really don’t have any clue about what he’s doing and he’s really kind on you. you are talking when you have to listen.
lack of security: well, no network support out of the box, along with what I gather to be the ability(and wisest method) to run from flopy reduce this to a moot point. Even if a hobbiest added network support, I’d still consider it a moot point as the idea is to have a system that is simple to add to and modify, but not really run as your total OS solution.
Does it have a GUI? I noted that it required a VGA adapter, but didn’t really see anything specific as to why. Graphics based text mode? (I’m kind of doubting the GUI as that ALWAYS adds a significant layer of complexity to program design, and would really need nice handy chunks of lego-block type GUI components to ease development in a hobbiest environment. IMHO probably the biggest reason that hobbiests don’t write as much software as they used to, being the amount of time developing the GUI frontends for software, and the general modern denigration of anything that does not utilize the GUI.)
“Bill Gate’s BASIC”? If I read correctlty wasn’t MSBASIC just a slightly modified version of Dartmouth BASIC originally? as in make it runnable on a Z-80? (a little before my time…) then having MS extensions added as machines became more capable…
>>>”Bill Gate’s BASIC”? If I read correctlty wasn’t MSBASIC just a slightly modified version of Dartmouth BASIC originally? as in make it runnable on a Z-80? (a little before my time…) then having MS extensions added as machines became more capable…
MSBASIC was probably not a >>ported<< version of Dartmouth BASIC. Dartmouth BASIC was written in ASM (there is a link to the original source code on wikipedia) for DTSS (Dartmouth Time Sharing System) there is no way that the source is portable. Wikipedia also says that the Dartmouth BASIC was implemented a couple of times, considering the system it was implemented on and the higher level languages available at that time for them (FORTRAN, ALGO) and considering what languages where available home computers later (ASM, BASIC) it is very unlikely that anything written for any of the time sharing systems back then could have been ported to any early micro computer.