Skip to main content

Posts

Showing posts from February, 2021

Google details three common mainframe modernization mistakes

As more organizations embark on mainframe modernization journeys, Google wants to make sure they head down the right path. The company outlined common pitfalls and antipatterns businesses face when migrating or modernizing their workloads.  “Migrating or modernizing your mainframe workloads is complex and challenging, even under ideal conditions,” Travis Webb, solutions architect at Googe, wrote in a blog post . “If you avoid the antipatterns discussed in this document, you increase the odds of a successful transformation.” RELATED CONTENT: Mainframe for DevOps puts an end to silos While these approaches may work for some circumstances, Webb warns against them because “they have a high probability of failure.” According to Webb, the three most common antipatterns are:    Big bang rewrite applications: Rewriting or re-architecting your legacy mainframe code into a more modern language or design patterns can help speed of application development and future-proof solutions, but i

Microsoft introduces new tools for responsible AI

Microsoft has announced new capabilities in its responsible AI (RAI) toolkits for helping data scientists reduce bias within their machine learning models. Last May at Microsoft Build, it announced three tools for the toolkit: InterpretML, Fairlearn, and SmartNoise.  SmartNoise is a collaboration between Microsoft and Harvard and is used to protect personal data while allowing researchers to gather insights from that data using differential privacy. SmartNoise now offers the ability to use synthetic data, which is a created sample that is derived from the original dataset.  By combining the synthetic dataset with the original dataset, researchers can continue to analyze the same dataset without increasing privacy risk. The synthetic data capability will allow for increased collaboration between research parties, democratized knowledge, and open dataset initiatives, the company explained.  Microsoft has also announced the release of a new tool called Error Analysis . This tool will

SD Times news digest: xMatters’ data-driven DevOps approach to incident resolution, SolarWinds APM integrated experience, and Atlassian acquires Chartio

xMatters has announced new capabilities designed to help teams respond faster to incidents. According to the company, its data-driven DevOps approach helps DevOps, SRE and operations teams collaborate through the xMatters Incident Console, Slack, Microsoft Teams and Zoom. Other updates include a new “Incidents by Severity” widget, and new capabilities in its messaging user interfaces so teams can communicate better and react quickly to time-sensitive issues.  “Competitive companies don’t want to simply reduce incidents and keep their services running, they want to do so while simultaneously releasing exciting products that customers will love. Traditionally, this has been a hard balance to strike—the faster and more innovative teams try to be, the more likely they are to break existing services or overlook factors that impact the customer experience in production,” said Doug Peete, chief product officer at xMatters. “Without the proper tools to support their desired velocity, developm

SD Times Open-Source Project of the Week: PennyLane

PennyLane is an open-source, cross-platform Python library for differentiable programming of quantum computers. Differentiable programming refers to a programming paradigm that leverages automatic differentiation. PennyLane tries to bridge the gap between quantum computing and machine learning. According to the project’s GitHub page, PennyLane enables users to train quantum computers much like neural networks.  Xanadu, the company behind PennyLane, explained: “We’re entering an exciting time in quantum physics and quantum computation: near-term quantum devices are rapidly becoming a reality, accessible to everyone over the Internet. This, in turn, is driving the development of quantum machine learning and variational quantum circuits.” RELATED CONTENT: How quantum computing will impact software development The project’s key features include: Machine learning on quantum hardware through PyTorch, TensorFlow, JAX, Keras or NumPy Ability to run the same quantum circuit on different

Concurrency vs Parallelism – Difference between Concurrency and Parallelism Vijay Sinha The Crazy Programmer

In this article, we dive deep into the core concepts of multithreading . We will have a look at the profound understandings of the terms Concurrency and Parallelism with their description. Then, we compare the major differences between the two terms. Concurrency and Parallelism are often misunderstood to be somewhat similar but it is not the case when we consider it with aspects of Multithreading. Concurrency By Concurrency, we mean executing multiple tasks on the same core. In simpler terms, it relates to processing more than one task at the same time. It is a state in which multiple tasks start, run, and complete in overlapping time periods. An application capable of executing multiple tasks virtually at the same time is called a Concurrent application. In case the computer only has one CPU or one Core the application may not make progress on more than one task at the exact same time .  Instead, divide the time and the Core/CPU among various tasks. Concurrency is useful in decreas

Google’s Jetpack Compose UI toolkit reaches beta

