Hacker News new | past | comments | ask | show | jobs | submit login
IntelliJ IDEA and PyCharm Running on Haiku (haiku-os.org)
242 points by return_0e 65 days ago | hide | past | web | favorite | 77 comments

That's a really impressive achievement I think, those are complex applications running on complex stacks. It's certainly a big step in the direction of making Haiku a system that a developer could plausibly run for the development of cross-platform applications. This coupled with the Libre Office port last year means there's a pretty strong selection of applications for it cropping up.

I wonder if Valve has hackathons and if the Proton guys want a new challenge.

I worked at CodeWeavers during the development of Proton, and one of the biggest hurdles for getting Wine (and therefore Proton) running on Haiku is the memory layout of Haiku[1] and subsequent failures of mmap(). I have a Haiku port that runs basic applications out-of-tree, but many Win32 programs crash on Haiku still.

1: https://wiki.winehq.org/Haiku

The memory layout of Haiku x86_64 is identical to that of Linux. Perhaps you should try there first?

At any rate, we'd love to at least have your patchset in HaikuPorts, even if it's not quite ready for prime-time yet.

You could just bypass the preloader completely. It exists only to work around the Linux ASLR implementation which would otherwise tend to place DSOs randomly in the address space, potentially overlapping regions that Windows keeps reserved. If Haiku doesn't implement ASLR, or lets you easily disable it, or alternatively would accept patches to ensure its address space layout is always Win32 compatible (better!) then the preloader could be disabled.

However if mmap is more significantly broken then Haiku needs work - Wine does need the ability to map things into the address space at the requested locations and actually get it.

Haiku implements ASLR but there are ways to disable it. They are undocumented private APIs, though.

mmap on a fixed address should work just fine, unless the address is outside the normal range or in an already mapped region, which seems to be a problem on 32-bit systems. I think there are some emulators we have ports of which already use MAP_FIXED quite a bit.

As far as I'm aware, Haiku doesn't have hardware 3D acceleration of any kind. So, please!

If you can now run your development tools on Haiku, what would it take to make Haiku a server platform for running your server-side applications?

Haiku is a single-user system, so effectively any privilege escalation gets you root. That's enough right there for me to keep it off a server.

Yes, while we need to fix the privilege issues and add proper user segmentation, we don't ever intend to aim at being a server OS.

Isn’t the definition of privilege escalation going from non-root to root or did you mean that any RCE on an application gets you root.

Nit picking comment aside, I wonder if the fact that it is single-user was one of the reasons Apple did not go with it.

On a multi-user system, you could have one non-root user gain privileges granted to another non-root user, which I think would still be considered a privilege escalation; e.g. before the escalation, I only have access to my own home directory, but afterwards, I have access to both my own and yours.

Hopefully not, it's better they focus on doing one thing well.

We only have plans for a desktop OS.

But what is the point of using Haiku if you are going to run (desktop) Java applications? The main appeal of it is its native API, use of multithreading everywhere and how integrated the applications are. If you are going to treat it as just a window manager with a different theme, then why not just use XFCE - it even has a BeOS-like theme.

Which happens to be the fallacy of GNU/Linux desktop as well.

The beauty of each desktop centric OS is the whole platform, the set of SDK languages, the respective frameworks for exposing the OS and hardware features that make the desktop experience unique, and IDE developer experience.

If it is to run desktop agnostic apps, then anything can do.

There's always been some leeway in that. Both the original Mac OS and Windows had a variety of languages targeting it, but they tended to strive towards emulating the core SDK experience (if they weren't a wrapper around it).

Unix had it different with there being no core experience in the first place -- X11 being a glorified terminal multiplexer plus xeyes. Whether it was the commercial Unices with OpenLook/NeWS vs Motif/CDE or later Linux with Qt vs Gtk. Not that there wasn't a chance -- at one time Motif won over the commercial sector and if it would've been available with the same license as Xlib/Xt, GTK would've never been developed.

But that seems to be a thing of the past. These days the web forced us to give up all platform-specific UI expectations -- heck, any expectations of having a proper UI in the first place. And thus applications are all over the place, Electron being just one particularly heinous culprit. Material UI on the desktop. Plenty of applications starting up web-based interfaces in the browser.

On the one hand, as you say, this doesn't make the particular desktop matter anymore, it's more a vehicle of getting your wifi driver to work properly and load the browser. So one could use Linux or even Haiku without any big losses. On the other hand, if everything's pastel-colored oatmeal, there's no big benefit from a neat, unified, C++ desktop experience that BeOS was aiming for.

If you want a vision of the future, imagine HTML stomping on your face -- forever.

Hence the opinion Steve Jobs had about UNIX, NeXTSTEP's POSIX support being more geared towards bringing software in and win DoD contracts than anything else.

