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-red-hat-announces-full-support-for-clang-llvm-go-and-rust
Prasad Ramesh
21 Nov 2018
2 min read
Save for later

Red Hat announces full support for Clang/LLVM, Go, and Rust

Prasad Ramesh
21 Nov 2018
2 min read
Yesterday, Bob Davis, Senior Product Manager at Red Hat announced that Clang/LLVM, Go, and Rust will now enter “Full Support Phase”. The support lifecycle is changed after the General Availability (GA) of Clang/LLVM 6.0, Go 1.10, and Rust 1.29. Previously, these languages and tools were in “Technology Preview” status. They were provided for users to test their functionality and provide feedback. This was during the development process and there was no full supported under the Red Hat Subscription Level Agreements. They were not guaranteed to be functionally complete and were not intended for live production use. GA means that these products have now officially entered a phase to receive full support. Their website states that: “During the Full Support Phase, qualified Critical and Important Security errata advisories (RHSAs) and Urgent and Selected High Priority Bug Fix errata advisories (RHBAs) may be released as they become available. Other errata advisories may be delivered as appropriate.” On availability, support for new hardware and some enhanced software functionality may also be provided at the sole discretion of Red Hat. These are generally in minor releases. The minor releases will focus only on resolving defects/bugs. New installation images of the minor releases will be provided during this full support phase. As these packages are evolving fast, the support lifecycle will also have short intervals. This means that there will be quarterly updates to Rust, and updates every 6 months to LLVM and Golang. The support for them will be different than the usual long-term support LTS approach. For LLVM, Rust, and Go only the most recent build will be maintained. If an older version has a bug, the most recent build will be updated to fix it. If a bug is present in the current build, it will be addressed in the next scheduled build. That will be the next schedules minor release. For more details, visit the Red Hat Blog. The LLVM project is ditching SVN for GitHub. The migration to Github has begun. Golang just celebrated its ninth anniversary Rust 1.30 releases with procedural macros and improvements to the module system
Read more
  • 0
  • 0
  • 11511

article-image-rust-1-32-released-with-a-print-debugger-and-other-changes
Prasad Ramesh
18 Jan 2019
3 min read
Save for later

Rust 1.32 released with a print debugger and other changes

Prasad Ramesh
18 Jan 2019
3 min read
Yesterday, the Rust team announced the release of Rust 1.32 in a blog post. The new version of the Rust programming language brings improvements to the quality of life, switches to the default allocator, and makes more functions const. Addition of the dbg macro in Rust 1.32 If you are a “print debugger”, you must have wanted to print out some value while working on code. Using something like println!("{:?}", x); isn’t fast enough. It is also a bit too much just to simply show the value of x. Also, there is no context here, if there are several println! statements, it is hard to distinguish between them. Rust now has a new package called dbg specifically for this purpose: fn main() {    let x = 5;       dbg!(x); } On running the above code, you will get: [src/main.rs:4] x = 5 In the output, you will see the file, line number, name, and value. While println! prints to the standard output, the dbg! function prints to the stderr. dbg! even works in more complex circumstances like factorial, iterations, etc. jemalloc is removed in Rust 1.32 In Rust’s initial years, it had a large Erlang type runtime. The developers then chose jemalloc instead of the system allocator for better performance. Over time, most of this runtime was removed except jemalloc. jemalloc was kept for users who would still need it. While it has great performance in most cases, it was not always the case. It adds 300kb to every Rust binary and has other issues. The core developers also thought it was strange that a systems language does not default to the system allocator. Hence Rust 1.28 had shipped with a global allocator. The work for using a system allocator is now finished and it can be used for all Rust programs now. jemalloc can still be used if you want to, via a crate in the Cargo.toml. Module improvements The last two Rust releases had some performance improvements to the module system. Rust 1.32 comes with something called “uniform paths” which allows import path statements to be resolved the same way as non-import paths. This was previously invalid. Efforts to revise the system module is now complete and the following code will now work. enum Color { Red, Green, Blue } use Color::*; Macro improvements A new literal string matcher is added. It matches against literals of any type. This includes string literals, numeric literals, and char literals. In Rust 2018 edition, macro_rules can also use ? to match 0 or 1 repetitions of the pattern. Library changes Other than the dbg! library, 19 functions were made cont. Now, all integral numeric primitives give conversion functions to and from byte-arrays that have specified endianness. There are six functions named as: to_<endian>_bytes and from_<endian>_bytes, in which <endian> is one of the following: ne - native endianness le - little endian be - big endian Cargo now has cargo_c as an alias for cargo_check and now usernames in registry URLs are allowed. These were the highlights of the changes in Rust 1.32, for a complete list of changes and fixes, visit the release notes. How has Rust and WebAssembly evolved in 2018 Rust Survey 2018 key findings: 80% developers prefer Linux, WebAssembly growth doubles, and more Red Hat announces full support for Clang/LLVM, Go, and Rust
Read more
  • 0
  • 0
  • 11509

