Noutați

Compiling 1 million+ lines of code with Rad Studio 10.4.2

One of the things that intrigued me about the new Rad Studio 10.4.2 release was the improved compiler performance. Because Delphi is a fast compiler –we all know that– but hey, it can always be faster. And 10 seconds in every compile end up counting for a lot of time over the days. So I tried it compiling FlexCel and its test suite. Over a million lines of code, and actual code. This isn’t a synthetic benchmark with a single unit and a million lines of “WriteLn(‘Hello world’);”. We have lots of generics, a little more than 3000 units, multiple includes, cycles of units that use themselves recursively, and complex dependencies.  It turns out that spreadsheets require a lot of code. Below you can find a small video, with Rad Studio 10.4.2 on your left and 10.3 on your right. I normally wait a while before adopting a new Delphi version, but given all the time I spend compiling FlexCel, I migrated to 10.4.2 yesterday. This is the type of improvements I want from Embarcadero, and I hope they deliver more.

Read More

Real-world Delphi projects out of this world…

How much of our daily life here on planet Earth is impacted by running Delphi code is beyond imagination. Whether it is controlling trains on the French railway system, contact tracing in the COVID19 pandemic in Poland, salary calculation and reporting in Germany, tax invoice approvals in Brazil,… the list is endless. But Delphi’s impact already reached out beyond planet Earth with several projects of the NASA and this week we stumbled on the social media post from Dave Akerman mentioning it was Delphi based software where several TMS components were involved, that was used to produce the sophisticated coating for the Perseverance parachute that was instrumental in its highly critical but eventually successful and safe landing on Mars on Feb 18: As we chatted, I found out that David had a similar educational background as me in electronic engineering, also loves car racing, worked together with a very good friend of mine having a company Theys Industrial producing electronic PCB’s 2km away from here and I learned that the fabrics for the Perseverance parachute were produced by the company Picanol that is like 20km driving from where the TMS headquarters are. Talking about coincidences…Well, that was enough a reason to get in touch with David and have a chat about our passion we all share: software development with Delphi! Our colleague Holger Flick produced this video interview with David, where David tells exciting stories of how he got into software development, how he used Delphi for controlling machines precisely mixing chemicals, how he also uses Delphi for his hobby of tracking weather measurement balloons (where TMS WEB Core plays a role in), how he uses the FireMonkey framework for writing software for a Sony watch and so much more… I’m sure you will enjoy this video interview between two passionate Delphi software developers and be inspired to also do cool things with Delphi!

Read More

Release Announcement: GXT 4.1 is here!

February 23, 2021 | Kirti Joshi The Sencha team would like to announce the general availability of version 4.1 of GXT, Sencha’s comprehensive Java framework for building web apps using the GWT (formerly Google Web Toolkit) compiler. With GXT, developers can write apps in Java & compile their code into highly optimized cross-platform HTML5 code. The GXT 4.1 release addresses the top customer requested features including Support for Java 11 and Google Web Toolkit (GWT) version 2.9.0. More about the New Features Support for Java 11 & GWT 2.9 Google Web Toolkit (GWT) is an open source set of tools that allows front end developers to create browser-based JavaScript applications using Java APIs and widgets.  With GXT 4.1, users can take advantage of writing frontend and backend code using Java 11 and GWT 2.9. GWT 2.9 offers many improvements for both Java emulation and runtime fixes, and provides additional benefits in emulating Java. Writing code with Java 11 is easier. Devs can expand to the latest syntax while taking advantage of the Java SDK and streamlining their code builds.   GWT 2.9.0 was released in May 2020. Check out more details in the GWT Project Release Notes. How do I access GXT 4.1? Current customers can download GXT 4.1 using the following two options: Get access to the zip version through the Sencha support portal Download the new version through the Maven repository now hosted on MyGet. Customers can request MyGet access by submitting a ticket on the Sencha support portal and our support team will promptly guide you through this quick process. Not a GXT customer?  The fully featured GXT is available to try for free. New users can try GXT 4.1 with a free 30-day trial. Check out how the complete library of 140+ UI components can speed up your development cycles! Download GXT 30-day free trial

Read More

Cybersecurity Trends in Fintech

