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-red-hat-announces-codeready-workspaces-the-first-kubernetes-native-ide-for-easy-collaboration-among-developers
Natasha Mathur
06 Feb 2019
2 min read
Save for later

Red Hat announces CodeReady Workspaces, the first Kubernetes-Native IDE for easy collaboration among developers

Natasha Mathur
06 Feb 2019
2 min read
Red Hat has come out with a new Integrated development environment (IDE), called CodeReady Workspaces. The new IDE, announced yesterday, is a Kubernetes-native, browser-based environment for developers to enable easier collaboration among the development team. CodeReady Workspaces is based on the open source Eclipse Che integrated development environment (IDE) project and has been optimized for Red Hat OpenShift and Red Hat Enterprise Linux. It offers the enterprise development teams a shareable developer environment, which comprises the tools and dependencies required to code, build, test, run and debug the container-based applications. Other than that, it is the first Kubernetes-native IDE in the market that runs inside a Kubernetes cluster and is capable of managing the developer’s code, and dependencies present inside OpenShift pods and containers. Also, there is no need for the developers to be Kubernetes or OpenShift experts in order to use the IDE. Additionally, Red Hat CodeReady Workspaces comes with a sharing feature called Factories, which is a template containing the source code location, runtime, tooling configuration and commands that are needed for a project. It enables development teams to run the new Kubernetes-native developer environment in a few minutes. Team members can access their own or shared workspaces on any device with a browser and on any IDE and operating system (OS). According to the Red Hat team, CodeReady Workspaces is an ideal platform for DevOps based organizations and allows the IT or development teams to manage workspaces at scale and effectively control system performance, security features and functionality. CodeReady Workspaces allows the developers to: Integrate their preferred version control (public and private repositories). Control workspace permissions and resourcing Make use of Lightweight Directory Access Protocol (LDAP) or Active Directory (AD) authentication for single sign-on. “Red Hat CodeReady Workspaces offers enterprise development teams a collaborative and scalable platform that can enable developers to more efficiently and effectively deliver new applications for Kubernetes and collaborate on container-native applications”, said Brad Micklea, senior director, Developer Experience and Programs, Red Hat. Red Hat CodeReady Workspaces is free with an OpenShift subscription. You can download it by joining the Red Hat Developer Program. For more information, check out the official Red Hat CodeReady Workspaces blog. Red Hat drops MongoDB over concerns related to its Server Side Public License (SSPL) Red Hat acquires Israeli multi-cloud storage software company, NooBaa Red Hat announces full support for Clang/LLVM, Go, and Rust
Read more
  • 0
  • 0
  • 10863

article-image-resharper-18-2-brings-performance-improvements-c-7-3-blazor-support-and-spellcheck
Prasad Ramesh
23 Aug 2018
3 min read
Save for later

ReSharper 18.2 brings performance improvements, C# 7.3, Blazor support and spellcheck

Prasad Ramesh
23 Aug 2018
3 min read
JetBrains released ReSharper Ultimate 2018.2 with fixes for improved performance, and C# 7.3 support, integrated spellcheck. It also features JSLint, ESLint, and TSLint support along with navigation improvements. Performance improvements Around 30 performance fixes are made in different areas of ReSharper. They range from speeding up EditorConfig support to decreasing solution loading times. Visit the page dedicated to performance improvements for more details. C# 7.3 support ReSharper now fully supports C# 7.3 including all features from the latest. New inspections and appropriate quick-fixes are included to make compatible with C# 7.3. The features include Tuple equality, pattern-based fixed statement, indexing movable fixed buffers and others. JSLint, ESLint, and TSLint support These three static analysis tools have been integrated into JavaScript/TypeScript code analysis. This will provide additional inspections and appropriate quick-fixes. These linters help ensure readability in JavaScript and TypeScript code. Integrated spell checking with ReSpeller There is spell-checking functionality out of the box, enabled for most of the supported languages. By default, this spell checker comes with a built-in dictionary for English (US) but more languages can be downloaded. Blazor support added Blazor is experimental as of now, but initial support is added in ReSharper. For example, code completion includes all possible directives such as page (routing), inject (service injection), and function (component members). Navigation improvements A long-awaited feature is introduced for Search & Navigation options: ignored files can be specified by using a mask in under Search & Navigation in Environment. Files can be excluded from all search and navigation features based on a file extension or by folder. Some ReSharper features now take local functions into account, they include: File Structure, Containing Declaration, Next/Previous Members, and others. Formatter engine updated Comments that override formatter settings can now be generated automatically. Improvements are made to the formatting rules presentation which come from a StyleCop config file. Refactorings UI update Many ReSharper refactorings are moved to the new presentation framework. This will yield many benefits in the near future thanks to a unified control behavior for ReSharper and Rider. Visible UI changes are code completion under Change Signature and a better presentation for Extract Method. Other features Fix-in-scope quick-fixes now have more granular fixing scopes. The code style for Built-in Type has been improved. There’s a new option to execute BeforeBuild and AfterBuild targets for skipped projects in ReSharper Build.  A new inspection was also added to highlight misplaced text in XAML. For more details visit the JetBrains page. Visual Studio code July 2018 release, version 1.26 is out! Microsoft releases the Python Language Server in Visual Studio Visual Studio 2019: New features you should expect to see
Read more
  • 0
  • 0
  • 10836

article-image-safari-technology-preview-release-83-now-available-for-macos-mojave-and-macos-high-sierra
Amrata Joshi
03 Jun 2019
2 min read
Save for later

Safari Technology Preview release 83 now available for macOS Mojave and macOS High Sierra

