Session proposals for the X# Summit

This forum is meant for questions and discussions about the X# language and tools
User avatar
Chris
Posts: 4870
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

Session proposals for the X# Summit

Post by Chris »

Hello all!

As the time for our annual meeting is approaching (October 17th in Munich), we would like to hear your input, about what sessions you would like to attend. We have prepared a list of suggested session titles with a preliminary description for some of them, please let us know which are the ones you would be interested on attending, so we can arrange a final sessions list and schedule that meets everyone's wishes as much as possible. And of course, if you have suggestions for a different topic, please let us know and we will try to include that, too.

Please select as many sessions from the list below as you'd like. Even if you only chose 2 or 3 sessions, we will get the message that you'd prefer something different! Also do not hesitate to vote even if you are not registered for the event, but are thinking about doing so, we will try to create a schedule that convinces you to join!

Preliminary sessions list:

1. 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.

2. 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.

3. 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#?

4. 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 by divided into part I & II (standard and more advanced topics).

5. Porting applications from Visual Objects to X#:
Now that X# has now become very mature in porting applications from VO with as little effeort as possible, we will demonstrate the porting procedure, discuss actions need to be taken before and after the port and demonstrate porting of a real application live.

6. Converting Clipper/Harbour console applications to Windows Forms .Net applications with X#:
X# has now become mature enough to compile code not only from Visual Objects, but also from other xBase dialects like FoxPro, (x)Harbour, XBase++ etc. We are also developing an XSharp library that helps converting existing console applications (using typical @ SAY GET commands) written in such languages into Windows Forms applications, without actually modifying the existing code. This session will demonstrate this.

7. Using XIDE to the max:
XIDE contains a lot of undocumented or not widely used features, that very few (or any at all) developers know about. We will discuss code, project and configuration templates, visual designer inheritance, the plugin system and a lot more smaller or bigger features for enhancing productivity.

8. X# Notebooks
If you want to learn and practice XSharp Core, you can start using our new XSharp Notebooks.
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 practise various libraries, compare results in different .Net languages, ....

9. VFP Migration
Even if XSharp and VFP belongs to the same xBase family, it can be great challenge to port an application from VFP to XSharp.
We will see how different are the operating principles specially regarding to GUI, but also the solutions that XSharp is providing.
And we will see how the VFPXPorter can help you to start your migration.

10. 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.

11. New Language Features
What's added since our previous metting in Memmingen. Will also discuss the difficulties we are facing on keeping the compiler code updated

12. 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)

13. From VOGUI to XGUI (VOGUI compatible classes based on Windows.Forms)
The VO compatible GUI classes are based on the Windows API, and 32 Bit only. The XGUI classes are based on Windows Forms, and AnyCPU. This session will show some of the differences between these two GUI libraries and give you indications if a migration of your application is possible

14. From 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.

15. Using your own Cloud database
When moving from DBF to SQL, things will get complicated specially if you have some small applications with few users. This session will you show how to use a cloud database on your own server generating you income also over time by letting customers pay for database use.

16. Accessing a web service from plain X# and combining it with a VO GUI application (using Hubspot as sample)
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.

17. 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 its made up
and how does give 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 topics 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.

18. 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 interactity 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 mans static code analyzer”
for a X# project with a nice dashboard
Last edited by Fabrice on Thu Sep 05, 2024 8:28 pm, edited 1 time in total.
Chris Pyrgas

XSharp Development Team
chris(at)xsharp.eu
User avatar
wriedmann
Posts: 3753
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

Re: Session proposals for the X# Summit

Post by wriedmann »

Hi Chris,
this is my list:
3. Github Copilot
4. Using X# to the max
7. Using XIDE to the max:
10. Git for Dummies
11. New Language Features
12. Consuming AI models
17. Getting out of technical debt (How to improve code quality with NDepend)
Wolfgang
P.S. of course I have not selected any of my own proposals.... It would be very hard to follow them...
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
TrevorLE
Posts: 267
Joined: Thu Apr 21, 2016 12:02 pm
Location: Australia

Re: Session proposals for the X# Summit

Post by TrevorLE »

Chris

I hope you are well. My list would be as follows

Look forward to seeing you in Munich!
cheers
Trevor

