Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds

Tech News - Application Development

279 Articles
article-image-kubernetes-1-15-releases-with-extensibility-around-core-kubernetes-apis-cluster-lifecycle-stability-and-more
Vincy Davis
20 Jun 2019
5 min read
Save for later

Kubernetes 1.15 releases with extensibility around core Kubernetes APIs, cluster lifecycle stability, and more!

Vincy Davis
20 Jun 2019
5 min read
Update: On July 23rd, the Enhancements Lead of Kubernetes 1.15 at VMware, Kenny Coleman,  published a “What's New in Kubernetes 1.15” video with Cloud Native Computing Foundation (CNCF). In the video, he explains in detail about the three new major features in Kubernetes 1.15, which include Dynamic HA Clusters with Kubeadm, Volume Cloning and CustomResourceDefinition (CRDs). Coleman also highlights each feature and explains its importance to users.  Watch the video below to know in detail about Kenny Coleman’s talk about Kubernetes 1.15. https://www.youtube.com/watch?v=eq7dgHjPpzc On June 19th, the Kubernetes team announced the release of Kubernetes 1.15, which consists of 25 enhancements, including 2 moving to stable, 13 in beta, and 10 in alpha. The key features of this release include extensibility around core Kubernetes APIs, cluster lifecycle stability, and usability improvements. This is Kubernetes’ second release this year. The previous version Kubernetes 1.14, released three months ago, had 10 stable enhancements--the most amount of stable features revealed in a release. In an interview to the New Stack, Claire Laurence, the team lead at Kubernetes said that in this release, “We’ve had a fair amount of features progress to beta. I think what we’ve been seeing a lot with these alpha and beta features as they progress is a lot of continued focus on stability and overall improvement before indicating that those features are stable.” Let’s have a brief look at all the new features and updates. #1 Extensibility around core Kubernetes APIs The theme of the new developments around CustomResourceDefinitions is data consistency and native behavior. The Kubernetes team wants that a user should not notice whether the interaction is with a CustomResource or with a Golang-native resource. Hence, from v1.15 onwards, Kubernetes will check each schema against a restriction called “structural schema”. This enforces non-polymorphic and complete typing of each field in a CustomResource. Out of the five enhancements, the ‘CustomResourceDefinition Defaulting’ is an alpha release. It is specified using the default keyword in the OpenAPI validation schema. Defaulting will be available as alpha in Kubernetes 1.15 for structural schemas. The other four enhancements are in beta which include: CustomResourceDefinition Webhook Conversion In Kubernetes, CustomResourceDefinitions gain the ability to convert between different versions on-the-fly, just like users are used to from native resources for the long term. CustomResourceDefinition OpenAPI Publishing OpenAPI publishing for CRDs will be available with Kubernetes 1.15 as beta, but only for structural schemas. CustomResourceDefinitions Pruning Pruning is the automatic removal of unknown fields in objects sent to a Kubernetes API. A field is unknown if it is not specified in the OpenAPI validation schema. It enforces that only data structures specified by the CRD developer are persisted to etcd. This is the behaviour of native resources, and will be available for CRDs as well, starting as beta in Kubernetes 1.15. Admission Webhook Reinvocation & Improvements In the earlier versions, mutating webhooks were only called once, in alphabetical order. An earlier run webhook cannot react on the output of webhooks, called later in the chain. With Kubernetes 1.15, mutating webhooks can opt-in into at least one re-invocation by specifying reinvocationPolicy: IfNeeded. If a later mutating webhook modifies the object, the earlier webhook will get a second chance. #2 Cluster Lifecycle Stability and Usability Improvements The cluster lifecycle building block, kubeadm, continues to receive features and stability work, which is needed for bootstrapping production clusters efficiently. kubeadm has promoted high availability (HA) capability to beta, allowing users to use the familiar kubeadm init and kubeadm join commands to configure and deploy an HA control plane. With kubeadm, certificate management has become more robust in 1.15, as it seamlessly rotates all the certificates before expiry. The kubeadm configuration file API is moving from v1beta1 to v1beta2 in 1.15. kubeadm now has its own new logo. Continued Improvement of CSI In Kubernetes 1.15, the Special Interests Groups (SIG) Storage enables migration of in-tree volume plugins to Container Storage Interface (CSI). SIG Storage worked on bringing CSI to feature parity with in-tree functionality, including functionality like resizing and inline volumes. SIG Storage introduces new alpha functionality in CSI that doesn’t exist in the Kubernetes Storage subsystem yet, like volume cloning. Volume cloning enables users to specify another PVC as a “DataSource” when provisioning a new volume. If the underlying storage system supports this functionality and implements the “CLONE_VOLUME” capability in its CSI driver, then the new volume becomes a clone of the source volume. Additional feature updates Support for go modules in Kubernetes Core Continued preparation on cloud provider extraction and code organization. The cloud provider code has been moved to kubernetes/legacy-cloud-providers for easier removal later and external consumption. Kubectl get and describe now work with extensions. Nodes now support third party monitoring plugins. A new Scheduling Framework for schedule plugins is now Alpha ExecutionHook API designed to trigger hook commands in the containers for different use cases is now Alpha. These extensions/v1beta1, apps/v1beta1, and apps/v1beta2 APIs will continue to depreciate and eventually will be retired in the next version 1.16. To know about the additional features in detail check out the release notes. https://twitter.com/markdeneve/status/1141135440336039936 https://twitter.com/IanColdwater/status/1141485648412651520 For more details on Kubernetes 1.15, check out Kubernetes blog. HAProxy 2.0 released with Kubernetes Ingress controller, layer 7 retries, polyglot extensibility, gRPC support and more Red Hat releases OpenShift 4 with adaptability, Enterprise Kubernetes and more! Linkerd 2.3 introduces Zero-Trust Networking for Kubernetes
Read more
  • 0
  • 0
  • 18056

article-image-apple-releases-native-swiftui-framework-with-declarative-syntax-live-editing-and-support-of-xcode-11-beta
Vincy Davis
04 Jun 2019
4 min read
Save for later

Apple releases native SwiftUI framework with declarative syntax, live editing, and support of Xcode 11 beta

Vincy Davis
04 Jun 2019
4 min read
Yesterday, at the ongoing Worldwide Developers Conference (WWDC) 2019, Apple announced a new framework called SwiftUI for building user interfaces across all Apple platforms. With an aim to decrease the line of codes, SwiftUI supports declarative syntax, design tools, and live editing. SwiftUI has an incredible native performance, thus allowing developers to feel fully integrated by taking advantage of the features from the previous technologies and developer experiences of Apple platforms. It's also automatically supported for dynamic type, dark mode, localization, and accessibility. The tools for SwiftUI development are only available when running on macOS 10.15 beta. Declarative syntax SwiftUI enables a developer to simply state the requirements of a user interface and it will be done directly. For example, if a developer wants a list of items consisting of text fields, then the developer will have to just describe the alignment, font, and color for each field. This makes the code simpler and easier to read, thus saving time and maintenance. SwiftUI also makes complex concepts like animation, much simpler. It enables developers to add animation to almost any control and choose a collection of ready-to-use effects with only a few lines of code. Design tools During the WWDC, Xcode 11 beta release notes were also released. Xcode 11 beta includes SDKs for iOS 13, macOS 10.15, watchOS 6, and tvOS 13.  Xcode 11 beta also supports development with SwiftUI. It supports uploading apps from the Organizer window and its editors can now be added to any window without needing an Assistant Editor. Also the LaunchServices on macOS, now respects the selected Xcode when launching Instruments, Simulator, and other developer tools embedded within Xcode. Thus using these intuitive new design tools of Xcode11, SwiftUI can be used to build interfaces like dragging and dropping, dynamic replacement, and previews. Drag and drop A developer can arrange components within the user interface by simply dragging controls on the canvas. It can be done by opening an inspector to select font, color, alignment, and other design options, and easily rearrange controls with the cursor. Many of these visual editors are also available within the code editor. It is also possible to drag controls from the library and drop them on the design canvas or directly on the code. Dynamic replacement When working in a design canvas, every edit by the developer will be completely in sync with the code in the adjoining editor. Xcode will recompile the changes instantly such that a developer can constantly build an app and run it at the same time, like a ‘live app’. With this feature, Xcode can also swap the edited code directly in the live app. Previews It is now possible to create one or many previews of any SwiftUI views to get sample data and configure almost anything the users can see, such as large fonts, localizations, or dark mode. The users' code will be instantly visible as a preview, and if any change is made in the preview, it will immediately appear in the code. Previews can also display a UI, in any device and any orientation. Native on all Apple platforms SwiftUI has been created in such a way that all controls and platform-specific experiences are included in the code. It allows an app to directly access the features from the previous technologies of each platform, with a small amount of code and an interactive design canvas. It can be used to build user interfaces for any Apple device, including iPhone, iPad, iPod touch, Apple Watch, and Apple TV. SwiftUI’s striking features have made developers very excited to try out the framework. https://twitter.com/stroughtonsmith/status/1135647926439632899 https://twitter.com/fjeronimo/status/1135626395168563201 https://twitter.com/sascha_p/status/1135626257884782592 https://twitter.com/cocoawithlove/status/1135626052678574080 For more details on SwiftUI framework, head over to the Apple Developers website. Apple promotes app store principles & practices as good for developers and consumers following rising antitrust worthy allegations Apple proposes a “privacy-focused” ad click attribution model for counting conversions without tracking users Apple Pay will soon support NFC tags to trigger payments
Read more
  • 0
  • 0
  • 17903

article-image-reactos-0-4-11-is-now-out-with-kernel-improvements-manifests-support-and-more
Bhagyashree R
05 Mar 2019
2 min read
Save for later

ReactOS 0.4.11 is now out with kernel improvements, manifests support, and more!

Bhagyashree R
05 Mar 2019
2 min read
Yesterday, the ReactOS team announced the release of ReactOS 0.4.11. This release comes with improvements in the kernel for better overall system stability, support for manifests, and more. Following are some of the updates ReactOS 0.4.11 comes with: Kernel improvements ReactOS 0.4.11 comes with substantial updates in the interface that allow operating systems to talk with storage devices. Nowadays, computers generally use SATA connections and the corresponding AHCI interface. To support this interface, ReactOS relies on the UniATA driver. But, this driver was not supported by the 6th generation of Intel’s Core processors (Skylake). The team has now resolved this incompatibility enabling users to test ReactOS on more modern platforms. Support for manifests Applications often depend on other libraries in the form of dynamic link libraries (DLLs), which are loaded by the loader (LDR). One way these dependencies are specified is with the help of manifests. In the previous versions of ReactOS, manifests were not properly supported. ReactOS 0.4.11 comes with sufficient support for manifests, which has also widened the range of applications that can run in ReactOS. With this support added, ReactOS can now run applications like Blender 2.57b, Bumptop, Evernote 5.8.3, Quicktime Player 7.7.9, and many others. USETUP improvements ReactOS 0.4.11 comes with major improvements in the USETUP module. The goal behind these improvements was to enable users to upgrade an existing installation of ReactOS. This is also a step forward towards making ReactOS an actual system OS with the ability to update without the loss of any data and configuration. Testing In this release, the team has restructured the test results page to better encapsulate the relevant information. In addition to the overall conclusion of the test, users will now also be able to see details such as tracking what drove a particular conclusion and the workarounds that they might themselves attempt. Support for network debugging and diagnosis programs ReactOS 0.4.11 now supports various network debugging and diagnosis programs as a result of work done in TCP and UDP connection enumeration. With this update, the ReactOS team aims to make the platform useful for not just running applications, but also to debug them. To read the full list of updates in ReactOS 0.4.11, check out the official announcement. Btrfs now boots ReactOS, a free and open source alternative for Windows NT ReactOS version 0.4.9 released with Self-hosting and FastFAT crash fixes You can now install Windows 10 on a Raspberry Pi 3
Read more
  • 0
  • 0
  • 17857

article-image-llvm-9-releases-with-official-risc-v-target-support-asm-goto-clang-9-and-more
Vincy Davis
20 Sep 2019
5 min read
Save for later

LLVM 9 releases with official RISC-V target support, asm goto, Clang 9, and more

