Technical Road Map Spring 2016 Morten Kromberg, CXO 0.

Slides:



Advertisements
Similar presentations
October Dyalog File Server Version 2.0 Morten Kromberg CTO, Dyalog LTD Dyalog’13.
Advertisements

Amanda Silver Director of Program Management Visual Studio Tools for Client Applications Cross-Platform Development using Visual Studio.
Creating a Program In today’s lesson we will look at: what programming is different types of programs how we create a program installing an IDE to get.
DT211/3 Internet Application Development Active Server Pages & IIS Web server.
RIDE 2.0 and Version 14.1 “In Depth” Morten Kromberg, CTO.
Server-Side vs. Client-Side Scripting Languages
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Module 1 Introduction to Network Operating Systems
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
UNIT4 BUSINESS ANALYTICS. page WHAT IS THE PRODUCT? 2 A business intelligence tool kit, specializing in Coporate Performance Management An application.
ECLIPSE IDE N AME : A SHOK P ADMARAJU C OURSE : T OPICS ON S OFTWARE E NGINEERING I NSTRUCTOR : D R. S ERGIU D ASCALU.
Technical Road Map Morten Kromberg, CTO Back in the UK!
Intelligent Tutoring System Mobile Communication Team Drew Boatwright Nakul Dureja Richard Liou.
Morten Kromberg CTO, Dyalog Ltd. Technical News from Dyalog SWEDAPL Göteborg April 2015.
UFCFX5-15-3Mobile Device Development UFCFX Mobile Device Development An Introduction to the Module.
© 2010 UEI, Inc. All Rights Reserved UEIPAC HMI.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
Parallel Programming with v14.0. Parallel Paths to Parallel Performance 1.Parallel Compiler Research –”Concurrent Dfns Compiler” targets fine-grained.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
INTRODUCTION TO WEB DATABASE PROGRAMMING
IT 210 The Internet & World Wide Web introduction.
ISYS 350 Business Application Development
Lightning Talk Fred Rodriguez Nguyen Do CPSC 473 May 6, 2012.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
Title slide to be used at the start of a module. Developing Mobile Apps Roland Guijt
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
CSC300 Visual Programming Dr. Craig Reinhart. Objectives Teach the basics of C++ –You won’t be an expert but hopefully a very good novice –GUI development.
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Technical Road Map Update Morten Kromberg, CTO. Show of Hands Workshops Today: –Putting Dyalog’s Latest Features to Use –MiServer 3.0 – A Framework for.
John Daintree Chief Architect Dyalog Andy Shiers Chief Operations Officer Dyalog RIDE.
Universiti Utara Malaysia Chapter 3 Introduction to ASP.NET 3.5.
The Web Architecture and ASP.NET. Slide 2 Review of the Web (1) It began with HTTP and HTML, which delivers static Web pages to browsers which would render.
Towards Industrial Strength Web Applications Brian Becker, Dyalog LTD. APL Tools Group.
1 3. Computing System Fundamentals 3.1 Language Translators.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
Technical Road Map Morten Kromberg 0. 1 (Same Old) Focus Areas -Performance -(includes parallel computing) -Portability -(includes user interfaces) -Language.
2006 Adobe Systems Incorporated. All Rights Reserved. 1 Adobe RIA Technologies: Adobe Flex 3 Cornel Creanga Platform Evangelist
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Presented by Vishy Grandhi.  Architecture (Week 1) ◦ Development Environments ◦ Model driven architecture ◦ Licensing and configuration  AOT (Week 2)
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
OSSIM Technology Overview Mark Lucas. “Awesome” Open Source Software Image Map (OSSIM)
1 V15 - Spring 2016 Toutes les nouveautes de V15 Dan Baronet Dyalog.
Best 5 Mobile App Development Tools for Developer's to think beyond the Limitation.
#DYNA16 Technical Road Map Update Jay Foad, CTO Morten Kromberg, CXO.
Feuille de Route [Technique] Morten Kromberg, CXO 0.
TECH RELATED TOPIC PRESENTATION MICROPROCESSOR: CSE341 COURSE INSTRUCTOR DR. JIA UDDIN Assistant Professor Department of Computer Science and Engineering.
Parallel Programming With Futures and Isolates Morten Kromberg, CXO.
1 Technical Road Map The User Experience Morten Kromberg CXO, Dyalog Ltd.
Introducing the Microsoft® .NET Framework
Introduction to Xamarin C# Everywhere
CST 1101 Problem Solving Using Computers
Road Map - The User Experience
Chapter 2: Operating-System Structures
Platform as a Service.
V15 new features Ce printemps Dyalog annonce les nouveautes Salutations. Presentations.
Chapter 6 Introduction to Network Operating Systems
CMPE419 Mobile Application Development
Coding in the Cloud This slide deck includes recorded video demonstrations of content from the live presentation. Joon-Yee.
Toutes Les Nouveautes de V15
.NET and .NET Core Foot View of .NET Pan Wuming 2017.
Chapter 2: System Structures
What’s new in web development on Microsoft platform
Dreaming up a CMS in Go (golang)
1. Azure Data Explorer Azure Data Explorer enables rich data exploration over raw, structured, and semi-structured data delivering fast time to insight.
CMPE419 Mobile Application Development
#01# ASP.NET Core Overview Design by: TEDU Trainer: Bach Ngoc Toan
Running C# in the browser
Presentation transcript:

Technical Road Map Spring 2016 Morten Kromberg, CXO 0

1 What is a C X O? Wikipedia: A chief experience officer (CXO) is the officer responsible for the overall user experience (UX) of an organization. The chief experience officer ensures the organization has good customer service, so customers are able to have a positive experience.user experience Not just about running a good help desk, but understanding whether our products, services and documentation meet the needs of existing and future users. Technical Road Map - Spring 2016

2 Goals as CXO Spend more time understanding user requirements As always: Professional Application Developers … but with new resources, also focus on: –People using APL for prototyping and as a “tool of thought” –Potential users from outside the existing array language community. Describe and prioritise requirements. Agree on the road map with CEO & CTO. Let Jay manage the core technology group and try not to interfere. We hope to hire 1 new C/C++ and 1 new APL resource in 2016 Technical Road Map - Spring 2016

3 Goals as CXO Work with CEO to create training materials Work with (and as a member of) the APL Tools Team to create tools, tutorials and samples Venture outside the APL community and reach out to –Dynamic and functional language communities Python, Julia, etc. –“Domain Expert” communities Finance, Math, Engineering, maybe even Computer Science Technical Road Map - Spring 2016

4 Trends Microsoft Windows Desktop (“Win32”) is fading New platforms, in particular Linux, are getting more important Parallel processing is becoming important Both Cloud- and GPU-based IoT (Internet of Things): Android & Arm Linux Technical Road Map - Spring 2016

5 Prepare for the Future Support cross-platform Development –Remote IDE for APL on all platforms –Cross-platform UI and integration tools which do not require platform- specific frameworks like Microsoft.Net Add new platforms –Recent: ARM Linux and Apple OSX –To come: Android (perhaps iOS) Compilers & Tools to Support Parallelism –2 compiler research projects –Futures & Isolates –Vector database Technical Road Map - Spring 2016 Microsoft Windows Desktop (“Win32”) is fading New platforms, in particular Linux, are getting more important Parallel processing is becoming important Both Cloud- and GPU-based IoT platforms: Android, ARM Linux

6 Performance 1.Tuning the interpreter 2.Co-Dfns compiler 3.Dyalog byte code execution engine Technical Road Map - Spring 2016

7 Performance (1 of 3) Tuning the Interpreter New algoritms New C compilers on all platforms –Windows: VS2005 => VS2015 –Linux: gcc (2009) => 5.3 (2015) –AIX xlc has been “current” Technical Road Map - Spring 2016

8 Performance (2 of 3) Co-dfns compiler (Aaron Hsu / Indiana U) Support for Boolean vectors in the compiler Basically Complete Scalar Runtime –Most mixed functions, and operators Full GPU execution by default in most cases Support for caching data on GPU Improved reliability and stability fixes across the board Better user documentation and interface Still very experimental, first client project in 2016 Technical Road Map - Spring 2016

