Reminds me of the <code>is_computer_on()</code> function in the BeOS API.
>Returns 1 if the computer is on. If the computer isn't on, the value returned by this function is undefined.
Developers' Workshop: BeOS Driver FAQs (Part 2) > Q: How do I use functors and vectors and deques (oh my!) in kernel space?
> A: You should not use C++ in kernel space. There is not runtime support in the kernel for it, and there are a number of subtle issues involved with doing it.
Be Engineering Insights: Using C++ in the Kernel, which details the hacks needed to get a subset of C++ running in a BeOS kernel module, and the limitations of the approach: >Be does not currently support C++ in the kernel, nor has it officially made any plans ever to do so. What I've been told (in a rather serious, fatherly tone) is that you should use C for drivers. So, with that disclaimer out of the way, and I hope without having brutally offended Cyril or Ficus (or any other kernel engineers; they're a very sensitive group), let's examine this more closely.
> It's important to mention that we often use a two- component driver model in BeOS, where a user level add-on lives in a server, with a smaller portion in the kernel. It's generally better to put all your C++ in the user level add-on and write a thin driver in C to bang registers and handle interrupts. This model can be faster (as you can perform certain operations on the driver without having to enter the kernel), more memory friendly (because the code in user space is swappable), and more stable, because bugs in the user level add-on are potentially less fatal.
> As you can see, writing a driver in C++ is more complex than writing one in C. The official Be-sanctioned practice is to write drivers in C, keeping them small and simple. However, it's important to understand the issues involved.
Because BeOS was barebone with no extra crap. Computers today are doing way more at the same time than BeOS was. This means you plug anything in and go to any website and your computer is ready to handle any type of media or interface for you.
The concept behind BeOS (being minimal and fast) is getting resurrected in the Haiku project. I've been watching it for a while and am excited for an R1 release but they are having issues with funding.
Haiku had the same problem with SVG. They come up with a new format.
http://www.haiku-os.org/docs/userguide/en/applications/icon-o-matic.html
edit: oh well, now I see some else mentioned it. nevermind then.
> You might want to use a different graphic for different resolutions.
At least some vector graphic formats allow this, e.g. the icons used in Haiku.
If you don't want to go back to windows, you might want to give PCBSD or Haiku a chance, I've heard good things about them vis a vis their usability. I also seem to recall hearing good things about Mint Linux, but I haven't ever used it either.
Quoting Dylan McCall from the desktop-devel-list:
>There are just a few things we could do with split-view Nautilus that
we cannot (currently) do with the window manager:
1. Resize the two panes.
2. Do this with a movable, unmaximized window. (Eg: do this reasonably
on a large screen).
3. Enable split view with a single keystroke.
>For #1, I think that is something the window manager could totally do. Chrome OS currently does the same and it's been pretty well regarded, and it can't be that hard to implement. (Is it?).
>#2 wouldn't be unheard of from a WM level, either, though it might be a little tricky to get right. Haiku OS has a really interesting window manager with this type of functionality: http://www.haiku-os.org/docs/userguide/en/gui.html
>#3 is arguably not too different here. You can get a split view with Super+Left, Ctrl+N, and Super+R (for the new window). That isn't discoverable, though, and it certainly won't be shown as "View extra pane" in a nice menu somewhere.
And they removed icon mode with labels on the side too.
Speaking of BeOS, every now and then I check in with the Haiku website to see how they are getting on. After about 10 years they're almost ready to release a beta version. I admire their dedication though they scare me slightly and I don't really understand why they... well, just why.
I installed it and was absolutely blown away. This was early 2000s when playing high quality video was still hard. I was able to start up four simultaneous videos and drag one window around the screen with the mouse without any shearing or losing audio sync of any of the four videos.
I remember it didn't come with GIF support out of the box, so I had to download a library which supplied it. I dropped it in the right directory and clicked Save-As in the still running art package. Poof GIF was already available as an option without even restarting the application.
I wish they could have kept it going. I've been meaning to try Haiku. Anyone play around with it lately?
I have a soft spot for the old BeOS API (now Haiku API).
http://www.haiku-os.org/legacy-docs/bebook/
http://www.haiku-os.org/legacy-docs/benewsletter/
http://www.haiku-os.org/legacy-docs/programming_the_be_operating_system.pdf
Wikipedia says so, if that's the sort of proof you need.
> The Haiku kernel is a modular hybrid kernel and a fork of NewOS,[5] a modular kernel written by former Be Inc. engineer Travis Geiselbrecht. Like the rest of the system it is currently still under heavy development. Many features have been implemented, including a virtual file system (VFS) layer and rudimentary symmetric multiprocessing (SMP) support.
Otherwise, you can look at the kernel kit documentation and realize the exact extent of what the kernel does.
BSD is still too restrictive, Haiku is released under the MIT license! ;) But does the license under which code is released really say how cyberpunk it is? I mean alright it makes sense for closed source stuff, but as long as you have access to the source and you can do any changes you wish, nothing forces you to give your changes back as long as you keep it to yourself. I love all these Freesoftware, Open-source projects the same although I can objectively say that the Linux kernel offers an enormous amount of features not present in other operating system kernels. Now the question is if you really need these functionalities for yourself ;)
Haiku will have multi-user support sometime. It will be easy to understand and you will be able to ignore it (like single user) if you want. The most recent discussion from the Haiku developers is here:
http://www.freelists.org/post/haiku-development/Multiuser-is-a-mistake
The GUI is connected to Haiku so you can't change it. See:
http://www.haiku-os.org/docs/userguide/en/gui.html
But you can change the "decor" to, for example, make it look like Wondows or Mac OS X. Very few extra decors exist at the moment, as far as I know.
You mean Haiku? http://www.haiku-os.org/
I used to run BeOS back in the day. It was SO far advanced compared to everything else that was out at the time. The Be Box hardware was stunning and so amazingly fast--loved those dual LED bar graphs with the CPU load! The innovation coming out of Be was astounding.
Sigh, I miss Be. I fully blame Microsoft's evil monopoly tactics for putting them out of business. They still pull that crap today. Why do you think Dell only offers Ubuntu on "select" computers? I'd be willing to bet that Microsoft is pulling the puppet strings real hard on that one.
I am by no means an expert, and as I said I didn't get heavily involved, but an example would be how they handle multimedia. Here is an overview of the API they have implemented. From what I understand they make it very easy to route multimedia streams between hardware and software, and between software programs. This could allow for some neat handling of audio and DSP tasks, and seems like a great environment to grow some useful tools.
>You'll see why it's BeOS/Haiku are hybrid by giving a glance at the kernel kit (a microkernel): http://www.haiku-os.org/legacy-docs/bebook/TheKernelKit.html
Eh, what on earth makes you claim that Haiku has a micro/hybrid kernel ?
It runs filesystems, drivers, in the kernel, in ring 0. What are the areas running in userspace that would somehow make Haiku a micro/hybrid kernel ?