Amrata Joshi
03 Jun 2019
2 min read
Last week, the team at WebKit announced that Safari Technology Preview release 83 is now available for macOS Mojave and macOS High Sierra. Safari Technology Preview is a version of Safari for OS X includes an in-development version of the WebKit browser engine. What’s new in Safari Technology Preview release 83? Web authentication This release comes with web authentication enabled by default on macOS. The web authentication has been changed to cancel the pending request when a new request is made. Web authentication has been changed to return InvalidStateError to sites whenever authenticators return such error. Pointer events With this release, the issue with isPrimary property of pointercancel events has been fixed. Also, the issue with calling preventDefault() on pointerdown has been fixed. Rendering The team has implemented backing-sharing in compositing layers and have further allowed overlap layers to paint into the backing store of another layer. The team has also fixed rendering of backing-sharing layers with transforms. The issue with layer-related flashing with composited overflow: scroll has been fixed. CSS In this release, “clearfix” with display: flow-root has been implemented. Also, page-break-* and -webkit-column-break-* have been implemented. The issue with font-optical-sizing applying the wrong variation value has been implemented. The CSS grid has also  been updated. WebRTC This release now allows sequential playback of media files. Also, the issue with video stream freezing has been fixed. Major bug fixes In this release, the CPU timeline and memory timeline bars have been fixed. The colors in the network table waterfall container have been fixed. The issue with context menu items in the DOM tree has been fixed. To know more about this news, check out the release notes. Chrome, Safari, Opera, and Edge to make hyperlink auditing compulsorily enabled Safari Technology Preview 71 releases with improvements in Dark Mode, Web Inspector, WebRTC, and more! Is it time to ditch Chrome? Ad blocking extensions will now only be for enterprise users
Read more
  • 0
  • 0
  • 10814

article-image-javafx-11-to-release-soon-announces-the-gluon-team
Natasha Mathur
24 Aug 2018
3 min read
Save for later

JavaFX 11 to release soon, announces the Gluon team

Natasha Mathur
24 Aug 2018
3 min read
Earlier this week, the Gluon team announced that JavaFX 11 GA will be released in the second half of September, close to the release of Java 11. In the meantime, development has begun on JavaFX 12. JavaFX is the software platform that allows development of desktop Java apps. It comprises a single codebase which consists of code for a rich, interactive UI on many platforms. Users access information from multiple devices so having a single codebase makes it cost-effective. Single codebases are also easy to maintain and interact well with enterprise and cloud services. It was announced, back in March, that the framework JavaFX would be offered as a separate component and no longer will be a part of the Java SDK. Ever since then, JavaFX has been under development by the community as a stand-alone project called OpenJFX with multiple new developers joining in. As mentioned in the official Gluon blog post, the reason behind new developers contributing to JavaFX 11 is the fact that GitHub has made it easier for these developers to get started  as all they have to do now is “sign the contributor agreement, commit the code -- pushed upstream to the official OpenJFX repository on the OpenJDK infrastructure”. JavaFX 11 is the first release under the umbrella of the OpenJFX open project. Johan Vos, Co-CTO of Gluon, is also co-lead of the OpenJFX project and one of the driving forces behind the advancement of JavaFX. A JavaFX 11 stabilization repository has been created. This will only be responsible for fixing the blocking issues. Gluon will be handling the release of JavaFX 11. In addition to that, the Gluon team has increased their investment in OpenJFX as they are constantly working on its code. Development on JavaFX 12 is currently ongoing and the Gluon community is keen on following the same core principles which are: release often, include the ready features. In case of a feature not ready for a particular release, it can be made available in the next release cycle, 6 months away. Keeping in mind that not all developers are interested in changing versions every six months, Gluon offers JavaFX Enterprise Support, where a Long Term Support version of JavaFX 11 is maintained. On subscribing to this payment mode, you will have access to builds s which have been backported to JavaFX 11. This is an attempt to make sure that the developers are always using  “the latest, feature-rich, stable, well-tested code in their projects They don’t have to wait years for a feature or bug fix to be in a released version. It also allows the OpenJFX developers to work on future versions, and to include new technologies and ideas into the JavaFX code” says the Gluon team. For more information, check out the official blog post. State of OpenJDK: Past, Present and Future with Oracle NVIDIA open sources its material definition language, MDL SDK Unit testing with Java frameworks: JUnit and TestNG [Tutorial]  
Read more
  • 0
  • 0
  • 10764

article-image-ruby-on-rails-6-0-beta-1-brings-new-frameworks-multiple-dbs-and-parallel-testing
Prasad Ramesh
21 Jan 2019
2 min read
Save for later

Ruby on Rails 6.0 Beta 1 brings new frameworks, multiple DBs, and parallel testing

