Dyalog User Meeting in Olhão Portugal, 9th-13th October 2022 Dyalog’s user meeting in Portugal this year was a huge success and it was so exciting to feel and hear that buzz that only comes from face to face gatherings. The event was held in Olhão Portugal not far from Faro airport on the southern coast. We were blessed with fine … Read More
Creating a Graphical User Interface (GUI) in Dyalog APL (Part 1)
One of the most important things about an application is the Graphical User Interface (GUI for short) as this is how users interact with your app. This is why, over a series of posts, I am going to show you how to build a basic GUI in Dyalog APL.Create a blank form In this post I will be using ⎕WC … Read More
Advent of Code 2020 – And the Winner Is…
Another year comes to a close and brings with it the end of another excellent Advent of Code. Here at Optima, the spirit of competition remained high throughout; Roy kept up a close tail, but nobody was able to catch Jonners on his way to victory. With that said, Jonners took the Optima trophy, along with the overall prize. In … Read More
Programming Challenge: The Year Game
Happy New Year! At the start of this year, I remembered a challenge that Dyalog had come up with back in 2016 that was focused around the year 2016. So, I decided to see how I would get on trying the same challenge with the year 2021. The challenge The challenge is to write a series of expressions using the … Read More
Advent of Code 2020 Day 5 – Our Solutions
Airports can be hectic, especially around Christmas. Nobody wants to get stuck and miss their flight, even if it is completely hypothetical. Advent of Code’s day 5 question deals with a chaotic situation of boarding passes and locating your seat on a plane; seems a distant memory now with all that’s going on in the world… Your given input is … Read More
Advent of Code 2020 Day 1 – Our Solutions
The holiday season is among us, and that can only mean one thing…Advent of Code is here! Optima is hosting a little internal competition this year to see who can get the most stars. This has genius from all corners of the office, and I thought it would be nice to show off the different thought processes from some of … Read More
Quines – A Puzzling Programming Novelty
My introduction to APL consisted of using the language to solve a number of quick puzzles; the phase 1 problems from Dyalog’s annual Student Competition. It was a fantastic way to get to grips with each of the glyphs and the capabilities of the language. While the puzzles were a far cry from real life problems, and the solutions a … Read More
Using Booleans (with some Dyalog APL examples)
Booleans are one of the most prominent data types used throughout computing. In programming, Booleans are mainly used in logic problems and can be used and manipulated in many ways. What is a Boolean? A Boolean is a data type used to identify a value which can only be true or false, sometimes represented as 1 or 0, respectively. The … Read More
Pervasion of Ambivalence in APL Functions
Introduction I was recently tasked with modifying a Dyalog class currently running under Dyalog 16 so that it would run under Dyalog 17.1. The class in question was used to serialize APL data into a JSON format and back again. The problem was that it made use of the two I-beams 7159 and 7160. These are deprecated in 17.1 so … Read More
Using a MIDI Controller With Dyalog APL
As well as being a programmer, I am a hobbyist musician. At school and in my spare time I have studied music production and music theory. I occasionally write pieces of music and I recently received a MIDI controller as a gift. Being a programmer one of my initial thoughts was ‘how can I code an interface to this device?’, … Read More
Could the Coronavirus Lockdown Be an Opportunity for Our Organisation?
The Spring Mini Conference For the past twelve years the British APL Association’s (of which I’m the Editor and Optima Systems MD Paul Grosvenor is the Chairman) London group has been holding a regular symposium on the last Friday of the month only skipping December and the odd date that clashed with a royal wedding to avoid the crowd. This … Read More
Checking for Palindromes in APL, Python and other Programming Languages
Recently we had a special date on the calendar, that some of you may have noticed. The date in question is February 2nd 2020, which when written in any of these formats: DD/MM/YYYY (UK), MM/DD/YYYY (US) or YYYYMMDD (ISO), is in fact a palindrome (excluding ‘/’ or other symbols). This made me think about how I could check for palindromes … Read More
Version Management in Dyalog APL
Version management is a vital component of any software development project. The ability to revert to previous version of a project in the case of disastrous bug or misguided feature is one that any developer is glad to have in their back pocket. What is a source code manager? A source code manager (SCM) is software that assists in managing … Read More
Left and Right Tack in Dyalog APL
Tack (⊣ ⊢) – What is it good for?! Dyalog APL offers two symbols which do, on the surface, a seemingly pointless task. I’m referring to left tack (⊣) and right tack (⊢). As with most APL functions, they have two uses depending on their number of arguments: monadic, if used only with a right argument; or dyadic if used … Read More
Rendering HTML in Dyalog APL
I was inspired by the talks of Brian Becker and Josh David at the Dyalog’19 user meeting to try out some of Dyalog 17.1’s newer methods of GUI implementation. On the Sunday 8th of September – the unofficial first day of the conference- I attended their workshop on rendering HTML in Dyalog APL. Realising the potential for modernisation in our … Read More