Request For Assistance From Experienced Haiku Developers

Good Day and Merry Christmas

I wish to congratulate all of the hard working members of the development community for producing what looks like (at this stage) a very workable and almost-ready-for-the-spotlight new operating system for advanced new and young developers.

Some years ago I criticized the state of Haiku and now I take it all back - I have read your new documentation and it is the best that is currently out there for any os - simple, concise, all-compassing and on top of that - artistic to look at, in full keeping with the look and feel of BeOs and, now Haiku. I am glad that, like the porche and the vw, Haiku and BeOs have a family look and feel.

I have finished my development work on a new 5GL implemented on top of Assembler, C, The GUI KIt and Python. I used wxWidgets for the Linux development prototype and it is working perfectly. I am not releasing it to the Linux world (hopefully) - I am now ceasing all Linux development and working full time on a complete re-write using the Python language bindings produced at the Google Summer of Code 2011. I will be fixing these myself. As I have very little C experience, I would hope somebody would help me with that if I have problems.

I am currently downloading the 51700 nightly and would appreciate being notified of any problems if anything comes up. Otherwise I am going to treat this version as a LTS release for the time being and will be downloading all of the source code to allow me to make changes to any part of the system I feel can be improved. I will pass these on to the community. Perhaps one of you would like to be an intermediary for that as I do not intend to commit anything to git.

If all goes well this time, I will be a permanent full time member of this community. I have no other work that I do except to further the development of the next generation operating system, which I hope (and I am pretty sure) Haiku is or at least is the beginning of, for the benefit of the Children of the Future.

I want to congratulate especially those people working on porting the KDE applications. These applications dominate the Linux Multimedia world - Kdenlive is the best open source video editor out there. Somehow Audacity needs to come in (or some KDE equivelent). I am sure many of you are working on these issues. It will be at least a year before my 5GL is available. Plenty of time to fix the multimedia issues which I hope to see in Haiku for next Christmas.

Thanks again and best wishes
Adam
(from Castle Wartburg, Eisenach, Germany)

5 Likes

I ported an old (< 2005) Python/BeOS glue library to Haiku recently, it mostly lets you access file attributes from Python. See GitHub - agmsmith/PythonHaikuGlue: Glue functions for the Python language that let you call Haiku OS functions, initially for file system attribute access. for source and there’s a python_haikuglue-0.2-1-x86_gcc2.hpkg at Fat Elk Software Might be useful if you want to see how it’s done.

1 Like

Thanks for that. I’ll look into it as soon as I have a Haiku development environment up and going. I’m currently looking into the 2011 code - it’s very comprehensive. Doesn’t look like anyone tried it - nothing on the internet, anyway. It’s mostly autogenerated by the looks of things. Couldn’t find the generator …

What version of Python are you using? Is it a standard version for Haiku or are there more than one? What will I find in HaikuDepot? (I have to wait a long time now because my slow internet will take me a few days to download everything)

Of course, with all the work going on with QT there might be a possibility of PyQt. Anyone know about that? Qt is slow on Linux, GTK+ is more native, yet the implementation on Haiku might be better. Any comments on speed of loading Qt applications on Haiku?

1 Like

You know that there are already ports of SWI Prolog and Haskell? Mercury should also be possible to port if it hasn’t already been. OCaml is also available and has BeAPI bindings, though I accept that GHC and OCaml might not fit your definition of 5GL. I’m interested to know what the features/advantages of your new language are compared to existing approaches?

I have no idea, really. It’s just the 5GL I use personally. It is similar to NCCFileTab by ICL, in that it converts 5 lines of code into about 600. NCCFileTab was a report generator. This is a GUI Generator, working to much the same principle. It’s also completely data-aware without trying to be. All windows save their data and restore it automatically - there’s no code required for that. The only code required to write is the code that does something when you click a button - say if you want to rsync a folder - you will need to write a few lines of code for that, otherwise, no code at all. You also don’t have to design your screens in a WYSIWIG manner like Glade. It does that for you. That’s about it really. I use it myself and it’s free for anyone else to use. Oh, and you don’t need to install applications, either, they just work where they sit. And you can flip between them quickly and modify a number of applications (or copy and past from them) simultaneously without being in a typical code editor. And it’s also written in itself, too.