Prasad Ramesh
21 Jan 2019
2 min read
Last Friday, the first release of Rails 6 was announced. Two new major frameworks are added in Rails 6.0 Beta 1 called Action Mailbox and Action Text. There are also two scalable upgrades in the form of multiple database support and parallel testing. Action Mailbox in Rails 6.0 Beta 1 This new framework guides incoming emails to controller-like mailboxes in order for processing to take place in Rails. Action Mailbox comes with ingresses for Amazon SES, Mailgun, Mandrill, Postmark, and SendGrid. Users can also manage incoming emails directly via the built-in Exim, Postfix, and Qmail ingresses. Action Text in Rails 6.0 Beta 1 This framework brings rich text and enables editing such files in Rails. The Trix editor is introduced to handle tasks like formatting to links, quotes, lists to embedded images and galleries. Trix editor has its own RichText model to save rich text generated by it. This model is associated with existing Active Record models in the application. Embedded images and other attachments are stored by default via Active Storage and they are associated with the RichText model. Multiple database support The introduction of multiple database support facilitates a single application to connect to multiple databases simultaneously. This can be done to segment certain records into their own databases for scaling or isolation. It can also be useful if you’re performing read/write splitting with replica databases to improve performance. Regardless of the applications, there’s a simple API in Rails 6.0 for this task without having to dig into Active Record internals. Support for parallel testing You can now utilize all the cores in your computer to run big test suites faster with parallel testing support. Every testing worker has a separate database and thread so all the CPUs will be utilized effectively. Webpacker is the default JavaScript bundler for Rails 6.0 via the new app/javascript directory. The asset pipeline with Sprockets for CSS and static assets integrate well while offering the best trade-off of advanced JavaScript features. Rails 6.0 will need Ruby 2.5.0 or later. Rails 6.0 Beta 2 should be out next month and the final release in April in time for the RailsConf 2019. You can look at the changelog files to know more about the changes. Ruby 2.6.0 released with a new JIT compiler GitHub addresses technical debt, now runs on Rails 5.2.1 7 Web design trends and predictions for 2019
Read more
  • 0
  • 0
  • 10640

article-image-conda-4-6-0-released-with-support-for-more-shells-better-interoperability-among-others
Amrata Joshi
30 Jan 2019
3 min read
Save for later

Conda 4.6.0 released with support for more shells, better interoperability among others

Amrata Joshi
30 Jan 2019
3 min read
On Monday, the team at Anaconda released a new version of Conda, an open source package management and environment management system that runs on Windows, macOS, and Linux. Conda 4.6.0 comes with support for more shells, better interoperability, improved Conda search and more. https://twitter.com/anacondainc/status/1089970114143965185 What’s new in Conda 4.6.0 Support for more shells Conda 4.6.0 comes with extensive initialization support so that more shells can use the conda activate command. It also comes with added support for PowerShell. This release comes with “conda init” functionality which gets Conda working quickly and less disruptively on a wide variety of shells such as zsh, bash, csh, fish, xonsh, and more. Improving interoperability with pip Conda 4.6.0 comes with added preview support for better interoperability. This release uses pip-installed packages to satisfy dependencies. It is possible to remove pip-installed software and replace them with Conda packages when appropriate.   Note: This feature is disabled by default right now because it can significantly impact Conda’s performance.  If you’d like to try it, you can set this condarc setting: conda config --set pip_interop_enabled True Activation of a single environment This release provides an ideal situation where a single environment can be active at any given time. Conda search gets better License and license_family have been added to MatchSpec for conda search. Enhanced fish shell This release features autocompletion for conda env to the fish shell. Major improvements This release comes with clean output for conda <COMMAND> --help and conda config --describe. In Conda 4.6.0, https://repo.anaconda.com/pkgs/pro has been removed from the default value for defaults. Reference to 'system' channel has been removed from this release. This release comes with http error body to debug information. Creating env name with space is no more supported. This release supports MatchSpec syntax in environment.yml files. With this release, the name of 'condacmd' dir has been changed to 'condabin'. It is now possible to disable timestamp prioritization when not needed. In this release, repodata has been cached as UTF-8 for handling unicode characters. Performance of Conda 4.6.0 has been improved to cache hash value on PackageRecord Major Changes In this release, 'conda env attach' and 'conda env upload' have been removed. This release comes with deprecation warnings for 'conda.cli.activate', 'conda.compat', and 'conda.install'. Env name with colon is now supported. In Conda 4.6.0, the default value of max_shlvl has been changed to 0. Non-user facing changes With OO inheritance, activate.py has been cleaned up. The pep8 project has been renamed to pycodestyle. This release comes with copyright headers. Bug fixes In the previous releases, the verify step of conda used to hang for a long time while installing a corrupted package. This has been fixed. In this release, the progress bar uses stderr instead of stdout. It is now possible to pin a list of packages by adding a file named ‘pinned’ to the conda-meta directory with a list of the packages that the user don’t want to update. To know more about Conda 4.6.0, check out the official announcement. Anaconda 5.3.0 released, takes advantage of Python’s Speed and feature improvements Share projects and environment on Anaconda cloud [Tutorial] Visualizing data in R and Python using Anaconda [Tutorial]  
Read more
  • 0
  • 0
  • 10590
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-linux-5-1-will-come-with-intel-graphics-virtual-memory-support-and-more
Amrata Joshi
19 Mar 2019
2 min read
Save for later

Linux 5.1 will come with Intel graphics, virtual memory support, and more

Amrata Joshi
19 Mar 2019
2 min read
The team at Linux has put in a lot of efforts on Linux RC 5.1. Last week, Linus Torvalds, the creator of the Linux kernel, announced that the two-week long merge window for Linux 5.1 is finally coming to an end. The first Release Candidate of Linux kernel 5.1 is finally ready for testing. Let’s have a look at the changes and new features which will be coming in Linux RC 5.1. What’s expected in Linux RC 5.1? Intel graphics With this release, the Intel Fastboot is enabled by default. The Intel graphics driver eliminates unnecessary mode-set operations at boot-time by default. The ones on older Intel graphics can still toggle the feature with the i915.fastboot=1 kernel parameter. Fastboot comes with a clean, flicker-free Linux boot experience. This release comes with Intel HDCP 2.2 support. There is an added support for Coffeelake GVT  for Intel's graphics virtualization tech. Virtual memory support This release comes with Nouveau DRM driver that has heterogeneous memory management hook-ups, which provides shared virtual memory support. This release comes with support for AMDGPU Vega 10/20 BACO and other Vega enhancements. There is a new DRM driver in this release known as the Arm Komeda display driver. Added Support This release comes with Support for the Bitmain SoC as a dual-core A53 combined with a single RISC-V core. This release comes with new Arm support including the Socionext Milbeaut, NXP i.MX8QuadXPlus, and a few Rensas SoCs. New accelerator This release comes with Habana Labs Goya accelerator along with its new driver. A new accelerator subsystem is expected in the Linux kernel. The accelerator is based on AI having open-source, mainline kernel support. Power management This release comes with Icelake PMC core support for dealing with the power management controller registers on the CPUs. To know more about this news in detail, check out Linux Kernel’s mailing list. The Linux Foundation announces the CHIPS Alliance project for deeper open source hardware integration Announcing Linux 5.0! Linux use-after-free vulnerability found in Linux 2.6 through 4.20.11
Read more
  • 0
  • 0
  • 10478

article-image-researchers-develop-new-brain-computer-interface-that-lets-paralyzed-patients-use-tablets
Sugandha Lahoti
27 Nov 2018
3 min read
Save for later

Researchers develop new brain-computer interface that lets paralyzed patients use tablets

Sugandha Lahoti
27 Nov 2018
3 min read
Researchers have developed a new iBCI (intracortical brain-computer interface) that allows people with paralysis to control an unmodified, commercially available tablet. This research was based on the fact that most general-purpose computers have been difficult to use for people with some form of paralysis.  In their study, three research participants with tetraplegia who had multielectrode arrays implanted in motor cortex as part of the BrainGate2 clinical trial were invited. Using the iBCI, their neural activity was decoded in real time with a point-and-click wireless Bluetooth mouse. This allowed participants to use common and recreational applications (web browsing, email, chatting, playing music on a piano application, sending text messages, etc.). iBCI also allowed two participants to “chat” with each other in real time.   The architecture of the setup  Participants used seven common applications on the tablet: an email client, a chat program, a web browser, a weather program, a news aggregator, a video sharing program, and a streaming music program.   The system consisted of a NeuroPort recording system to record neural signals from the participant’s motor cortex.   These signals were routed into a real-time computer running the xPC/Simulink Real-Time operating system for processing and decoding. The output of the decoding algorithm was passed to a Bluetooth interface configured to work as a wireless computer mouse using the Bluetooth Human Interface Device (HID) Profile.   This virtual Bluetooth mouse was paired with a commercial Android tablet device with no modifications to the operating system.   Participants performed real-time “point-and-click” control over a cursor that appeared on the tablet computer once paired through the Bluetooth interface.  The cursor movements and clicks by participants were decoded from neural activity using Kalman filters. 2D cursor velocities were estimated using a Recalibrated Feedback Intention Trained Kalman Filter (ReFIT-KF) and a cumulative closed-loop decoder. Click intentions were classified using a hidden Markov model and a linear discriminant analysis classifier.  Future work  The researchers want to expand the control stock with additional decoded signals, leveraging more optimized keyboard layouts, exploring accessibility features, and controlling other devices and operating systems. They also want to extend the output of the iBCI to support additional dimensions that may be used to command advanced cursor features.   For detailed analysis, go through the research paper.  What if buildings of the future could compute? European researchers make a proposal.  Babysitters now must pass Perdictim’s AI assessment to be “perfect” to get the job  Mozilla introduces LPCNet: A DSP and deep learning-powered speech synthesizer for lower-power devices 
Read more
  • 0
  • 0
  • 9999

article-image-kotlin-1-3-m1-arrives-with-coroutines-and-new-experimental-features-like-unsigned-integer-types
Richa Tripathi
01 Aug 2018
3 min read
Save for later

Kotlin 1.3 M1 arrives with coroutines, and new experimental features like unsigned integer types

Richa Tripathi
01 Aug 2018
3 min read
After Kotlin had released 1.2 nearly six months ago, the official language for Android finally announced the first release candidate of their next major version: ‘1.3 M1’. This new release comes with plenty of features most notably coroutines, new experimental unsigned arithmetic, and much more. Coroutines are no longer a pipe dream Coroutines have been in the experimental stage since they were first introduced in Kotlin 1.1. Kotlin 1.3 brings Coroutines to limelight as JetBrains’ Ilya Gorbunov explained in his blog post announcing Kotlin 1.3-M1. Coroutines simplify asynchronous programming by putting the complications into libraries. With coroutines, developers can express the logic of the program sequentially and the library will take care of the asynchrony. What’s more interesting is that with Kotlin coroutines developers can call asynchronous mechanisms from different programming languages into their own program as libraries. For example  async/await from C# and ECMAScript, channels and select from Go, and generators/yield from C# and Python. The Kotlin team has significantly improved the features surrounding coroutines since they were first introduced, some notable features include support callable references to suspending functions and serializability of all coroutine-related classes. But that’s not it, the Kotlin team plan to add a multiplatform version of the coroutine API which will support iOS through Kotlin/Native. Experimental New Features The technique of introducing experimental features in a release version helps the development team to gather valuable feedback from the community and implement their suggestions in the future releases, and that is exactly what the the Kotlin team has been doing. We saw a similar implementation with Coroutines in the previous version, and now the team is introducing a plethora of new experimental features such as inline classes, unsigned integer types, and annotations for marking an experimental API and opting-in for it. In order to use these experimental features in projects, developers would have to explicitly choose an opt-in flag. Without an opt-in, usage of a feature will be marked as warnings or errors. Other small features in Kotlin 1.3 While the bigger new features have been released as experimental there are numerous small features which have been released in this new version. Capturing when subject in a variable Capturing the subject of when expression in a variable is now supported in Kotlin language. This feature was one of the most popular feature request in Kotlin team’s issue tracker. This addition makes the response variable properly scoped within when expression, and makes the logic flow in a more expression-like fashion. @JvmStatic and @JvmField in companions of interfaces Kotlin interfaces can now expose static members (fields and methods) to Java clients. However, to use @JvmField on interface companion properties, all of them must be public final vals and all of them must be annotated. Also, the -jvm-target compiler option must be at least 1.8. Nested declarations in annotation classes Before 1.3, annotation classes could not have bodies in Kotlin. This release relaxes this limitation, allowing them to have nested classes, interfaces, and objects including a companion object. These are just a select set of features that make up for the entire release announcement of Kotlin 1.3. If you are interested in checking out the entire feature-set including the new APIs that are available in the standard library and the breaking changes, you can refer to JetBrain’s official blog. Kotlin/Native 0.8 recently released with safer concurrent programming 4 operator overloading techniques in Kotlin you need to know Building RESTful web services with Kotlin
Read more
  • 0
  • 0
  • 9929

article-image-facebook-open-sources-sparta-to-simplify-abstract-interpretation
Natasha Mathur
21 Feb 2019
2 min read
Save for later

Facebook open sources SPARTA to simplify abstract interpretation

Natasha Mathur
21 Feb 2019
2 min read
Facebook announced yesterday that it’s making SPARTA, a  C++ library of software components that help build high-performance static analyzers, available as open-source yesterday. “This library is part of a broad, long-term vision to expand the use of abstract interpretation in our tools at Facebook. We are open-sourcing SPARTA to provide an industrial-scale abstract interpretation infrastructure for the broader static analysis community to use”, states the Facebook team. SPARTA is aimed at simplifying the engineering of Abstract Interpretation as its set of software components consist of a simple API. Since building an industrial-grade static analysis tool based on Abstract Interpretation from the very start is difficult, SPARTA is very beneficial.It’s also highly performant and can be assembled easily to build a production-quality static analyzer. Abstract Interpretation refers to a theory of semantic approximation that provides a foundational framework for the design of static program analyzers. SPARTA works by providing important data structures that are used in virtually every static analyzer. SPARTA encapsulates the complex implementation details of abstract interpretation and hence frees the developer to focus on the main fundamental axes in the design of an analysis. Other than that, all the static analyzers that are used in the ReDex code optimizer for Android are based on SPARTA’s library. These run on industrial-scale Android apps from Facebook and other large companies that have adopted ReDex.SPARTA makes it possible for these analyses to be expressed concisely and also guarantees high-level performance. Apart from the performance related benefits, SPARTA also makes it easier to write correct analyses. The algorithms and data structures implemented in SPARTA are also highly generic. It is language-independent; despite its use in ReDex, and contains no Android-specific logic. Also, its algorithms are capable of generalizing across different scopes of static analyses. “In the future, we could consider adding support for other features, including numerical abstractions or points-to analysis”, states the Facebook team. For more information, check out the official SPARTA blog post. Uber releases Ludwig, an open source AI toolkit that simplifies training deep learning models for non-experts Facebook open sources the ELF OpenGo project and retrains the model using reinforcement learning Google open sources ClusterFuzz, a scalable fuzzing tool
Read more
  • 0
  • 0
  • 9780
article-image-gnu-guile-2-9-1-beta-released-jit-native-code-generation-to-speed-up-all-guile-programs
Prasad Ramesh
15 Oct 2018
2 min read
Save for later

GNU Guile 2.9.1 beta released JIT native code generation to speed up all Guile programs

Prasad Ramesh
15 Oct 2018
2 min read
GNU released Guile 2.9.1 beta of the extension language for the GNU project. It is the first pre-release leading up to the 3.0 release series. In comparison to the current stable series, 2.2.x, Guile 2.9.1 brings support for just-in-time native code generation to speed up all Guile programs. Just-in-time code generation in Guile 2.9 Relative to Guile 2.2, Guile programs now run up to 4 times faster. This is due to just-in-time (JIT) native code generation. JIT compilation is enabled automatically in this release. To disable it, configure Guile with either `--enable-jit=no' or `--disable-jit'. The default is `--enable-jit=auto', which enables the JIT. JIT support is limited to x86-64 platforms currently. Eventually, it will expand to all architectures supported by GNU Lightning. Users on other platforms can try passing `--enable-jit=yes' to see if JIT is available on their platform. Lower-level bytecode Relative to the virtual machine in Guile 2.2, Guile's VM instruction set is now more low-level.  This allows expressing advanced optimizations, like type check elision or integer devirtualization, and makes JIT code generation easier. This low-level change can mean that for a given function, the corresponding number of instructions in Guile 3.0 may be higher than Guile 2.2. This can lead to slowdowns when the function is interpreted. GOOPS classes are not redefinable by default All GOOPS classes were redefinable in theory if not practically. This was supported by an indirection (or dereference operator) in all "struct" instances. Even though only a subset of structs would need redefinition the indirection is removed to speed up Guile records. It also allows immutable Guile records to eventually be described by classes, and enables some optimizations in core GOOPS classes that shouldn't be redefined. In GOOPS, now there are classes that are both redefinable and not redefinable. The classes created with GOOPS by default are not redefinable. In order to make a class redefinable, it should be an instance of `<redefinable-class>'. Also, scm_t_uint8, etc are deprecated in favor of C99 stdint.h. This release does not offer any API or ABI stability guarantees. Stick to the stable 2.2 release if you want a stable working version. You can read more in the release notes on the GNU website. GNU nano 3.0 released with faster file reads, new shortcuts and usability improvements GIMP gets $100K of the $400K donation made to GNOME Fedora 29 beta brings Modularity, GNOME 3.30 support and other changes
Read more
  • 0
  • 0
  • 9743

article-image-grapheneos-now-comes-with-new-device-support-for-auditor-app-hardened-malloc-and-a-new-website
Amrata Joshi
11 Jun 2019
4 min read
Save for later

GrapheneOS now comes with new device support for Auditor app, Hardened malloc and a new website

Amrata Joshi
11 Jun 2019
4 min read
GrapheneOS, an open source privacy and security focused mobile OS comes with Android app compatibility. The GrapheneOS releases are supported by the Auditor app as well as attestation service for hardware-based attestation. The GrapheneOS research and engineering project has been in progress for over 5 years. In March, the AndroidHardening project got renamed to GrapheneOS. Two days ago, GrapheneOS released a new website grapheneos.org with additional documentation, tutorials and coverage of topics related to software, firmware and hardware as well as privacy/security features expected in the future. The team has also released a new version PQ3A.190605.003.2019.06.03.18 with device support, Auditor app and Hardened malloc among other fixes. Changes in GrapheneOS project Auditor: update to version 12 The Auditor app has an added support for verifying CalyxOS on the Pixel 2, Pixel 2 XL, Pixel 3 and Pixel 3 XL and even verified boot hash display has been added. Auditor uses hardware security features on supported devices for validating the integrity of the operating system from another Android device. The Auditor app will now also verify that the device is running the stock operating system with the bootloader locked and further will check that no tampering has occurred with the operating system. The list of supported devices for the auditor app include BlackBerry Key2, BQ Aquaris X2 Pro, Google Pixel, 2, Google Pixel 2 XL, Google Pixel 3, Google Pixel 3 XL, Google Pixel 3a, Google Pixel 3a XL, Huawei Honor 7A Pro, Huawei Honor 10, and more. Full list here. https://twitter.com/GrapheneOS/status/1125928692671057920 Hardened malloc Hardened malloc is a security-focused general purpose memory allocator that provides the malloc API along with various extensions. This security-focused design leads to lesser metadata overhead and memory waste from fragmentation than a traditional allocator design. https://twitter.com/GrapheneOS/status/1113556017768325120 It also offers substantial hardening against heap corruption vulnerabilities and aims to provide a decent overall performance focused on long-term performance and memory usage. Hardened malloc currently supports Bionic (Android), musl and glibc and it may also support other non-Linux operating systems in the future. There's custom integration along with other hardening features for which has also been planned for musl in the future. The hardened_malloc for GrapheneOS only is further expanded to workaround for Pixel 3 and Pixel 3 XL camera issues. GrapheneOS now needs to move towards a microkernel-based model with a Linux compatibility layer and it needs to adopt virtualization-based isolation. According to the team, the project will have to move into the hardware space in the long term. Restoration of past features Restoration of past features since the 2019.05.18.20 release include: Exec spawning while using debugging options has been disabled. Exec spawning has been enabled by default. Verizon visual voicemail support has been enabled. Toggle for disabling newly added USB devices has been added to Pixel, Pixel XL, Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL Properties for controlling deny_new_usb has been added Implementation of dynamic deny_new_usb toggle mode deny_new_usb feature is set to dynamic by default Many are happy with this latest update. A user commented on HackerNews, “They're making good progress and I can't wait to be able to update my handheld device with mainline pieces for as long as anyone who still uses one cares to update it. Currently my Samsung Android device is at Dec 2018 patchlevel and nothing I can do about it.” Few others are skeptical about this news, another user commented, “There is security, and then there is freedom. You can have the most secure system in the world -- but if there are state sponsored, or company back doors it means nothing.” To know more about this news, check out the official website. AndroidHardening Project renamed to GrapheneOS to reflect progress and expansion of the project GitHub introduces ‘Template repository’ for easy boilerplate code management and distribution Microsoft quietly deleted 10 million faces from MS Celeb, the world’s largest facial recognition database      
Read more
  • 0
  • 0
  • 9508

article-image-gnu-nano-3-0-released-with-faster-file-reads-new-shortcuts-and-usability-improvements
Prasad Ramesh
10 Sep 2018
2 min read
Save for later

GNU nano 3.0 released with faster file reads, new shortcuts and usability improvements

Prasad Ramesh
10 Sep 2018
2 min read
GNU nano 3.0 was released this Sunday. Linux Terminal nano is a popular text based editor. While veteran users may prefer vim, nano is simpler to use and beginner friendly. It is also easier to save and exit from a file on nano, unlike Vim. Termed as "Water Flowing Underground", nano 3.0 sees improvements in speed, usability, and improvements. The major improvements include: Faster file reading by upto 70 percent Roughly twice the speed for ASCII text handling New shortcuts; Ctrl+Delete deletes the previous word and Ctrl+Shift+Delete deletes the previous word Various key bindings like M-Q to find previous, tabs to spaces toggle is placed on M-O, the toggle for more space is removed completely On opening multiple files, the correct number of lines are shown on the status bar The formatter command and searchagain function is removed, M-W is now bound to findnext by default The No-Convert toggle is now under the Insert menu The Backup and New-Buffer toggles are removed from the main menu, but remain on the Write-Out and Insert menus Higher precision in accepting a rebindable key name Any Esc key pressed before a valid command keystroke is ignored More escape sequences are recognized rcfile error messages on a Linux console are not hidden now The ‘copytext’ function is now ‘copy’ and ‘uncut’ is now ‘paste’ There are also improvements made to avoid a hang while performing a full-justify on text Nano is the default text editor on many popular Linux distributions and is preinstalled. For nano 3.0 your Linux distribution will update it. It will take some time before you’ll see this in your system updates. These are the major changes in GNU nano 3.0. For a full list and a changelog and bug fixes, visit the GNU website. GIMP gets $100K of the $400K donation made to GNOME GNOME 3.30 released with improved Desktop performance, Screen Sharing, and more Is Linux hard to learn?
Read more
  • 0
  • 0
  • 9502
