What I did in my summer holiday

I'M BACK! You may recall that I took a self-imposed break from repo uploads to give the kids on GCI a chance to fill in icons and screenshots on the depot web app. But I have not been idle. I was going to wait a little longer, but the pressure of new HPKGs begging to be put out there got too much for me.

NEW REPO for x86_64

First of all, there is now a x86_64 repo alongside the regular x86_gcc2 one. I noticed on the mailing list that x86_64 was the second most downloaded nightly distribution of Haiku. I loaded up an empty partition and had a look. Man, it really is a desert. No OpenJDK, no yab. Even old stalwarts like BePDF are absent. So I went through my collection and saw what I could compile. Ummm, not that much. Things like python or perl scripts are always going to work, but only a very small number of old BeOS apps compiled out of the box. Getting those converted is going to take someone who actually knows what he's doing. I did manage to compile little CLI utilities written in C, and I've had some success with QT apps. It's not much, but it's a start. If you have managed to compile software for x86_64 and you would like me to host it, contact me.

If you have a X86_64 partition up and running, you can get the instructions to install the x86_64 repo here. There is absolutely no reason whatsoever to have both of my repos installed on your system. All the "any" packages on the gcc2 repo are duplicated on the x86_64 one. Compiled X86_64 apps will not run on x86_gcc2h and vice versa.

This is a side-project and will remain one. If you are technically savvy enough to run an unsupported build, you are savvy enough to check for new software. All announcements on this blog will reference software for the official x86_gcc2h repo. There is absolutely NO guarantee that a new entry in one repo will also make its way into the other one.

E-BOOK on yab programming

The next thing is that I have written a book on how to start programming in yab. Look to the right and click on the mint-green picture. Now download it for free and start programming.

NEW GUI APPS in the repo

OK. Is there anything new to add? Have I managed to resurrect any more old BeOS apps or port new ones from Java or QT?

Are you sitting down? Good.


Blubbels is a SameGame clone


Calcus is a cross-platform scriptable calculator


The purpose of the game Bloqus is to place polyominos on a board (a grid). Polyominos are geometric shapes made by various layouts of a given amount of unit squaresEach of the four players thus have 21 shapes which can be freely turned in any direction. One of the squares of the first played shape must cover the corner of the grid which has been given to the player.


JFamily is a browser and editor for genealogical data. The data are displayed in a graphical family tree.


Cliphist2 is an application to show the history of the text content of the clipboard in a list. The entries in the list can be modified (add, edit, delete) and selected as actual clipboard content


This is the game of Mahjongg. I hope you know how this game works because there is no documentation. When you first start this application, you will need to select your Background and Tileset from the menus.

Scriptworld is a  is simple application that demonstrates application scripting. It allows you to build and send scripting messages to any open application, window, or view.


Splitstudio is a /bin/split-like program with GUI. You can split a file by dragging its icon into the window, by selecting it through the Split Studio Add-on or by selecting it through the standard FilePanel. You can select the split size (expressed in bytes, kilobytes, megabytes or how many parts you want your file split into), the destination directory then split the file.


Zday is a Rogue-like game ... with zombies!


Add is a tape editor that lets the user edit a calculation. It's more suitable for balancing a chequebook than a spreadsheet or any of the various hand-calculator clones.

Wait ... people still use chequebooks?


Block is a simple breakout-style game"


Hugotetris is Tetris ... implemented in the Hugo text adventure engine. Weird. 


Revenge of the Mutant Mime Types (rommt) checks all your volumes for illegal (not registered types / illegal characters) MIME types. All these are listed in a window from there you can take further steps. This tool is not intended for beginners — it's for developers.


Lightweight2 is a minimalist web browser.


Trackergrep is an ancestor of Haiku's own TextSearch add-on, but is also a standalone app. With source code.


Txt2regex is a Regular Expression 'wizard', all written with bash2 builtins, that converts human sentences to regexes. With a simple interface, you just answer to questions and build your own regex for a  large variety of programs, like awk, emacs, grep, perl, python, sed and vim.

painter pl

Painter_pl is a very small bitmap editor. Interface in Polish only.

IPTalk is a P2P (Peer-to-Peer) communications system for IP networks. You can use IPTalk to establish a 'live' text-based chat session between two computers. UNTESTED. Please let me know if it works.


Ishido is a board game. Interface and Help in German only.

Bsnow puts winter weather on your desktop


jSignPdf is a Java application which adds digital signatures to PDF documents. This is a complex app. Read the Documentation or you may never be able to read your pdfs again!


BExplorer is an advanced Mandelbrot set that let's you try different number of concurrent threads.

Quickshutdown is a Desktop accessory to shut down or reboot your system. Can be installed as a Deskbar replicant with the desklink command

ViewIt is a freeware that allows you to view BMessage objects.What BMessage? Any BMessage that is sent or dragged to it!B


Bitmaptest is a black-and-white kaleidoscope demo"

Disco is a rapidly flashing window that can be zoomed to fullscreen. Just the thing to liven up your next party. Similar to discotheek, but a native app rather than java, and a bit easier to close down. Not for epileptics!


Meltdown is a completely fake CPU Intensive Test between Windows and Haiku.

Selective is a simple Tracker add-on that lets you enter a wildcard pattern to select files from a Tracker window.


Random Password Generator (rpg) - This application generates random passwords.

NEW LANGUAGES in the repo

Nothing gives me that warm fuzzy feeling like successfully porting a programming language and putting it into the repo. And I found a few that work in Haiku! Many are mostly of historical  or maybe training value. But there are a few gems in there.

Jython is a Java implementation of the Python language. It allows users to compile Python source code to Java byte codes, and run the resulting bytecodes on any Java Virtual Machine. It is the successor to JPython.

Realforth is a 16 bit Forth for PC. No OS required: this is a hard drive image. It is designed to be use with qemu PC emulator.

Lang5 is a Perl based interpreter for a language which is a blend of Forth and APL. The power of lang5 stems from its arrays operations in conjunction with the underlying Forth programming paradigm of bottom up programming.

Jawk is an interpreter/compiler for the AWK programming language for Java. The program interprets / compiles AWK scripts, executing within the JVM. Unlike prior versions, Jawk provides an efficient execution environment for AWK with minimal enhancements to the language.

JBasic is a traditional BASIC language interpreter written in Java for command line or embedded use. It supports conventional GW-BASIC style syntax, plus some modern extensions for supporting threads, JDBC, etc.


Bfrunner is a graphical interface for the Brainfuck language.

Stal is a stack-orientated language with similarities to Forth, it's built to be small and efficient using only minimal resources.


BALL stands for BaiSoft All-purpose List-oriented Language. It's a simple language, slightly reminiscent of BASIC (with some lisp elements. I suspect - mcl), and can be used for anything based on console input and output. Well, not everything. Right now it's pretty limited, actually. But I hope it will one day be as powerful as any other language. It's written in Java so it can be run anywhere. BALL is an interpreted language, so the BALL IDE (Integrated Development Environment) is the only software capable of running it.

Bas55 is an editor and interpreter for the Minimal BASIC programming language as defined by the ECMA-55 standard. Real old-school programming: capital letters only, line numbers required.

Basick is an integer BASIC interpreter in a very old-school style.  It requires line numbers. It only supports integer math. It has no string support at all.

Ccsh is a scripting language that is intended to be powerful and easy to use for people already familiar with the C language. By harnessing the power of the C compiler (which should have been installed on your system with the rest of your OS), ccsh will turn your lines of code into bytes of data that the CPU can run directly. Since no intermediary interpretation is done (like bash, csh, etc.), your code can run hundreds of times faster!

Cinter also lets you use C as a scripting language. This release contains a C language interpreter. It works in three phases. The first phase is source code scanning and dividing it into single lexemes. The second one is parsing and syntax errors catching. It also checks variable declarations. The third and the last phase is code executing.

Clips is a tool for building expert systems. Developed at NASA's Johnson Space Center from 1985 to 1996, the 'C' Language Integrated Production System (CLIPS) is a rule-based programming language useful for creating expert systems and other programs where a heuristic solution is easier to implement and maintain than an algorithmic solution. Written in C for portability, CLIPS can be installed and used on a wide variety of platforms. Since 1996, CLIPS has been available as public domain software.


