From the blog

Top 10 Vulnerabilities in Your Java Applications

Securing your web application against outside threats can seem a daunting task. Where do you start? One good approach is to start with the top 10 security issues in web applications as identified by the Open Web App Security Project (OWASP). In this article, we’ll describe each vulnerability. You’ll also learn how Kiuwan uses rules to identify each of these vulnerabilities in your code. What’s the OWASP Top 10? OWASP is an open community dedicated to enabling organizations to conceive, develop, acquire, operate and maintain applications that can be trusted. OWASP is an international non-profit organization dedicated to analyzing, documenting and spreading the principles for the safe and vulnerability-free software development. Every few years, OWASP produces a list of major vulnerabilities, called the OWASP Top 10 — most recently in 2017. According to OWASP, “The OWASP Top Ten represents a broad consensus about what the most critical web application security flaws are. Adopting the OWASP Top Ten is perhaps the most effective first step towards changing the software development culture within your organization into one that produces secure code“. How can I detect vulnerabilities in my application? An application can be vulnerable to attack through any component in a production system, such as servers, networks, endpoints, access to related systems, etc. However, most vulnerabilities can be prevented by writing source code which is secure and protected against potential threats. Kiuwan Code Security helps to detect insecure code that could be corrected to prevent a security problem in the future. Let’s review the OWASP TOP TEN and see how Kiuwan rules can identify these vulnerabilities in the coding phase: A1 Injection in Top 10 Vulnerabilities Injection flaws, such as SQL, OS, and LDAP injection occur when untrusted data is sent to an interpreter as part of a command or query. The attacker’s hostile data can trick the interpreter into executing unintended commands or accessing data without proper authorization. In addition, there are several Kiuwan rules to verify that your code is not vulnerable to the most common security problem: Avoid non-neutralized user-controlled input in the LDAP search filters (OPT.JAVA.SEC_JAVA.LdapInjectionRule):  Software constructs all or part of an LDAP query using externally-influenced input, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended LDAP query when sent to the LDAP server. Improper Neutralization of Special Elements used in an SQL Command ‘SQL Injection’ (OPT.JAVA.SEC_JAVA.SqlInjectionRule): The software constructs all or part of an SQL command using externally-controlled input, but it does not neutralize properly that input that could modify the intended SQL command when it is sent to a database interaction method. Read more here. Improper Neutralization of Special Elements used in an OS Command ‘OS Command Injection’ (OPT.JAVA.SEC_JAVA.CommandInjectionRule): The software constructs all or part of an operating system command using externally-controlled input, but it does not neutralize properly that input that could modify the intended command when it is sent to a method that executes the command. Improper neutralization of special elements in data query logic ‘NoSQL injection’ (OPT.JAVA.SEC_JAVA.NoSQLInjection): The application generates a query intended to access or manipulate data in a data store such as a NoSQL database, but it does not neutralize or incorrectly neutralizes special elements that can modify the intended logic of the query. XML Injection (aka Blind XPath Injection) (OPT.JAVA.SEC_JAVA.XsltInjection): If the software allows untrusted inputs to control part or all of an XSLT stylesheet, an attacker may change the structure and […]

Read More

Putting the Principle of Least Privilege to Work for Web Apps

