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-fedora-announces-the-first-preview-release-of-fedora-coreos-as-an-automatically-updating-linux-os-for-containerized-workloads
Vincy Davis
19 Jul 2019
3 min read
Save for later

Fedora announces the first preview release of Fedora CoreOS as an automatically updating Linux OS for containerized workloads

Vincy Davis
19 Jul 2019
3 min read
Three days ago, Fedora announced the first preview release of the open-source project Fedora CoreOS as a secure and reliable host for computer clusters. It is specifically designed for running containerized workloads with automatic updates to the latest OS improvements, bug fixes, and security updates. It is secure, minimal, monolithic and is optimized for working with Kubernetes. The main goal of Fedora CoreOS is to be a reliable container host to run containerized workloads securely and at scale. It integrates Ignition from Container Linux technology and rpm-ostree and SELinux hardening from Project Atomic Host. Fedora CoreOS is expected to be a successor to Container Linux eventually. The Container Linux project will continue to be supported throughout 2019, leaving users with ample time to migrate and provide feedback. Fedora has also assured Container Linux users that continued support will be provided to them without any disruption. Fedora CoreOS will also become the successor to Fedora Atomic Host. The current plan is for Fedora Atomic Host to have at least a 29 version and 6 months of lifecycle. Fedora CoreOS will support AWS, Azure, DigitalOcean, GCP, OpenStack, Packet, QEMU, VirtualBox, VMware, and bare-metal system platforms. The initial release of Fedora CoreOS will only run on bare metal, Quick Emulator (QEMU), VMware, and AWS on the 64-bit version of the x86 instruction set (x86_64) only. It supports provisioning via Ignition spec 3.0.0 and the Fedora CoreOS Config Transpiler, and will provide automatic updates with Zincati and rpm-ostree, and will run containers with Podman and Moby. Benjamin Gilbert from Red Hat, who is the primary sponsor for FedoraOS wrote a mail archive announcing the preview. Per Gilbert,  in the coming months, more platforms will be added to Fedora CoreOS and new functionalities will be explored. He has also notified users that the Fedora CoreOS preview should not be used for production workloads, as it may change before the stable release. Since Fedora CoreOS is freely available, it will embrace a variety of containerized use cases while Red Hat CoreOS will continue to provide a focused immutable host for OpenShift. It will be released and life-cycled at the same time as the platform. Users are happy with the first preview of Fedora CoreOS. https://twitter.com/datamattsson/status/1151963024175050758 A user on Reddit comments, “Wow looks awesome”. For details on how to create Ignition configs, head over to the Fedora Project docs. Fedora Workstation 31 to come with Wayland support, improved core features of PipeWire, and more Fedora 30 releases with GCC 9.0, GNOME 3.32, performance improvements, and much more! Fedora 30 Beta released with desktop environment options, GNOME 3.32, and much more
Read more
  • 0
  • 0
  • 14539

article-image-gnome-3-34-releases-with-tab-pinning-improved-background-panel-custom-folders-and-more
Amrata Joshi
13 Sep 2019
4 min read
Save for later

GNOME 3.34 releases with tab pinning, improved background panel, custom folders and more!

Amrata Joshi
13 Sep 2019
4 min read
Yesterday, GNOME 3.34 was released as the latest version of GNOME, the open-source desktop environment for Unix-like operating systems GNOME 3.34 comes 6 months after the release of GNOME 3.32, with features such as custom folders, tab pinning, improved background panel, Boxes, and much more. This release also offers support for more than 34 languages with at least 80 percent of strings translated. [box type="shadow" align="" class="" width=""]Fun Fact: GNOME 3.34 release is termed “Thessaloniki” in recognition of GNOME’s primary annual conference GUADEC which was held in Thessaloniki, Greece.[/box] What’s new in GNOME 3.34? Visual refreshers This release includes visual refreshes for a number of applications, including the desktop. The background selection settings have been redesigned and it is now easy to select custom backgrounds. Custom folders This release introduces custom folders in the application overview where users can simply drag an application icon on top of another for creating a folder. Once all the icons have been dragged out, folders are automatically removed. Tab pinning GNOME 3.34 brings tab pinning, so users can now pin their favorite tabs and save them in the tab list. Improved ad-blocking In this release, the ad-blocking feature has now been updated to use WebKit content filters.  Improved box workflow GNOME’s virtual and remote machine manager, ‘boxes’ has received a number of improvements. Separate dialogs are now being used while adding a remote connection or external broker. The existing virtual machines can now be booted from an attached CD/DVD image so users can now simulate dual-booting environments. Game state can now be saved GNOME’s retro gaming application, ‘Games’ can now support multiple save states per game. Users can save as many game state snapshots as they want. Users can also export the Save states and share them or move them between devices. Improved Background panel The Background panel has been redesigned and it shows a preview of the selected background that is in use under the desktop panel and lock screen. Users can now add custom backgrounds by using the “Add Picture… button”. Improvements in Music application Music can now watch tracked sources including the Music folder in the Home directory for new or changed files and will now get updated automatically. This release features gapless playback and comes with an updated layout where the album, artist and playlist views have now been updated with a better layout. https://youtu.be/qAjPRr5SGoY Updates for Developers and System Administrators Flaptak 1.4 releases in sync with GNOME 3.34 Flatpak 1.4 has been released in sync with GNOME 3.34. Flatpak is central to GNOME’s developer experience plans and is a cross-distribution, cross-desktop technology for application building and distribution. New updates to Builder In this release, Builder, a GNOME IDE has also received a number of new features; it can now run a program in a container via podman. Even the Git integration has now been moved to an out-of-process gnome-builder-git daemon.  Sysprof has been integrated with core platform libraries In this release, Sysprof, the GNOME instrumenting and system profiling utility has been improved; it has now been integrated with a number of core platform libraries such as GTK, GJS, and Mutter. New applications: Icon Library and Icon Preview  In this release, two new applications, Icon Library and Icon Preview have been released, Icon Library can be used for browsing symbolic icons and Icon Preview helps designers and developers in creating and testing new application icons.  Improved font rendering library Pango, the font rendering library now makes rendering text easier as developers will now have more advanced control over their text rendering options.  To know more about this news, check out the release notes. Other interesting news in Programming GitHub Package Registry gets proxy support for the npm registry Project management platform ClubHouse announces ‘Free Plan’ for up to 10 users and a new documentation tool The Eclipse Foundation releases Jakarta EE 8, the first truly open-source, vendor-neutral Java EE    
Read more
  • 0
  • 0
  • 14511

