Tech stuff: Julia, Vim & Vizardry

Been doing lots of tech stuff lately. Here’s a sharing of some highlights.

Through the years I’ve been programming in more than a dozen different languages. Since many years I have more or less settled on Ruby besides my HP-41 projects programmed in FOCAL and MCODE. Now and then I get this urge to learn a new programming language, and after an extensive search for something neat, I finally landed on Julia. I’m trying her out while reading the book, “Getting started with Julia Programming Language“.

The book is good. The programming language seems excellent. It boasts a complete GitHub-based package system to extend the language with various modules. Although it’s a general purpose language, its strength lies in maths and natural sciences. It’s very fast and with a pretty clean and natural syntax. You can even do straight forward math like this:

f(x) = 2sin(3x)^2

And by then executing the function “f” with x as 0.8, you get the answer straight:

f(0.8)
0.9125010165605526

There is a chance I could be falling in love here 🙂

I’ve also been doing lots of work on my Conky setup resulting in this as my “bare” desktop:

conky

If you have any questions about scripts or conky setups, just ask by leaving a comment here.

Then there is VIM – perhaps my the tool I use the most. I’ve been using VIM for writing everything from HyperLists and notes to e-mails, short stories and books since around 2001. It’s a fantstic text editor. But it lacks a good package manager for add-ons :-/

But then I found Vizardry. Using Pathogen as a base to install extensions, Vizardry will let you search for add-ons, install it with a breeze and remove it just as easily. If you’re a VIM user, this is a must. Go get it! You will thank me 🙂

HP-41: CLR & STATUS

I’ve had this simple program on my HP-41 for years, “CLR”. It clears the registers, stack and Alpha as well as setting the correct flags and time/date formats. It also checked to see if the clock had been reset (as it does when the battery runs out) and prompts for Time and Date if it has.

Meeting Garth and Joe at our "mini HHC" (the yearly HP Handheld Club is in the autumn). Great to meet with some fellow geeks and talk HP calculators. Yeay!

Meeting Garth and Joe at our “mini HHC” (the yearly HP Handheld Club is in the autumn). Great to meet with some fellow geeks and talk HP calculators. Yeay!

On my trip to the US, I met with Joseph Horn and Garth Wilson. And it was from Garth I got the idea to extend my CLR program to include a simple status line with the current week number, the current moon phase (percentage of illumination of the moon) as well as the time remaining to the next upcoming alarm, if any.

The moon going through its phases

The program is simply run by XEQ “CLR”. This clears all register, stack and Alpha as well as setting the right combinations of flags. It returns with zero in the display. If you press R/S it will prompt for “DATE^TIME” if the clock has been reset (DATE, Enter, TIME) and then display a status line: (ALARM) WEEK# MOON% – Example: “01:32 27 -35%” which shows it is 1 hour and 32 minutes till the next alarm goes off (no such number if there are no future alarms), it is week #27 and the moon is illuminated 35% and it is waning (a positive number means the phase is waxing/growing). Pressing R/S again shows the running clock (the CLOCK command). You can also access the status line (and then the clock by pressing R/S) by XEQ “STATUS” without having to clear registers, stack and Alpha first (thanks Anette).

Here’s the program listing.

Hope this is of use to someone 🙂