article-image-telegram-introduces-new-features-slow-mode-switch-custom-titles-comments-widget-and-much-more
Amrata Joshi
12 Aug 2019
3 min read
Save for later

Telegram introduces new features: Slow mode switch, custom titles, comments widget and much more!

Amrata Joshi
12 Aug 2019
3 min read
Last week, the team at Telegram, the messaging app, introduced new features for group admins and users. These features include Slow Mode switch, custom titles, features for videos, and much more. What’s new in Telegram? Admins get more authority to manage the group  Slow Mode switch The Slow Mode feature will allow the group admin to control how often a member could send a message in the group. Once the admin enables Slow Mode in a group, the users will be able to send one message per the interval they choose. Also, a timer will be shown to the users which would tell them how long they need to wait before sending their next message. This feature is introduced to make group conversations more orderly and also to raise the value of each individual message. The official post suggests admins to “Keep it (Slow Mode feature) on permanently, or toggle as necessary to throttle rush hour traffic.” Image Source: Telegram Custom titles Group owners will now be able to set custom titles for admins like ‘Meme Queen’, ‘Spam Hammer’ or ‘El Duderino’. These custom titles will be shown with the default admin labels. For adding a custom title, users need to edit admin's rights in Group Settings. Image Source: Telegram Silent messages Telegram has now planned to bring more peace of mind to its users by introducing a feature that allows its users to message friends without any sound. Users just have to hold the send button to have any message or media delivered. New feature for videos Videos shared on Telegram now show thumbnail previews as users scroll through the videos to help them find the moment they were looking for. If users add a timestamp like 0:45 to a video caption, it will be automatically highlighted as a link. Also, if a user taps on a timestamp the video will play from the right spot.  Comments widget The team has come up with a new tool called Comments.App for users to comment on channel posts. With the help of the comments widget, users can log in with just two taps and comment with text and photos, as well as like, dislike and further reply to comments from others. Few users are excited about this news and appreciate Telegram over Whatsapp because it provides by default end to end encryption. A user commented on HackerNews, “I really like Telegram. Only end-to-end encryption by default and in group chats would make it perfect.” To know more about this news, check out the official post by Telegram. Telegram faces massive DDoS attack; suspects link to the ongoing Hong Kong protests Hacker destroys Iranian cyber-espionage data; leaks source code of APT34’s hacking tools on Telegram Trick or a treat: Telegram announces its new ‘delete feature’ that deletes messages on both the ends
Read more
  • 0
  • 0
  • 11495

article-image-project-management-platform-clubhouse-announces-free-plan-for-up-to-10-users-and-a-new-documentation-tool
Sugandha Lahoti
12 Sep 2019
3 min read
Save for later

Project management platform ClubHouse announces ‘Free Plan’ for up to 10 users and a new documentation tool

