Noutați

How To Visualize Data With D3 And JavaScript Using Treemaps, Heatmaps, And Pivot Heatmaps

The D3 package in Sencha Ext JS boasts several powerful components. By utilizing them, you can create amazing data visualizations that can help your business uncover valuable insights both easily and conveniently. In this post, we will discuss three of the most useful Ext JS native components: Treemap, Heatmap, and Pivot Heatmap. Let’s dive in. What is D3?   D3 (Data Driven Components) is a powerful JavaScript library. It enables you to produce dynamic and interactive data visualizations in the web browser, utilizing modern web standards. These standards include SVG, HTML, and CSS. Best of all, D3 is open-source, so you can use it without spending a single penny. How to Visualize Data Using D3 and JavaScript Because the Sencha D3 JavaScript package is fully integrated with Ext JS, you can create powerful data visualizations and implement them into your Ext JS web applications with ease. Although there are many different component types in the D3 package, in this post, we will discuss only Treemaps, Heatmaps, and Pivot Heatmaps. D3 Treemap The D3-treemap is a powerful component that recursively subdivides areas into rectangles, where the area of any node in a tree corresponds to its comparative value. Let’s take a look at this example: To create the visualization shown above, simply follow these steps: 1. First, you have to create the model: Ext.define(‘KitchenSink.model.Stock’, { extend: ‘Ext.data.TreeModel’,   fields: [ ‘name’, ‘description’, ‘cap’, { name: ‘leaf’, calculate: function(data) { return data.root ? false : !data.children; } }, { name: ‘change’, calculate: function() { return (-5 + Math.random() * 10).toFixed(2); // percentages } }, { name: ‘expanded’, type: ‘boolean’, defaultValue: true } ],   proxy: { type: ‘ajax’, url: ‘data/tree/stocks.json’ }   }); Here, you are adding different fields, including name, field, description, leaf, and change. 2. Next, you have to create the View. To do so, add the following code: Ext.define(‘KitchenSink.view.d3.TreeMap’, { extend: ‘Ext.panel.Panel’, xtype: ‘d3-view-treemap’, controller: ‘treemap’,   requires: [ ‘KitchenSink.view.d3.StocksViewModel’, ‘Ext.d3.hierarchy.TreeMap’ ],   width: 930, height: 600,   profiles: { classic: { width: 930, companyPanelWidth: 215 }, neptune: { width: 930, companyPanelWidth: 215 }, graphite: { width: 1000, companyPanelWidth: 300 }, ‘classic-material’: { width: 1000, companyPanelWidth: 300 } },   layout: ‘border’,   viewModel: { type: ‘stocks’ },   items: [ { xtype: ‘treepanel’, region: ‘west’, title: ‘Companies’, split: true, splitterResize: false, collapsible: true, minWidth: 100, width: 215, useArrows: true, displayField: ‘name’, rootVisible: false, bind: { store: ‘{store}’, selection: ‘{selection}’, focused: ‘{selection}’ }, tbar: { xtype: ‘segmentedbutton’, width: ‘100%’, items: [ { text: ‘Market Cap’, pressed: true }, { text: ‘Uniform’ } ], listeners: { toggle: ‘onNodeValueToggle’ } } }, { xtype: ‘panel’, region: ‘center’, layout: ‘fit’, items: { xtype: ‘d3-treemap’, reference: ‘treemap’, rootVisible: false, interactions: { type: ‘panzoom’, zoom: { doubleTap: false } }, bind: { store: ‘{store}’, selection: ‘{selection}’ }, nodeValue: ‘cap’, noParentValue: true, scaleLabels: true, colorAxis: { scale: { type: ‘linear’, domain: [-5, 0, 5], range: [‘#E45649’, ‘#ECECEC’, ‘#50A14F’] }, field: ‘change’, processor: function(axis, scale, node, field) { var record = node.data;   return record.isLeaf() ? scale(record.get(field)) : ‘#ececec’; } } } } ] }); 3. Once you are don there, you have to create the View Model: Ext.define(‘KitchenSink.view.d3.StocksViewModel’, { extend: ‘Ext.app.ViewModel’,   requires: [ ‘KitchenSink.model.Tree’, ‘Ext.data.TreeStore’ ],   alias: ‘viewmodel.stocks’,   stores: { store: { type: ‘tree’, model: ‘KitchenSink.model.Stock’, autoLoad: true } },   data: […]

Read More

How NIST SP 800-53 Revision 5 Affects Application Security

Published May 27, 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 National Institute of Standards and Technology (NIST) is a non-regulatory agency of the U.S. Department of Commerce that, among other things, maintains physical science laboratories and produces guidance for assessing compliance with a wide range of standards. NIST has a long history of providing documents that help organizations and agencies assess compliance with cybersecurity standards and implement changes to strengthen compliance and security. The NIST Special Publication (SP) series provides “guidelines, technical specifications, recommendations and reference materials, comprising multiple sub-series.” One sub-series, SP 800, focuses on cybersecurity, specifically containing guidelines for complying with the Federal Information Security Modernization Act (FISMA). (If you are interested in digging further into NIST cybersecurity offerings, check out the relatively new SP 1800 cybersecurity practice guides as well.)  How NIST SP 800-53 Revision 5 Affects Application Security NIST SP 800-53, “Security and Privacy Controls for Information Systems and Organizations,” provides guidance for selecting the most effective security and privacy controls as part of a risk management framework. The latest revision of NIST SP 800-53, revision 5, was released on September 23, 2020. Revision 5 includes requirements for RASP (runtime application self-protection) and IAST (interactive application security testing). While these approaches to application security are not new, making them a required element of a security framework is a first. Let’s examine how NIST SP 800-53 revision 5 affects the secure application development process. What NIST SP 800-53 contains The initial version of SP 800-53 was released in 2005, titled “Recommended Security Controls for Federal Information Systems.” SP 800-53 always focused on federal information systems, at least up through revision 4. Then, revision 5 dropped the word “federal” from its title. That means SP 800-53 is now a more general guidance document that applies to commercial information systems as well as federal systems. This may seem to be a minor change, but it really means that NIST just expanded the scope of their recommendations. SP 800-53 isn’t a mandate at all, but it does signal a strengthening of guidance from the federal government for non-federal environments. SP 800-53 contains a catalog of security and privacy controls, organized into 20 control families. Chapter two of SP 800-53 “describes the fundamental concepts associated with security and privacy controls, including the structure of the controls, how the controls are organized in the consolidated catalog, control implementation approaches, the relationship between security and privacy controls, and trustworthiness and assurance.” The other major chapter of SP 800-53, chapter three, includes a catalog of security and privacy controls, each of which includes a discussion of that control’s purpose and how it fits into a layered security approach. The goal of SP 800-53 is to provide a consolidated guidance document that describes security and privacy controls, how they are related to one another, and how to best select, deploy and assess the controls required for specific use cases. What revision 5 means to application security Although SP 800-53 revision 5 provides general guidance for selecting security and privacy controls, a noticeable portion of changes since revision 4 focus on software. As […]

Read More

Developer Stories: Georgi Todorov Gerasimov Talks Us Through His Sophisticated File Encryption App

Georgi Todorov Gerasimov has been using Delphi for many years. He has a showcase entry submission (FPS-SE) at the Delphi 26th Showcase Challenge and we got to talk to him about his great Delphi experiences throughout the years. You can purchase and download his application over at File Protect System website. When did you start using RAD Studio Delphi and have long have you been using it? We have been using RAD Studio/Delphi for years. The moment Delphi XE entered the market, we started to work on a project for post quantum encryption of sensitive to critical information, which we named File Protect System – FPS. What was it like building software before you had RAD Studio/Delphi? Before the advent of RAD Studio/Delphi we faced many problems in the development of specialized REST servers. Another serious problem that our team has faced in that time was testing the end-user applications, which were utilizing web based interface. How did RAD Studio Delphi help you create your showcase application? With the advent of RAD Studio XE7/Delphi all R&D processes passed to a qualitatively new level. The technical abilities that provided us technologies like Datasnap, Tethering, Indy, FastReport, FireMonkey, etc. allowed us to speed up development processes and to raise the efficiency and reliability of our software products. At the moment we are reorganizing our working processes in order to start working with RAD Studio 10.4 Sydney. What made RAD Studio Delphi stand out from other options? One of the main advantages of RAD/Studio Delphi is the presence of unique instruments that allow quick implementation of attractive by its nature interface solutions. Another significant advantage is the high quality of the visual components and the exceptionally good compilers. What made you happiest about working with RAD Studio Delphi? It is a pleasure to work with RAD Studio/Delphi because this is an IDE that allows the developers to get a view of the project as a whole. When we get the result, every member of our team is satisfied, and that gives us the ambition to continue our development and grow. What have you been able to achieve through using RAD Studio Delphi to create your showcase application? RAD Studio XE7/Delphi helped us to finalize successfully the first versions of the File Protect System – FPS. We were able to create application that provides the end user with the ability to protect its own files and electronic messages. Something more, the application we developed allows the user to transform every single electronic device (including mobile ones) into high performance encryption system What are some future plans for your showcase application? File Protect System will continue to evolve in the future. At the moment our team is working on the integration of server-based solutions for post quantum protection of corporate structures that are using DB systems like Oracle, MS, MySQL, and DB2. Along with this we are working on our mobile solutions and DLP (Data Loss Prevention) modules that expand the functionality of File Protect System (FPS). Something more, we are continuously evolving our integrated mail client BS Mail, which is becoming popular as a stand-alone application for critical information transfer. Thank you for taking the time to talk to us Georgi. Take a look at his entry showcase below and see what kind of […]

Read More

Powerful Advanced Scientific Computing – it’s easy!

What is Scientific Computing? According to Golub and Ortega in 1992, Scientific Computing is the collection of tools, techniques, and theories required to solve mathematical models of problems in Science and Engineering. A majority of these tools, techniques, and theories are originally developed in Mathematics, which are many of them having their genesis long before the advent of electronic computers. Computation becomes crucially important in situations such as: The problem at hand cannot be solved by traditional experimental or theoretical means, such as attempting to predict climate change Experimentation may be dangerous, e.g., characterization of toxic materials The problem would be too expensive or time-consuming to try to solve by other avenues, e.g. determination of the structure of proteins Nowadays, Scientific Computing is acknowledged as the “third pillar of science”, standing right next to theoretical analysis and experiments for scientific discovery. Why use Python for Scientific Computing? Here are the 6 reasons to use Python for Scientific Computing: Python has built-in support for Scientific Computing. Python is a highly extensible language. Python has very good input/output (I/O) options. Python has strong support for task automation. Python has bridges to MATLAB or Octave. Python can use a web front end. Delphi adds Powerful GUI Features and Functionalities to Python In this tutorial, we’ll build Windows Apps with extensive Scientific Computing capabilities by integrating Python’s Scientific Computing libraries with Embarcadero’s Delphi, using Python4Delphi (P4D). P4D empowers Python users with Delphi’s award-winning VCL functionalities for Windows which enables us to build native Windows apps 5x faster. This integration enables us to create a modern GUI with Windows 10 looks and responsive controls for our Python Web Scraping applications. Python4Delphi also comes with an extensive range of demos, use cases, and tutorials. We’re going to cover the following… How to use NumPy, SciPy, SymPy, scikit-learn, Theano, and Cirq Python libraries to perform Scientific Computing tasks All of them would be integrated with Python4Delphi to create Windows Apps with Scientific Computing capabilities. Prerequisites Before we begin to work, download and install the latest Python for your platform. Follow the Python4Delphi installation instructions mentioned here. Alternatively, you can check out the easy instructions found in the Getting Started With Python4Delphi video by Jim McKeeth. Time to get Started! First, open and run our Python GUI using project Demo1 from Python4Delphi with RAD Studio. Then insert the script into the lower Memo, click the Execute button, and get the result in the upper Memo. You can find the Demo1 source on GitHub. The behind the scene details of how Delphi manages to run your Python code in this amazing Python GUI can be found at this link. Open Demo01.dproj. 1. How do I enable NumPy inside Python4Delphi in Windows? NumPy is a popular Python library used for scientific computing applications. NumPy is an acronym for “Numerical Python”. NumPy is the fundamental package for array computing with Python. NumPy’s operations are divided into three main categories: Fourier Transform and Shape Manipulation, Mathematical and Logical Operations, and Linear Algebra and Random Number Generation. To make it as fast as possible, NumPy is written in C and Python. Besides its obvious scientific uses, NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be defined. This allows NumPy to seamlessly and speedily integrate with […]

Read More

Photomate Automation Supercharges Your Inventory Workflow

The workflow behind the selling and buying of vehicle parts is convoluted and tricky to navigate. It typically involves lots of photos of metallic objects so that the buyer – or seller – can more easily identify whether or not the part is the right one. Photomate works in conjunction with the Car-Part.com website and their Checkmate inventory management system to ease the process of taking those identifying photos and uploading them to the correct places to create online listings. The app greatly simplifies that entire workflow process. RAD Studio Delphi powers Photomate Photomate is written using RAD Studio Delphi where it uses the power of the Firemonkey FMX cross-platform framework to integrate with the mobile device’s built-in camera and sensors to perform its magic. What does the Photomate developer say about their app? According the developer, “The photos you take in Photomate are sent to the Checkmate inventory management system, and then uploaded to online listings. When you include photos in your online listings, you help your customers feel more comfortable browsing and purchasing parts from you. With Photomate, you have the opportunity to select which parts of your inventory need photos to ensure that all of your online listings have images.” Unique features listed for the app include Select specific parts in your inventory that need photos, and assign these parts to Photomate Assign specific parts to specific employees, creating individual “to do” lists Communicate between managers, employees, and coworkers with comment fields Take photos or use images already in your device’s photo gallery Select the best image to serve as the part’s thumbnail for online listings Set any image to be “private” (sent to Checkmate, but not posted online) Send images to Checkmate to be included in inventory details and uploaded to online listings on Car-Part.com, Car-Part Pro, Trading Partners, eBay, mobile searches, and individual recycler websites Google Play Photomate Screenshot Gallery

Read More

Photomate Automation Supercharges Your Inventory Worflow

The workflow behind the selling and buying of vehicle parts is convoluted and tricky to navigate. It typically involves lots of photos of metallic objects so that the buyer – or seller – can more easily identify whether or not the part is the right one. Photomate works in conjunction with the Car-Part.com website and their Checkmate inventory management system to ease the process of taking those identifying photos and uploading them to the correct places to create online listings. The app greatly simplifies that entire workflow process. RAD Studio Delphi powers Photomate Photomate is written using RAD Studio Delphi where it uses the power of the Firemonkey FMX cross-platform framework to integrate with the mobile device’s built-in camera and sensors to perform its magic. What does the Photomate developer say about their app? According the developer, “The photos you take in Photomate are sent to the Checkmate inventory management system, and then uploaded to online listings. When you include photos in your online listings, you help your customers feel more comfortable browsing and purchasing parts from you. With Photomate, you have the opportunity to select which parts of your inventory need photos to ensure that all of your online listings have images.” Unique features listed for the app include Select specific parts in your inventory that need photos, and assign these parts to Photomate Assign specific parts to specific employees, creating individual “to do” lists Communicate between managers, employees, and coworkers with comment fields Take photos or use images already in your device’s photo gallery Select the best image to serve as the part’s thumbnail for online listings Set any image to be “private” (sent to Checkmate, but not posted online) Send images to Checkmate to be included in inventory details and uploaded to online listings on Car-Part.com, Car-Part Pro, Trading Partners, eBay, mobile searches, and individual recycler websites Google Play Photomate Screenshot Gallery

Read More

This AI API Makes Your App A “Fast Style” Artistic Genius

The AI API “Fast Style” is a form of graphical style transfer which uses a neural network to combine the artistic styles of one image with another to render a new unique image. You can think if it like taking a photograph and combining it with a Manet painting to produce a unique photo after the style of Manet. To make art, we will use the help of DeepAi.org a platform that you can use to make a lot of artificial intelligence projects. One of them is “fast style transfer”. We will connect with their API using Delphi. REST and Delphi makes the API easy to use Delphi has a tool called REST Debugger that makes it easy to connect with a REST API. After using it and successfully make the connection, you can copy the components into your Delphi application. Let’s dive into the DeepAi API and see how to build a desktop application to make art. How to connect with DeepAi API? DeepAi has good documentation around their API, which you can check here. First of all, you will need to make an account on DeepAi.org and take your API key. You are gonna need it later. From the Fast Style documentation, you can see that you will need to send three parameters to the API endpoint. Two links or files with images (where one is the image to render and the other, the style you want to apply), and your API key. How do I use Delphi to Connect with DeepAi API REST endpoints ? First of all, let’s use the REST Debugger found in RAD Studio Delphi. The REST Debugger is a visual tool to connect with any API, make a call, and get a response. In your Delphi IDE,. To use it, in the IDE menu, go to Tools > REST Debugger. Change the Method to POST and insert the API Endpoint ( https://api.deepai.org/api/fast-style ) in the URL field. Then, go to the Parameters Tab. To add the image links, click on the Add button. If you want to send a link directly from a web link, on Kind, select BODY. If you want to send a file of your hard drive, select FILE instead. In the name, write ‘content’ and put the link of the image in the value. For your style image, just change the name to ‘style’. Lastly, click on add again e now, select HEADER on Kind and, on name, write api-key and on value, put your API key value. Sending a REST request to the DeepAI API Now, click on Send Request and after some time, you should receive a 200 response and, on Tabular Data Tab, you will see the output_url, with the link of the image that the artificial intelligence created: Congrats, now you can send and get data from an Artificial Intelligence API and use it as you want. How do I build a Windows desktop application to send and get images from the DeepAi API? The application we are gonna build here will get the images from your computer, show and send them to the deepAi API. Also, it will show the image that the API returns and save it into the application folder. So, with a form already created, paste the components copied from the […]

Read More

TMS WEB Core for Visual Studio Code v1.3 released

Today is an exciting day as we reached yet another milestone, this time the release of TMS WEB Core for Visual Studio Code v1.3. You are an Object Pascal expert, your customers look out to access your applications everywhere via the web and without any install hassle, you love the RAD component based development methodology, you can do this software development from the operating system you love … then having a look at TMS WEB Core for Visual Studio Code v1.3 will open a whole new world!  What brings TMS WEB Core for Visual Studio Code Fully Object Pascal based web development RAD component methodology driven fast & productive development  Hosted in a free hugely popular IDE for web developers Running on Windows, macOS and Linux Using a WYSIWYG form designer A framework that has a similarities with the familiar VCL framework where possible  What is on the table in v1.3 This major update is packed with significant new features: Support for packages Yes, from now on, it is easy to create your own custom components and compile & install these for use at design-time. The package system is similar to how you can use packages to install components in the Delphi IDE or Lazarus Support for workspaces With workspaces, now you can have multiple projects in a folder and activate and select which project to compile/run/debug. Support for using the entire FNC component suite As our entire set of FNC components is ready for use in web client applications, the new package support in TMS WEB Core for Visual Studio Code enables to install all TMS FNC components in the TMS WEB Core for Visual Studio Code IDE. The latest FNC registered version updates released last week contain all the required packages for this. Brings the framework up-to-date with latest version as available in TMS WEB Core for Delphi/Lazarus v1.7 The TMS WEB Core framework that comes with TMS WEB Core for Visual Studio Code is now in sync and up-to-date with the latest release of TMS WEB Core for Delphi. This means that all new components and component improvements are now also available for Visual Studio Code users. This includes the new USB components, local file access components, new Firestore dataset capabilities, extensions to grids, web socket connection improvements and much more…  One important note though, the Miletus application type is not yet in our release for Visual Studio Code release but scheduled for the next release.  Get started! There are several ways to get started with TMS WEB Core for Visual Studio Code TMS ALL-ACCESS users have immediate & free access to TMS WEB Core for Visual Studio Code TMS WEB Core for Visual Studio Code registered users will find the new release now on your “My Products” page A fully functional trial version for Windows, macOS or Linux is available We have a webinar coming up that will guide you around the IDE, the framework, the possibilities Check more details about FNC and using FNC components from Visual Studio code in this blog  Learn how to use packages, write your own components or use FNC components We have already two videos for you and more are coming. Chief architect José Leon Serna explains how to start using packages: José Leon Serna and Bruno Fierens host a […]

Read More

Powered by Delphi: The Ultimate App For Tinnitus Sufferers

It’s often overlooked that writing a Delphi application can make a real difference to people’s lives in a very meaningful and profound way. Tinnitus Help by US Developer Mango Chutney may just be one of those game-changing Delphi mobile apps. According to the US Center For Disease control and the American Tinnitus Association, around 15% of all Americans, around fifty MILLION people, suffer from some level of tinnitus. Those percentages are dwarfed by the numbers of people worldwide who also suffer what can be a debilitating condition. It’s a subject brought to light recently by the hit Amazon movie “The Sound Of Metal” which documents the journey into hearing loss of a rock drummer – played by actor Riz Ahmed. Your Delphi programs could make a positive difference to people’s lives Given the numbers of people who live every day with the difficulties brought about by tinnitus German developer IND (Ingenieurbüro für Nachrichten und Datentechnik) are well-placed to really touch user’s lives in a positive and possibly transformative way. ‘Tinnitus Help’ is eight programs in one. As stated by the developer, “The ultimate application for tinnitus sufferers. Only naturally produced sounds of musical instruments and sounds of Mother Nature – no synthesizers! Developed by an expert software engineer in the field of frequency analysis and a leading music psychologist, music therapist and hearing therapist with more than 20 years’ experience in the treatment of tinnitus sufferers. Used very successfully in the treatment of tinnitus.” Google Play Tinnitus Help Screenshot Gallery Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder. Design. Code. Compile. Deploy.Start Free Trial   Upgrade Today    Free Delphi Community Edition   Free C++Builder Community Edition

Read More

Working Example Code of Using STOMP In Your Application

object frmMain: TfrmMain   Left = 0   Top = 0   BorderIcons = [biSystemMenu]   BorderStyle = Single   Caption = #144’Delphi STOMP Client’   ClientHeight = 495   ClientWidth = 384   FormFactor.Width = 320   FormFactor.Height = 480   FormFactor.Devices = [Desktop]   OnCreate = FormCreate   DesignerMasterStyle = 0   object btnSubscribe: TButton     Position.X = 32.000000000000000000     Position.Y = 32.000000000000000000     TabOrder = 0     Text = ‘Subscribe’     OnClick = btnSubscribeClick   end   object edtTopic: TEdit     Touch.InteractiveGestures = [LongTap, DoubleTap]     TabOrder = 1     Position.X = 120.000000000000000000     Position.Y = 32.000000000000000000     Size.Width = 233.000000000000000000     Size.Height = 22.000000000000000000     Size.PlatformDefault = False   end   object Label1: TLabel     Position.X = 120.000000000000000000     Position.Y = 16.000000000000000000     Text = ‘Topic’     TabOrder = 2   end   object btnPublish: TButton     Position.X = 32.000000000000000000     Position.Y = 80.000000000000000000     TabOrder = 3     Text = ‘Publish’     OnClick = btnPublishClick   end   object edtMessage: TEdit     Touch.InteractiveGestures = [LongTap, DoubleTap]     TabOrder = 4     Position.X = 120.000000000000000000     Position.Y = 80.000000000000000000     Size.Width = 233.000000000000000000     Size.Height = 22.000000000000000000     Size.PlatformDefault = False   end   object Label2: TLabel     Position.X = 120.000000000000000000     Position.Y = 64.000000000000000000     Text = ‘Message’     TabOrder = 5   end   object Memo1: TMemo     Touch.InteractiveGestures = [Pan, LongTap, DoubleTap]     DataDetectorTypes = []     Position.X = 32.000000000000000000     Position.Y = 120.000000000000000000     Size.Width = 321.000000000000000000     Size.Height = 345.000000000000000000     Size.PlatformDefault = False     TabOrder = 6     Viewport.Width = 317.000000000000000000     Viewport.Height = 341.000000000000000000   end end

Read More