14. From DBF to SQL (this is a big one for us as we are looking for a practical path to migrate our large X# Vulcan Dialect apps to Postgres)
15. Using your own Cloud database
10. Git for Dummies
4. Using X# to the max
11. New Language Features
2. Error Handling & Logging
18. PowerShell as the X# developers best friend
16. Accessing a web service from plain X
17. Getting out of technical debt (How to improve code quality with NDepend)
3. Github Copilot
12. Consuming AI models
1. SDK projects, Multi Targeting and Creating Nuget packages
swasinger
Posts: 3
Joined: Tue Oct 17, 2023 8:19 am
Location: Austria

Re: Session proposals for the X# Summit

Post by swasinger »

Hello,

this would be my list, looking forward to the summit

Br,
Stefan

1. SDK projects, Multi Targeting and Creating Nuget packages
2. Error Handling & Logging
9. VFP Migration
11. New Language Features
14. From DBF to SQL
17. Getting out of technical debt (How to improve code quality with NDepend)
18. PowerShell as the X# developers best friend
MVWKFS
Posts: 3
Joined: Thu Aug 18, 2022 8:38 am
Location: Austria

Re: Session proposals for the X# Summit

Post by MVWKFS »

Hi Chris,
here priorities from my side:

9. VFP Migration
11. New Language Features
14. From DBF to SQL
1. SDK projects, Multi Targeting and Creating Nuget packages
2. Error Handling & Logging
4. Using X# to the max
17. Getting out of technical debt

Looking forward to the Summit,
br
Mario
User avatar
Irwin
Posts: 33
Joined: Wed Mar 23, 2022 10:24 am
Location: España

Re: Session proposals for the X# Summit

Post by Irwin »

Hi Chris,

This is my custom list:

1. SDK projects, Multi Targeting and Creating Nuget packages
2. Using X# to the max (including the Plugin system)
3. Using XIDE to the max:
4. X# Notebooks
5. VFP Migration
6. Using your own Cloud database
7. PowerShell as the X# developers best friend
8. Creating ActiveX Controls in X#

tnks.
User avatar
xinjie
Posts: 106
Joined: Wed May 20, 2020 10:05 am
Location: China
Contact:

Re: Session proposals for the X# Summit

Post by xinjie »

Hi Chris,

I have the luxury of hoping that the conference will eventually end up with white papers/samples like SWFOX/VFF will eventually provide.

This is my custom list:

1. SDK projects, Multi Targeting and Creating Nuget packages
2. Error Handling & Logging
4. Using X# to the max
7. Using XIDE to the max:
9. VFP Migration
14. From DBF to SQL
16. Accessing a web service from plain X# and combining it with a VO GUI application (using Hubspot as sample)

Also, I, like Irwin, would like something on how to create ActiveX Controls!

Thank you!
简单的东西重复做,你能成为专家;重复的东西用心做,你能成为赢家!
User avatar
Chris
Posts: 4870
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

Re: Session proposals for the X# Summit

Post by Chris »

Hi xinje/Irwin,

Creating ActiveX controls is pretty simple, there's some info about it here https://www.xsharp.eu/help/example-4-th ... t-exa.html, but will write a dedicated article for it and will also post it in another topic in the forum (let's not clutter this one).

Guys, thanks for your responses so far, please keep them coming so we make a better decision for the final topics list. Also if you post your desired list, we will (at least try our best to) make sure than none two of your chosen sessions will be given the same (parralel) time slot. Also please do not hesitate to post your suggestions, even if you haven't yet registered for the event.
Chris Pyrgas

XSharp Development Team
chris(at)xsharp.eu
stecosta66
Posts: 46
Joined: Mon Sep 26, 2016 12:59 pm

Re: Session proposals for the X# Summit

Post by stecosta66 »

Hi all,

my list is:

1. SDK projects, Multi Targeting and Creating Nuget packages
3. Github Copilot
4. Using X# to the max
5. Porting applications from Visual Objects to X#:
7. Using XIDE to the max:
11. New Language Features
13. From VOGUI to XGUI (VOGUI compatible classes based on Windows.Forms)
14. From DBF to SQL
15. Using your own Cloud database
16. Accessing a web service from plain X# and combining it with a VO GUI application (using Hubspot as sample)

cheers
Stefano
FFF
Posts: 1577
Joined: Fri Sep 25, 2015 4:52 pm
Location: Germany

Re: Session proposals for the X# Summit

Post by FFF »

Hi Chris,
that’s my take, in slightly descending order:

7. Using XIDE to the max
10. Git for Dummies
14. From DBF to SQL
13. From VOGUI to XGUI
4. Using X# to the max
17. Getting out of technical debt (How to improve code quality with NDepend)
16. Accessing a web service from plain X# and combining it with a VO GUI application
3. Github Copilot
18. PowerShell as the X# developers best friend
1. SDK projects, Multi Targeting and Creating Nuget packages
(if that includes a way to write simple apps for my android phone ;-) )


What I’d also really like to see is a replacement for Vo’s Standard MDI sample -
* migrated to bind to a SQL database like PG,
* via something like a enhanced dbServer class, which allows and supplies connection to bundle multiple tables to the gui (Virtual Server on stereoids)
* easy and fast to use, without the need to dive into “internals” - i’m more of a user than a developer ;-)
Regards
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)
Post Reply