Published February 17, 2021 WRITTEN BY MICHAEL SOLOMON Michael G. Solomon, PhD, CISSP, PMP, CISM, PenTest+, is a security, privacy, blockchain, and data science author, consultant, educator and speaker who specializes in leading organizations toward achieving and maintaining compliant and secure IT environments. The year 2020 will go down in history as being a year of uncomfortable changes. Just about everyone was forced to approach aspects of personal and professional life differently, from buying groceries to conducting business to maintaining safe interactions with others.  Fortunately, existing technology and service offerings allowed us to make adjustments and work through the changes. Zoom went from being a useful way of meeting virtually to a staple of business, education and social interactions. Likewise, the financial technology industry, often called fintech, expanded products and services to make contactless financial exchanges safer and more accessible. But as Fintech’s popularity grew in 2020, so did its attack surface. Fintech is the industry that provides individuals and businesses with the technology to carry out financial transactions. If you’ve ever sent someone a payment using Venmo, accepted a payment card using your smartphone, or applied for a loan online, you’ve consumed fintech services. In short, fintech’s goal is to leverage technology to compete with, or even replace, traditional financial services by making them cheaper, easier and more accessible. Smart devices and nearly universal internet access make the process of carrying out financial transactions in a socially distanced environment easy. But to keep fintech’s growth on track, cybersecurity has to stay ahead of the attackers. Fintech companies can’t afford to lose their customers’ trust. Let’s look at the most important cybersecurity trends in fintech that are needed to keep that trust. Technology reliance creates risk Any transition to a greater reliance on technology introduces risk. Additional devices and software can provide opportunities for attackers to find and leverage weaknesses. The COVID-19 pandemic punctuated the importance of touchless and socially distanced interactions. One of the most common pre-COVID-19 close-proximity interactions was paying for products and services. Although touchless and remote payment options were available prior to 2020, the pandemic made touchless payments a welcome feature. The number of suppliers and consumers who used touchless payments for the first time skyrocketed in 2020. Any industry-wide growth naturally attracts cybercriminals to prey on a new group of potential victims. According to a recent Fintech News article, attacks are up across the industry and included a 600% increase in phishing attempts and a 630% increase in cloud-based attacks. One reason for such large jumps is the increased use of personal devices to engage in financial transactions. Personal devices often aren’t managed to be as secure as many legacy devices owned by service providers. In addition to facing increased attack frequencies and veracity, many fintech companies are still in the process of digital transformation. While startups may begin their commercial lives with new infrastructure and software, most fintech companies still rely on some legacy devices and software. Each type, or layer, of software, devices and infrastructure means the potential for security vulnerabilities to exist. While it is possible to upgrade hardware devices with the latest models, software poses a bigger challenge. Even startups go through a software development process that results in code written using outdated standards or best practices. It isn’t possible to write […]

Read More

How to use GraphQL with Ext JS—A Tutorial

TL;DR GraphQL schema and ExtJS data model work together very well. Apollo Client provides a core library that can be included in ExtJS projects to easily manage GraphQL requests, adding powerful features such as in-memory caching. Here I explain a proxy implementation that fully wraps the GraphQL integration, generating requests from ExtJS models (with associations) and their values. The proxy, together with a working example, can be found here. What is GraphQL? GraphQL is a great tool for developers to control the data they need from an API: by introducing schemas, it provides a standard structure for your APIs. It requests you to define object types and fields, unlike the REST APIs that are based on a style convention. The GraphQL structured approach in remote communication allows you to use a lot of productivity tools both in server-side runtime and front-end applications. These include testing, auto-generated documentation, editing and multi-language SDKs. From the client side, the main difference with REST is the ability to send queries to the server, specifying exactly what you need rather than relying on an “unpredictable” route implementation. More about Ext JS ExtJS is a framework for Web and mobile Single Page Applications and it is quite popular for development of reach-data interfaces. It is also a first-class citizen in the front-end technologies in terms of “productivity” and ” schema” and this is the reason why GraphQL is a promising tool for ExtJS data management. At the time of writing, there is no built-in integration for GraphQL queries in the framework, but in this article we’ll  see how to integrate GraphQL in an ExtJS application in order to enable remote communication with a GraphQL back-end and benefit from of all the GraphQL features. Note: an alternative approach can be found using ExtReact taking advantage of Apollo for React integration. Here is the tech talk repo. GraphQL client library When I first introducedGraphQL, I said that one of the advantages are the productivity tools. A production-ready JS library has to be there, and the solutions out there are certainly more than a client SDK. The two options are: I chose Apollo Client because it provides a core library that is framework agnostic rather than Relay which is focused on React use-case. In addition, Apollo is a very popular platform for development of both GraphQL clients and server APIs. GraphQL server Since the implementation of GraphQL server is not in the scope of this how-to article, I  assume you have a working back-end, or you can start a new Apollo Server project from the official tutorial. This is the example schema used for this article. type Query { getUsers( limit: Int offset: Int orderBy: String filter: String ): Users user(id: Int!): User } type Mutation { createUser(createUserInput: CreateUserInput!): Int updateUser( id: Int! updateUserInput: UpdateUserInput! ): Int deleteUser(id: Int!): Int } type User { id: Int! username: String! firstName: String lastName: String role: String! email: String! areas: [Area!] } type Area { id: Int! name: String! } type Users { count: Int! users: [User!]! } input CreateUserInput { username: String! firstName: String! lastName: String! role: String! email: String! areas: [Int!]! } input UpdateUserInput { username: String firstName: String lastName: String role: String email: String areas: [Int!] password: String } ExtJS application setup The test case analysed here is based […]

Read More

Powered By Delphi: A Dynamic Desktop Search Engine Office Document Finder

