Skip to main content

Posts

Showing posts from June, 2021

GitHub Copilot aims to help developers write better code

GitHub launched a technical preview of GitHub Copilot, a new AI pair programmer that helps developers write better code. The tool draws context from the code that’s being worked on and suggests whole lines or entire functions to suggest alternative ways to solve problems, write tests, and explore new APIs without having to search for answers on the internet.  Users can simply write a comment describing the logic needed and GitHub Copilot will assemble the code for them.  Also, users can import a unit test package, and let GitHub Copilot suggest tests that match their implementation code.  Copilot is powered by OpenAI, which has broad knowledge of how people use code and is more capable than GPT-3 in code generation since it uses a much larger concentration of public source, according to GitHub in a blog post .  It works with many frameworks and languages, but the technical preview excels in Python, JavaScript, TypeScript, Ruby and Go.  “Whether you’re working in a new language o

SD Times news digest: JetBrains Datalore for Enterprise, Google to require all new apps be published with Android App Bundle, MariaDB partners with AWS

JetBrains released Datalore for Enterprise, a collaborative team environment that helps data scientists to work together in Jupyter Notebooks.   It provides a convenient way to dynamically manage Python environments, helps connect and explore data and introduces smart code autocompletion.  In addition, Datalore for Enterprise allows teams to connect hardware, configure team environments, authenticate users and manage team resources.  Google to require all new apps be published with Android App Bundle  Google is requiring that all new apps be published using the Android App Bundle standard starting in August 2021.  This will replace the APK as the standard publishing format and will make the app smaller by an average of 15%.  Other benefits include Play App Signing, Play Feature Delivery, Play Asset Delivery and more.  Additional details are available here . MariaDB partners with AWS to extend MariaDB SkySQL to cloud  The partnership will enable deeper product integration and

Visual Studio gets several accessibility updates

Microsoft has announced an initiative to make Visual Studio more accessible. The proposed features include: whitespace rendering, option collecting, Focus Mode, and audio cues. These are aimed to make the platform easier to use for those with disabilities and the neurodivergent community. The company released a call to action in an attempt to get feedback from real people. According to Microsoft, whitespace rendering would allow for users to customize the number of character spaces filled by whitespace while indenting, regardless of whether they are using tabs or spaces. This works to make the platform more accessible for visually impaired users who may be using large font sizes. Option collecting provides users with the capability to only see options having to do with accessibility while viewing the displayed options. Reducing the number of options displayed to show just the pertinent ones results in a more easily customizable experience. According to Microsoft, Focus Mode would

OMG releases REST for CORBA specification version 1.0

The Object Management Group (OMG) has published a beta of version 1.0 of its REST for CORBA specification .  Common Object Request Broker Architecture (CORBA) is a standard for facilitating communication between systems deployed on different operating systems, programming languages, and hardware.  The specification describes a standard way for CORBA objects to be exposed as REST architecture services. It provides standard Interface Definition Language (IDL) annotations to do so.  It also defines Data Representation Formats that can be used to externalize objects that are defined in the IDL Type Representation format to JSON and XML Data Representation formats. According to OMG, a Data Representation Format “defines how objects of the types defined by the IDL Type System may be externalized.” This allows them to be stored or communicated over a network.  JSON and XML are typically used in REST applications. They offer an alternative to the encoding mechanism of the Common Data Repr

CData announces newest update: CData Connect 2021

CData this week announced the release of the newest update to its data connectivity platform: CData Connect 2021. According to CData, the upgrades made to the platform include such new features as query federation, custom schemas, and derived views. These added tools are designed to improve the ways organizations relate to and connect with data.   The query federation aspect of this upgrade rids the user of any difficulty while working with related data stored in multiple sources. It allows users to easily join multiple different pieces of related data across any number of platforms in real-time, including cloud applications, RDBMS databases, data warehouses, NoSQL data stores, and flat files, according to the company. To experience the full range of this feature, the data sources must be configured within CData Connect as virtual databases.  Derived views allows the user to define “virtual tables” or save  complex SQL queries as ‘Derived Views’ that can be queried on-demand, the com

Python or R: Which to choose for your next data project

When it comes to picking a language for a new data science project, developers often have to go through the debate of whether Python or R would be the best suited for the task. R is a language specifically designed for data analysis so it has a lot of useful features built in, but Python is a general-purpose language with a lot of data-centric libraries for it that also makes it a suitable choice.  R had long been the go-to language for data analysis, but in recent years that has begun to change as people began to see the potential in Python as well.  According to a 2020 survey from recruiting company BurtchWorks, the five year trend of language preference for data science has shown R falling while Python rises. In 2016, 20% of data scientists preferred Python and 43% preferred R, but in 2020, 47% preferred Python and only 29% preferred R.  RELATED CONTENT: Python named TIOBE’s programming language of 2020 Even though Python is rapidly rising in popularity as a preferred cho