Google released its new UI toolkit Jetpack Compose, designed to make it easier to build native apps across all Android platforms.  According to the team, Compose offers modern, declarative Kotlin APIs and is built to integrate with existing Android apps and Jetpack libraries.  Google’s product manager Anna-Chiara Bellini and developer relations team member Nick Butcher explained that the beta release of Compose API currently has all the features necessary to build production-ready apps and that the release is API stable.  For the beta release, Android has been primarily focusing on ensuring that all the foundational APIs are ready for the 1.0 release. Other new features since the alpha release include  coroutines support, accessibility support for Talkback, easy-to-use animations, material UI components and more.  “Built entirely in Kotlin, Compose takes advantage of its great language features to offer powerful, succinct, intuitive APIs. Coroutines for example enable us to write m

Checkmarx debuts new Keeping Infrastructure as Code Secure solution

In an effort to better secure cloud-native apps, software security company Checkmarx has launched a new open-source static analysis solution. The new Keeping Infrastructure as Code Secure (KICS) solution enables developers to write secure infrastructure as code (IaC) by automatically detecting issues from the start. According to the company, as organizations move to the cloud they are utilizing IaC to provision infrastructure faster and provide scalability. However, developers are struggling to manage IaC’s security, compliance and configuration risks. KICS aims to address this by automatically detecting issues, hard-coded keys, passwords, compliance issues, and misconfigurations. RELATED CONTENT:  The modern risks of open-source code Developers take a larger role in security “As development processes evolve and organizations accelerate their cloud adoption, developers are taking on more security responsibility while also delivering software faster than ever before. This is an im

Amazon launches Amplify Flutter for building cross-platform apps

Amazon has announced the general availability of Amplify Flutter, which is a new solution that combines AWS Amplify and Flutter to enable developers to build cross-platform apps.  AWS Amplify provides a set of tools for building scalable web applications, while Flutter is Google’s UI toolkit for mobile, web, and desktop application development.  Key benefits for AWS customers include an interface for authenticating users, an interface for managing user content in storage buckets, and analytics, according to the company.  The beta release for Amplify Flutter was launched in August 2020, and between then and now three new capabilities have been added to the solution.  It added new GraphQL API and REST APIs and handlers. It also introduced Amplify DataStore as a programming model for leveraging shared and distributed data. The third new feature is Hosted UI, which can be used to implement authentication and is compatible with Amazon Cognito and other social identity providers like Face

SD Times news digest: Fairwinds Insights 3.0, Mabl unveils native desktop app, and Nim 1.4.4 and 1.2.10

The latest release of Fairwinds Kubernetes security monitoring and governance solution aims to bridge the gap between security, development and operations. Fairwinds Insights 3.0 features resource monitoring; automation roles; and a new Open Policy Agent policy UI. The resource monitoring functionality is now integrated with Prometheus Collector to provide fine-grained resource usage data and reports on how much workloads costs and on cost trends. Automaton rules automatically triage Kubernetes misconfiguration alerts and the policy UI enables users to view and manage OPA policies.   “We’ve consistently focused on improving DevSecOps by giving developers visibility into their Kubernetes clusters so they can ensure accurate configurations, prioritize security into the development process and create cost and time efficiency savings,” said Bill Ledingham, CEO at Fairwinds. “Insights generates a lot of critical data, and with version 3.0 we’ve focused on giving users the tools they need t

Google to fund two full-time Linux kernel security developers

Google and the Linux Foundation have announced plans to maintain and improve Linux’s long-term security. As part of the plan, the organizations will prioritize funds to underwrite long-time Linux kernel maintainers Gustavo Silva and Nathan Chancellor as full-time developers focused on Linux kernel security development.  This decision follows a survey by the Linux Foundation’s Open Source Security Foundation (OpenSSF) and the Laboratory for Innovation Science at Harvard (LISH), which found a n eed for additional security work on the Linux operating system.  “At Google, security is always top of mind and we understand the critical role it plays to the sustainability of open source software,” said Dan Lorenc, a staff software engineer at Google. “We’re honored to support the efforts of both Gustavo Silva and Nathan Chancellor as they work to enhance the security of the Linux kernel.” Chancellor’s work will focus on triaging and fixing all bugs found with Clang/LLVM compilers and on est

Data mesh challenges common data assumptions

