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-junit-5-3-brings-console-output-capture-assertthrow-enhancements-and-parallel-test-execution
Prasad Ramesh
12 Sep 2018
2 min read
Save for later

JUnit 5.3 brings console output capture, assertThrow enhancements and parallel test execution

Prasad Ramesh
12 Sep 2018
2 min read
A new version of JUnit v5.3 was released last week. There are some changes and new features like parallel test execution, enhancements to AssertThrows, and others in this new version. JUnit is a popular unit testing framework for the Java which has been instrumental to the rise of test-driven development. Below are some of the key highlights of JUnit 5.3. Capturing output from a console It is now possible to capture System.out and System.err output using a TestExecutionListener in Junit 5.3. Capturing console output may not be a frequent need, but can become necessary in some cases such as when working on legacy code bases where statements are being written to console and viewing them can be useful. There are two steps to get this working, implementing a TestExecutionListener and configuring surefire to start capturing console output. Enhancements to AssertThrows The assertThrows assertion is updated to display the value a method returns. This works only if the method runs successfully and returns a value and no exception is thrown. It can be helpful for debugging a failing test case. Parallel test execution Parallel test execution is now enabled and can be configured via build files. This can be a pom.xml, build.gradle etc. The parallel test execution behavior can be changed at both, method and class levels with the annotations: @Execution and @ResourceLock. For detailed information on configuring and using parallel test execution in JUnit 5, check out the user guide. Other changes There are also some libraries and tools updated that are used with JUnit like filtering changes with native support, enhanced mockito dependency injection support, updates to AssertJ Soft Assertions and opentest4J. JUnit 5.3.1 was released on September 9, shortly after JUnit 5.3 and there are some minor fixes. There is another major change where variants of assertThrows() introduced in JUnit 5.3.0 that accepted ThrowingSupplier arguments are now removed. For a full list of bug fixes and changelogs, visit the JUnit website and to learn how to use the features, check out the user guide. Unit testing with Java frameworks: JUnit and TestNG [Tutorial] Unit Testing Apps with Android Studio Unit Testing in .NET Core with Visual Studio 2017 for better code quality
Read more
  • 0
  • 0
  • 12721

article-image-rust-2018-rc1-now-released-with-raw-identifiers-better-path-clarity-and-other-changes
Prasad Ramesh
21 Sep 2018
3 min read
Save for later

Rust 2018 RC1 now released with Raw identifiers, better path clarity, and other changes

