Noutați

Do All Your Windows Applications Look Like A Computer Virus?

OK, so you’ve written something brilliant, the Next Big Thing.  You’re taking the modern approach.  You’ve read up – or watched – our series on Fluent UI and maybe even applied a few visual things like neo skeuomorphism we learned about at the Desktop First conference.  Perhaps you’ve applied some VCL themes to your app and integrated the ability to detect Windows 10 dark mode / light mode in your Delphi application? Everything is going well… until the users try to use your applications. This is the message you get when you run a very popular open source project which has 100,000+ downloads. You start getting complaints from your users they can’t download your application.  Or, when they do finally manage to fight back against the modern web browser’s paranoia your app gets blocked by Windows 10 or, more mysteriously, simply disappears altogether into a blue cloud of corporate group policy genie smoke. You didn’t take the last step: signing your code to prove that your wonderfully-crafted application is from you, and only you, and has not been infected by a computer virus or cryptolocker trojan. In the recent security-themed TCoffeeAndCode we had intended to talk about code-signing but we kind of got distracted by the many other security things which cropped up.  To be fair, we did say it’s not scripted! What is code-signing? Code signing is a manual process which you can make happen just after or at the point of the final building of your application.  It adds a small resource to your exe containing a digital signature.  The signature identifies who, in theory at least, wrote the code and adds in information which takes a checksum of your application’s exe file.  This information – the code signature – when taken altogether means that any user running your applications can be sure that the exe file has not been modified since you created it on your computer or build server.  Any changes to the exe, for example, by a virus, will break the cryptographic checksum so users can tell something has gone wrong. A properly code-signed app (the image is old – the certificate would show a current expiry date) Delivering apps via a weblink pretty much demands code-signing Code signing doesn’t just help identify the original developer, it also plays a part when your programs are downloaded from a website or similar online delivery mechanism.  Most browsers (probably all) will warn you about downloading exes from a website, especially one which is not using HTTPS. Microsoft Edge and Windows combined goes a little further and will actively scream at you if the exe does not bear a digital signature (another way of saying it’s not code-signed). Unsigned apps look just like computer viruses If your users do finally manage to jump through all the various hoops and actually get the exe to download on your computer some of them may find that the downloaded file has magically disappeared.  This is because it’s fairly common for corporate networks to enforce a rule which says that users may only run certain trusted applications.  No code signature usually means your application is not trusted.  Some go even further, although this is less common and insist that all user applications must be 64bit, especially server-side applications and Windows services. Corporate […]

Read More

Developer Stories: Luis Hernandez Shares About His VisualNEO Web Software

Luis Hernandez has been developing on Delphi for two and a half years. He submitted a showcase entry (VisualNEO Web) for the Delphi 26th Showcase Challenge and we wanted to know about his process with developing the software. His works can be found over at VisualNEO Web. When did you start using RAD Studio Delphi and have long have you been using it? Two and a half years ago the opportunity arose to continue with the development of NeoSoft’s software products, because its main developer, David Riley, left the project. For that reason I had to start programming in Delphi in order to continue with the development of NeoAppBuilder, then a beta and now called VisualNEO Web. What was it like building software before you had RAD Studio Delphi? Although I consider myself mainly a web developer, my previous programming tool for Windows was NeoBook (now called VisualNEO Win). It is an extremely simple but very powerful tool, although not as much as Delphi of course. How did RAD Studio/Delphi help you create your showcase application? Delphi is a very powerful programming tool, which allows to make almost any software project a reality. Thanks to its easy-to-understand structure and syntax, it has allowed me to take on a complex project without being an expert. What made RAD Studio/Delphi stand out from other options? In my case, I had no choice. When I took over the VisualNEO Web project it was still a beta but in a very advanced state of development. I found it such an interesting opportunity that I decided to learn Delphi, which I am still doing today. If VisualNEO Web had been programmed in another programming language, it might not have been possible for me. What made you happiest about working with RAD Studio Delphi? What makes me happiest about working with Delphi is knowing that it is a platform where almost everything is possible.  It’s hardly possible to find something Delphi cannot do. What have you been able to achieve through using RAD Studio Delphi to create your showcase application? Thanks to this powerful tool, I have been able to push through a number of upgrades and new versions of VisualNEO Web. I keep alive a software that is indispensable in my work and that otherwise might have been abandoned. I have been able to grow an incredible community of users passionate about the VisualNEO project and meet people from all continents. I can say that my life has changed since I decided to learn Delphi to continue with the development of VisualNEO. What are some future plans for your showcase application? VisualNEO Web is based on web technologies and as such, has no limits. There are many fields yet to be explored and incorporated into NeoScript, VisualNEO’s simple programming language, to make web application programming easier and faster for everyone. I would also very much like to expand the compilation options to reach more platforms. Personally I would like to involve more programmers in its development since right now it is a personal project to which I cannot dedicate as much time as I would like. Thank you, Luis! Read about his showcase entry by clicking the link below. Showcase

