Day 11: sky
It’s up there, somewhere. #mbapr

Walked a different way to work today. The detour was only a couple of blocks but it was actually quite stimulating seeing an area of the the city I hardly know. Refreshing.
Day 10: train #mbapr

Go to prod early because you never know what surprises you’ll encounter when you deploy (cough Cloud Formation cough).
Had a crummy afternoon at work today. Had to make some fixes that were quite urgent, and forgot to verify something. Good new is that when I verified it this evening, it worked as expected: no nasty surprises or bugs. So relieved! ๐
Everything’s coming up Leon. ๐
Getting in line for the cafรฉ to open.

Actually, this pigeon is more patient than I am. I decided to go somewhere else.
Day 9: crispy
I guess you could describe these autumn leaves as crispy. Well, maybe a couple of weeks ago you could. With all the recent rain we’ve had, I guess they’ve gone soggy now. #mbapr

Dealing with money is annoying. Dealing with money using Go’s big.Rat
type? Really annoying.๐ฎโ๐จ
Six Appeal #9
โฌโฌโฌ๐จ๐จโฌ โ๏ธ
๐จ๐จ๐จ๐จ๐จ๐จ โ๏ธ
๐จ๐จ๐ฉ๐จ๐จ๐จ ๐ซ
๐จ๐จ๐ฉ๐จ๐จ๐จ ๐ซ
๐จ๐จ๐ฉ๐จ๐จ๐จ ๐ซ
๐ฉ๐ฉ๐ฉ๐ฉ๐ฉ๐ฉ โญ
3 minutes, 16 seconds - total score: 704
Apparently the correct answers are real words.
Day 8: prevention
An ounce of this? Well, not quite. I can’t prevent myself getting sick abroad, but I try to take a few things to save myself needing to go to the chemist. This idea came from my previous job, which took quite a lot of effort preventing people getting sick while travelling. #mbapr

Small Calculator Commands
This page documents the extra commands from Small Calculator. These were taken from source code, pretty much as is, but styled to suite the web, and any spelling mistakes fixed. These were retrievable from the application itself by typing “help” follow by the command.
Available Commands
The list of available commands are as follows
BLOCK <statements> Executes a block of statements
HELP [topic] Display help on topic
DEFFNC <function> Defines a new function
ECHO <text> Displays text on the line
ECHOEXPR <cmd> Executes a command and displays the result
EXEC <file> Executes a file of commands
FUNCTIONS Displays all predefined functions
IF <pred> Does a command on condition
RETURN <val> Sets the return value
RETURNEXPR <cmd> Sets the return value to the result of <cmd>
Type "HELP <command>" to see infomation on a command
BLOCK
BLOCK {<cmd1>} {<cmd2>} ...
Executes a block of commands.ย The commands can be any statement including other block statements.
DEFFNC
DEFFNC <fnname>(<parameters>) = <command>
Defines a new function.ย The function name can only consist of letters
and numbers.ย Only a maximum of 4 parameters can be used in the
parameter list.ย Parameters are required to be referred to using
$
Example:
deffnc test(x) = $x + 2
-- Adds two to any number
deffnc sign(k) = if ($k < 0} {-1} {if {$k > 0} {1} {0}}
-- Returns -1 if k is negative, 1 if k is positive and
0 if k is 0.
Functions can be recursive if using the “if” command.
ECHO
ECHO <string>
Displays a string on the console.
ECHOEXPR
ECHOEXPR <command>
Executes a command and displays the result on the console.
EXEC
EXEC <filename>
Executes a file of commands.ย Lines starting with “;” are considered comments.ย Lines ending with "" are considered incomplete and the next line is appended (after trimming) to the end of that line.
FUNCTIONS
functions
Displays all predefined functions.ย No user functions are included.
IF
IF {<cond>} {<truepart>} {<falsepart>}
If the result of
HELP
HELP [topic]
Displays a help topic on the console window.ย Use “HELP
RETURN
RETURN <val>
Sets the return value to
RETURNEXPR
RETURNEXPR <cmd>
Sets the return value to the return value of
Small Calculator
Date: Unknown, but probably around 2005
Status: Retired
Give me Delphi 7, a terminal control, and an expression parser, and of course I’m going to build a silly little REPL program.
I can’t really remember why I though this was worth spending time on, but I was always interested in little languages (still am), and I guess I though having a desk calculator that used one was worth having. I was using a parser library I found on Torry’s Delphi Pages (the best site at the time to get free controls for Delphi) for something else, and after getting a control which simulated a terminal, I wrote a very simple REPL loop which used the two.

And credit to the expression parser developer: it was pretty decent. It supported assignments and quite a number of functions. Very capable for powering a desk calculator.

For a while the app was simply that. But, as with most things like this, I got the itch to extend it a little. I started by added a few extra commands. Simple things, like one that would echo something to the screen. All quite innocent, if a little unnecessary. But it soon grew to things like if statements, blocks using curly brackets, and function definitions.
It even extended to small batch scripts, like the one below.ย The full set of commands is listed here.
x := 2
y := 3
if {x = y} {echo 5} \
{echo 232}
return
These never went anywhere beyond a few tests. The extra commands was not really enough to be useful, and they were all pretty awful. I was already using a parser library so I didn’t want to spend any time extending it. As a result, many of these extensions were little more than things that scanned and spliced strings together. It was more of a macro language rather than anything else.

Even with the expression parser the program didn’t see a great deal of use. I was working on the replacement at the time which would eventually be much more capable, and as soon as that was ready, this program fell out of use.
Even so, it was still quite a quirky little program to make a bit of an impression.
Day 7: well-being
“An apple a day,” and all that. Kinda wish I liked apples more than I do (I don’t really like them that much). #mbapr

๐ Crying Myself to Sleep on the Biggest Cruise Ship Ever
A really great read.
Iโve never been on a cruise. This, plus the many jokes Iโve heard from comedians that have worked cruises, is probably the closest experience Iโll ever get to cruising. After reading it, itโs definitely not for me.
Oof, glad I bought an unbrella. Even if itโs a $10 piece of junk with half the stretchers broken. At least half of me will be dry after the walk home. โ๏ธ
๐ฅ I’ve released a video tutorial on how to use and configure the Sidebar For Tiny Theme. This walks through the process of creating and using a custom Micro.blog theme to configure the sidebar with custom HTML. Hope others find it useful.
It strikes me as odd seeing articles from those that continue to mourn the loss of Twitter and complain about itโs owner, only to go on and continue to use Twitter.
Of course, Iโm the one that continues to read these articles. So whoโs really the odd person here? ๐
Day 6: windy
Sails of modernity. #mbapr

Day 5: serene
The Remarkables, Queenstown, NZ. Taken March 2013. #mbapr

Vivaldi can learn a thing or two from Safari about being able to copy and paste a HTML table into a spreadsheet. Safari does quite well here:

Vivaldi, not so much:
