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
All 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 - Programming

573 Articles
article-image-scratch-3-0-released
Prasad Ramesh
03 Jan 2019
2 min read
Save for later

Scratch 3.0 released

Prasad Ramesh
03 Jan 2019
2 min read
Scratch 3.0 was released yesterday. Scratch is an environment aimed to teach basic programming logic to kids with blocks and cartoon-ish characters and scenes. Yesterday, Scratch 3.0 officially became a part of the Scratch online community. Scratch 3.0 new features There are various new sprites, backgrounds, and sounds for users to play with. A new extension library lets users add new sets of blocks that connect to hardware and software components to do more tasks with Scratch A new sound editor New programming blocks Support for tablets, hence the blocks in Scratch 3.0 are bigger Users can add collections of extra blocks the developers call ‘extensions’ Among existing blocks new ones are added for sound effects, operators to make string operations easier, new pen blocks and a new glide block to move a sprite. The paint editor has a new layout that increases the visibility of tools and options, an eraser tool, more color options, better control over vector points, more controls for ordering layers, and new gradient controls. With the sound editor in Scratch 3.0, you can now record sounds, trim audio with more ease, and explore new sound effects. General reactions to Scratch Comments from Hacker news are positive for Scratch: “Scratch is pretty great, and at least 3 of my kids constantly ask if they can play Scratch.” “Scratch (and similar programming environments) is a very successful way to introduce children to programming and I hope that it continues to do so.” Any of your old projects can be found at https://scratch.mit.edu/mystuff/. You can check out Scratch at the MIT website. Ruby 2.6.0 released with a new JIT compiler Python governance vote results are here: The steering council model is the winner NumPy drops Python 2 support. Now you need Python 3.5 or later.
Read more
  • 0
  • 0
  • 2018

article-image-haiku-beta-released-with-package-management-a-new-preflet-webkit-and-more
Amrata Joshi
28 Dec 2018
4 min read
Save for later

Haiku beta released with package management, a new preflet, webkit and more

Amrata Joshi
28 Dec 2018
4 min read
On Tuesday, the team at Haiku released Haiku beta, an open-source operating system that specifically targets personal computing. It is inspired by the BeOS and is fast, simple to use and easy to learn. What’s new in  Haiku? Package management This release comes with a complete package management system. Haiku’s packages are a special type of compressed filesystem image, that are mounted upon installation (and thereafter on each boot) by the packagefs, a kernel component. The /system/ hierarchy in Haiku beta is now read-only, since it is merely a combination of the presently installed packages at the system level and it ensures that the system files themselves are incorruptible. With this release, it is possible to boot into a previous package state or even blacklist individual files. Since the disk transactions for managing the packages are limited, the installations and uninstallations are instant. It is possible to manage the installed package set on a non-running Haiku system by mounting its boot disk and further manipulating the /system/packages directory and associated configuration files. It is now possible to switch your system repositories from master to r1beta1. WebPositive upgrades The system web browser is more stable than before with the YouTube now functioning properly and other under-the-hood changes . With WebKit it is possible to fix a large number of bugs in Haiku such as broken stack alignment, various kernel panics in the network stack, bad edge-case handling in app_server’s rendering core, missing support for extended transforms and gradients, broken picture-clipping support, missing POSIX functionality, etc. Haiku WebKit now also uses Haiku’s network protocol layer and supports Gopher. Completely rewritten network preflet The old network preflet has now been replaced with a completely new preflet, designed from the ground-up for ease of use and longevity. The preflet now can manage the network services on the machine, such as OpenSSH and ftpd. The preflet also uses a plugin-based API, so third-party network services (VPNs, web servers, etc) can integrate with it. User interface cleanup & live color updates A lot of miscellaneous cleanups to various parts of the user interface has been made since the last release. Mail and Tracker both have received a significant internal cleanup of their UI code. This release features Haiku-style toolbars and font-size awareness. Major improvements in Haiku Media subsystem improvements The media subsystem now features a large number of cleanups to the Media Kit to improve fault tolerance, latency correction, and performance issues. The HTTP and RTSP streaming support are now integrated into the I/O layer of the Media Kit. With this release, live streams can now be played in WebPositive via HTML5 audio/video support, or in the native MediaPlayer. FFmpeg decoder plugin improvements FFmpeg 4.0 is now used even on GCC2 builds. This release comes with added support for audio and video formats, as well as significant performance improvements. HDA driver improvements The driver for HDA (High-Definition Audio) chipsets now comes with audio chipsets in modern x86-based hardware. RemoteDesktop Haiku’s native RemoteDesktop application has been improved and added to the builds. This RemoteDesktop forwards drawing commands from the host system to the client system. RemoteDesktop doesn’t require any special server. It can easily connect and run applications on any Haiku system. SerialConnect This release comes with SerialConnect, which is a simple and straightforward graphical interface to serial ports. It supports arbitrary baud rates and certain extended features such as XMODEM file transfers. Built-in Debugger is now the default Haiku’s built-in Debugger has replaced GDB as the default debugger. It also features a command-line interface for those who prefer it. The debugger services the system-wide crash dialogs. launch_daemon The launch_daemon now includes support for service dependency tracking, lazy daemon startup, and automatic restart of daemons upon crashes. Updated filesystem drivers Haiku comes with NFSv4 client, a GSoC project, which is now included by default. Haiku’s userlandfs supports running filesystem drivers in userland, which is now shipped along with Haiku itself. It now supports running BeOS filesystem drivers which are not supported in kernel mode. To know more about this release, check out  Haiku’s release notes. The Haiku operating system has released R1/beta1 Haiku, the open source BeOS clone, to release in beta after 17 years of development KDevelop 5.3 released with new analyzer plugin and improved language support
Read more
  • 0
  • 0
  • 1826