A new data architecture that aims to challenge the preconceived notions of data and enable organizations to scale and move faster was introduced at this month’s Starburst Datanova conference . “The inconvenient truth is that despite increased investment in AI and data, the results have not been that great,” Zhamak Dehghani, director of emerging technology for Thoughtworks North America, said at the conference. Organizations are failing to bootstrap, failing to scale sources, failing to scale consumers, and failing to materialize data-driven value, she explained.  Dehghani introduced the data mesh, which is “an intentionally designed distributed data architecture, under centralized governance and standardization for interoperability, enabled by a shared and harmonized self-serve data infrastructure.” The objective is to “create a foundation for getting value from analytical data and historical facts at scale, she said — with scale being applied to:  constant change of data landscap

TypeScript 4.2 comes with smarter type alias preservation

Microsoft has announced the official release of TypeScript 4.2, the latest version of its JavaScript superset programming language. There are a number of new features in this release, including smarter type alias preservation, leading/middle rest elements in tuple types, and stricter checks for the “in” operator.  Type aliases can be used to avoid having to repeat functions that work for a number of different types, such as strings, numbers, and booleans. An issue arises when TypeScript tries to normalize union types into a flattened union type, which results in information loss, thus forcing the type-checker to search for every combination of types to see what type aliases might have been used. This release improves the internals around type aliases to keep track of how types were constructed and enable types to be printed the way they were used in the code.  Another new change in TypeScript 4.2 is an expansion to how rest elements can be used. Previously they could only be used in

SD Times news digest: Applause launches Product Excellence Platform, Hasura 2.0 released, and Planview acquires PPM providers Clarizen and Changepoint

Applause’s new Product Excellence Platform includes a new codeless automation SaaS product designed to give brands insight and expertise to release their digital assets.  The new offering enables teams to execute codeless test scripts on real devices for native Android and iOS mobile apps, with web support coming soon. Later this year, a test case management product will also launch, according to the company.  “Customers today are won and lost through digital experiences. That is why the quality of digital assets – mobile apps, websites, voice-driven experiences and more – is critical to get right,” said Doron Reuveni, the CEO of Applause, founder and chairman of the board. “To meet these needs, Applause continues to disrupt the testing market, having evolved from a services and solutions company to one that delivers a complete platform for driving product excellence.” Hasura 2.0 released Haura release version 2.0 of its open-source GraphQL Engine and the release enables organizati

Kadane’s Algorithm (Maximum Sum Subarray Problem) in Java Vijay Sinha The Crazy Programmer

In this article, we will understand the idea of Kadane’s Algorithm. We discuss this with the help of an example and also discuss a famous interview problem related to it. Then, we will look at the implementation and analyze the complexities of our approach. Kadane’s Algorithm This algorithm is useful in solving the famous ‘Maximum Sum Subarray’ problem. The problem states that given an array we need to find the contiguous subarray with maximum sum and print the maximum sum value. So, how does Kadane’s Algorithm help us in this problem? The basic idea is to find all contiguous segments of an array whose sum will give us the maximum value. Kadane’s algorithm scans the given array from left to right. In the i th step, it computes the subarray with the largest sum ending at i starting for each subarray. For example, let us consider this array: For the given array the maximum subarray exists for [ 1 2 3 6] highlighted in the image and the maximum sum is 12. Algorithm Now we look at

AI in testing is no longer just a buzzword

There are many buzzwords in the software development industry, but AI in testing is proving to be more than just a marketing term. According to this year’s World Quality Report sponsored by Micro Focus, Capgemini, and Sogeti, 86% of respondents said that AI is a key criterion for selecting new QA solutions.  In a webinar with SD Times last week, Frank Moyer, CTO of Kobiton , and Alex Drag, product manager at Kobiton, explained what role AI plays in today’s testing world, its advantages and shortcomings, what to consider when evaluating an AI solution, and more. According to Moyer, there are several areas of testing that AI gets incorporated into, including performance, visual, and functional testing. It also gets used by bots and to author tests. Visual testing is the most popular facet of testing to get AI added to it, Moyer said. AI can be used to identify and highlight differences between releases, provide a user interface to annotate differences, and remember those annotation

SD Times news digest: Qualcomm’s first AR reference design, GitLab 13.9, and Sider’s new programming language support