With an ever-increasing proportion of day-to-day work on the desktop occurring in the form of web-based applications, organizations need to rethink how those applications work. They also need to examine – and in some cases tighten up – how web-based apps (or rather, the processes within which they operate) make use of privileges and access rights for Least Privilege. Let’s ponder this as we consider some basic definitions. Understanding the Principle of Least Privilege I’ve been writing about this principle since the early 2000s (the first edition of our Sybex CISSP Study Guide is copyright 2003; it’s now in its 6th edition). Simply put, the principle of least privilege means that no user, process, or program should have any more privileges than it absolutely needs to do its job. This principle exists to prevent cases where excessive (and unnecessary) privileges can lead to unwanted, unauthorized, and perhaps even damaging use of such privileges can occur. I just learned that this principle is sometimes abbreviated POLP, and takes the principle of minimal privilege (POMP) and the principle of least authority (POLA) as synonyms, thanks to Nate Lord’s excellent discussion at the Digital Guardian. POLP’s Security Implications for Web-based Apps Web-based apps generally run in two or more security contexts, in which one might be characterized as “typical user” and the other as “administrator.” Of course, some Web-based apps (think security portals, cloud or network management consoles, threat and vulnerability reporting and alerting tools, and so forth) may have multiple levels of administrative privilege. Thus, they can distinguish basic admins who maintain and update the runtime environment from senior admins who can install and configure the environment, establish role-based security structures and populate them with groups and accounts, and so forth. Across the board, asserting the principle of least privilege starts with checking the processes and accounts associated with a web app: Do ordinary users run in the typical user context? Do admins run in an appropriate administrator security context? If so, that’s one step in making sure things are working as they should be. If not, it’s time – right now! – to set things right and put accounts into their proper security contexts. But there’s more involved in asserting POLP for web-based apps. Using some kind of audit tool within the access control capabilities of the host platform’s OS, and the security tools for the web-based app itself, it’s essential to get as complete a picture of the privileges available to the web-based app itself (it’s usual runtime context, that is). Then, do likewise for the user accounts and/or groups or roles that are allowed to run this web-based app. Here, you’re looking for grants of access or privileges that exceed the bare minimum that’s needed for the item under consideration (be it user, group, role, process, or program). Of course, if you find anything, you’ll need to trim it back to where it should be. From a forensics and information-gathering perspective, you’ll also want to use logs or other audit tools to get a picture of how privilege is actually being used within the general runtime context for the web-based app as well. Settings that grant access rights or privileges tell you what should be going on within that runtime context. Examination of logs and other audit tools that record, analyze, and report on actual USE of […]

Read More

Human Interface Devices Communicator For C++ Builder On Windows

Communicating with Human Interface Devices Communicator such as Alphanumeric display, Bar Code Reader, Sensors, Volume control on Speakers/Headsets becomes a primary use case for real-world applications. Do you spend more time in building libraries to communicate with HID for your Delphi/C++ and Lazarus Applications? WINSOFT Provides a powerful library to get the job done. It uses the standard Windows HID API. Features: Able to notify on Human Interface Devices Communicator arrival and removal. Can retrieve all the HID devices information available in the System. Flexible to getting/set Feature Report for the HID devices. Works with Windows 32/64-bit applications. Versions Supported: from C++ Builder 5 to 10.4 Sydney and Lazarus 2.0.8. Platforms: Windows;   Steps to Download and use the Native HID Library: Download Native HID and Unzip the file. Navigate to the Library folder for different Versions. e.g) Delphi10.4. Read the Readme.txt file to know about features and copyright information. Create a Windows VCL Application and use Hid.pas in the uses section. Include the Library folder into Project->Options->Delphi Compiler->Search Path. Compile and check for using the library. Key HID concepts:Report -Reports are the actual data that is exchanged between a device and a software client.  Input Report – Data sent from the HID device to the application, typically when the state of a control changes. Output Report – Data sent from the application to the HID device, for example to the LEDs on a keyboard. Feature Report -Data that can be manually read and/or written, and are typically related to configuration information. Report Descriptor – The Report Descriptor describes the format and meaning of the data that the device supports.UsageTables – Contain a list with descriptions of Usages, which describe the intended meaning and use of a particular item described in the Report Descriptor. For example, a Usage is defined for the left button of a mouse.  USB-IF WorkGroup Publishes the Usage Tables. See USB-IF HID Specifications.

Read More

Easily DirectX Support with VCL In C++Builder On Windows

It is surprisingly easy to add joystick support to your VCL In C++Builder app on Windows. Here is third party Delphi and C++ Builder component from WINSOFT for retrieving joystick position and status for any keys. You can use wired or wireless joystick for your application like games, audio/video players and other application. I have tested this delphi component on a recent Windows 10. All functionality corresponds to the declared. All buttons my joystick successful detected. Also works analog sticks. Now let’s view this demo (included to instalation packages) The first thing you need to do is install component to Delphi. It’s very fast and simple! Look this video. Demo included to component package. Now let’s look at the stages of working with a component. # 1 stage – Enumerate controlers # 2 stage – Connect to controler and get value ranges # 3 stage – Now we can read current values from controller anytime. The component uses the DirectX API. Extended capabilities also provide support for rudder pedals, flight yokes, and other devices that use up to six axes of movement, a point-of-view hat, and 32 buttons.This component has both versions for FireMonkey and for VCL In C++Builder applications to Delphi / C ++ Builder 10 – 10.4. Works with: Delphi, C ++ Builder, RAD Server, FireMonkey, VCLWorks on: Windows 32-bit, Windows 64-bit Source code included in registered version. Royalty free distribution with application without any limitation. Related linksHere is packages for VCL and Firemonkey:JoystickJoystick for FireMonkeyDirectX JoystickDirectX Joystick for FireMonkey Code Faster and Smarter with VCL on C++Builder Smart developers and Agile software teams write better code faster using modern OOP practices and C++Builder’s robust frameworks and feature-rich IDE. Spend less time waiting for lengthy compiles with our highly optimized modern C++ compilers for Windows and iOS Code Insight™ delivers code-completion based on your code and used libraries to help you code quickly and accurately plus customize the IDE to meet your coding style. Get native, high-speed direct access to InterBase, SQLite, MySQL, SQL Server, Oracle, PostgreSQL, DB2, SQL Anywhere, Advantage DB, Firebird, Access, Informix, MongoDB, and more. Get hints and tips from inline documentation as you write code Utilize popular libraries such as Boost, Eigen, and ZeroMQ plus leverage a broad range of community tools and libraries. Integrate with version control systems including Git, Subversion and Mercurial

Read More

New for the IDE in RAD Studio 10.4.1

RAD Studio 10.4.1 is a quality-focused release, and this goes for the IDE! We’ve addressed many items including some very commonly requested changes; read more below. A ‘quality-focused release’ means one where we introduce very few new features, and focus 95% of our development efforts on quality. 10.4.1 has had a lot of work in the IDE and will be much smoother for you once you install. But, in 10.4.1 we’ve also spent that time on new features, and we’ve implemented a couple of really commonly requested items. There are two sections to this blog post: first, a change to an old IDE feature; second, a new feature, and key areas that you may be very happy we’ve focused on! The Floating Form Designer Layouts and Multiple Monitors: aka, ‘when does the IDE change things?’ Notable Quality The Floating Form Designer Ever since 2003, the RAD Studio IDE has been ‘docked’: that is, while you can drag tool windows like the Palette, Object Inspector, Messages, Watches and so forth to float, the overall design of the IDE is an integrated window. Specifically the editor and form designer are integrated in the main window. The ‘floating form designer’ is when you turn this off, and it allows the form you are designing to be a window among other windows; that is, it’s not embedded in the main IDE, but mimics the Delphi 1-though-7 behaviour where the designed form can be above or behind the editor. This behaviour has been replaced by modern docked designing for seventeen years, requiring you to manually turn on the old-style feature, and unfortunately did not always behave well. When assessing the feature, we made the hard decision to remove it. What does this mean? Does it mean you can’t have multiple editor or designer windows, for example? No! Very much not. In fact, you can still have multiple editor windows spread over multiple monitors too if you wish, with each one hosting a designed form… and we’ve even tweaked a wide range of areas and UX or behaviour tweaks while you do! Two really notable items we’ve addressed in this area are: The IDE used to not work quite as you’d want when clicking on an item in the Structure pane: the Structure pane would sometimes scroll and the wrong item was selected. This is now resolved. If you click, it will select what you clicked on. I’m really glad to note this one. When you have multiple forms being designed at once, the Structure and Object Inspector windows would reflect the selection for the form designer in the window they were docked to. Now they always reflect the form you are editing. Ie, whatever you’re working on is what they’ll show information for, regardless of what’s docked where. The key to note here is how much better 10.4.1 is at handling form designing over multiple screens. These were ‘annoyances’, things that might seem minor but got in the way when working. We’re glad to note the better behaviour in RAD Studio 10.4.1. Layouts and Multiple Monitors: aka, ‘when does the IDE change things?’ When working with layouts and the designer, we also added one often-requested feature. Desktop layouts save the position and location of your IDE windows, including the monitor your IDE is on. You can create […]

Read More

Ultra-Fast Web Application Development using Delphi/C++ Builder