article-image-apache-netbeans-ide-10-0-released-with-support-for-jdk-11-junit-5-and-more
Amrata Joshi
28 Dec 2018
2 min read
Save for later

Apache NetBeans IDE 10.0 released with support for JDK 11, JUnit 5 and more!

Amrata Joshi
28 Dec 2018
2 min read
Yesterday, the team at Apache NetBeans released Apache NetBeans IDE 10.0, an integrated development environment for Java. This release focuses on adding support for JDK 11, JUnit 5, PHP, JavaScript, and Groovy. What’s new in Apache NetBeans IDE 10.0? JDK 11 Support Integration with the nb-javac project is now possible. This integration adds support for JDK 11. The CORBA modules have been removed. This release comes with a support for JEP 309, Dynamic Class-File Constants. It also supports JEP 323, Local-Variable Syntax  and LVTI for Lambda parameters. PHP Support PHP 7.3 It is now possible to add trailing commas in function calls under PHP 7.3. This release comes with support for Heredoc and Nowdoc Syntaxes. PHP 7.2 This release comes with support for trailing commas in list syntax and coloring for object types for PHP 7.2. PHP 7.1 This release comes with class constant visibility, multi-catch exception handling, nullable types, support for keys in list(), coloring for new keywords (void, iterable) for PHP 7.1. JUnit 5 JUnit 5.3.1 has been added as a new Library to NetBeans, so users can easily add it to their Java projects. JUnit 5 is now the default JUnit version for Maven projects without any existing tests. This release supports JUnit 5 @Testable annotation. This version also supports a default JUnit 5 test template. OpenJDK This release automatically detects JTReg from OpenJDK configuration. Various improvements such as limiting directories that are scanned for modules have been made to the OpenJDK project. Few users have compared Apache NetBeans IDE 10.0 with Eclipse and Intellij most of them are on the opinion that this release is better than the two and it works better. Read more about this release in detail on Apache NetBeans’ official blog. Apache NetBeans 9.0 is now available with Java 9 & 10 support Apache NetBeans 9.0 RC1 released! The NetBeans Developer’s Life Cycle
Read more
  • 0
  • 0
  • 4780
Visually different images

article-image-spacevim-1-0-0-released-with-improved-error-key-bindings-better-align-feature-and-more
Amrata Joshi
26 Dec 2018
2 min read
Save for later

SpaceVim 1.0.0 released with improved error key bindings, better align feature and more

Amrata Joshi
26 Dec 2018
2 min read
Yesterday, the team at SpaceVim released the first stable version of SpaceVim v1.0.0, a distribution of the vim editor that manages collections of plugins in layers. This release comes with two major changes, : The behavior of 2-LeftMouse in vimfiler has been changed. The default font has been changed to SauceCodePro. What’s new in SpaceVim v1.0.0? This version comes with unicode spinners api. Layer option for autocomplete layer has been added. Function for customizing searching tools and Lang#scheme layer have been added. This release also comes with log for bootstrap function and updated runtime log for startup. Error key bindings and Spacevim debug info have been improved. This release comes with more key bindings for typescript. Even the align feature has been improved. Major bug fixes This release comes with Ctrlp support in windows. Layers list and vimdoc command has been fixed in windows. Statusline icon has been fixed. The issue with comment paragraphs key bindings has been resolved now. Missed syntax for detached FlyGrep has now been added. Log has been added in this release for generating configuration file. FlyGrep syntax has been improvedto support different outputs. Few users are confused between SpaceVim and Neovim. Neovim is more than a rewrite of vim. Its main functionality is to provide a server that allows other editors to edit a buffer in response to keystrokes. Whereas SpaceVim is just a configuration of vim. Users are also not sure of the performance of SapceVim and they are comparing it with Spacemacs, a configuration framework for GNU Emacs. To know more about this release in detail, visit SpaceVim release notes. Qt for Python 5.12 released with PySide2, Qt GUI and more Google Cloud releases a beta version of SparkR job types in Cloud Dataproc Eclipse 4.10.0 released with major improvements to colors, fonts preference page and more
Read more
  • 0
  • 0
  • 1932

article-image-ruby-2-6-0-released-with-a-new-jit-compiler
Prasad Ramesh
26 Dec 2018
2 min read
Save for later

Ruby 2.6.0 released with a new JIT compiler

Prasad Ramesh
26 Dec 2018
2 min read
Ruby 2.6.0 was released yesterday and brings a new JIT compiler. The new version also has the RubyVM::AbstractSyntaxTree module. The new JIT compiler in Ruby 2.6.0 Ruby 2.6.0 comes with an early implementation of a Just-In-Time (JIT) compiler. The JIT compiler was introduced in Ruby to improve the performance of programs made with Ruby. Traditional JIT compilers operate in-process but Ruby’s JIT compiler gives out C code to the disk and generates a common C compiler to create native code. To enable the JIT compiler, you just need to specify --jit either on the command line or in the $RUBYOPT environment variable. Using --jit-verbose=1 will cause the JIT compiler to print additional information. The JIT compiler will work only when Ruby is built by GCC, Clang, or Microsoft Visual C++. Any of these compilers need to be available at runtime. On Optcarrot, a CPU intensive benchmark, Ruby 2.6 has 1.7x faster performance compared to Ruby 2.5. The JIT compiler, however, is still experimental and workloads like Rails might not benefit from for now. The RubyVM::AbstractSyntaxTree module Ruby 2.6 brings the RubyVM::AbstractSyntaxTree module and the team does not guarantee any future compatibility of this module. The module has a parse method, which parses the given string as Ruby code and returns the Abstract Syntax Tree (AST) nodes in the code. The given file is opened and parsed by the parse_file method as Ruby code, this returns AST nodes. A RubyVM::AbstractSyntaxTree::Node class—another experimental feature—is also introduced in Ruby 2.6.0. Developers can get source location and children nodes from the Node objects. To know more about other new features and improvements in detail, visit the Ruby 2.6.0 release notes. 8 programming languages to learn in 2019 Clojure 1.10 released with Prepl, improved error reporting and Java compatibility NumPy drops Python 2 support. Now you need Python 3.5 or later.
Read more
  • 0
  • 0
  • 6032