Vincy Davis
20 Sep 2019
5 min read
Yesterday, the LLVM team announced the stable release of LLVM 9; though LLVM 9.0 missed its planned release date, which was 28th August. LLVM 9.0 RC3 was made available earlier this month. With LLVM 9, the RISC-V target is now out of the experimental mode and turned on by default. Other changes include improved support for asm goto in the MIPS target, another assembly-level support added to the Armv8.1-M architecture, new immarg parameter attribute added to the LLVM IR, and more. LLVM 9 also explores many bug fixes, optimizations, and diagnostics improvements. LLVM 9 also presents an experimental support for C++ in Clang 9. What’s new in LLVM 9 Two new extension points, called EP_FullLinkTimeOptimizationEarly and EP_FullLinkTimeOptimizationLast are available as plugins for specializing the legacy pass manager full LTO pipeline. A new COFF object files/executables support for llvm-objcopy/llvm-strip. It will support the most common copying/stripping options. LLVM_ENABLE_Z3_SOLVER has replaced the CMake parameter CLANG_ANALYZER_ENABLE_Z3_SOLVER. LLVM 9.0 has finally made the “experimental” RISC-V LLVM backend “official” and will be enabled by default. This means that it no longer needs to be enabled by LLVM_EXPERIMENTAL_TARGETS_TO_BUILD. The RISC-V Target has full codegen support for the RV32I and RV64I based RISC-V instruction set variants, along with the MAFDC standard extensions. Explaining the reason behind this update, Alex Bradbury, CTO and Co-Founder of the lowRISC said, “As well as being more convenient for end users, this also makes it significantly easier for e.g. Rust/Julia/ Swift and other languages using LLVM for code generation to do so using the system-provided LLVM libraries. This will make life easier for those working on RISC-V ports of Linux distros encountering issues with Rust dependencies.” A new support for target-independent hardware loops is added along with PowerPC and Arm implementations, in IR. Other changes in LLVM 9 LLVM IR: A new immarg parameter attribute is added. It indicates that an intrinsic parameter is required to be a simple constant. The atomicrmw xchg now allows floating point types and supports fadd and fsub. ARM Backend: A assembly-level support is added for the Armv8.1-M architecture, including the M-Profile Vector Extension (MVE). Another pipeline model to be used for cores is also added to Cortex-M4. MIPS Target: Improved experimental support for GlobalISel instruction selection framework. New support for .cplocal assembler directive, sge, sgeu, sgt, sgtu pseudo instructions and asm goto constraint. PowerPC Target: Improved handling of TOC pointer spills for indirect calls and better precision of square root reciprocal estimates. SystemZ Target: A new support for the arch13 architecture is added. The builtins for the new vector instructions can be enabled using the -mzvector option. What’s new in Clang 9? With the stable release of LLVM 9, Clang 9 official release was also made available. The major new feature in Clang 9 is the new addition of experimental support for C++ for OpenCL. Clang 9 also new compiler flags- -ftime-trace and ftime-trace-granularity=N.  C Language improvements in Clang 9 The __FILE_NAME__ macro is added as a Clang specific extension and supports all C-family languages. It also provides initial support for asm goto statements for control flow from inline assembly to labels. The main consumers of this construct are the Linux kernel (CONFIG_JUMP_LABEL=y) and glib. Also, with the addition of asm goto support, the mainline Linux kernel for x86_64 is now buildable and bootable with Clang 9. The release notes also specifies about an issue that could not be fixed before the LLVM 9 release, “PR40547 Clang gets miscompiled by GCC 9.” C++ Language improvements in Clang 9 An experimental support for C++is added to OpenCL. Clang 9 also brings backward compatibility with OpenCL C v2.0. Other implemented features include: The address space behavior is improved in the majority of C++ features like templates parameters and arguments, reference types, type deduction, and more. OpenCL-specific types like images, samplers, events, pipes, are now accepted OpenCL standard header in Clang can be compiled in C++ mode Users are happy with the LLVM 9 features, especially the support for asm goto. A user on Hacker News comments, “This is big. Support for asm goto was merged into the mainline earlier this year, but now it's released [1]. Aside from the obvious implications of this - being able to build the kernel with LLVM - working with eBPF/XDP just got way easier” Another user says, “The support for asm goto is great for Linux, no longer being dependent on a single compiler for one of the most popular ISAs can only be a good thing for the overall health of the project.” For the complete list of changes, check out the official LLVM 9 release notes. Other news in Programming Dart 2.5 releases with the preview of ML complete, the dart:ffi foreign function interface and improvements in constant expressions Microsoft releases Cascadia Code version 1909.16, the latest monospaced font for Windows Terminal and Visual Studio Code Linux 5.3 releases with support for AMD Navi GPUs, Zhaoxin x86 CPUs and power usage improvements
Read more
  • 0
  • 0
  • 17794

article-image-curls-lead-developer-announces-googles-plan-to-reimplement-curl-in-libcrurl
Amrata Joshi
20 Jun 2019
4 min read
Save for later

Curl’s lead developer announces Google’s “plan to reimplement curl in Libcrurl”