Choosing the Web framework for Web Application Development in Delphi or C++ Builder will no more a tough task for both developers and companies to meet the business needs. There is plenty of resources around Embercadero and the web about various frameworks with the pros and cons of each. Still, struggle to choose the right one for your need? Don’t worry this post will guide you through the available frameworks. RADStudio Included Server Technologies : Web Broker: Abstract the HTTP Server concept with concrete classes mapped to CGI, ISAPI, ApacheModules, Standalone(indy). It can maps URLs to actions, supports filters, and global handlers. To start with WebBroker Click here. DataSnap is a Delphi technology that allows the development of multi-tier applications, most notably multi-tier database applications. Supports Rest, TCP/IP, HTTP/HTTPS. Backward compatible with COM/DCOM. A serios of tutorials here. RAD Server Load Delphi and C++ business logic methods into RAD Server, add some users, and go. REST/JSON end-points are auto-created and managed. Access control is handled. Data storage is built-in or you can easily connect to any popular Enterprise RDBMS or cloud service.  SOAP Services: It’s a protocol which enables you to access remote data, or call remote procedures. SOAP data is transmitted using an XML wrapper, usually over an HTTP or direct TCP/IP. To create and use SOAP service Click here. RADStudio Included some Client Technologies for Web Application Development: Which includes Rest BaaS Client, Cloud Client libraries, Rest Client libraries, SOAP Clients. 3rd Party Web Frameworks: Client Focused: Pascal->JavaScript Transpilers. Write in Object Pascal and translate/Compiles in to JavaScript. Creates a pure Web client Solution. Compatible with many popular server solutions. TMSSoftware’s Web Core Integrates into Delphi IDE. Write object pascal and design in RAD Studio, builds pure HTML & JavaScript. Works with TMS’s cross-platform FNC components. Builds a Single Page Application. The large reusable component set with database access. Smart Mobile Studio (SMSC) transpiler has its own IDE uses familiar Object Pascal dialect. Compiles to pure JavaScript. Has lots of target like Node.js Tizen, console & Espruino. Has own RTL and full Visual component framework. ElevateSoft’s Web builder transpiler has its own IDE with components similar to VCL. Supports using native Elevate Web Builder Web server Modules. It compiles to optimized JavaScript. Full Stack or Client/Server Focused: Framework covers the Server app and client interface. Balanced Approach good to choose when Both Server and Visually designed UI is one project. WebBroker is the core on the server for most frameworks listed below. AtoZed Software’s IntraWeb: Installs into IDE, Modeled on VCL, Visual Client Designer. The client built from the JS and HTML library. Delphi UI event handlers run on servers, extensible via typescript. FMSoft UniGui: Installs into Delphi IDE, VCL like design and use. Provides data-aware controls, supports desktop and mobile. Allows optional javascript for client-side events and VCL like server event handlers. Open source Ethea Kitto2: Uses Web broker for the backend. No visual designer, make it easy to use Ext JS to build client. Server Focused Open Source: Delphi MVC Framework: Rest Server built on WebBroker includes Delphi IDE wizard. Runs under Apche or ISS on Windows & Linux. Restful RMM level 3 compliant. Synopse mORMot : Doesn’t use Web broker, Integrated SpiderMonkey JavaScript engine for server-side business logic. ORM/ODM: Object persistence on Almost any database (SQL or NoSQL).SOA: organize your business logic into REST services. Web MVC: Publish your ORM/SOA process as responsive Web applications. MArs Curiosity: Lightweight Rest Server built on WebBroker, installs into Delphi […]

Read More

The power of AI from Delphi and/or C++Builder

On the record of the webinar on “Using IBM Watson and the power of Artificial Intelligence (AI) from Delphi and/or C++Builder ” from Thursday, October 24, You can see the resources, slides, and code examples used in the webinar: Resources How to create a free IBM Cloud account:  https://ibm.biz/BdjLxy​ IBM Watson Tone Analyzer:  https://www.ibm.com/watson/services/tone-analyzer/​ IBM Watson Visual Recognition:  https://www.ibm.com/watson/services/visual-recognition/​ Delphi-JsonToDelphiClass by Petar Georgiev:  https://github.com/PKGeorgiev/Delphi-JsonToDelphiClass​ TNetHTTPClient:  http://docwiki.embarcadero.com/Libraries/Rio/en/System.Net.HttpClientComponent.TNetHTTPClient​ Al Mannarino Blog Posts:  https://community.idera.com/developer-tools/b/blog Slides IBMWatsonAI_Delphi_CBuilder.pdf Code Samples: Delphi:WatsonVisual.dproj IBMWatsonToneAnalyzer.dproj (WatsonToneAnalyzer.zip) NetHTTPClient.dproj (TNetHTTPClient.zip)  C++ Builder:   CppSystemNetHttpClient.cbproj On this webinar we showed: – How to leverage the power of machine learning from Delphi and/or C++Builder with the IBM Watson Artificial Intelligence (AI) Services.– This webinar covered using the IBM Watson REST API. IBM Watson is a collaborative environment with artificial Intelligence (AI) tools that you can use to collect and prepare training data, and to design, train, and deploy machine learning models.– On this webinar we specifically looked at two of the IBM Watson AI Services:– The Visual Recognition Service, and the– Tone Analysis Service (for Natural Language Classification), plus we will also look at– Watson Machine Learning.But before we dove into using Delphi and/or C++ Builder with the IBM Watson Artificial Intelligence (AI) REST Services, we took a quick refresher look at what’s possible with Delphi and/or C++ Builder for the integration with Web and/or REST Services. We had a quick review on how to integrate Delphi and/or C++ Builder with back-end services to provide access to data and enhance the Delphi and/or C++ Builder VCL and Multi-Device user experience!