Sugandha Lahoti
12 Sep 2019
3 min read
ClubHouse, a popular project management platform has announced a free plan for smaller teams and a new collaborative documentation tool called ‘ClubHouse Write’. What is interesting is that although there are a number of competitors in the project management space, including the popular Atlassian Jira, few if any are offering it for free. ClubHouse provides a ‘Free plan’ for smaller teams of up to 10 users This no-cost option allows teams of up to 10 users to get unlimited access to ClubHouse core features such as core features Stories, Epics, Milestones for free.  These features show how everyday tasks of a team contribute towards a larger company goal. Additional features for support and additional security are available in Standard and Enterprise Plans for larger teams. All current small plan customers with 10 users or less, will be automatically transitioned over to the Free Plan. Organizations that previously paid an annual fee and have 10 or fewer users will be refunded the difference in price. Once a team adds the 11th user, they will transition to the current Standard Plan. Although Free Plan does not support Observers, if teams have Observers on a current Small Plan, they will be allowed to keep existing Observers. Users were quite excited about this new Free Plan, commenting about it on social media platforms. “You guys rock! One less expense to worry about it until I hit my stride. I'll gladly be paying for 11+ members when I can reach my goals,” reads a comment. Another says, “Thanks! I LOVE CLUBHOUSE! I would still gladly pay $10/mth maybe you should have made free for teams up to 5, but then kept small for 5-10 :)” ClubHouse Write, a collaborative documentation tool Along with today’s Free Plan announcement, Clubhouse has introduced Write, a real-time collaborative documentation tool. This product is currently in beta and will “make it easier for your software team to document, collaborate, and ideate together.” Software development teams will be able to collaborate, organize and comment on project documentation in real-time, for inter-team communication. Development teams can organize their Docs in multiple Collections. They can also choose to keep a Doc private or publish to the whole Workspace. Users will also be notified when there are new comments on followed Docs. In an interview with TechCrunch, Clubhouse discussed how the offerings will provide key competitive positioning against competitors such as Atlassian’s project management tool “Jira,”. Clubhouse Write, will compete head-on with Atlassian’s team collaboration product “Confluence.” Twitteratis were also quite excited about this new development. https://twitter.com/kkukshtel/status/1171829400951824384 https://twitter.com/kieranmoolchan/status/1171450725877997568 Other interesting news in Tech The Eclipse Foundation releases Jakarta EE 8, the first truly open-source, vendor-neutral Java EE. The Continuous Intelligence report by Sumo Logic highlights the rise of Multi-Cloud adoption and open source technologies like Kubernetes. Apple’s September 2019 Event: iPhone 11 Pro and Pro Max, Watch Series 5, Apple TV+, iPad, and more.
Read more
  • 0
  • 0
  • 11476

article-image-rust-1-29-is-out-with-improvements-to-its-package-manager-cargo
Savia Lobo
14 Sep 2018
2 min read
Save for later

Rust 1.29 is out with improvements to its package manager, Cargo

Savia Lobo
14 Sep 2018
2 min read
Yesterday, the Rust team announced next version release of their systems programming language, Rust 1.29. Users using the previous versions of Rust installed via rustup, can easily get this latest version by a simple command: $ rustup update stable This Rust 1.29 release has lesser features. This is because the 1.29 cycle was spent preparing for the upcoming releases, Rust 1.30 and 1.31 that will have a lot more features in them. What’s new in Rust 1.29? This stable release of Rust has two most important improvements to Cargo, Rust’s package manager. The new improvements include cargo fix can automatically fix your code that has warnings cargo clippy is a bunch of lints to catch common mistakes and improve your Rust code cargo fix Rust 1.29 includes a new subcommand for Cargo known as cargo fix. This is the initial release of cargo fix that fixes a small number of warnings in the compiler. The compiler has an API for this, and it only suggests fixing lints that the team says, recommends correct code. Over time, cargo fix can be expanded based on user suggestions to automatically fix more warnings. cargo clippy Clippy has a large number of additional warnings that users can run against their Rust code. Users can now check out a preview of cargo clippy through Rustup, by the following command: $ rustup component add clippy-preview Clippy has not yet reached 1.0. However, its lints may change. The Rust team will release a clippy component once it has stabilized. Users can’t use clippy with cargo-fix yet, really. This is still in work in progress. Additional updates in Rust 1.29 The Rust version 1.29 also include some library stabilizations. The three APIs stabilized in this release are: Arc<T>::downcast Rc<T>::downcast Iterator::flatten Users can also compare &str and OsString. To have a detailed information on Rust 1.29, read its release notes. Deno, an attempt to fix Node.js flaws, is rewritten in Rust Working with Shared pointers in Rust: Challenges and Solutions [Tutorial] Rust Language Server, RLS 1.0 releases with code intelligence, syntax highlighting and more  
Read more
  • 0
  • 0
  • 11395