Oh, and one more thing - it’s not a port - it is written from scratch on Haiku for Haiku using native Haiku bindings. The version for Haiku will be all new code and the Linux version will be scrapped once I have moved over everything from there. I also need NFS and am working on trying to find a way to get BFS into NFS. Interestingly, there is a brand new version of NFS just come out called pNFS - what do you know, it’s all about file attributes and how they causes a blockage in parallel computing, how they got around it by separating the attribute access from the actual file access. It’s interesting reading for BeOs/Haiku devotes. There may be interest in somebody doing their masters on BFS / NFS integration - to study the unique file system of BFS in the light of pNFS and it’s evolution.

I’m using Python 2, a mature and stable Python, Haiku comes with 2.7.12 installed. There’s also the newer Python 3, which you can install from HaikuPorts too. Both versions of Python are used in the python community, but development of the language is only in Python 3 and presumably new software uses 3 too. Python2orPython3 - Python Wiki

Thanks for that. I found it in Haiku. I was surprised that when I double-clicked on one of my .py files, nothing happened. Same thing on a FLAC file - it opened a JPG instead. There seems to be a bit of work required to sort all that out. I was also surprised at how slow everything is since last I looked. Now Haiku takes longer to boot than Linux. The Tracker windows open quickly, yet some of the newer applications seem slow. And my slow internet connection gave the package manager a bit of a hernia.

Perhaps it’s too soon for me to start work. I played a video and the system just died - the sound was ok yet the picture was at about 4 frames per second. Could it be to do with the Qt stuff? I know under LInux, all of the Qt programs are dreadfully slow. I won’t use them unless I have to (Kdenlive being a case in point). The GTK+ applications are much quicker - I would say instant on python - also access to the disk subsystem is lightning fast. Once you have experienced this kind of “no wait” speed you don’t want the other. My system on Linux uses Geany as the IDE editor. This is very very quick and responsive. It has more downloads on Linux Mint than any other editor. That is a good indication of it’s popularity, and the main reason I chose it, hoping that those young developers on Linux Mint would like to progress to Haiku and keep their favourite IDE. So Geany on Haiku is a real must. And GTK+ would solve many performance issue, I feel, if it does that for Linux.

I did enough now to know where we are on Haiku. I will check back in some months time. In the meantime I am moving my systems from Linux Debian / Ubuntu / Mint to Gentoo based (Funtoo) systems. This will give me more experience with compiling the code, so I won’t be such a newbe as I am now in that respect. I believe the packaging and porting ideas are similar. And I can learn that on Linux before I need to do the same on Haiku.

I just hope there is someone working on the performance issue. It’s ok to have lots of packages, yet they also need to be the right ones. I will not use Firefox on Linux because it goes like a dog. Opera is better and another one is NetSurf. Much faster. I found WebPositive to be a good compromise between NetSurf and Opera. It also needs work in the response area - I found some lag in the scrolling which seemed to indicate it was losing events from the scrollwheel, which could be better than storing them up if it can’t keep up, yet keeping up is what it needs to do. Not easy with such bloated functionality as web browsers seem to need to have. I most of the time just turn everything off (if I can) and a text-only mode is a very good idea for a web browser (Opera is currently the only one I know that does that)

Anyway, just a few ideas, really. Everything is very impressive looking inside Haiku - just a bit fat from all the new code it digested :wink:

Best wishes
Adam

(oh, and one more thing before I forget - I was surprised to find Linux now has full BeFS support in it - at least it opened the Haiku partition and read the files (I was not brave enough to try anything else). If that is the case, then there is hope for NFS at some future date … )

Interesting to see an Objective CAML binding in the works. I fooled around with that a little, so long ago that I don’t remember much. If I remember right, it had a lot of promise with one very big exception: the ocaml runtime wasn’t thread safe. Poking around a little, I get the impression that has been essentially solved - like Python, it can be used by multiple threads, just not really concurrently (which is not necessary for Haiku binding.)

It’s kind of a weird language. If you look at it, check out the camlp4 alternative syntax - huge improvement, the default syntax has serious weaknesses with automatic block structure and semicolon separators - and check out the superb OOP model. Neither of these seems to be widely used, but in my opinion that’s where the potential is.