article-image-apache-netbeans-9-0-rc1-released
Pavan Ramchandani
01 Jun 2018
2 min read
Save for later

Apache NetBeans 9.0 RC1 released!

Pavan Ramchandani
01 Jun 2018
2 min read
Apache foundation announced the RC release of NetBeans 9.0. They also announced the feature set and tools applicable for Java development, including Java Swing, JavaFX, and the support created specifically for Java 9. Apache in its release note mentioned that the focus for this release is mainly on: IP clearance of the Oracle code donation Support for the latest Java SE versions - Java 9 and Java 10 The following are some of the most important features that will be the part of NetBeans 9.0 release: Supporting Local Variable Type Inference: The type inference associated with local variables is used by JDK for definition inside methods, initialization blocks, for-loops, and other blocks like if-else. Supporting the Jigsaw Module System: The Jigsaw module system was announced under Project Jigsaw with a primary goal of making the development easy for large applications that include calling a lot of libraries. It was implemented to maintain libraries, secure and maintain the Java SE platform, and scale the performance of JDK based on the size of the applications. NetBeans 9.0 will be supporting the modules system for Project Jigsaw. New Java Modular Application project type: The modularity feature is considered to be one of the most emerging technology features introduced in Java 9. It helps developers to build productive and easily maintainable software that uses Java, especially for enterprise applications. NetBeans 9.0 will see the full support for modularity. Java Shell support: Java Shell (jShell) is a command line introduced in Java 9 to help write smaller programs efficiently without the hassles of declarations, creating classes, etc. NetBeans 9.0 provides integrated console-like UI for the Java Shell and hence making the development, a bit more hassle-free. You can read more about the known issues in the RC release on the confluence page. The source and binaries for NetBeans 9.0 RC1 can be downloaded from Apache’s mirrors. What can you expect from the upcoming Java 11 JDK? Forget C and Java. Learn Kotlin: the next universal programming language
Read more
  • 0
  • 0
  • 14497

article-image-docker-and-microsoft-collaborate-over-wsl-2-future-of-docker-desktop-for-windows-is-near
Amrata Joshi
18 Jun 2019
5 min read
Save for later

Docker and Microsoft collaborate over WSL 2, future of Docker Desktop for Windows is near