SD Times news digest: Android security updates, Solo.io’s product enhancements, and JFrog acquires Vdoo for $300 million

Android announced two new security measures including additional identification requirements and two-step verification.  Account owners of developer accounts will also be asked to provide their account type, a contact name, physical address and verification of the email address and phone number. “In August, all new developer accounts will need to specify their account type and verify their contact information at sign-up. We will also make 2-Step Verification a requirement for the owners of new developer accounts,” Luke Jefferson, product manager at Google Play, and Raz Lev, product manager at Google Play Trust and Safety, wrote in a post .  Additional details are available here .  Solo.io advances modern API infrastructure with new product enhancements Solo.io announced the general availability of Gloo Edge 1.8 and Gloo Portal 1.0 to boost the functionality in enterprise production environments.  Gloo Edge 1.8 is the company’s API gateway based on Envoy Proxy and Gloo Portal 1.

4 Best Practices For Software Documentation Neeraj Mishra The Crazy Programmer

In computer science, software documentation is the procedure of writing, designing, and documenting an application. In software engineering, this refers to the formal specification of a software product or component. Software documentation should serve as an instructional manual for users and developers alike. It also refers to the textual, visual, or audio instructions accompanying computer software. It also enables the end-user or developer to understand and use a system software or application software . Generally, software documentation provides instructions on how to utilize a program or service. Software Documentation 101 When it comes to software documentation, it can be said that the best practices exist along with a range of different factors like the following: Technical and non-technical parts of the documentation Best practices apply to specific programming languages Based on the organization’s experience working with a specific technology A formalized process may

SD Times news digest: Red Hat OpenShift 4.8 now available, GitHub Container registry generally available, MongoDB achieves FedRAMP status

Red Hat OpenShift 4.8 helps organizations quickly create new cloud-native applications without having to abandon their existing environments and IT investments.  One new feature is IPv6/IPv4 dual stack and IPv6 single stack support, which provides applications with interoperability and communications for environments that use IPv6 and IPv4 such as in Cloud-Native Network Functions. Also, OpenShift Pipelines now allow users to declaratively define, version and track changes to their applications next to their source code in Git repositories. Users also get an enhanced developer experience within the OpenShift console, an OpenShift Serverless functions capability, and OpenShift sandboxed containers.  GitHub Container registry generally available The Container registry is now generally available as part of GitHub Packages, adding capabilities for organizations and developers to work with containers.  The Docker registry has been consolidated into the Container registry as part of the

Take a data-first approach to modernization

Modernization is important in order for companies to keep up with evolving industry conditions, but some businesses may be modernizing at a faster pace than their software can keep up with.  In an SD Times Live! talk with CodeLogic, Eric Minick, DevOps evangelist at CodeLogic, and Brandon Tylke, chief software architect at CodeLogic, explained why it’s important to take a data-first approach to any modernization efforts.  “Where the complexity seems to accumulate, time after time that’s caused by a mismatch between what the business logic is trying to achieve and how the data is architected,” said Minick.    Minick recommends documenting any information that you know you will need in the future as these systems are being architected and built. That way, complexity can be managed and when you need to find something down the road you can easily access it. “Pull it together as it’s in flight so that if you need to say ‘where is everything?’ you’ve got it all in one place,” he said.

How to root out software failures using end-to-end testing

When software unexpectedly fails, the consequences for businesses are huge. For enterprises, the cost of downtime can run to thousands of dollars per minute, but the impact goes well beyond lost revenue.  The knock-on effect of IT failures – tanking stock price, reputational damage and customer dissatisfaction – are well understood. What is less well known usually is the underlying cause: the inherent, unresolved issues in an organization’s system. The reason? Systems are now so complex and interconnected, it can be difficult for companies or stakeholders to get to the bottom of why an error has occurred.  It is clear that businesses need to try to root out these failures before they become problems. It is no longer enough to conduct functional, unit or system testing alone because defects can creep in through the many integrations needed between not only the systems and subsystems but also a host of other means. That’s where end-to-end testing enters the picture. End-to-end (E2E) t

Building an E2E Software Testing Tool in Python Neeraj Mishra The Crazy Programmer

