Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds

Tech News - Application Development

279 Articles
article-image-junit-5-4-released-with-an-aggregate-artifact-for-reducing-your-maven-and-gradle-files
Bhagyashree R
08 Mar 2019
2 min read
Save for later

JUnit 5.4 released with an aggregate artifact for reducing your Maven and Gradle files

Bhagyashree R
08 Mar 2019
2 min read
Last month, the team behind the JUnit framework announced the release of JUnit 5.4. This release allows ordering extensions and test case execution provides an aggregate artifact for slimming your Maven and Gradle files, and more. Some new features in JUnit 5.4 Ordering test case execution JUnit 5.4 allows you to explicitly define a text execution order. To enable tests ordering, you need to annotate the class with the ‘@TestMethodOrder’ extension and also mention the ordering type of either Alphanumeric, OrderAnnotation, or Random. Alphanumeric orders the test execution based on the method name of the test case. For a custom defined execution, you can use the OrderAnnotation order type. To order test cases pseudo-randomly, you can use the Random order type. Extension ordering With this release, you can not only order test case execution but also order how programmatically register extensions are executed. These extensions are registered with @RegisterExtension. You can use this feature in cases where the setup/teardown behavior of a test is complex and has separate domains. For instance, when you are testing the behavior of how a cache and database are used. Aggregate artifact A large number of dependencies were required when using JUnit 5. With this release, the team has changed this by providing the ‘junit-jupiter’ aggregate artifact. The ‘junit-jupiter’ artifact includes ‘junit-jupiter-api’ and ‘junit-jupiter-params’. This artifact collectively covers most of the dependencies we will need when using JUnit 5. It will also help in reducing the size of Maven and Gradle files of projects using JUnit 5. TempDir In JUnit 5.4, the team has added @TempDir as a native feature of the JUnit framework, which was originally a part of the JUnit-Pioneer third-party library. You can use the @TempDir extension for handling the creation and cleanup of temporary files. TestKit With TestKit, you can perform a meta-analysis on a test suite. It allows you to check the number of executed tests, passed tests, failed tests, skipped tests, as well as a few other behaviors. To read the full list of updates in JUnit 5.4, check out the official announcement. Apache NetBeans IDE 10.0 released with support for JDK 11, JUnit 5 and more! JUnit 5.3 brings console output capture, assertThrow enhancements and parallel test execution Unit testing with Java frameworks: JUnit and TestNG [Tutorial]  
Read more
  • 0
  • 0
  • 3174

article-image-notepad-drops-code-signing-for-its-releases-from-version-7-6-4-onwards
Bhagyashree R
08 Mar 2019
3 min read
Save for later

Notepad++ drops code-signing for its releases from version 7.6.4 onwards

Bhagyashree R
08 Mar 2019
3 min read
On Wednesday, Don Ho, Notepad++ developer announced the release of Notepad++ 7.6.4. He also shared that from this release onwards, users will not see the blue-trusted User Access Control (UAC) popup as Notepad++ has dropped code signing for its releases. UAC is a Windows security feature which helps prevent unauthorized changes to operating systems. Why Notepad++ decided to drop code-signing for its releases? DigiCert, a US-based X.509 SSL certificate authority, donated a three years code signing certificate to Notepad++ in 2016, which has now expired. Now when Don Ho was trying to repurchase a new certificate from Certum, a Certification Authority, he was required to mention a Common Name (CN). The problem here is that as Notepad++ is not a company or organization, Certum did not allow him to use Notepad++ as CN. Additionally, he also feels that these code-signing certificates are too overpriced. He added in the blog post, “Notepad++ has done without a certificate for more than 10 years, I don’t see why I should add the dependency now (and be an accomplice of this overpricing industry). I decide to do without it.” This sparked a discussion on Hacker News, and many users supported the developer’s decision. One of the users commented, “Well I don't care if the developer paid the certificate, and I don't see why someone that develops FOSS should pay money for something that doesn't bring to him any of that money back. At least for open source software certificates should be offered for free, in my opinion.” Don Ho mentioned in the announcement that this decision will not have any effect on Notepad++ security whatsoever, but it will be less flexible from before: As always, every release will come with SHA256 hash of the installed and other packages. The SHA256 hash of all components such as ‘SciLexer.dll’, ‘GUP.exe’, and ‘nppPluginList.dll’ will be checked by Notepad++ Markdown support was planned to land in Notepad++ 7.6.3 version, but the needed file wasn’t deployed correctly by the installer. This bug is now fixed in Notepad++ 7.6.4. Additionally, this release fixes a few vulnerable issues and some crash bugs identified in the European Commission's Free and Open Source Software Auditing Bug Bounty program. To read the original announcement, visit Notepad++’s official website. EU to sponsor bug bounty programs for 14 open source projects from January 2019 Browser based Visualization made easy with the new P5.js 5 Reasons to learn programming
Read more
  • 0
  • 0
  • 2220