Amrata Joshi
18 Jun 2019
5 min read
WSL was a great effort towards emulating a Linux Kernel on top of Windows. But due to certain differences between Windows and Linux, it was quite impossible to run the Docker Engine and Kubernetes directly inside WSL. So, the Docker Desktop developed an alternative solution with the help of Hyper-V VMs and LinuxKit to achieve the seamless integration. On 16th June, Docker announced WSL 2 with a major architecture change where the company will provide a real Linux Kernel running inside a lightweight VM instead of emulation. This approach is architecturally similar to LinuxKit and Hyper-V but  WSL 2 has an additional benefit that it is more lightweight and tightly integrated with Windows. Even the Docker daemon runs properly on it with great performance. The team further announced that they are working on new version of Docker Desktop that would leverage WSL 2 and the public preview will be expected in July. The official blog reads, “We are very excited about this technology, and we are happy to announce that we are working on a new version of Docker Desktop leveraging WSL 2, with a public preview in July. It will make the Docker experience for developing with containers even greater, unlock new capabilities, and because WSL 2 works on Windows 10 Home edition, so will Docker Desktop.” In context with integration of Microsoft the blog reads, “As part of our shared effort to make Docker Desktop the best way to use Docker on Windows, Microsoft gave us early builds of WSL 2 so that we could evaluate the technology, see how it fits with our product, and share feedback about what is missing or broken. We started prototyping different approaches and we are now ready to share a little bit about what is coming in the next few months.” The future of Docker Desktop will have WSL 2 The team will replace the Hyper-V VM by a WSL 2 integration package. The package will offer the same features as the current Docker Desktop including automatic updates, transparent HTTP proxy configuration, VM: Kubernetes 1-click setup, access to the daemon from Windows, etc. This package will contain both the server-side components that are required to run Docker and Kubernetes and the CLI tools to interact with those components within WSL. WSL 2 will enable seamless integration with Linux With WSL 2 integration, users will experience seamless integration with Windows, but even Linux programs that are running inside WSL will be able to do the same. This creates a huge impact for developers that are working on projects related to the Linux environment, or with a build process for Linux. Now there won’t be a need for maintaining both Linux and Windows build scripts. For example, a developer at Docker can now work on the Linux Docker daemon on Windows, using the same set of tools and scripts as a developer on a Linux machine. The bind mounts from WSL will now support inotify events (inotify is a Linux kernel subsystem) and will have almost identical I/O performance as on a native Linux machine. This will solve one of the major Docker Desktop issues with I/O-heavy toolchains. This feature will benefit NodeJS, PHP and other web development tools. Improved performance and reduced memory consumption The VM has been setup to use dynamic memory allocation and schedule work on all the Host CPUs. It will be consuming lesser memory which would be in the limit of what the host can provide. Docker Desktop will leverage this for improving its resource consumption and use CPU and memory as per its needs. The CPU/Memory intensive tasks such as building a container will also run much faster. Leveraging WSL 2 Docker desktop will support bind mount One of the major problems that the users have with Docker Desktop is the reliability of Windows file bind mounts. The current implementation is dependent on Samba Windows service, which could be deactivated, blocked by enterprise GPOs or even blocked by 3rd party firewalls etc. But Docker Desktop with WSL 2 solves these issues by leveraging WSL features to implement the bind mounts of Windows files.   Few users seem to be unhappy with this news, one of them commented on HackerNews, “So, I think the main sticking point here is the lock-in of Hyper-V. By making a new popular feature completely dependent on a technology that explicitly disables the use of competitive hypervisors, they're giving with one hand and taking with the other. If I was on VM-Ware's executive team, I'd be seriously thinking about filing an anti-trust complaint and the open source community should be thinking about whether submarining virtualbox is worth what Microsoft is doing here.” Others think that WSL 2 is a full Linux kernel that runs in Hyper-V. Another comment reads, “WSL 2 is a full Linux kernel running in Hyper-V rather than an emulation layer on top of NT.” To know more about this news, check out the official post by Docker. How to push Docker images to AWS’ Elastic Container Registry(ECR) [Tutorial] All Docker versions are now vulnerable to a symlink race attack Docker announces collaboration with Microsoft’s .NET at DockerCon 2019      
Read more
  • 0
  • 0
  • 14457

article-image-python-software-foundation-and-jetbrains-python-developers-survey-2018
Prasad Ramesh
07 Feb 2019
2 min read
Save for later

Python Software foundation and JetBrains’ Python Developers Survey 2018

Prasad Ramesh
07 Feb 2019
2 min read
The Python Software Foundation and JetBrains conducted a Python survey to find the latest trends, usage, adoption in the Python community. There were more than 20,000 participants from over 150 countries. The Python Developers Survey 2018 was conducted for the second time in collaboration after the first one in 2017. Language usage From the Python survey, 84% of the developers stated that they use it as their primary language while the other 16% used it as a secondary language. This is up from the 79% of developers using Python as primary from 2017. About 50% of Python users also use JavaScript while other languages like C/C++, Java, and C# are used lesser than 2017. Bash/Shell is also being used more by Python developers. Python uses 60% of the respondents said that they use Python for both work and personal uses. 21% exclusively for personal, educational or side projects and 19% for work. 58% of Python users use the language for data analysis which is 8% more than last year. 52% use Python for web development and 43% for DevOps/system administration. Machine learning uses also saw an uptick of 7% and stands at 38%. In general, Python is used in data analysis applications more than for Web Development. The above numbers where multiple areas were available as choices. When there was only a single response available, web development was the most popular answer with 27%. Data analysis stood at 17% and machine learning at 11%. Interestingly, if you consider ‘data science’ data analysis and machine learning combined then most Python users are in this area totaling 28%. Python versions in use Python 3 is seeing larger adoption with 84% compared to 75% from 2017. Python 2 stands at 16% and will lose support from the core team next year. Major libraries are already dropping support for Python 2. Frameworks and libraries In web frameworks, Flask and Django were the most popular with 47% and 45%. In data science packages, NumPy was the most used with 62%. pandas and Matplotlib stand at 51% and 46%. To know more in-depth results of the Python survey, you can visit the JetBrains website. pandas will drop support for Python 2 this month with pandas 0.24 Python steering council election results are out for January 2019 Python 3.8.0 alpha 1 is now available for testing
Read more
  • 0
  • 0
  • 14438

article-image-introducing-rustpython-a-python-3-interpreter-written-in-rust
Prasad Ramesh
04 Feb 2019
2 min read
Save for later

Introducing RustPython, a Python 3 interpreter written in Rust

