Skip to content

2023

Delphi Coding Bootcamp 2023 Session Replay: How to create powerful dynamic web apps the easy way

It was my pleasure presenting the power of TMS WEB Core in this year's Delphi Coding Bootcamp. In particular, I show how easy it is to create applications for the Web if you are a Delphi developer already used to writing desktop applications with the VCL.

Enjoy!

Abstract

Join this session by MVP and author Dr. Holger Flick to learn the fastest, easiest way to create powerful, fully working web apps with little or no code using skills you already have. Design the apps visually and with a click of a button get perfect HTML, CSS, and JavaScript created for you.

TMS Training Days 2023 Session replays

For the first time in years, TMS was able to celebrate Training Days in-person again! This year, TMS introduced us to the city of Bruges in Belgium. It was a wonderful event with a lot of opportunities for Delphi developers to mingle and exchange their knowledge.

Aside from the social events, there were lots of training sessions with valuable content.

Speakers

Sessions were presented by the best experts in their fields.

  • Bruno Fierens, CEO of TMS Software.

  • Wagner Landgraf, Principal Architect and Product Manager of Delphi libraries like TMS Aurelius and TMS XData

  • José León Serna, Creator of Delphi for PHP/HTML5 Builder and former Director of Engineering and Branch Manager at Embarcadero Technologies.

  • Dr. Holger Flick, FlixEngineering LLC, computer Scientist & author of many books and training courses about Delphi and TMS technologies.

Sessions

Hint

Each session can be purchased separately, in case you do not want to purchase all sessions.

  • Wagner Landgraf

    • Anatomy of an HTTP server
    • Build your API with TMS XData
    • Single sign-on authentication with OAuth and TMS Sphinx
    • Building multi-tenant applications
    • OpenAPI and Delphi
  • Bruno Fierens

    • High DPI and VCL styles
    • Create cross-platform apps with TMS Miletus
    • FNC Components Architecture
  • José León Serna

    • Introduction to TMS WEB Core for Visual Studio Code
    • Remote Development with TMS WEB Core for Visual Studio Code Server
  • Holger Flick

    • Using FlexCel as reporting engine everywhere
    • Connect your database to TMS FNC Maps
    • TMS WEB Core with TMS XData backend

Where can I find this?

Simply go to the landing page located at http://courses.landgraf.dev/p/tms-training-days-2023. More details about each session and purchasing options can be found there.

Impressions

Learning, dining, and site seeing!

Wagner Holger
Bruges Bruges

Final Fantasy XVI made me remember my roots... or how I became a Delphi developer

Just let me get it out there, Final Fantasy XVI is a treat for the eyes for any software developer that started programming in the 1980s!

What is Final Fantasy?!

As a brief introduction if you do not even have an idea what I am talking about. Final Fantasy XVI is a highly anticipated computer action game by Square Enix that was released last week for Sony Playstation. In my spare time - when I need to relax - I am known to play the one or the other game on the Playstation console.

Holger's journey

I have gotten my first (personal) computer in 1987. Back then, graphics were not the standard. Most of the time you used a text-based console. In my case, MS-DOS 3.2 was pre-installed with English locale only. Weeks after taking my first steps, MS-DOS 3.3 was released and the computer started to reply in German. I was also in the rare position to have a color display with 16 colors. Formally, an EGA card was installed in the system. What a wonderful thing to have colors and not just white, green, or purple. Still, there were few games available and graphics were not really sophisticated. The first game with awesome graphics that comes to mind is Monkey Island.

Remember, this was before Windows. First dialog boxes were being used in software like AutoSketch. However, even text-processors that allowed you to import pictures, used text-representations. I am not sure how many Delphi developers still remember Turbo Vision, but it was tough to code with and it was nowhere near the level of today's modern user interfaces.

At the same time, you could also invest in an Amiga which had a completely different approach with a graphical user interface. Also, many of my friends had a "Commodore 64" -- referred to as C64. If you were just interested in games and had a TV, you most likely had a Nintendo Entertainment Station -- NES.

I was fascinated by these systems, but because our family has a PC, there was simply neither time nor budget for a second system. Also, my parents had me rather sit in front of a computer that was not limited to playing games -- which the Nintendo or SEGA systems definitely were.

Interestingly, I do not have a single friend or acquaintance that owned one of those "gaming systems" or an Amiga that went into the software development world. Even more so, none of them decided to pick a job focused on computer science either.

As you might have guessed, I did not spend a lot of time gaming back then but started writing my own computer program. To most of your surprise, I am sure, not in Pascal!

