Hacker News new | past | comments | ask | show | jobs | submit login
Interview with Haiku developer Paweł Dziepak (haiku-os.org)
76 points by izietto on May 16, 2014 | hide | past | favorite | 47 comments



Ah Haiku, my true OS love. How I miss you (and wish I could use you for production work). One of these days I'll get back into your warm, nostalgic embrace once more.

Are there many here that were BeOS lovers? I'm too young for that, unfortunately, but found Haiku when it was alpha 3, and have fond memories of playing with it for months. Having a true desktop operating system with a great architecture and quite an amazing SDK... now I use OS X and elementary OS, but I still fire up a VM now and then.

In the interview, he talks about attributes, which are basically meta-data at the file-system level. Such an amazing but simple idea, that works wonders. Having a mail client that literally works with files on the file-system is quite a different experience!


> Are there many here that were BeOS lovers?

I had two machines one my desk at one point, a NeXTSTEP box[1] and a box running BeOS. I loved them both. I spent a bit more time on NeXTSTEP because I took to Objective-C a bit better than C++. I didn't really like Mac OS at that point, but its "children" were a lot of fun.

1) we had a HP LaserJet 4 with the PS expansion and my boss ran the printer out of paper over the weekend. The NeXTSTEP box was on and announced in a very irritated female voice with a British accent "The Printer is out of Paper". This scared my boss and she had words on Monday.


> Are there many here that were BeOS lovers?

I used it on the desktop for about six months to a year (1999? 2000?). R4.5. Switched away when they sold to Palm.

I still have a copy of Giampalo's "Practical Filesystem Design" somewhere in the house. It looks like he's published it online: http://www.nobius.org/~dbg/practical-file-system-design.pdf.