article-image-swift-for-tensorflow-is-now-open-source
Richard Gall
01 May 2018
3 min read
Save for later

Swift for TensorFlow is now open source

Richard Gall
01 May 2018
3 min read
TensorFlow has continued its success in 2017 well into 2018. It's quickly expanding its capabilities, and we're beginning to see it used by engineers that aren't data specialists.  We've seen that in the launch of TensorFlow.js, which allows you to bring machine learning to the browser. But Swift for TensorFlow is a slightly different proposition. In fact, it does two things. On the one hand it offers a new way of approaching TensorFlow, but it also helps to redefine Swift. Let's be honest - Swift has come a long way since it was first launched by Apple back at WWDC 2014. Back then it was a new language created to reinvigorate iOS development. It was meant to make Apple mobile developers happier and more productive. That is, of course, a noble aim - and by and large it seems to have worked. If it hadn't we probably wouldn't still be talking about it. But Swift for TensorFlow marks Swift as a powerful modern programming language that can be applied to some of the most complex engineering problems. What is Swift for TensorFlow? Swift for TensorFlow was first unveiled at the TensorFlow Dev Summit in March 2018. Now it's open source, it's going to be interesting to see how it shapes the way engineers use TensorFlow - and, of course, how the toolchain might shift. But what is it exactly? Watch the video below, recorded at TensorFlow Dev Summit, to find out more. https://www.youtube.com/watch?v=Yze693W4MaU Here's what the TensorFlow team had to say about Swift for TensorFlow in a detailed post on Medium. "Swift for TensorFlow provides a new programming model that combines the performance of graphs with the flexibility and expressivity of Eager execution, with a strong focus on improved usability at every level of the stack. This is not just a TensorFlow API wrapper written in Swift — we added compiler and language enhancements to Swift to provide a first-class user experience for machine learning developers." Why did TensorFlow choose Swift? This is perhaps the key question: why did the TensorFlow team decide to use Swift for this project? The team themselves note that they are often asked this question themselves. Considering many of the features of Swift for TensorFlow can easily be implemented in other programming languages, it's a reasonable question to ask. To properly understand why TensorFlow chose Swift you need to go back to the aims of the project. And they're actually quite simple - the team want to make TensorFlow more usable. They explain: "We quickly realized that our core static analysis-based Graph Program Extraction algorithm would not work well for Python given its highly dynamic nature. This led us down the path of having to pick another language to work with, and we wanted to approach this methodically." The post on GitHub is well worth reading. It provides a detailed insight into how to best go about evaluating the advantages and disadvantages of one programming language over another. Incidentally, The TensorFlow team say the final shortlist of languages was Swift, Rust, Julia, and C++. Swift ended up winning out - there were 'usability concerns' around C++ and Rust, and compared to Julia not only was there a larger and more active community, it is also much more similar to Python in terms of syntax.
Read more
  • 0
  • 0
  • 11387
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-yarn-releases-a-roadmap-for-yarn-v2-and-beyond-moves-from-flow-to-typescript
Sugandha Lahoti
25 Jan 2019
3 min read
Save for later

Yarn releases a roadmap for Yarn v2 and beyond; moves from Flow to Typescript

Sugandha Lahoti
25 Jan 2019
3 min read
Yesterday, Maël Nison, maintainer at Yarn, opened a GitHub thread on the Yarn repository describing the roadmap for the next major Yarn release. The roadmap (codenamed Berry) contains significant changes that are planned for Yarn's design. Nison reinstates that Yarn’s philosophy will continue to be the same based around three important principles. Developing Javascript projects in Yarn should have totally predictable and reproducible behavior. Developing Javascript projects should be easy. Contributing to the Yarn ecosystem should be simple. Long-term and Short-term goals for Yarn in 2019 Yarn will be rewritten in TypeScript. The entire codebase will be ported from Flow to TypeScript. This is done to help third-party contributors to help to maintain Yarn. Yarn will become a development-first tool. This means Package managers will no longer work as tools for running on your production servers. Yarn will become an API first and CLI second. Its internal components will be split into modular entities Yarn will be designed in a way that each component of Yarn’s pipeline can be switched to adapt to different install targets. Yarn will now be a package manager platform as much as a package manager. Overall compatibility will be preserved when possible. The caveat: installs will now use Plug'n'Play by default. Major changes and new features The lockfile format will become a strict subset of YAML. Yarn will drop support for both Node 4 and Node 6. The log system will be renovated with implementation of diagnostic error codes from Typescript. Some features currently in the core will be moved into contrib plugins. The cache file format will switch from Tar to Zip, which offer better features in terms of random access. Nested workspaces will be supported out of the box. Running Yarn ./packages/my-package add foo will run Yarn add foo into my-package. There will be a new resolution protocol, workspaces:, which allows developers to force the package manager to link one of the packages against a workspace. Yarn constraints is a new command which will allow developers to enforce constraints across workspaces. The Yarn link command will now persist its changes into the package.json files Berry will ship with a portable posix-like light shell that'll be used by default. Scripts will be able to put their arguments anywhere in the command-line (and repeat them if needed) using $@. Cache will become fully atomic, with multiple Yarn instances running concurrently on the same cache without risking corrupting the data. Developers are generally positive about this release specially pointing out the change of moving from Flow to Typescript. A hacker news user states, “Finally one of the biggest news is the switch from Flow to Typescript. I think it's now clear that Facebook is admitting defeat with Flow; it brought a lot of good in the scene but Typescript is a lot more popular and gets overall much better support. Uniting the JS ecosystem around Typescript will be such a big deal.” Another comment reads, “The codebase will be ported from Flow to TypeScript. We hope this will help our community ramp up on Yarn, and will help you build awesome new features on top of it. Another major project moving from flow to typescript.” A new repository will be set up in early February. Post which Berry will be accessible by running yarn policies set-version berry within a project. Hadoop 3.2.0 released with support for node attributes in YARN, Hadoop submarine and more Starting with YARN Basics Introducing ReX.js v1.0.0 a companion library for RegEx written in TypeScript
Read more
  • 0
  • 0
  • 11332

article-image-fedora-30-beta-released-with-desktop-environment-options-gnome-3-32-and-much-more
Amrata Joshi
04 Apr 2019
2 min read
Save for later

Fedora 30 Beta released with desktop environment options, GNOME 3.32, and much more

Amrata Joshi
04 Apr 2019
2 min read
Just two days ago, the team at Fedora announced the release of Fedora 30 Beta to test its six variants including a workstation, server, silverblue, spins, Labs, and ARM. This release comes with GNOME 3.32, improved performance and much more. https://twitter.com/mattdm/status/1113079013696856065 What’s new in Fedora 30 Beta? Desktop environment options This release features two new options for the desktop environment, namely DeepinDE, a user-friendly domestic desktop by Deepin Technology Co. and Pantheon Desktop, mainly used in the elementary OS and is least customizable. Improved DNF performance This release features zchunk format which is a new compression format designed for highly efficient deltas. All the DNF (Dandified YUM) repository metadata is now compressed with the zchunk format in addition to xz or gzip. When Fedora’s metadata is compressed using zchunk, DNF downloads only the differences between earlier copies of the metadata and the current version. GNOME 3.32 This release comes with GNOME 3.32, which is the latest version of GNOME 3. It features updated visual style, improved user interface, icons, and much more. Testing needed Since it is a beta release, users might encounter bugs or experience that some of the features are missing. Users can report issues encountered during testing by contacting the Fedora QA team via the mailing list or in #fedora-qa on Freenode. Updated packages This release includes updated versions of many popular packages including Golang, GNU C Library, Bash shell, Python, and Perl. Major changes Binary support for deprecated and unsafe functions have been removed from libcrypt. Python 2 package has been removed from this release. In this release, language support groups in Comps file has been replaced by rich dependencies in the langpacks package. Obsolete scriplets have been removed from this release. Few users are excited about this release but others are still facing some bugs and dependency issues since it is the beta version. https://twitter.com/YanivKaul/status/1113132353096953857 To know more about this news, check out the official post by Fedora Magazine. GNOME 3.32 released with fractional scaling, improvements to desktop, web 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
  • 11323

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

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

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