Amrata Joshi
20 Jun 2019
4 min read
Yesterday, Daniel Stenberg, the lead developer of curl announced that Google is planning to reimplement curl in libcrurl and it will be renamed as libcurl_on_cronet. https://twitter.com/bagder/status/1141588339100934149 The official blog post reads, “The Chromium bug states that they will create a library of their own (named libcrurl) that will offer (parts of) the libcurl API and be implemented using Cronet.” Daniel Stenberg explains the reason for reimplementation, “Implementing libcurl using Cronet would allow developers to take advantage of the utility of the Chrome Network Stack, without having to learn a new interface and its corresponding workflow. This would ideally increase ease of accessibility of Cronet, and overall improve adoption of Cronet by first-party or third-party applications.” According to him, the team might also hope that 3rd party applications can switch to this library without the need for switching to another API. So if this works then there is a possibility that the team might also create “crurl” tool which then will be their own version of the tool using their own library. Daniel Stenberg states in the post, “In itself is a pretty strong indication that their API will not be fully compatible, as if it was they could just use the existing curl tool…” He writes, “As the primary author and developer of the libcurl API and the libcurl code, I assume that Cronet works quite differently than libcurl so there’s going to be quite a lot of wrestling of data and code flow to make this API work on that code.” The libcurl API is quite versatile and has developed over a period of almost 20 years. There’s a lot of functionality, options and subtle behavior that may or may not be easy to mimic. If the subset is limited to a number of functions and libcurl options and they are made to work exactly the way they have been documented, then it could be difficult as well as time-consuming. He writes, “I don’t think applications will be able to arbitrarily use either library for a very long time, if ever. libcurl has 80 public functions and curl_easy_setopt alone takes 268 different options!” Read Also: Cisco merely blacklisted a curl instead of actually fixing the vulnerable code for RV320 and RV325 According to Stenberg, there’s still no clarity on API/ABI stability or how are they planning to ship or version their library. Stenberg writes, “There’s this saying about imitation and flattery but getting competition from a giant like Google is a little intimidating. If they just put two paid engineers on their project they already have more dedicated man power than the original libcurl project does…” So, the team from Google’s end finds and fixes issues in the code and API such that curl improves. This makes more users aware of libcurl and its API and the team behind curl make it easier for users and applications to do safe and solid Internet transfers. According to Stenberg, applications need to be aware of the APIs they work with to avoid confusion. He also highlighted that users might have been confused because of the names, “libcrurl” and “crurl” as they appear to be like typos. He added, “Since I don’t think “libcrurl” will be able to offer a compatible API without a considerable effort, I think applications will need to be aware of which of the APIs they work with and then we have a “split world” to deal with for the foreseeable future and that will cause problems, documentation problems and users misunderstanding or just getting things wrong.” “Their naming will possibly also be the reason for confusion since “libcrurl” and “crurl” look so much like typos of the original names,” he said. To know more about this news, check out the blog post by Daniel Stanberg. Google Calendar was down for nearly three hours after a major outage How Genius used embedded hidden Morse code in lyrics to catch plagiarism in Google search results Google, Facebook and Twitter submit reports to EU Commission on progress to fight disinformation  
Read more
  • 0
  • 0
  • 17561

article-image-googles-cloud-healthcare-api-is-now-available-in-beta
Amrata Joshi
09 Apr 2019
3 min read
Save for later

Google’s Cloud Healthcare API is now available in beta

Amrata Joshi
09 Apr 2019
3 min read
Last week, Google announced that its Cloud Healthcare API is now available in beta. The API acts as a bridge between on-site healthcare systems and applications that are hosted on Google Cloud. This API is HIPAA compliant, ecosystem-ready and developer-friendly. The aim of the team at Google is to give hospitals and other healthcare facilities more analytical power with the help of Cloud Healthcare API. The official post reads, "From the beginning, our primary goal with Cloud Healthcare API has been to advance data interoperability by breaking down the data silos that exist within care systems. The API enables healthcare organizations to ingest and manage key data and better understand that data through the application of analytics and machine learning in real time, at scale." This API offers a managed solution for storing and accessing healthcare data in Google Cloud Platform (GCP). With the help of this API, users can now explore new capabilities for data analysis, machine learning, and application development for healthcare solutions. The  Cloud Healthcare API also simplifies app development and device integration to speed up the process. This API also supports standards-based data formats and protocols of existing healthcare tech. For instance, it will allow healthcare organizations to stream data processing with Cloud Dataflow, analyze data at scale with BigQuery, and tap into machine learning with the Cloud Machine Learning Engine. Features of Cloud Healthcare API Compliant and certified This API is HIPAA compliant and HITRUST CSF certified. Google is also planning ISO 27001, ISO 27017, and ISO 27018 certifications for Cloud Healthcare API. Explore your data This API allows users to explore their healthcare data by incorporating advanced analytics and machine learning solutions such as BigQuery, Cloud AutoML, and Cloud ML Engine. Managed scalability Google’s Cloud Healthcare API provides web-native, serverless scaling which is optimized by Google’s infrastructure. Users can simply activate the API to send requests as the initial capacity configuration is not required. Apigee Integration This API integrates with Apigee, which is recognized by Gartner as a leader in full lifecycle API management, for delivering app and service ecosystems around user data. Developer-friendly This API organizes users’ healthcare information into datasets with one or more modality-specific stores per set where each store exposes both a REST and RPC interface. Enhanced data liquidity The API also supports bulk import and export of FHIR data and DICOM data, which accelerates delivery for applications with dependencies on existing datasets. It further provides a convenient API for moving data between projects. The official post reads, “While our product and engineering teams are focused on building products to solve challenges across the healthcare and life sciences industries, our core mission embraces close collaboration with our partners and customers.” Google will highlight what its partners, including the American Cancer Society, CareCloud, Kaiser Permanente, and iDigital are doing with the API at the ongoing Google Cloud Next. To know more about this news, check out Google’s official announcement. Ian Goodfellow quits Google and joins Apple as a director of machine learning Google dissolves its Advanced Technology External Advisory Council in a week after repeat criticism on selection of members Google employees filed petition to remove anti-trans, anti-LGBTQ and anti-immigrant Kay Coles James from the AI council  
Read more
  • 0
  • 0
  • 17537
Unlock access to the largest independent learning library in Tech for FREE!
Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
Renews at $19.99/month. Cancel anytime
article-image-bazel-1-0-googles-polyglot-build-system-switches-to-semantic-versioning-for-better-stability
Bhagyashree R
15 Oct 2019
3 min read
Save for later

Bazel 1.0, Google’s polyglot build system switches to semantic versioning for better stability