Read More

C++17 On Windows 10 With The C++ Builder

As you know from C++ Builder 10.3, we have support for the modern C++17 On Windows 10 version. Here you can see the C++ 17 support chart. In this CodeRage session, Dion Mai shows demo applications in action. You can find out how you can use the new C++17 On Windows 10 functions and an updated C++17 standard library.  What you can find in this session? Moreover, you can find out how you can call WinRT functionalities. You can find all the wrappers from the RAD Studio installation folder. Source->RTL->Win->WinRT   C++ Builder provides three levels of development:1. Components (VCL and FMX)2. Common Libraries (RTL).3. Platform APIs (iOS, Android, Mac OS) In this post we will discuss the Common Libraries (RTL). C++ Builder has several hundred functions, macros, and classes that you call from within your C and C++ programs to perform a wide variety of tasks, including low- and high-level I/O, string and file manipulation, memory allocation, process control, data conversion, mathematical calculations, and more.​ The C++ Builder Run-Time Library (or RTL) is composed of a number of base header files that provide the underlying support for most of the VCL and FireMonkey component libraries . The RTL includes global routines, utility classes such as those that represent streams and lists, and classes such as TObject, TPersistent, and TComponent.​ Although closely allied with FireMonkey and VCL, the RTL does not include any of the components that appear on the Tool Palette. ​ Instead, the classes and routines in the RTL are used by the components that do appear on the Tool Palette, and are available for you to use in application code in either VCL projects or FireMonkey projects, or when you are writing your own classes.​ For example, the System header contains most of the Run-Time Library (RTL). ​ And from the System header, you have the System.Math.hpp header that defines classes, routines, types, variables, and constants related to mathematical operations, vectors and matrices.​ Or the System.Bluetooth.hpp header that provides classes to use the Bluetooth capabilities of the device that is running your application to connect to applications running on remote devices.​ Or the System.Sensors.hpp header that provides classes and components that let you obtain information and manage system sensors. The Sensors are pieces of hardware or software that can provide measures of physical quantities to your applications.​ Or the System.Threading.hpp header that defines classes and types that implement the parallel programming library.​

Read More

Upcoming Webinar – Python for Delphi Developers