Read More

How Can Computer Vision Help You Stay Ahead Of The Competition?

Who loves AI algorithms? The Read service is an API that identifies any visible text, printed and handwritten on images or PDF files. The API returns the words on results with confidence percentual of that text found on the image/PDF. Using it, you can extract any texts from images/PDF even if someone wrote by hand. If is there any word, it can identify. Now let’s create our Javascript Ext JS application using best practices and applying this awesome API to scan images to extract texts from it. Incorporating computer vision into your Javascript applications like this can really help you stay ahead of the competition. Let’s get started! Prerequisites Before you start, there are some prerequisites to follow to access the API. You can follow the steps here to create a Computer Vision resource on Microsoft Azure to get your keys to access the API. Starting with Sencha CMD If you still don’t have Sencha CMD, you can download it for free here. Once you have it installed make sure it was installed and configured properly, running this command on terminal/shell: If it returns sencha cmd version, you are good to go. Here are more details on how to install, configure and use Sencha CMD, but this article will show all the important details. Creating the application The first thing you want to do is create your project structure and Sencha CMD can do it for you easily, just by running this command: sencha -sdk /Users/fabio/sencha-sdks/ext-7.3.1/ generate app modern ReadTextImage ./read-text-image-extjs /Users/fabio/sencha-sdks/ext-7.3.1/ is where your Ext JS SDK folder is. ReadTextImage is the name of our application that will be our namespace for our classes. ./read-text-image-extjs is the path where it will create our project structure with the needed files. modern is the toolkit selected for our application. Make sure when you run this command there is no error on the output. If everything was running correctly, it created your project structure. Let’s run our application with the initial structure. First navigate to your project folder: $ cd read-text-image-extjs/ Then, run the command that will up the server on a specific port: The output of this command will show you the URL where your app will be available. For our case, it is available on http://localhost:1841/. Open it on your browser and you will see a screen like this: Cleaning up Once we have our basic project running, we can remove from it the files and components that will not use. You can delete these files with the command bellow (open other terminal and keep sencha app running because it will update the application automatically): $ rm app/model/* app/store/* app/view/main/List.* Now let’s clean up our classes that are on app/view/main. Make sure your three classes are like this: Main.js: /** * This class is the main view for the application. It is specified in app.js as the * “mainView” property. That setting causes an instance of this class to be created and * added to the Viewport container. */ Ext.define(‘ReadTextImage.view.main.Main’, { extend: ‘Ext.Panel’, xtype: ‘app-main’, controller: ‘main’, viewModel: ‘main’ }); MainController.js: /** * This class is the controller for the main view for the application. It is specified as * the “controller” of the Main view class. */ Ext.define(‘ReadTextImage.view.main.MainController’, { extend: ‘Ext.app.ViewController’, alias: ‘controller.main’ }); MainModel.js: /** * This class is the view […]

Read More

Securing Serverless Applications