I remember at the time being upset that Apple had gone with NeXT instead of BeOS (http://en.wikipedia.org/wiki/BeOS#History), but in retrospect it was obviously the right call, even from a technical point of view. It's really crazy that OS X 10.0 was such a pig on the systems of the time, but now fits in a phone...

PS: Does anyone know if Be's developer notes/articles are archived anywhere? I remember there being some really great articles from the OS developers about stuff like how the app_server worked, etc.

EDIT: Ah yes, the Be Newsletters: http://www.haiku-os.org/legacy-docs/benewsletter/index.html. These are fricking great. I strongly recommend reading them for anyone interested in OS internals.


I'm not quite sure what you're aiming for, but the Be Book is available online (https://www.haiku-os.org/legacy-docs/bebook/), and includes all the documentation for the API. I don't know that any of the internals stuff is online, though.

EDIT: Haiku also has the Be newsletters (https://www.haiku-os.org/legacy-docs/benewsletter/index.html) and "Programming the Be Operating System" (https://www.haiku-os.org/legacy-docs/programming_the_be_oper...), which actually does encompass everything I think you were looking for.


"It's really crazy that OS X 10.0 was such a pig on the systems of the time"

I was so ticked because OpenStep and NeXTSTEP were so responsive and I couldn't figure out what the people at Apple had done to it. Plus, changing how the menu[1] worked and moving the vertical scrollbar were and are grave sins as far as I'm concerned.

1) The UI rule that is used to justify using the Mac menu bar doesn't make any sense for touch, big monitors, or multi-monitors.


> I couldn't figure out what the people at Apple had done to it.

Double buffered, compositing window system.


Isn't the Mac menu bar designed to keep Fitts' law in mind? I can see how that isn't relevant for touch, but why does it not apply for big monitors or multiple monitors?


leave what I'm working on -> scroll -> scroll -> scroll -> click menu -> run mouse back to window via a lot of scrolling

NeXTSTEP had nice menu that could be detached - it was so easy


That's not what "scrolling" generally means. And if your cursor has a decent acceleration curve applied to it, the potentially long distance to the menu won't matter unless the menu is at least one large monitor away.


and what word would you use?

well, its a tad bit longer than the NeXTSTEP menu near the window and OS X doesn't allow tear-offs. I find it irritating and stupid compared to what NeXT had. There are quite a few things they dropped in the conversion from NeXTSTEP / OpenStep to OS X that I miss.


Which UI rule are you thinking about? Fitts' Law doesn't have anything to do with distance. It might be the case that you have to move your mouse pointer an inconvenient distance to get to the menu bar, but that doesn't change the fact that putting the bar at the top of the screen gives the bar functionally infinite height and makes it easier to accurately point to.


Fitts' Law absolutely does include distance: it's the observation that the time it takes to hit a target increases with increasing distance or decreasing size of target.


Ah, okay. I guess I misremembered it from when I learned it a few years ago. Thanks for clarifying!


>Are there many here that were BeOS lovers?

Yep, I recently stumbled across my Beos 3.1 copy with complete packaging, separate intel and powerpc discs, BeOS sticker and a 'We Be Geeks' plastic pocket thingy which gave me a huge burst of nostalgia.

I'm also (perhaps unsurprisingly) a fan of Haiku, while I run a Linux distro 24/7 these days and only play around Haiku in a VM, I would love to some day be able to use it for my desktop needs.

It's an uphill battle though, few developers and few porters means there's a shortage of progress and software available which most potential users would consider a 'bare minimum' these days.

Perhaps the most obvious is the lack of a modern browser, WebPositive is an attempt to rectify this but it's a huge undertaking with at the moment only one guy working on it which means progress is slow, despite him putting in a ton of work.

My hope is that a R1 release complete with package management and WebPositive working sufficiently well for day to day web use, will serve as something of a tipping point where people can start to see it's potential as a day to day OS and start using it while also developing/porting further software they feel it is lacking.


> Are there many here that were BeOS lovers?

Yes, BeOS was fantastic: it booted in 14seconds on my computer and was immediately very responsive where Linux and Windows booted in >1m20s plus they weren't very responsive (Windows was slow as a snail after the boot until it really finished booting)..

Unfortunately even though BeOS was much, much more pleasant to use than Linux or Windows (thanks to its responsiveness), the lack of applications for BeOS meant that I rarely used it in fact..

And now SSDs mean that even normal OSs feel quite responsive, so I'm not waiting Haiku anymore..

IMHO its developers made a fatal mistake when they didn't use Linux for their kernel, it meant that it would take much more time to have an usable OS and they missed their 'window of opportunity'.. Yes, I know about Blue.Eyed.OS but it was a failed project from the start due to their strange indecision about licensing..


Man, I have the song that came with R5 "5038" (BeOS backwards) in my iTunes and listen to it much more than I probably should, longing for the good old days. I fell in love on an old AMD1000 tower and it's never gone away. I spend nights up pondering what the world would be like today if Apple had bought Be rather than NeXT per thr original plan. Ah the nostalgia.

Update: Here is the song for anyone interested: https://www.youtube.com/watch?v=KlOi-L-N0X4


I owned a BeBox and used it as my desktop for several years, til it stopped posting. The use of its relational-database-like filesystem, for email and organizing my music, was such a joy.

I once wrote a _MacOS_ shareware review site for a friend, as a single, small perl script that looked through a tree in the filesystem of a BeOS box (on mac-clone hardware), and spit out html. The descriptions and reviews were just metadata columns I added to the relevant mime-types.


I loved BeOS after a co-worker at one of my first jobs waxed poetic about it. Bought the BeOS Bible and read all about it. Really wish it had been more ready for primetime. As it was, you pretty much needed the BONE extensions to make it useful on the internet. And NetPositive was a minor upgrade over Mosaic and Firefox didn't run very well, at least in my experience.

Still, you can't argue with 5 second boots. Took Apple what, 15 years to catch up with that?


> Are there many here that were BeOS lovers?

Yes! I loved to play around with it.

A multimedia OS, dumping C for C++ with a feel that I didn't had since my Amiga days, when I used to spend time with friends doing demoscene stuff and playing around with ProTracker.


> Are there many here that were BeOS lovers?

I'm one. I used BeOS 5 on my home computer for a while, a long time ago. Not for production work, mind you, but for everyday stuff and programming of my own, nonetheless.


BeOS with its database-like BFS filesystem (http://en.wikipedia.org/wiki/BeFS ) were forerunners for its time. The BFS developer Dominic Giampaolo was later responsible for Apple's Spotlight desktop search in OSX 10.4 and iOS: http://en.wikipedia.org/wiki/Spotlight_(software)

Similar to Bill Gates vision of Information at Your Fingertips with the later Microsoft's Cairo project and even later WinFS (both vamporware) http://en.wikipedia.org/wiki/Cairo_operating_system, http://en.wikipedia.org/wiki/WinFS

Microsoft's NTFS and especially its newer ReFS (http://en.wikipedia.org/wiki/ReFS ) are conceptually similar to BFS. The missing piece is a layer above the kernel driver that would have been WinFS - a shell integration and search API.


I might grant that NTFS is conceptually similar to BFS (though its alternate data streams lack types, IIRC; been awhile since I dove into that). I am optimistic that the new commandlets introduced in PowerShell 3, along with better tooling, might mean that Windows 9 starts using them more heavily, much like OS X ~10.7 started to.

But I don't agree ReFS is in the same boat. ReFS, at least as it exists today, has more in common with Plan 9's Fossil/Venti than anything else. Most notably, it explicitly doesn't support alternate streams, which is the exact piece of NTFS that is most like BFS, nor does it support extended attributes (the vestigial HPFS-era predecessor to alternate data streams). Given that it also lacks things like hard links, file system transactions (N.B., this is database-like transactions for a collection of file system operations, not traditional file system journaling), and a bunch of other things that I associate with BFS-like everything-is-a-database file systems, I don't think that comparison is apt.


  Windows Server 2012 R2 and Windows 8.1 add additional
  features when using ReFS, including alternate data 
  streams [...]
http://en.wikipedia.org/wiki/ReFS (bottom) and http://technet.microsoft.com/en-us/library/hh831724.aspx

ReFS features are still evolving and like NTFS is designed to be extendable (as has happened with NTFS).

It is of course NTFS that was involved in all the history of WinNT, Cairo and WinFS and still is the major FS. (I just mentioned ReFS for completeness)

Neither NTFS ADS nor Apple'S Resource fork and HFS+ ADS are something new: http://en.wikipedia.org/wiki/NTFS#Alternate_data_streams_.28..., http://en.wikipedia.org/wiki/Fork_(file_system)#Apple and http://en.wikipedia.org/wiki/Resource_fork

And neither the Explorer shell nor OSX Finder expose it as GUI - what a shame.

dotNet API's lags behind WinAPI, so dotNet/PowerShell just catches up a bit - nothing special.

Windows 9 will be interesting indeed. But I have my doubts... given that Win Vista had the advanced search dialog in Explorer shell. The newer Win 7 had no such dialog and generally the whole metadata idea was buried away in the slightly changed UI (removed list-group bar, changed metadata bar, folder doesn't remember state, custom added columns not saved, etc.) Even the great "Photo gallery" application has a optional download as part of their LIVE apps and Media player hides the playlist with its star-rating by default, etc. I don't comment Win 8.x.


I didn't realize that ReFS in Win 8.1 had had a meaningful revision, but that's great to hear. And I wasn't saying that ADS or HFS+ ADS were new, but rather that they're barely used, and that the relative increase in usage in recent editions of OS X indicates a comparative uptick. I don't honestly know any common use of ADS on NTFS, although I think that the AppleShare implementation on WinNT 4 used them to preserve Mac OS resource forks, but I haven't looked too hard, either.

I disagree with you blowing off the significance of ADS support showing up in PowerShell. You could already access ADS in .NET, but PowerShell it's interesting to see native cmdlets in PowerShell for working with ADS because it's the shell. To me, this indicates that Microsoft is anticipating developers will want to directly work with ADS from PowerShell, and that is interesting to me.


Can you give me a link related to the OSX "relative increase in usage in recent editions"? Has Finder gained some new features or are there new applications that take advantage of ADS/resource fork? I like to read up more and learn more about this.

OSX Finder "information window" with its metadata feature stayed almost the same since OSX 10.4 Tiger which also marked the introduction of Spotlight desktop search.

The command line shell of WinNT, the Win32 console implementation is a bit complex (http://en.wikipedia.org/wiki/Win32_console ). Win 7+ ships with at least 3 shells: cmd.exe and PowerShell as well as the GUI shell explorer.exe (+ shell32.dll).

ADS (called Zone.Identifier) are added by Internet Explorer and recently by other browsers to mark files downloaded from external sites as possibly unsafe to run.


OS X uses HFS+ resource forks for a variety of things, beginning around 10.4. Prior to Mavericks, they were used to handle ACLs, to track Time Machine metadata, to track whether a file was downloaded or native to the file system (which in turn shows up as a Finder warning when launching applications you downloaded from the Internet) and where it was downloaded from, and some other minor things. Beginning with Mavericks, they were also used to support giving files arbitrary tags, which is what I had in mind. You can read more about the implementation at http://arstechnica.com/apple/2013/10/os-x-10-9/9/ .

Notably, while all of the above use resource forks, they're not exposed to the user directly as resource forks, but rather as additional Finder widgets and behaviors.


System wide metadata and tag support is great. Sadly, both Win and Mac are lacking in this discipline.

It's ironic that Windows XP exposed the ADS in the file property dialog "summary" tab: http://www.infosecwriters.com/texts.php?op=display&id=53

Vista onwards one can only view (also in XP) and edit metadata for supported file formats like jpg, doc, docx, mp3, etc. Such formats have its own metadata format like ID3 for mp3 and EXIF/IPTC/XMP for jpeg that explorer.exe and windows media player support.

OSX uses ADS or sidecar files (on FAT/NTFS/network) but only supports 7 colors that can be mapped to tags (mean on every PC different things; similar to MS Outlook tags). http://en.wikipedia.org/wiki/Sidecar_file

Seeing the OSX sidecar files is really annoying (beginning with a dot and have otherwise the same name as the original file) on Windows. (a bit similar to the thumbs.db) The same goes for WinNT6+ that creates multi GB preview cache-database files in the users directory instead of one "thumbs.db" per directory - ultra annoying :(

It would be great, if Microsoft and Apple could agree on a new metadata sidecar standard (like XMP from Adobe, now ISO standard: http://en.wikipedia.org/wiki/Extensible_Metadata_Platform ).

My proposal: One zip file containing all XMP metadata sidecar files and file preview pictures of the current directory.


Haiku OS developer is 22!!!! I loved BeOS and had such high hopes for it. Once again superior technology losses to Apple and Microsoft.

Amazing Technology that loss (By pain factor.

1) Amiga (1985- ?) (It was light year ahead of everyone especially Apple (Toaster anyone) Drama from Commodore CEO was the cause of death.

2) BeOS (1992-2001) BeOS was to be OSX but Apple refused to pay more then $125 mill and BeOS wanted $200 mill.

3) Dvorak keyboard (1936) lost to QWERTY which was designed so poorly to slow down people's typing so that mechanical typewriters wouldn't jam. Dvorak keyboard was designed for typing speed.


1. While the Amiga was ahead of Apple in some ways, there was a reason people bought the Macintosh. It was a better user experience for most people.

2. NeXT would have been considered the "Fantastic technology that was never appreciated" if everyone would have went with BeOS. And do you really think that the Be experience would have been the one that survived to OSX?

3. QWERTY being designed to slow people down is a myth long since debunked. Further, as i understand it, Colemak is the way to go today. Why is everyone sticking with Dvorak? :)


2. Yes BeOS was fantastic and had multi-threading built in. Used NeXT and hated it compared to AmigaOS (I was very comfortable with it).

3. QWERTY is still considered to be developed to reduce key jams by most historians.

I read the Japanese and Smithsonian Papers and well not Debunked just another a different theory that doesn't disprove the idea of mechanical issues with the typewriter.

Thanks on the Colemak mention. I hadn't run into that layout till now.


> While the Amiga was ahead of Apple in some ways, there was a reason people bought the Macintosh. It was a better user experience for most people.

Where, USA?

Because in Europe it was Atari ST and Amiga everywhere.

The first time I could put my eyes on a physical Mac I was already at the university. We had just one little tiny room with 10 LCs and the secretaries at CS department had 3 more.

On the other hand, we had lots of PCs, UNIX Terminals, Amiga and Ataris to choose from.


In 1986 I had an Amiga 1000 in the USA at the University of Missouri Rolla.

I bought the 1020 5.25" Floppy drive and PC-Transformer software to run PC-DOS 2.0 on it for my Turbo Pascal class.

I also bought something called AMax which had a parallel port dongle that contained a Macintosh ROM (Since a lot of Apple Macintosh systems were defective at the time and prone to overheating until the Mac II series fixed that, the market was flooded with Mac parts like motherboards and ROM chips) that allowed the 68000 based Amiga 1000 to boot Macintosh Floppy disks and run the Macintosh System and Mac games and software on it. At first it lacked sound, but after an update it got fixed. Amaz using the Amiga coprocessors was able to run the Macintosh System faster than a real Macintosh. The Atari ST had something just like it called the Magic Sack.

I even had a Commodore 64 and Apple // emulator that could use the 1020 drive to run software for those systems.

The Amiga and Atari ST did a lot of emulation back in the day, because they used the coprocessors to emulate some of the older systems.

Everyone in my fraternity laughed at me for owning a Commodore instead of a real computer like an IBM PC or Macintosh. I told them I could run IBM PC and Macintosh software with my Amiga and it cost half if not three times less than their systems. They still had the image of the old Commodore 64 and the slow 1541 floppy drive. In the USA Commodore was seen as a 'toy computer company' and so was Atari, because they sold their 8 bit computers really cheap in toy stores and department stores instead of computer stores like the PC clones and the Apple computers.

Commodore and Atari did better marketing in Europe but in the USA, not much was done. I do recall they advertised in magazines about the Amiga and Atari ST, but they should have advertised in Byte and PC Magazine and other magazines not about their own computers to reach new markets.

I remember Commodore made PC Clones running MS-DOS called the Commodore Colt series. "It's not a clone, it's a Commodore!" was a bad slogan. Everyone thought it was based on the Commodore 128 or something that had flopped. The Commodore 128 was cool because it had a Z80 coprocessor for CP/M-80 mode, and the 8510 CPU ran faster in 128 mode, but most people used Commodore 64 mode and bought the 128 to replace a broke 64.

Commodore made the Plus4 and Commodore 16 series to compete with the Atari 800XL and ect, but had changed the interface for devices to try and force everyone to buy new ones and so it failed. They dumped the whole lot really cheap in Mexico where it did quite well selling for under $100 in super markets. It was a waste of time, they should have spent that money on making the Amiga series better and making better PC Clones that used the Amiga coprocessors to speed up MS-DOS and Windows programs.

The Amiga 2000/3000/4000 had these Zorro slots that took IBM PC bridgecards that used 8088, 80286, 80386 chips with a PC on a card that ran MS-DOS and Windows in an AmigaOS Window, and the motherboards had ISA slots for the bridgecard to use PC expansion cards and even use them in AmigaOS mode as well.

The Macintosh didn't have a better user experience, instead it had better marketing and a better reputation in the USA than the Amiga and Atari ST. The Macintosh II series competed with Commodore and Atari better, and then IBM made the PS/2 series and OS/2 with Microsoft. The Amiga and Atari ST still ran things faster and were better and did true preemtive mutlitasking which the Macintosh and PC Clones could not even do. Apple tried to kill the Amiga and Atari ST with Copeland but it was vaporware. Microsoft and IBM tried to kill them with OS/2, but Microsoft stabbed IBM in the back and made Windows 95 that stole a lot of business from Apple, Commodore, and Atari. Around that time Linux was just getting popular, and it ran rings around the Amiga and Atari ST, it was free and ran on PC Clones and did true preemptive multitasking even better.

I remember in 1995 putting my Amiga 1000 in a closet while I got a 486DX 50Mhz PC Clone dual booting Windows 95 and Slackware Linux. I really wanted to buy a faster Amiga, but the PC Clones became so cheap it was cheaper to buy a PC clone. My Amiga 1000 had shot craps after Nine years of service some keys didn't work on the keyboard and the floppy drive had malfunctioned. The cost of a new floppy drive and keyboard was too much, I'd rather put the money towards a PC Clone.

I had tried BeOS for Intel as well. I had IBM OS/2 2.0 and when I got OS/2 3.0 Warp my CD-ROM drive wasn't supported so I went back to Windows 95 and Linux that did support my CD-ROM drive.

Haiku is a good operating system, I run it in Virtual Box, you have to enable a serial port or it crashes during boot.

I have to say people who used to love the Commodore Amiga ought to check out AROS instead: http://aros.sourceforge.net/

It might bring back some memories.


Does querty not make a bit of sense again, with the advent of touchscreens? If it was designed to minimize key jams, then I would assume that it leads to less ambiguity in what words are being typed.

(And the Amiga was a far superior experience to a Mac. It had colour for starters. )


QWERTY doesn't really make sense from today's standpoint -- however, most of us still use it because switching costs are high. (I think about switching every once in a while...)

But however much I prefered the Amiga due to my love for Commodore and the technical advantages, the Macintosh has a friendlier design.


It seems like QWERTY might have a bit of an advantage for touchscreen use, but the three adjacent vowels (UIO) cancels it out.


Re. 1: At the same time we had the Acorn 'Unicorn'. Amiga was a nice machine for its day but there were other good machines besides. The biggest factor that did the Amiga in is imo 'CDTV'.

Re. 2: looks like superior tech lost to greed.

Re. 3: I never felt that my typing speed was the limiting factor in my productivity.


Greed? *shrugs, this was in the 90's. I don't think that's greed, just a difference on what two parties believed it was worth.


To really compare the two is kind of revisionist in ways. BeOS didn't have a complete production grade network stack at the time (this was pre-BONE.) Or printing (and Apple made their bones on the same thing on the screen being in your printed copy.) Or Multiuser. Or internationalization.

There was a lot of stuff that had to be added to BeOS to make it Apple-class. Nevermind device support and nobody knows what the power foot print was like at the time.

It does seem like there is a space for it though, if it runs on ARM and has some touch, I could see a ton of Raspberry Pi type projects where something like BeOS/Haiku could be really compelling. Seems like it could conceivably be an interesting android like competitor.


>It was light year ahead of everyone especially Apple (Toaster anyone) Drama from Commodore CEO was the cause of death.

I have to disagree here, the cause of death for Amiga was in my opinion the PC with which Amiga could not compete performance-wise due to sticking with the Motorola 680x0 cpu's.

The Amiga's bitplane based graphics didn't help either as it was slow even with the dedicated blitter and when the PC got VGA mode x 'one byte per pixel' 256 color planar modes the jig was up in terms of the Amiga being able to keep up in terms of game graphics.


BUT that was 6+ years AFTER Amiga launched!


And we are talking (atleast I was) about the cause of why the Amiga died, are we talking past eachother ?


>It was light years ahead of everyone especially Apple

replace light years to 6+ years of everyone else. Not the reason it died. It died due to Amiga getting caught up in the biggest tech industry drama story.


BeOS was great.

All the hard work put on the icons and the GUI. It was truly remarkable.

If i'm not mistaken, I compiled my first C program on that OS.

Reading the SDK documentation was also a great source of ideas for a newbie in C++. I remember that the idea of flattenable objects blow my mind :D

To this day I still wonder why it hasn't gained more adoption.

Mad respect at all those folks working on Haiku!


Just tried out the virtual machine. Seems pretty slick! It's a very fast OS, just like I remember BeOS being back in 1998. Still suffers the same problem that I have no real reason to use it.


I remember that one of BeOS's primary shortcomings compared to current mainstream systems is that it's essentially single-user.

Has this been tackled in Haiku?


No, still single user. Though as a straight desktop system that's never really worried me personally... I do remember someone saying they had begun tackling it, but I could be making that up.


I don't think anyone's really begun tackling it. There's widespread agreement that Haiku should eventually support it, but I don't know that anyone's done any effort to really move in that direction (with one pseudo-exception: Haiku does a better job than BeOS properly arranging the file system into user-specific v. machine-specific folders, which will help when they get there).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: