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

573 Articles
article-image-bmw-volleys-receives-clearance-to-open-source-ramses-a-3d-rendering-system
Melisha Dsouza
25 Feb 2019
2 min read
Save for later

BMW Volleys receives clearance to open-source RAMSES, a 3D rendering system

Melisha Dsouza
25 Feb 2019
2 min read
BMW has open-sourced its code to RAMSES ( Rendering Architecture for Multi-Screen EnvironmentS) under the GENIVI in-vehicle infotainment alliance. The code is under the Mozilla Public License 2.0 and will be useful to developers interested in distributed 3D rendering. RAMSES implements a distributed system for rendering 3D content with a focus on ensuring high performance in terms of bandwidth and resource consumption. According to KTelegram, RAMSES is designed to optimize the rendering of content from the entertainment systems, containing several screens. It is a layer that applies a client-server model for the rendering. One process generates the 3D content and the other process is engaged in its rendering. Rendering can be performed on another device or in a virtual environment.  RAMSES provides piping around existing OpenGL implementations and supports different versions of OpenGL (OpenGL ES 3.0+, OpenGL 4.2, 4.5, etc.) RAMSES also provides its own low-level API which encapsulates and packages the commands and resources to minimize traffic between the client and the server. This allows the transmission of high-quality 3D content over conventional networks for display, without delays and gaps. Google open sources Filament – a physically based rendering engine for Android, Windows, Linux and macOS Facebook releases DeepFocus, an AI-powered rendering system to make virtual reality more Real Meet Carlo, a web rendering surface for Node applications by the Google Chrome team
Read more
  • 0
  • 0
  • 2607

article-image-sourcegraph-a-code-search-and-navigation-engine-is-now-open-source
Natasha Mathur
03 Oct 2018
2 min read
Save for later

Sourcegraph, a code search, and navigation engine is now open source!

Natasha Mathur
03 Oct 2018
2 min read
The Sourcegraph team announced that they’re making Sourcegraph, a self-hosted code search and navigation engine, available as open source, earlier this week. “We opened up Sourcegraph to bring code search and intelligence to more developers and developer ecosystems—and to help us realize the Sourcegraph master plan,” writes Quinn Slack on the announcement page. This Sourcegraph master plan involves making basic code intelligence ubiquitous (for every language, and in every editor, code host, etc.). It wants to focus on making code review continuous and intelligent. Additionally, they also hope to increase the amount and quality of open-source code. Sourcegraph comprises the following features: Instant Code Search: Fast global code search with a hybrid backend. This combines a trigram index with in-memory streaming. You can search in files and diffs in your code by just using simple terms, regular expressions, and other filters. Code intelligence: It offers code intelligence for many languages using the Language Server Protocol. It also makes browsing code and finding references on your code easier. Data Center: Once you grow to hundreds or thousands of users and repositories, you can graduate from the single-server deployment to a highly scalable cluster using the Sourcegraph Data Center. Integrations: It offers Integration with third-party developer tools via the Sourcegraph Extension API. Organizations that are already using the Sourcegraph navigation engine can upgrade to Sourcegraph Enterprise (previously called Data Center) to get a hand on features that large organizations need such as single sign-on, backups, and recovery, cluster deployment, etc. However, these additional features that come with the Enterprise edition are paid and not open source. “We're also excited about what this means for Sourcegraph as a company. All of our customers, many with hundreds or thousands of developers using Sourcegraph internally every day, started out with a single developer spinning up a Sourcegraph instance and sharing it with their team. Being open-source makes it even easier to start using Sourcegraph in that way”, explained the announcement page. For more information, check out the official announcement. Facebook open sources LogDevice, a distributed data store for logs Kong 1.0 launches: the only open source API platform specifically built for microservices, cloud, and serverless Uber’s Marmaray, an Open Source Data Ingestion and Dispersal Framework for Apache Hadoop
Read more
  • 0
  • 0
  • 2597

article-image-gradle-4-9-released
Savia Lobo
24 Jul 2018
3 min read
Save for later

Gradle 4.9 released!

Savia Lobo
24 Jul 2018
3 min read
Team Gradle has released a new version of their tool and that’s Gradle 4.9. Gradle is a build tool for build automation with multi-language development. It offers excellent flexibility to the complete development lifecycle. As per the team, one of the quickest ways to update one’s build to use the new version is by updating the build wrapper properties as follows: ./gradlew wrapper --gradle-version=4.9 However, the standalone downloads are available at gradle.org/install What’s new in the Gradle 4.9 Command line arguments are now supported by JavaExec One can now pass command line arguments to JavaExec using --args. This means if one wants to launch their application using the command line arguments foo --bar, hardcoding it into the build script is not required. One just has to simply run gradle run --args 'foo --bar. An improved dependency insight report This version features an improved dependency insight report including build scans.  The report helps in easy diagnosis of dependency management problems, locally. Some improvements in this report include: All participants of conflict resolution are shown All custom reasons for a component selection are shown Modules rejected by a rule are displayed Modules which didn't match the version selector but were considered in the selection are shown This report also solves the readability resolution failures by restricting the report to one path with each dependency. Native ecosystem continues The Gradle Native project stays steady in order to improve and evolve the native ecosystem support for Gradle. Checkout builds are now fast and clean This version now stores more states in the Gradle user home instead of the project directory. This results in clean and faster checkout builds on CI as long as the user home is preserved. Java and Groovy compilers are now leak-proof file descriptors By default, the Java and Groovy compilers both leak file descriptors during the run in-process. This, in turn, can lead to "cannot delete file" exceptions on Windows and "too many open file descriptors" on Unix. In the Gradle 4.9, these leaks have been fixed. Users who had switched to forking mode because of this problem, can now safely switch back to in-process compilation. Experimental new task API Gradle 4.9 includes a new task API which allows builds to avoid the cost of creating and configuring tasks for the ones that will never be executed. By upgrading to this new API, one can experience slightly faster configuration times. The benefits will keep improving as more plugins adopt this API. Note that this API is in incubation and may change before Gradle 5.0. The promoted features are now stable This version includes some promoted features which were in incubation during the previous release. The promoted features which include a stable dependency insight report and the tooling API types and methods are now supported and stable. These two features are also subject to backward compatibility. Potential breaking changes in Gradle 4.9 EclipseProject tasks defined for gradle eclipse are allowed to run in Buildship. Two tasks from the EclipseProject, namely the EclipseClasspath and EclipseProject are now executed by the gradle. Use of Groovy GPath expression with the method, tasks.withType() would get a runtime exception. The easiest fix is to explicitly use the spread operator. As per my past research on Gradle and observing its past release trends, it looks like we can expect Gradle 5.0 in August or September. Read more about the other fixed issues and deprecations in the Gradle 4.9 release notes. Gradle with the Java Plugin Speeding up Gradle builds for Android Working with Gradle  
Read more
  • 0
  • 0
  • 2499

article-image-nim-0-19-a-statically-typed-and-compiled-language-is-out-with-nimble-0-9-0-support
Bhagyashree R
28 Sep 2018
3 min read
Save for later

Nim 0.19, a statically typed and compiled language, is out with Nimble 0.9.0 support

Bhagyashree R
28 Sep 2018
3 min read
Earlier this week, the Nim team announced the release of Nim 0.19 with many language changes, async improvements, and support for the latest Nimble 0.9.0. Nim is a systems and applications programming language, which aims for better performance, portability, and expressiveness. It is a statically typed and compiled language which comes with unparalleled performance in an elegant package. Its common features include: High-performance garbage-collection Compiles to C, C++ or JavaScript Runs on Windows, macOS, Linux What’s new in Nim 0.19? Language changes and additions The nil state for strings/seqs is no more supported and their default value is changed to  "" / @[]. In the transition period you can use --nilseqs:on. It is now invalid to access the binary zero terminator in Nim’s native strings, but internally it can still have the trailing zero to support zero-copy interoperability with cstring. In the transition period you can compile your code using the new --laxStrings:on switch. Instead of being an all-or-nothing switch, experimental is now a pragma and a command line switch that can allow specific language extensions. You can make dot calls combined with explicit generic instantiations using the syntax x.y[:z], which is converted as y[z](x) by the parser. You can use func as an alias for proc {.noSideEffect.}. Nim now supports for-loop macros to make for loops and iterators more flexible to use. This feature enables a Python-like generic enumerate implementation. In order to implement pattern matching for certain types, case statements can be rewritten via macros. Keyword arguments after the comma are supported in the command syntax. Declaration of thread-local variables inside procs is now supported. This implies all the effects of the global pragma. Nim supports the except clause in the export statement. Async improvements Nim’s async macro now works completely with exception handling. The use of await in a try statement is also supported. Supports Nimble 0.9.0 This release comes with Nimble 0.9.0, which was released recently in August. This version contains a large number of fixes spread across 57 commits. One breaking change that you need to keep in mind is that any package that specifies a bin value in its .nimble file will no longer install any Nim source code files. Breaking changes The deprecated symbols in the standard library such as system.expr or the old type aliases starting with a T or P prefix have been removed. SystemError is now renamed to CatchableError and is the new base class for any exception that is guaranteed to be catchable. Read the full announcement on Nim’s official website. Rust as a Game Programming Language: Is it any good? Java 11 is here with TLS 1.3, Unicode 11, and more updates The 5 most popular programming languages in 2018
Read more
  • 0
  • 0
  • 2478

article-image-git-2-21-released-with-performance-improvement-multi-pack-indexes-enhanced-repositories-and-more
Amrata Joshi
25 Feb 2019
3 min read
Save for later

Git 2.21 released with performance improvement, multi-pack indexes, enhanced repositories and more

Amrata Joshi
25 Feb 2019
3 min read
Yesterday, the team at GitHub released Git 2.21 with a new date format, improved performance and bug fixes from over 60 contributors. What’s new in Git 2.21? Performance and internal implementation It is now possible to clean-up the code with optimization for the codepath that checks non-existence of loose objects. The "strncat()" function is now counted amongst the banned functions. This release comes with portability updates for the HPE NonStop platform. The loose object cache used for optimizing existence look-up has also been updated. The flaky tests can now be repeatedly run under load with the “--stress" option. Human-readable dates with --date=human This release comes with git log that displays the date for each authored commit. In this release, the timestamps will be displayed in Git’s “default” format (for example, “Tue Feb 12 09:00:33 2019 -0800”). Although Git 2.21 comes with a new date format --date=human which makes it possible to frequently switch between the human and machine-readable formats while putting together a pipeline. Multi-pack indexes Git 2.21 can create a multi-pack index file instead of repacking and this index file acts as a listing of objects residing in multiple packs while removing the need to perform expensive repacks. Delta reuse with bitmaps Git now comes with bitmaps and gives an optional on-disk data structure to record the sets of objects “reachable” from each commit. On the availability of this data, users can query it to quickly determine whether the client has a base object. This would result in server generating smaller packs that are produced more quickly for a faster experience. Enhanced repositories In Git 2.21, the repositories can now enumerate alternate tips, and make the corresponding transaction much faster. Major Fixes The corner cases in merge-recursive have been fixed. The Refspecs configured with "git -c var=val clone" which did not propagate to the resulting repository, have now been corrected. Now there is no need of configured username/email under user.useConfigOnly for creating commits. In this release, the http-backend CGI process now cleans up the child processes. Users seem to be excited about this release. One of the comments on HackerNews reads, “Few Detecting files that differ only in case being cloned onto a case-insensitive file system is a great feature.” To know more about this news, check out the release notes. GitHub launches draft pull requests GitHub increases its reward payout model for its bug bounty program GitLab considers moving to a single Rails codebase by combining the two existing repositories
Read more
  • 0
  • 0
  • 2447

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
  • 2431
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-git-v2-20-0-released-with-improved-git-clone-process-packfiles-consolidation-and-more
Amrata Joshi
11 Dec 2018
3 min read
Save for later

Git v2.20.0 released with improved Git clone process, packfiles consolidation, and more

Amrata Joshi
11 Dec 2018
3 min read
Last week, the team at GitHub released Git v2.20.0, a free and open source distributed version control system that tracks changes in computer files and coordinates work on those files among multiple people. Features Git clone process gets better with Git v2.20.0 The Git clone process will now warn users while they are cloning a project to a case-insensitive file-system, where there are files in the repository that only differ with their cases but have the same pathnames. Git v2.20.0 requires Vista With this new release, Git will now at least require Windows Vista or above versions to operate. Improvements to the Windows port has been observed, such as better support and DLL handling of nanosecond resolution file timestamps. Even the logic for selecting the default username and e-mail on Windows has been improved. Shows a progress bar The git status now shows a progress bar when refreshing the index takes a long time. Git multi-pack-index has been updated The git multi-pack-index has been updated for detecting corruption in the .midx file, and this feature has been integrated into "git fsck". Consolidation When there are too many packfiles in a repository, looking up an object requires consulting multiple pack .idx files. Git v2.20.0 comes with a new mechanism which consolidates all of these .idx files in a single file. Major Improvements The generation of (experimental) commit-graph files now shows progress in the output. On platforms with recent cURL library, http.sslBackend configuration variable can now be used for choosing a different SSL backend at runtime. With Windows port, it is possible to switch between OpenSSL and secure channel while talking over the HTTPS protocol. A pattern with '**' that does not have a slash on either side was considered an invalid one in previous versions. With this update, double-asterisks are treated the same way as two asterisks adjacent to each other are. "git rev-list --stdin </dev/null" initially used to be an error in the previous version but it now shows no output without an error. The developer builds in Git now use Wunused-function compilation option. With this release, it is possible to create an alias that expands to another alias. The test scripts have been updated in Gitv2.20.0 for style and correct handling of exit status of various commands. Major bug fixes The issue with registering same path under multiple worktree entries has been fixed. The "git interpret-trailers" had a buggy code that ignored patch text after committing log message and that triggered various codepaths. This has been fixed now. The bug that leaves the index file corrupt during a partial commit has been fixed now. This release has received some positive response from users.  An interesting fact stated by one of the users on Twitter is, “In Git for Windows, if we build cURL on one machine,it will run on an estimated 3 million different machines. This release has already created some buzz around, it would be interesting to see what GitHub plans next.” Read more about this news on the official mailing list. Upgrade to Git 2.19.1 to avoid a Git submodule vulnerability that causes arbitrary code execution Git 2.19.0 released with better git grep, Python 3 compatibility for git p4 4 myths about Git and GitHub you should know about
Read more
  • 0
  • 0
  • 2410

article-image-gnu-nano-4-0-text-editor-releases
Natasha Mathur
25 Mar 2019
2 min read
Save for later

GNU Nano 4.0 text editor releases!

Natasha Mathur
25 Mar 2019
2 min read
GNU team released version 4.0 of their GNU Nano, a text editor for Unix-like computing systems that use command line interface, yesterday. GNU Nano 4.0 explores new changes and improvements. GNU Nano 4.0 release has been named as “Thy Rope of Sands”. What’s new in GNU Nano 4.0? The overlong line that used to get automatically hard-wrapped has been fixed in GNU Nano 4.0. Smooth scrolling has become the default in GNU Nano 4.0. No newline character will be added automatically at end of buffer. Option --breaklonglines (-b) can easily turn the automatic hard-wrapping back on. Other pption --jumpyscrolling (-j) provides the chunky, half-screen scrolling, and option --emptyline (-e) leaves the line below the title bar unused. <Alt+Up> and <Alt+Down> can now do a linewise scroll instead of a findnext. Option --guidestripe=<number> is now able to draw a vertical bar at the given column in GNU Nano 4.0. In case a line continues offscreen, it will now end with a highlighted ">" in GNU Nano 4.0. The bindable functions such as 'cutwordleft' and 'cutwordright' have been renamed in GNU Nano 4.0. The paragraph-jumping functions have been moved from Search to Go-to-Line. An option --rebinddelete can compensate for more misbindings. The --disable-wrapping-as-root configure option has been removed. For more details on GNU Nano 4.0, check out the official release notes. GNU Octave 5.1.0 releases with new changes and improvements GNU Health Federation message and authentication server drops MongoDB and adopts PostgreSQL GNU Bison 3.3 released with major bug fixes, yyrhs and yyphrs tables, token constructors and more
Read more
  • 0
  • 0
  • 2338

article-image-lazarus-released-with-lcl-interface-changes-ide-changes-and-much-more
Amrata Joshi
18 Feb 2019
2 min read
Save for later

Lazarus released with LCL interface changes, IDE changes and much more!

Amrata Joshi
18 Feb 2019
2 min read
Earlier this month, the team at Lazarus announced the release of Lazarus 2.0.0, an open-source cross-platform built with FPC 3.0.4 (Free Pascal Compiler). What’s new in Lazarus 2.0.0 LCL (Lazarus Component Library) Interface Changes ScreenToClient and ClientToScreen can now be calculated without scrollbar offset. Support for mouse wheel horz scrolling. This release comes with added flags to exclude support for some graphics formats to create smaller applications. The image list now supports multiple resolutions of one image. All the LCL controls now support High-DPI glyphs on Windows+Linux and Retina on Mac without any additional code. Every LCL control that supports ImageList now has a new ImagesWidth property for deciding what custom width at 96 PPI (100% scale) is to be used. IDE Changes This release includes several High-DPI IDE improvements and a retina support on Cocoa The IDE parses the custom compiler options for the fpc switch -FN<namespaces> for defining the default namespaces. Editor Lazarus 2.0.0 comes with "smart move cursor" moving commands for editor mappings. They are useful as an alternative for Ctrl+Left/+Right/+Shift+Left/+Shift+Right key. This release comes with added Goto/Toggle bookmark submenu for the toolbar. Additional options to fine-tune outline colors. Debugger This release comes with an added option "FixStackFrameForFpcAssert" to workaround fpc wrong frame pointer. There is an added option "FixIncorrectStepOver" to workaround "step over" issues experienced on some platforms. Components incompatibilities TSpinEditEx and TFloatSpinEditEx now inherit a common base class TSpinEditExBase. The reticule component is removed because the crosshair cursor is included in the more versatile charttools. To know more about this news, check out the Lazarus’ official post. Creating a Lazarus Component Microsoft joins the OpenChain Project to help define standards for open source software compliance Mapzen, an open-source mapping platform, joins the Linux Foundation project
Read more
  • 0
  • 0
  • 2307

article-image-pypy-7-1-releases-with-utf-8-for-unicode-strings
Natasha Mathur
25 Mar 2019
2 min read
Save for later

PyPy 7.1 releases with UTF-8 for Unicode strings

Natasha Mathur
25 Mar 2019
2 min read
PyPy team released version 7.1 of PyPy, a fast and compliant Python Interpreter, yesterday. PyPy 7.1 explores new features, improvements, and other changes. PyPy 7.1 supports x86 machines on common operating systems (Linux 32/64 bits, Mac OS X 64 bits, Windows 32 bits, OpenBSD, FreeBSD), ARM32,  s390x running Linux, etc. What’s new in PyPy 7.1? PyPy 7.1 comes with two different interpreters, namely, PyPy2.7 (an interpreter that supports the syntax and features of Python 2.7) and PyPy3.6-beta (second official release of PyPy that supports 3.6 features). The latest release finally merges the internal refactoring of unicode representation as UTF-8. Users can remove the conversions from strings to unicode internally, thus leading to a nice speed bump. The UTF-8 changes have been merged to the py3.5 branch (Python3.5.3). The ability to use the buffer protocol with ctype structures and arrays has been improved in PyPy 7.1. The CFFI (C Foreign Function Interface) backend has been updated to version 1.12.2 in PyPy 7.1. Users can use CFFI as opposed to the c-extensions to interact with C and cppyy to interact with C++ code. PyPy team states that they need help from the contributors in case of PyPy and RPython documentation improvements, for tweaking popular modules to run on pypy, and general help with making RPython’s JIT even better. For more information, check out the official PyPy 7.1 release notes. PyPy 7.0 released for Python 2.7, 3.5, and 3.6 alpha Python 3.8 alpha 2 is now available for testing Python steering council election results are out for January 2019
Read more
  • 0
  • 0
  • 2302
article-image-openjdk-teams-detailed-message-to-nullpointerexception-and-explanation-in-jep-draft
Amrata Joshi
27 Mar 2019
4 min read
Save for later

OpenJDk team’s detailed message to NullPointerException and explanation in JEP draft

Amrata Joshi
27 Mar 2019
4 min read
Developers frequently encounter NullPointerExceptions while developing or maintaining a Java application. They often don't contain a message which makes it difficult for the developers to find the cause of the exception. Java Enhancement Proposal (JEP) proposes to enhance the exception text to notify what was null and which action failed. For instance: a.to_b.to_c = null; a.to_b.to_c.to_d.num = 99; The above code will print java.lang.NullPointerException and which doesn’t highlight what value is null. A message like 'a.to_b.to_c' is null and cannot read field 'to_d' will highlight where the exception is thrown. Basic algorithm to compute the message In case of an exception, the instruction that caused the exception, is known by the virtual machine. The instruction gets stored in the 'backtrace' datastructure of a throwable object which is held in a field private to the jvm implementation. In order to assemble a string as a.to_b.to_c, the bytecodes need to be visited in reverse execution order while starting at the bytecode that raised the exception. If a developer or tester knows which bytecode pushed the null value, then it's easy to print the message. A simple data flow analysis is run on the bytecodes to understand as to which previous instruction pushed the null value. This data flow analysis simulates the execution stack that does not contain the values computed by the bytecodes. Instead, it contains information about which bytecode pushed the value to the stack. The analysis will run until the information for the bytecode that raised the exception becomes available. With this information, it becomes easy to assemble the message. An exception message is usually passed to the constructor of Throwable that writes it to its private field 'detailMessage'. In case the message is computed only on access, then it can’t be passed to the Throwable constructor. Since the field is private, there is no natural way to store the message in it. To overcome this, developers can make detailMessage package-private or can use a shared secret for writing it or can write to the detailMessage field via JNI. How should the message content be displayed The message should only be printed if the NullPointerException is raised by the runtime. In case, the exception is explicitly constructed, it won’t make sense to add the message and it could be misleading as no NullPointerException was encountered. As the original message won’t get regained so the message should try resembling code as possible. This makes it easy to understand and compact. The message should contain information from the code like class names, method names, field names and variable names. Testing done by the OpenJDK team The basic implementation of testing for regressions of the messages is in use in SAP's internal Java virtual machine since 2006. The team at OpenJDK has run all jtreg tests, many jck tests and many other tests on the current implementation. They have found no issues so far. Proposed risks to it This proposal has certain risks which include imposing overhead on retrieving the message of a NullPointerMessage. Though the risk of breaking something in the virtual machine is very low. The implementation needs to be extended in case more bytecodes are added to the Bytecode specification. Another issue that was raised is printing the field names or local names might impose a security problem. To know more about this news, check out OpenJDK’s blog post. Introducing ‘Quarkus’, a Kubernetes native Java framework for GraalVM & OpenJDK HotSpot The OpenJDK Transition: Things to know and do Apache NetBeans IDE 10.0 released with support for JDK 11, JUnit 5 and more!
Read more
  • 0
  • 0
  • 2234

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
  • 2189

article-image-go-1-11-5-and-go-1-10-8-released
Savia Lobo
24 Jan 2019
2 min read
Save for later

Go 1.11.5 and Go 1.10.8 released!

Savia Lobo
24 Jan 2019
2 min read
Today, the Go team announced the release of Go 1.11.5 and Go 1.10.8. This version addresses a recently reported security issue. Go team recommends all users to update to one of these releases. For users who are unsure of which one to choose, the team recommends Go 1.11.5. The DoS vulnerability in the crypto/elliptic implementations of the P-521 and P-384 elliptic curves may let an attacker craft inputs that consume excessive amounts of CPU. These inputs might be delivered via TLS handshakes, X.509 certificates, JWT tokens, ECDH shares or ECDSA signatures. In some cases, if an ECDH private key is reused more than once, the attack can also lead to key recovery. There is an issue in the release tooling due to which go1.11.5.linux-amd64.tar.gz and go1.10.8.linux-amd64.tar.gz include two unnecessary directories in the root of the archive, "gocache" and "tmp". The team members say that these issues are harmless and safe to remove. They have also mentioned commands that can be used to extract only the necessary “go” directory from the archives. These commands would create a Go tree in /usr/local/go. tar -C /usr/local -xzf go1.11.5.linux-amd64.tar.gz go tar -C /usr/local -xzf go1.10.8.linux-amd64.tar.gz go To know more about these releases in detail, visit Go’s official mailing thread. Go Programming Control Flow Introduction to Creational Patterns using Go Programming Essential Tools for Go Programming
Read more
  • 0
  • 0
  • 2176
article-image-midi-2-0-prototyping-in-the-works-35-years-after-launch-of-the-first-version
Prasad Ramesh
21 Jan 2019
2 min read
Save for later

MIDI 2.0 prototyping in the works, 35 years after launch of the first version

Prasad Ramesh
21 Jan 2019
2 min read
In a blog post last Friday, the MIDI Manufacturers Association (MMA) together with the Association of Music Electronics Industry (AMEI) announced prototyping of MIDI 2.0. Musical Instrument Digital Interface or otherwise commonly referred to as MIDI is a digital protocol used for recording and playing back music. It was originally designed for musical keyboards but was soon enough adopted to be used in computers. MIDI was also used in phone ringtones. The protocol was first released in 1983. Now, the MMA and in association with AMEI have settled on the specifications and features for the next generation of the music recording protocol and have named it MIDI 2.0. These two companies are now working together in order to develop prototypes based on a co-developed draft specification. There will be a ‘plugfest’ in Winter NAMM 2019 between some MIDI 2.0 prototypes to test compatibility. Some of the participating companies are Google, Yamaha, Roland, and Steinberg. The prototyping will continue through this year as the involved associations work together on launch plans of the new protocol. This includes developing a new logo and self-certification programs for both MMA and AMEI member organizations. However, during the prototyping phase, the specifications for MIDI 2.0 is exclusive to MMA and AMEI members. MIDI 2.0 brings auto-configuration, new DAW/web integrations, extended resolution, increased expressiveness, and tighter timing. While adding the new features, they will also strive to maintain backward compatibility. The new specifications will join the current MIDI specifications when they are finalized and will be available as a free download on the MIDI website. 3D Secure v2: a new authentication protocol supported by Stripe for frictionless authentication and better user experience Qt creator 4.8 beta released, adds language server protocol Golang plans to add a core implementation of an internal language server protocol
Read more
  • 0
  • 0
  • 2102

article-image-typescript-3-3-rc-is-here
Prasad Ramesh
23 Jan 2019
2 min read
Save for later

TypeScript 3.3 RC is here!

Prasad Ramesh
23 Jan 2019
2 min read
Today, Microsoft announced the general availability of TypeScript 3.3 RC in a blog post. This version does not contain any major or breaking changes. Better behavior while calling union types When there is a union type A | B, TypeScript now allows users to access all of the properties common to both A and B. For example, the intersection of members. You can get a property from a union type only if it’s known to be present in every union type. When every type has only one signature with identical parameters, things work. Such a restriction was too much and have errors in some areas. So, in TypeScript 3.3, the following code as shown in the blog will work: type Fruit = "apple" | "orange"; type Color = "red" | "orange"; type FruitEater = (fruit: Fruit) => number;     // eats and ranks the fruit type ColorConsumer = (color: Color) => string;  // consumes and describes the colors declare let f: FruitEater | ColorConsumer; f("orange"); // It works! Returns a 'number | string'. f("apple");  // error - Argument of type '"apple"' is not assignable to parameter of type '"orange"'. f("red");    // error - Argument of type '"red"' is not assignable to parameter of type '"orange"'. The parameters of the above signatures are ‘intersected’ to create a new signature. When the impossible intersections are gone, what remains is "orange" & "orange" which is just "orange". That is not to say there are no restrictions. The new behavior is active only when only one type in the union has multiple overloads and a generic signature. The forEach method will now be callable, but there may be some issues under noImplicitAny. The --build mode’s --watch flag leverages incremental file watching as well in TypeScript 3.3. This can result in significantly faster builds with --build --watch. Reportedly, there was over 50% reduced build times. Future of ESLint support in TypeScript Announcing ‘TypeScript Roadmap’ for January 2019- June 2019 Introducing ReX.js v1.0.0 a companion library for RegEx written in TypeScript
Read more
  • 0
  • 0
  • 2067
Modal Close icon
Modal Close icon