Munich 2024 Sessions

 

Fabrice Foray Summary
Git for Dummies Maybe you are not using a Version Control System, or you are using one but not Git.
We will discover the basis of Git usage, as a single user or as a team.
We will explore how you can use it with your local hard drive, on your own LAN server or on the web.
VFP Migration Even if XSharp and VFP belongs to the same xBase family, it can be a great challenge to port an application from VFP to XSharp.
We will see how different the operating principles are, specifically regarding GUI, but also the solutions that XSharp is providing.
Furthermore, we will see how the VFPXPorter can help you to start your migration.
X# notebooks This (freak night) session demonstrates how you can combine code and tutorials in markdown files.
A Notebook is a file with cells, and each cell can be of different types : Notebooks were originally a Python thing, mostly used by universities.
A cell can contain text in Markdown format with instructions and help, or some code in a specific language, XSharp now, that you will need to test and amend to your needs.
Microsoft has decided to provide a .NET-way to use these, and now we can use X# in Notebooks.
We will see how X# Notebooks are a great tool to learn and practice various libraries, compare results in different .Net languages.
Nikos Kokkalis  
Consuming AI models Not another session on ChatGPT! We will instead discuss running models locally on your PC using X# (GPU-accelerated too, if you have a decent GPU).
New Language Features What's added since our previous meeting in Memmingen. We will also discuss the difficulties we are facing on keeping the compiler code updated.
Peter Monadjemi  
Getting out of technical debt How to improve code quality with NDepend.
This presentation discusses various means to improve the quality of your X# code by using the commercial tool NDepend. The main focus lies on the general term technical debt, how it can be measured, what it’s made up and how it gives developers and project managers an orientation about the overall quality of the source code. The presentation will show several examples of how to use the NDepend API with X#.
Another topic will be general metrics like Cyclomatic Complexity (CC), naming conventions (of course) and how to use quality gates as a part of an CI pipeline.
Peter Monadjemi is an experienced developer who uses X# for many years within a large project. He rediscovered NDepend recently after forgetting about it for several years, and was amazed about an A-rating in the NDepend dashboard for the source code of the large project he is working on with other developers for many years.
PowerShell as the X# developers best friend PowerShell is a command line tool from Microsoft that is based on the same .Net runtime that X# uses. Both share the same runtime and the same type system.
The interactivity of the PowerShell Command line makes it a very attractive sidekick to Visual Studio or XIDE.
The presentation will start with a short overview about how the PowerShell type system differs from the regular .Net type system. The next topic will be about customizing PowerShell as part of Terminal to make it more appealing. The presentation will show many examples about how to search the X# runtime for certain types or methods, do ad hoc database queries against any kind of DBMS, update the database schema or use a PowerShell script as a “poor man's static code analyzer” for an X# project with a nice dashboard.
Chris Pyrgas  
Using X# to the max How to use powerful language features that are little known or not widely used to write better/more readable/more robust code and boost productivity and performance. Topics will include local functions, tuples, lambda expressions, code patterns, language extensions, special keywords and statements and many more. Can be divided into part I & II (standard and more advanced topics).
XIDE to the max XIDE contains a lot of undocumented or not widely used features, that very few (if any at all) developers know about. We will discuss code, project and configuration templates, visual designer inheritance, the plugin system and many more smaller or bigger features for enhancing productivity.
Wolfgang Riedmann  
Accessing a web service from plain X# More and more customers are using web applications like Wrike or Hubspot, and are requiring to exchange data between them. This session will show you how to build a dataexchange layer both synchronous and asynchronous. As a goodie, the interface also works for plain VO applications using X# build COM libraries.
DBF to SQL  Slowly DBFs will be replaced by SQL databases, because users are requesting more and more filters on large tables and are not more accepting the time delays required to filter DBFs. This session will show you on an example application how to move an existing application partially to a PostgreSQL database to make your migration affordable using a SQL based Dataserver.
Holger Steinmar  
Using Build Automation for building and testing In this session, we will demonstrate how to automate the build process, including running tests and deploying the result of the build process.
We will set up a sample project and go through all the steps from build to deploy.
We will use the tool Nuke (https://nuke.build/).
Robert van der Hulst  
Error Handling & Logging The .Net error handling differs a lot from the error handling inside languages such as Visual Objects and FoxPro. This session will discuss the differences and will show you how you can create applications that produce error logs that you can use to debug potential errors in your app. We will also look at logging solutions
SDK projects, Multi Targeting and Creating Nuget packages Building apps for recent versions of .Net with Visual Studio requires a different project file format. In this session, we will take a look at this format and also show how to create projects that produce output for multiple targets (e.g. .Net Framework and .Net 8 or 9) and how to bundle these in a single (nuget) package. The MsBuild system will then select the appropriate DLLs for the target framework that you are using.
Github Copilot This (freak night) session covers the new Github Copilot, that is supposed to help you in writing and documenting code better. Is it any good and does it work with X#?

Opening Session & Closing Session

 
   

Various customers

 

Application Show

During this session various customers will demonstrate the programs that they created with X# and explain some of the decisions that they have made during the migration process.
Alessandro Vacchiano (Computers Centre, Italy) and Joshua Wiser (Azyra, Ireland) will show their apps.