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-fedora-30-releases-with-gcc-9-0-gnome-3-32-performance-improvements-and-much-more
Amrata Joshi
02 May 2019
2 min read
Save for later

Fedora 30 releases with GCC 9.0, GNOME 3.32, performance improvements, and much more!

Amrata Joshi
02 May 2019
2 min read
Last month, the Fedora team announced the release of Fedora 30 Beta version. Just last week, the Fedora team broke the news of the release of Fedora 30 that serves as the staging environment for Red Hat Enterprise Linux. This release comes with a number of improvements and performance optimizations. What’s new in Fedora 30? GCC 9.0 This release uses GCC 9.0 which brings performance improvements across all applications that have been recompiled with this version. This release also features a flicker-free boot process that hides the GRUB loader/kernel select screen by default and also relies on creative theming to incorporate the bootsplash image into the loading process. GNOME 3.32 This release has been shipped with GNOME 3.32 that includes all-new app icons that use a new visual language reminiscent of Google's Material Design guidelines. GNOME 3.32 provides more robust support for HiDPI displays including experimental non-integer scaling. Performance improvements This release comes with performance improvements including an upgrade to Bash 5.0, Boost 1.69, and glibc to 2.29. In this release, even Python 2 packages have been removed and Ruby 2.6 and PHP 7.3 has been updated. Excessive linking for Fedora-built packages has been removed, which will improve startup times and smaller metadata files. This release also brings UEFI for ARMv7 devices that makes it possible to install Fedora on UEFI-compatible ARM hardware that is similar to installing on an arbitrary computer. New packages for desktop environments This release includes packages for DeepinDE and Pantheon, the desktop environments that are used in Deepin Linux, also known as "the single most beautiful desktop on the market" by TechRepublic's Jack Wallen. These packages require a simple and manual installation process. Most of the users are happy and excited about this news. A user commented on HackerNews, “Love this, switched today! Definitely the most easy to use distro out there and, especially in the case of Silverblue, the most modern by far (containers only!).” Few others are complaining about the bugs in this release. Another user commented, “This is good distro for developers by developers. I wouldn't suggest it for everyday users though. There are too many beta quality bugs since it uses really bleeding edge releases.” To know more about this news, check out the Fedora 30’s official announcement. Fedora 30 Beta released with desktop environment options, GNOME 3.32, and much more Fedora 31 will now come with Mono 5 to offer open-source .NET support Fedora 29 released with Modularity, Silverblue, and more  
Read more
  • 0
  • 0
  • 2437

article-image-amazon-introduces-s3-batch-operations-to-process-millions-of-s3-objects
Amrata Joshi
02 May 2019
3 min read
Save for later

Amazon introduces S3 batch operations to process millions of S3 objects

Amrata Joshi
02 May 2019
3 min read
Just two days ago, Amazon announced that it has made Amazon S3 Batch Operations, a storage management feature for processing millions of S3 objects in an easier way. It is also an automated feature that was first previewed at AWS re:Invent 2018. Users can now set tags or access control lists (ACLs), copy objects to another bucket, initiate a restore from Glacier, and also invoke an AWS Lambda function on each one. Developers and IT administrators can now change object properties and metadata and further execute storage management tasks with a single API request. For example, S3 Batch Operations allows customers to replace object tags, change access controls, add object retention dates, copy objects from one bucket to another, and even trigger Lambda functions against existing objects stored in S3. S3’s existing support for inventory reports are used to drive the batch operations. With this new feature of Batch Operations, users can now easily write code, set up any server fleets, or figure out how to partition the work and distribute it to the fleet. Users can now create a job in minutes with a couple of clicks. S3 uses massive, behind-the-scenes parallelism to manage the job. Users can also create, monitor, and manage their batch jobs using the S3 CLI, the S3 Console, or the S3 APIs. Important terminologies for batch operations Bucket An S3 bucket can hold a collection of any number of S3 objects, with optional per-object versioning. S3 Inventory report An S3 inventory report can be generated when daily or weekly bucket inventory is run. A report can be configured to include all of the objects in a bucket or to focus on a prefix-delimited subset. Manifest A manifest is an inventory report or a file in CSV format that identifies the objects to be processed in the batch job. Batch Action Batch action is the desired action on the objects which is described by a Manifest. IAM role An IAM role provides S3 with permission for reading the objects in the inventory report and perform the desired actions for writing the optional completion report. Batch job Batch references all of the above-mentioned terminologies. Each job has a status and a priority; higher priority (numerically) jobs take precedence over those with lower priority. Most of the users are happy because of this news as they think the performance of their projects might increase. A user commented on HackerNews, “This S3 request rate performance increase removes any previous guidance to randomize object prefixes to achieve faster performance. That means you can now use logical or sequential naming patterns in S3 object naming without any performance implications.” To know more about this news, check out Amazon’s blog post. Amazon finally agrees to let shareholders vote on selling facial recognition software Eero’s acquisition by Amazon creates a financial catastrophe for investors and employees Amazon Alexa is HIPAA-compliant: bigger leap in the health care sector      
Read more
  • 0
  • 0
  • 4195

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

Apache Software Foundation finally joins the GitHub open source community

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

article-image-python-in-visual-studio-code-released-with-enhanced-variable-explorer-data-viewer-and-more
Amrata Joshi
27 Apr 2019
3 min read
Save for later

Python in Visual Studio Code released with enhanced Variable Explorer, Data Viewer, and more!

Amrata Joshi
27 Apr 2019
3 min read
This week, the team at Python announced the release of Python Extension for Visual Studio Code. This release comes with enhanced variable explorer and data viewer and improvements to the Python Language Server. What’s new in Python in Visual Studio Code? Enhanced Variable Explorer and Data Viewer This release comes with a built-in Variable Explorer along with a Data Viewer, which will help the users to easily view, inspect and filter the variables in the application, including lists, NumPy arrays, pandas data frames, and more. This release shows a section for variables while running code and cells in the Python Interactive window. On expanding it, users can see a list of the variables in the current Jupyter session. More variables will automatically show up as they get used in the code. And users can sort the variables in columns by clicking on each column header. Users can now double-click on each row or use the “Show variable in Data Viewer” button in order to view full data of each variable in the newly-added Data Viewer and can perform a simple search over its values. Improvements to debug configuration In this release, the process of configuring the debugger has now been simplified. If a user starts debugging through the Debug Panel and no debug configuration exists, then the users will now be prompted to create a debug configuration for their application. Instead of manually configuring the launch.json file, users can now create a debug configuration through a set of menus. Improvements to the Python Language Server This release comes with fixes and improvements to the Python Language Server. The team has added back the features that were removed in the 0.2 release including “Rename Symbol”, “Go to Definition” and “Find All References”. Also, the loading time and memory usage have been improved while importing scientific libraries such as pandas, Plotly, PyQt5, especially while running in full Anaconda environments.   Read Also: Visualizing data in R and Python using Anaconda [Tutorial] Major changes In this release, the default behavior of debugger has been changed to display return values. “Unit Test” has been renamed to “Test” or “Testing”. The debugStdLib setting has been replaced with justMyCode. This release comes with setting to just enable/disable the data science codelens. The reliability of test discovery while using pytest has been improved. Bug Fixes The issues with cell spacing have been resolved. Problems with errors not showing up for import have been fixed. Issues with the tabs in the comments section have been fixed. To know more about this news, check out Microsoft’s official blog post. Mozilla introduces Pyodide, a Python data science stack compiled to WebAssembly Microsoft introduces Pyright, a static type checker for the Python language written in TypeScript Debugging and Profiling Python Scripts [Tutorial]  
Read more
  • 0
  • 0
  • 10997

article-image-gitlab-11-10-releases-with-enhanced-operations-dashboard-pipelines-for-merged-results-and-much-more
Amrata Joshi
26 Apr 2019
3 min read
Save for later

GitLab 11.10 releases with enhanced operations dashboard, pipelines for merged results and much more!

Amrata Joshi
26 Apr 2019
3 min read
Yesterday, the team at GitLab released GitLab 11.10, a web-based DevOps lifecycle tool. This release comes with new features including pipelines on the operations dashboard, pipelines for merged results, and much more. What’s new in GitLab 11.10? Enhanced operations dashboard GitLab 11.10 enhances the operations dashboard with a powerful feature that provides an overview of pipeline status. This becomes useful while looking at a single project's pipeline as well as for multi-project pipelines. With this release, users can now get instant visibility at a glance into the health of all of the pipelines on the operations dashboard. Run pipelines against merged results Users can now run pipelines against the merged result prior to merging. This allows the users to quickly catch errors for much quicker resolution of pipeline failures and more efficient usage of GitLab Runners. By having the merge request pipeline automatically create a new ref that contains the combined merge result of the source and target branch, it is possible to have the combined result valid. Scoped labels Scoped labels allow teams to use apply labels on issues, merge requests, and epics and custom workflow states. These labels can be configured by using a special double colon syntax in the label title. Few users think that new updates won’t be as successful as the team expects it to be and there is still a long way to go for GitLab. A user commented on HackerNews, “Can't help but feel that their focus on moving all operation insights into gitlab itself will not be as successful as they want it to be (as far as I read, their goal was to replace their operations and monitoring tools with gitlab itself[1]). I've worked with the ultimate edition for a year and the kubernetes integration is nowhere close to the insight you would get from google, amazon or azure in terms of insight and integration with ops-land. I wish all these hours were spent on improving the developer lifecycle instead.” Few others are happy with this news and they think that GitLab has progressed well. A comment reads, “GitLab has really come a long way in the past few years. The days of being a github-alike are long gone. Very happy to see them continue to find success.” To know more about this news, check out GitLab’s post. GitLab considers moving to a single Rails codebase by combining the two existing repositories Introducing GitLab Serverless to deploy cloud-agnostic serverless functions and applications GitLab 11.7 releases with multi-level child epics, API integration with Kubernetes, search filter box and more  
Read more
  • 0
  • 0
  • 1643

article-image-the-first-release-candidate-of-rails-6-0-0-is-now-out
Vincy Davis
25 Apr 2019
2 min read
Save for later

The first release candidate of Rails 6.0.0 is now out!

Vincy Davis
25 Apr 2019
2 min read
The first release candidate for Rails 6.0.0 was out yesterday. Rails 6.0.0 rc1 is the polished version of all the previous beta releases. Main features include Action Mailbox, Action Text, multiple database support, parallel testing, and Webpacker handling JavaScript by default. The latest  beta release, Rails 6.0.0.beta3 was released last month. In early January, the first release of Rails 6 was announced. Two new major frameworks are added in Rails 6.0 called Action Mailbox and Action Text. There are also two scalable upgrades in the form of multiple database support and parallel testing. Action Mailbox guides incoming emails to controller-like mailboxes in order for processing to take place in Rails. Action Text brings rich text and enables editing such files in Rails. Though the team at Rails couldn't meet their aspirational release schedule, they did manage to include around 1000 commits in Rails 6.0.0 rc1. The crew at The Pragmatic Programmers, particularly Sam Ruby, David Bryant Copeland have also come up with beta of Agile Web Development with Rails 6  to coincide with the release of rc1. For more information on the release, check out their official announcement. GitLab considers moving to a single Rails codebase by combining the two existing repositories Uber releases AresDB, a new GPU-powered real-time Analytics Engine Niantic, of the Pokemon Go fame, releases a preview of its AR platform
Read more
  • 0
  • 0
  • 2696
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 $15.99/month. Cancel anytime
article-image-electron-5-0-ships-with-new-versions-of-chromium-v8-and-node-js
Sugandha Lahoti
25 Apr 2019
2 min read
Save for later

Electron 5.0 ships with new versions of Chromium, V8, and Node.js

Sugandha Lahoti
25 Apr 2019
2 min read
After publicly sharing the release timeline for Electron 5.0 and beyond in February, On Tuesday Electron 5.0 was released, as per the plan, with new features, upgrades, and fixes. Electron ships with the latest version upgrades of core components Chromium, Node.js, and V8: Chromium 73.0.3683.119, Node.js 12.0.0, and V8 7.3.492.27. Electron 5.0 also includes improvements to Electron-specific APIs. With this release, Electron 2.0.x has reached end of life. Major changes in Electron 5.0 Packaged apps will now behave the same as the default app. A default application menu will be created (unless the app has one) and the window-all-closed event will be automatically handled. (unless the app handles the event) Mixed sandbox mode is now enabled by default. Renderers launched with sandbox: true will now be actually sandboxed, where previously they would only be sandboxed if mixed-sandbox mode was also enabled. The default values of nodeIntegration and webviewTag are now false to improve security. The SpellCheck API has been changed to provide asynchronous results. New features BrowserWindow now supports managing multiple BrowserViews within the same BrowserWindow. Electron 5 continues with Electron's Promisification initiative.  This initiative will convert callback-based functions in Electron to return Promises. During this transition period, both the callback and Promise-based versions of these functions will work correctly, and will both be documented. A total of 12 APIs were converted for Electron 5.0. Three functions were changed or added to systemPreferences to access macOS systems' colors. These include systemPreferences.getAccentColor, systemPreferences.getColor, and systemPreferences.getSystemColor The function process.getProcessMemoryInfo has been added to get memory usage statistics about the current process. New remote events have been added to improve security in the remote API. Now, remote.getBuiltin, remote.getCurrentWindow, remote.getCurrentWebContents and <webview>.getWebContents can be filtered. Deprecated APIs Three APIs are newly deprecated in Electron 5.0.0 and planned for removal in 6.0.0. These include Mksnapshot binaries for arm and arm64, ServiceWorker APIs on WebContents, and Automatic modules with sandboxed webContents. These are just a select few updates. For other specific details, you may see the release notes.  Also, check out the tentative 6.0.0 schedule for key dates in the Electron 6 development life cycle. Users can install Electron 5.0 with npm via npm install electron@latest or download the tarballs from Electron releases page. The Electron team publicly shares the release timeline for Electron 5.0 Flutter challenges Electron, soon to release a desktop client to accelerate mobile development How to create a desktop application with Electron [Tutorial]
Read more
  • 0
  • 0
  • 5091

article-image-net-for-apache-spark-preview-is-out-now
Amrata Joshi
25 Apr 2019
3 min read
Save for later

.NET for Apache Spark Preview is out now!

Amrata Joshi
25 Apr 2019
3 min read
Yesterday, at the Spark + AI summit, the team at Apache Spark announced .NET for Apache Spark, a popular open source distributed processing engine used for analytics over large data sets. It can also be used for processing real-time streams, batches of data, machine learning, and ad-hoc query. .NET fo Apache Spark for developers .NET for Apache Spark aims at making Apache Spark accessible to .NET developers across all Spark APIs. The team at Apache Spark aims to develop .NET for Apache Spark in the open (as a .NET Foundation member project) along with the Spark and .NET community for the developers. .NET for Apache Spark comes with high-performance APIs for using Spark from C# and F#. With .NET APIs, users can now access all aspects of Apache Spark including streaming, Spark SQL, DataFrames, MLLib, etc. It lets the developers reuse all the skills, code, knowledge, and libraries. The C#/ F# language that binds to Spark will be written on a new Spark interop layer that will offer easier extensibility. .NET for Apache Spark can be used on Linux, macOS, and Windows and is compliant with .NET Standard 2.0. .NET for Apache Spark performance The first preview version of .NET for Apache Spark performs well on the popular TPC-H benchmark. This benchmark consists of a suite of business-oriented queries. .NET for Apache Spark has a better performance against Python and Scala. It is also 2 times faster than Python. What more features can be expected? In the future, the team aims to simplify the documentation and samples and work towards native integration with developer tools such as Visual Studio, Visual Studio Code, Jupyter notebooks. Developers can also expect .NET support for user-defined aggregate functions and .NET idiomatic APIs for C# and F# (e.g., using LINQ for writing queries). The team is also working towards adding support for Azure Databricks, Kubernetes, etc. and making .NET for Apache Spark part of Spark Core. Few users are excited about this news and are expecting some major improvement with .NET for Spark. A user commented on HackerNews, “I've seen the announcement about .NET interior support in Apache Spark some time ago. The benchmarks are interesting and tell the story - in few cases it is faster than Python, but slower than native (for Spark) Scala/JVM. Maybe with Arrow interchange Python's performance would increase (and for other interpose that would use Array - i.e. for .Net).” Few others are confused about the transition, as they have to get their teams shifted to the new setup. Another user commented, “Indeed the real sad part is you can’t lead teams there early (premature optimization). Everybody seems to make the same rough transition on their own.” To know more about this news, check out the post by Apache Spark. Winners for the 2019 .NET Foundation Board of Directors elections are finally declared Fedora 31 will now come with Mono 5 to offer open-source .NET support ML.NET 1.0 RC releases with support for TensorFlow models and much more!
Read more
  • 0
  • 0
  • 2317

article-image-introducing-wapm-a-package-manager-for-webassembly
Bhagyashree R
24 Apr 2019
2 min read
Save for later

Introducing WAPM, a Package Manager for WebAssembly

Bhagyashree R
24 Apr 2019
2 min read
Yesterday, Syrus Akbary, the Founder and CEO of Wasmer, announced the release of WebAssembly Package Manager (WAPM). This package manager is introduced to make it easier for developers to use WebAssembly anywhere. Why WAPM is being introduced? With this package manager, the Wasmer team aims to improve the developer ergonomics of WebAssembly. Explaining the advantages of WAPM, Akbary said, “WebAssembly is an abstraction on top of chipset instructions, this enables wasm modules to run very easily on any machine. If we move this abstraction up we can unlock the potential of having universal binaries that can run anywhere, even on platforms/chipsets not supported at the moment of releasing the binary.” We already have Node.js Package Manager (NPM) that hosts WebAssembly modules. However, the team believes that WebAssembly on the server-side is a different use case and hence deserves a package manager specifically designed for it. What are its advantages? Following are the advantages that WAPM comes brings in: Allows developers to easily publish, download, and use WebAssembly modules. Allows developers to easily define commands on top of Wasm. Enables developers to create universal libraries in WebAssembly that can be used from all languages including Python, PHP, JavaScript, Rust, C, and C++. Enables support for different ABIs (Application Binary Interface) such as WASI, Emscripten, or even new ones in the future. This release comes with a ‘wapm’ command-line application and a website and package registry: wapm.io. Here’s a video demonstrating how WAPM works: https://www.youtube.com/watch?v=qDRcHIBFu0c After seeing the governance issues with NPM, many developers are skeptical about another private community package manager “I've grown uncomfortable with NPM being operated by NPM Inc instead of The Node.js Foundation, but it's a hard thing to change once it's established. We should hesitate to support the establishment of another community package manager by a for-profit company,” a Redditor said. To know more in detail, check out the official announcement. Mozilla introduces Pyodide, a Python data science stack compiled to WebAssembly Fastly open sources Lucet, a native WebAssembly compiler and runtime How you can replace a hot path in JavaScript with WebAssembly
Read more
  • 0
  • 0
  • 2906

article-image-developer-community-mourns-the-loss-of-joe-armstrong-co-creator-of-erlang
Sugandha Lahoti
22 Apr 2019
5 min read
Save for later

Developer community mourns the loss of Joe Armstrong, co-creator of Erlang

Sugandha Lahoti
22 Apr 2019
5 min read
Dr. Joe Armstrong, one of the creators of Erlang passed away over the weekend at the age of 68. Dr. Armstrong’s wife specified that he died from an infection of the lungs which occurred due to a quite recent diagnosis of pulmonary fibrosis. His lungs were donated to lung research. Francesco Cesarini, founder of Erlang solutions tweeted about Joe’s demise. https://twitter.com/FrancescoC/status/1119596234166218754 Robert Virding, co-creator of Erlang also payed his regards. https://twitter.com/rvirding/status/1119610591885307904 The developer community has also mourned the loss of Joe Armstrong with a large number of developers taking to various social media platforms to offer their condolences to Dr. Armstrong's family and paying their respects for him. Dr. Armstrong’s work with concurrency programming Dr. Armstrong was best known for helping lay foundations in the '70s and '80s to the most widely spread concurrency models as we know them today. In concurrent programming, multiple events, code snippets or programs are perceived to be executing at the same time. Unlike imperative languages, which uses routines or object-oriented languages, which use objects. Concurrency oriented languages use processes, actors, and agents as the main building blocks. Dr. Armstrong helped propel concurrency programming at a time when there was no IoT, web, massive multi-user online games, video streaming, and automated trading or online transactions. The Erlang programming language Erlang was co-created by Joe Armstrong alongside Robert Virding and Mike Williams in the 1980s at the Ericsson Computer Science Labs. While working there, Dr. Armstrong and his colleagues were looking for an approach to developing fault-tolerant and scalable systems. This resulted in the Erlang-style concurrency. He later received a Ph. D. in computer science from the Royal Institute of Technology in Stockholm, Sweden in 2003. He is also the author of a number of key books on the topic of Erlang including Concurrent Programming in Erlang, Programming Erlang: Software for a Concurrent World, and Coders At Work. Erlang was originally built for use only at Ericsson, as a proprietary language, to improve telephony applications. It was designed to be a fault-tolerant, distributed, real-time system that offered pattern matching and functional programming in one handy package. It was then open-sourced to the public in 1998. Since then, it has been responsible for business, big and small, to create reliable systems. Since then, Erlang has been one of the most popular open source languages with compelling features like concurrent processes, memory management, scheduling, distribution, networking, etc. WhatsApp, the most popular messaging platform’s server is almost completely implemented in Erlang. In 2018, Erlang celebrated 20 years of its open sourcing tracing its journey from Ericcson to Whatsapp. Erlang also inspired Elixir, a general-purpose programming language that runs on the Erlang virtual machine. Elixir is built on top of Erlang and shares the same abstractions for building distributed, fault-tolerant applications. Using Erlang modules in Elixir has helped in the creation of Nerves, which helps in building embedded software, and the web framework Phoenix. Remembering Dr. Joe Armstrong Many developers have shared their sentiments on Dr. Armstrong’s demise, with most of them describing him as a kind and compassionate developer who was more interested in teaching than his ego. Thomas Gebert, a software developer shared an email thread where he asked Joe Armstrong about concurrency. He states, “Dr. Armstrong’s enthusiasm about Erlang, distributed programming, and pretty much everything else about computers was really a good springboard for self-education.” Even though Thomas asked some serious noobie questions about concurrency, Dr. Armstrong responded back with an incredibly long, well-written email explaining a lot of the minutia of how Erlang avoids a lot of pitfalls and generic concurrency theory. Thomas adds, “He was really good about explaining things in a way simple-enough for me to understand, without coming off as patronizing or rude.” A lot of people also took to Twitter to share their experiences working with Dr. Armstrong. https://twitter.com/zxq9_notits/status/1119602063506206725 https://twitter.com/glv/status/1119706037689491456 https://twitter.com/ktosopl/status/1119612076190601217 https://twitter.com/jboner/status/1119651034933100544 “He and I discussed distributed storage. Well detailed response from him that sent me reading for days. I aspire to be like him.” reads a comment on Hacker News. Such was his popularity. Here are some of his memorable quotes on a varied set of topics of interest to him. “All significant energy gains in the last 50 odd years are the result of new hardware NOT software.” https://twitter.com/joeerl/status/1115988725111169025 Prediction: One day computers might become useful https://twitter.com/joeerl/status/1114558139217711104 “One on the disadvantages of having a PhD in computer science is that I get asked really difficult questions. Like - "In gmail on my iPhone I press archive - can I get my mail back?" and "Why have they changed the interface?" Why no easy questions like what's a monad?” https://twitter.com/joeerl/status/1113847695612022785 The Erlang Ecosystem Foundation launched at the Code BEAM SF conference Elixir 1.7, the programming language for Erlang virtual machine, releases Introducing Mint, a new HTTP client for Elixir
Read more
  • 0
  • 0
  • 5582
article-image-crystal-0-28-0-released-with-improved-language-ranges-library-lookup-and-more
Amrata Joshi
19 Apr 2019
2 min read
Save for later

Crystal 0.28.0 released with improved language, ranges, library lookup and more

Amrata Joshi
19 Apr 2019
2 min read
Yesterday, the team at Crystal released Crystal 0.28.0, a new version of the general-purpose, object-oriented programming language. This release comes with improvements to language, library, networking and much more. What’s new in Crystal 0.28.0 Enums Enums are declared with one line per each member. In the previous versions, users could use spaces or commas, but in this version, users have to use a semicolon. The formatter will now migrate commas to a semicolon. Improved ranges Sometimes users don’t know where to start or finish, from this release users can now understand it better with the help of ranges as they have been categorized as begin-less and end-less ranges. Library lookup The team at Crystal has worked towards simplifying how some libraries and static libraries are looked up and therefore can be overridden in case it is needed. In this release, an env var CRYSTAL_LIBRARY_PATH is used in the process of determining the location of libraries to link to. Numbers now in human readable format In this release, numbers can now be printed in a human-readable form with the help of Number#humanize, Int#humanize_bytes and Number#format. Networking The team has improved HTTP and URI and have made it easy for users to migrate to the new setup. Issues in the URI implementation have been fixed. Collections The team has dropped Iterator#rewind. Users can implement #cycle by storing elements in an array. Bug fixes The issues in the compiler have now been fixed and even the errors in some code constructs have been handled. Issues related to method lookup have been fixed. Type inference has been improved. The team has worked on the error messages, they have been improved. To know more about this news, check out Crystal’s post. Crystal 0.27.0 released Qt Creator 4.9.0 released with language support, QML support, profiling and much more Redox OS 0.50 released with support for Cairo, Pixman, and other libraries and packages    
Read more
  • 0
  • 0
  • 1274

article-image-xubuntu-19-04-releases-with-latest-xfce-package-releases-new-wallpapers-and-more
Sugandha Lahoti
19 Apr 2019
3 min read
Save for later

Xubuntu 19.04 releases with latest Xfce package releases, new wallpapers and more

Sugandha Lahoti
19 Apr 2019
3 min read
The team behind Xubuntu, have released a new update for the lightweight, GTK-based desktop environment built around Ubuntu. Xubuntu 19.04 is available since yesterday as a part of the Ubuntu 19.04 "Disco Dingo" launch. New features include latest Xfce package releases, new wallpapers/artwork, re-addition of GIMP to ISO, and various other changes. Xubuntu 19.04 also halts the production of x86 32-bit install images. New additions in Xubuntu 19.04 AptURL is now included in the latest release. It provides an easy way to link to and install packages from the repositories. It supports most browsers and works without any additional configuration when installed. GIMP (GNU Image Manipulating Program), a feature-packed image editor also ships with this release. It was notably absent from Xubuntu since 15.04 “Vivid Vervet”. The addition of LibreOffice Impress completes the Xubuntu office suite. Impress makes it possible for users to quickly and easily produce and present high-quality presentations. It comes with a number of great templates already installed, and hundreds more at the LibreOffice Extensions website. Updates to existing Xfce settings Xfce Application Finder The application Finder is ported to GTK 3 and searches are now fuzzy Menu items without a name are no longer displayed Applications can now be launched by pressing Enter once The Application Finder will no longer crash when toggling bookmarks A new preference was added to hide the category panel and it has improved application sorting and keyboard navigation Xfce Desktop Orientation option is added for icon arrangement Support for the RandR primary monitor is added Integration for the AccountsService wallpaper is added The crash with monitor changes is fixed. Also the icon size in the “Open With” submenu is fixed. Xfce Dictionary Crashes related to invalid URLs were resolved Web search links are only displayed when URLs are valid The link tooltip is now escaped, fixing display issues Xfce Panel Maximum icon size can be specified for improved control. Per-panel icon size preferences are added Numerous improvements are made to plugin display and sizing issues Support for alternative menu editors, with MenuLibre as default is added Fixed issues with clicking panel items at the top or left of the screen Fixed space reservation on the bottom and right of the screen Fixed crashes in the Directory Menu plugin and when removing certain plugins Fixed alignment of various plugin menus and the display of the binary clock Xfce Screenshooter Added width and height to the region select overlay Fixed delay functionality in the panel plugin and saving screenshots from the panel plugin Improved Imgur upload results dialog Improved support when XInput is not available and for HiDPI displays Xfce Session Replaced packaging recommendation on Xscreensaver with Light Locker Added support for MATE Screensaver and Xfce Screensaver Xfce System Load Plugin Reworked preferences dialog The default update interval was updated to 0.5 seconds Xfce Task Manager Builds now default to GTK 3, with GTK 2 being removed in the next release Improved UTF-8 normalization Fixed crash when closing processes Xubuntu Artwork New desktop wallpaper for 19.04 New release-agnostic wallpaper for Plymouth These are just a select few updates. For a more exhaustive version, head over to the blog post by Bluesabre. If you want to contribute, check out the Xubuntu contributor documentation to learn how to get started. Ubuntu 19.04 Disco Dingo Beta releases with support for Linux 5.0 and GNOME 3.32 Chromium blacklists nouveau graphics device driver for Linux and Ubuntu users Ubuntu 18.10 ‘Cosmic Cuttlefish’ releases with focus on AI development, multi-cloud and edge deployments, and much more
Read more
  • 0
  • 0
  • 3850

article-image-microsoft-bling-introduces-fire-a-finite-state-machine-and-regular-expression-manipulation-library
Natasha Mathur
18 Apr 2019
2 min read
Save for later

Microsoft Bling introduces Fire: a Finite state machine and regular expression manipulation library

Natasha Mathur
18 Apr 2019
2 min read
A Microsoft team named Bling (Beyond Language Understanding) announced a Finite State machine and regular expression manipulation library called Fire, yesterday. Fire has been developed to use in case of different linguistic operations inside Bing including Tokenization, Multi-word expression matching, Unknown word-guessing, and Stemming/Lemmatization among others. Under Fire comes a tokenizer, which has been designed for fast-speed and quality tokenization of Natural Language text. Fire tokenization uses the tokenization logic of NLTK (Natural Language Toolkit), with an exception that hyphenated words can be split and only a few errors can be fixed. Also, when compared with other popular NLP libraries, Bling Fire becomes 10X faster speed in tokenization task. The latest release of Bling Fire model is enabled to support most languages including East Asian (Chinese Simplified, Traditional, Japanese, Korean, Thai). The tokenizer’s high-level API is friendly to use from languages such as Python, Perl, C#, Java, etc. Also, the tokenizer has been designed in a way that it requires 0 zero configurations, or initialization, or additional files. The reason Tokenizer is very fast is because it makes use of deterministic finite state machines underneath. In order to use the Bling Fire Library and Finite State Machine manipulation tools, the project can be built on Windows/Linux using CMake, which allows you to create your own tokenization/segmentation, stemming, etc. To use the Bling Fire Library in Python, users can install the release with the help of using: pip install blingfire For more information, check out Bling Fire on GitHub. Microsoft reveals certain Outlook.com user accounts were hacked for months Microsoft makes the first preview builds of Chromium-based Edge available for testing Microsoft announces the general availability of Live Share and brings it to Visual Studio 2019
Read more
  • 0
  • 0
  • 3279
article-image-redhat-takes-over-stewardship-for-the-openjdk-8-and-openjdk-11-projects-from-oracle
Sugandha Lahoti
18 Apr 2019
2 min read
Save for later