Prasad Ramesh
04 Feb 2019
2 min read
RustPython is an open-source Python 3 interpreter written in Rust with the whole Python 3 implementation completely done in Rust. This interpreter is currently in the early stages and the documentation is also being developed. You need wasm-pack and npm to install it. You can test it by using the following code: $ git clone https://github.com/RustPython/RustPython $ cd RustPython $ cargo run demo.py Hello, RustPython! The code style used is rustfmt. You can also test with cargo on the interactive shell.You can run only basic examples as currently there is only preliminary support for WebAssembly. Using a memory safe language like Rust instead of C or C++ has benefits as pointed out by a Hacker new user: “At least 1/3 of Python's CVEs could have been prevented by using a memory safe language like Rust.” Another user said: “This is wonderful. This could become the best way to move Python projects to Rust: initially just run on the RustPython interpreter, but then optimize low-level routines in Rust. In 15 years I wouldn't be surprised if this or something like it surpasses CPython in popularity.” For more details and installation instructions visit the GitHub repository. Rust 1.32 released with a print debugger and other changes EuroPython Society announces the ‘Guido van Rossum Core Developer Grant’ program to honor Python core developers Python governance vote results are here: The steering council model is the winner
Read more
  • 0
  • 0
  • 14417
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-a-kernel-vulnerability-in-apple-devices-gives-access-to-remote-code-execution
Prasad Ramesh
01 Nov 2018
2 min read
Save for later

A kernel vulnerability in Apple devices gives access to remote code execution

Prasad Ramesh
01 Nov 2018
2 min read
A heap buffer overflow vulnerability was found in Apple’s XNU OS kernels by Kevin Backhouse. An exploit can potentially cause any iOS or macOS device on the same network to reboot, without any user interaction. Apple has classified this kernel vulnerability as a remote code execution (RCE) vulnerability in the kernel. It may be possible to exploit buffer overflow to execute arbitrary code in the kernel. The vulnerability is fixed in iOS 12 and macOS Mojave. The vulnerability is caused by a heap buffer overflow in the networking code within the XNU kernel. XNU is a kernel system developed by Apple. It is used in both iOS and macOS, hence most iPhones, iPads, and Macbooks are affected. An attacker merely needs to send a malicious IP packet the target device’s IP address to trigger this. The vulnerability is triggered only if the attacker is in the same network as the target. This becomes easy if you’re using a free WiFi network from a coffee shop. The vulnerability being in the kernel, anti-viruses cannot protect your device. The attacker can control the size and content of the heap buffer giving a potential to gain remote code execution of a device. There are two known mitigations against this kernel vulnerability: Enabling stealth mode in the macOS firewall prevents the attack from taking place. Don’t use public WiFi networks as there is a high risk of being attacked. These OS versions and devices are vulnerable: All devices with Apple iOS 11 and earlier All Apple macOS High Sierra devices up to 10.13.6. This is patched in security update 2018-001. Devices using Apple macOS Sierra up to 10.12.6. This is patched in security update 2018-005. Apple OS X El Capitan and earlier devices The kernel vulnerability was reported by Kevin Backhouse to Apple in time to be rolled out with iOS 12 and macOS Mojave. The vulnerabilities were announced on October 30. For more details visit the LGMT website. Final release for macOS Mojave is here with new features, security changes and a privacy flaw The kernel community attempting to make Linux more secure Apple has introduced Shortcuts for iOS 12 to automate your everyday tasks
Read more
  • 0
  • 0
  • 14365

article-image-gnu-c-library-version-2-30-releases-with-posix-proposed-functions-support-for-unicode-12-1-0-new-linux-functions-and-more
Vincy Davis
05 Aug 2019
3 min read
Save for later

GNU C Library version 2.30 releases with POSIX-proposed functions, support for Unicode 12.1.0, new Linux functions and more!

Vincy Davis
05 Aug 2019
3 min read
Last week, the GNU C Library version 2.30 was made available to all users. The major highlights of this release include new POSIX (Portable Operating System Interface)-proposed functions, support for Unicode 12.1.0, support to --preload argument to preload shared objects, addition of new functions such as getdents64, gettid, and tgkill to Linux and more. The GNU C Library is used in the GNU systems, GNU/Linux systems as well as on other systems that use Linux as the kernel. It is a portable and high performance C library. Major new features in GNU C Library version 2.30 New POSIX-proposed pthread_cond_clockwait, pthread_mutex_clocklock, pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock and sem_clockwait functions have been introduced in GNU C Library version 2.30. All the functions allow waiting against CLOCK_MONOTONIC and CLOCK_REALTIME.  The GNU C Library version 2.30 has an added support of Unicode 12.1.0. Character encoding, character type info, and transliteration tables have also been updated to Unicode 12.1.0. The dynamic linker will now accept the --preload argument to preload shared objects along with the LD_PRELOAD environment variable. The getdents64, gettid, and tgkill functions have been added on Linux. Memory allocation functions malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign, and posix_memalign will need object size smaller than PTRDIFF_MAX. This will help the memory allocation functions to avoid potential undefined behavior with pointer subtraction within the allocated object, which caused ptrdiff_t type overflow. Deprecated features influencing compatibility Functions like clock_gettime, clock_getres, clock_settime, clock_getcpuclockid, clock_nanosleep have been removed from the librt library for new applications. The outdated  XSI STREAMS header files <stropts.h> and <sys/stropts.h> and the RES_INSECURE1 and RES_INSECURE2 option flags for the DNS stub have been abolished. The support for “inet6” option in /etc/resolv.conf and the RES_USE_INET6 resolver flag have been eliminated. The Linux-specific <sys/sysctl.h> header and the sysctl function have been removed from the GNU C Library version 2.30 and also will not be present in the future versions of glibc. The getentropy function can be used for obtaining random bits. Bug Fixes in GNU C Library version 2.30 gettid() to have a wrapper in libc nftw() does not return dangling symlink's inode in libc mtrace hangs when MALLOC_TRACE is defined in malloc memusagestat is built using system C library in malloc libpthread IFUNC resolver for vfork can lead to crash in nptl These are select few updates. For more information, you may go through the libc sourceware page. Debian 10 codenamed ‘buster’ released, along with Debian GNU/Hurd 2019 as a port Google proposes a libc in LLVM, Rich Felker of musl libc thinks it’s a very bad idea GNU APL 1.8 releases with bug fixes, FFT, GTK, RE and more
Read more
  • 0
  • 0
  • 14315

