It’s been another busy day at Dyalog ’14; there’s lots to write about and little time to do it!
Winners of the International APL Programming Contest 2014
This year, 710 registrations were received for the annual APL Programming Contest and the two main winners – Emil Bremer Orloff, student entrant from Aarhus Universitet, and Iryna Pashenkovska, professional entrant from SimCorp and a recent Engineering Mathematics graduate of National Taras Shevchenko University of Kyiv – won invitations to Dyalog ’14 as part of their prizes where they each made presentations about their contest submissions. Look forward to the videos of their presentations which will be available shortly!
Emil Bremer Orloff
Iryna Pashenkovska
Emil Bremer Orloff
Iryna Pashenkovska
Discussion Point: Data Binding – Reloaded
John Daintree showed more aspects of Dyalog’s data binding. Did you know that you can bind to XML stored in files? Did you know that you can create DataTables to bind to an APL matrix? The cddb database sample was re-worked to allow the GUI to bind to the data in a matrix as an alternative to vectors of namespace. Syncfusion controls were used to visually explore the cddb data.
John discussed changes that might come in 14.1, including better support for bound matrices.
Discussion Point: Syncfusion Controls
Late yesterday, Brian Becker showed how to take advantage of the Syncfusion Javascript controls that are bundled with Dyalog v14.0 on all platforms. This morning, Morten Kromberg and Michael Hughes followed up with demonstrations of how easy it is to enhance applications with Syncfusion controls for Windows Presentation Foundation, which are included with the Windows editions of version 14.0.
With Dyalog (as in any Microsoft.NET language), you have the choice of instantiating and manipulating WPF objects with APL language statements, or using declarative eXtensible Application Markup language, which can either be edited by UI design experts using WYSIWYG tools, or (of course) generated from APL.
A Syncfusion RangeSliderControl
A Syncfusion “Sparkline”
Code sample for the RangeSlider:
∇ window←RangeSliderControl values;⎕USING;r;t
[1] ⍝ Simple Sparkline example - inspired by Dick Bowman
[2] ⍝ More at http://www.apldapldoo.info/apl/APL/Tutorials/WPF/SyncFusion/overview.html
[3] ⍝ values: Numeric vector of values
[4]
[5] :Section xaml
[6] xaml←ScriptFollows ⍝ Picks up following comments as data
[7] ⍝<Window
[8] ⍝ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
[9] ⍝ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
[10] ⍝ xmlns:sftools="clr-namespace:Syncfusion.Windows.Tools.Controls;assembly=SyncFusion.Tools.WPF"
[11] ⍝ Title="Syncfusion Range Slider" SizeToContent="Height" Width="400">
[12] ⍝ <StackPanel>
[13] ⍝ <sftools:RangeSliderControl Name="rangeslider" />
[14] ⍝ <TextBox Name="textbox" MinHeight="25" MinWidth="100"
[15] ⍝ HorizontalContentAlignment="Right"
[16] ⍝ VerticalContentAlignment="Bottom"
[17] ⍝ Background="Turquoise"/>
[18] ⍝ </StackPanel>
[19] ⍝</Window>
[20] :EndSection
[21]
[22] window←LoadXAML xaml
[23] (r t)←window.FindName∘⊂¨'rangeslider' 'textbox'
[24] ⎕USING←,⊂'Syncfusion.Windows.Tools.Controls,Syncfusion/4.5/Syncfusion.tools.WPF.dll'
[25] r.onRangeChanged←'RangeChanged'
[26] r.Range←⎕NEW DoubleRange values
[27] window.Show
[28]
[29] window.(slider textbox range)←r t r.Range ⍝ expose extra "properties"
∇
James Bond or Johnny English?
This year we enrolled our delegates in ‘Spy School’ and gave them the chance to be a spy for a few hours. In an interactive mission that included GPS tracking, teams were given a tablet preloaded with a series of spy related challenges that took place around the local area. The challenges were only activated when the GPS verified the team was in exactly the right location and points were awarded for completing each challenge successfully – the team with most points was the winner. To pile on the pressure, each team had an interactive map showing not only their location but also that of the other teams along with a live scoreboard.
The challenge certainly brought out the competitive side of the delegates and Eastbourne is probably still recovering from the shock of ten teams of APLers carrying out their covert missions around the town centre and promenade. When the final scores were in, it was a very closely run thing with Team Sprat in second place and Team Dover Sole, headed up by a super competitive John Daintree, as the eventual winners. At the final de-briefing we got to see the videos and photos submitted by each team which showed great creativity along with some very over active imaginations! Everyone had a fantastic afternoon with plenty of laughter and not too many injuries (although I am led to believe there may be a broken fingernail or two) and a big thank you to Pretty Clever Events for running the show.
Team Plaice
Team Dover Sole
Team Dover Sole take a selfie at the award presentation
Coming up…
Today is due to end with the banquet dinner in the Grand Hotel which we’ll try to include in tomorrow’s postcard.
We conclude events tomorrow with two Dyalog and two user presentations in the morning followed by the closing session at which all of Team Dyalog will be present and open to questions. In the afternoon are the remaining Technical Workshops.