Inferno 4 Available for Download
Tarantolato writes "A new preliminary public release of the Inferno distributed operating system is now available for downloading from Vita Nuova's website. Inferno is meant to be a better Plan 9, which was meant to be a better Unix. It can run as a standalone OS, as an application on top of an existing one, or even as a browser plugin. Also, all of its major components are named after things related to hell."
I hate to bitch, but why put that last link in the article description? I assume its purpose is to add some humor, but seriously, horrid web design isn't that funny. A little more discretion should have been used here when posting links to the frontpage of slashdot. Think before unleashing slashdot's hordes on unsuspecting people and wasting their bandwidth. Even nutballs like this guy deserve this courtesy.
It amazes me how bad open source people are at marketing. Why make your project, which requires a huge amount of excellent thinking, the butt of jokes?
Why give a name to your open source project that will cause those who have less than complete technical knowledge to feel uncomfortable about adopting what you have done?
One question is, how bad can it get? Will there one day be a "Worthless" project? There is already a "Waste".
The funniest bad name for an open source project was "Killustrator". It's easy to see how the name was chosen. Everything in KDE began with a K, as much as possible, and Killustrator is an open source illustration program. It didn't seem to bother anyone that the first syllable of the name was "Kill". I can imagine the Killustrator author thinking how convenient it is that the word illustrator begins with a vowel; that makes it easy, just put a K at the beginning, and you have a name!
The name Killustrator gave everyone a million dollars worth of laughs, and did perhaps $10 million damage to Adobe's reputation when the CEO of Adobe overreacted, saying people would confuse Killustrator with Adobe Illustrator.
Do open source authors believe that there are only a few concepts available, not enough for everyone? Why copy the FreeBSD devil idea?
And Why did the FreeBSD project adopt that idea? I know FreeBSD is an excellent OS, and the favorite BSD for ISPs, but there are some who will be discouraged by the amateurish baby red devil marketing scheme.
I got a better question. Why does everything have to be commercialized? Can't we have some FUN with our software without having to pay a tribute to the marketing gods? Some of us simply don't care, to put it bluntly.
Read some of Stallman's rants about the Plan9 license(s). Vita Nuova's license has the same problems.
How did you get the time to read his rants about the Plan 9 license? I'm still working on his rants from 2002.
But seriously, what necessarily makes a license that might not be Stallman compliant a problem? Can't it just be different? As far as I can tell, he's not some sort of supreme licensing authority. Also, he doesn't have the power to actually enforce his ideas on what's GPL compatible or incompatible; that would be something for a court to decide pending that they also find the GPL to actually be a valid license.
Until Slashdot fixes the funny modifier, use insightful or interesting. The poster knows your intentions.
Maybe these folks don't give shit about marketing ... they just do it because they like it. WASTE is a good name IMHO - funny reference to Pynchon's Crying of lot 49. I don't think WASTE author wanted to 'take over the market' with his prog either.
FreeBSD's beastie ... yeah, sure, the OS logo is the first thing everyone would consider when choosing a solution (yahoo seems very much discouraged by chuck - name for beastie btw -, as does NYInternet, Pair Networks, netcraft itself or the apache project).
Linux was criticized for the 'idiotic' looking penguin as well, remember? Yet I don't think that its market entry was very much hindered because of its logo.
Is this what I think it is?
A multi-platform OS, it can run standalone, as a virtual machine on every major OS (including every linux distro) and give full blown access to the system? Plus it can run in a sort of transparent mode so you can port your app to it and have your app appear to be a native app?
From the description it sounds like it's multi-threaded and designed with distributed systems (read cluster) in mind.
Plus it already has a language designed by the fathers of C and C cross compiler (wonder how well it works, also being designed by the fathers of C).
So in one sweep we have a solution suitable (sounds like it carries 1mb ram overhead) for most applications. Anything written for it magically runs on every major platform, it's highly scriptable and carries most of the magic of Unix packed with it wherever it's run from.
If it's significantly faster than Java I'd say we have a solution to the multi-distro problem as far as apps go.
I think that the people who work on these projects are not "market oriented." They do what they do because it is fun and they probably could care less if some manager dude thinks the name of the software will offend or drive away the potential clients. Maybe it's supposed to drive away the people who lack a sense of humour. /* flaimbait start */ Let them use microsoft products /* flaimbait end */
And besides, I don't think they copied the FreeBSD's devil idea, I think they got their inspiration from Dante Alighieri
I haven't finished RTFA yet, but from the quick overview, this looks outstanding for one particular item: it runs as an app or as the entire OS!
When's the last time you saw an app so well developed that it ran on almost any platform - not to mention as its own OS.
At this point, I don't even care what it does, I think that part shows a level that many other applications need to strive for.
--- "To ignore race and sex is racist and sexist!" -- Jesse Jackson
Java compiles to native code. Just because the translation is done at program startup doesn't mean it is slower. In fact, because of this, it can perform optimizations that couldn't be used in a C compiler (optimizing for specific CPU's, etc.).
The problem with Java is that its GUI toolkit is slow.
In any case, with a file sharing app, CPU efficiency is certainly not an issue. You should never worry abot CPU efficiency if you don't need to, as you will only be making things harder on yourself.
And, finally, writing portable C/C++ code is really not that hard if you know what you are doing. Certainly you'd be better off with that than you would be asking all of your users to install an extra OS over their current one just to run your program. Really, the most important factor in making file sharing successful is to get lots and lots of users, and most of those users are going to be people who have absolutely no idea what an operating system even is.
Don't be assanine, he's allowed to give his advice and that's all he is doing. Licences aren't rejected just on Stallman's say so but because, more often than not, any problems that Stallman points out are potentially serious; whether for the developer or the end user.
I'm getting really bored with this relentless Stallman bashing on Slashdot. I wouldn't mind, but his views are often misrepresented, deliberately or not, and the myths are perpetuated. As in this post by Illuminata, a well known tactic is used -- misrepresent RMS as some pseudo-diety by presenting his actions as having more significance than they actually do; then, point out how ridiculous this is, thereby causing readers new to the concept of Free software to dismiss his advice all together.
Wrong. Compilers do not need separate interface definitions. They might just as well use the source files and find all the definitions there.
There is actually a very good (programmer-centric) reason for doing having separate interface/implementation: If you want to remain completely (binary or source) interface-compatible you just lock down the interface file. If the language is strongly typed and pedantic about matching type/function/value definitions exactly it will complain if you accidentally change the declaration of a function (this is particularly easy to do accidentally in type-inferenced languages like ML). Thus, you can ensure interface compatibility in this very simple way.
(Of course, in C/C++ this is not nearly that useful because compilers usually don't actually check any of this. But it works very well).
HAND.
This is unrelated to whether or not you require a separate interface file. The reason that the forward declaration exists is that you cannot declare circular types (such as linked list elements) without them. In all other cases, you can just sort the declarations topologically and write them out in that order.
Besides, what you're saying is true even of "properly designed languages" like ML. Just try:It doesn't compile, but it DOES work if you use: (note the and)
So you're basically talking about a syntactical problem in C/C++ which forces you to declare (textuall) things in a topological order.
Making up a statistic is never a good way to argue a point.
Besides, nobody said anything about forcing you to use separate interface/implementation. I just said to it could be a good thing to use it and have it be supported by the compiler.
In my preferred language, OCaml, you have the option of having a separately declared interface (a
By the way, since you brought them up, declaring a proper interface is much more important in type-inferencing languages, since even tiny
changes to code can cause completely different types to be inferred. For example, in OCaml:f and g have different signatures even though the difference is tiny. If you're interfacing to binary libraries it helps immensely to know that the library would not have compiled if such a type-altering change has occurred in the "hidden" code.
You call that intelligent? Instead of just having the compiler do it? It already knows all about type aliases, what types are compatible,
etc. etc. (i.e. all the stuff that makes checking such things using a postprocessor extremely error-prone).
HAND.
No, I think mistake that Bell Labs made was to charge everybody (including Joe User, the hobbyist) for the OS. Nobody could download it for free and try it out. You had to pay for it.
If I'm a hobbyist and just want to try something out, I don't feel like shelling out $100 for something that seems quite esoteric.
Basically, BL's desire to milk it completely destroyed Plan9's chances. Couple that with Linux's surge, and Plan9 was doomed.
Later, much later, they released it for free, but by then it was too little, too late.
Actually, that's not a misfeature, but a fundamental (and desirable, I think) part of the way that channels work. The point is that, unlike pipes, channels have just a single endpoint. Any process can use that endpoint for reading or writing as it likes - the runtime system will sort out the rendezvous.
So there's no real concept of a channel being "between" two threads. It just exists, and processes use it to exchange data. If a reader of a channel gets killed off, who is to say that that is not intentional?
Channels are a local thing, in the same way that function calls are a local thing. You can use them to structure your program in a similar kind of way that you might use functions. If you want to make one section of your program reslient to another sesction crashing, then channels are not the way to do this - you can use the namespace, which does provide such notification, instead (this also lets you distribute functionality across machines).
This is realistically commercial software with a "demo" license. You can't do anything serious with it. (Compare to Perl/PHP/Apache)