article-image-electron-3-0-0-releases-with-experimental-textfield-and-button-apis
Natasha Mathur
19 Sep 2018
2 min read
Save for later

Electron 3.0.0 releases with experimental textfield, and button APIs

Natasha Mathur
19 Sep 2018
2 min read
The Electron team announced the first stable release Electron 3.0.0, yesterday. Electron 3.0.0 comes with upgrades, fixes, and other changes. Electron is a framework which helps create native cross-platform applications with web technologies such as JavaScript, HTML, and CSS. Let’s see what’s new in Electron 3.0.0. New Features and changes There are two new features added in Electron 3.0.0, namely, TextField and Button APIs. However, these APIs are currently experimental and have been therefore turned off by default. You can enable these APIs with the enable_view_api build flag. The fs.readSync feature now works with massive files.  There’s a new netLog API added for dynamic logging control. Breaking API changes With Electron 3.0.0, updates have been made to menu item order control. The did-get-response-details and did-get-redirect-request events have been removed. JSON is no longer used to send the result of ipcRenderer.sendSync. The api::Window has been renamed to api::BrowserWindow. The app-command media-play_pause has been renamed to media-play-pause. macOS A new workspace notifications support has been added. There’s also a mouse forward functionality now on macOS. Windows A DIP has been added to/from screen coordinate conversions. Bug Fixes The issue with fs.statSyncNoException throwing exceptions has been fixed. The occurrence of a crash when loading site with jquery has been fixed. Also, the crash in net::ClientSocketHandle destructor has been fixed. Now, with Electron 3.0.0, the focus change will be notified right away rather than on next tick. macOS The context menu click callback has been fixed. The tray.setContextMenu crash has been resolved. Also, tray title crash has been fixed. The mac protocol that used to get set to none after calling app.removeAsDefaultProtocolClient, is resolved. Linux BrowserWindow.focus() for offscreen windows has been fixed. For more information on Electron 3.0.0, check out the official release notes. How to build a cross-platform desktop application with Node.js and Electron How to build a desktop app using Electron Web Scraping with Electron
Read more
  • 0
  • 0
  • 14292

article-image-openmp-libc-and-libcabi-are-now-part-of-llvm-toolchain-package
Bhagyashree R
27 Sep 2018
2 min read
Save for later

OpenMP, libc++, and libc++abi, are now part of llvm-toolchain package

Bhagyashree R
27 Sep 2018
2 min read
On Tuesday, LLVM announced that starting from LLVM 7, the packages libc++, libc++abi, and OpenMP are integrated into llvm-toolchain. Integration of these libraries was a project proposed in the Google Summer of Code 2018. Warnings and usage of the libc++* and OpenMP packages libc++* packages The libc++ and libc++abi packages that are currently present in Debian and Ubuntu repositories will not be affected, but they will be removed in the later versions. Also, the newly integrated libcxx* packages are not co-installable with them. To keep the library usage same as before, symlinks are provided from the original locations. For example, from /usr/lib/x86_64-linux-gnu/libc++.so.1.0 to /usr/lib/llvm-7/lib/libc++.so.1.0. The usage of libc++ is as follows: $ clang++-7 -std=c++11 -stdlib=libc++ foo.cpp $ ldd ./a.out|grep libc++   libc++.so.1 => /usr/lib/x86_64-linux-gnu/libc++.so.1 (0x00007f62a1a90000)   libc++abi.so.1 => /usr/lib/x86_64-linux-gnu/libc++abi.so.1 (0x00007f62a1a59000) OpenMP packages Though OpenMP has been a part of Debian and Ubuntu archives, only one version was supported on the system. To address this, OpenMP is integrated with the llvm-toolchain. Similar to libc++, to keep the current usage same, the newly integrated package creates a symlink from /usr/lib/libomp.so.5 to /usr/lib/llvm-7/lib/libomp.so.5. It can be used with clang through -fopenmp flag: $ clang -fopenmp foo.c The dependency packages that provide the default libc++* and OpenMP package are also integrated into llvm-defaults. Using the following command you will able to install the current version of all these packages: $ apt-get install libc++-dev libc++abi-dev libomp-dev To get more clarity on the integration of libc++* and OpenMP in llvm-toolchain, check out their announcement on LLVM’s site. LLVM 7.0.0 released with improved optimization and new tools for monitoring Boost 1.68.0, a set of C++ source libraries, is released, debuting YAP! Will Rust Replace C++?
Read more
  • 0
  • 0
  • 14274