article-image-apache-maven-javadoc-plugin-version-3-1-0-released
Sugandha Lahoti
08 Mar 2019
2 min read
Save for later

Apache Maven Javadoc Plugin version 3.1.0 released

Sugandha Lahoti
08 Mar 2019
2 min read
On Monday, the Apache Maven team announced the release of the Apache Maven Javadoc Plugin, version 3.1.0. The Javadoc Plugin uses the Javadoc tool to generate javadocs for a specified project. It gets the parameter values that will be used from the plugin configuration specified in the pom. The plugin can also be used to package the generated javadocs into a jar file for distribution. What’s new in Maven Javadoc Plugin version 3.1.0? New features include the support for aggregated reports at each level in the multi-module hierarchy. The dependency has also been upgraded to parent pom 32. Changes made to the repository The aggregate goal doesn't respect managed dependencies detectLinks may pass invalid URLs to javadoc(1) Invalid 'expires' attribute <link> entries that do not redirect are ignored and those that point to a resource that requires an Accept header may be ignored Other improvements: The plugin adds an 'aggregated-no-fork' goal The Command line dump reveals proxy user/password in case of errors The plugin ignores module-info.java on earlier Java versions Additionalparam documentation has been cleaned up Element-list links from java10 dependencies are now supported Reports are now allowed to be generated in Spanish locale The default value for removeUnknownThrows is changed to true Proxy configuration now properly works for both HTTP and HTTPS Patterns are used for defaultJavadocApiLinks Typos are fixed in User Guide. Groups parameter is not compatible with Surefire Other fixes: duplicates lines are fixed in the javadoc JavadocOptionsXpp3Reader doesn't deserialize the placement element <additionalOption> input isn't escaped for double backslashes links option is ignored in offline mode, even for local links in argument file in tag Maven Javadoc Plugin can't get dependency from third-party maven repository These are just a select few updates. For more details, head over to the mailing list archives. Apache NetBeans IDE 10.0 released with support for JDK 11, JUnit 5 and more! Twitter adopts Apache Kafka as their Pub/Sub System Apache Spark 2.4.0 released
Read more
  • 0
  • 0
  • 9418

article-image-exploring-the%e2%80%afnew%e2%80%af-net-multi-platform-app-ui%e2%80%afmaui%e2%80%afwith-the-experts
Expert Network
25 May 2021
8 min read
Save for later

Exploring the new .NET Multi-Platform App UI (MAUI) with the Experts

