A Talk With Syllable OS Lead Developer Kaj de Vos 121
angry tapir writes "I recently had a chance to interview Kaj de Vos, the lead developer of Syllable: An open source desktop operating system that's not based on Linux nor one of the BSDs. There's a write-up of the interview here, which includes some background on the project. I have also posted the full Q&A, which is very long but definitely worth a read."
Re: (Score:1)
what not a bsd or gnu derivative omg shades of PARC something new?
INFORMATIVE!!
From the Syllable home page:
Syllable Server is a small and efficient Linux operating system.
Re: (Score:1)
Re: (Score:2)
Yeah! And in the picture it looks just like low-res Windows XP!
Except there is an icon labelled "console" which is kinda scary.
What console? (Score:2)
Re: (Score:1)
Well, it seems like it has become Thoms own site or something .. Not very impressive. And pretty dead.
I don't know who did most of the OS stuff over there. Eugenia is fine though her own video interest took over every now and then :)
Re: (Score:2)
Re: (Score:3)
Why use a different kernel for the server and desktop versions? Even Microsoft came to their senses on that one and started just using the NT kernel for desktops and servers.
Oh, to live in a universe in which somebody interviewed the developer and he were to answer that in the first reply. And bunnies flowed hot and cold from the tap.
Half of this already exists. Now, down to the basement with welding equipment, large diameter pipe and some more test subjects...
Re: (Score:2)
the TechWorld article [techworld.com.au]: "The developers feel that modern operating systems have headed off track; in part because of the lack of modularity imposed by commercial interests."
Re:NOT based on Linux? (Score:4, Informative)
He could have gone the Windows or OS X route and basically just layered the server services on top of the kernel as an application, but that would have required re-implementing at least parts of all those services to make them compatible with Syllable. Maybe the maintainers will do that someday, but for the time being their solution allows them to concentrate on further developing the desktop OS while still having a server os that fits into the ecosystem.
Re: (Score:2)
Instead, he went the other Windows route and has two different operating systems for desktop and server. History has shown us that this is fucking retarded. It made sense back in the DOS days with Novell, and even in the WfW 3.11 days, but not now.
Re: (Score:2)
I do not follow you ... so it is super easy to install a standard linux distribution on an "Android Mobile"??
And it is likewise easy to install "Android the OS" on a standard desktop PC?? Or iOS on a Mac or OS X on an iPAd?
Pffffftttt ... to be honest using workds
Re: (Score:2)
Sorry about it not shining me very bright. Ugh.
Eventually the two are going to have to converge and there will be wailing and wringing of hands and gnashing of teeth and so on and so forth.
Re: (Score:2)
He actually explains it in TFA, but long story short, he wanted a server OS that was compatible with both software written for Syllable AND the vast body of server oriented software out there for Linux. The only realistic way of doing this was basically customizing a distro.
Replace 'server' with 'desktop' in each instance there and you have a fine argument for creating a Linux based desktop. Why was this argument convincing for servers but not desktops?
Re: (Score:2)
Re:NOT based on Linux? (Score:5, Informative)
You seem confused. The project releases a matching server that does use Linux as the kernel. The desktop OS does not. It's based on AtheOS, a new OS from scratch with a fair amount of application support built up over the years for a minor OS.
Re: (Score:1)
From the first page:
"Syllable Desktop is an original, modern operating system design, in the tradition of the Amiga and BeOS, but built using many parts from the GNU project and Linux."
I read further noting that it is based on AtheOS for the desktop, but it says it is based on Linux in no uncertain terms.
Re: (Score:2)
Re: (Score:1)
Re: (Score:2)
Re: (Score:2)
Re: (Score:1)
It's based on AtheOS, a new OS from scratch
You seem confused. Atheos was started in 1994, and released to the world in 2000.
It isn't exactly new.
Re: (Score:2)
Nope, I'm not confused. I followed it back when it was announced and was quite interested in the KHTML port at the time. I'm referring to new as in not an fork of a former codebase. For instance, Unix was a new OS from scratch, based on the ideas of Multics. MS-DOS was not new (being based on a purchased codebase).
Different meaning of new. You could also use new to refer to original ideas, but in this case, I was referring to codebase.
And as it has grown, it has borrowed various libraries and code from
Re: (Score:2)
I think it's important to develop alternatives to
Re: (Score:2)
Bla bla bla.
It's a hobbyist OS. If you don't want to use it don't. Most people trying it out probably think it's cool to try these kinds of things out. They know and don't expect them to run all the applications they are used to or that those few that may run once things like GTK and similar is ported over will be of the latest version or run as perfect as on the latest Linux desktop.
So it's not for you. Fine. Move on.
And no. It's not based on Linux.
Re: (Score:2)
Re:NOT based on Linux? (Score:4, Insightful)
...OS/2 Warp ... but IBM screwed the pooch...
No kidding... Not to mention their marketing department didn't quite get the Star Trek based code names they were using... Half their material for "warp" looked more like bad acid trip kind of warp than "warp speed". And I have a poster somewhere from IBM that says OS/2 will "obliterate your work". Really... I don't think they "got it" at all...
Re: (Score:2)
Why assembly? (Score:1, Interesting)
Re:Why assembly? (Score:5, Informative)
To get any boost of performance over C, you have to be an extremely good assembly coder... to get a consistent 3x boost, you are either writing very sloppy C, or you're extremely good at assembly and using a pretty poor compiler/poor compiler settings. It actually takes an amazing amount of effort to beat a compiler these days, because compilers have rules to spot non-obvious stalls and such, where as the human has to rely on analyzing every bit of that by hand.
Also, a system where every component is 3x faster is still only 3x faster overall, there is no Captain Planet performance magic where by the power of assembly combined you get a 20x speed up... not to mention many desktop operations being IO limited (especially the ones that you actually notice the slow down on) and assembly doesn't magically make that faster.
Finally, someone did try it - MenuetOS - and they were able to make a quite compact and fast OS. But they also cut out an awful lot of what goes into a modern OS to do so. Syllable itself is not written in assembly like MenuetOS, which was actually the example used above.
Re: (Score:1)
Ahhh, so if you tightly define things to highly specialized cases using rules you don't communicate, it works perfectly.
I guess we just need you to write everything ever.
Re: (Score:2)
Re: (Score:2)
Most compilers (including gcc and MSVC) support these as intrinsics (which are usually fairly standardized per processor platform) though, so you don't actually have to go down to assembly level to access them (the same with SIMD instructions, which is another place you can get large gains over vanilla C) and the instrinsics are exposed as normal functions and types.
Intrinsic code is also more standard than inline assembly, which differs between compilers. You can take the x86 intrinsic code written on MSVC
Re: (Score:2)
"To get any boost of performance over C, you have to be an extremely good assembly coder..."
Well that may be true but it's a distinction without a difference. I find most serious assembly language "coders" from the CS side of the house are excellent programmers/engineers. They are going to write MUCH faster assembly programs than any compiler will generate. They understand modern coding patterns... OOP, state charts, algorithmic complexity but they adapt techniques to fit a given problem on a given machine
Re: (Score:2)
They may have wanted performance :)
And yes, asm will usually get you a 3x boost over C - and the performance diff. is cumulative, so having a desktop that's 10-20x faster may be possible.
Compilers optimize better than humans in most cases. Plus it's significantly easier to read and write C.
Hand coding assembler for anything but very small regions is a thing of the past.
Re: (Score:2)
Re: (Score:2)
"And yes, asm will usually get you a 3x boost over C - and the performance diff. is cumulative, so having a desktop that's 10-20x faster may be possible."
What?? This is like saying that if you managed to make four relay sprinters three times as fast, the resulting times on 4x100 meter relay would be 1/20 of the original. I'm sorry, but in reality, rather than magic pixie dust land, the maximum theoretical improvement is still only 3x, and unless you improve absolutely EVERYTHING by this amount, your improve [wikipedia.org]
Re: (Score:2)
Ok... so you may achieve 3x performance improvement in an outer loop and an independent 3x performance in an inner loop to achieve a cumulative effect, but this is rather irrelevant to the discussion.
There is absolutely no way you would get an overall 10-20 times speed boost for a complex bit of software like an OS from improving some code by 3x.
Re:Why assembly? (Score:4, Insightful)
Re: (Score:1)
Syllable: An open source desktop operating system that's not based on Linux nor one of the BSDs
So which is the OS - Minuet or Syllable, and what's the difference - is it something like a DOS/Windows3.11 paradigm? And my original comment applied to either - be it Minuet or Syllable - as some posters commented above, modern compilers are advanced enough that they'd beat, not just equal, hand written assembly code.
Re: (Score:2)
The difference between Menuet and Syllable is they're different operating systems. They're unrelated. Menuet was mentioned in the article as an example of another OS that wasn't based on Linux or *BSD.
Re: (Score:2)
>okay, I'm new to this obviously, and know squat about it, but what' the difference b/w MinuetOS and Syllable?
What's the difference between Linux and Windows?
Re: (Score:2)
Re: (Score:2)
Re: (Score:1)
I've done it some 20 years ago in 8085. Assembly programming is fine for small jobs, and when you have only a few registers to deal w/, and not have to monitor the statuses of various flags, which registers are being used, etc. But for modern CPUs, that have plenty of them, and where one would go nuts keeping track of what goes where, just use a higher level language, such as C or even Java, and let the compiler generate the assembly code.
This makes sense for more than one reason. Every time a new CPU
web.? (Score:3)
web.syllable.org? No! Why? Just when the irritating "www." prefix is beginning to finally die a natural death, someone thinks it's a good idea to rework it. Just let it die, ffs!
Re: (Score:3)
It's almost like websites need a default entry point so that if someone types syllable.org [syllable.org] into their browser it will just magically direct to the right page.
Oh wait that works already.
Also in what way do you think www is dying? I'd wager that it's the default prefix for >99.9% of the internet.
Re: (Score:2, Insightful)
Also in what way do you think www is dying? I'd wager that it's the default prefix for >99.9% of the internet.
If i'm typing or copying and pasting a domain name into a web browser (i.e., one i got from somewhere other than google) i always leave off the www because the results give me an insight into the company whose web site i'm looking at. If the domain name without www doesn't work at all, i know they don't know what they're doing and best avoided if possible. If it works, but redirects to the www version i know they sort of know what they're doing, but are living in the 90s, so definitely shouldn't be a first
Re: (Score:3)
Ugh. The redirect option is perfectly sensible, but putting the other thing just plain does violence to the conceptual integrity of the domain name system and I shudder at the thought that there are no people in the world who would consider one 'unprofessional' for not doing it. There are protocols that aren't HTTP, you know.
Re: (Score:1)
Re: (Score:3)
Re: (Score:2)
[......] putting the other thing just plain does violence to the conceptual integrity of the domain name system [......]
I think that's a bit melodramatic! I'm not quite sure which "other thing just plain" you're talking about, but maybe that's implied by the next bit.
and I shudder at the thought that there are no people in the world who would consider one 'unprofessional' for not doing it. There are protocols that aren't HTTP, you know.
Of course i know there are other protocols than HTTP. But if you enter a domain name or URL without the protocol, all web browsers default to HTTP - and they have done for a very long time. What we're talking about is web addresses, not gopher URLs.
Re: (Score:2)
Of course i know there are other protocols than HTTP. But if you enter a domain name or URL without the protocol, all web browsers default to HTTP - and they have done for a very long time. What we're talking about is web addresses, not gopher URLs.
All browsers yes. But these days (especially in response to adverts) people find themselves entering the data not into the browser, but a generic search bar in their phones. Many of these will start a google search without a www or http:/// [http] prefix.
But it sounds like what you are effectively complaining about is nothing more than marketing, and I'm going to have to completely disagree with you. Putting no www or http:/// [http] at the start is what looks unprofessional. It's the type of crap I expect of artists who
Re: (Score:2)
All browsers yes. But these days (especially in response to adverts) people find themselves entering the data not into the browser, but a generic search bar in their phones. Many of these will start a google search without a www or "http://" prefix.
Have you ever watch a non-techy person enter a URL into a web browser? In my experience, they all type it into the search bar, not the URL bar. I don't know how they cope with Chrome's lack of a separate search bar!
Re: (Score:3)
Fine, so the browser defaults to using HTTP. Now, if only it could tell to which HOST you intended to connect within that domain.
Oh, could it be the one serving web pages? and how should we call these World Wide Web page hosts? If only there was some sort of moniker to distinguish them from, say, a file server, or an advertising server...
-dZ.
Primary public-facing view of an organization (Score:2)
Now, if only it could tell to which HOST you intended to connect within that domain.
Oh, could it be the one serving web pages?
Every organization operating on the Internet should have a primary public-facing view of the organization through the Internet, its "store front" so to speak. As World Wide Web has overtaken Gopher, this public-facing view has come to be a web site. Therefore, the organization's bare domain should be an alias (CNAME) for the host that provides this public-facing view.
If only there was some sort of moniker to distinguish them from, say, a file server, or an advertising server...
Servers providing large file downloads (generally HTTP on a high-bandwidth plan instead of a low-latency plan) can have separate hostnames wit
Re: (Score:3)
If it works, but redirects to the www version i know they sort of know what they're doing, but are living in the 90s, so definitely shouldn't be a first choice.
Speaking as somebody who was a web developer for most of the 2000s, I had a lot of experience running pages without the www. and clients *complaining* that it wasn't there. It was an expectation that all web sites must use it. Leave it out of URLs that people type in (on your letterhead or adverts, for example) and people add it themselves. Allowing two forms of the url, one with and one without, creates unnecessary complications when dealing with cookies. Therefore, redirecting makes everyone happy. E
Re: (Score:2)
Yeah, i was a web developer for the last two years of the 2000s (and still do a little bit now and then) and i know what you mean. But it was possible to convince people by then - i'm sure it wasn't possible a few years earlier.
But this is a very good reason why it's such a good indicator of whether the people running the business know what they're doing or not - if they do know what they're doing, they'll take advice from their web dev. If they think they know better than the web dev, then they're clearly
Re: (Score:2)
Again I think you missed the point. It's not the stupidity of your clients that should influence what you are doing, it's the stupidity of your client's clients. You're setting trends at the expense of the end user .... you don't work for Mozilla now do you?
Re: (Score:2)
If I were a "web developer" I'd build two websites one at domain.com and one at www.domain.com. I'd figure out which one was the one with the dumb people and which one was the one with the smarter people, and develop the pages accordingly. If they were indistinguishable, or became that way, I would merge them back together and use another prefix,
Not using the host prefix is dumb.
Re: (Score:2)
Re: (Score:2)
.htaccess files existed in since before 2000 what was your excuse
Excuse: AllowOverride None [apache.org], as implemented by several shared hosting providers. A file named .htaccess will cause 500 Internal Server Error for any access in the same directory.
Re: (Score:2)
To summarise the article. (Score:5, Insightful)
If you're only going to read one page of this article then read page five.
http://www.techworld.com.au/article/398892/developer_q_syllable_os/?pp=5 [techworld.com.au]
To summarise the thing that makes this different from everyone else is that the parts of an actual application are split up unix style. For example instead of having two or more applications taking your photo and taking out the red eye, the desktop would have thus functionality written once and the applications will simply glue all these standard pieces together.
My only criticism to this is that we already have this in the form of libraries. Perhaps what this guy is after is something more standardised and higher level then that but I don't see how that's not doable in linux.
Re: (Score:2)
Thanks for the explanation. I went to their "about" page( http://web.syllable.org/pages/about.html [syllable.org] ) and after about 3 paragraphs of mythology and squishy backstory they still said nothing about what the project is, what problem it solves or what it does differently than other OSes. It probably says so further on but skimming didn't yield anything and it sounded too much like an infomercial to continue.
If it wasn't so late at night maybe i'd have more focus, but that page really needs a punchier intro.
Re:To summarise the article. (Score:5, Interesting)
That sounds very much like Android Intents [android.com] and Activities [android.com].
Re: (Score:2)
Didn't Apple do this in the early '90s with OpenDoc? That wasn't exactly a resounding success, in fact the only OpenDoc apps I remember just packaged the entire app into one container, defeating its purpose.
Re: (Score:1)
Also sounds a little like Apple's failed OpenDoc, from a slightly different angle.
Re: (Score:2)
this reminds me a lot of some of the papers Hans Reiser put out for his plans for reiserfs. Having things that could plug directly into the file system to handle file formats in a lower level way than libraries. like you could get a jpeg on your system and use the old way of opening an app that supports jpegs and load /file.jpeg into it.
Or you could allow a kernel file system plugin that would allow you to open /file.jpeg/raw in an image editor that would get the raw data. or it could open /file.png/raw
Interesting part (Score:3)
On indoor pictures, you want to remove the 'red eye effect' caused by the flash. On outdoor pictures, you notice the horizon isn't straight and you would like to correct that.
"These are common, but technically complicated manipulations on pictures. The correction of red eyes may be offered by multiple applications on your system. The straightening of horizons may require you to buy yet another image manipulation application.
"Why can't you plug in the camera, have its icon appear on your desktop without extra software and click on it, then click on a picture and be offered one option to correct red eyes and one option to straighten a horizon?
Clearly there are difficulties doing this, but it seems like something useful if you can figure out a way to make it work.
Re: (Score:2)
"Why can't you plug in the camera, have its icon appear on your desktop without extra software and click on it, then click on a picture and be offered one option to correct red eyes and one option to straighten a horizon?
"Why can't you plug in the camera, have its icon appear on your desktop without extra software and click on it, then click on a picture and be offered one option to correct red eyes and one option to straighten a horizon?
Because it would be stupid to do it on the camera. It's much better to import the photos onto your computer (and, ideally, into a photo management tool) before you start working on them.
You don't need any extra software to do that in Linux - in fact, f-spot, among others, will import the photos, manage them, and remove red-eye or straighten the horizon. I don't understand what the problem is.
Re: (Score:2)
Oops! Bodgy cut and paste there. That's the problem with needing extra software to browse the web!
Re: (Score:2)
Or maybe that they were giving an example of how it could be useful that functionality offered by potentially multiple programs would be accessible from anywhere in any program on your system?.
Maybe they were, maybe they weren't. But, if they were, the article certainly didn't make it clear.
Of course it is always possible to write a program that contains all functionality you need. Their point is that this should not be necessary in the first place.
That could almost make sense in an ideal world. But in the real world, to make use of that functionality, you'd have to write every application from scratch, just for that OS. So Firefox, Chrome, Thunderbird, Evolution, LibreOffice, Gimp and any of the other cross-platform software that most people use most of the time, will never use the OS's built-ins, making them redundant and pointless.
Re: (Score:2)
We already do this a lot on many OS. This is software as a component. For instance today most APIs offer a lot of really high end functions some of which would have been entire programs in the past. A good example is text areas that are in effect a simple text editor.
Video and audio codec systems like the ones on Windows, the Mac, and Linux are other examples. If you want to play back video you do not need to have very codec known to man supported in your program but instead can use the installed codecs on
Re: (Score:2)
The porblem is you don't understand what an example is ...
Re: (Score:2)
Sounds philosophically a lot like the UNIX pipeline. Late to the game as I am, I've really been impressed with what I can do with those little component applications working in concert. The idea of teaching a computer to do your job for you, without having to create the software from scratch, needs to be revived.
Re: (Score:2)
But this is what the OS API, frameworks, and libraries are for.
Why should an application farm out work to external, autonomous processes? Who's going to control priority, threading, and all sorts of complexity of organizing and managing the execution of all these different parts? Or is it expected to work as a UNIX pipeline, in series?
By having all those services available to all applications as sub-systems or extensions of the operating, applications can take advantage of them without having to manage ex
Yes, but statically compile them in (Score:3)
But this is what the OS API, frameworks, and libraries are for.
Exactly. However, I would take it a step further and suggest that the overall idea to push this much application level functionality into OS libraries should be Considered Harmful.
"Don't write your own red eye correction code, it's built into the OS! Oh, wait, now I see that your new version only works correctly with version 1.5 of the library that's not in my current OS release. Guess I have to upgrade the *whole OS* to install your new software."
Yes, this happens in all OS's (cf. DirectX). However,
Re: (Score:1)
What's needed is for libraries to be strict in their versioning, and for the
Re: (Score:3)
It has its upsides, but also its problems
Granted, this isn't a panacea. I realize that all these different apps would need to be updated independently, but I consider this ramification to be conceptually consonant with my viewpoint (ideally using binary diff patches, of course).
.app "file".
As you pointed out, Mac OS does this "right" insofar as most apps are portable to another machine if you just copy the
seriously, when was the last time you had a "dll hell" problem - while linux in particular lags behind.
Haha, Linux is exactly the reason I started seriously wishing for statically compiled binaries. When I compare, for example, getting a recen
Re: (Score:1)
In fact, the problem you mention is probably one of the reasons I don't use linux on servers - on multi-purpose machines, I usually use FreeBSD with a bunch of jails, one for each kind of service (eg. database, ma
Re: (Score:1)
Re: (Score:1)
Are you nuts? Wanna guess how much time you're gonna wait for it to load from disk? TANSTAAFL.
Re: (Score:2)
You make a good point, but I was exaggerating size requirements for effect: my statically compiled version of the svn binary was < 3 MB. I can think of no good reason why binaries like that shouldn't just be statically compiled. Besides, as the other post
seems GNU/Linux based (Score:1)
not based on Linux nor one of the BSDs
At least the server edition is based on the Linux kernel according to the about page [syllable.org].
Furthermore:
It uses the GCC compiler and many other tools from the GNU project.
So it is also, at least for a significant part, GNU based.
(Note that people often talk about GNU/Linux if they say Linux, so to be certain I show that it is also GNU based.)
Not Linux based (Score:2)
Nevermind, the desktop variant is indeed not Linux based. (I should have read the FAQ before I posted.)
Re: (Score:2)
Because 2021 will be the year of Syllable on the desktop. Get with it!