article-image-apache-maven-javadoc-plugin-version-3-1-0-released
Sugandha Lahoti
08 Mar 2019
2 min read
Save for later

Apache Maven Javadoc Plugin version 3.1.0 released

Sugandha Lahoti
08 Mar 2019
2 min read
On Monday, the Apache Maven team announced the release of the Apache Maven Javadoc Plugin, version 3.1.0. The Javadoc Plugin uses the Javadoc tool to generate javadocs for a specified project. It gets the parameter values that will be used from the plugin configuration specified in the pom. The plugin can also be used to package the generated javadocs into a jar file for distribution. What’s new in Maven Javadoc Plugin version 3.1.0? New features include the support for aggregated reports at each level in the multi-module hierarchy. The dependency has also been upgraded to parent pom 32. Changes made to the repository The aggregate goal doesn't respect managed dependencies detectLinks may pass invalid URLs to javadoc(1) Invalid 'expires' attribute <link> entries that do not redirect are ignored and those that point to a resource that requires an Accept header may be ignored Other improvements: The plugin adds an 'aggregated-no-fork' goal The Command line dump reveals proxy user/password in case of errors The plugin ignores module-info.java on earlier Java versions Additionalparam documentation has been cleaned up Element-list links from java10 dependencies are now supported Reports are now allowed to be generated in Spanish locale The default value for removeUnknownThrows is changed to true Proxy configuration now properly works for both HTTP and HTTPS Patterns are used for defaultJavadocApiLinks Typos are fixed in User Guide. Groups parameter is not compatible with Surefire Other fixes: duplicates lines are fixed in the javadoc JavadocOptionsXpp3Reader doesn't deserialize the placement element <additionalOption> input isn't escaped for double backslashes links option is ignored in offline mode, even for local links in argument file in tag Maven Javadoc Plugin can't get dependency from third-party maven repository These are just a select few updates. For more details, head over to the mailing list archives. Apache NetBeans IDE 10.0 released with support for JDK 11, JUnit 5 and more! Twitter adopts Apache Kafka as their Pub/Sub System Apache Spark 2.4.0 released
Read more
  • 0
  • 0
  • 2129
Visually different images

article-image-microsoft-open-sources-the-windows-calculator-code-on-github
Amrata Joshi
07 Mar 2019
3 min read
Save for later

Microsoft open sources the Windows Calculator code on GitHub

Amrata Joshi
07 Mar 2019
3 min read
Since the past couple of years, Microsoft has been supporting open source projects, it even joined the Open Invention Network. Last year, Microsoft had announced the general availability of its Windows 3.0 File Manager code. Yesterday, the team at Microsoft made an announcement regarding releasing its Windows Calculator program as an open source project on GitHub under the MIT License. Microsoft is making the source code, build system, unit tests, and product roadmap available to the community. It would be interesting for the developers to explore how different parts of the Calculator app work and further getting to know the Calculator logic. Microsoft is also encouraging developers to participate in their projects by bringing in new perspectives on the Calculator code. The company highlighted that developers can contribute by participating in discussions, fixing or reporting issues, prototyping new features and by addressing design flows. By reviewing the Calculator code, developers can explore the latest Microsoft technologies like XAML, Universal Windows Platform, and Azure Pipelines. They can also learn about Microsoft’s full development lifecycle and can even reuse the code to build their own projects. Microsoft will be also contributing custom controls and API extensions used in Calculator and projects like the Windows UI Library and Windows Community Toolkit. The official announcement reads, “Our goal is to build an even better user experience in partnership with the community.” With the recent updates from Microsoft, it seems that the company is becoming more and more developer friendly. Just two days ago, the company updated its App Developer Agreement. As per the new policy, the developers will now get up to 95% share. According to a few users, Microsoft might collect user information via this new project and even the section below telemetry (on the GitHub post) states the same. The post reads, "This project collects usage data and sends it to Microsoft to help improve our products and services. Read our privacy statement to learn more. Telemetry is disabled in development builds by default, and can be enabled with the SEND_TELEMETRY build flag." One of the users commented on HackerNews, “Well it must include your IP address too, and they know the time and date it was received. And then it gets bundled with the rest of the data they collected. I don't even want them knowing when I'm using my computer. What gets measured gets managed.” Few users have different perspectives regarding this. Another comment reads, “Separately, I question whether anyone looking at the telemetry on the backend. In my experience, developers add this stuff because they think it will be useful, then it never or rarely gets looked at. A telemetry event here, a telemetry event there, pretty soon you're talking real bandwidth.” Check out Microsoft’s blog post for more details on this news. 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
  • 3156

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

article-image-github-releases-vulcanizer-a-new-golang-library-for-operating-elasticsearch
Natasha Mathur
06 Mar 2019
2 min read
Save for later

GitHub releases Vulcanizer, a new Golang Library for operating Elasticsearch

Natasha Mathur
06 Mar 2019
2 min read
The GitHub team released a new Go library, Vulcanizer, that interacts with an Elasticsearch cluster, yesterday. Vulcanizer is not a full-fledged Elasticsearch client. However, it is aimed at providing a high-level API to help with common tasks associated with operating an Elasticsearch cluster. These tasks include querying health status of the cluster, migrating data from nodes, updating cluster settings, and more. GitHub makes use of Elasticsearch as the core technology behind its search services. GitHub has already released the Elastomer library for Ruby and they use Elastic library for Go by user olivere. However, the GitHub team wanted a high-level API that corresponded with the common operations on cluster such as disabling allocation or draining the shards from a node. They wanted a library that focused more on the administrative operations and that could be easily used by their existing tooling. Since Go’s structure encourages the construction of composable software, they decided it was a good fit for Elasticsearch. This is because, Elasticsearch is very effective and helps carry out almost all the operations that can be done using its HTTP interface, and where you don’t want to write JSON manually. Vulcanizer is great at getting nodes of a cluster, updating the max recovery cluster settings, and safely adding or removing the nodes from the exclude settings, making sure that shards don’t unexpectedly allocate onto a node. Also, Vulcanizer helps build ChatOps tooling around Elasticsearch quickly for common tasks. GitHub team states that having all the Elasticsearch functionality in their own library, Vulcanizer, helps its internal apps to be slim and isolated. For more information, check out the official GitHub Vulcanizer post. GitHub increases its reward payout model for its bug bounty program   GitHub launches draft pull requests GitHub Octoverse: top machine learning packages, languages, and projects of 2018
Read more
  • 0
  • 0
  • 3493
Unlock access to the largest independent learning library in Tech for FREE!
Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
Renews at $15.99/month. Cancel anytime
article-image-reactos-0-4-11-is-now-out-with-kernel-improvements-manifests-support-and-more
Bhagyashree R
05 Mar 2019
2 min read
Save for later

ReactOS 0.4.11 is now out with kernel improvements, manifests support, and more!

Bhagyashree R
05 Mar 2019
2 min read
Yesterday, the ReactOS team announced the release of ReactOS 0.4.11. This release comes with improvements in the kernel for better overall system stability, support for manifests, and more. Following are some of the updates ReactOS 0.4.11 comes with: Kernel improvements ReactOS 0.4.11 comes with substantial updates in the interface that allow operating systems to talk with storage devices. Nowadays, computers generally use SATA connections and the corresponding AHCI interface. To support this interface, ReactOS relies on the UniATA driver. But, this driver was not supported by the 6th generation of Intel’s Core processors (Skylake). The team has now resolved this incompatibility enabling users to test ReactOS on more modern platforms. Support for manifests Applications often depend on other libraries in the form of dynamic link libraries (DLLs), which are loaded by the loader (LDR). One way these dependencies are specified is with the help of manifests. In the previous versions of ReactOS, manifests were not properly supported. ReactOS 0.4.11 comes with sufficient support for manifests, which has also widened the range of applications that can run in ReactOS. With this support added, ReactOS can now run applications like Blender 2.57b, Bumptop, Evernote 5.8.3, Quicktime Player 7.7.9, and many others. USETUP improvements ReactOS 0.4.11 comes with major improvements in the USETUP module. The goal behind these improvements was to enable users to upgrade an existing installation of ReactOS. This is also a step forward towards making ReactOS an actual system OS with the ability to update without the loss of any data and configuration. Testing In this release, the team has restructured the test results page to better encapsulate the relevant information. In addition to the overall conclusion of the test, users will now also be able to see details such as tracking what drove a particular conclusion and the workarounds that they might themselves attempt. Support for network debugging and diagnosis programs ReactOS 0.4.11 now supports various network debugging and diagnosis programs as a result of work done in TCP and UDP connection enumeration. With this update, the ReactOS team aims to make the platform useful for not just running applications, but also to debug them. To read the full list of updates in ReactOS 0.4.11, check out the official announcement. Btrfs now boots ReactOS, a free and open source alternative for Windows NT ReactOS version 0.4.9 released with Self-hosting and FastFAT crash fixes You can now install Windows 10 on a Raspberry Pi 3
Read more
  • 0
  • 0
  • 2551

article-image-facebook-open-sources-magma-a-software-platform-for-deploying-mobile-networks
Amrata Joshi
26 Feb 2019
2 min read
Save for later

Facebook open sources Magma, a software platform for deploying mobile networks

Amrata Joshi
26 Feb 2019
2 min read
Yesterday, the team at Facebook open-sourced Magma, a software platform that will help operators for deploying mobile networks easily. This platform comes with a software-centric distributed mobile packet core and tools for automating network management. Magma extends existing network topologies to the edge of rural deployments, private LTE (Long Term Evolution) networks or wireless enterprise deployments instead of replacing existing EPC deployments for large networks. Magma enables new types of network archetypes where there is a need for continuous integration of software components and incremental upgrade cycles. It also allows authentication and integration with the help of LTE EPC (Evolved Packet Core). It also reduces the complexity of operating mobile networks by enabling automation of network operations like software updates, element configuration, and device provisioning. Magma’s centralized cloud-based controller can be used on a public or private cloud environment. Its automated provisioning infrastructure makes deploying LTE as easy as deploying a WiFi access point. The platform currently works with existing LTE base stations and can associate with traditional mobile cores for extending services to new areas. According to a few users, “Facebook internally considers the social network to be its major asset and not their technology.” Any investment in open technologies or internal technology which make the network effect stronger is considered important. Few users discussed Facebook’s revenue strategies in the HackerNews thread. A comment on HackerNews reads, “I noticed that FB and mobile phone companies offering "free Facebook" are all in a borderline antagonistic relationship because messenger kills their revenue, and they want to bill FB an arm and a leg for that.” To know more about this news in detail, check out Facebook’s blog post. Facebook open sources SPARTA to simplify abstract interpretation Facebook open sources the ELF OpenGo project and retrains the model using reinforcement learning Facebook’s AI Chief at ISSCC talks about the future of deep learning hardware  
Read more
  • 0
  • 0
  • 2792

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

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

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

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

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

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

Qt Creator 4.9 Beta released with QML support, programming language support and more!

Amrata Joshi
22 Feb 2019
2 min read
The team at Qt has been coming with a lot of developments lately. This week, the Qt team released the Qt Design Studio 1.1 and yesterday the team announced the release of Qt Creator 4.9 Beta. What’s new in Qt Creator 4.9 Beta? Generic programming language support In this release, the team has added support for the document outline and for code actions, which allow the language server to suggest fixes or refactoring actions at a specified place in the code. The Qt highlighter is now based on the KSyntaxHighlighting library, which is the library used in KDE. Projects `Expand All` has been added to context menu. The `Close All Files in Project` action is now supported in this release. It’s now possible to close all the files of the project once the project is closed. C++ Support The UI for diagnostics from the Clang analyzer tools has been improved as they are grouped by file now. Diagnostics from the project’s headers files are also included. This release comes with a guard against applying Fix-its to files that have changed in the meantime. In the Clazy configuration, it is now possible to enable or disable individual checks. QML Support The QML parser has been updated to Qt 5.12. This release comes with an added support for ECMAScript 7. Support for Python This release comes with added project templates for Qt for Python. Nim Support The code completion has been added in this release based on NimSuggest. Profiling This release comes with Perf, which is a powerful performance profiling tool for software running on a Linux system. Operating systems For Windows, this release comes with an added support for MSVC 2019. On macOS, there is an added Touch Bar for running Qt Creator. For remote Linux targets, the Botan-based SSH backend has been exchanged by the use of OpenSSH tools. Major Fixes The dragging file from the `Projects` view has been fixed.   The crash on `Find Usages` has been fixed. To know more about this news, check out Qt’s official blog post. Qt Design Studio 1.1 released with Qt Photoshop bridge, updated timeline and more Qt for Python 5.12 released with PySide2, Qt GUI and more Qt team releases Qt Creator 4.8.0 and Qt 5.12 LTS
Read more
  • 0
  • 0
  • 2483

article-image-gitlab-considers-moving-to-a-single-rails-codebase-by-combining-the-two-existing-repositories
Amrata Joshi
22 Feb 2019
4 min read
Save for later

GitLab considers moving to a single Rails codebase by combining the two existing repositories

Amrata Joshi
22 Feb 2019
4 min read
The team at GitLab is now considering to move towards a single Rails repository by combining the two existing repositories. Although the GitLab Community Edition code would remain open source and MIT licensed and also the GitLab Enterprise Edition code would remain source available and proprietary. The challenges with having two repositories? The Ruby on Rails code of GitLab is currently maintained in two repositories. The gitlab-ce repository for the code with an open source license and the gitlab-ee repository for code with a proprietary license which is source available. Having two similar but separate repositories, can make feature development difficult and error-prone while making any change in GitLab. To demonstrate the problem, the team at GitLab has given a few examples: Duplicated work during feature development The frontend only Merge Request needed a backport to CE repository. Backporting requires creating duplicate work in order to avoid future conflicts and changes to the code to support the feature. A simple change can break master A minor change in CE repository failed the pipeline in the master branch. Conflicts during preparation for regular releases There might be conflicts during preparation for a regular release, e.g. 11.7.5 release. Merge requests for both the CE repository and EE repository need to be created. And when the pipelines pass, the EE repository would require a merge from the CE repository. This would cause additional conflicts, pipeline failures, and similar delays during which the CE distribution release also would get delayed. Steps taken by GitLab team to improve the situation Before 2016, merging the CE repository into the EE repository was done when the team was ready to cut a release and the number of commits was small so it could be done by one person. As the number of commits between the two repositories grew in 2016, so the task got divided between seven developers who were responsible for merging the code once a day. This worked fine for some time until delays started happening due to failed specs or difficult merge conflicts. The team then merged an MR that allowed the creation of automated MRs between the two repositories by the end of 2017. This task ran every three hours, which allowed for a smaller number of commits to be worked on. The number of changes going into CE and EE repositories grew to thousands of commits in some cases by the end of 2018. This made the automated MR insufficient. The Merge Train tool was then created to automate these workflows further and which automatically rejected merge conflicts and preferred changes from one repository over the other. What is the GitLab team proposing? The gitlab-ce distribution package consists of gitlab-ce repository which offers only the Core feature set.  The gitlab-ee distribution package consists of gitlab-ee repository. The change which the team is considering proposing would be to merge the gitlab-ce and gitlab-ee repositories into a single gitlab repository. The design for merging two codebases requires the work and process changes in detail. Though the proposed change would pertain only to the Ruby on Rails repository. Expected changes The gitlab-ce and gitlab-ee repositories may be replaced with a gitlab repository, with all open issues and merge requests moved into the single repository. All frontend assets such as JavaScript, CSS, images, views will be open sourced under the MIT license. The proprietary backend code will be located in the /ee repository. All the documentation that will be merged together will now clearly state which features belong to which feature set. The downsides The GitLab team was clear about the possible downsides of this approach: Users with installations from the source are currently cloning the gitlab-ce repository. The clone will also fetch the proprietary code in /ee directory. The database migration code is open source and does not require additional maintenance so there is no additional work required. The team is now exploring better ways to solve the problem of busy work and plans to bring improvements to the current proposal. To know more about this news, check out the post by GitLab. 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 Why moving from a monolithic architecture to microservices is so hard, Gitlab’s Jason Plum breaks it down [KubeCon+CNC Talk]
Read more
  • 0
  • 0
  • 3070

article-image-facebook-open-sources-sparta-to-simplify-abstract-interpretation
Natasha Mathur
21 Feb 2019
2 min read
Save for later

Facebook open sources SPARTA to simplify abstract interpretation

Natasha Mathur
21 Feb 2019
2 min read
Facebook announced yesterday that it’s making SPARTA, a  C++ library of software components that help build high-performance static analyzers, available as open-source yesterday. “This library is part of a broad, long-term vision to expand the use of abstract interpretation in our tools at Facebook. We are open-sourcing SPARTA to provide an industrial-scale abstract interpretation infrastructure for the broader static analysis community to use”, states the Facebook team. SPARTA is aimed at simplifying the engineering of Abstract Interpretation as its set of software components consist of a simple API. Since building an industrial-grade static analysis tool based on Abstract Interpretation from the very start is difficult, SPARTA is very beneficial.It’s also highly performant and can be assembled easily to build a production-quality static analyzer. Abstract Interpretation refers to a theory of semantic approximation that provides a foundational framework for the design of static program analyzers. SPARTA works by providing important data structures that are used in virtually every static analyzer. SPARTA encapsulates the complex implementation details of abstract interpretation and hence frees the developer to focus on the main fundamental axes in the design of an analysis. Other than that, all the static analyzers that are used in the ReDex code optimizer for Android are based on SPARTA’s library. These run on industrial-scale Android apps from Facebook and other large companies that have adopted ReDex.SPARTA makes it possible for these analyses to be expressed concisely and also guarantees high-level performance. Apart from the performance related benefits, SPARTA also makes it easier to write correct analyses. The algorithms and data structures implemented in SPARTA are also highly generic. It is language-independent; despite its use in ReDex, and contains no Android-specific logic. Also, its algorithms are capable of generalizing across different scopes of static analyses. “In the future, we could consider adding support for other features, including numerical abstractions or points-to analysis”, states the Facebook team. For more information, check out the official SPARTA blog post. Uber releases Ludwig, an open source AI toolkit that simplifies training deep learning models for non-experts Facebook open sources the ELF OpenGo project and retrains the model using reinforcement learning Google open sources ClusterFuzz, a scalable fuzzing tool
Read more
  • 0
  • 0
  • 2117
article-image-qt-design-studio-1-1-released-with-qt-photoshop-bridge-updated-timeline-and-more
Amrata Joshi
20 Feb 2019
3 min read
Save for later

Qt Design Studio 1.1 released with Qt Photoshop bridge, updated timeline and more