Prasad Ramesh
21 Sep 2018
3 min read
Rust 2018 RC1 was released yesterday. This new version of the Rust programming language contains features like raw identifiers, better path clarity and other additions. Some of the changes in Rust 2018 RC1 include: Raw identifiers Like many programming languages, Rust too has the concept of "keywords". These identifiers cannot be used in places like variable names, function names, and other places. With Rust 2018 RC1, raw identifiers let you use keywords where they are not allowed normally. New confirmed keywords in Rust 2018 RC1 are async, await, and try. Better path clarity One of the hardest things for people new to Rust is the module system. While there are simple and consistent rules defining the module system, their consequences can appear to be inconsistent and hard to understand. Rust 2018 RC1 introduces a few new module system features to simplify the module system and give a better picture of what is going on. extern crate is no longer needed. The crate keyword refers to the current crate. Absolute paths begin with a crate name, where again the keyword crate refers to the current crate. A foo.rs and foo/ subdirectory may coexist. mod.rs is no longer required when placing submodules in a subdirectory. Anonymous trait parameters are deprecated Parameters in trait method declarations are no longer allowed to be anonymous. In Rust 2015, the following was allowed: trait Foo { fn foo(&self, u8); } In Rust 2018 RC1, all parameters require an argument name (even if it's just _): trait Foo { fn foo(&self, baz: u8); } Non-lexical lifetimes The borrow checker has been enhanced to accept more code. This is performed via a mechanism called ‘non-lexical lifetimes’. Previously, the below code would have produced an error, but now it will compile just fine: fn main() { let mut x = 5; let y = &x; let z = &mut x; } Lifetimes follow "lexical scope". This means that the borrow from y is considered to be held until y goes out of scope at the end of main. This is the case even though y will never be used again in the code. The above code works fine, but in the older versions, the borrow checker was not able handle it. Installation To try and install Rust 2018 RC1 you need to install the Rust 1.30 beta toolchain. This beta is a little different from the normal beta, states the Rust Blog. > rustup install beta > rustc +beta --version rustc 1.30.0-beta.2 (7a0062e46 2018-09-19) The feature flags for Rust 2018 RC1 are turned on and can be used to report issues. These were only a select few changes. Other changes in this beta include Lifetime elison in impl, T: ‘a inference in structs, macro changes etc. For more information and details on the complete list of updates, read the Rust edition guide where the new features are marked as beta. Rust 1.29 is out with improvements to its package manager, Cargo Deno, an attempt to fix Node.js flaws, is rewritten in Rust Creating Macros in Rust [Tutorial]
Read more
  • 0
  • 0
  • 12697

article-image-the-tug-of-war-between-google-and-oracle-over-api-copyright-issue-has-the-future-of-software-development-in-the-crossfires
Amrata Joshi
28 Jan 2019
6 min read
Save for later

The tug of war between Google and Oracle over API copyright issue has the future of software development in the crossfires

Amrata Joshi
28 Jan 2019
6 min read
Last week, the team at Google asked the Supreme Court of the United States to review their copyright dispute with Oracle over the use of software interfaces. Unless the Supreme Court interferes, the industry will be stuck by the court’s decision, which states that the software interfaces used in creating new programs are not allowed under copyright law. Software interfaces let computer programs interact with each other and push innovations by letting developers build technologies for different platforms. This is going to have a great impact on innovation across the computer industry. Voices from business, technology, academia, and the nonprofit sector have spoken out about the devastating impacts of this case. The questions raised by Google to the Supreme Court are as follows: Whether copyright protection extends to a software interface? Whether, as the jury found, petitioner’s use of a software interface in the context of creating a new computer program constitutes fair use? Google writes, “We support software developers’ ability to develop the applications we all have come to use every day, and we hope that the Supreme Court will give this case the serious and careful consideration it deserves.”   According to the petition, “the Federal Circuit concluded that the merger doctrine does not restrict copyright protection for computer code necessary for interoperability as long as the original author could have written the code in more than one way.” In 2008, Android was released and it helped developers overcome the challenges of limited memory, smaller processors, and short battery life. Android was built by following the practice of reusing software interfaces which provide sets of commands that make it easy to implement common functionality. Android came with a transformative platform while letting Java programmers use their existing skills to create new applications. The team at Sun Microsystems was happy with the release of Android and said, “It had strapped another set of rockets to the [Java] community’s momentum.” After acquiring Java in 2010, Oracle sued Google for using the software interfaces. Oracle’s lawsuit for the right to control software interfaces might affect the community of developers who have invested in learning the free and open Java language. Initially, a court ruled that the software interfaces, in this case, are not copyrightable, but that decision got overruled. A unanimous jury then pointed out that Google’s use of the interfaces was a legal fair use, but that decision got overruled. According to the official blog post by Google, the U.S. Constitution has authorized copyrights to “promote the progress of science and useful arts,” not to impede creativity or promote lock-in of software platforms. The petition reads, “Under Section 102(b), copyright protection does not extend to any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied in such [original] work.” Though according to a blog post by Electronic Frontier Foundation, EFF is in the support of Google and will be supporting the company’s petition. Even in May 2013, EFF filed an amicus brief on behalf of many computer scientists to Federal Circuit with the opinion that APIs should not be subject to copyright. This news has become a matter concern for many. In a statement to Ars, James Grimmelmann, a copyright scholar at Cornell University and former software developer, said, "The Federal Circuit's decision threatens the continued vitality of software innovation." It seems even CCIA (Computer and Communications Industry Association) is in support of Google. CCIA writes, "It is hard to see why programmers who have learned the Java APIs should remain captives of Oracle because of an investment in learning made by the programmers and not by Oracle." Users are agitated by this news and they are not welcoming the idea of restricting the use of interfaces. This news has created a lot of buzz in the developer communities and most of the developers are worried. One of the comments on HackerNews reads, “A reminder that what the law says, and what is a good idea, is not necessarily the same thing. The courts rule on the first point. Given that Oracle has prevailed in court on this before, one has to at least entertain the possibility that our law really allows for API to be copyrighted.” Another comment reads, “If companies can copyright an API and block competitors from implementing it, that would be very detrimental to the industry as a whole, for the sake of a few rent seekers profiting.” Few users are with this new move. A comment reads, “It was not ... intended to permit third party interoperability, since Google had made no substantial efforts to use them for the purpose of third party interoperability. (In fact it found that Google had tried to prevent interoperability with other Java and had previously been refused a license by Sun for that reason.) It was not transformative in the sense of a new platform either, since other Java smartphones predated Android.” Some of the users are with the court and think this battle is about what’s legal and illegal. Another comment reads, “What I'm saying is that all the people who are trying to make the "but it's bad!" argument are missing the point of the courts. Courts are not there to determine whether it's good or bad, only whether it's legal or illegal.” According to some users, Google could have called its resizable array as android.data.ResizableArray<E> but it named it java.util.ArrayList<E> and also copied the method signatures. But the matter of concern for the developers is what if other companies also end up filing such cases. And what if Google is the next one to do so? One of the users commented, “Does anyone believe Google will not be doing the exact same thing with its (moribund) technologies in, say, 5-10 years?” To know more, check out Google’s blog post. Why Google kills its own products Google and Ellen MacArthur Foundation with support from McKinsey & Company talk about the impact of Artificial Intelligence on circular economy Google is secretly urging National Labor Relations Board to overturn protection for activist workers, Bloomberg reports
Read more
  • 0
  • 0
  • 12696

article-image-jdk-11-first-release-candidate-rc-is-out-with-zgc-epsilon-and-more
Bhagyashree R
27 Aug 2018
3 min read
Save for later

JDK 11 First Release Candidate (RC) is out with ZGC, Epsilon and more!

Bhagyashree R
27 Aug 2018
3 min read
On Friday, Oracle released the JDK 11 first Release Candidate. It includes features such as nest-based access control, dynamic class-file constants, improved Aarch64 intrinsics, and more. The general availability of the final release of JDK 11 is scheduled for next month on the 25th. Every six months, in June and December, the community initiates the release cycle for the next JDK feature release. The work proceeds over the next three months in three phases: Rampdown Phase One (RDP 1), Rampdown Phase Two (RDP 2), and Release-Candidate Phase (RC).The durations of the phases for JDK 11 are four weeks for RDP 1, three weeks for RDP 2, and five weeks for RC. What is new in JDK 11 RC 1.0 ? Nest-based access control Nest is introduced to allow classes that are a logically part of the same code entity, but are compiled to distinct class files, access each other’s private members. Dynamic class-file constants To support a new constant-pool form named, CONSTANT_Dynamic, Java class-file format is extended. Loading this pool will delegate creation to a bootstrap method, just as linking an invokedynamic call site delegates linkage to a bootstrap method. Improvements in Aarch64 intrinsics Intrinsics are used to improve performance by leveraging CPU architecture-specific assembly code for a given method, instead of a generic Java code. The existing string and array intrinsics are improved and new intrinsics are implemented for the java.lang.Math package on AArch64 processors: sin (sine trigonometric function) cos (cosine trigonometric function) log (logarithm of a number) Epsilon A new garbage collector named, Epsilon is introduced that handles memory allocation but does not implement any actual memory reclamation mechanism. The JVM will shut down once the available Java heap is exhausted. Java EE and CORBA modules removed These modules are removed from the Java SE Platform and the JDK. Earlier, they were deprecated in the Java SE 9, indicating their removal in a future release. HTTP Client (Standard) The HTTP Client API, introduced as an incubating API in JDK 9 and JDK 10 is standardized. This API received a number of rounds of feedback that resulted in significant improvements. The module name and the package name of the standard API will be java.net.http. Local-variable syntax for lambda parameters When declaring the formal parameters of implicitly typed lambda expressions, the use of ‘var’ is allowed. Now the following expression: (var x, var y) -> x.process(y) is equivalent to: (x, y) -> x.process(y) Unicode 10 The existing platform APIs will support version 10.0 of the Unicode Standard. It is supported in the following classes: In java.lang: Character and String In java.awt.font: NumericShaper In java.text: Bidi, BreakIterator, and Normalizer New Flight Recorder Flight Recorder, a low-overhead data collection framework is provided for troubleshooting Java applications and the HotSpot JVM. Addition of ChaCha20 and Poly1305 cryptographic algorithms An implementation of the ChaCha20 and ChaCha20-Poly1305 ciphers as specified in RFC 7539 are added. ChaCha20 is a relatively new stream cipher that can replace the older, insecure RC4 stream cipher. ZGC (Experimental) The Z Garbage Collector, also known as ZGC, is a scalable low-latency garbage collector. ZGC is a concurrent, single-generation, region-based, NUMA-aware, compacting collector. To know more about these updates and improvements in detail, head over to its official website, OpenJDK. JavaFX 11 to release soon, announces the Gluon team State of OpenJDK: Past, Present and Future with Oracle Mark Reinhold on the evolution of Java platform and OpenJDK  
Read more
  • 0
  • 0
  • 12684

article-image-microsoft-store-updates-its-app-developer-agreement-to-give-developers-up-to-95-of-app-revenue
Amrata Joshi
07 Mar 2019
3 min read
Save for later

Microsoft Store updates its app developer agreement, to give developers up to 95% of app revenue

Amrata Joshi
07 Mar 2019
3 min read
Last year, Microsoft had announced about its new revenue split figures at the Build 2018. The new policy was expected to be rolled out by the end of 2018. However, it was actually two days ago that the team at Microsoft Store updated its App Developer Agreement (ADA) which is the revenue sharing agreement. The consumer app developers will now benefit by earning up to 95 percent cut of the revenue on app sales excluding games, and an 85 percent cut on the low end. This 95 percent share can be earned only when a customer uses a deep link (tracked by CID (Connection ID)) to purchase the app. In case the customers are directed by Microsoft to their app through a collection or "any other owned Microsoft properties (tracked by an OCID)," then developers will get an 85 percent share. This policy for the fee structure is effective for purchases on Windows Mixed Reality, Windows phone, Windows 10 PCs, and Surface Hub. The policy excludes purchases made on Xbox consoles. If there is no CID or OCID attributed to purchase, then in the case of a web search, customers will get 95 percent revenue. Few Hacker news users have appreciated this new revenue split policy as according to them the company has made a fair move. One user commented on HackerNews, “It seems like a reasonable shifting of costs. If you rely mostly on Microsoft for acquiring new customers, then Microsoft should get a little bit more of a cut, and if you rely mostly on your own marketing methods, then it should get less.” Another comment reads, “It’s an insanely good deal. MSFT has to be losing money on that.” According to a few others, there is also a benefit of organic search here. As app stores don’t usually have much of organic search going on. This move might result in the company getting a better idea on the organic search being done on their store. Also, the 5%-15% cut is an add on. According to a few users, it is equally beneficial for Microsoft as the company earns a cut as well. A comment reads, “Like all digital goods, the marginal cost of MSFT doing this is zero. I don't think they are losing money on this, in terms of pure margins, it’s probably quite lucrative (though in absolute revenue, maybe not so much).” Another comment reads, “I actually think this is a brilliant insight on the side of Microsoft, by inverting this model they get a non-zero slice of a pie they previously did not have.” This may have an effect on how other tech companies and developers function. Other companies may possibly get pressurized by Microsoft’s move considering the company has significantly gained the confidence of developers. To know more about this news, check out Microsoft’s blog post. Microsoft @MWC (Mobile World Congress) Day 1: HoloLens 2, Azure-powered Kinect camera and more! Microsoft workers protest the lethal use of Hololens2 in the $480m deal with US military Microsoft adds new features to Microsoft Office 365: Microsoft threat experts, priority notifications, Desktop App Assure, and more
Read more
  • 0
  • 0
  • 12675

article-image-gnome-foundations-shotwell-photo-manager-faces-a-patent-infringement-lawsuit-from-rothschild-patent-imaging
Bhagyashree R
26 Sep 2019
4 min read
Save for later

GNOME Foundation’s Shotwell photo manager faces a patent infringement lawsuit from Rothschild Patent Imaging

Bhagyashree R
26 Sep 2019
4 min read
Yesterday, the GNOME Foundation shared that Rothschild Patent Imaging LLC has filed a lawsuit against them stating that their Shotwell photo manager and other similar products infringe its patent. “On information and belief, Defendant sells, offers to sell, and/or uses network storage systems and methods including, without limitation, the Gnome Shotwell platform, and any similar products (“Product”), which infringe at least Claim 4 of the ‘086 Patent,” the lawsuit reads. Shotwell is a digital photo manager for the GNOME desktop environment. It allows you to import photos and videos from a disk or digital camera directly and organize them by keywords and events. It also includes editing features for cropping, rotating, adjusting levels and color balance, straightening, and eliminating red-eye. GNOME has called this lawsuit “baseless” and has decided to fight against this case head-on. In a statement, Neil McGovern, Executive Director for the GNOME Foundation said, “We have retained legal counsel and intend to vigorously defend against this baseless suit. Due to the ongoing litigation, we, unfortunately, cannot make any further comments at this time.” The 9,936,086 patent titled "Wireless image distribution system and method” was filed by Rothschild Patent Imaging LLC at the US Patent and Trademark Office on 2 June 2017 and got accepted on 3 April 2018. It talks about wirelessly connecting an image capturing device with a receiving device and sharing them based on transfer criteria. This patent is very vague and can be applied to literally any software that transfers images from one device to another. Also, there are quite a few similar technologies that GNOME can present as prior art resulting in the invalidation of the lawsuit. There is Shotwell’s predecessor, F-Shot that was discontinued in 2017. In a discussion on LW.NET, a user shared, “Shotwell's predecessor (F-Spot) had equivalent "wireless" functionality at least two years before this patent was first applied for.” The GNOME Foundation is not the first one who has been sued by Rothschild Patent Imaging LLC. It looks like the company has been on a suing spree adding Cyberlink.com,  QNAP Inc., Pinterest, Inc., Piximity, LLC, Magix Computer Products International Co. on their list. Considering its history, many are saying that Rothschild Patent Imaging LLC is nothing but a patent troll. A user on Hacker News commented, “Rothschild Patent Imaging appears to be the company holding the rights to a number of dubious patents filed by Leigh M. Rothschild, who appears to have a well-deserved reputation as a patent troll.” Many users commented that there should be some kind of “reform” to eliminate patent trolling. A user added, “One reform worth considering is that an entity that can be demonstrated to persistently engage in frivolous patent lawsuits should lose the rights to their entire portfolio. This could be accomplished with a legal mechanism that allows the defendant to counter-sue the plaintiff as a patent troll. In this scope, they could bring in the previous litigation history of the plaintiff (or any related entities, piercing the corporate veil). If the judge rules in the defendant's favor, then all of the plaintiff's patents (and any related entities) are immediately released into the public domain.” Another user suggested, “Another potential reform (from the book "Radical Markets") - charge a (say 1%) property tax on the patent based on self-assessed value, with the caveat that you MUST sell the patent to anyone willing to pay your claimed value. This basically destroys patent trolling, which only works because of the asymmetrical difference in cost between obtaining a patent and defending a patent lawsuit. If the troll prices the patent too low, the person they are suing just buys it, if they charge too much, they have a massive recurring tax bill (and an incentive to settle quickly, not to drag it out in the courts for years).” GNOME 3.34 releases with tab pinning, improved background panel, custom folders and more! GNOME 3.32 released with fractional scaling, improvements to desktop, web and much more Amazon patents AI-powered drones to provide ‘surveillance as a service’ Apple is patenting Swift features like optional chaining Open Invention Network expands its patent non-aggression coverage in Linux system  
Read more
  • 0
  • 0
  • 12659
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-fedora-30-releases-with-gcc-9-0-gnome-3-32-performance-improvements-and-much-more
Amrata Joshi
02 May 2019
2 min read
Save for later

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

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

article-image-neuron-an-all-inclusive-data-science-extension-for-visual-studio
Prasad Ramesh
01 Nov 2018
3 min read
Save for later

Neuron: An all-inclusive data science extension for Visual Studio

Prasad Ramesh
01 Nov 2018
3 min read
A team of students from the Imperial College London developed a new Visual Studio extension called neuron. It is aimed to be an all-inclusive add-on for data science tasks in Visual Studio. Using neuron is pretty simple. You begin with regular Python or R code file in a window. Beside the code is neuron’s windows as shown in the following screenshot. It takes up half of the screen but is a blank page at the start. When you run your code snippets, the output starts showing up as interactive cards. Neuron can display outputs that are plain text, tables, images, graphs, or maps. Source: Microsoft Blog You can find neuron at the Visual Studio Marketplace. On installation, a button will be visible when you have a supported file open. Neuron uses the Jupyter Notebook in the background. Jupyter Notebook would already be installed in your computer considering it popularity, if not you will be prompted. Neron supports more output types than Jupyter Notebook. You can also generate 3D graphs, maps, LaTeX formulas, markdown, HTML, and static images with neuron. The output is displayed in a card on the right-hand side, it can be resized moved around or expanded into a separate window. Neuron also keeps a track of code snippets associated with each card. Why was neuron created? Data scientists come from various backgrounds and use a set of standard tools like Python, libraries, and the Jupyter Notebook. Microsoft approached the students from the Imperial College London to integrate the various set of tools into one single workspace. A single workspace being a Visual Studio extension that could enable users to run data analysis operations without breaking the current workflow. Neuron gets the advantage of an intelligent IDE, Visual Studio along with rapid execution and visualization of Jupyter Notebook all in a single window. It is not a new idea Although neuron is not a new idea. https://twitter.com/jordi_aranda/status/1057712899542654976 Comments on Reddit also suggest there are existing such tools in other IDEs. Reddit user kazi1 stated: “Seems more or less the same as Microsoft's current Jupyter extension (which is pretty meh). This seems like it's trying to reproduce the work already done by Atom's Hydrogen extension, why not contribute there instead." Another Redditor named procedural_ape said: “This looks like an awesome extension but shame on Microsoft for acting like this is their own fresh, new idea. Spyder has had this functionality for a while.” For more details, visit the Microsoft Blog and a demo is available on GitHub. Visual Studio code July 2018 release, version 1.26 is out! MIT plans to invest $1 billion in a new College of computing that will serve as an interdisciplinary hub for computer science, AI, data science Microsoft releases the Python Language Server in Visual Studio
Read more
  • 0
  • 0
  • 12640

article-image-qt-creator-4-9-0-released-with-language-support-qml-support-profiling-and-much-more
Amrata Joshi
16 Apr 2019
2 min read
Save for later

Qt Creator 4.9.0 released with language support, QML support, profiling and much more

Amrata Joshi
16 Apr 2019
2 min read
Yesterday, the team behind Qt released the latest version, Qt Creator 4.9.0, a cross-platform software development framework for embedded and desktop applications. This release comes with programming language support, changes to UI, QML support and much more. What’s new in Qt Creator 4.9.0? Language support Qt Creator 4.9 comes with added support for document outline, find usages, and also for code actions that allow the language server to suggest fixes at a specified place in the code. The team has changed the highlighter. It is now based on the KSyntaxHighlighting library, which is used in KDE for this purpose. Changes to UI In this release, the UI for diagnostics from the Clang analyzer tools have been improved as they now are grouped by file now. Diagnostics from the project’s header files are now also included. QML Support The team updated their QML parser to Qt 5.12 that added support for ECMAScript 7. Profiling This release comes with perf, which is a performance profiling tool for software that runs on a Linux system. The integration in Qt Creator is available for applications that run on a local Linux system, and for applications that run on a remote Linux system from a Linux or Windows host. Generic Projects Users can now add a QtCreatorDeployment.txt file to their generic project for specifying the necessary information about where to deploy and which files to deploy. Support for OS For Windows, the team has added support for MSVC (Microsoft Visual C++) 2019. For macOS, a Touch Bar has been added so that users can run Qt Creator on a MacBook. And for Linux, the team has added OpenSSH tools. To know more about this news, check out the Qt blog post. Qt Creator 4.9 Beta released with QML support, programming language support and more! Qt team releases Qt Creator 4.8.0 and Qt 5.12 LTS Qt creator 4.8 beta released, adds language server protocol  
Read more
  • 0
  • 0
  • 12615

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

The first release candidate of Rails 6.0.0 is now out!

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

Visual Studio 2019: New features you should expect to see

Richa Tripathi
12 Jun 2018
3 min read
Microsoft announced Visual Studio 2019, the next major version of its signature IDE (Integrated Development Environment) for software design. This exciting news has come right on the heels of Microsoft’s acquisition of GitHub. According to Microsoft, the company is still in the "early planning phase" for Visual Studio 2019 and Visual Studio for Mac. Release timing will be shared “in the coming months,” with the company simply promising “to deliver Visual Studio 2019 quickly and iteratively.” Along with general improvements to make the developer tool more reliable and more productive, Microsoft has some concrete goals in mind. Last month at Build 2018 developers conference, Microsoft demonstrated two new Visual Studio previews: IntelliCode and Live Share. The former uses AI to offer intelligent suggestions that improve code quality and productivity, and the latter lets developers collaborate in real time with team members who can edit and debug directly from Visual Studio and Visual Studio Code. Specific features that will be delivered in VS2019 are not provided, rather Microsoft lists various themes that the project will address. Here are the major new features Microsoft will bring in Visual Studio 2019 in coming days : It will continue to explore connected capabilities such as Live Share, for users to collaborate in real time on the same code base worldwide. It wants to investigate making cloud development situations, such as working with online source repositories, smoother. Enhancements for AI-assisted development via IntelliCode and use of the Azure cloud to deliver AI-powered assistance to developers. Operational enhancements such as additional refactoring, quicker application load, faster builds, improved navigation, and improved debugging. The release date for VS2019 is not available yet, but VS2017 was released in March 2017 and was preceded by several preview builds throughout 2016. Similarly, one would expect the first preview build of VS2019 in late summer / early autumn this year.  Fortunately VS2019 is being designed to install side-by-side with existing VS2017 builds, so it will be easy to try out the new release when it is available. A key fact about this next release, according to Microsoft, is that it will remain a 32-bit application and will support Windows 7. Initial developer reactions indicate there are concerns about the unresolved issues and code quality problems with VS2017, and that it is premature to shift to VS2019.  Microsoft does not offer specifics, but does indicate that they are working to improve this with the development team. Microsoft is going to acquire GitHub Unit Testing in .NET Core with Visual Studio 2017 for better code quality What’s new in Visual Studio 1.22  
Read more
  • 0
  • 0
  • 12562

article-image-openfaas-releases-full-support-for-stateless-microservices-in-openfaas-0-9-0
Melisha Dsouza
07 Sep 2018
4 min read
Save for later

OpenFaaS releases full support for stateless microservices in OpenFaaS 0.9.0

Melisha Dsouza
07 Sep 2018
4 min read
OpenFaaS announced on the 5th of September 2018 that they have released support for stateless microservices in OpenFaaS 0.9.0. They assert that managing FaaS functions and microservices will now be easier. A stateless microservice can be deployed as if it were a FaaS Function and managed by a FaaS framework or Platform such as OpenFaaS. Hence, no special routes, flags or filters are needed in the OpenFaaS CLI, Gateway API or UI. Source: OpenFaaS The upgrade came as a follow-up to two requests from the microservices community. One of the users at Wireline.io raised a feature request to enhance the HTTP route functionality of functions and write functions to run on both, AWS Lambda and on OpenFaaS, without any additional changes. Then came the request from the CEO of GitLab, Sid Sijbrandi who wanted to learn more about Serverless and how it could benefit Gitlab. He was apprehensive whether OpenFaaS could be used to manage both, FaaS Functions and the microservices his team was more familiar (eg. Sinatra apps). He wanted to know more about scaling to zero when idle. To address these requests, the OpenFaaS blog has given its viewers an example of deploying a Ruby and Sinatra guestbook backed by MySQL deployed to OpenFaaS with Kubernetes. This is how the task can be done- Users have to start of by creating the Sinatra stateless microservices. They can then go on to create a hello-world service by supplying their own Dockerfile and executing the following commands $ mkdir -p sinatra-for-OpenFaaS/ \  && cd sinatra-for-OpenFaaS/ $ faas-cli new --prefix=alexellis2 --lang dockerfile frank-says They need to replace alexellis2 with their Docker Hub account or another Docker registry. This has to be followed by creating a Gemfile and the main.rb file: ./frank-says/main.rb: require 'sinatra' set :port, 8080 set :bind, '0.0.0.0' open('/tmp/.lock', 'w') { |f|  f.puts "Service started" } get '/' do  'Frank has entered the building' end get '/logout' do  'Frank has left the building' End   Things to note on OpenFaaS workloads while doing this- Bind to TCP port 8080 Write a file /tmp/.lock when ready to receive traffic The Dockerfile will add a non-root user, add the Ruby source and Gemfile then installs the Sinatra gem. Finally, it will add a healthcheck on a 5-second interval and set the start-up command. Users can now deploy the example using the OpenFaaS CLI. Login with account details $ docker login Run the up command which is an alias for build, push and deploy. $ faas-cli up --yaml frank-says.yml Deploying: frank-says. Deployed. 200 OK. URL: http://127.0.0.1:8080/function/frank-says To Deploy the Sinatra guestbook with MySQL, they need to execute- $ git clone https://github.com/OpenFaaS-incubator/OpenFaaS-sinatra-guestbook \  && cd OpenFaaS-sinatra-guestbook Configure MySQL database details in ./sql.yml. $ cp sql.example.yml sql.yml Finally deploy the guestbook: $ faas-cli up http://127.0.0.1:8080/function/guestbook The  URL given by the command above should be used to access the microservice. Now, Sign the guest book using the UI and then reset the MySQL table at any time by posting to /function/guestbook/reset. Source: OpenFaaS The guestbook code stores its state in a MySQL table. A key property of FaaS functions and stateless microservices is that it can be restarted at any time without losing data. For a detailed implementation of the guestbook example, head over to the OpenFaaS Blog post How to Enable Zero-Scale? To enable scaling to zero simply follow the documentation Next, users have to add a label to their stack.yml file to tell OpenFaaS that your function is eligible for zero-scaling: labels:      com.OpenFaaS.scale.zero: true Finally, redeploy the guestbook with faas-cli up. The faas-idler will now scale the function to zero replicas as soon as it is detected as idle. The default idle period is set at 5 minutes, which can be configured at deployment time. OpenFaaS has also deployed a stateless microservice written in Ruby that will scale to zero when idle and back again in time to serve traffic. It can be managed in exactly the same way as OpenFaaS existing FaaS functions. Thus, we have seen how the support for stateless microservices has made it easier for users to manage their microservices easily. Head over to the OpenFaaS blog for a detailed explanation of deploying a simple hello-world Sinatra service and to gain more insights about the upgrade. 6 Ways to blow up your Microservices! Google, IBM, RedHat and others launch Istio 1.0 service mesh for microservices Welcome Express Gateway 1.11.0, a microservices API Gateway on Express.js
Read more
  • 0
  • 0
  • 12515

article-image-github-now-allows-repository-owners-to-delete-an-issue-curse-or-a-boon
Amrata Joshi
09 Nov 2018
3 min read
Save for later

Github now allows repository owners to delete an issue: curse or a boon?

Amrata Joshi
09 Nov 2018
3 min read
On Saturday Github released the public beta version for a new feature to delete issues. This feature lets repository admins, delete an issue from any repository, permanently. This might give more power to the repository owners now. Since the time Github tweeted about this news, the controversy around this feature seems to be on fire. According to many, this new feature might lead to the removal of issues that disclose severe security issues. Also, many users can take help of the closed issue and resolve their problems as the conversation history of repository sometimes has a lot of information. https://twitter.com/thegreenhouseio/status/1060257920158498817 https://twitter.com/aureliari/status/1060279790706589710 In case, someone posts a security vulnerability publicly as an issue, it might turn out to be a big problem to the project owner, as there’s a high possibility of people avoiding the future updates coming on the same project. This feature could be helpful to many organizations, as this feature might work as a damage control for them. Few of the issues posted by users on Github aren’t really issues, so this feature might be helpful in that direction. Also, there are a lot of duplicate issues which get posted on purpose or mistakenly by the users, so this feature could work a rescue tool! In contrast to this, a lot of users are opposing this feature. This feature might not be so helpful because no matter how fast one erases a vulnerability report, the info gets leaked via the mail inbox. The poll posted by one of the users on Twitter which has 71 votes as of the time of writing, shows that 69% of the participants disliked this feature. While only 14% of users have given a thumbs up to this feature. And the rest 17% have no views on it. The poll is still on, it would be interesting to see the final report of the same. https://twitter.com/d4nyll/status/1060422721589325824 The users are requesting for a better option which might just highlight a way to report security issues in a non-public way. While few others prefer an archive option instead of deleting the issue permanently. And some others just strongly favor removing the feature. https://twitter.com/kirilldanshin/status/1060265945598492677 With many users now blaming Microsoft for this feature on Github, it would be interesting to see the next update on the same feature, could it possibly just be an UNDO option? Read more about this news on Github’s official Twitter page. GitHub now supports the GNU General Public License (GPL) Cooperation Commitment as a way of promoting effective software regulation GitHub now allows issue transfer between repositories; a public beta version GitHub October 21st outage RCA: How prioritizing ‘data integrity’ launched a series of unfortunate events that led to a day-long outage
Read more
  • 0
  • 0
  • 12500
article-image-python-3-8-0-alpha-1-is-now-available-for-testing
Prasad Ramesh
05 Feb 2019
2 min read
Save for later

Python 3.8.0 alpha 1 is now available for testing

Prasad Ramesh
05 Feb 2019
2 min read
Yesterday, the first alpha of Python 3.8.0 was announced in a Python blog post. The most important change in this version is the addition of Assignment Expressions. This is the first alpha, three more are yet to be released. Keep in mind that the features are raw and not meant for production use. Some changes in Python 3.8.0 alpha 1: Security changes When spawning child processes, the command line option -I to run Python in isolated mode is now copied by the multiprocessing and distutils modules as well OpenSSL is updated to OpenSSL 1.1.0i for Windows builds The thread safety of error handling is fixed in _ssl A small fix to prevent buffer overrun in os.symlink for Windows Changes in core and builtins PEP 572: This introduces a new way which assigns values to variables in an expression by using the NAME := expr notation Parenthesis are made optional for named expressions in a while statement. Python initialization is reorganized to get exceptions and sys.stderr early. A small memory leak is fixed in pymain_parse_cmdline_impl. For unbalanced parentheses in f-string, the syntax messages are better. End line and end column position information are added to the Python AST nodes During the Python initialization, the Python filesystem encoding is read faster Library changes Shared memory submodule is added to multiprocessing in order to avoid serialization between processes The KeyError exception when using enums and compile is now fixed help() on metaclasses is fixed The raise(signum) is now exposed as raise_signal Building enums by value are now faster These were a select few changes in Python 3.8.0 alpha 1. For a complete list of changes, you may go through the changelog. Introducing RustPython, a Python 3 interpreter written in Rust EuroPython Society announces the ‘Guido van Rossum Core Developer Grant’ program to honor Python core developers pandas will drop support for Python 2 this month with pandas 0.24
Read more
  • 0
  • 0
  • 12406

article-image-swift-is-now-available-on-fedora-28
Melisha Dsouza
10 Oct 2018
2 min read
Save for later

Swift is now available on Fedora 28

Melisha Dsouza
10 Oct 2018
2 min read
Last week, the Fedora team announced that Swift will be available in Fedora 28.  Swift, Apple’s programming language, is built with a modern approach to safety and its addition to Fedora will facilitate Linux’s focus on the security aspect of its kernel. Why did the team opt for Swift? Swift’s applications are endless- right from systems programming to desktop applications leading right upto cloud services. This language was always focussed on being fast and safe. There is automatic memory management where arrays and integers are checked for overflow. Swift also supports a built-in mechanism for error handling. It is an efficient server-side programming language which performs fast iterations over collections of code. Additional features include: Closures with function pointers Tuples and multiple return values Generics Structs supporting methods, extensions, and protocols Functional programming patterns, like map and filter do, guard, defer, and repeat keywords provide an advanced control flow Swift is available in Fedora under the package name swift-lang. The flexible capabilities of Fedora coupled with the advantages offered by Swift make it an excellent choice for developers to work on. To know more about this news, head over to Fedora’s magazine. ABI stability may finally come in Swift 5.0 Swift 4.2 releases with language, library and package manager updates! Fedora 29 beta brings Modularity, GNOME 3.30 support and other changes
Read more
  • 0
  • 0
  • 12247
Modal Close icon
Modal Close icon