I don't need such vision, it is how it would look like if all OSes happen to jungle browser instances, ChromeOS style, while a big chunk of applications runs on someone else's computer, abstracted via language runtimes.

The return to mainframe's timesharing days and very sad outcome for desktop computers, with the minimum experience common to all vendors.

Graphical APIs not able to take advantage of hardware, hardware support that takes years to have minimal APIs, drawing UIs pilling divs customized with CSS and JS to mimic visual behaviours.

It's not a pretty vision of the future but maybe there are ways to escape it.

The reason apps all went cross platform is that desktop operating systems stopped innovating. Which is the desktop platform with the most new native apps, where developers take pride in making non-cross platform experiences? MacOS for sure. Which desktop OS has been consistently the most innovative over the past 20 years? MacOS!

Haiku running IntelliJ is technically interesting, but ultimately as a user I don't understand why I'd want to use Haiku. BeOS may have been innovative 20 years ago but it's a dead OS that hasn't changed in decades. May as well run IntelliJ on any other platform, then.

I think the desktop can be great again, but it will take a new generation of developers with new ideas about where to take operating system technology. I also tend to think that whoever tackles that problem will probably tackle it by writing a cross-platform app runtime that slowly expands to become more and more of an operating system until the actual OS is indeed, just relegated to providing some drivers and bootstrap code. But the actual UX will be defined entirely by that environment. Sort of like how Pharo gives you a full blown desktop environment when you start it (but I'm not arguing for Smalltalk)..

Haiku-OS is a another incarnation of BeOS.... a desktop OS created years ago be ex-Apple exec Jean Luis Gassee.

I have apparently been living under a rock and hadn’t heard of Haiku. Looking at the screenshots, it instantly reminded me of BeOS.

I ended up reading the Wikipedia page on BeOS for some nostalgia and it mentioned Haiku. Glad to see BeOS still around in some form — definitely was ahead of its time!

I remember seeing the final BeOS live demo on the final day of the MacWorld Expo where it premiered.

It blew my mind. Things we take for granted now like multiple QuickTimes running at the same time, all the massive concurrency... Live searches of the filesystem via journaling... All way before its time (or at least, way before it appeared in mainstream OS'es).

What I wonder is, is Haiku more efficient than other available OS'es at Intel (or other, like ARM) CPU utilization?

Haiku is basically BeOS R5 plus some much needed modernization.

Great stuff. We need an open-source operating system 100% focused on the desktop.

Totally agree. It’s great that the Linux desktop experience has come as far as it has, but it still suffers from compromises as a result of being general purpose at best and server oriented at worst. Haiku can make technical decisions that make sense for a desktop OS without also negatively impacting other uses.

> We need an open-source operating system 100% focused on the desktop.

I agree. In my opinion though, Haiku's insistence on becoming just another platform to run your UNIX software stack on means it will probably never succeed at that goal.

In case you haven't noticed, a majority of people on Windows or macOS use software that was originally part of the "UNIX software stack" -- between SSH, bash, GCC, FFmpeg, etc. I am pretty sure you could find at least one piece of "originally UNIX" software that at least a majority of programmers using any given OS use.

Anyway, I think you miss the point of Haiku if you think it'll never get anywhere because of how much UNIX software runs on it. It's not here just to "be different from everyone else." The POSIX API makes a lot of sense; anyone going against it has to have a particularly good reason to do so. Even Apple doesn't, for the most part.

Unix is indeed ubiquitous, but it would be nice to have a personal computing system whose core metaphor is something other than a teletype.

A majority of programmers on Windows perhaps, certainly not a majority of people on Windows.

Not even the majority, UNIX refugees, yes.

I've had this argument with you before and I'm not really interested in having it again. Suffice it to say that I have a different idea of what a personal computer should be than you or the parts of the Haiku community who are left.

What do you propose as alternative? All of these UNIX tools provide backwards compatibility.

Plan9? But it's still ahead of its time. I think it would be quite hard to port something like Haiku UI to such a platform. POSIX is fine.

Actually Inferno, Plan 9 was the middle iteration.

We have virtualization nowadays to cover compatibility requirements.

How is it different than macOS?

I think macOS/Mac OS X was always known for fantastic Mac-specific software as opposed to just ports of user apps from, say, Linux — probably because Mac OS X was the successor to Mac OS 9.

So Mac OS X inherited one userbase that appreciated platform-specific software. Haiku doesn't really have anything to inherit like that so until people start making Haiku-specific software, that could be an issue for seeing great Haiku software rather than just ports.

In the beginning, there was also a good deal of people coming from NeXt and finally finding a target audience. Some of those applications fared even better, as they were basically Cocoa already, whereas some of the older Mac apps were more baroque, not supporting all the nice new features and having a more outdated look. So the "newcomers" served as important style guides. (Let's not even mention the backlash against further outliers like Java Swing apps or RealBasic)

For a while, the OS X app space was rather "pure". A minimalistic aesthethic, plenty of small opnionated productivity applications. Apple itself didn't wreck or disrupt it too much (looking at you, MS Office).

Then mobile happened.

That's a great point. A lot of the best macOS software came from, and still come from, developers from the NeXTSTEP era. Some have faded a bit, but they're still there setting the benchmark.

I just downloaded the .iso and couldn't get WebPositive to return any web pages. I also ran a few web searches and couldn't figure out what the command is to install new packages. Just making some observations.

It seems like a very performant and simple OS (which is a welcome alternative compared to macOS) but these are pretty glaring problems for a user starting out. For a project that's been around for over a decade, that's a little bit of a red flag.

The GUI package manager is "HaikuDepot" and the command-line tool is "pkgman". HaikuDepot is documented in the Userguide: https://www.haiku-os.org/docs/userguide/en/applications/haik... Dunno why no search engines took you to it.

Also dunno why WebPositive wouldn't do anything for you. It's still a little buggy, but it usually works well enough for my purposes...

I think the search problem is more your search engines fault for not pointing you to the official docs

Haiku is progressing great. Anyone heard of AROS which is a rewrite of AmigaOS? I try to keep up with free and open source Windows alternatives for the PC.

We need something that even senior citizens can use to replace Windows XP on a system they can't afford to upgrade. Just the basic word processing Internet surfing and email.

ReactOS is progressing as well.

OSFree the OS/2 rewrite seems slower but using the M4 kernel with DOS and OS/2 personalities.

> We need something that even senior citizens can use to replace Windows XP on a system they can't afford to upgrade.

My personal experience from large scale transition from Windows 7 to Linux Mint at work indicates that people ABSOLUTELY can use Linux - the UI is (unlike Win10) stable and things do not move around, settings don't change themselves on upgrades. And, importantly, updates can be set to be silent and automatic.

This, so much. All you need is (1) how to backup and restore your data, and (2) how to reinstall the system from scratch should it get hosed. The typical "Windows" way of system administration, haha... but hey, it works. And Debian with an LXDE session is literally snappier than XP, on XP-class hardware! (Just don't skimp on the RAM - less than 1GB doesn't cut it anymore if you're surfing the modern web. And stay on the "stable"/LTS update channel - none of that newfangled "rolling release", bleeding-edge silliness)

My father used Linux on a Live-CD when his XP had issues. He used to work at AT&T so he knew how Unix works.

> We need something that even senior citizens can use to replace Windows XP on a system they can't afford to upgrade. Just the basic word processing Internet surfing and email.

I am probably one of the biggest naysayers of Linux as a desktop platform, so keep that in mind when I ask: What's wrong with Linux for this use case?

If all you need is an internet kiosk, Linux is fine. In fact, I'd go so far as to say that's been the Linux Desktop's targeted use case for about a decade now because their cultural attitude is that anyone who isn't a C greybeard needs to be bottle fed.

One of my grandmothers (until she passed) was on linux for about 8 years. I'd update/upgrade about every year or so. It ran chrome, and Wine ran the couple of windows 95 era games she used.

My other grandmother has been on Chome OS for almost as long. Which has been another great option. I do wish that Google had better support for installing/running full Chrome OS on more generic hardware. I find it's just about the best option all around for the novice computer user.

If I understood correct one reason it is progressing great is that they're able to (back)port code from FreeBSD. Not sure about the other ones.

The way I see it, it is nostalgia. Which has its value. For ReactOS, it also provides backwards compatibility and essentially is a FOSS and free as in beer Windows implementation. However, there are also progressive OSes such as Nix, Tails, Qubes to name 3, or microkernel-based OSes. These are where the innovation lies.

Nix, Tails, and Qubes are all just Linux dude.

It's been a long time since I heard of OSFree. Is it still active?

I think they had a server crash and moved to a new host.


They have something that boots, but I am not sure if it can run OS/2, DOS, Windows code yet.

I wanted to donate $5 but their donate button is broken.

Does anyone know if haiku can run Python 3? I know that haiku comes with Python but thedefault version is 2.7.

Haiku has Python 3[0] (at 3.6.7 IIRC) which can be installed from the package manager.

[0] https://depot.haiku-os.org/#!/pkg/python3/haikuports/3/6/7/-...

Yes, it's in the package manager.


I didn't know about Haiku up to 2013 I guess where I had a bug report for my download manager https://github.com/Alir3z4/yoDownet

It's a really interesting OS

My biggest problem with Linux is hardware and installation. I have an old laptop that Ubuntu fails to get WiFi running on.

Linux is getting good at drivers and "just works", but it still isn't there. I fear how hard it will be to get haiku running

Not that many may care but also running is NetBeans IDE 8.2.

For years Netbeans has been my go-to IDE for Java and PHP.

It Just Works and contrary to certain other IDEs it uses Mavens pom file directly instead of translating it to some other (even hehe) less ideal format.

(Recently though Visual Studio Code has been a so big part of my developer life because of Dot Net Core, and Netbeans was so late and unclear about their 9.0 release that I tested just using VS Code for Java as well. It worked reasonably well. But now that Netbeans 10 is released I'd probably go right back if/when I go back to Java.)

And it supports mixed language debugging (Java/C/C++), where JetBrains will happily sell a license of CLion instead of supporting it on InteliJ.

That's really impressive. I hope they continue to port more software.

Awesome. But, I suggest Haiku people need hire ui/ux for their default theme/window. It will sure attract more user to try this OS as alternative.

Functional, cohesive and pretty.

I’m more than happy if the former two are done and dusted and my experience with BeOS and since on the former two has been pretty good. If something is pretty but not functional, people won’t use it. If something is functional but not pretty, it’ll get used nevertheless.

People might say it’s a false dichotomy but GNOME 3 and early Windows 8 are substantial examples of the opposite.

Windows 95 wasn’t pretty in any traditional aesthetic sense but by god was it ever functional and cohesive and successful despite basic bitmap faux-3D. Nobody cared.

The BeOS and Platinum interfaces are among the best ever created

It’s crazy to me that there are no Linux DEs dedicated to creating a faithful reproduction of the Platinum era Mac desktop. One can configure XFCE or MATE to get something vaguely similar, but it’s really not the same.

Would like to try my hand at building something like that myself, but X on top of being phased out is a strange beast to learn and there’s practically no material on writing something for Wayland.

There's one setup that I've used with XFCE before, but it's not perfect.

I've been working on and off implementing some Platinum stuff in Pharo's upcoming new graphics layer (called Bloc) and these have come out OK. That's where I'd really like to use it -- my whole desktop can be like Hypercard

> Would like to try my hand at building something like that myself, but X on top of being phased out is a strange beast to learn and there’s practically no material on writing something for Wayland.

You should look up the work of Sir_Cmpwn (aka Drew DeVault), specifically the wlroots project and his excellent writeup: https://drewdevault.com/2018/07/29/Wayland-shells.html

No doubt. Pixel Art at its peak. The icons in particular were spectacular. But none of it would be considered pretty by today’s typical aesthetics. Shameful really.

You're probably being downvoted because Haiku is kind of by definition supposed to look like BeOS.

But I do think you're right in that if BeOS had survived, it would not look like that in 2019. It's probably time for Haiku to start evolving the UI/UX to keep current as the spiritual successor of BeOS.

... Please no.

The style is part of its appeal.

While I am not too big on Haiku's aesthetic, and agree that it could use some modernization. I think the earlier focus should be on supporting some more of the underlying platforms that could get more software running on the system.

I think if they could get patches upstream for chrome and node, which would allow electron, that could open the doors for a significant increase in usable end user applications. The article's demonstration on progress for Java applications is very impressive on its' own.

Aside: being able to use user tweaked UI/UX would be nice in general, but would probably be a break from the BeOS origins. I used to run a shell replacement on Win2k and XP era, but I liked win7 so much I stopped using it (don't even recall the name right now).

In the end, there's no cause for rudeness here. While I don't think I'd be able to use Haiku currently, it's nice to see progress here. I'd also be interested to see a window manager for linux that followed the Be/Haiku aesthetics as I think a lot of people would appreciate it. Personally I really like the dock/taskbar in Win7 and 10, though I prefer the Win7 start menu. I run mac, windows and linux regularly (mac and windows daily, linux at least once a week on elementary).

This is pretty sbujective but I really dig the pixel art of the icons and the general look & feel of the windows.

If Haiku was a Linux Window Manager, I would use it in a heartbeat.

I would really like the tabbing windows etc on linux, it would make using a single monitor much nicer...

There are window managers like that for linux. E.g. http://notion.sourceforge.net/ or https://github.com/pekdon/pekwm or http://www.fluxbox.org/

So I know dang watches the content of comments to see if they’re up to the guidelines, but does dang also look at excessive downvotes? The comment here is greyed out, something that should only be reserved for highly offensive comments. Which this is not...

It isn't offensive (and probably is unfairly downvoted), but it shows a lack of research. The purpose of Haiku is an open source reimplementation of BeOS 5, so naturally the windowing UI looks just like BeOS [1]. There's a reason Haiku looks the way it does.

It's a bit of a stretch, but you could argue the comment goes against this guideline:

"Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something."

[1] http://lowendmac.com/2001/user-interface-mac-vs-beos/

AFAIK voting is purely down to user's discretion, so sometimes you do see posts get hammered by the 'downvote = disagree' mob, but it doesn't happen that often.

Yes, I wonder why they down-vote my comment

Applications are open for YC Summer 2019

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