article-image-boost-1-68-0-a-set-of-c-source-libraries-is-released-debuting-yap
Bhagyashree R
10 Aug 2018
3 min read
Save for later

Boost 1.68.0, a set of C++ source libraries, is released, debuting YAP!

Bhagyashree R
10 Aug 2018
3 min read
After the release of Boost 1.67.0 in April earlier this year, Boost 1.68.0 is now out with a new library named YAP and few updates in the libraries such as, Beast, Fusion, and GIL to name a few. Boost provides peer-reviewed portable C++ source libraries for generic programming, concurrency programming, metaprogramming, data structures, testing, and many more tasks and structures. YAP: The new expression template library YAP is an expression template library that aims to help developers in writing optimized and maintainable code. Some of its features include: Member and non-member functions on ExpressionTemplates and Expressions can be added with compact macros. A reference template that models ExpressionTemplate exists for prototyping or experimentation. The evaluation done by Boost.YAP closely matches the semantics of built-in C++ expressions, enabling clearer understanding of the semantics of expression evaluation. Expressions can be transformed explicitly in a user-defined way with the help of overloaded call operators in a transform class. The evaluate(transform(expr)) idiom is expected to be one of the most common ways of using YAP to manipulate and evaluate expressions. Boost.YAP provides functions that manipulate expressions or their subexpressions. Updated libraries in Boost 1.68.0 Beast: An executor work guard is added in all composed operations used in the implementation. To avoid crashes related to asynchronous completion handlers, users are encouraged to upgrade. Fusion: A workaround is added for ambiguous call of fusion::deque constructor on GCC 4.4/c++0x. A bug with C-style array is now fixed. Fixed a fusion::for_each signature to take functor by value. This may break existing code with non-copyable (non-movable) functor. Unintentional MPL placeholder substitution bug on fusion::transform is now fixed. GIL: C++11-compliant compiler is now required by the library. Its I/O extensions have been entirely rewritten. Math: Added support for arbitrary precision complex valued quadrature and hence contour integration. Added support for contour integrals. Performance of polynomial addition is improved. Multi-index Containers: Containers of moveable but non-copyable elements can now be serialized. The default constructor of multi_index_container is no longer explicit. Test: The master_test_suite_t object is no more copyable. Dataset test case can now use command line parameters. Uuid: Breaking change: sha1 detail namespace header redirection for backwards compatibility was removed. Added support for std::hash. Added support for move semantics on random generators. Properly handle EINTR when acquiring entropy. Use getrandom(2) instead of getentropy(3) on linux. These were some of the updates in Boost 1.68.0. To know more, head over to their official site. Working with shaders in C++ to create 3D games Understanding the Dependencies of a C++ Application Getting Inside a C++ Multithreaded Application
Read more
  • 0
  • 0
  • 11285
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
  • 11257

article-image-gitlab-11-4-is-here-with-merge-request-reviews-and-many-more-features
Prasad Ramesh
23 Oct 2018
3 min read
Save for later

GitLab 11.4 is here with merge request reviews and many more features