Office Document Finder is a desktop search engine intended for quick searching and viewing PDF, Word, Excel and PowerPoint documents from application, browser or mobile and it is developed in Delphi. Built using HTML Component Library and HTML Office Library. There are screenshots here from Windows, macOS, and Linux. Great example of a cross-platform Delphi app! Features All formats – Support for all Word (.doc, .docx, .rtf), Excel (.xls, .xlsx), PowerPoint (.ppt, .pptx), Adobe PDF, HTML and EPUB formats Advanced viewer – View documens in its original layout with all pictures and text decoration No dependencies – MS Office and other applications are not required CJK languages – Indexing and searching for documents in Chinese, Japan and Korean languages OCR – Optical text recognition in scanned documents Cloud access – Access your documents from any PC or mobile PDF export – Download PDF file from browser viewer or application Localization – Web and application interface translation to Deutch, French, Russian and Spanish Suggestions – Autocomplete list for every word with number of documents containing this word Themes – Light and dark themes Duplicates – Detection of duplicated documents (displayed as red number) Query language – Support for “starting with”, “exclude word” and “exact words” Screenshot Gallery    

Read More

Welcome: A Spectacular Mobile App For Travelers Made In Delphi

Welcome – Audio walks with a local is a travel application built in Delphi. According to the developer, “Thousands of multi languages audio walks and museum tours in hundreds of cities and museums around the World.” This is an interesting app because it allows you to do some virtual traveling. It supports a number of different languages and the interface looks pretty good. It has mapping, audio, some rich media, and it’s built-in Delphi! Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.Design. Code. Compile. Deploy.Start Free TrialUpgrade Today

Read More

Account Ability: An Impressive Tax Preparation Software Is Delphi Powered

Account Ability is a network ready software application developed in Delphi that fulfills the needs of small to midsize businesses with a simple, yet powerful, solution to the complicated job of annual 1095, 1098, 1099, 3921, 3922, 5498, W2G, W2 and W2c compliance. Payee/Payer copies can be printed on ordinary copy paper, preprinted forms, or written to PDF. Includes electronic filing with IRS and SSA. According to the developer, “The entire database, which can reside on your Local Area Network (LAN), Wide Area Network (WAN), Cloud Server or Desktop Computer, can be shared among select groups or users at your discretion. Account Ability’s Integrated Browser eliminates the need to remember your TCC, EIN, User ID, Password and PIN required by IRS FIRE and SSA Business Services Online (SSA BSO).” The amount of supported forms and features in this tax software for dealing with the United States tax code is staggering.

Read More

Taking the wraps of TMS Web Academy!

We are thrilled to launch the first version of our new platform TMS Web Academy almost on the same day as the 26th anniversary of Delphi. We have been working about 5 months on this new TMS Web Academy platform and now it is ready to take the wraps of it. We invite you to have a look but more precisely to join our welcome webinar we organize today as well as the first ‘real’ webinar planned for Friday 19th about “The making of the TMS Web Academy” platform. See this on our calendar of the events and the possibility to register to participate.  How it all started It will come as no surprise that the covid19 pandemic was instrumental to get the plans rolling to create our TMS Web Academy. Whereas in normal years, TMS software not only participates and gives sessions at numerous Delphi related events across Europe (Foren Tage, SDN conference, Barnsten Delphi seminars in Benelux and France, EKON conference, PasCon, ITDevCon,  …) and our colleague Wagner Landgraf in Brazil but also organized meetups in our office and our annual 2-day Training Days event in Germany, in 2020 there was literally not a single live event that took place.  We received numerous emails from users asking when we would organize something or when we would offer a possibility to come and sit together with our experts to learn about the latest features and techniques we offer in our various products. At the same time, we really missed the interaction with you, the chats between the sessions, your questions and suggestions.  As such, the idea was born to organize webinars, training, communication via an online platform. Why create our own platform? I can imagine the first question will be why to create our own platform for bringing online webinars and training. There are so many ways to collaborate online already, so why reinvent the wheel? Well, there are several reasons. Let me give you a few in no particular order: Eat your own dogfood and show the power of TMS WEB Core Have exactly the kind of interaction wanted for organizing webinars and online training Use a web platform so it can be accessed everywhere and on every device Be totally configurable and extensible to the direction we want to go with it Tight integration with our website and user database Full control over look & feel and branding Offer a platform that is usable by everyone working distributed over the world for TMS Goals First of all, we absolutely do not see the TMS Web Academy as a replacement for live events. I can actually not wait before going again to a live event somewhere in Europe, to have people in meetups at the company or to organize our training days again. At the same time, we do not consider TMS Web Academy as a temporary solution for reaching out to you while the covid19 pandemic lasts. No, the TMS Web Academy will serve as our platform to organize online interactive webinars and training in a much more dynamic way than a physical event can be organized and serve a world-wide audience. Whereas organizing Training Days at a location takes multiple months of preparation, comes with a cost, requires attendees to travel and to allocate these specific […]

Read More

Free webinar: What is coming in TMS BIZ in 2021

Our last blog post, GraphQL, workflow engine, multitenancy and more: what you will do with Delphi in 2021, raised a lot of interest. Due to that, we decided to do a free live webinar to show you in action most of the upcoming features and products, and answer any questions you might have. Register for the free webinar “What is coming in TMS BIZ in 2021”, to happen on Tuesday, February 23, 2021 3:00:00 PM UTC at the TMS Web Academy! Wagner R. Landgraf

Read More