article-image-llvm-9-0-rc3-is-now-out-with-official-risc-v-support-updates-to-systemz-and-more
Bhagyashree R
04 Sep 2019
3 min read
Save for later

LLVM 9.0 RC3 is now out with official RISC-V support, updates to SystemZ and more

Bhagyashree R
04 Sep 2019
3 min read
Last week, the LLVM team announced the release of LLVM 9.0 RC3, which fixes all the known release blockers. LLVM 9.0 missed its planned release date, which was 28th August. However, with the third RC out, we can expect it to be released soon in the coming weeks along with subprojects like Clang 9.0. LLVM 9.0 will include features like RISC-V official support, gfx10 support for AMDGPU compiler backend, among others. Announcing the release, the team shared on the LLVM mailing list, “There are currently no open release blockers, which means if nothing new comes up, the final release could ship soon and this is what it would look like (except for more release notes, which are still very welcome).” What’s new coming in LLVM 9.0 Official support for RISC-V target In July this year, Alex Bradbury, CTO and Co-Founder of the lowRISC project proposed to make the “experimental” RISC-V LLVM backend “official” for LLVM 9.0. This essentially means that starting with this release, the RISC-V backend will be built by default for LLVM. Developers will be able to use it for standard LLVM/Clang builds out of the box. Explaining the reason behind this update, Bradbury wrote in the proposal, “As well as being more convenient for end users, this also makes it significantly easier for e.g. Rust/Julia/Swift and other languages using LLVM for code generation to do so using the system-provided LLVM libraries. This will make life easier for those working on RISC-V ports of Linux distros encountering issues with Rust dependencies.” Updates to the SystemZ target Starting from LLVM 9.0, the SystemZ target will support the ‘arch13’ architecture. It will include builtins for the new vector instructions, which can be enabled using the ‘-mzvector’ option. The compiler will also support and automatically generate alignment hints on vector load and store instructions. Updates to the AMDGPU target In LLVM 9.0, the function call support is enabled by default. Other updates include improved support for 96-bit loads and stores, gfx10 support, and DPP combiner pass enabled by default. Updates to LLDB LLVM 9.0 will be the last release that will include ‘lldb-mi’ as part of LLDB, however, it will still be available in a downstream GitHub repository. Other changes include color highlighted backtraces and support for DWARF4 (debug_types) and DWARF5 (debug_info) type units. To read the entire list of updates in LLVM 9.0, check out the official release notes. LLVMs Arm stack protection feature turns ineffective when the stack is re-allocated LLVM WebAssembly backend will soon become Emscripten’s default backend, V8 announces LLVM 8.0.0 releases!  
Read more
  • 0
  • 0
  • 14235

article-image-announcing-typescript-roadmap-for-january-2019-june-2019
Melisha Dsouza
08 Jan 2019
4 min read
Save for later

Announcing ‘TypeScript Roadmap’ for January 2019- June 2019

Melisha Dsouza
08 Jan 2019
4 min read
Today, Daniel Rosenwasser, the Program Manager of TypeScript, released a roadmap to be followed for TypeScript starting from January 2019 to June 2019. This roadmap outlines the priorities that the team will be focussing on, over the next 6 months, which will serve as a set of guidelines to accomplish the listed goals by June 2019. These goals (as listed on GitHub) include: Types on every desk, for every JS developer Using strong tooling to increase productivity Improved Approachability and UX More Community engagement Better Infrastructure and engineering systems In order to achieve these goals, the Typescript team will focus on tweaking the following domains: #1 Language design and innovation Under this domain, the team will focus on the core ‘type’ system. They plan to enable popular JS patterns in a type-safe way, while also proving relationships between types. The latter simply means generalizing patterns between type operators and encoding them in type relationships. They also plan to implement ECMAScript features with stricter settings. In terms of Committee representation, their goals include prioritizing forward compatibility with proposals/features adopted in the earlier stages of developing TS. They also want to be involved in other features like Class fields (public and private), decorators, ES/CJS module interop, and much more to ensure that ECMAScript grows to ‘make a developers' life easier’. #2 Developer productivity tools and integration The team plans to introduce ‘quick fixes’ that will be proactive in nature. This includes a class of code modifications and fixes that are applicable, which will be useful for teaching users about language features and patterns, making it more approachable to work with TypeScript/JavaScript. Proactive fixes also imply that TypeScript can analyze code and can surface suggestions and code changes for improvements rather than just fix an error. This is in contrary to most of the current quick fixes that are reactive in nature and are created and triggered after a user has seen a definite error. They also plan on focussing on more targeted workflows like ‘migration’. They will come up with ways to ease migration to TypeScript and typed JavaScript to improve the process of adding types. In the field of ‘Linting’, the team noticed architectural issues with the way TSLint rules operate that impacted performance. They will be working towards fixing these issues. Since ESLint already has the more-performant architecture, the TS team will be focusing on leveraging ESLint rather than duplicating work. For scenarios that ESLint currently doesn't cover, they will be sending contributions to bring ESLint's TypeScript support to parity with TSLint. To build co-located TypeScript projects, the team will be making improvements such as functionality for automatically swapping projects in and out to save memory. They will also investigate the emit-time regressions seen in the last few versions of TS. Finally, they plan to investigate surfacing language service operations on the command line. #3 Education and UX The team says that the documentation provided for TypeScript needs to be improved for a more seamless learning experience. They will be working on a new version of the handbook with  three different parts: Tailored introductions for the core handbook The core handbook for everyone Reference pages (eg. appendices) They believe the segmentation of this documentation will help developers from all backgrounds--right from complete novices to experienced developers--to learn TypeScript without any hassle. They will also be improving their error UX to make it more ‘approachable’ for inexperienced users. Their website will also be undergoing an upgrade along with the examples mentioned on the same. #4 Community investment TypeScript's 'DefinitelyTyped' is the 10th most popular open source project on GitHub. The team will be focussing on weekly PR rotations--where members of the TS team review external PRs to DefinitelyTyped--and DefinitelyTyped's surrounding infrastructure such as the types publisher, dtslint, and dt-mergebot. They also plan to ease the process of external contributions to the documentation and investigate improving rich editing experiences. This year, users can also expect more public talks, meetups and blog posts on TypeScript. #5 Team Infrastructure The team will be focussing on faster builds by converting them to avoid bootstrapping themselves outside of CI, adding/migrating lint rules, and much more. This will, in turn, improve TS stability, productivity, and ease of contribution. Besides this, they also plan on providing internal guidance on TypeScript-first API designs, assisting internal partner teams with best practices for projects and addressing major Microsoft-internal build regressions. You can head over to TypeScript’s GitHub page for more insights on this announcement. npm JavaScript predictions for 2019: React, GraphQL, and TypeScript are three technologies to learn TypeScript 3.2 released with configuration inheritance and more Vue.js 3.0 is ditching JavaScript for TypeScript. What else is new?    
Read more
  • 0
  • 0
  • 14164

article-image-fedora-31-releases-with-performance-improvements-dropping-support-for-32-bit-and-docker-package
Fatema Patrawala
31 Oct 2019
2 min read
Save for later

Fedora 31 releases with performance improvements, dropping support for 32 bit and Docker package

Fatema Patrawala
31 Oct 2019
2 min read
Yesterday, the Fedora team announced the release of Fedora 31. This release brings in a few visual changes and performance improvements for Fedora users. Key changes and features in Fedora 31 Let us take a look at the key changes and new features added in this release. Latest GNOME 3.34 release brings in performance improvement With the latest GNOME 3.34 update, Fedora Workstation users will find certain visual changes and performance improvements. It will be easier to change the background or lock screen wallpaper with GNOME 3.34. In addition to this, users can create application folders in the overview to organize app drawer. Basically, new features included in GNOME 3.34 directly reflects in this release. You can check out the official blog post by GNOME.org that covers important changes with GNOME 3.34 for Fedora 31. Dropping 32-bit support In this release, users will no longer find 32-bit bootable images. The team has completely dropped the support for 32-bit i686 kernel. However some of the most popular 32-bit packages like Steam and Wine will continue to work. Docker package removed If you are using Docker, it is worth noting that this release has enabled CGroups V2 by default and removed Docker package. The official Fedora wiki page highlights this particular change as follows: “The Docker package has been removed from Fedora 31. It has been replaced by the upstream package moby-engine, which includes the Docker CLI as well as the Docker Engine. However, we recommend instead that you use podman, which is a Cgroups v2-compatible container engine whose CLI is compatible with Docker’s. Fedora 31 uses Cgroups v2 by default.” Updated packages in Fedora 31 Several packages are updated, some of the notable upgrades are: Glibc 2.30 NodeJS 12 Python 3 Updated Fedora flavors & improved hardware support For desktop users, Fedora Workstation matters, but this release will have a significant impact on other Fedora editions like Fedora Astronomy, Fedora IoT and so on. The team has improved support for certain SoCs like Rock64, RockPro 64 and several other chips. If you want more details on this news, you can take a look at the official Fedora changelog page. Fedora announces the first preview release of Fedora CoreOS as an automatically updating Linux OS for containerized workloads Fedora Workstation 31 to come with Wayland support, improved core features of PipeWire, and more Fedora 30 releases with GCC 9.0, GNOME 3.32, performance improvements, and much more!
Read more
  • 0
  • 0
  • 14163
article-image-someone-made-a-program-to-make-it-look-like-your-typing-on-slack-when-someone-else-is
Richard Gall
01 May 2018
2 min read
Save for later

Someone made a program to make it look like you're typing on Slack when someone else is