Jamal is a Java-based reimplementation of the AMOS Animation Language

Wsbasic is a console-based scripting interpreter used for developing small applications and utilities in Unix/Linux environments. It provides basic facilities  for computer scripting and includes elements such as variables, functions, arithmetic and logical operators, control statements and external calls. Its keywords and syntax are largely reminiscent of the well-known computer language BASIC. Since bash syntax can appear complicated or confusing to many users, Wsbasic provides an alternative means to bash for writing console-based scripts, using keywords and a syntax that will be familiar to many.

Awka comprises a translator of the AWK programming language to ANSI-C, and a library against which translated programs may be linked.

Bogusforth is an obfuscated programming language based mainly upon forth (widely known) and "false", another obfuscated language. Many ideas were also taken from the language "true".

One that I am still working on is NetREXX, which lets you write REXX script and compile them to Java classes. Seems to work, but there's a lot of tweaking to be done before I will feel confident about releasing it.


Lots and lots of new CLI utilities to play with. Gotta love the way little apps written in C will compile on just about anything.

Charcount - Count character use in text files

Chd - Display character codes

Hex2byte - Convert hex numbers to bytes"

Word2x - Convert MS-Word .doc files, an alternative to antiword.

Docx2txt - A utility to extract text content from MS Docx file

Cpindexes - Lets you copy the attribute indexes of one volume to another

Deheader - Find unnecessary headers in C/C++ source code

Geekcode - How to tell the world you are a geek, you ask? Use the universal Geek code!

Glark - A grep replacement

Kvec - A CLI bitmap-to-vector converter

Byte2c - Extract numbers from an executable

Tab2spc - Convert tabs to spaces in text files

Azip - Experimental compression utility

Bebin_es - Converts ascii string to binary. Spanish interface only.

Bynaryo - ASCII <==> binary converter

Byte2hex - Byte to Hex converter

Morsegen - Generate Morse code

Sleepy - CLI command delayer

Bincat - Binary files concatenator, similar to  'copy /b' in Windows.

Gocr - CLI Optical character recognition

Xlreader - Extract textual data from Excel spreadsheets

Pgp - Pretty Good Privacy encryptor/decryptor

Ncftp - CLI FTP client

Gif2png - CLI app to convert GIF to PNG

Index - Manage your indexes

Bemailtombox - Convert Haiku mail to mbox format

Jad - A Java decompiler

Mf2t - Toggle midi files to text and back

Stats - CLI utility to get system statistics

Utfconvert - Convert between UTF types

Cutief8 - Make curly quotes

Di - Disk information CLI utility

Lifekeeper - Keepalive utility

I have noticed some CLI apps appearing on the Haikuports depot. When I do notice that, I remove my own version - that is the policy of this repo. If I miss one, please let me know.


There are also new fonts and new e-books, and plenty of new icon sets for you to play with. And a few new text adventures.

I have now completed my first scan of that giant torrent I downloaded six months or so ago. And let's face it, unless someone can get Haikuware back online, it's not likely that there will be more old BeOS productivity apps coming in.

One thing I have avoided from that torrent file is SDL games. Old SDL games are a royal pain in the behind. There are a dozen versions of the old SDL library to test against, and typically none of them produce any sound. I'm going to take another look, though. Perhaps its time to google "how to make a static build".

The search for Java and QT apps continues. I still have a lot of ebooks and text adventure games to package, and new suitably licensed fonts arrive at 1001fonts.com faster than I can process them. Besides that, I really need to get back to my own programming. I used my app Rondel to write the yab book and I came across a glaring bug. My PDF collection manager does not scale well at large numbers of PDFs. Yabadabbadoo needs a direct link to the BuildFactory. And so on, and so forth.

Expect things to slow down on the repo in 2017, then. 2016 was an exceptional year. But I will keep plugging away, always trying to make Haiku a richer environment.

© Michel Clasquin-Johnson 2014-2017