article-image-italian-researchers-conduct-an-experiment-to-prove-that-quantum-communication-is-possible-on-a-global-scale
Prasad Ramesh
26 Dec 2018
3 min read
Save for later

Italian researchers conduct an experiment to prove that quantum communication is possible on a global scale

Prasad Ramesh
26 Dec 2018
3 min read
Researchers from Italy have published a research paper showcasing that quantum communication is feasible between high-orbiting satellites and a station on the ground. This new research proves that quantum communication is possible on a global scale by using a Global Navigation Satellite System (GNSS). The reports of the study are presented in a paper published last week titled Towards quantum communication from global navigation satellite system. In the experiment conducted, a single photon was exchanged over a distance of 20,000km between a ground station and a high-orbit satellite. The exchange was between the retroreflector array mounted on Russian GLONASS satellites and the Space Geodesy Centre on the Earth, Italian space agency. The challenge in high-orbit satellites is that the distance causes high diffraction losses in the channel. One of the co-authors, Dr. Giuseppe Vallone, University of Padova said to IOP Publishing: “Satellite-based technologies enable a wide range of civil, scientific and military applications like communications, navigation and timing, remote sensing, meteorology, reconnaissance, search and rescue, space exploration and astronomy.” He mentions that the crux of such systems is to safely transmit information from satellites in the air to the ground. It is important that these channels be protected from interference by third parties. “Space quantum communications (QC) represents a promising way to guarantee unconditional security for satellite-to-ground and inter-satellite optical links, by using quantum information protocols as quantum key distribution (QKD).” The quantum key distribution (QKD) protocols used in the experiment guarantee strong security for communication between satellites and satellites to Earth. In QKD, data is encrypted using quantum mechanics and interferences are detected quickly. Another co-author, Prof. Villoresi talks to IOP Publishing about their focus on high-orbit satellites despite the challenges: "The high orbital speed of low earth orbit (LEO) satellites is very effective for the global coverage but limits their visibility periods from a single ground station. On the contrary, using satellites at higher orbits can extend the communication time, reaching few hours in the case of GNSS.” After the experiments, the researchers estimated the requirements needed for an active source on a GNSS satellite. They aim towards QC from GNSS with state-of-the-art technology. This does not really mean faster internet/communication as only a single photon was transmitted in the experiment. This means that transferring large amounts of data quickly, i.e., faster internet is not likely gonna happen with this application. However, it does show that data transmission can be done over a large distance with a secure channel. For more details, you can check out the research paper on the IOPSCIENCE website. The US to invest over $1B in quantum computing, President Trump signs a law UK researchers build the world’s first quantum compass to overthrow GPS Quantum computing – Trick or treat?
Read more
  • 0
  • 0
  • 3165
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 €14.99/month. Cancel anytime
article-image-qt-for-python-5-12-released-with-pyside2-qt-gui-and-more
Amrata Joshi
24 Dec 2018
4 min read
Save for later

Qt for Python 5.12 released with PySide2, Qt GUI and more

Amrata Joshi
24 Dec 2018
4 min read
Last week, Qt introduced Qt for Python 5.12, an official set of Python bindings for Qt, used for simplifying the creation of innovative and immersive user interfaces for Python applications. With Qt for Python 5.12, it is possible to quickly visualize the massive amounts of data tied to their Python development projects. https://twitter.com/qtproject/status/1076003585979232256 Qt for Python 5.12 comes with a cross-platform environment for all development needs. Qt’s user interface development framework features APIs and expansive graphics libraries. Qt for Python 5.12 provides the developers with a user-friendly platform. It is fully supported by the Qt Professional Services team of development experts and practitioners, as well as Qt’s global community. Lars Knoll, CTO of Qt, said, “Considering the huge data sets that Python developers work with on a daily basis, Qt’s graphical capabilities makes it a perfect fit for the creation of immersive Python user interfaces. With Qt for Python 5.12, our customers can build those user interfaces faster and more easily than ever before – with the knowledge that they are backed by a global team of Qt and user interface experts.” Features of Qt for Python 5.12 PySide2 Qt comes with a C++ framework, combined with the PySide2 Python module that offers a comprehensive set of bindings between Python and Qt Qt GUI Creation Qt Graphical User Interface (GUI) creation consists of the following functional modules: Qt Widgets: The Qt Widgets Module comes with a set of user interface elements for creating classic desktop-style user interfaces. Qt Quick: The Qt Quick module, a standard library for writing QML applications, contains Quick Controls for creating fluid user interfaces. Qt QML: The Qt QML module features a framework for developing applications and libraries with the QML language, a declarative language that allows user interfaces to be described in terms of their visual components. Environment familiarity: Qt for Python 5.12 comes with a familiar development environment for Python developers. PyPI: Python Package Index (PyPI) makes the installation process of Qt for Python 5.12 easy. VFX Reference Platform integration: Qt and Qt for Python 5.12 are integral parts of the VFX Reference Platform, a set of tool and library versions used for building software for the VFX industry. Qt 3D Animation: The Qt 3D animation module features a set of prebuilt elements to help developers get started with Qt 3D. Qt Sql: It provides a driver layer, SQL API layer, and a user interface layer for SQL databases. Qt for Python 5.12 is available under commercial licensing, as part of the products Qt for Application Development and Qt for Device Creation, and as open-source under the LGPLv3 license. Qt TextToSpeech: It provides an API for accessing text-to-speech engines. Easy and quick development Development with Qt for Python 5.12 is fun, fast and flexible. Developers can easily work on their applications using Qt for Python 5.12. Developers can power their UI development by utilizing ready-made widgets, controls, beautiful charts, and data visualizations and create stunning 2D/3D graphics for Python projects. Qt Community Developers can exchange ideas, learn, share, and connect with the Qt community. Global Qt Services Global Qt services provide tailored support at every stage of the product development lifecycle. What’s next in Qt for Python The team at Qt might simplify the deployment of PySide2 applications. They might also provide a smoother interaction with other Python modules and support other platforms like embedded and mobile. Users are excited about this project and are eagerly waiting for the stable release. Qt for Python will be helpful for developers as it makes the process of developing desktop apps easier. But few users still are with PyQt5 as the stable release for Qt for python hasn’t been rolled out yet. The switch from PyQt to PySide might be difficult for many. To know more about Qt for Python 5.12, check out Qt’s official website. Getting started with Qt Widgets in Android Qt Design Studio 1.0 released with Qt photoshop bridge, timeline based animations and Qt live preview Qt team releases Qt Creator 4.8.0 and Qt 5.12 LTS
Read more
  • 0
  • 0
  • 6412

article-image-introducing-netcap-a-framework-for-secure-and-scalable-network-traffic-analysis
Amrata Joshi
24 Dec 2018
5 min read
Save for later

Introducing Netcap, a framework for secure and scalable network traffic analysis

Amrata Joshi
24 Dec 2018
5 min read
Last week, a new traffic analysis framework, Netcap (NETwork CAPture) was released. It converts a stream of network packets into accessible type-safe structured data for representing specific protocols or custom abstractions. https://twitter.com/dreadcode/status/1076267396577533952 This project was implemented in Go programming language that provides a garbage collected memory safe runtime as parsing of untrusted input could be dangerous. It was developed for a series of experiments like filtering, dataset labeling, encoding, error logging, etc in the thesis: Implementation and evaluation of secure and scalable anomaly-based network intrusion detection. The Netcap project won the second place at Kaspersky Labs SecurIT Cup 2018 in Budapest. Why was Netcap introduced? Corporate communication networks are attacked frequently with previously unseen malware or insider threats, which makes defense mechanisms such as anomaly-based intrusion detection systems necessary for detecting security incidents. The signature-based and anomaly detection strategies rely on features extracted from the network traffic that requires secure and extensible collection strategies. The solutions that are available are written in low-level system programming languages that require manual memory management and suffer from vulnerabilities that allow a remote attacker to disable the network monitor. Others lack in terms of flexibility and data availability. To tackle these problems and ease future experiments with anomaly-based detection techniques, Netcap was released. Netcap uses Google's protocol buffers for encoding its output which helps in accessing it across a wide range of programming languages. The output can also be emitted as comma separated values, which is a common input format for data analysis tools and systems. Netcap is extensible and it provides multiple ways of adding support for new protocols and also implements the parsing logic in a memory safe way. It provides high dimensional data of observed traffic and allows the researcher to focus on new approaches for detecting malicious behavior in network environments, instead of opting data collection mechanisms and post-processing steps. It features a concurrent design that makes use of multi-core architectures. This command-line tool focuses on usability and readability and displays progress when processing packets. Why Go? Go, commonly referred to as Golang, is a statically typed programming language which was released by Google in 2009. Netcap opted Go as its syntax is similar to the C programming language and also has a lot of adopted ideas from other languages, such as Python and Erlang. It is commonly used for network programming and backend implementation. With Go Netcap can compile faster and generate statically linked binaries, easily. Goroutine, an asynchronous process is multiplexed onto threads of the OS as required. In case a goroutine blocks, the corresponding OS thread blocks as well, but the other goroutines aren’t affected. So, this proves to be helpful in Netcap as it doesn’t disturb the functioning. Also, Goroutines are less expensive as compared to a thread and allocate resources dynamically as needed. Since, Go offers channels as a lightweight way to communicate between goroutines, the synchronization and messaging process gets easier in Netcap. Design Goals of Netcap Netcap provides memory safety when parsing untrusted input. It features ease of extension. The output format is interoperable with many different programming languages. It features concurrent design. It comes with output with small storage footprint on disk. It provides with maximum data availability. It allows implementation of custom abstractions It comes with a rich platform and architecture support Future Scope Future development on Netcap will focus on increasing the unit test coverage and performance critical operations. The output of Netcap will be compared to other tools, to ensure no data is missed or misinterpreted. Netcap will be extended in future with functionalities like support for extracted features. This framework might be used for experiments on datasets for accurate predictions on network data. Encoding feature vectors could also be implemented as part of the Netcap framework. An interface for adding additional application layer encoders can be added in future. Netcap will be evaluated for monitoring industrial control systems communication. The recently open sourced fingerprinting strategy for SSH handshakes (HASSH) by salesforce could prove beneficial in future. Check the slides of this project from the presentation by Philipp Mieden (the creator of Netcap) at the Leibniz Supercomputing Centre of the Bavarian Academy of Sciences and Humanities on Researchgate. Many users are appreciating the efforts taken for this project and eagerly awaiting for the features that might be released in the future. But a few Hacker News users think that the functionality provided by this application is still unclear. The thesis misses a lot of points with the major one being as to how this tool is actually warranted as a whole. The question is as to how will the anomalies of this project get detected? A lot of questions are still unanswered but it would be interesting to see what Philipp comes up with next. https://twitter.com/mythicalcmd/status/1076459582963310593 Stanford researchers introduce DeepSolar, a deep learning framework that mapped every solar panel in the US Netflix adopts Spring Boot as its core Java framework Facebook open-sources PyText, a PyTorch based NLP modeling framework
Read more
  • 0
  • 0
  • 2796