Bhagyashree R
15 Oct 2019
3 min read
The Bazel team announced the release of Bazel 1.0, last week. The team calls this version a “stability milestone” as it tries to address the stability concerns associated with Bazel by switching to semantic versioning. Along with this change, Bazel 1.0 features new genrule support, C++ and Java-related improvements, gRPC connections with default TLS enabled, and more. Bazel is the open-source version of the Blaze tool that Google uses internally. It is a polyglot build system that enables you to automate software building and testing. It provides features like reproducibility via sandboxing, distributed caching, static analysis of build dependencies, uniform CLI for builds and tests, and more. Key updates in Bazel 1.0 Windows A genrule generates one or more files based on a user-defined Bash command. Starting with Bazel 1.0, genrule supports cmd_bash, cmd_ps, and cmd_bat attributes for better integration on Windows. You can now get a new generated DEF file from the def_file output group of cc_library. Execution Previously, tags were not being propagated from a Bazel’s target to the action’s execution requirements. In Bazel 1.0, this is possible with the help of the --experimental_allow_tags_propagation flag. A rule consists of a series of actions that Bazel performs on inputs to produce a set of outputs. Now all rules have a default exec_properties attribute just like the one on a platform rule. Starting with Bazel 1.0, all gRPC connections from Bazel will have TLS enabled by default. You can disable TLS by going to the grpc:// scheme in your URIs. Configurability The config_setting general rule matches an expected configuration state for the purpose of triggering configurable attributes. With Bazel 1.0 release, it can now check multiple values on "--foo=firstVal --foo=secondVal ..."-style flags. This release comes with --enable_platform_specific_config that enable flags in bazelrc according to your host platform. C++ The cc_* rules now support non-transitive defines via a local_defines attribute. This attribute returns the set of defines needed to compile a particular target. Bazel 1.0 comes with support for ThinLTO builds, the new link-time optimization (LTO) compilation type, on Linux for Clang versions 6.0 or above. You can enable ThinLTO via --features=thin_lto. Java The Java-Starlark API, java_common.create_provider is now removed. Also, the JavaInfo() legacy arguments including actions, sources, source_jars, use_ijar, java_toolchain, and host_javabase are removed. Starting with Bazel 1.0, maven_jar and maven_server do not permit the use of plain HTTP URLs without a specified checksum. If you are using maven_jar it recommends switching to rules_jvm_external for transitive dependency management. The team has also advised that developers check the compatibility of their codebase by running bazelisk --migrate or by building their code with Bazel 0.29.1 and a list of flags before they upgrade to Bazel 1.0. These were some of the updates in Bazel 1.0. Check out the official announcement to know what else has shipped in this release. Rust 1.38 releases with pipelined compilation for better parallelism while building a multi-crate project Pivotal open sources kpack, a Kubernetes-native image build service Mozilla releases WebThings Gateway 0.9 experimental builds targeting Turris Omnia and Raspberry Pi 4 Introducing Weld, a runtime written in Rust and LLVM for cross-library optimizations LLVM 9 releases with official RISC-V target support, asm goto, Clang 9, and more
Read more
  • 0
  • 0
  • 17471

article-image-qt-5-11-has-arrived
Sugandha Lahoti
23 May 2018
3 min read
Save for later

Qt 5.11 has arrived!

Sugandha Lahoti
23 May 2018
3 min read
Qt 5.11 has been released ahead of the planned schedule. Qt is one of the most popular cross-platform software development framework for embedded and desktop applications. It holds a variety of new features and bug fixes. Qt for Web assembly and Python Qt for Web assembly version 1 has been released to allow users to target the web and browsers as a platform for Qt applications. In addition, Qt is actively working on supporting Qt on Python and the first release is planned for June. Qt Core and Network Both the Qt Core and item model have received a couple of updates. Most importantly, Qt Core now has Unicode support. So, QChar, QString, QTextBoundaryFinder and Qt algorithm for bidirectional text are now fully compatible with Unicode 10. In the Qt network, ALPN and HTTP/2 are now supported on iOS. Qt GUI and Widgets Accessibility support on Windows is now based on Microsoft UI automation. Widget styles on Windows are also updated to better support High-DPI displays. Qt widgets have received support for quick text selection by mouse in QLineEdit, along with a number of bug-fixes. The print dialog on Linux now also features much better support for all the CUPS provided options. Qt QML Engine The Qt QML compiler pipeline is completely re-written with major improvements in performance and maintainability. This pipeline always compiles QML to a platform-independent bytecode. You can also generate the bytecode ahead of time, using the qmlcompiler feature. The new bytecode interpreter has vastly improved and reaches 80-90% of the performance of the JIT in Qt 5.10. Qt Quick Qt Quick, now supports loading compressed textures in the image element. As this feature stores images in a format that is directly digestible by the GPU, it reduces application startup time and memory consumption. Qt Quick also supports both .ktx and .pkm container file formats. Qt Location Qt Location now includes experimental support for turn-by-turn navigation. It also has an experimental API to create map objects that are not bound to QQuickItems. In MapPolyline objects,  layers are now working in combination with Map items. Routing and Places API are extensible and there is a newly added element, known as WayPoint. Qt 3D and Qt 3D Studio Qt 3D Studio 2.0 is currently in beta and the complete release will soon be available with a fully rewritten runtime, that’ll be based on top of Qt 3D. With this work, Qt 3D has also received numerous new features, performance improvements, and bug fixes. Qt Webengine The Chromium version underneath Qt Webengine has been updated to Chromium 65. In addition, Qt now supports embedded DevTools without requiring the use of a separate browser, an installable cookie filter and quota permissions. Other items qdoc now uses libclang to parse C++ giving a much better support for modern C++ in the documentation. Qt Serialbus and Bluetooth have now improved support for CAN bus and BTLE. To read the complete coverage, visit the release notes page. Qt 5.11 free version will be supported for one year. For longer support periods, developers should prefer Qt 5.9 which will be supported until June 2020.  An extended lifetime support can be purchased from the Qt Company if required. The next release, Qt 5.12 is planned for November and will be a long-term supported release. How to create multithreaded applications in Qt How to Debug an application using Qt Creator 3 ways to deploy a QT and OpenCV application
Read more
  • 0
  • 0
  • 17399

article-image-material-ui-v4-releases-with-css-specificity-classes-boilerplate-migration-to-typescript-and-more
Amrata Joshi
28 May 2019
2 min read
Save for later

Material-UI v4 releases with CSS specificity, Classes boilerplate, migration to Typescript and more