Prasad Ramesh
23 Oct 2018
3 min read
GitLab 11.4 was released yesterday with new features like merge request reviews, feature flags, and many more. Merge request reviews in GitLab 11.4 This feature will allow a reviewer to draft unlimited comments in a merge request as per preference. It will ensure consistency and then submit them all as a single action. A reviewer can spread their work over many sessions as the drafts are saved to GitLab. The draft comments appear as normal individual comments once they are submitted. This allows individual team members flexibility. They can review code the way they want, it will still be compatible with the entire team. Create and toggle feature flags for applications This alpha feature gives users the ability to create and manage feature flags for software directly in the product. It is as simple as creating a new feature flag and validating it using simple API instructions. Then you have the ability to control the behavior of the software in the field via the feature flag within GitLab. Feature flags offer a feature toggle system for applications. File tree for browsing merge request diff The file tree summarizes both the structure and size of the change. It is similar to diff-stats which provides an overview of the change thereby improving navigation between diffs. Search allows reviewers to limit code review to a subset of files. This simplifies reviews by specialists. Suggest code owners as merge request approvers It is not always obvious as to which person is the best to review changes. The code owners are now shown as suggested approvers when a merge request is created or edited. This makes assigning the right person easy. New user profile page overview With GitLab 11.4, a redesigned profile page overview is introduced. It shows your activity via the familiar but shortened contribution graph. It displays the latest activities and most relevant personal GitLab projects. Set and show user status message within the user menu Setting your status is even more simple with GitLab 11.4. There is a new “Set status” item in the user menu which provides a fresh modal allowing users to set and clear their status right within context. In addition, the status you set is also shown in your user menu, on top of your full name and username. There are some more features like: Move the ability to use includes in .gitlab-ci.yml from starter to core Run all jobs only/except for modifications on a path/file Add timed incremental rollouts to Auto DevOps Support Kubernetes RBAC for GitLab managed apps Auto DevOps support for RBAC Support PostgreSQL DB operations for Auto DevOps Other improvements for searching projects, UX improvements, and Geo improvements For a complete list of features visit the GitLab website. GitLab 11.3 released with support for Maven repositories, protected environments and more GitLab raises $100 million, Alphabet backs it to surpass Microsoft’s GitHub GitLab is moving from Azure to Google Cloud in July
Read more
  • 0
  • 0
  • 11235

article-image-ml-net-1-0-rc-releases-with-support-for-tensorflow-models-and-much-more
Amrata Joshi
08 Apr 2019
2 min read
Save for later

ML.NET 1.0 RC releases with support for TensorFlow models and much more!

Amrata Joshi
08 Apr 2019
2 min read
Last week, the team behind ML.NET announced the release of ML.NET 1.0 RC (Release Candidate), an open-source and cross-platform machine learning framework for .NET developers.  ML.NET 1.0 RC is the last preview release before releasing the final ML.NET 1.0 RTM (Requirements Traceability Matrix) this year. Developers can use ML.NET in sentiment analysis, product recommendation, spam detection, image classification, and much more. What’s new in ML.NET 1.0 RC? Preview packages According to the Microsoft blog, “Heading ML.NET 1.0, most of the functionality in ML.NET (around 95%) is going to be released as stable (version 1.0).” The packages that will be available for the preview state are TensorFlow, Onnx components, TimeSeries components, and recommendation components. IDataView moved to Microsoft.ML namespace In this release, IDataView has been moved back into Microsoft. ML namespace based on feedback the team received. Support for TensorFlow models This release comes with added support for TensorFlow models, an open source machine learning framework used for deep learning projects. The issues in ML.NET version 0.11 related to TensorFlow models have been fixed in this release. Major changes in ML.NET 1.0 RC The ‘Data’ namespace has been removed in this release with the help using Microsoft.Data.DataView. The Nuget package has been added for Microsoft.ML.FastTree. Also, PoissonRegression has been changed to LbfgsPoissonRegression. To know more about this release, check out the official announcement. .NET team announces ML.NET 0.6 Qml.Net: A new C# library for cross-platform .NET GUI development ML.NET 0.4 is here with support for SymSGD, F#, and word embeddings transform!A
Read more
  • 0
  • 0
  • 11226
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
  • 11129