Expert Network
25 May 2021
8 min read
During the 2020 edition of Build, Microsoft revealed its plan for a multi-platform framework called .NET MAUI. This latest framework appears to be an upgraded and transformed version of  Xamarin.Forms, enabling developers to build robust device applications and provide native features for Windows, Android, macOS, and iOS.   Microsoft has recently devoted efforts to unifying the .NET platform, in which MAUI plays a vital role. The framework helps developers access the native API (Application Programming Interface) for all modern operating systems by offering a single codebase with built-in resources. It paves the way for the development of multi-platform applications under the banner of one exclusive project structure with the flexibility of incorporating different source code files or resources for different platforms when needed.   .NET MAUI would bring the project structure to a sole source with single-click deployment for as many platforms as needed. Some of the prominent features in .NET MAUI will be XAML and Model-View-View-Model (MVVM). It will enable the developers to implement the Model-View-Update (MVU) pattern.  Microsoft also intends to offer ‘Try-N-Convert’ support and migration guides to help developers carry a seamless transition of existing apps to .NET MAUI. The performance continues to remain as the focal point in MAUI and the faster algorithms, advanced compilers, and advanced SDK Style project tooling experience.  Let us hear what our experts have to say about MAUI, a framework that holds the potential to streamline cross-platform app development. Which technology - native or cross-platform app development, is better and more prevalent? Gabriel: I always suggest that the best platform is the one that fits best with your team. I mean, if you have a C# team, for sure .NET development (Xamarin, MAUI, and so on) will be better. On the other hand, if you have a JavaScript / Typescript team, we do have several other options for native/cross-platform development.   Francesco: In general, saying “better” is quite difficult. The right choice always depends on the constraints one has, but I think that for most applications “cross-platform” is the only acceptable choice. Mobile and desktop applications have noticeably short lifecycles and most of them have lower budgets than server enterprise applications. Often, they are just one of the several ways to interact with an enterprise application, or with complex websites.  Therefore, both budget and time constraints make developing and maintaining several native applications unrealistic. However, no matter how smart and optimized cross-platform frameworks are, native applications always have better performance and take full advantage of the specific features of each device. So, for sure, there are critical applications that can be implemented just like natives.  Valerio: Both approaches have pros and cons: native mobile apps usually have higher performances and seamless user experience, thus being ideal for end-users and/or product owners with lofty expectations in terms of UI/UX. However, building them nowadays can be costly and time-consuming because you need to have a strong dev team (or multiple teams) that can handle both iOS, Android and Windows/Linux Desktop PCs. Furthermore, there is a possibility of having different codebases which can be quite cumbersome to maintain, upgrade and keep in synchronization. Cross-platform development can mitigate these downsides. However, everything that you will save in terms of development cost, time and maintainability will often be paid in terms of performance, limited functionalities and limited UI/UX; not to mention the steep learning curve that multi-platform development frameworks tend to have due to their elevated level of abstraction.   What are the prime differences between MAUI and the Uno Platform, if any?   Gabriel: I would also say that, considering MAUI has Xamarin.Forms, it will easily enable compatibility with different Operating Systems.  Francesco: Uno's default option is to style an application the same on all platforms, but gives an opportunity to make the application look and feel like a native app; whereas MAUI takes more advantage of native features. In a few words, MAUI applications look more like native applications. Uno also targets WASM in browsers, while MAUI does not target it, but somehow proposes Blazor. Maybe Blazor will still be another choice to unify mobile, desktop, and Web development, but not in the 6.0 .NET release.  Valerio: Both MAUI and Uno Platform try to achieve a similar goal, but they are based upon two different architectural approaches: MAUI, like Xamarin.Forms, will have their own abstraction layer above the native APIs, while Uno builds UWP interfaces upon them. Again, both approaches do have their pros and cons: abstraction layers can be costly in terms of performance (especially on mobile devices, since it will need to take care of the most layout-related tasks) but this will be useful to keep a small and versatile codebase.  Would MAUI be able to fulfill cross-platform app development requirements right from its launch, or will it take a few developments post-release for it to entirely meet its purpose?   Gabriel: The mechanism presented in this kind of technology will let us guarantee cross-platform even in cases where there are differences. So, my answer would be yes.  Francesco: Looking behind the story of all Microsoft platforms, I would say it is very unlikely that MAUI will fulfill all cross-platform app development requirements right from the time it is launched. It might be 80-90 percept effective and cater to the development needs. For MAUI to become a full-fledged platform equipped with all the tools for a cross-platform app, it might take another year.   Valerio: I hope so! Realistically speaking, I think this will be a tough task: I would not expect good cross-platform app compatibility right from the start, especially in terms of UI/UX. Such ambitious developments improvise and are gradually made perfect with accurate and relevant feedback that comes from the real users and the community.  How much time will it take for Microsoft to release MAUI?   Gabriel: Microsoft is continuously delivering versions of their software environments. The question is a little bit more complex because as a software developer you cannot only think about when Microsoft will release MAUI. You need to consider when it will be stable and with an LTS Version available. I believe this will take a little bit longer than the roadmap presented by Microsoft.  Francesco: According to the planned timeline, MAUI should be launched in conjunction with the November 2021 .NET 6 release. This timeline should be respected, but in the worst-case scenario, the release will be played and arrive a few months later. This is similar to what had happened with Blazor and the 3.1 .NET release.  Valerio: The MAUI official timeline sounds rather optimistic, but Microsoft seems to be investing a lot in that project and they have already managed to successfully deliver big releases without excessive delays (think of .NET 5): I think they will try their best to launch MAUI together with the first .NET 6 final release since it would be ideal in terms of marketing and could help to bring some additional early adopters.  Summary  The launch of Multi-Platform App UI (MAUI) will undoubtedly revolutionize the way developers build device applications. Developers can look forward to smooth and faster deployment and whether MAUI will offer platform-specific projects or it would be a shared code system, will eventually be revealed. It is too soon to estimate the extent of MAUI’s impact, but it will surely be worth the wait and now with MAUI moving into the dotnet Github, there is excitement to see how MAUI unfolds across the development platforms and how the communities receive and align with it. With every upcoming preview of .NET 6 we can expect numerous additions to the capabilities of .NET MAUI. For now, the developers are looking forward to the “dotnet new” experience.   About the authors  Gabriel Baptista is a software architect who leads technical teams across a diverse range of projects for retail and industry, using a significant array of Microsoft products. He is a specialist in Azure Platform-as-a-Service (PaaS) and a computing professor who has published many papers and teaches various subjects related to software engineering, development, and architecture. He is also a speaker on Channel 9, one of the most prestigious and active community websites for the .NET stack.  Francesco Abbruzzese has built the tool - MVC Controls Toolkit. He has also contributed to the diffusion and evangelization of the Microsoft web stack since the first version of ASP.NET MVC through tutorials, articles, and tools. He writes about .NET and client-side technologies on his blog, Dot Net Programming, and in various online magazines. His company, Mvcct Team, implements and offers web applications, AI software, SAS products, tools, and services for web technologies associated with the Microsoft stack.  Gabriel and Francesco are authors of the book Software Architecture with C# 9 and .NET 5, 2nd Edition. Valerio De Sanctis is a skilled IT professional with 20 years of experience in lead programming, web-based development, and project management using ASP.NET, PHP, Java, and JavaScript-based frameworks. He held senior positions at a range of financial and insurance companies, most recently serving as Chief Technology and Security Officer at a leading IT service provider for top-tier insurance groups. He is an active member of the Stack Exchange Network, providing advice and tips on the Stack Overflow, ServerFault, and SuperUser communities; he is also a Microsoft Most Valuable Professional (MVP) for Developer Technologies. He is the founder and owner of Ryadel. Valerio De Sanctis is the author of ASP.NET Core 5 and Angular, 4th Edition
Read more
  • 0
  • 0
  • 9413
Modal Close icon
Modal Close icon