Published Apr 29, 2021 WRITTEN BY ED TITTEL. Ed Tittel is a long-time IT industry writer and consultant who specializes in matters of networking, security, and Web technologies. For a copy of his resume, a list of publications, his personal blog, and more, please visit www.edtittel.com or follow @EdTittel Although the term says “serverless,” serverless applications don’t really run without any servers involved. Rather, serverless applications run inside cloud-based infrastructures so that developers and operators need no longer stand up and run their own servers, virtual or physical. That is, the application still runs on a server, but the responsibility for server management falls on the cloud service or cloud platform provider instead. That means that organizations need not themselves provision, scale, manage and maintain servers on which their applications run – they use a serverless architecture to build, test, deploy and run their applications and services for clients, customers, end-users, and so forth. AWS Lambda, for example, is a serverless service that includes automatic scaling, with high availability baked into the runtime environment, charged on a pay-for-value basis. As is typical for cloud-based runtime environments, serverless applications adhere to what’s often called a “shared security model.” Following this model means that the cloud provider is responsible for the security of the cloud while those who host their applications are responsible for security of their application  in the cloud. When organizations adopt serverless technologies, the responsibility that the cloud or application provider assumes climbs up the stack to include operating system and networking security for the servers it operates on which the organization’s serverless application runs. Theoretically this means that the job of security is easier for serverless applications than for cloud-based applications where the operating organization also stands up underlying virtual infrastructures. In fact, Amazon recommends (and most other cloud service and platform providers concur) that companies adhere strictly to the Principle of Least Privilege (PLP) and also follow best practices for securing their serverless applications. They recommend their own identity and access management (IAM) platform to secure and manage access to their services and resources, but similar capabilities are available from all of the major cloud platform providers including Azure, Google, Oracle, IBM, Alibaba and others as well. Proper use of identity and access management technology is indeed key to securing serverless applications. This includes access controls through accounts and groups or job roles, and specific constraints on how users may interact with serverless applications. These might pertain to days of the week, times of the day, originating IP addresses, as well as require use of SSL or other secure protocols, and even require multi-factor authentication (2FA or better) before allowing access to proceed. In addition, most cloud platforms’ identity and access management tools support access auditing and reporting, so the organization’s security team and administrators can confirm that prevailing policies provide only authorized public and private accounts with appropriate access to applications and their resources. In fact, organizations should use this reporting to tweak and adjust their security policies to enable access only to services in use, following PLP. Multi-Factor Authentication (MFA) makes most sense for privileged accounts and access (administrators, developers, architects and security staff) so that privileged access is available only to those who provide a hardware MFA device, or who use an authentication app […]

Read More

See How SongShow Mobile Control Flexes Its Real-Time Power

SongShow Plus demonstrates how a well-written application can breeze through seemingly difficult tasks like real-time streaming. On the face of it SongShow Plus – which is now on version 8 – is portrayed as a remote control and aid for live presentations and stage performances, but behind this modest public face is a whole lot of power. How does SongShow Plus flex its Delphi muscles? Aimed primarily at Churches and similar organizations SongShow says: “many churches use standard business communication tools like PowerPoint to display content, but these tools are not designed for the church environment and have serious limitations. SongShow Plus is presentation software designed specifically for churches with tools for displaying scripture, song lyrics, custom built slideshows for sermon content and much more“. Video production is a major part of Church budgets as they modernize and invest in technology to engage and inform their congregations with live video and mixed media such as text overlays.  SongShow plus manages live video throughput and can easily handle multiple layers of media, all in real-time. More on SongShow Plus The company president, Doug Reece, has a comprehensive amount of information on the main SongShow Plus website and he also hosts a blog and news forum. SongShow Plus’ collection of tools not only allows you to display the right content, they allow you to do it quickly and on-the-go with a creditable collection of amazing mobile control features. Mobile control functions for SongShow Plus include Remote Control, Program Control, and Stage Monitor. The SongShow Plus mobile application is designed to work in companionship with the SongShow Plus 8.4 desktop application. With SongShow Plus 8.4 installed and the mobile device both on the same network the two work in harmony, seamlessly for the users, but with all the technicalities of how they interconnect hidden and taken care of for them. RAD Studio is the secret to success RAD Studio’s components, themes (SongShow Plus uses the FMX themes to look good), and the Delphi or C++ language can lift your applications from a design to an actual program in the iOS and Android app stores. Website SongShow Mobile Control Google Play SongShow Mobile Control Screenshot Gallery When are you going to take that great idea you had and turn it into reality?