Why would a Delphi developer want to add Python to their toolbelt? It is all about library access and scriptability. The open-source Python4Delphi (P4D) library by Kiriakos Vlahos, author of the popular PyScripter Python IDE, allows you as a Delphi developer to leverage the entire collection of Python libraries directly from Delphi. It also makes it easy to easily execute Python scripts, create new Python modules, and new Python types directly from your Delphi application. Give your Delphi applications the best of both worlds!  Join Python4Delphi author Kiriakos Vlahos, and Embarcadero Developer Advocate Jim McKeeth for this webinar to learn how to leverage Python in your Delphi applications on September 30th, 2020 at 9 AM CDT. Near Local Time Local Date Time Zone UTC Offset Los Angeles (USA – California) 7:00 AM Wed 30-Sep PDT UTC-7 hrs Boise (USA – Idaho) 8:00 AM Wed 30-Sep MDT UTC-6 hrs Austin (USA – Texas) 9:00 AM Wed 30-Sep CDT UTC-5 hrs New York (USA – New York) 10:00 AM Wed 30-Sep EDT UTC-4 hrs São Paulo (Brazil – São Paulo) 11:00 AM Wed 30-Sep BRT UTC-3 hrs Brussels (Belgium – Brussels) 4:00 PM Wed 30-Sep CEST UTC+2 hrs Athens (Greece) 5:00 PM Wed 30-Sep EEST UTC+3 hrs Moscow (Russia – Moscow) 5:00 PM Wed 30-Sep MSK UTC+3 hrs Mumbai (India – Maharashtra) 7:30 PM Wed 30-Sep IST UTC+5:30 hrs Tokyo (Japan) 11:00 PM Wed 30-Sep JST UTC+9 hrs Sydney (Australia – New South Wales) 12:00 AM Thu 1-Oct AEST UTC+10 hrs Auckland (New Zealand – Auckland) 3:00 AM Thu 1-Oct NZDT UTC+13 hrs Corresponding UTC (GMT) 2:00 PM Wed 30-Sep GMT 0 What sort of Python libraries can you access from Delphi with Python4Delphi? TensorFlow – Machine Learning TensorFlow, developed by Google in collaboration with Brain Team, is used in almost every Google application for machine learning. Neural networks can be easily expressed as computational graphs using TensorFlow as a series of operations on Tensors.  Numpy – Data Cleaning and Manipulation TensorFlow and other libraries use Numpy internally for performing multiple operations on Tensors. The array interface is the best and the most important feature of Numpy. Pandas – Data manipulation and analysis  In particular, it offers data structures and operations for manipulating numerical tables and time series. The name is derived from the term “panel data”, an econometrics term for data sets that include observations over multiple time periods for the same individuals. Scikit-Learn – Machine learning and modeling It features various classification, regression and clustering algorithms including support vector machines, random forests, gradient boosting, k-means, and DBSCAN. Natural Language Toolkit (NLTK) – Text Processing A suite of libraries and programs for symbolic and statistical natural language processing (NLP) for English Intended to support research and teaching in NLP or closely related areas, including empirical linguistics, cognitive science, artificial intelligence, information retrieval, and machine learning SciPy – Data Science Used in science, mathematics, and engineering Contains modules for optimization, linear algebra, integration, interpolation, special functions, FFT, signal and image processing, ODE solvers, and other tasks common in science and engineering. Matplotlib & Seaborn for plotting, and statistical data visualization  Pillow & MoviePy for image and video processing

Read More

Embarcadero Subscription Benefits – Highlights for September 2020

Embarcadero Subscription will help Your team to focus on most important things – increase efficiency and Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder. Design. Code. Compile. Deploy. RAD Studio Update for Embarcadero Subscription benefits continues to expand. In addition to multiple FREE components and tools available to Update Subscription customers, we want to highlight several exciting features for September related to the 10.4 / 10.4.1 releases.  Custom HighDPI ready VCL Windows Styles  In 10.4, we significantly extended the VCL Styles architecture to support High DPI and 4K monitors. All UI controls on the VCL form are now automatically scaled for the proper resolution of the monitor the form is displayed on.  Each UI element can be selected from a library of multi-scale versions and scaled to any DPI, resulting in crisp UI elements on all monitors. The following 13 custom VCL styles have been updated to fully support High DPI with your VCL applications: Calypso Stellar Wedgewood Light Material Oxford Blue Puerto Rico Material Patterns Blue Windows 10 Modern Malibu Windows 10 Modern Blue Whale Windows 10 Modern Clear Day Windows 10 Modern Black Pearl Flat UI Light Lucky Point Zircon Parallel Debugger  Today’s applications don’t just run on one thread – they’re spread over the main UI thread and multiple parallel threads all inter-operating. Yet most IDEs are built around interacting with one thread at a time when debugging, or have debugging controls that aren’t even aware that more threads might exist at all. Debugging thread interactions can be hard, really hard… and we have the solution: a new parallel extension to RAD Studio designed for understanding and controlling what your multi-threaded application is doing. Visualize thread call stacks in parallel. See multiple threads indicated inline in the code editor. Control execution on a per-thread basis. And more! This exciting new extension is coming soon exclusively for Update Subscription customers using RAD Studio 10.4.1. TwineCompile: speed up C++ builds  C++ can be slow to compile, for all C++ IDEs – and TwineCompile is the answer. This amazing C++Builder extension parallelizes C++ builds, speeding them up by the number of cores in your machine – making your project build in half, a quarter, or even less time. This add-on is one of the best productivity extensions available for C++ development. Depending on your application size, it’s possible to save an hour or more per day – a huge time saver for your entire development team! There are three short, two-minute videos introducing TwineCompile and how to use it: probably the best six minutes you could spend today improving things for your C++ team. You can get TwineCompile now for C++Builder with your Update Subscription — including for Professional edition customers! Updated FMX Linux We also recently updated the FMXLinux package for Delphi in GetIt. The latest version has full support for 10.4.1 and includes a number of quality improvements.

Read More