Using PicoLisp on your Android phone, the easy way!

Screenshot_20170829-084900

I’ve been spending some free time having fun and testing out a text adventure game by the Quiet Learner, called Dr. Theobold, written in PicoLisp. The problem I found though, was that I am not often at my main computer, where I have PicoLisp installed. I needed a solution to use PicoLisp on my Android cell phone, and thanks to Termux, I found it!

Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required. A minimal base system is installed automatically – additional packages are available using the APT package manager.

As you can see in the quote from the their website, Termux is a great open source tool that allows you to have a terminal and Linux environment all wrapped up in an app.

To get PicoLisp working on Termux is quite simple. See below for the commands:

$ pkg install picolisp

That’s it! Now you can use picolisp just as you would on your Linux computer. If you want to check which version is available, you can simply type:

$ pkg search picolisp

Which, at the time of this writing, for my aarch64 phone is 17.8.7. Hopefully, that will get you up and running PicoLisp on your phone, should you need it.

Linux – keep it simple.

Installing the latest PicoLisp on Ubuntu

While testing out The Quiet Learner‘s game, Dr. Theobold, a text based adventure game written in picolisp, I ran into several issues. As discussed previously, I added these issues to the bug tracker on Savannah. Come to find out, the distributed packages for Ubuntu are using version 15.xxx of picolisp, and The Quiet Learner wrote his program for version 16+. We needed to find out if the old version was the culprit, or if there truly were issues in the game.

So, I updated to version 17.7.6 (a rather interesting numbering, since I tried this the 4th of July week, but that is something else entirely).

As simple as the above statement was, my trek was not quite as simple. I am used to compiling programs. Typically, you start by unzipping the source, using ./configure, then make, and sudo make install. However, this was different.

Of course, I downloaded the source from the link in the PicoLisp Wiki. After that, I unzipped it with the standard

$ tar -xzvf ./picoLisp.tgz

and moved into the new director with

$ cd picoLisp

Once there my usual bag of tricks didn’t work, which is why it is always good to read the instructions. Ends up that I needed to cd into the src64 directory and run make. No ./configure first.

$ cd src64

$ make

And there was no option to make install. Instead I had to manually symbolically link the files, and that is where everything went wrong. You see, the INSTALL file had pre-typed instructions with all 3 links you could use, like so:

# ln -s /<installdir> /usr/lib/picolisp
# ln -s /usr/lib/picolisp/bin/picolisp /usr/bin
# ln -s /usr/lib/picolisp/bin/pil /usr/bin

But after doing that, it didn’t work. It didn’t work because I forgot that the directory was picoLisp, not picolisp. I chased my tail for a while, re-creating the same bad links over and over again until I realized my mistake. Since /<installdir> was not the directory (obviously) I was hand typing picolisp, and it wasn’t working. So, be smart and not like me. Do as I now say, not as I erroneously did!

After straightening it out, it worked great! Actually it cleared up 3 of the issues that I put on the tracker for the Dr. Theobold game. I guess it pays to have the latest and the greatest when it comes to PicoLisp!

Linux – keep it simple.

Using Savanna’s bug tracker

Creating open source apps for Android led me to become intimately familiar with GitHub and the GitHub issue tracker system. However, today I had the opportunity to try out Savannah’s bug tracking system.

I was testing out a great text adventure game by The Quiet Learner called Dr. Theobold. It’s a great game about an eccentric doctor upon whose house you enter. Inside are a multitude of quirky furnishings and numerous puzzles that you must use or figure out to progress through the game. It is reminisce of Shadow Gate intermingled with a collection of puzzle games from a brain training book, without the torches! I highly recommend that you give it a try.

However, the game is still in development, and does have a few bugs. I’ve enjoyed helping the developer by simply playing the game, and noting any peculiarities, crashes, or faults. You can see a list of the write ups here:

https://savannah.nongnu.org/bugs/?group=dr-theobold

savanah3

Overall, the issue tracker for Savannah seems to be functional, but lacks a lot of the “luster” and “polish” of the GitHub issue tracker. Aesthetics aside, it seems to function well enough. A couple of things I feel were missing, however, were the ability to categorize the issues. It assumes all issues were bugs. I tried every drop down box, there seemed to be no place for submitting issues that were “enhancements” or “feature requests” like you see on GitHub. Perhaps I was not using it properly, like I said, this was my first time using it.

Other than that, the ability to quickly attach files and give them comments was a nice feature. I could see using that to handle a visual game, by having screen shots of graphical problems. Either way, it was very straight forward and functioned great in that it did it’s intended purpose: tell the developer that I have submitted an issue, and provide a way to track that issue until it is completed/fixed.

Linux – keep it simple.