Read More

Truly Make Your User’s Lives Easier With This Delphi Android App

Delphi developers are behind a surprising amount of industries. With their desktop and mobile applications quietly working away providing solid, reliable and useful tools to assist and enhance their user’s daily social and working lives our developer community are in on the big secret: RAD Studio Delphi gets your apps going from great idea to reality and into the hands of customers quickly. Also, with the full power of RAD Studio’s rapid application development, the minimum of effort produces maximum results. Once out there on your user’s devices your apps keep on solidly running allowing you, as Apple’s Tim Cook would put it, to “surprise and delight your users“. Via Express makes user’s lives easier Via Express is just such an example of a truly useful application, written well. It’s compact, light-weight and works on the iPhone and iPad where users user it to record the details of journeys and travel details for use in expense claims and financial reporting such as tax accounts. The mobile app links with a web-based service from the same developer and between the two a comprehensive picture of you or you staffs’ travel can be recorded and a history built up over time. What sort of information does the app help with? Data like starting location, vehicle information such as type – car, motorbike and so on – destination, reason for travel as well as timings and distance covered. Users don’t have to use the online service since the app can be used completely independently of it. Anyone who has faced the nightmare of recording their travel details for either reimbursement by an employer or to accurately claim allowances on their tax paperwork will know that Via Express really does have the potential to improve its user’s lives and simplify the bureaucratic paperwork burden. Developer Davor Pleskina has several apps in the Apple iTunes and Google Play Android store. Great work Davor! Apple App Store Via Express Screenshot Gallery Isn’t it time to turn your great idea into reality and become the next must-have app?

Read More

Delphi University makes a year

A year ago, we launched the Delphi University project here in Brazil. And yesterday, 13/04/2021, it was a day to celebrate the success of the project. The idea of ​​live and the call The day started and at around 10 am I remembered that I was completing exactly one year since the launch of Delphi University . I talked with the team in the group of content producers and sent “let’s do a live class?” I wanted the live to be light, a chat without responsibility, without a technical part … So when making the call to live I thought to myself: “I want something that makes people laugh…” and the rest is what you saw in the editing I did, if you have not seen the video of the call is here below: Video call for Delphi University’s 1-year Live Guests In addition to the content producers, we opened space to interact with some special guests… who for example went to live was Prof. Tiago Souza , training coordinator at the Paula Souza Center. You can find the full post on my website (in Portuguese): And this year we intend to deliver even more content at Delphi University. Discover: universidadedelphi.com.br. See you at the next opportunity.

Read More

High performance multi-feature grid