article-image-the-us-to-invest-over-1b-in-quantum-computing-president-trump-signs-a-law
Prasad Ramesh
24 Dec 2018
3 min read
Save for later

The US to invest over $1B in quantum computing, President Trump signs a law

Prasad Ramesh
24 Dec 2018
3 min read
US President Donald Trump signed a bill called the National Quantum Initiative Act. This is a nation-wide quantum computing plan will establish goals for the next decade to accelerate the development of quantum technology. What is the National Quantum Initiative Act about? The bill for quantum technologies was originally introduced in June this year. This bill is a commitment that various departments such as the NIST, NSF, and Secretary of Energy together will provide $1.25B in funding from 2019 to 2023 to promote activities in the quantum information science. The new act and the funding that comes with it will boost quantum research in the US. As stated in the Act: “The bill defines ‘quantum information science’ as the storage, transmission, manipulation, or measurement of information that is encoded in systems that can only be described by the laws of quantum physics.” The president signed the bill as a law last week on Friday. What will the National Quantum Initiative Act allow? This bill aims to further USA’s position in the area of quantum information science and its technology applications. The bill will support research and development of quantum technologies that can lead to practical applications. It seeks to: Expand the workforce on quantum computing Promote research opportunities across various academic levels Address any knowledge gaps dd more facilities and centers for testing and education in this field Promote rapid development of quantum-based technologies The bill also seeks to: Improve the collaboration between the Federal Government of USA, its laboratories and industries, universities Promote the development of international standards for quantum information science Facilitate technology innovation and private sector commercialization Meet economic and security goals of USA The US President will work with Federal agencies, working groups, councils, subcommittees, etc., to set goals for the National Quantum Initiative Act. What’s the fuss with quantum computing? As we mentioned is a previous post: “Quantum computing uses quantum mechanics in quantum computers to solve a diverse set of complex problems. It uses qubits to store information in parallel dimensions. Quantum computers can work through a solution involving large parameters with far fewer operations than a standard computer.” This does not mean that a quantum computer is necessarily faster than a classical computer, a quantum computer is just better at solving complex problems that a regular one will take way too long if at all it can solve such problems. Quantum computers have great potential to solve future problems, and is hence drawing attention from tech companies and governments. Like D-Wave launching a Quantum cloud service, UK researchers working on quantum entanglements, and Rigetti working on a 128 qubit chip. What are the people saying? As is the general observation around the motivation for quantum computing, this comment from Reddit puts it nicely: “Make no mistake, this is not only about advancing computing power, but this is also about maintaining cryptographic dominance. Quantum computers will be able to break a lot of today's encryption.” Another comment expresses: “Makes sense, Trump has a tendency to be in 2 different states simultaneously.” You can read the bill in its entirety on the Congress Government website. Quantum computing – Trick or treat? Rigetti Computing launches the first Quantum Cloud Services to bring quantum computing to businesses Did quantum computing just take a quantum leap? A two-qubit chip by UK researchers makes controlled quantum entanglements possible
Read more
  • 0
  • 0
  • 4968

article-image-eclipse-4-10-0-released-with-major-improvements-to-colors-fonts-preference-page-and-more
Amrata Joshi
20 Dec 2018
3 min read
Save for later

Eclipse 4.10.0 released with major improvements to colors, fonts preference page and more

Amrata Joshi
20 Dec 2018
3 min read
Yesterday, the team at Eclipse release Eclipse 4.10.0, SDK project. Eclipse 4.10.0 is a part of Eclipse IDE 2018-12. This release features improved views, options, dialogs,Java editor and more. https://twitter.com/EclipseJavaIDE/status/1075422538484846597 Improvements to Eclipse 4.10.0 Views and dialogs The Quick Switch Editor (Ctrl+E) dialog for editor selection has been improved and now shows the path of the resource along with its filename. In Eclipse 4.10.0, the Workspace selection dialog shows completion proposals for making the process of picking a workspace with the keyboard easier. It is now possible to convert a plug-in project to a modular project by selecting the Configure > Create module-info.java context menu. This creates the module-info.java file for the project. Colors, Fonts preference page The Colors and Font preference page has been updated and it now supports searching for font, font height, and font style. The search has been updated allowing the users to quickly see where a font is used or where a specific style or size is used. This release comes with a new option that disables API analysis builder on the Plug-in Development preference page. Chevron button for hidden tabs The chevron button now shows the number of tabs that are hidden. It doesn't have transparency artifacts anymore, which makes it more readable especially in the dark theme. Added support for custom URL schemes in Eclipse 4.10.0 This release can handle custom URL schemes such as https, ssh, and git. When a user clicks on a link with a specific custom URL scheme, Eclipse first starts and then handles the clicked link. Users can now control the URL schemes that should be handled by the current Eclipse installation via General > Link Handlers preference page. ContentAssistant class The ContentAssistant class now allows consumers to configure whether the completion proposal trigger characters are honored or ignored. If ContentAssistant.enableCompletionProposalTriggerChars(false) is used, then completion proposal trigger characters are ignored and the users have to press the Enter key to trigger insertion. If ContentAssistant.enableCompletionProposalTriggerChars(true) is used, then completion proposal trigger characters can be used alongwith the Enter key to insert the proposal. If the enableCompletionProposalTriggerChars(boolean) method is not called, then the default behaviour is equivalent to calling enableCompletionProposalTriggerChars(true) so that extra trigger characters are honored. Java Editor Eclipse 4.10.0 comes with a quick fix Change project compliance and JRE to 11. This release comes with a quick assist, that allows adding var type to lambda parameters. This quick assist will only be available if the project compliance is Java 11 or above. An option to set compiler compliance to 11 on a Java project is now available. With this release, Java editor now shows the number of implementations and references for a Java element as decorative text (Code Minings) above the element. Read more about this news on Eclipse’ blog. Eclipse IDE’s Photon release will support Rust Will Ethereum eclipse Bitcoin? Apache Maven and m2eclipse
Read more
  • 0
  • 0
  • 3022
article-image-netflix-adopts-spring-boot-as-its-core-java-framework
Amrata Joshi
19 Dec 2018
2 min read
Save for later

Netflix adopts Spring Boot as its core Java framework

Amrata Joshi
19 Dec 2018
2 min read
This year, Netflix decided to make Spring Boot as their core Java framework, while leveraging the community’s contributions via Spring Cloud Netflix. The team at Netflix started working towards fully operating in the cloud in 2007. It also built several cloud infrastructure libraries and systems  including, Ribbon, an Inter Process Communication (IPC) library for load balancing, Eureka, an AWS service registry for service discovery, and Hystrix, latency and fault tolerance library for fault tolerance. Spring Cloud Netflix provides Netflix OSS integrations for Spring Boot apps with the help of autoconfiguration and binding to the Spring Environment.  It was updated to version 1.0. in 2015. The idea behind Spring Cloud was to bring the Netflix OSS components using Spring Boot instead of Netflix internal solutions. It has now become the preferred way for the community to adopt Netflix’s Open Source software. It features Eureka, Ribbon, and Hystrix. Why did Netflix opt for Spring Boot framework? In the early 2010s, the requirements for Netflix cloud infrastructure were efficiency, reliability, scalability, and security. Since there were no other suitable alternatives, the team at Netflix created solutions in-house. By adopting the Spring Boot framework, Netflix has managed to meet all of these requirements as it provides great experiences such as: Data access with spring-data, Complex security management with spring-security, and Integration with cloud providers with spring-cloud-aws. Spring framework also features proven and long lasting abstractions and APIs. The Spring team has also provided quality implementations from abstractions and APIs. This abstract-and-implement methodology also matches well with Netflix’ principle of being “highly aligned, loosely coupled”. “We plan to leverage the strong abstractions within Spring to further modularize and evolve the Netflix infrastructure. Where there is existing strong community direction such as the upcoming Spring Cloud Load Balancer , we intend to leverage these to replace aging Netflix software. ” - Netflix Read more about this news on Netflix Tech blog. Netflix’s culture is too transparent to be functional, reports the WSJ Tech News Today: Facebook’s SUMO challenge; Netflix AVA; inmates code; Japan’s AI, blockchain uses How Netflix migrated from a monolithic to a microservice architecture [Video]  
Read more
  • 0
  • 0
  • 15534

article-image-clojure-1-10-released-with-prepl-improved-error-reporting-and-java-compatibility
Amrata Joshi
18 Dec 2018
5 min read
Save for later

Clojure 1.10 released with Prepl, improved error reporting and Java compatibility

