Haiku Archive

Haiku Media Kit: new and old pieces

Hello, it has been some time since my last article, in the meantime I continued to improve things out and since I changed some important parts of the media_kit, I think it's correct to notify the community about new and 'old' features added recently. This is an article mostly written for application developers, but I tried to explain the improvements made with simple words so I hope it will be interesting to anyone.

Of all the alternative operating systems from the golden days (2000-2005 or so), Haiku is one of the very few - possibly the only one - still going strong. And by "going strong" I mean seeing a ton of development seemingly without seeing a sort of definitive release. They're trying to reach zero by endlessly dividing by 2, it seems, getting ever so much closer to zero without actually getting there.

Haiku: introducing the launch_daemon

A significant new development as Haiku continues pushing towards a stable release.

Since the switch to our package manager, there was no longer a way to influence the boot process at all. The only file you could change was the UserBootscript which is started only after Tracker and Deskbar; the whole system is already up at this point.

The launch_daemon gives the power back to you, but also allow software you install to automatically be started on system boot as well. You can also even prevent system components from being started at all if you so wish.

A summary of features:

Furthermore, it allows for event based application start, start on demand, a multi-threaded boot process, and even enables you to talk to servers before they actually started.

Read the full article for a detailed description.

Be, Inc.’s 1998 demonstration video

To this very day, this BeOS demonstration video from Be, Inc. blows my mind. I'm not entirely sure about the date of the video, but since we're looking at Pentium IIs and the Intel version of the BeOS, I'm guessing we're in 1998. This means that while Windows users were barely getting by with Windows 98, and Mac users did not look at their Macs funny because otherwise Mac OS House Of Cards Edition would come crumbling down, the BeOS was doing the awesome stuff shown in the video.