Amrata Joshi
20 Feb 2019
3 min read
Yesterday, the Qt team released Qt Design Studio 1.1, a UI design and development tool that enables designers and developers to prototype and develop complex UIs. Qt Design Studio makes collaboration between developers and designers easy and streamlined. Qt Design Studio 1.1 comes with the availability of Linux packages. What’s new in Qt Design Studio 1.1? Qt Design Studio 1.1 is available for Linux The developers who are using Linux can now use Qt Design Studio 1.1 directly on their development system. Qt Photoshop Bridge The team at Qt updated the Qt Photoshop Bridge (which allows sanitizing documents) for Qt Design Studio 1.1. But the PSD (Photoshop Document) files containing annotations from the Qt Photoshop Bridge 1.0, require to be sanitized. Annotations are added for exporting from a PSD file using the Qt Photoshop Bridge. Qt Photoshop Bridge and merging when importing It is now possible to merge the existing QML files with the newly re-imported QML while re-importing from Photoshop to an existing Qt Design Studio project. It is highly used when the user made changes to the exported .ui.qml files using Design Studio. The merging option can be enabled by using a checkbox in the import dialog. Update projects to Qt Design Studio 1.1 Users can update their projects to Qt Design Studio 1.1 by copying the controls from a newly created Qt Design Studio 1.1 project into the existing project from Qt Design Studio 1.0. The folder that needs to be replaced is “imports/QtQuick”. Replacing this folder will update the Qt Design Studio specific components that are used in the project. Major Changes Timeline The local record button has been fixed. The timeline has now been prevented from claiming too much space. Custom colors have been added to the timeline bar items. The issue with the status bar update has been fixed. Property Editor The issue with invalid access to network paths has been addressed. Item Library This release comes with an added support for enums in .metainfo files. The issue with Image.PreserveAspectFit has been fixed. Form Editor The issue with the visibility of the selection rectangle has been fixed. Components This release comes with an added support for negative length of zoom blur and for dash pattern. This release also features added cap style to components. Platform Specific This release features added support for the dark theme on macOS Mojave and Linux package for Linux. Major bug fixes The error messages have been fixed. The clamping keyframe positions to the animation range have been fixed. It is now possible to reset the status bar when changing the QML file. To know more about this news, check out Qt’s blog post. Qt for Python 5.12 released with PySide2, Qt GUI and more Qt team releases Qt Creator 4.8.0 and Qt 5.12 LTS Qt Design Studio 1.0 released with Qt photoshop bridge, timeline based animations and Qt live preview  
Read more
  • 0
  • 0
  • 2528

article-image-shazam-removes-third-party-sdks
Prasad Ramesh
20 Feb 2019
2 min read
Save for later

Shazam removes third-party SDKs

Prasad Ramesh
20 Feb 2019
2 min read
Shazam, the popular song-identifying app removed support for all third-party SDKs with one exception as reported by Appfigures blog. The removed SDKs were of ad networks, analytics trackers, etc. They were removed since these SDKs leaked data to third parties in some way. This is something that Apple is against and is following it on Shazam as they acquired it for $400M last September. The SDKs removed in the iOS update are: Admob Bolts Doubleclick FB ads FB analytics FB login Inmobi IAS Moat Mopub The only third party SDK retained is HockeyApp. Apple doesn't keep third-party SDKs in any of their apps except apple support. On Android, however, the following SDKs are still present for Shazam: Bolts FB analytics Butter knife Crashlytics Fabric Firebase Google maps Okhttp Otto Some users agree with the decision like this comment from Hacker news: “Makes sense, now that Apple owns them.” Another user shared his views on retaining the HockeyApp: “Makes sense to keep the HockeyApp integration as it is an amazing tool for crash analysis and they still need that. Integration with crash analytic is a different type of integration than facebook, advertisement and the other stuff (crap) they have removed.” Apple buys Shazam, and will soon make the app ad-free Apple acquires Pullstring to possibly help Apple improve Siri and other IoT-enabled gadgets China’s Huawei technologies accused of stealing Apple’s trade secrets, reports The Information
Read more
  • 0
  • 0
  • 1404