Session and Speaker descriptions
|Nikos Kokkalis studied Computer Engineering at the Democritus University of Thrace, and there also earned his doctorate in 2011. Starting in 1996, he works as an independent software developer. Since 2009 he is employed by Intracom Telecom as an embedded software and algorithm engineer. |
During 2011 - 2015 he was a member of the GrafX development team, working on the Vulcan compiler and database engine. Since Sept. 2015 he is a member of the X# development team, working on the compiler and macro compiler.
Multithreading and asynchronous programming with X#
In today's multi-core processors, it is crucial for most applications to be able to take advantage of more than one core by employing multiple threads to provide the best use experience. This is true both for server and desktop applications. This is usually combined - and sometimes confused - with the concept of asynchronous programming. Understanding these concepts and the tools offered by the CLR and X# will be the focus of this session
Into the X# compiler: Roslyn, scripting and the macro compiler
A deep dive into the X# compiler, scripting engine and macro compiler. Find out how it works, what it does best - and what it does not. Learn how to unlock the power of dynamic compilation in your applications. Performance considerations. Security concerns. These are some of the topics that we will study in this session.
|Steve Ferrandino began his professional software development career writing code in a 1983 video game arcade in Denton, Texas (Z-80 assembly language for a custom-built video game system). From there he worked with the xBase family of languages using dBase II on a TeleVideo dual 8” floppy disk CPM system (1984). He has progressed through the family from dBase III to X# (where he now spends most of his time) having passed through dbXL/Quicksilver, Clipper, Visual Objects, and Vulcan.NET. Steve’s current position is as the Director of Administrative Application Development with Harvard University’s, T.H. Chan School of Public Health in Boston, Massachusetts where he has developed a large scale Line of Business application that interfaces with the central University and many external systems. In his free time Steve is a professional saxophonist and works on his 140 year old Victorian house.|
Using X# (and C#) to interface to REST services
Representational State Transfer (REST) is a simple way to communicate between two loosely connected systems. This session will cover the history of REST and how it can be used in X# development work. Examples will include Package Tracking Services (UPS, USPS, FedEx, DHL), a two-factor authentication service (DUO), BING maps, Random Word Generation, GeoCoding, Wireless Communications Transfer Protocol (WCTP), Weather services and more.
Rolf van der Hulst
|Rolf is a graduate of University College Twente (Bachelors' Degree) and has interrupted his university career for one year to become part of the RoboTeam Twente, an autonomous robot soccer team. In this team he is treasurer and Software developer. He mostly models mathematical and physical problems within the Robot soccer software.|
Lessons from Robot Soccer; how to design and maintain software for an autonomous team of robots playing soccer.
The session will introduce robot soccer from a software perspective, and discuss some of the challenges it poses for (junior) software developers. The session will go into further detail on the architecture of the system and the 'compiler construction' for our robot language, and how we use our system to maintainable code in an easy and fast fashion.
Robert van der Hulst
|Robert has been part of the IT industry since the 80's. He started to develop applications in DOS with dBase, Clipper and FoxBase. Later he used Assembler, C++, Visual Objects, Vulcan.Net and C#. |
Robert has created several 3rd party components for Visual Objects and Vulcan developers and has been part of the Visual Objects and Vulcan.Net development team from 2003-2010, where he was responsible for the release of VO 2.7 and VO 2.8 and for Vulcan.Net 2 for.Net Framework 4.
In 2015 he started the XSharp (X#) project together with Chris Pyrgas, Nikos Kokkalis and Fabrice Foray. This project has created an open source implementation of the XBase language for .Net. with support for Visual Objects, Vulcan.NET, xBase++, Harbour and (Visual) FoxPro.
In the X# team he has worked on the Compiler, Runtime, RDD system, VS Integration, Documentation and Project Management.
Robert has also helped many customers to move their applications forward from one XBase technology to another
Migrating your Visual Objects applications to X#
The X# development language was created to help you convert your Visual Objects applications with minimal changes to .Net. It is closer to Visual Objects then Vulcan.Net ever was. However some aspects of the Visual Objects programming language are simply not supported by the .Net environment. During this session we will convert several applications from Visual Objects to X# and will have a look at the steps you have to take to make your application run in .Net. We will also have a look at the various compiler options for the X# compiler and how they help to make your application run in .Net.
X# Language improvements compared to Visual Objects and Vulcan.Net.
The first and most important goal of the X# project is to create a development language that can compile your Visual Objects and Vulcan.Net applications. However the X# development team did not stop there and has added several new features to the language. Some of these features came “for free” because the team has used the Roslyn code as the foundation for the compiler. Other features were developed especially for XBase developers.
Understanding and making the most of X# and the X# runtime
The X# runtime functions very much like the VO and Vulcan runtimes, but is designed quite differently. We will have a look at the various components that form the X# runtime and will also have a look at the source code for the runtime. You will learn which components are needed for which dialect and how you can enhance or override the behavior of the X# runtime.
|Wednesday March 20, 2019|
|17:00||18:30||Welcome Reception and Happy Hour |
Opal Divine’s (entrance via the hotel lobby)
|18:30||Dinner on your own|
|Thursday March 21, 2019|
|09:00||09:15||Welcome and Opening||X# Team|
|09:15||10:30||Migrating your Visual Objects applications to X#||Robert|
|10:45||12:00||Multithreading and asynchronous programming with X#||Nikos|
|13:00||14:15||Using X# (and C#) to interface to REST services||Steve|
|14:30||15:45||X# Language improvements compared to Visual Objects and Vulcan.Net.||Robert|
|16:00||17:00||Lessons from Robot Soccer; How to design and maintain software |
for an autonomous team of robots playing soccer.
|18:15||Meet in hotel lobby for transportation to dinner|
|18:30||22:00||Dinner at Guero’s Taco Bar|
|Friday March 22, 2019|
|09:00||10:15||Understanding and making the most of X# and the X# runtime||Robert|
|10:30||11:45||Into the X# compiler: Roslyn, scripting and the macro compiler||Nikos|
|12:00||13:00||Closing session, The future of X# and Q&A||X# Team|
|13:30||Meet in hotel lobby for transportation to lunch|
|14:00||Lunch at Able’s on the lake|
We still have some free spots on this conference, and we'd really like to meet you there.
With the kind help of QLAdmin in Austin we have organized an interesting event.
More information about the event can be found on our website: https://www.xsharp.info/articles/other/x-summit-2019
If you are interested to come, please send us an email at .
Unfortunately the "early bird" discounts for the hotel are over, but they have rooms left: https://austincityhotel.com/
We hope to see you in Austin !
On behalf of the X# development team.
Robert van der Hulst
The X# Summit in Austin is getting closer and closer. We are preparing everything for a great event.
If you haven't registered yet, now is the time to do so. The special hotel room price will expire on Feb 15, but apart from that we'd like to know a.s.a.p. if you are coming so we can confirm and reserve everything with the hotel and others involved.
The session schedule will become available in a week or two from now.
We hope to meet you in Austin !
It's time for a short progress report. XSharp build 18.104.22.168 has been received very well by most of you.There were a few small problems and most of these have been tackled and in most cases a new DLL was created and delivered.
If you look at our GitHub repo you will have noticed that the work on the DBFCDX is progressing also. At this moment index opening and index creation is working, as well as skipping and seeking. The files created are binary compatible with the same files creates in VO and Vulcan. Actually in some rare cases we found a problem in the VO and Vulcan implementation. In the coming days we will finish the work in the CDX driver by implementing updating , deleting and inserting keys in existing indices. When that is finished we will produce a new build.
In the compiler and macro compiler a few small changes were made, nothing big,
Of course we are also preparing for the X# summit in Austin. We hope to see many of you there. If you have not registered yet, it is not too late Please send us an email and we will take care of the late registration.
The Christmas build (22.214.171.124) has been received very well, but unfortunately a few small issues in the compiler make this build difficult to use for some of our clients. The good news is that we are getting very positive reports about the level of compatibility of the runtime and the compatibility and speed of the macro compiler.
We will deliver a new version in the coming weeks that fixes the compiler problems and also has some bug fixes to the runtime and VS integration.
The biggest other change in that new build will be the support for dBase style "dynamic" variables, such as PUBLICs and PRIVATEs. We have added this to the language, even though we think that there are better ways to code, but we know that some of our (potential) customers are using it. We have also added support for the PARAMETERS keyword which is an alternative for the declared parameters and works just like the parameters in a clipper calling convention. But the compiler does not create local variables for these parameters but private variables.
We are very proud that we can announce that we have just released XSharp Bandol 9 "Winter has come" to our FOX subscribers.