Amrata Joshi
18 Dec 2018
5 min read
Yesterday the team at Clojure released Clojure 1.10, a dynamic, general-purpose programming language. Clojure treats the code as data and has a Lisp macro system. What’s new in Clojure 1.10? Java compatibility and dependencies Java 8 is the minimum requirement for Clojure 1.10. Clojure 1.10 comes with ASM 6.2 and updates javadoc links. Conditional logic has been removed in this release. Added type hint to address reflection ambiguity in JDK 11. spec.alpha dependency has been updated to 0.2.176 core.specs.alpha dependency has been updated to 0.2.44 Error Printing In Clojure 1.10, errors are categorized into various phases such as: :read-source: It is an error thrown while reading characters at the REPL or from a source file. :macro-syntax-check: It is a syntax error found in the syntax of a macro call, either from the spec or from a macro which throws IllegalArgumentException, IllegalStateException, or ExceptionInfo. :macroexpansion: All the errors thrown during macro evaluation are termed as macroexpansion errors. :compile-syntax-check: It is a syntax error caught during compilation. :compilation: It is a non-syntax error which is caught during compilation. :execution: Any error thrown at the execution time is termed as execution error. :read-eval-result: An error thrown while reading the result of execution is categorized as read-eval-result error. :print-eval-result: An error thrown while printing the result of execution is termed as print-eval-result error.Protocol extension by metadata This release comes with a new option, :extend-via-metadata. When :extend-via-metadata is true, values can extend the protocols by adding metadata. The protocol implementations are first checked for direct definitions such as, defrecord, deftype, reify. Further,they are checked for metadata definitions, and then for external extensions such as, extend, extend-type, extend-protocol. Tap Clojure 1.10 comes with tap, a shared and globally accessible system used for distributing a series of informational or diagnostic values to a set of handler functions. It can be used as a better debug prn and for facilities like logging. The function tap> sends a value to the set of taps. The tap function may block (e.g. for streams) and would never impede calls to tap>. Indefinite blocking ly may cause tap values to drop. Read string capture mode This release comes with read+string function that not only mimics read but also captures the string that is read. It returns both the read value and the whitespace-trimmed read string. This function requires a LineNumberingPushbackReader. Prepl (alpha) Prepl, a new stream-based REPL, comes with structured output that is suitable for programmatic use. In prepl, forms are read from the reader and return data maps for the return value (if successful), output to *out* (possibly many), output to *err*(possibly many), or tap> values (possibly many). Other functions in Clojure 1.10 include, io-prepl, a prepl bound to *in* and *out*, which works with the Clojure socket server and remote-prepl, a prepl that can be connected to a remote prepl over a socket Datafy and nav The clojure.datafy function features data transformation for objects. The datafy and nav functions can be used to transform and navigate through object graphs. datafy is still in alpha stage. Major bug fixes ASM regression has been fixed in this release. In the previous release, there were issues with deprecated JDK APIs, which has been fixed. The invalid bytecode generation for static interface method calls have been fixed. Redundant key comparisons have been removed from HashCollisionNode. This release reports correct line number for uncaught ExceptionInfo in clojure.test. Many users have appreciated the efforts taken by the Clojure team for this project. According to most of the users, this release might prove to be a better foundation for developer tooling. Users are happy with the updated debug messages and bug fixes. One user commented on HackerNews, “From the perspective of a (fairly large-scale at this point) app developer: I find it great that Clojure places such emphasis on backwards compatibility. The language has been designed by experienced and mature people and doesn't go through "let's throw everything out and start again" phases like so many other languages do.”  Though few users still prefer occasional updates instead so that they get better APIs. Rich Hickey, the creator of Clojure language has been appreciated a lot for his efforts even by the non Clojurists. One of the users commented on HackerNews, “Rich's writing, presentations, and example of overall conceptual discipline and maturity have helped me focus on the essentials in ways that I could not overstate. I'm glad (but not surprised) to see so much appreciation for him around here, even among non-Clojurists (like myself).” Though REPLs use the ubiquitous paradigm of stdio streams and are efficient, their major downside is of mingling evaluation output with printing output (the "Print" step). Few users are linking this project with the unrepl and are confused if the design works for the projects. Clojure is stable and it doesn’t have a static type system. Also, users are not happy with the changelog. However, this release has raised a few questions among the developer community. One of the big questions here is if PREPLs would replace remote APIs someday? It would be interesting to see if that really happens with the next set of Clojure releases. Get more information about Clojure 1.10 on Clojure. ClojureCUDA 0.6.0 now supports CUDA 10 Clojure 1.10.0-beta1 is out! Clojure for Domain-specific Languages – Design Concepts with Clojure  
Read more
  • 0
  • 0
  • 3366

article-image-numpy-drops-python-2-support-now-you-need-python-3-5-or-later
Prasad Ramesh
17 Dec 2018
2 min read
Save for later

NumPy drops Python 2 support. Now you need Python 3.5 or later.

Prasad Ramesh
17 Dec 2018
2 min read
In a GitHub pull request last week, the NumPy community decided to remove support for Python 2.7. Python 3.4 support will also be dropped with this pull request. So now, to use NumPy 1.17 and newer versions, you will need Python 3.5 or later. NumPy has been supporting both Python versions since 2010. This move doesn't come as a surprise with the Python core team itself dropping support for Python 2 in 2020. The NumPy team had mentioned that this move comes in “Python 2 is an increasing burden on our limited resources”. The discussion to drop Python 2 support in NumPy started almost a year ago. Running pip install numpy on Python 2 will still install the last working version. But here on now, it may not contain the latest features as released for Python 3.5 or higher. However, NumPy on Python 2 will still be supported until December 31, 2019. After January 1, 2020, it may not contain the newest bug fixes. The Twitter audience sees this as a welcome move: https://twitter.com/TarasNovak/status/1073262599750459392 https://twitter.com/esc___/status/1073193736178462720 A comment on Hacker News reads: “Let's hope this move helps with the transitioning to Python 3. I'm not a Python programmer myself, but I'm tired of things getting hairy on Linux dependencies written in Python. It almost seems like I always got to have a Python 2 and a Python 3 version of some packages so my system doesn't break.” Another one reads: “I've said it before, I'll say it again. I don't care for everything-is-unicode-by-default. You can take my Python 2 when you pry it from my cold dead hands.” Some researchers who use NumPy and SciPy stick Python 2, this move from the NumPy team will help in getting everyone to work on a single version. One single supported version will sure help with the fragmentation. Often, Python developers find themselves in a situation where they have one version installed and a specific module is available/works properly in another version. Some also argue about stability, that Python 2 has greater stability and x or y feature. But the general sentiment is more supportive of adopting Python 3. Introducing numpywren, a system for linear algebra built on a serverless architecture NumPy 1.15.0 release is out! Implementing matrix operations using SciPy and NumPy  
Read more
  • 0
  • 0
  • 12077
article-image-go-1-11-3-and-go-1-10-6-released-with-fixes-to-security-issues
Amrata Joshi
14 Dec 2018
3 min read
Save for later

Go 1.11.3 and Go 1.10.6 released with fixes to security issues