Amrata Joshi
28 May 2019
2 min read
Last week, the team behind Material-UI released Material-UI v4 with CSS specificity, migration to Typescript and much more. The release of Material-UI v4 is influenced by two major factors. Firstly, the team analyzed the Developer survey results done in March. Secondly, the team wanted to be up to date with the latest best practices in the React community and with the Material Design Specification. What’s new in Material-UI v4? CSS specificity CSS specificity needs to be good enough and by default, Material-UI injects its style at the end of the <head> element. But styled components and few other popular styling solutions inject the style just before it and therefore loses specificity. In order to solve this problem, the team has introduced a new prop: injectFirst. Classes boilerplate In v1, the team had introduced classes API to target all the elements but they observed the use of this API for sometime and saw few users struggling. It is challenging to apply the class name on the right element and it further requires boilerplate as well. In order to improve this situation, the team changed the class name generation to output global class names and kept the classes API working as before. TypeScript All the demos have been migrated from JavaScript to TypeScript. The team has even type checked their demos which improves their TypeScript test coverage. Also, they have fixed many issues during the migration. While writing an application with TypeScript, users can now directly copy & paste the demos without the need of converting them or having to fix the errors. Improved UX The team has changed the menu organization to group all the components under a single navigation item. The team has also changed the background color to white for increasing the text contrast and readability. Tree shaking with ES modules This is the first version that supports native tree shaking with ES modules, users  can now use destructured imports while importing multiple components. To know more about this release, check out the post on Medium. Implementing autocompletion in a React Material UI application [Tutorial] Applying styles to Material-UI components in React [Tutorial] Fyne 1.0 released as a cross-platform GUI in Go based on Material Design  
Read more
  • 0
  • 0
  • 17297

article-image-microsoft-announces-xlookup-for-excel-users-that-fixes-most-vlookup-issues
Amrata Joshi
02 Sep 2019
3 min read
Save for later

Microsoft announces XLOOKUP for Excel users that fixes most VLOOKUP issues

Amrata Joshi
02 Sep 2019
3 min read
Last week, the team at Microsoft announced the XLOOKUP feature for Excel users, a successor to the VLOOKUP function, the first lookup function learned by Excel users. XLOOKUP feature gives Excel users an easier way of displaying information in their spreadsheets. Currently, this function is only available to Office 365 testers and the company will be making it more broadly available. XLOOKUP has the ability to look vertically as well as horizontally and it replaces HLOOKUP too.  XLOOKUP just needs 3 arguments for performing the most common exact lookup whereas VLOOKUP required 4. The official post reads, “Let’s consider its signature in the simplest form: XLOOKUP(lookup_value,lookup_array,return_array) lookup_value: What you are looking for lookup_array: Where to find it return_array: What to return”  XLOOKUP overcomes the limitations of VLOOKUP Exact match in XLOOKUP is possible VLOOKUP resulted in a default approximate match of what the user was looking for, rather than the exact match. With XLOOKUP users can now find the exact match. Data can be drawn on both sides  VLOOKUP can draw on the data that’s on the right-hand side of the reference column, so users have to rearrange their data to use the function. With XLOOKUP, users can easily draw on the data both to the left and right, and it also combines VLOOKUP and HLOOKUP into a single function. Column insertions/deletions VLOOKUP’s 3rd argument is the column number so if you insert or delete a column then you have to increment or decrement the column number inside the VLOOKUP. With XLOOKUP users can easily insert or delete columns. Search from the back is now possible With VLOOKUP, users need to reverse the order of the data for finding the last occurrence of the data but with XLOOKUP it is easy for users to search the data from the back. References cells systematically For VLOOKUP, the 2nd argument, table_array, needs to be stretched from the lookup column to the results column. It references more cells which results in unnecessary calculations, reducing the performance of your spreadsheets. XLOOKUP systematically references the cells which don’t lead to complications in calculations. In an email to CNBC, Joe McDaid, Excel’s senior program manager wrote, XLOOKUP is “more powerful than INDEX/MATCH and more approachable than VLOOKUP.” To know more about this news, check out the official post. What’s new in application development this week? Microsoft announces its support for bringing exFAT in the Linux kernel; open sources technical specs Qt introduces Qt for MCUs, a graphics toolkit for creating a fluid user interface on microcontrollers Twilio launched Verified By Twilio, that will show customers who is calling them and why      
Read more
  • 0
  • 0
  • 17243
article-image-microsoft-open-sources-accessibility-insights-for-web-a-chrome-extension-to-help-web-developers-fix-their-accessibility-issues
Sugandha Lahoti
14 Mar 2019
2 min read
Save for later

Microsoft open sources ‘Accessibility Insights for Web’, a chrome extension to help web developers fix their accessibility issues

Sugandha Lahoti
14 Mar 2019
2 min read
On Tuesday, Microsoft open sourced its Accessibility tools, allowing developers to easily find and fix common accessibility issues early in the development cycle. This includes Accessibility Insights for Windows and Accessibility Insights for Web, both built on Deque’s open source axe technology. You can run quick tests, easily create audits that you can export and share with others, and even file issues to GitHub. Accessibility Insights for Web Accessibility Insights for Web is basically a Chrome extension that helps developers find and fix accessibility issues in web apps and sites. The tool comes with a lightweight, two-step process called FastPass that helps developers identify common, high-impact accessibility issues. Fast Pass uses automated checks to check compliance with approximately 50 accessibility requirements. It also makes use of Tab stops to provide clear instructions and a visual helper for identifying accessibility issues related to keyboard access, such as missing tab stops, keyboard traps, and incorrect tab order. The second part of Accessibility Insights is Assessment which helps HTML developers in verifying if a web app or web site is 100% compliant with Web Content Accessibility Guidelines (WCAG) 2.0 Level AA. It also comes with Automated checks and also Manual Testing to provide step-by-step instructions, examples, and how-to-fix guidance for approximately 20 tests. Deque Systems provides GitHub issue filing for Accessibility Insights for Web, and color contrast detection heuristics for Accessibility Insights for Windows. On why Accessibility Insights is open sourced, Microsoft writes in a blog post, “We are driven by the promise of more accessible products for more people.  That’s why we’re releasing Accessibility Insights to the open source and accessibility communities – it’s all of ours now, and together we’ll continue to make it a better tool and build a more accessible future.” You can read more about Accessibility Insights on its website. It’s a win for Web accessibility as courts can now order companies to make their sites WCAG 2.0 compliant W3C and FIDO Alliance declare WebAuthn as the web standard for password-free logins Microsoft open sources the Windows Calculator code on GitHub
Read more
  • 0
  • 0
  • 17232

article-image-apache-software-foundation-finally-joins-the-github-open-source-community
Amrata Joshi
30 Apr 2019
3 min read
Save for later

Apache Software Foundation finally joins the GitHub open source community