Taking chronology into account, the BeOS was and is the best operating system ever made. I'm far from impartial on this one, of course, but there has never been a piece of software that generated that same sense of wonder, excitement, and exhilaration that the BeOS did. It sure wasn't perfect, but it had so much personality, such a strong identity, and even a sense of humour - the stuff we have today just can't compare. iOS and OS X are clearly designed to lock you into buying as much Apple hardware as possible. Android and Chrome OS are designed to keep you staring at Google ads for as long as possible. Windows is Windows. Linux is the same mess it's always been (I'm sorry).

None of them are about putting the consumer and technology at the centre.

When the first Haiku alpha was released, I explained how with the demise of Be, something in this industry died with it. I once had the faint, faint hope that the mobile revolution would reignite that spark of insanity, but with Apple and Google dividing and conquering this industry almost overnight, and with ARM devices being an ungodly mess of restrictions and proprietary crap, we're farther away from those glory days than we've ever been, with fewer and fewer signs of them ever returning.

The BeOS is the best example of why our industry is so utterly broken. BeOS exemplifies that the best does not win. And if the best does not win, we are being held back.

Haiku monthly activity report – March 2015

Even though Haiku may be considered a hobby project, it's been in use professionally for a while now, by BeOS mainstay Tunetracker Systems. Recently, it also launched a Haiku distribution, which in turn also forms the base for their own products. In the most recent monthly activity report, the Haiku project mentioned that another company is planning on using Haiku in one of its products.

izcorp is another company is planning to use Haiku in a commercial product. Their line of studio recording systems is currently running BeOS and Zeta, but they are working on an update to Haiku. Ithamar is working with them to get their hardware fully supported, and the changes will be upstreamed to Haiku in the coming weeks. This includes several fixes to the USB stack, the intel_extreme driver, and there could be more to come.

The activity reports details a large number of the commits from last month, so it's definitely worth a read if you want to know what's up with Haiku.

Discover HAIKU: a Haiku distribution

"Discover HAIKU" is your gateway to the world of HAIKU. Delivered to you on a premium quality 8GB USB stick, you can boot to it directly, or install it to an empty hard drive volume on your computer. It comes with a new, up-to-date version of HAIKU, introductory videos, and a mile-long list of tested, proven programs and tools that will make your adventure exciting.

Looks like it's made by TuneTracker Systems - not exactly an unknown name in the BeOS world. Still, couldn't you just download the latest Haiku nightly? I don't think Haiku has an update system in place yet, so I wonder how this 'distribution' keeps itself up to date.

BeOS and the G3 Power PC: not to be?

The very first BeOS story OSNews ever published - from 23 January 1998. Here's the same article rendered in the then-current OSNews website.

More of the fallout from Apple's decision to bump off its cloners last Fall has settled over the Valley recently, falling particularly hard in Menlo Park, home of Be Inc.. It seems Apple has been loath to hand over the documentation for the "Gossamer" motherboard line of PowerPC 750 machines (popularly referred to as the "G3" line) that began shipping last November.

In the past, Apple had been more than happy to hand over the documentation to its various motherboard designs, each having colorful names like Alchemy, Tanzania, and Tsunami. But the return of Jobs has chilled the once congenial relationship the two companies had, although both Motorola and IBM are more than happy to provide the BeOS team all the technical specs they desire.

The result for Be users on PowerPC machines (right now they're the only kind, although BeOS for Intel is due in March) is that Apple's gradual improvements in motherboard design are forever off limits, forcing them into an upgrade path (if they choose to even stay on the PowerPC platform) dependent upon the processor upgrade cards offered by companies like Newer Technologies and PowerLogix.

Steve Jobs closing off the entire company and cutting off access to its specifications is one of the four times Be, Inc. died. Fitting it is the subject of our very first BeOS story.

Programming the Be Operating System

A few years back, the Macintosh operating system was considered innovative and fun. Now many view it as dated and badly in need of a rewrite rather than a simple upgrade. Windows 95 is the most popular operating system in the world - but this operating system is in many ways a copy of the Mac OS, less the Mac's character. Many programmers and computer enthusiasts enjoy the command-line interface power of Unix - but Unix isn't nearly intuitive enough for the average end user. What users really want is an operating system that has an easy-to-use graphical user interface, takes advantage of the power of today's fast microprocessor chips, and is unencumbered with the burdens of backward compatibility. Enter Be, Inc., and the BeOS - the Be operating system.

The glory days.

‘Tis the season for debugging

Since the last time, the expression parser has grown several new capabilities. We are now able to infer the types of operands, and as such one no longer needs to set the type that one wishes the value to be returned as. A further consequence is that expressions can now return arbitrarily typed values as results, not just simple numeric values. This means that, for instance, an expression can return a data member of a class, and if that member is itself an object or other more complex type, it can then be expanded to look at its internal values.

I am by far not knowledgeable enough to comment on any of this - but I do know it's a number of improvements to Haiku's debugger.

Haiku progress update towards beta 1

This week I continued work on moving Beta1 forward, fixing some important and less important bugs. To make things clear about what to expect in the upcoming weeks, I will spend more time on Beta1 tasks, but I'll also continue working on WebKit. However, my work there will focus on fixing bugs, rather than adding new features.

Haiku gives some insights into recent progress towards the first beta release. Definitely worth a read if you want to keep up with how far along they are.

Haiku: Ohio LinuxFest 2014 report

As I talked to many attendees about various things like our package management, scheduler update, WebPositive progress, Wi-Fi, ASLR/DEP, and anything else I could think of, and there was an overwhelming positive energy about Haiku by those who saw it in action. By far the most common question I got was "When will the next release be out?". In the past, I would say the most common question is "Why would I ever choose Haiku over any existing Linux distribution?", so it is nice to see that there was a lot more positive energy about Haiku, as well as excitement about the next release.

Haiku Developers Discuss the Future

Adrien Destugues sent an email to Haiku developers after the BeGeistert forum, addressing their inability to get R1 out the door, and proposed that they rededicate themselves to getting a beta out ASAP. He then asks a question that hangs above the heads of all developers of alternative and hobbyist OSes: is their goal "to create an operating system that specifically targets personal computing? Or have we evolved to the goal of a fun playground for OS-developers to play around with modern OS concepts?" He concludes ... "I do think that the PC-landscape has changed dramatically since the inception of the project, and I also underscore that there is a clear lack of focus when it comes to accomplishing our current mission. I would go so far as to say that the severe lack of interest of developers into finishing R1 is a great indication in that there really hardly seems to be any place for a new (mainstream?) desktop operating system anymore? Even the Linux on the desktop guys seem to have ceased preaching their gospel." That's some sober talk that's important for alternative OS fans to consider.

Haiku debates kernel switch (but it’s not happening)

A very interesting discussion is taking place in the Haiku mailing list right now. A developer has created a working prototype implementation of the BeOS API layer on top of the Linux kernel, and he is wondering if the project is worth pursuing. He's got the App, Interface and Networking Kits in good shape within a few months' work.

While there are some minor downsides to having the kits on top of Linux (or one of the BSDs), the upsides include all the drivers in the world (well, the gpu driver situation could be a tad better), a rock solid kernel that works on all kinds of devices (who says BeOS can't run on a phone, mine can), and a working BeOS clone with comparatively little effort (as a musical engineer, my biggest worry was sound system latencies, but it turns out many Linux schedulers can easily be tuned to handle the loads I expect in a BeOS system.)

I think the Haiku project made a monumental mistake in not using an existing kernel - it's simply no longer practical for a small project to keep up with the hardware evolution, handling security requirements and so on. Sad but true, and it was sad but true back in 2001.

A very interesting and in-depth discussion follows. Both 'sides' make a lot of compelling arguments, and it gives a lot of insight into decisions that went into the Haiku project, both past and present. For once, I have no clear opinion on this matter; both sides have merit, and it in the end comes down to what the actual developers want to work on (hint: it's not Linux).

Still, the developer in question will be putting up a repository of his Linux work, so we'll get to see what it's like.

Interview: Haiku developer Pawel Dziepak.

My area of interest is broadly defined kernel development. In the spring of 2013 I implemented ASLR and DEP which caused minor confusion due to "activation" of bugs that have been hidden but I think that overall it worked out well for Haiku. Later I tinkered a bit with RTM (Restricted Transactional Memory), new extension introduced in Haswells but the code will need a lot of work before it will become usable. From October to mid-January, I was employed by Haiku, Inc. to work on the scheduler and adaptating Haiku for work on systems with more than one logical processor. Among other things, I got rid of the 8 processors limit, which was quite firmly rooted in the ABI inherited from BeOS.

Great interview with a low-level Haiku developer.

Haiku improves its processor support

In a blog post from Haiku developer Pawel Dziepak he describes the work he has been doing on improving processor support. Most notably removing the 8 processor limit. From the blog post:

The main scheduler logic has been completed and now I am concentrating mainly on bug fixes, adjusting tunables and some minor improvements. I also removed gSchedulerLock, a spinlock I mentioned in my last post, and replaced it with more fine grained locking. An new interfaces for cpufreq and cpuidle modules has been created together with a cpufreq module for Intel Sandy Bridge or newer cores and cpuidle module for all processors that support C-states and invariant TSC. Furthermore, IRQs (including MSI) can be now directed to an arbitrary logical processor. Implementation of inter-processor interrupts has been improved so that it avoids acquiring any lock if it is not necessary and supports multicast interrupts. And, last but not least, 8 processor limit has been removed.

Haiku package management goes live

I'm proud to announce that, at last, the package management branch has been merged into the main development line, aka master branch. The builds and nightly images from hrev46113 on will include the new feature.

I only notice now that I should probably have given Matt a heads-up upfront, since due to the somewhat changed build process the build bot will need an update. So there might be a bit of a delay until the first Haiku PM nightly images will hit the website. Sorry for that.

Onwards to beta 1.

Haiku’s package management: the return of the hybrid

Although I have been a lazy blogger lately we haven't been lazy working on our remaining tasks at all. So, unsurprisingly, since my previous post we have reached and passed a few nice milestones. The latest one is that we're finally able to build the gcc2/gcc4 hybrid Haiku images again, including all the software needed for the official release.

While that in itself isn't a particularly impressive feat - after all we were already able to build the complete gcc 2 part before - the interesting aspect is how we are doing it.

Interesting progress for Haiku.

TuneTracker System 5 released with Haiku

This is one of those news items that's fun to write, fun to read, fun to comment on, and where no one will be able to say anything unkind. It's all just one big ball of awesome fluffiness. TuneTracker, the BeOS radio automation software, has just released something very special: TuneTracker System 5, the first version designed entirely and specifically for Haiku. In fact, it actually includes Haiku in the software package. Better yet, TuneTracker also unveiled several system-in-a-box products - which have Haiku and TuneTracker pre-installed.

Haiku gets ASLR and DEP

"Starting with hrev45522, address space layout randomization (ASLR) and data execution prevention (DEP) are available in Haiku. These two features, which have actually become a standard in any modern OS, make it much harder to exploit any vulnerability that may be present in an application running on Haiku, thus generally improving system security."