9 Performance (3 of 3) Optimised Byte Code Execution Engine –aka “Compiler” Gives a factor of 2 speed-up on code using small arrays Version 15.0 work: –support for nested dfns –allow assignments to global variables –Indicator in editor showing whether a function can be compiled or not Technical Road Map - Spring 2016

10 Cross-Platform Integration Historically, Dyalog has integrated with Microsoft infrastructure: DDE, OLE/COM, and Microsoft.NET. In the future, we need to support cross-platform mechanisms, such as: Call APL as a shared library (.dll/.so) Use APL as a “scripting language” Support emacs, vim, Eclipse, etc Web service frameworks + JSON Technical Road Map - Spring 2016

11 Integration (1 of 4) Call APL as a shared library (.dll/.so) “Reverse ⎕ NA ” Allow C, or any language with a “foreign function interface”, to call APL Technical Road Map - Spring 2016

12 Integration (2 of 4) Use APL as a “scripting language” Support UNIX/Linux scripts starting with #!dyalog Support other editors (next slide) Technical Road Map - Spring 2016

13 Integration (3 of 4) Support external editors & debuggers with plugins based on RIDE protocol: Emacs VIM Eclipse (intern at Dyalog this summer) Visual Studio Will make it easier for many young people to get started using an editor they know. Technical Road Map - Spring 2016

14 Publish new RIDE Protocol API is based on JSON: When the user presses, RIDE should send e.g.: ["Edit",{"win":123, "text":"a←b+c×d", "pos":4, "unsaved":{"124":"f"}}] The interpreter will respond later with something like: ["OpenWindow",{"name":"f", "text":["r←f a", "r←(+ ÷ ≢ )a"], "token":123, "currentRow":0, "debugger":false, "entityType":1, "offset":0, "readOnly":false, "size":0, "stop":[1], "tid":0, "tname":"Tid:0"}] Technical Road Map - Spring 2016

15 Integration (4 of 4) Web service frameworks + JSON Microsoft.NET Web Service Support MiServer 3.0 Supports RESTful services Conga HTTP support & other goodies CXO Dream: APL to serve web requests “out of the box” Technical Road Map - Spring 2016

16 Cross Platform Tools UI: MiServer & HTML Rendering Engine SQAPL (ODBC/SQL) CONGA (TCP) JSON & XML V15.0 File Functions –NINFO, NMKDIR, NDELETE, … Interfaces to R, Python Technical Road Map - Spring 2016

17 Demo: Future UI Development Technical Road Map - Spring 2016

Dyalog APL ServerDyalog APL + RIDE (Windows, UNIX, Mac, Android, etc) 18 Portable User Interfaces Technical Road Map - Spring 2016 MiServer or other HTML/JS Generator Web Browser Internet MiServer or other HTML/JS Generator HTML Engine

19 Parallel Computing Futures & Isolates –Multicore machines, clusters, and “clouds” –E.g. Parallel queries on large vector databases Co-Dfns Compiler => GPU execution Technical Road Map - Spring 2016

20 Demo: Vector Database vecdb is an inverted or columnar database Similar architecture to JD, kdb (but very simple) –Open source: Technical Road Map - Spring 2016

21 Integration with Other Languages Continue with Microsoft.Net Foreign Function Interfaces in&out Additional integration with: R Python Julia? MatLab? Technical Road Map - Spring 2016

22 Demo: Python “Bridge” Technical Road Map - Spring 2016

23 Recap: [New] Goals for CXO Work with CEO to create training materials Work with (and as a member of) the APL Tools Team to create tools, tutorials and samples Venture outside the APL community to attract new users Special focus on the “newbies” Revisit the usability of the entire Dyalog system and take inspiration from other tools Technical Road Map - Spring 2016

24 Dyalog 15.0 Highlights Very Significant Speed-Ups Windows Installation without Administrative Privileges Cross-Platform Native File Functions Support for Source Files in the interpreter Data “outside the workspace” Fast lookups & ⍨ ↓ as an idiom Compiler / Byte Code Executor Enhancements Technical Road Map - Spring 2016

25 Evangelism “Dyalog is a modern, array-first, multi-paradigm programming language, which supports functional, object-oriented and imperative programming, based on an APL language kernel.” Technical Road Map - Spring 2016