Amrata Joshi
30 Apr 2019
3 min read
In 2016, Apache decided to start integrating GitHub’s repository and tooling with their own services. After working on the integration over the years, they made a move towards simplifying how they work and move all Git projects to GitHub. By February, this year, Apache completed the migration to GitHub and enabled all the projects with a simple platform to host and review code, collaborate on projects, and build software alongside developers around the world. Greg Stein, ASF Infrastructure Administrator, said, "In 2016, the Foundation started integrating GitHub's repository and tooling, with our own services. This enabled selected projects to use GitHub's excellent tools. Over time, we improved, debugged, and solidified this integration. In late 2018, we asked all projects to move away from our internal git service, to that provided by GitHub. This shift brought all of their tooling to our projects, while we maintain a backup mirror on our infrastructure." Yesterday, Apache Software Foundation (ASF) finally joined the GitHub open source community. Apache Software Foundation has about 200M+ lines of code that are managed by an all-volunteer community of 730 individuals. Nat Friedman, Chief Executive Officer of GitHub, said on this announcement, "We're proud to have such a long standing member of the Open Source community migrate to GitHub. Whether we're working with individual Open Source maintainers and contributors or some of the world's largest Open Source foundations like Apache, GitHub's mission is to be the home for all developers by supporting Open Source communities, addressing their unique needs, and helping Open Source projects thrive." Initially, Apache projects had two version control services, Apache Subversion and Git. As the number of projects increased, ASF communities wanted to see their source code available on GitHub because the codes were read-only mirrors. Also, the ability to use the GitHub tools around those repositories was very limited. This made Apache take the decision to join GitHub. Greg Stein further added, "We continue to experiment and expand the set of services that GitHub can provide to our communities, given our own needs and requirements. The Foundation has started working closely with GitHub management to explore ways to make this happen, and what will be possible in the future." Many users think that the reason for Apache to migrate to GitHub was the increasing cost of managing the code and infrastructure. A user commented on HackerNews, “Apparently, one of the big motivating reasons for this was "cost". The foundation’s 2018 five-year strategic plan noted that infrastructure services account for more than 80 percent of the total ASF expense budget, adding: Increasingly, project communities have infrastructure requirements that strain the capabilities of the ASF. The report noted that, given burgeoning costs, encouraging the use of more externally provided services was its best option.” Another comment reads, “Holy shit, they're spending $800k a year on infrastructure! Honestly, it's difficult to understand why they haven't sooner moved to GitHub, or even GitLab or the like - it feels reckless. That money could be put to far greater use - as an Apache supporter who hasn't ever felt the need to look at their costs, I have to say that I'm very disappointed.” To know more about this news, check out Apache’s blog post. Microsoft and GitHub employees come together to stand with the 996.ICU repository ‘Developers’ lives matter’: Chinese developers protest over the “996 work schedule” on GitHub GitHub releases Vulcanizer, a new Golang Library for operating Elasticsearch    
Read more
  • 0
  • 0
  • 17223

article-image-gitlab-faces-backlash-from-users-over-performance-degradation-issues-tied-to-redis-latency
Vincy Davis
02 Jul 2019
4 min read
Save for later

GitLab faces backlash from users over performance degradation issues tied to redis latency

Vincy Davis
02 Jul 2019
4 min read
Yesterday, GitLab suffered major performance degradation in terms of 5x increased error rate and site slow down. The degradation was identified and rectified within few hours of its discovery. https://twitter.com/gabrielchuan/status/1145711954457088001 https://twitter.com/lordapo_/status/1145737533093027840 The GitLab engineers promptly started investigating the slowdown on GitLab.com and notified users that the slow down is in redis and lru cluster, thus impacting all web requests serviced by the rails front-end. What followed next was a very comprehensive detailing about the issue, its causes, who’s handling what kind of issue and more. GitLab’s step by step response looked like this: First, they investigated slow response times on GitLab. Next, they added more workers to alleviate the symptoms of the incident. Then, they investigated jobs on shared runners that were being picked up at a low rate or appeared being stuck. Next, they tracked CI issues and observed performance degradation as one incident. Over the time, they continued to investigate the degraded performance and CI pipeline delays. After a few hours, all services restored to normal operation and the CI pipelines continued to catch up from delays earlier with nearly normal levels. David Smith, the Production Engineering Manager at GitLab also updated users that the performance degradation was due to few issues tied to redis latency. Smith also added that, “We have been looking into the details of all of the network activity on redis and a few improvements are being worked on. GitLab.com has mostly recovered.” Many users on Hacker News wrote about their unpleasant experience with GitLab.com. A user states that, “I recently started a new position at a company that is using Gitlab. In the last month I've seen a lot of degraded performance and service outages (especially in Gitlab CI). If anyone at Gitlab is reading this - please, please slow down on chasing new markets + features and just make the stuff you already have work properly, and fill in the missing pieces.” Another user comments, “Slow down, simplify things, and improve your user experience. Gitlab already has enough features to be competitive for a while, with the Github + marketplace model.” Later, a GitLab employee by the username, kennyGitLab commented that GitLab is not losing sight and is just following the company’s new strategy of ‘Breadth over depth’. He further added that, “We believe that the company plowing ahead of other contributors is more valuable in the long run. It encourages others to contribute to the polish while we validate a future direction. As open-source software we want everyone to contribute to the ongoing improvement of GitLab.” Users were indignant by this response. A user commented, “"We're Open Source!" isn't a valid defense when you have paying customers. That pitch sounds great for your VCs, but for someone who spends a portion of their budget on your cloud services - I'm appalled. Gitlab is a SaaS company who also provides an open source set of software. If you don't want to invest in supporting up time - then don't sell paid SaaS services.” Another comment read, “I think I understand the perspective, but the messaging sounds a bit like, ‘Pay us full price while serving as our beta tester; sacrifice the needs of your company so you can fulfill the needs of ours’.” Few users also praised GitLab for prompt action and for providing everybody with in-depth detailing about the investigation. A user wrote that, “This is EXACTLY what I want to see when there's a service disruption. A live, in-depth view of who is doing what, any new leads on the issue, multiple teams chiming in with various diagnostic stats, honestly it's really awesome. I know this can't be expected from most businesses, especially non-open sourced ones, but it's so refreshing to see this instead of the typical "We're working on a potential service disruption" that we normally get.” GitLab goes multicloud using Crossplane with kubectl Atlassian Bitbucket, GitHub, and GitLab take collective steps against the Git ransomware attack Attackers wiped many GitHub, GitLab, and Bitbucket repos with ‘compromised’ valid credentials leaving behind a ransom note
Read more
  • 0
  • 0
  • 17116