Software testing suites and end-to-end testing are critical in software building. These tests make sure that your software runs smoothly by finding problems ahead of time. To do this, testing tools mimic the way a potential user will use the software. And Python is a fantastic programming language to build such testing tools. Python is one of the most popular programming languages out there, and for a good reason. Python, an open-source language released in 1991, is both a simple and powerful language. Its simplicity makes it easy to learn and read, something that’s helpful for beginners. But just because it values simplicity and readability doesn’t mean it can’t scale. As an object-oriented programming language, Python is also robust, and you’ll find it exceptional for building an E2E software testing tool. What Is E2E Testing? Image Source Even though end-to-end testing can get complex, in concept, it is straightforward. In simple terms, it is a type of software that tests ot

Arguments vs Parameters in Programming Nitish Agarwal The Crazy Programmer

In this article, we will study about arguments and parameters used in the programs at the time of function call. Sometimes, along with function names, some variables or values are also used and passed to them which help in the execution of a program. These variables which provide extra information about the function are called arguments. The arguments used in one function cannot be used in other functions as they are specific to a particular function and are used only in that specific function. These arguments are passed to the functions at the time of the function call. We can add many arguments to the function and make it more informative. While Parameter is a type of identifier which is used to identify the type of values passed to a function. In other words, they define the data type of an argument and assign it a general variable that is used while defining a function. They do not contain specific values and are used while writing functions in larger programs to divide them into

Hybrid Computer – Definition, Types, Examples, Advantages Nitish Agarwal The Crazy Programmer

In this article, we will take a look at one of the most dynamic varieties of computers, the hybrid computers. Hybrid computers are those computers that have the functionalities of both analog and digital computers . Analog computers are those which work on continuous numerical data & logical operations while digital computers are those which work on both numerical & non-numerical data and deal with complex mathematical calculations. A hybrid computer uses both the qualities of analog as well as digital computers and hence increases accuracy and speeds up the processing. The analog computers are very fast in performing complex mathematical calculations but are not accurate while processing the information. Digital computers take care of the precision of the values but are really slow while performing the calculations. The qualities of both these computers were combined in a single computer, known as a hybrid computer, to achieve the goal of fast and accurate processing at the

SD Times news digest: GitHub Issues gets new beta features, Amazon CodeGuru announces new integrations, Brave launches Brave Search beta

GitHub announced new beta features within GitHub issues to connect planning directly to the work teams are doing and to flexibly adapt to their needs whether that’s through project tables that are built like spreadsheets, custom fields, a keyboard-driven command palette, improved task lists and issue forms. “Often, we find ourselves creating a spreadsheet or pulling out a notepad, just to have the freedom to think. But then our planning is disconnected from where the work happens and quickly goes stale,” Mario Rodriguez, the vice president of product at GitHub wrote in a blog post .  Amazon CodeGuru announces new integrations The Amazon CodeGuru Reviewer updates include new Java detectors and CI/CD integration with GitHub Actions.  The 20 new security detectors for Java help users identify more issues related to security and AWS best practices and the new CI/CD experience allows users to trigger code quality and security analysis as a step in the build process using GitHub Action

SD Times Open-Source Project of the Week: IBM’s Uncertainty Qualification 360

IBM recently announced the open source release of its new toolkit, Uncertainty Qualification 360 (UQ360). This comprehensive toolkit redirects the focus of AI to measuring for levels of uncertainty, which can ultimately save developers and users time and effort.  Released at the 2021 IBM Data and AI Digital Developer Conference, Uncertainty Qualification 360 was created to provide developers with cutting edge technology and algorithms that serve to quantify the uncertainty of learning models while still in the development process. UQ360 is built to improve the communication between the AI and the person using it. According to IBM, when professionals have access to high-quality uncertainty estimates, they can make important decisions in collaboration with AI, resulting in the best possible outcome. Uncertainty Qualification 360 has the intelligence to measure its own uncertainty so that the person using it is able to react accordingly rather than relying solely on the reports of AI. 

Windows 11 makes PC experience more personal

After weeks of dealing with leaks of its upcoming operating system, Microsoft officially announced Windows 11 at an online event this morning.  With Windows 11, Microsoft set out to create a more personal user experience, with new ways to be productive and connect with people. The upgrade will start being available for eligible Windows 10 PCs late this year.  “These last 18 months have shown us quite a bit and the PC has played a role to help each one of us, whether it’s work or learning or connecting with each other,” Panos Panay, chief product officer for Windows + Devices at Microsoft, said during the event. “You might be doing emails, you might be having meetings, you might be having classes on your PC. For some it’s become the office banter place, for others it’s become where you do your happy hours. For me it’s where I’ve done pizza parties with my team, it’s where my daughter graduated, and for many it’s where they celebrated their holidays. During that time we learned somethi