Qualcomm has announced it’s first augmented reality reference design. The new Qualcomm Snapdragon XR1 AR Smart Viewer Reference Design aims to reduce commercialization time for OEMs to deliver high-quality immersive experiences.  According to the company, users get a 30% reduction in overall power consumption in the system, the 2D app framework provides a systems-level feature that helps launch smartphone applications into multiple virtual displays visible in a user’s environment, and more.  “AR simple viewers showcased viewers as an accessory to a smartphone. Now, AR smart viewers allow us to move some processing to the glass, to expand the possibilities of use cases, applications and immersion – this reference design is the first step in our roadmap to help scale the AR industry,” said Hugo Swart, the vice president and general manager of XR, Qualcomm Technologies, Inc. GitLab 13.9 now available The latest version of GitLab aims to strengthen DevSecOps at scale with a Security Al

HTML6 – New Features Expected and Release Date Neeraj Mishra The Crazy Programmer

As we all know about HTML5 is the latest version of HTML currently available on the internet. HTML6 is soon to be released with some of the modified and new features and functionalities in it. Here is a list of new tag attributes that can be comprised in HTML6 and will have namespace html, such as <html: html>, <html: head>, <html: title>, <html: meta>, <html: link>, <html: a>, <html: media>, <html: body>, and <html: button>, <form: form>, <form: input>, <form: select>, <form: status>, <form: label>, <form: submit>. Image Source <html: html> It is equivalent to <html> tag for beginning of document. <html: head> Tag is similar to current <head> tag in HTML5. <html: title> It is also is similar to current <title> tag. <html: meta> In HTML6 metadata can be anything unlike HTML5. It is used to collect information for the developers. <html: link

Android 12 first preview includes new tools for improving user experience

The Android Development team has announced the release of the first preview for Android 12. Android 12 will introduce new tools for building improved user experiences, such as compatible media transcoding, along with privacy and performance optimizations.  “With each version, we’re working to make the OS smarter, easier to use, and better performing, with privacy and security at the core. In Android 12 we’re also working to give you new tools for building great experiences for users,” Dave Burke, vice president of engineering for Android at Google, wrote in a post . In addition to compatible media transcoding, which helps apps work with the latest video formats, Android 12 will introduce AVIF image support, foreground service optimizations, rich content insertion, audio-coupled haptic feedback, multi-channel audio, immersive mode API improvements for gesture navigations, improved Binder IPC calls, updates to the notifications UI, and faster, more responsive notifications.  To impro

SD Times news digest: MLH Fellowship, free Node.js training, and Python 3.9.2 and 3.8.8

GitHub has announced the MLH Fellowship is expanding to include American Express and Adobe to its summer 2021 program in which students will be able to use real tools and experience around how to collaborate remotely and globally while working along with experienced engineers.  The fellowship was created to fill in the lack of internships that were disrupted due to the pandemic.  Since the start of the program in summer 2020, the fellowship has graduated hundreds of student developers with the opportunity to experience day-to-day interaction with real-world developer tools and communication practices, according to the company. Additional details on the program are available here . Free Node.js training available The Linux Foundation and OpenJS Foundation released the free online training course:  Introduction to Node.js.  The course is designed for frontend or backend developers who would like to become more familiar with the fundamentals of Node.js and its most common use cases

Invert a Binary Tree – Recursive and Iterative Approach in Java Vijay Sinha The Crazy Programmer

In this article we have a look at another interesting problem related to binary tree . Given a binary tree we have to invert the tree and print it. We discuss different approaches to solve this problem along with their time and space complexities The inversion of a binary tree or the invert of a binary tree means to convert the tree into it’s Mirror image. In simple terms, it is a tree whose left children and right children of all non-leaf nodes are swapped. Note: The leaf nodes will also get interchanged. It is recommended to learn In-Order and Post Order traversal before proceeding with this problem. Let us look at an example of a binary tree:   In the above figure we see the sample tree and it’s inverted or mirror version. Input: 20 / \ / \ 10 30 / \ / \ / \ / \ 5

LRU Cache – Design and Implementation in Java Vijay Sinha The Crazy Programmer

In this article we will learn how to design a LRU Cache, understand it’s cache replacement algorithm. We also look at description of LRU Cache with some examples. Then, we look at the implementation of this design in code with their complexity analysis. Caching is a method of organizing data in a faster memory, usually RAM to serve future requests of same data in a efficient way. It avoids repetitive main memory access by storing frequently accessed data in cache. However, the Cache size is usually not big enough to store large data sets compared to main memory. So, there is a need for cache eviction when it becomes full. There are many algorithms to implement cache eviction. LRU caching is a commonly used cache replacement algorithm. Least Recently Used (LRU) Cache organizes data according to their usage, allowing us to identify which data item hasn’t been used for the longest amount of time. The main idea is to evict the oldest data or the least recently used from the cache to ac