article-image-microsoft-connect-2018-net-foundation-open-membership-net-core-2-2-net-core-3-preview-1-released-wpf-winui-windows-forms-open-sourced
Prasad Ramesh
05 Dec 2018
4 min read
Save for later

Microsoft Connect(); 2018: .NET foundation open membership, .NET Core 2.2, .NET Core 3 Preview 1 released, WPF, WinUI, Windows forms open sourced

Prasad Ramesh
05 Dec 2018
4 min read
Yesterday Microsoft made a handful of announcements at Connect (); 2018. The membership to the .NET foundation is now open, .NET Core 2.2 is released, .NET Core 3 Preview 1 is released and Windows Forms, WinUI are now open source. Membership is now open to the .NET Foundation Found in 2014, the .NET Foundation was formed to foster .NET open source development and collaboration. Microsoft has set the membership open to the community. It is also expanding on the number of board members from three to seven and only one of the seats will be occupied by a Microsoft employee with the remaining elected from the open source community. The board elections will commence in January 2019 and any individual who has contributed to a .NET Foundation open source project is eligible. This criteria also applies to become a member and the election will be held every year. You can apply for a membership on their website. To know more about membership and eligibility, head to the Microsoft Blog. New features in .NET Core 2.2 .NET Core 2.2 comes with diagnostic improvements to the runtime, ARM32 support for Windows and Azure Active Directory for SQL Client. Tiered compilation Tiered compilation enables the runtime to use the Just-In-Time (JIT) compiler more adaptively. This will give better performance at startup to maximize throughput. It is an opt-in option and is enabled by default in .NET Core 3.0. Runtime events With .NET Core 2.2, CoreCLR events can be consumed using the EventListener class. These CoreCLR events describe the behavior of GC, JIT, ThreadPool, and interop. They are the same events exposed as part of the CoreCLR ETW provider on Windows. This allows applications to consume these events or use a transport mechanism to send them to a telemetry aggregation service. Support for AccessToken in SqlConnection Setting the AccessToken property to authenticate SQL Server connections are now supported in the ADO.NET provider for SQL Server, SqlClient. This is done using Azure Active Directory. To use the feature, the access token value can be obtained using Active Directory Authentication Library for .NET. This library is present in the Microsoft.IdentityModel.Clients.ActiveDirectory NuGet package. Injecting code prior to Main .NET Core 2.2 enables injecting code prior to running an application main method. This can be done via a startup hook. Startup hooks allow for a host to customize application behavior after it has been deployed. Windows ARM32 Windows ARM32 is now supported in .NET Core 2.2 just like Linux ARM32 which was added in .NET Core 2.1. A bug prevented publishing of .NET Core builds for Windows ARM32. These builds will be available for .NET Core 2.2.1, in January 2019. .NET Core 3 Preview 1 .NET Core 3 Preview 1 is the first public release of .NET Core 3. Visual Studio 2019 Preview 1 will support development with .NET Core 3. .NET Core 3 is a major update. It adds support for building Windows desktop applications using Windows Presentation Foundation (WPF), Windows Forms, and Entity Framework 6 (EF6). Read more about the preview on the .NET Blog. WPF, Windows Forms, and WinUI are now open source After .NET Core went open source in 2014, it saw many contributions from the community. Microsoft is now open sourcing WPF, Windows Forms, and WinUI. Some code will be available in GitHub now and more will be added over the next few months. Repositories for WPF and WinUI are ready too. WPF and Windows Forms projects are under the .NET Foundation. This happened at the Connect(); conference yesterday when Microsoft employees merged the first two community pull requests on stage. This is another step from Microsoft towards open source, strongly signaling the seriousness of their open source commitment. Microsoft reportedly ditching EdgeHTML for Chromium in the Windows 10 default browser Microsoft becomes the world’s most valuable public company, moves ahead of Apple Microsoft announces official support for Windows 10 to build 64-bit ARM apps
Read more
  • 0
  • 0
  • 11128
Modal Close icon
Modal Close icon