GW-Basic was the first language handed to me (with a book on my birthday) and this is the sequence of my programming language/software development tools. I say software development tools as dBASE III was not a programming language by design.

graph LR
a(<b>1988-1990</B><br>Basic) 
b(QBasic) --> d
aa(GW-Basic) --> d
a --> b
a --> aa
a --> c
c(Quick Basic) --> d(<b>1991/92</b><br>dBASE) 
d --> da(dBase III) --> e
d --> db(dBase IV) --> e
e(<b>1992</b><br>Nantucket Clipper) 
e --> ea(Clipper Autumn '86)
e --> eb(Clipper Summer '87)
e --> ec(Clipper 5)
ea --> f
eb --> f
ec --> f
f(<B>1994-1996</B><br>Borland Pascal)

ff(<B>1994-1996</B><br>Borland Pascal)
ff --> fa(Turbo Pascal 5/6)
ff --> fb(Borland Pascal 7)
ff --> fc(Turbo Pascal for Windows)
fa --> g
fb --> g
fc --> g
g(<b>Delphi 2</b>)

A long journey indeed. Stay tuned for another post about my journey from Delphi 2 to Delphi 11 Alexandria.

Impressions from a console in 2023

These are some snapshots of what "blew me away" visually playing Final Fantasy XVI. For the record, I still have not finished the game. Also, these are graphics from a Playstation 5 console. Imagine how far we have come since 1987 when playing games on a professional "Gaming PC"! I hope you are as amazed as I am what is possible with computers these days - and I have not even mentioned the audio and other additions that modern games treat us with...

Hello Holger's Code, goodbye Wordpress!

Welcome to my new blog! Once again, it is time for an update. In the last 20 years, we have come a long way. It seems like yesterday I started blogging, but as this post will show, there is quite some history involved.

Started in Blog URL
2005 Holger's Thoughs on Delphi https://delphi2006.blogspot.com
2016 FlixEngineering LLC Blog https://flixengineering.com
2023 Holger's Code https://holgerscode.com

Blogspot got the ball rolling

I started in November 2005 with my first blog on https://blogger.com called Holger's Thoughts on Delphi:

Screenshot Holger's first blog

It was a great, no-cost alternative to publish on the internet at the time. There, I published my first code snippets about Delphi and .NET development. Also, my first video tutorials that I created for Borland were announced there.

Over to WordPress

After a while, a new, more modern, blog engine was needed. I also had stopped blogging on a regular basis because after college, I took on other challenges that kept my Delphi work to a minimum. Well, at the end of 2016, I decided to focus on Delphi again and WordPress delivered a new, modern blog engine with lots of other content. My internet provider offered web space with WordPress enabled. Thus, I could move my blog as well as all my other web content over to WordPress. However, WordPress has become more about design and web pages than blogging technical content. It no longer was the right tool for my technical articles.

Screenshot Holger's second blog

GitHub is not only for source code

Recently, I noticed that more and more developers used GitHub Pages to present their thoughts on the Web. I noticed much better search capabilities, automatically generated table of contents, and - most important of all - extraordinary code formatting.

Thus, I jumped right into the world of page publication with GitHub. My first endeavor I created with Jekyll and a special template for technical documentation. I was already providing a lot of the features desired. All additional content for my sessions for the TMS Days in Belgium was created using Jekyll and Markdown. However, it lacked one important part of every modern developer website: a blog! I was not going to move over to a solution that would not allow me to publish posts on a regular basis and send updates to the community.

While reading the documentation for Vapor, a server-side development tool using Swift, I noticed it was created with a tool called MkDocs. Just like Jekyll it allows you to generate documentation content using Markdown. Even better, there was an open-source project called Material for MkDocs which extended the theme and added dozens of plugins with hundreds of customization options. That turned out to be the winning combination!

The workflow with Material for MkDocs

Thus, I was able to create a complete workflow using only free tooling:

graph LR
    A[Markdown] --> B[Material for MkDocs] --> C[GitHub] --> D[GitHub Pages]
A detailed list of the tools used:

  • Visual Studio Code
  • MkDocs
  • Material for MkDocs
  • Git
  • GitHub:
    • GitHub Repository
    • GitHub Pages
    • GitHub Workflows

All content is written in Markdown and each Git Push triggers a GitHub workflow which publishes the website. Really, after all these years, the best solution for a software developer.

More than a blog!

In addition to the blog, I am able to create tutorials and code snippet posts ("snacks") that are much easier to find as they are not hidden in a blog post.