RedHat takes over stewardship for the OpenJDK 8 and OpenJDK 11 projects from Oracle

Sugandha Lahoti
18 Apr 2019
2 min read
Yesterday, Red Hat announced that it will serve as a steward of OpenJDK 8 and OpenJDK 11, following the transition from Oracle. “With this transition”, says Red Hat, “we are affirming our support of the Java community and following a similar path that led to its leadership of both the OpenJDK 6 and OpenJDK 7 projects.” At the end of January 2019, Oracle officially ended free public updates to Oracle JDK for non-Oracle customer commercial users. These users will no longer be able to get updates without an Oracle support contract. Additionally, Oracle has changed the Oracle JDK license (BCPL) so that commercial use for JDK 11 and beyond will require an Oracle subscription. The leadership transfer actually happened mid-February, when Red Hat's Java technical lead, Andrew Haley was assigned as the Lead Maintainer in the JDK 8u Updates and JDK 11u Updates projects in OpenJDK. While Andrew is the lead whose job is to accept backports, the actual people who do the backporting work span multiple companies: Red Hat, SAP, Oracle, Amazon, Google, etc. These vendors share the backporting, reviewing, testing work. OpenJDK 8u, 11u Update Projects is where that collaboration happens, and Red Hat is leading that collaboration. Additionally, in December 2018, Red Hat announced commercial support for OpenJDK on Microsoft Windows. Red Hat plans to launch OpenJDK in a Microsoft installer in the coming weeks and distribute IcedTea-Web, the free software implementation of Java Web Start, as part of the Windows OpenJDK distribution. Mike Piech, vice president, and general manager, Middleware, Red Hat notes, " There is a developer hunger to bring Java into the next generation of development, and Red Hat is a leader in this movement through our involvement in the OpenJDK project. We are helping to lead the way in our efforts to enable users of JDK to have support and innovation in their existing environments. Red Hat remains committed to Java and is excited to have the opportunity to help steward the OpenJDK community." The OpenJDK Transition: Things to know and do Mark Reinhold on the evolution of Java platform and OpenJDK RedHat’s OperatorHub.io makes it easier for Kuberenetes developers and admins to find pre-tested ‘Operators’ for applications.
Read more
  • 0
  • 0
  • 3072

article-image-android-studio-3-4-releases-with-android-q-beta-emulator-a-new-resource-manager-and-more
Sugandha Lahoti
18 Apr 2019
2 min read
Save for later

Android Studio 3.4 releases with Android Q Beta emulator, a new resource manager and more

Sugandha Lahoti
18 Apr 2019
2 min read
Yesterday, Google released Android Studio 3.4, the latest version of its integrated development environment (IDE). Version 3.3 was released earlier this year. This release is the continuation of 'Project Marble’, Google’s initiative to improve Android Studio features. Android Studio 3.4 has an updated Project Structure Dialog (PSD). It also replaces Proguard with R8 as the default code shrinker and obfuscator. This release also supports the Android Q Beta and Intellij 2018.3.4. New features in Android Studio 3.4 Project Structure Dialog: This is a new user interface front end to manage Gradle project files. PSD allows developers to see and add dependencies to their project at a module level. Additionally, it displays build variables, suggestions to improve build file configuration etc. New Resource Manager: The resource manager is a new tool to visualize the drawables, colors, and layouts across your app project in a consolidated view. In addition to visualization, the panel supports drag & drop bulk asset import, and bulk SVG to VectorDrawable conversion. R8 replaces Proguard: R8 is now used as the default code shinker for new projects created with Android Studio 3.4. R8 code shrinking helps reduce the size of your APK by getting rid of unused code and resources as well as making your actual code take less space. Additionally, in comparison to Proguard, R8 combines shrinking, desugaring and dexing operations into one step. Import Intentions: Android Studio 3.4 will now recognize common classes in Jetpack and Firebase libraries. It will also suggest, via code intentions, adding the required import statement and library dependency to your Gradle project files. Android Emulator Skin updates and Android Q Beta Emulator System Image: Users can now download Android Q Beta emulator system images for app testing on Android Q. Android Studio 3.4 also includes the latest Google Pixel 3 and Google Pixel 3 XL device skins. Read more about this release on the Android Developers Blog. You can download the latest version of Android Studio 3.4 from the Android download page. Android Studio 3.3 released with support for Navigation Editor, C++ code lint inspections, and more Google announces the stable release of Android Jetpack Navigation Android Q will reportedly give network carriers more control over network devices
Read more
  • 0
  • 0
  • 2325