Intro The multi-device, true native app platform The FireMonkey® framework is the app development and runtime platform behind RAD Studio, Delphi and C++Builder. FireMonkey is designed for teams building multi-device, true native apps for Windows, OS X, Android and iOS, and getting them to app stores and enterprises fast. source: https://www.embarcadero.com/products/rad-studio/fm-application-platform FMX (FireMonkey) released in 2011 and shortly after we delivered a first set of components. Today, we want to show you the TTMSFNCGrid component, a high performance multi-feature grid Features Below is a list of the most important features the TTMSFNCGrid has to offer. The features are not limited to this list, but this will give you a quick insight on what we offer to be able to create an application that visualizes your data in a grid structure in FireMonkey. Column Persistence Fixed cell single and range selection Autosizing columns / rows on double-click Highly configurable and flexible grid Various cell types available and built-in as well as support for custom cell types Fixed columns left and/or right, fixed rows at top and/or bottom. Column & row freezing High performance virtual mode Several selection modes: single & multi cell, column, row, distinct cell, row, column Cells with support for HTML formatted text, hyperlinks Editing with range of built-in editor types and capability of using custom cell inplace editors Cell merging and splitting Grouping support with summary rows, and group calculations such as average, sum, min, max, custom calculation… Filtering with optional auto filtering via dropdown Different cell layouts for different cell states Read-only and/or fixed state per cell configurable Single column sorting, indexed column sorting, grouped column & indexed column sorting Pixel and cell scrolling modes Keyboard and Mouse handling customization: tab, enter, insert, delete key handling Column and row dragging and sizing Cell controls such as checkbox, radiobutton, button, bitmap, progressbar etc… Configurable touch scrolling optimized for iOS / Android Banding Clipboard support HTML Export PDF Export Excel Import / Export via the TTMSFNCGridExcelIO Find and replace functionality Separate ToolBar Popup Learn More! Want to learn more about what the TTMSFNCGrid can do? Here is a video that highlights some of the above features through a demo application. Download & Explore! The TTMSFNCGrid component is part of the TMS FNC UI Pack, which, on top of FMX, also offers the ability to write your code once and target other frameworks (VCL, LCL and WEB). You can download a full featured trial version of the TMS FNC UI Pack and start exploring the capabilities of the TTMSFNCGrid component. Stay tuned! The TTMSFNCGrid is the fifth and last component of a series of components that is covered to empower your FMX (FireMonkey) developments. We started the series with a general overview of the most important components that we have to offer, followed by the TTMSFNCRichEditor, TTMSFNCPlanner, TTMSFNCTreeView and the TTMSFNCKanbanBoard. Keep an eye on our blog post for more exciting news coming up for the FMX framework and FNC in the form of a whole new platform!

Read More

Developer Stories: George Kirkwood Gives Insights On SiteZilla

George Kirkwood has been working with the programming language ever since Delphi 1. His application (SiteZilla) showcase entry was an excellent addition to the Delphi 26th Showcase Challenge and we exclusively asked him about how he works with Delphi. Take a look at his SiteZilla website for further knowledge about his application. When did you start using RAD Studio/Delphi and have long have you been using it? I’ve been using Delphi since version 1. We previously created applications in Visual Basic, but as soon as Delphi came along we jumped ship and abandoned all VB code. What was it like building software before you had RAD Studio/Delphi? We had MS-DOS based character interfaces. Then VB came along and we could design more visual applications for Microsoft Windows. Connecting to databases with VB wasn’t exactly straightforward, and the choice of databases was limited. Delphi changed all of this. How did RAD Studio/Delphi help you create your showcase application? The app needed to work on multiple platforms, so as an existing Delphi developer it was a simple decision to make to go with Delphi and FireMonkey. Although there was still a lot to learn, we could re-use a lot of the existing code so this gave us an advantage in getting started. Our development time for this app from concept to delivery was achieved extremely quickly. What made RAD Studio/Delphi stand out from other options? The cross platform write once, run anywhere ability was a big plus for us. It also helped our customers in being able to provide the same app, with the same layouts and interfaces, on all devices. What made you happiest about working with RAD Studio/Delphi? Being able to utilise nearly 30 years of experience to create solutions quickly. The familiarity of the IDE, code etc., when developing for other platforms made life a lot easier. I didn’t have to learn Android Studio, Objective C or the myriad of ways in which you had to do certain tasks on each platform. What have you been able to achieve through using RAD Studio/Delphi to create your showcase application? We’ve utilised push messaging, GPS location and offline data storage. Some of this would have been difficult with the platform specific IDEs. The app was delivered from concept to production ready in less than 6 weeks. What are some future plans for your showcase application? We plan to add more features, utilize new technologies and device capabilities and ensure compatibility with every device our customers use. Thank you, George! Click the link below to view his showcase entry. Showcase

Read More