Dyalog ’23 Videos: Week 8 – Celebrate Solstice with the Last of Our Dyalog '23 Videos
Whether you are celebrating a winter holiday, looking forward to the days getting longer from tomorrow, or enjoying summer south of the equator, we hope you have time to enjoy the final collection of light-hearted presentations from Dyalog ’23. Andy Shiers has overall responsibility for making sure that Dyalog gets correctly built and tested before […]
Dyalog ’23 Videos: Week 7 – Performance and Scaling
Although run-time performance is rarely the most important reason for selecting APL, good performance often becomes important during the lifetime of an application (especially if it is successful and, therefore, has to deal with growing data volumes and numbers of users). Array-oriented programming naturally encourages Subject Matter Experts to use dense and pointer-free structures, which […]
Dyalog ’23 Videos: Week 6 – Tools and Services
An increasing number of APL systems serve business logic as services, in addition to providing a user interface. Some recent APL applications have no user interface at all, and are only available as services. For this reason, Dyalog’s web service framework, Jarvis, features prominently in Brian Becker’s overview of the current state of tool development […]
Dyalog ’23 Videos: Week 5 – Tools and Interfaces
This week, the focus is on the use of tools and interfaces in applications. Mark Wolfson from BIG integrates data from 1,000 retailers to provide business intelligence to both the retailers and manufacturers. Over the last couple of years, Mark has migrated his application from IBM APL2 to Dyalog APL. He tells the story of […]
Dyalog ’23 Videos: Week 4 – Research and Education
I am always thrilled to hear from people who have been able to use APL to gain insight into difficult subjects, or use APL to pass knowledge on to others. A truly fascinating and surprising example of this at Dyalog ’23 was the talk titled “quAPL – A Quantum Computing Library in APL”, in which […]
Dyalog ’23 Videos: Week 3 – Dyalog Core Development
This week’s collection consists of presentations by members of the development team, and concentrates on language features and development tools that the developers are currently designing or already implementing. Many of these features are likely to be in version 20.0 of Dyalog, which we plan to release in early 2025, about a year after version […]
Dyalog '23 Videos: Week 2 – APL Problem Solving Competition
The section that is dedicated to the annual APL Problem Solving Competition is always one of my own favourite parts of a Dyalog user meeting, and the talks by the two winners this year were no exception. It is always a treat to hear about how the student winners are able to go from zero […]
Welcome to the Dyalog '23 Videos!
Welcome to the 2023 edition of the Dyalog user meeting presentation recordings. This year, we plan to release a few talks each week until the Winter Solstice – and I will be doing my best to introduce each block of related talks. Week 1 – A New CEO! For the 19th year running, the annual […]
Formal Proposal for APL Array Notation – Seeking Feedback
One of the defining features of the APL language is the ability to denote numeric vectors directly through juxtaposition — separating the elements by spaces, as in 0 1 1 2 3 5 8. The notation for character “vectors” is similar to that for “strings” in most other languages, using quotes to denote the start […]
11 April 2023 – A Day to Celebrate!
Today we reach two very significant milestones. 40 Years of Dyalog APL On this day, we have cause for celebration: it is 40 years since the release of Dyalog version 1.0! Geoff Streeter would say that from his perspective we are already in the 42nd year, as he and John Scholes started work on the […]
Extending Structural Functions to Scalars
Traditionally, the set of monadic reversing or reflecting primitives, Reverse-First (⊖), Transpose (⍉), and Reverse (⌽) apply to entire arrays and are defined as identity functions on scalar arguments. Dyalog v19.0 extends the definitions to provide equivalent reflections on scalars. Character Data We expect that the new transformations will be most useful on characters. For example: (⍉’A’)(⌽’P’)(⊖’L’) […]
Structural vs. Mathematical "Under"
The APL Farm has recently hosted discussions about the proposed under operator, asking “why Dyalog hasn’t implemented it a long time ago”. I claimed that an important reason was that Roger Hui wasn’t a big fan of the proposed extension known as “structural under”. Stefan Kruger then asked me why that was so. Since Roger […]
Announcing the Beta Programme for Dyalog APL Version 18.2
I am very pleased to be able to announce the start of the Beta testing of the next release of Dyalog APL! As explained in June, we decided to delay the release of version 18.1 in order to take a closer look at some of the optimisations that had been implemented in 18.0 (and were […]
Essays on APL Since 1978
In June, Mikhail Barash and Anya Helene Bagge published a collection of essays written by the students of the seminar course INF328B on History of Programming Languages that was given at the University of Bergen (Norway) in the Spring term 2021. As an author, I wish to start by thanking Mikhail and Anya and the […]
Thank You Ian Sharp
On July 16th, one of the most influential founders of what we today refer to as the “array language community” died peacefully, a few months after being diagnosed with lung cancer (link: Toronto Globe and Mail). In 1964, Ian Patrick Sharp formed I.P.Sharp Associates (IPSA), together with six colleagues who were made redundant when Ferranti-Packard […]
The APL Orchard
If you have not already been there, I highly recommend visiting the APL Orchard (apl.chat). Adám Brudzewsky originally started this chat room on Stack Exchange to teach and answer questions, including many successful introductory sessions to people who wanted to learn APL. Since then, it has become an extremely active discussion forum, with a very […]
Dyalog '20 – Recordings Now Available
We are happy to announce that the full set of recordings from Dyalog ’20 online is now available. So if you missed the all or any of the talks, or would like to revisit one of the presentations, head over to https://dyalog.tv/Dyalog20! It was disappointing not to be enjoying Portuguese food and drink with you […]
Warming up to Dyalog ’20 Online with the last Recording from Dyalog ’19!
Three weeks from today, Gitte Christensen and I will be opening the 2020 Dyalog user meeting. Like so many similar gatherings, we are moving online; this year’s meeting will consist of two 4-hour sessions on Monday 9th and Tuesday 10th November, running from 14:00 to 18:00 UTC. Our hope (so far confirmed by advance registrations) […]
Dyalog ’19 Videos: Week 10
The release of the final set of videos from the Dyalog ’19 user meeting in Elsinore slipped into 2020, thus providing me with a perfect opportunity to wish you all a Happy New Year from all of us at Dyalog! We are wrapping up with recordings from the Prize Ceremony for the 11th annual Problem […]
Dyalog ’19 Videos: Week 9
Depending on which day you decide to watch this recording, you may get a different answer from the one that Richard did as he answered his own question (“Is It Christmas Yet?”) in the first minute of his presentation. Of course, the true purpose of the talk was to show off a potential new system […]
Dyalog ’19 Videos: Week 8
When Aaron Hsu was at Dyalog ’19 in Elsinore, he was preparing the defence of his PhD Thesis on A Data Parallel Compiler Hosted on the GPU. In his talk “Lessons for the Masses from the Trenches of Co-dfns” he looks back on some of the key lessons learned while working on the PhD and […]
Dyalog ’19 Videos: Week 7
Week 7 features talks by two recent additions to the Dyalog team. Richard Park joined Dyalog a year ago, and his primary focus is the production of new teaching materials. Nathan Rogers is the newest member of our US consulting team and is based in Denver, Colorado. Jupyter notebooks have recently become a very popular […]
Dyalog ’19 Videos: Week 6
Scrinium is a portfolio management system that can handle a comprehensive range of financial assets, collect them into “portfolios”, and compute returns (SR, ANN, TWR), risk (Std, VaR, Duration, Convexit, Delta, Gamma, Sharpe) and relative risk (Alpha, Beta, Jensens Alpha, Tracking Error). It deals with benchmarks, and so on and so forth. However, Claus Madsen’s […]
Dyalog ’19 Videos: Week 5
In week 5 of the Dyalog ’19 videos, Francesco Garue tells how, after APL Italiana was acquired by SimCorp and became SimCorp Italiana, the two development teams got to know each other by sharing some code. At the time, APL Italiana’s SOFIA product contained a “Rebalancer”, a central component of Asset and Liability Management systems, […]
Dyalog '19 Videos: Week 4
Welcome to week 4 of the Dyalog ’19 recordings! This week, Tommy Johannesen of Jersie Data tells us about an interesting application that he has written in Dyalog APL. In the Copenhagen area, many school children are “fed with APL” in the sense that Tommy’s APL system connects the parents of ten thousand hungry children […]
Dyalog '19 Videos: Week 3
In the third week of Dyalog ’19 recordings, Stig Nielsen from SimCorp A/S talks about recent work to turn a very large body of APL code, originally designed to work well on workstations, into a 3-tier solution. This requires turning everything “inside out”, making the application a service that can be called from cloud-based components. […]
Dyalog '19 Videos: Week 2
Welcome to the second week of recordings from Dyalog ’19 in Elsinore! This week we are featuring three presentations about work that is either already available, or will appear in Dyalog version 18.0 in 2020. All three talks are by members of the Dyalog development team, but Adám Brudzewsky’s talk on APLcart is labelled U14 […]
Welcome to the Dyalog '19 Videos!
It is still true that most APL users live north of the equator, which means that at this time of year the sun is below the horizon more than half the time. It’s the perfect time to snuggle up in a warm place and watch some videos, and we’ll be offering you about three a […]
A Blustery Spring
Dyalog version 17.1 will be released soon, with the HTMLRenderer working under Windows, macOS and GNU/Linux, the “Link” system providing infrastructure for connecting APL to source code management systems, pre-built Docker containers with Dyalog APL for Linux installed and many other enhancements that simplify the installation and maintenance of systems based on Dyalog APL. We’ll […]
Dyalog '18 Videos, Final Week
Welcome to the eighth – and final – week of recordings from the Dyalog User Meeting in Belfast! I’d like to take this opportunity to thank all the speakers who helped make Dyalog ’18 another valuable experience! Fittingly, we’re wrapping up with a larger, and even more varied collection than usual: two talks by members […]
New York Dyalog Meetup
I am very pleased to announce the creation of the New York Dyalog APL Meetup group, details of which can be found online at https://www.meetup.com/New-York-Dyalog-APL-Meetup/. The meetup has been created and is organised by Paul Mansour, who is also sponsoring the venue for the inaugural meetup, scheduled for 6-9pm on Thursday February 7th, at Alley, […]
Dyalog '18 Videos, Week 7
Our stated goal has been to provide variety each week, and I’m happy to say that I have not been able to find any kind of theme in this penultimate set of presentations from Dyalog’18 in Belfast. Although the three technologies presented are all very useful, that is the only thing that they seem to […]
Dyalog '18 Videos, Week 6
Happy New Year – and Welcome to the 6th week of Dyalog ’18 video releases! If you enjoy geometry, 2019 starts with a couple of real treats; one which builds up to the use of complex numbers just before the end, and another which starts with them and moves on to Quaternions. Alternatively, if you […]
Dyalog '18 Videos, Week 5
We are releasing four talks this week from Dyalog ’18 in Belfast. Three of them focus on techniques for deploying APL applications across all the platforms supported by Dyalog APL, in particular Microsoft Windows, Apple macOS, and GNU Linux on x64 platforms (many tools will also work under IBM AIX and on the Raspberry Pi). […]
Dyalog '18 Videos, Week 4
This week is mostly a deep dive into the new world of storing source code in text files rather than workspaces and other “binary” formats. However, in case that is not your cup of tea yet, we can offer you another talk by Marshall Lochbaum, who presents more amazing algorithms to make the very widely […]
Dyalog '18 Videos, Week 3
The four presentations from Dyalog’18 that we are releasing this week address both the visible (user interface) and invisible (performance) parts of application design. Starting with performance: This quote was at the heart of the talk by our invited keynote speaker Martin Thompson. In order to write software which performs well, you need to have […]
Dyalog '18 Videos, Week 2
Each week until early January, we will be releasing a selection of recordings of presentations from Dyalog’18, which was held in Belfast at the end of October 2018. Last week we kicked off with the opening keynote talks and the prize ceremony and acceptance speech by the winner of our annual problem-solving competition. Just under […]
Welcome to the Dyalog '18 Videos!
Three weeks have gone by since we waved goodbye to the last Dyalog ’18 delegates in Belfast. We’ve had time to catch up on sleep, half of us have had colds and recovered from them. Jason Rivers and Richard Park have started mixing and improving the audio and video recordings, and we are ready to […]
Beauty and the Beast
Finally, the last accessory I ordered for my Raspberry Pi Zero (that’s the little red thing behind my keyboard) has arrived – an Acer 43″ ET430K monitor. The Zero won’t quite drive this monitor at its maximum resolution of 3840×2160 pixels, but as you can see, you get enough real estate to do real graphics […]
Charting Reaction Times on the Raspberry Pi
Earlier this week I collected some reaction timer data on my Pi using the BBC micro:bit as an input device. I only produced an “ASCII art” chart at the time: times←ReactionTimer.Play times 251 305 294 415 338 298 294 251 378 ReactionTimer.AsciiChart times 425| 400| * 375| * 350+ 325| * 300| […]
micro:bit Reaction Timer in APL on the Pi and BBC micro:bit
I have a bit of a cold today, so I decided that instead of hopping in an icy car and driving to the office in order to spend the day drinking coffee and answering e-mail, I should stay at home, turn up the radiators, make lots of tea (with honey!) and have some fun writing […]
Morse Code – Revisited using the BBC micro:bit
As mentioned last week, I have found a new way to provide a front end processor for my Pi, the BBC micro:bit. This week, I have started putting the new system through its paces: The microbit class in our GitHub repository has been beefed up to make it more resilient in the case where serial […]
Raspberry APL Pi and Python on the micro:bit
A couple of years ago I spent many happy hours writing APL code to control robots which each embedded a Raspberry Pi. It was fun but it was a bumpy ride – my interest eventually faded when I discovered that it was just too difficult to make sense of raw accelerometer data, which I was […]
Dan Baronet
We do not know the details, but Dan’s luck ran out this week. On Tuesday, as he headed South from Nevada into California, en route to Mexico on the first leg of a four month motor cycle adventure to South America, something went wrong … Dan lost control of the bike and collided with a […]
Rencontres Dyalog APL 2016 – Paris, France
It is really good to see APL events come back to life! In April of 2014, we witnessed the re-birth of SWEDAPL, which had been dormant for some time – but now meets twice a year and is perhaps the most vibrant APL meeting on our circuit, with many young developers developing new products and […]
FinnAPL Forest Seminar 2016
Finns probably have better reasons to look forward to spring more than most of us: not only does it get much easier to keep that hole in the ice open, it is time for the annual FinnAPL Forest Seminar! This year, just under 20 of us gathered for two days (Thursday March 10th and Friday […]
Happy New Year from the CXO!
To all our existing users, business partners and friends we have not yet met: Happy New Year from everyone at Dyalog – we hope that we can be of service to you in the year(s) to come! But what – or who – is a CXO? Well, according to Wikipedia, a chief experience officer (CXO) is the […]
SWEDAPL Meeting in Malmö, November 11th 2015
The November cycle of APL User Meetings is kicking off; the SWEDAPL meeting in Malmö was first this year, holding a meeting at the top of the famous Turning Torso in Malmö. Since it was just a short trip from our Danish office, Dyalog was represented by Gitte Christensen, Bjørn Christensen and Morten Kromberg – […]
Over the Moon with Selenium
Over the years, I have become more and more reluctant to write code without good regression tests – 35 years of software development have taught me that it is just too dangerous! Regression testing of user interfaces has always been difficult, but for the last few weeks I have been working with technologies that put […]
Response to Name Colouring for Dfns
This post contains comments to John Scholes’ post on name colouring; please continue to post any further comments with the original post. This is a very interesting topic – as the discussion has already showed, there are many different needs. It seems to me that some of the suggestions that have been made are forms of highlighting […]
Spring 2015 Dyalog Travelogue (An American Tale: Dyalog Goes West)
Concluding Morten and Gitte’s whistlestop tour round Europe before heading to the US (see parts 1 and 2) On Saturday afternoon we passed through London’s Heathrow airport for the third time in 5 days, this time continuing west to JFK, bringing the total for the week to 8,943km plus 300-odd in 3 different cars, 220 […]
Spring 2015 Dyalog Travelogue (The Saga Continues)
Continuing Morten and Gitte’s whistlestop tour round Europe before heading to the US for DYNA15 Day 3: Bramley-Bingen Job interviews done by lunch-time, and we hopped in the car (without lunch) to Heathrow, flew to Frankfurt and finally arrived at Bingen at sunset, just in time for some Weissbier and Flammkücken with the other early arrivals. […]
Spring 2015 Dyalog Travelogue (Ferries, Trains, Planes and Automobiles)
One of my favourite times of the year is the period in March/April where we traditionally start with a visit to the FinnAPL Forest Seminar followed by the APL Germany Spring Meeting. This year there are two new stops to make: the Swedish APL Group has started holding meetings twice a year too – and […]
Turning to a Heading with an MPU-9150
As the odour of fried electronics dissipates in the air, I’m unexpectedly afforded the opportunity to write this blog post a day or two earlier than planned. The on-board compass was exhibiting significant deviation, so I consulted my nephew Thorbjørn Christensen at DTU-Space. Thorbjørn makes a living designing magnetometers for space agencies around the world, […]
Making Controlled Turns with the DyaBot
This blog originally started when I took delivery of the DyaBot, a Raspberry Pi and Arduino based variant of the C3Pi running Dyalog v13.2. The architecture of the ‘bot and instructions for building your own inexpensive robot can all be found in blog entries from April to July of last year. The downside of only using inexpensive components is […]
Dancing with the Bots
Last week the ‘bots were busy preparing for the J Language Conference in Toronto, where they made their first public appearance together. Upon returning to Bramley they continued training and we are proud to present the first recording of their new dance: [embedplusvideo height=”400″ width=”584″ editlink=”http://bit.ly/1u6Knob” standard=”http://www.youtube.com/v/oO50UqFBsCw?fs=1&vq=hd720″ vars=”ytid=oO50UqFBsCw&width=584&height=400&start=&stop=&rs=w&hd=1&autoplay=0&react=1&chapters=¬es=” id=”ep3993″ /] The ‘bots are both running […]
Aligning Diff Output
‘Bots are off limits this week so here is a story from this year’s Iverson College – a fantastic week spent in the company of a wonderful mixture of array and functional language gurus and newbies, all learning from each other. One evening, Dhru Patel presented a problem that he was working on which involved […]
The Blog is Back!
It is now 3 weeks since we shipped Dyalog version 14.0 and released the new Dyalog web site, so it’s probably time to stop celebrating and get back to work. The ‘bot batteries have been recharged and the ‘bots are learning to work as a team using v14.0 futures and isolates. That’s all I can […]
APL-Controlled Robot Performs Death-Defying Stunts Using PiCam
Regular readers will remember my whining about the poor precision of both infra-red and ultrasonic sensors. But today, the Raspberry Pi / Dyalog APL – controlled “DyaBot” was observed driving on a dinner table – where the slightest navigational error could mean a 3-foot plunge and certain death! How can this be? [embedplusvideo height=”400″ width=”584″ editlink=”http://bit.ly/19azC9S” […]
PiServer at Thor8.dk
I’ve been wanting to run a Web Server from my home for many years. In fact, I have been paying for the domain Thor8.dk (my street address is Thorsvænget 8), and a fixed IP address for 5 years now – without getting it implemented. But today, with a little help from Jason Rivers who helped […]
Comparing Sonar and InfraRed Data
Of course, it was an illusion that I would be able to get straight back to the robot after vacation, there were a few other jobs waiting like the Dyalog’13 Conference Programme (the DyaBot will be making a couple of appearances, of course!). However, it appears I have now made enough flour to be able […]
Return to the Robot
It has been more than a month since my last blog post, and you’d be forgiven for thinking that I’d lost interest in robots. It *is* true that I have been rather distracted by customers, including a trip to the USA. It is also holiday season, and I have been to a music festival. However, […]
Sonar Arrives for the Robot
Following the release of Dyalog APL for the Raspberry Pi came a hectic week with no time to play… But now the next sensor has arrived, so it is time to power the robot back up. In the video below, we practice turning it through 180 degrees using APL. [embedplusvideo height=”356″ width=”584″ standard=”http://www.youtube.com/v/W6IIcNK0g0U?fs=1″ vars=”ytid=W6IIcNK0g0U&width=584&height=356&start=&stop=&rs=w&hd=0&autoplay=0&react=1&chapters=¬es=” id=”ep8492″ […]
APL at work in Africa
My dad is originally from the Cape, and I grew up in Botswana, so hopefully I can be forgiven for feeling that it is very cool to find Dyalog APL at the core of a project which aims to increase financial literacy and support the financial stability of small and medium-sized enterprises in South Africa, […]
Elementary Cellular Light-Emitting Automaton
In response to an earlier post on driving an 8-bar LED using the Raspberry Pi, Roger Hui commented that 8 lights should be sufficient to display the output of a 1-d Game of Life. The code snippets displayed in this post are based on some working code that Roger was also kind enough to forward to me. The […]
Dyalog APL v14.0 Tech Preview
And now, as they say, for something completely different. Our robot is running Dyalog APL version 13.2 for the Raspberry Pi, which was released on our major platforms (Windows, Linux, AIX) in January 2013. The next release of Dyalog APL will be version 14.0, which currently has a tentative delivery date of “sometime in the 1st […]
Dyalog APL now available for the Raspberry Pi!
Although the news had not yet appeared on the Dyalog webpage when this was written, the CTO blog has access to exclusive sources and is therefore able to present this scoop: The big day has finally come – Dyalog APL version 13.2 is now available to anyone with a Raspberry Pi, and can be downloaded […]
Fun with APL on the Raspberry Pi (without a Robot)
The official release of Dyalog APL for the Raspberry Pi now looks as if it going to happen on Friday! In preparation for this, we have been working on some examples to demonstrate things you can do on your Pi without a set of wheels attached – like making lights blink! [embedplusvideo height=”356″ width=”584″ standard=”http://www.youtube.com/v/ztLIQgszE1s?fs=1″ […]
Visualising Sensor Data using APL on the Robot
As described in a recent post, our robot now has an Infra-Red distance sensor, which allows us to measure the distance from the front of the robot to the nearest obstacle. With respect to the autonomous navigation code that we wish to write, this will be the cornerstone! In order to evalute the perfomance of […]
C3Pi Opens Eyes at the APL Moot
This weekend, the Dyalog C3Pi reached the final stop on the European spring tour, attending the British APL Association’s Annual General Meeting and “Moot” just north of London, where the robot met the famous mice from Optima. The day before, the C3Pi also travelled to an OSHUG meeting in London on Thursday, where Romilly Cocking was talking about quick2link. Alas, poor C3Pi was […]
Driving my Pi
Back from the APL meeting in Hamburg, where my C3Pi made it’s first appearance on German soil (and a few days meeting with APL users in Milan). I’ve extended the control program which was used to make last week’s figure 8 video to give me some “hand controls”. I do appreciate that it is inadvisable for humans to […]
APL – Coming to a Robot Near You
APL on the C3Pi One of the biggest joys of being the CTO of Dyalog is that you get to write code to help evaluate prototypes of proposed language features, or new tools and tutorials that we are planning to make available. This past week has been one of the most exciting for a very […]