Richard Gall
01 May 2018
2 min read
Slack: productivity and collaboration tool, or platform for procrastination, in-jokes and GIFs? We couldn't possibly say here at Packt. For most of us, the only thing worse than wasting time on Slack is looking like you're never on Slack at all. While you'd like to tell people it's because you're busy, you can see your colleagues eyeing you with suspicion, convinced that if you're not procrastinating in the same manner they are, you really can't be doing anything at all. Luckily, someone has invented a tool for dealing with exactly this problem.  Take a bow Will Leinweber (@leinweber) - you have made something to make us look busy. Or, at the very least thoughtful and ready to contribute to the channel chat at any moment. https://twitter.com/leinweber/status/989267343002951680 Will has put the project on GitHub. You can find it here. The only disappointment with the tool is that Will didn't include the additional feature that  "asks other people what their typing whenever they're typing." The results were pretty hilarious, and likely too distracting for anyone to do any work at all... https://twitter.com/leinweber/status/989285775165423616 Needless to say, there was a pretty strong reaction to Will's program. https://twitter.com/snail_5/status/989271471766757376 https://twitter.com/LittleMxSurly/status/989315676325085184 https://twitter.com/CodeTheWebBlog/status/990008655394189313 https://twitter.com/shandrew/status/989395097249693698 Truly, software is being used for incredible things in 2018. These are the projects we need if we're to survive a hostile and unforgiving future, forever typing into the abyss at each other, and doomed to search out reaction GIFs to every rude email and hostile expression someone sends your way. What other novelty software projects have you seen recently? Let us know in the comments, and we'll do some investigative work* *Have a look on Twitter. Read more Creating slash commands for Slack using Bottle
Read more
  • 0
  • 0
  • 14141

article-image-ubuntu-19-10-will-now-support-experimental-zfs-root-file-system-install-option
Vincy Davis
12 Aug 2019
4 min read
Save for later

Ubuntu 19.10 will now support experimental ZFS root file-system install option

Vincy Davis
12 Aug 2019
4 min read
Last week, Ubuntu announced that the upcoming Ubuntu version 19.10 will support ZFS as a root file system, and should be used as an ‘experimental’ installer. The ZFS support will enable an easy to use interface, provide automated operations and offer high flexibility to Ubuntu users. Initially, Ubuntu 19.10 will be supported on desktop only, however, the layout has been kept extensible for servers, later on. Ubuntu has also warned users not to use ZFS on production systems yet; users can use it for experimental purposes and provide feedback. Ubuntu develops a new user space daemon - ‘zsys’ In order to make the basic and advanced concepts of ZFS easily accessible and transparent to users, Ubuntu is developing a new user space daemon, called zsys, which is a ZFS system tool. It will allow multiple ZFS systems to run in parallel on the same machine, and have other advantages like automated snapshots, separating user data from system and persistent data to manage complex zfs dataset layouts. Ubuntu is designing the system in such a way that people with little knowledge of ZFS will also be able to use it flexibly. Zsys’s cooperation with GRUB and ZFS on Linux initramfs will yield advanced features which will be made official by Ubuntu, later on. Users can check out the current progress and what’s next with zsys on the Ubuntu projects Github page. Progress update of Ubuntu 19.10 ZFS has already been shipped on Linux version 0.8.1. It supports features like native encryption, trimming support, checkpoints, raw encrypted zfs transmissions, project accounting and quota and many performance enhancements. Some post-release upstream fixes has been backported, to provide a better user experience and increase reliability. A new support has been added in the GNU GRUB menu. All existing ZFS on root user can enjoy these benefits, as soon as version Ubuntu 19.10 is updated. The post states that “We still have a lot to tackle and 19.10 will be only the beginning of the journey. However, the path forward is exciting and we hope to be able to bring something fresh and unique to ZFS users.” Users are very happy with Ubuntu 19.10 supporting ZFS. https://twitter.com/jtteag/status/1159143800821952514 A user on Hacker News comments, “Having been a ZFS fan since the twilight of OpenSolaris, I'm very glad to see ZoL taking off. Rolling it into Ubuntu and making it officially supported was a great move - after some frustration with trying to run ZFS on a CentOS box and having it occasionally break after a kernel update, having it easily available on Ubuntu was like a breath of fresh air. Having it readily available as a root filesystem, and having TRIM support at long last, is great news.” While few users are not happy with Ubuntu 19.10 supporting ZFS due to its high maintenance. A Redditor says, “I'm a big fan of Ubuntu, use it on one of my own machines and recommend it to people. But almost every time they have decided to go it alone and make something a unique selling point it has backfired (Upstart, Mir, Unity, bzr, CouchDB, Ubuntu one). No other mainstream distro is going to adopt ZFS. Probably ubuntu will drop it in a few years when they realize they can't carry the maintenance burden. If you use ZFS for your file system then you won't be able to use standard recovery tools or access it from a dual boot. You won't be able to revert back to and older ubuntu version. You won't be able to install upstream kernels.” For more details, head over to the Ubuntu blog. Canonical, the company behind the Ubuntu Linux distribution, was hacked; Ubuntu source code unaffected Ubuntu has decided to drop i386 (32-bit) architecture from Ubuntu 19.10 onwards Xubuntu 19.04 releases with latest Xfce package releases, new wallpapers and more
Read more
  • 0
  • 0
  • 14138
Modal Close icon
Modal Close icon