CNCF report: Developers slow to adopt continuous delivery

Only 1 in 10 developers deploy software on demand, multiple times per day, according to the Cloud Native Computing Foundation’s 2021 State of Continuous Delivery report. Continuous delivery is a key part of how organizations deliver value to their customers, providing the ability to make small changes to software reliably and at any time, according to the report.  The study, completed by research firm SlashData from data collected from more than 19,000 developers, asked for information on lead time for changes, deployment frequency, time to restore services, and change fail rates.  Two-thirds of respondents indicated it takes at least a week for code to go from committed to successfully run in production. Only about 6 percent said they can move code from commit to production in under an hour. The programming languages that rank highest for speed and stability in software delivery performance are the shell scripting languages (Bash and PowerShell), with Go/Golang and JavaScript bein

Report: Remote work created vulnerabilities in systems designed for in-office workforce

As employees transitioned to working from home, this created new vulnerabilities in systems designed for a centralized, in-office workforce and also resulted in a spike in cybercriminal activity. This is according to the new 2021 Network Security Report conducted by the cybersecurity and managed security services provider Trustwave which is based on scans of millions of servers worldwide.  “The number of machines connected to the Internet and vulnerable to issues that were actively being exploited in the wild was staggering. Some of the CVEs had patches released over 2-3 years back. It is always alarming to see those types of stats around vulnerable devices,” Prutha Parikh, senior security research manager at Trustwave SpiderLabs, told SD Times.  One of the most common and serious breaches occurred due to unpatched VPN vulnerabilities. A major attack due to this issue was the Pulse Secure Connect Arbitrary File-Reading vulnerability, which was originally patched in April 2019, bu

Eclipse iceoryx Almond supports transmitting large amounts of data quickly

The Eclipse Foundation has announced the release of Eclipse iceoryx Almond, which is the platform’s 1.0 release. Eclipse iceoryx provides a middleware for inter-process-communication (IPC) to allow for transmission of large amounts of data.  According to the Eclipse Foundation, iceoryx is ideal for applications that need very low latency when transmitting data, such as automotive applications, robotics, gaming, and AI.   The foundation explained that Eclipse iceoryx has origins in the automotive domain where the typical software for a non-autonomous car contains over 100 million lines of code, which jumps to 300 to 500 million lines for an autonomous car. In order to make real-time decisions, the autonomous car would need to process up to 10GB/s of sensor data. Eclipse iceoryx has a latency of less than 1 microsecond to transfer a message, regardless of size. It sends the message from publisher to subscriber without creating a single copy, which is important when large amounts of

SD Times news digest: Google Play developer updates, New Relic launches Errors Inbox, OpenLogic by Perforce adds support for Rocky Linux and other CentOS alternatives

Google announced that it is investing in better cross-device experiences by opening its Play Media Experience Program to developers globally. The integrations include Google’s Video TV, video, subscription music, audio services as well as the new Entertainment Space.  “Through these integrations, we enable new discovery and re-engagement opportunities for developers to accelerate their overall growth on Play and offer a service fee of 15% during the program term, all to help developers deliver premium experiences,” Purnima Kochikar, the vice president of Play Partnerships wrote in a blog post .  New Relic launches Errors Inbox  New Relic announced the release of Errors Inbox, which allows developers to proactively receive all error notifications in a single place. The error tracking tool is included in New Relic’s Full Stack Observability license.  The tool spots errors identified by APM, RUM (Browser), Mobile, and Serverless (AWS Lambda Function) monitors in New Relic. Additio

DevOps requires a modern approach to application security

Time to market is a key indicator today of business success, and anything that impedes a business’ ability to move fast needs to be addressed. While there have been a number of efforts to automate and integrate security into the application development process, it continues to be a hindrance to many organizations.  Organizations are still unable to detect and address security issues fast enough because traditional approaches to security testing and existing tools were not made with speed, automation and continuous integration (CI) pipelines in mind. According to Patrick Carey, senior director of market analysis and strategy of the Software Integrity Group at Synopsys, application security is often defined by siloed solutions: static application security testing (SAST), software composition analysis (SCA), dynamic application security testing (DAST), and interactive application security testing (IAST). But these silos conflict with the way developers build, test and fix software. “T