Amrata Joshi
14 Dec 2018
3 min read
Yesterday, the Go team released Go 1.11.3 and Go 1.10.6.  The Go team recommends all users to update to one of these releases. If you’re not sure which one to update to, choose Go 1.11.3. These releases have addressed the following security issues: cmd/go: Remote command execution during "go get -u" The go get -u  command downloads, updates, and builds source code and is not supposed to execute arbitrary code. With the help of custom domains, it’s possible to get a Git repository cloned to a folder named .git by using a vanity import path that ends with /.git. If the Git repository root contains a HEAD file, an object directory, a config file, a refsdirectory, then go get -u can be used for considering the parent directory as a repository root, and running Git commands on it. This will help in using the config file in the original Git repository root for its configuration. In case, the config file contains malicious commands, they will execute on the system running go get -u. cmd/go: Directory traversal in "go get" via curly braces in import paths The go get command downloads and builds source code. It is strictly not supposed to allow arbitrary filesystem writes. The go get command becomes vulnerable to remote code execution when it is executed with -u flag or with the import path of a malicious Go package, which contains curly braces (both { and } characters). It is only vulnerable in GOPATH mode and not in module mode. The attacker can create an arbitrary filesystem write, which can further lead to code execution. crypto/x509: CPU denial of service in chain validation Package crypto/x509 parses and also validates X.509 encoded keys and certificates. It should handle certificate chains which are provided by an attacker with reasonable resource use. This package does not limit the work performed for each chain verification and might help attackers to craft pathological inputs, further leading to a CPU denial of service. The Go TLS servers that accept client certificates and the TLS clients that verify certificates get affected. The functionality regression in "go get" when executed in GOPATH mode on an import path pattern containing "..."  is not present in the GOPATH workspace. This issue will be resolved in the next releases, Go 1.11.4 and Go 1.10.7. This update has received a mixed reaction from the users. As few users think that if the Go team should have used context. WithTimeout or even TLSHandshakeTimeout for safety on the old Go. Other users have appreciated the efforts taken by the Go team. https://twitter.com/Olivier_Poitrey/status/1073362114570416128 To know more about this release, check out the official announcement. The Golang team has started working on Go 2 proposals TypeScript 3.2 released with configuration inheritance and more Haskell is moving to GitLab due to issues with Phabricator
Read more
  • 0
  • 0
  • 2187

article-image-the-november-2018-release-of-visual-studio-code-v1-30-is-now-available
Prasad Ramesh
13 Dec 2018
4 min read
Save for later

The November 2018 release of Visual Studio code v1.30 is now available

Prasad Ramesh
13 Dec 2018
4 min read
The November 2018 release of Visual Studio code (version 1.30) is now available. This version has multiline search improvements, custom tile bars for Linux, a simplified debug configuration and other changes. We take a look at the major updates in the November 2018 of Visual studio code. Multiline search input In the October release, support for multiline search was added. Now, the search UX has been improved for easier usage. Users can search with multiline text without writing a regular expression. Press Shift+Enter in the search box to insert a newline. The search box will grow to show the full multiline query. Users can also copy paste multiple lines from the editor into the search box. Custom title and menu bar on Linux by default The accessibility and themability of menus has been improving over the past releases on Windows through the custom title and menu bar. This was optionally available on Linux, it will now be enabled by default. You can use the native title bar by setting the window.titleBarStyle to native. References view The References view has moved out of preview and is now available generally. There are two commands: Find All References: Opens the References view. Peek References: Opens references in a Peek view. Hidden on startup, the References view will remain visible once it has been used. When all search results are cleared, a history of previous searches is shown. Snippet comment variables New snippet variables are available that insert line or block comments to honor the current language. BLOCK_COMMENT_START and BLOCK_COMMENT_END for using block comments and LINE_COMMENT for lines. JavaScript and TypeScript callbacks look better Any JavaScript and TypeScript anonymous callbacks were previously labeled as <function>. This was in the Outline view, breadcrumbs view, and document symbol list. Due to this, it was impossible to tell which function a developer was really after. TypeScript 3.2+ allows VS Code to display more context for callback functions, so now they can be differentiated from one another. Markdown elements in JSDoc comments are highlighted Fenced code blocks and other Markdown elements within JSDoc blocks are now syntax-highlighted. Initial debug configuration is simplified In this release, an area of improvement was to simplify the generated launch.json file for the most popular debug extensions. The goal was to encourage users to start and configure debugging. Unnecessary launch configuration attributes were hidden. Using the Quick Pick UI for better user interaction while generating the initial launch.json was also a part of this. Run on folder open A task that users always run on opening a folder can now be configured to run automatically. This can be done by configuring its "runOn" property when that folder is opened. This was done to make sure no one breaks the new strict null checks in the VS Code repository. On adding "runOn": "folderOpen", everyone who allows tasks to be run automatically will get markers the strict null check is violated. Install previous versions A previous version of an extension can be used if the current version has problems. An Install Another Version action is provided on an installed extension, on clicking it, a dropdown of available versions is shown. Preview Features HTML custom tags / attributes support is added which allows developers to specify a list of tags and attributes that VS Code loads during startup. Network proxy support for extensions for enabling network proxy support for all extensions by using Http: Proxy Support. Code completion suggestions via IntelliCode comes to C++ in Visual Studio 2019 Microsoft Connect(); 2018 Azure updates: Azure Pipelines extension for Visual Studio Code, GitHub releases and much more! Neuron: An all-inclusive data science extension for Visual Studio
Read more
  • 0
  • 0
  • 1700