article-image-reactos-version-0-4-9-released-with-self-hosting-and-fastfat-crash-fixes
Sugandha Lahoti
24 Jul 2018
3 min read
Save for later

ReactOS version 0.4.9 released with Self-hosting and FastFAT crash fixes

Sugandha Lahoti
24 Jul 2018
3 min read
ReactOS, the free and open source “ Windows-like” operating system has been released as a new version. ReactOS 0.4.9 comes with system stability and general consistency improvements such as Self-hosting, shell improvements, FastFAT crash fixes and more. As they target a newer release every three months, more focus is given on improvements with fewer headliner changes. ReactOS is now capable of Self-Hosting Self-hosting is a process of building an OS on an OS. Self-hosting although considered to be a milestone in any OS’ maturity, is associated with many challenges of its own. First, compiling any large codebase requires high memory usage and storage I/O stressing the operating system. Scheduling is also stressed, as modern build systems in general attempt to produce multiple compilation processes to speed up the build process. ReactOS featured self-hosting in an older version. However, changes brought by subsequent releases, such as the reworking of the kernel, made this self-hosting process non-existent. However, with the recent changes made to the filesystem, Self-hosting is now completely established in the 0.4.9 release. The open source FreeBSD project’s implementation of qsort played a major role in achieving this. Stability brought in by fixing FastFAT crashes ReactOS had significant resource leakages caused by the FastFAT driver. This leakage was eating up the common cache to the point where attempts to copy large files would result in a crash. The new version fixes the FastFAT driver’s behavior by adding in write throttling support and restraining its usage of the cache. A conservative usage of the cache may slow the system a bit during IO operations. However, it ensures that resources remain available to service for large IO operations instead of crashing like before. FastFAT driver also featured a complete rewrite of the support for dirty volumes greatly reducing the chance of file corruptions. This will protect the system from becoming unusable after a crash. Shell Improvements & Features Shell has also received several upgrades. It now has a built-in zipfldr (Zip Folder) extension. With this, ReactOS can also uncompress zipped files without needing to install third-party tools to accomplish it. It also allows users to now choose whether to move, copy, or link a file or folder when they drag it with the right mouse button. Some other new improvements A new mouse properties dialog in the GUI component of the ReactOS installer The inclusion of RAPPS, the gateway program used for getting various applications installed on ReactOS. With this Unicode support, ReactOS can now easily support many different languages. ReactOS can now present itself as Windows 8.1 with the Version APIs. These are just a select few major updates. For a full list of features, upgrades, and improvements, read the changelog. Microsoft releases Windows 10 SDK Preview Build 17115 with Machine Learning APIs Microsoft releases Windows 10 Insider build 17682! What’s new in the Windows 10 SDK Preview Build 17704
Read more
  • 0
  • 0
  • 17109

article-image-tensorflow-2-0-to-be-released-soon-with-eager-execution-removal-of-redundant-apis-tf-function-and-more
Amrata Joshi
15 Jan 2019
3 min read
Save for later

TensorFlow 2.0 to be released soon with eager execution, removal of redundant APIs, tf function and more

Amrata Joshi
15 Jan 2019
3 min read
Just two months ago Google’s TensorFlow, one of the most popular machine learning platforms celebrated its third birthday. Last year in August, Martin Wicke, engineer at Google, posted the list of what’s expected in TensorFlow 2.0, an open source machine learning framework, on the Google group. The key features listed by him include: This release will come with eager execution. This release will feature more platforms and languages along with improved compatibility. The deprecated APIs will be removed. Duplications will be reduced. https://twitter.com/aureliengeron/status/1030091835098771457 The early preview of TensorFlow 2.0 is expected soon. TensorFlow 2.0 is expected to come with high-level APIs, robust model deployment, powerful experimentation for research and simplified API. Easy model building with Keras This release will come with Keras, a user-friendly API standard for machine learning which will be used for building and training the models. As Keras provides various model-building APIs including sequential, functional, and subclassing, it becomes easier for users to choose the right level of abstraction for their project. Eager execution and tf.function TensorFlow 2.0 will also feature eager execution, which will be used for immediate iteration and debugging. The tf.function will easily translate the Python programs into TensorFlow graphs. The performance optimizations will remain optimum and by adding the flexibility, tf.function will ease the use of expressing programs in simple Python. Further, the tf.data will be used for building scalable input pipelines. Transfer learning with TensorFlow Hub The team at TensorFlow has made it much easier for those who are not into building a model from scratch. Users will soon get a chance to use models from TensorFlow Hub, a library for reusable parts of machine learning models to train a Keras or Estimator model. API Cleanup Many APIs are removed in this release, some of which are tf.app, tf.flags, and tf.logging. The main tf.* namespace will be cleaned by moving lesser used functions into sub packages such as tf.math. Few APIs have been replaced with their 2.0 equivalents like tf.keras.metrics, tf.summary, and tf.keras.optimizers. The v2 upgrade script can be used to automatically apply these renames. Major Improvements The queue runners will be removed in this release The graph collections will also get removed. The APIs will be renamed in this release for better usability. For example,  name_scope can be accessed using  tf.name_scope or tf.keras.backend.name_scope. For ease in migration to TensorFlow 2.0, the team at TensorFlow will provide a conversion tool for updating TensorFlow 1.x Python code for using TensorFlow 2.0 compatible APIs. It will flag the cases where code cannot be converted automatically. In this release, the stored GraphDefs or SavedModels will be backward compatible. With this release, the distribution to tf.contrib will no more be in use. Some of the existing contrib modules will be integrated into the core project or will be moved to a separate repository, rest of them will be removed. To know about this news, check out the post by the TensorFlow team on Medium. Building your own Snapchat-like AR filter on Android using TensorFlow Lite [ Tutorial ] Google expands its machine learning hardware portfolio with Cloud TPU Pods (alpha) to effectively train and deploy TensorFlow machine learning models on GCP Google researchers introduce JAX: A TensorFlow-like framework for generating high-performance code from Python and NumPy machine learning programs
Read more
  • 0
  • 0
  • 17060
Modal Close icon
Modal Close icon