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-qt-team-releases-qt-creator-4-8-0-and-qt-5-12-lts
Amrata Joshi
07 Dec 2018
5 min read
Save for later

Qt team releases Qt Creator 4.8.0 and Qt 5.12 LTS

Amrata Joshi
07 Dec 2018
5 min read
Yesterday, the Qt team came up with two major releases, Qt Creator 4.8.0 and the long term support of Qt 5.12. In October, the team released the beta version of Qt Creator 4.8.0 and Qt 5.12 LTS beta. Qt, a cross-platform SDK, helps in quickly and cost-effectively designing, developing, deploying, and maintaining software. What’s new in Qt Creator 4.8.0? Programming Language Support Qt Creator 4.8.0 comes with an added support to Language Server Protocol (LSP), a  standardized bridge between an editor/IDE and a programming language that supports various programming languages. Generic highlighter Qt Creator features code completion, highlighting the symbol under cursor, jumping to the symbol definition, and integrating diagnostics from the language server. This code highlighting is possible with the help of generic highlighter. C++ Support This version of Qt Creator has updated Clang code model to LLVM 7.0. The project information that the code model has, can be exported as a compilation database using the  new Build > Generate Compilation Database. New plugins Compilation Database Projects Qt Creator 4.8.0 comes with CompilationDatabaseProjectManager plugin, which helps users to work with compilation databases as projects. A compilation database is a list of files and the compiler flags are used for compiling them. Clang Format The ClangFormat plugin does the auto-indentation with the help of LibFormat, a library that implements automatic source code formatting based on Clang Format. Cppcheck The Cppcheck plugin integrates the diagnostics which are generated by the tool Cppcheck into the editor. LanguageClient This version comes with an experimental plugin, LanguageClient for supporting the language server protocol. Editing Qt Creator 4.8.0 comes with added support for the pastecode.xyz code pasting service. Also, now it is possible to change default editors in MIME type settings. Debugging With Qt Creator 4.8.0, it is possible to simultaneously run multiple debuggers. The debugger toolbar has an additional pop up menu where users can easily switch between running debugger instances and the preset view for starting new debuggers. The running debugger instances can also maintain its own set of views and their layout. Git This version comes with an added support for GitHub and GitLab. A navigation pane has been added to this version that shows branches. Also, an option for copy/move detection to git blame has been added. Android This release comes with an added support for command line arguments, environment variables, and API level 28. Improvements There is also an option for disabling automatic creation of run configurations in Qt Creator 4.8.0 An option that opens terminal with build or run environment has been added in the in this release. In Qt Creator 4.8.0, the process of handling the relative file paths for custom error parsers has been improved. It is now possible to add libraries for other target platforms in Add Library wizard. There are improvements made to the Qbs projects as it has added qmlDesignerImportPaths property for specifying QML import paths for Qt Quick Designer. The remote Linux has been updated to Botan 2.8 in this version. Major bug fixes Issues with local references for operator arguments has been fixed Qt Creator 4.8.0 now supports UI headers. The crash that occurs while removing diagnostics configuration has been fixed now. The issues regarding the detecting language version have been fixed now. It is now possible to process function extraction from nested classes. The startup issue with localized debugger output has been fixed. The previous version gave invalid access to network paths, this problem has now been fixed with Qt Creator 4.8.0. Get more information about Qt Creator 4.8.0 on Qt’s official blog post. Qt 5.12 LTS releases with support for Python, WebAssembly and more Qt for Python Qt 5.12 LTS supports Python by making all of the Qt APIs available to Python developers. The tech preview is currently available to the users for testing, while the official release will come up shortly after Qt 5.12 LTS. Qt for Python also supports Qt’s C++ APIs and makes them accessible to Python programmers. Python developers will now be able to create complex graphical applications and user interfaces. Qt for WebAssembly Qt 5.12 contains the technology preview for Qt for WebAssembly. Qt for WebAssembly compiles a Qt application to run in any modern Web browser. Qt Remote Objects Qt Remote Objects helps in making the IPC between Qt based processes seamless. It exposes the properties, signals, and slots of a QObject to other processes. Major improvements in Qt Creator 5.12 LTS Improvements to JavaScript engine The new release brings improvements to JavaScript engine, which now supports QML. This release now fully supports ECMAScript 7 which enables modern JavaScript and also simplifies the integration of Javascript libraries. Qt Creator 5.12 LTS supports ECMAScript modules and they can be loaded from C++ as well as QML/JS. TableView Qt Creator 5.12 LTS comes with TableView as another type of Item View in Qt Quick, a free software application framework developed and maintained by the Qt Project. Its performance is better than its previous QQC1 implementation. Pointer Handlers The Pointer Handlers of Qt 5.11 are now renamed as Input Handlers and are also fully supported as a feature in Qt Quick in Qt 5.12. The Input Handlers now simplify the creation of complex interactions. This release comes with two new Input Handlers for hovering and dragging items. Windows UI Automation This version comes with Windows UI Automation that allows Qt-based UWP applications to operate with accessibility and programmatic UI control tools. The tablet/touchscreen/touchpad/mouse input has been replaced with a unified implementation based Windows Pointer Input Messages on Windows 8 and above versions. To know more about Qt Creator 5.12 LTS, check out Qt’s official blog post. Qt creator 4.8 beta released, adds language server protocol Qt Creator 4.7.0 releases! How to Debug an application using Qt Creator
Read more
  • 0
  • 0
  • 7290

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

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

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

article-image-introducing-wavemaker-10-an-apaas-software-to-rapidly-build-applications-with-angular-7-and-kubernetes-support
Bhagyashree R
29 Nov 2018
2 min read
Save for later

Introducing WaveMaker 10: An aPaaS software to rapidly build applications with Angular 7 and Kubernetes support

Bhagyashree R
29 Nov 2018
2 min read
Last week, the WaveMaker team released its enhanced platform, WaveMaker 10. This version comes with an advanced technology stack leveraging Angular 7, integrated artifact repository, IDE synchronization features, and more. WaveMaker is an application platform-as-a-service (aPaaS) software that allows developers to rapidly build and run custom apps. It enables developers to build extensible and customizable apps with standard enterprise-grade technologies. The platform also comes with built-in templates, layouts, themes, and widgets to help you build responsive apps without having to write any code. Key enhancements in WaveMaker 10 Improved application stack with Angular 7 and Kubernetes support Developers can now leverage Angular 7 to build responsive web and mobile apps. Angular 7 support provides greater performance and efficiency, type safety, and modern user experience. Scaling applications with Kubernetes is supported via a 1-click deployment feature. You can now natively pack your apps as containers and deploy them to a running Kubernetes cluster. Enhanced developer productivity and collaboration To give developers more control over their code and help them build apps faster, WaveMaker 10 comes with enhanced IDE support. With the newly introduced workspace sync plugin, developers can pull code changes seamlessly between WaveMaker and any IDE without having to manually export and import them. To allow developers to share reusable application elements like service prefabs, templates, themes, and data models, an integrated artifact repository is introduced. The platform can now be localized in a regional language enabling better collaboration between global development teams. Increased enterprise security and accessibility Support for configuring and implementing role-based access at both platform and project levels is introduced in WaveMaker 10. You can now create multiple developer personas with unique permission sets. Open ID authentications for Single Sign-On (SSO) are supported by both the platform and applications built using it. Additionally, all WaveMaker 10 applications are protected from OWASP Top 10 Vulnerabilities to ensure greater security against threats and malicious injections. Applications built with WaveMaker 10 also support Web Content Accessibility Guidelines (WCAG) 2.1, making them more accessible to users with disabilities. Head over to WaveMaker’s official website to know more in detail. Angular 7 is now stable Introducing Alpha Support for Volume Snapshotting in Kubernetes 1.12 Kubernetes 1.12 released with general availability of Kubelet TLS Bootstrap, support for Azure VMSS
Read more
  • 0
  • 0
  • 2201
Visually different images

article-image-gradle-5-0-released-with-faster-builds-incremental-java-compilation-and-annotation-processing
Amrata Joshi
27 Nov 2018
4 min read
Save for later

Gradle 5.0 released with faster builds, incremental java compilation, and annotation processing

Amrata Joshi
27 Nov 2018
4 min read
The team at Gradle has now released Gradle 5.0 after Gradle 4.9 was released in July this year. Gradle 5.0 is faster, safer and more capable than the previous ones. Gradle is a build tool which accelerates developer productivity as it helps teams build, automate and deliver software faster. This tool focuses on build automation and support for multi-language development. Improvements in Gradle 5.0 Gradle 5.0 comes incremental compilation and annotation processing to enhance caching and up-to-date checking. Gradle 5.0 also brings features such as Kotlin DSL, dependency version alignment, version locking, task timeouts, Java 11 support, and more. The Kotlin DSL helps the IDE users in code completion and refactoring. Faster builds with build cache Users can experience faster builds the moment they upgrade to Gradle 5.0. Gradle 5.0 allows developers and business executives to build only what is needed by using the build cache and incremental processing features. The build cache reuses the results of previous executions and makes the process faster. It also reduces the build time by approximately 90%. Incremental Java compilation and annotation processing Gradle 5.0 features an incremental compiler. Now, there is no need for CompileJava tasks to recompile all the source files except for the the first time This compiler is default in this version and is highly optimized. It also supports incremental annotation processing which increases the effectiveness of incremental compilation in the presence of annotation processors. Users have to upgrade to the latest version (5.0) of the processors to experience the annotation processing. The new annotationProcessor configuration is used to manage the annotation processors and for putting them on the annotation processor path. Fine-grained transitive dependency management Gradle 5.0 comes with new features for customizing dependencies and features for improved POM and BOM support. Gradle 5.0 supports dependency constraints that are used to define versions or version ranges to restrict direct and transitive dependency versions. In this version, the platform definitions or Maven BOM dependencies are natively supported which allows the use of Spring Boot platform definition without using an external plugin. The dependency alignment aligns the modules in a logical group. With this release, the dynamic dependency versions can now be locked for better build reproducibility. This version can import bill of materials (BOM) files. Writing Gradle build logic Users can now write Gradle build scripts in Kotlin. The functionality of Static-typing in Kotlin allows tools to provide better IDE assistance to the users. More memory efficient Gradle execution The lower memory requirements and cache cleanup reduces Gradle’s overhead on the system. In Gradle 5.0, many caching mechanisms have been optimized for reducing the default memory for Gradle processes. New Gradle invocation options This version supports JUnit 5: JUnit Platform, JUnit Jupiter, and JUnit Vintage which helps in enabling test grouping and filtering. The tasks for non-interactive environments like continuous integration execution group the log messages. It’s now easy to identify if a test has failed with arich command-line console as it shows a colored build status. One can now work on interdependent projects with the help of composite builds in Gradle 5.0. This release of Gradle supports custom arguments which help in running Java applications faster and easier. New Gradle task and plugin APIs This version of Gradle features a new Worker API for safe parallel and asynchronous execution. Gradle 5.0’s new Configuration Avoidance APIs allow  users to configure projects together. The task timeout API helps to specify a timeout duration for a task, after which it will be interrupted. Custom CLI args in Gradle 5.0 helps the users to configure their custom tasks.   To know more about Gradle 5.0. check out Gradle’s official blog. Gradle 4.9 released! Android Studio 3.2 Beta 5 out, with updated Protobuf Gradle plugin Setting Gradle properties to build a project [Tutorial]
Read more
  • 0
  • 0
  • 3350

article-image-researchers-develop-new-brain-computer-interface-that-lets-paralyzed-patients-use-tablets
Sugandha Lahoti
27 Nov 2018
3 min read
Save for later

Researchers develop new brain-computer interface that lets paralyzed patients use tablets

Sugandha Lahoti
27 Nov 2018
3 min read
Researchers have developed a new iBCI (intracortical brain-computer interface) that allows people with paralysis to control an unmodified, commercially available tablet. This research was based on the fact that most general-purpose computers have been difficult to use for people with some form of paralysis.  In their study, three research participants with tetraplegia who had multielectrode arrays implanted in motor cortex as part of the BrainGate2 clinical trial were invited. Using the iBCI, their neural activity was decoded in real time with a point-and-click wireless Bluetooth mouse. This allowed participants to use common and recreational applications (web browsing, email, chatting, playing music on a piano application, sending text messages, etc.). iBCI also allowed two participants to “chat” with each other in real time.   The architecture of the setup  Participants used seven common applications on the tablet: an email client, a chat program, a web browser, a weather program, a news aggregator, a video sharing program, and a streaming music program.   The system consisted of a NeuroPort recording system to record neural signals from the participant’s motor cortex.   These signals were routed into a real-time computer running the xPC/Simulink Real-Time operating system for processing and decoding. The output of the decoding algorithm was passed to a Bluetooth interface configured to work as a wireless computer mouse using the Bluetooth Human Interface Device (HID) Profile.   This virtual Bluetooth mouse was paired with a commercial Android tablet device with no modifications to the operating system.   Participants performed real-time “point-and-click” control over a cursor that appeared on the tablet computer once paired through the Bluetooth interface.  The cursor movements and clicks by participants were decoded from neural activity using Kalman filters. 2D cursor velocities were estimated using a Recalibrated Feedback Intention Trained Kalman Filter (ReFIT-KF) and a cumulative closed-loop decoder. Click intentions were classified using a hidden Markov model and a linear discriminant analysis classifier.  Future work  The researchers want to expand the control stock with additional decoded signals, leveraging more optimized keyboard layouts, exploring accessibility features, and controlling other devices and operating systems. They also want to extend the output of the iBCI to support additional dimensions that may be used to command advanced cursor features.   For detailed analysis, go through the research paper.  What if buildings of the future could compute? European researchers make a proposal.  Babysitters now must pass Perdictim’s AI assessment to be “perfect” to get the job  Mozilla introduces LPCNet: A DSP and deep learning-powered speech synthesizer for lower-power devices 
Read more
  • 0
  • 0
  • 1933

article-image-gitlab-11-5-released-with-group-security-and-operations-focused-dashboard-control-access-to-gitlab-pages
Amrata Joshi
23 Nov 2018
3 min read
Save for later

GitLab 11.5 released with group security and operations-focused dashboard, control access to GitLab pages

Amrata Joshi
23 Nov 2018
3 min read
Yesterday, the team at Gitlab released GitLab 11.5. GitLab, an application for the DevOps lifecycle helps the developer teams work together efficiently to secure their code. Group Security Dashboard and Operations-Focused Dashboard To strengthen security, the security teams need to have access to information about the security status of all their projects. It is important for them to understand what the most important task is to take up next. It is also equally important for directors of security in any organization, as they need to have a high-level view of possible critical issues which might affect the development. GitLab 11.5 introduced a new Group Security Dashboard launched at the group level. This security dashboard gives a summary of all the SAST (Static Application Security testing) vulnerabilities in the projects in a particular group, and also provides a list of actionable entries that could be used for starting a remediation process. This dashboard also has a new look and has new visualizations. The goal is to have a single tool that security teams can use instead of using multiple tools. GitLab 11.5 also comes with a new, operations-focused dashboard, which is responsible for providing a summary of the key operational metrics for each project where a user is interested. This dashboard comes with some interesting features, including, the most recent commit, time since the last deployment, and active alerts. A user can also set this dashboard as their preferred homepage. GitLab 11.5 brings control access to Gitlab Pages GitLab Pages is a feature that helps users to publish static websites directly from a repository in GitLab. GitLab Pages is also used to serve static content on the web easily. GitLab 11.5 brings control access to GitLab Pages. The access control permissions applied to issues and code can now also be applied to static webpages. This way the access can be restricted and given only to those permitted by the user. The users who lack permission will get a 404 when visiting the link for those webpages. Knative is a Kubernetes-based platform used for building, deploying, and managing modern serverless workloads. With GitLab 11.5, users can deploy Knative to their existing Kubernetes cluster by using the GitLab Kubernetes integration. Tasks such as routing and managing traffic, source-to-container builds, and scaling-to-zero have now become easy. GitLab 11.5 comes with improvements to Issue Boards cards Issue Boards is central place of collaboration in GitLab, where teams can organize, and view planned and ongoing work. In GitLab 11.5, issue cards have been redesigned and it now shows relevant information in a simple and organized manner. The issue cards now show the issue title, confidentiality, time-tracking information, due date, labels, weight, and assignee. To read full GitLab updates, check out the official post by GitLab. GitLab 11.4 is here with merge request reviews and many more features GitLab 11.3 released with support for Maven repositories, protected environments and more  GitLab raises $100 million, Alphabet backs it to surpass Microsoft’s GitHub
Read more
  • 0
  • 0
  • 2001
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 €14.99/month. Cancel anytime
article-image-clojurecuda-0-6-0-now-supports-cuda-10
Prasad Ramesh
22 Nov 2018
2 min read
Save for later

ClojureCUDA 0.6.0 now supports CUDA 10

Prasad Ramesh
22 Nov 2018
2 min read
ClojureCUDA is a CUDA that supports parallel computations on the GPU with CUDA in the Clojure programming language. With this library, you can access high-performance Computing and GPGPU in Clojure. Installation ClojureCUDA 0.6.0 now has support for the new CUDA 10. To start using it: Install the CUDA 10 Toolkit Update your drivers Update the ClojureCUDA version in project.clj All the existing code should work without requiring any changes. CUDA and libraries CUDA is the most used environment for high-performance computing on NVIDIA GPUs. You can now use CUDA directly from the interactive Clojure REPL without having to wrangle with the C++ toolchain. High-performance libraries like Neanderthal take advantage of ClojureCUDA to deliver speed dynamically to Clojure programs. With these higher-level libraries, you can perform fast calculations with just a few lines of Clojure. You don’t even have to write the GPU code yourself. But writing the lower level GPU code is also not so difficult in an interactive Clojure environment. ClojureCUDA features The ClojureCUDA library has features like high performance and optimization for Clojure. High-performance computing CUDA enables various hardware optimizations on NVIDIA GPUs. Users can access the leading CUDA libraries for numerical computing like cuBLAS, cuFFT, and cuDNN. Optimized for Clojure ClojureCUDA is built with a focus on Clojure. The interface and functions fit into a functional style. They are also aligned to number crunching with CUDA. Reusable The library closely follows the CUDA driver API. Users translate examples from best CUDA books easily. Free and Open Source It is licensed under the Eclipse Public License (EPL) which is the same license used for Clojure. ClojureCUDA and other libraries by uncomplicate are open source. You can choose to contribute on GitHub or donate on Patreon. For more details and code examples, visit the dragan Blog. Clojure 1.10.0-beta1 is out! Stable release of CUDA 10.0 out, with Turing support, tools and library changes NVTOP: An htop like monitoring tool for NVIDIA GPUs on Linux
Read more
  • 0
  • 0
  • 2514

article-image-kotlin-based-framework-ktor-1-0-released-with-features-like-sessions-metrics-call-logging-and-more
Amrata Joshi
21 Nov 2018
3 min read
Save for later

Kotlin based framework, Ktor 1.0, released with features like sessions, metrics, call logging and more

Amrata Joshi
21 Nov 2018
3 min read
In October, Kotlin’s framework Ktor 1.0 beta was released. It delivered high performance and an idiomatic API. Yesterday Ktor 1.0 was released as the first major version of the Kotlin-based framework. Ktor, a JetBrains project, builds asynchronous servers and clients in connected systems coroutines and also delivers good runtime performance. Ktor version 1.0 includes few essential features like sessions, authentication, JSON serialization, popular template engines, Web sockets, metrics, and many others. Ktor 1.0 feature highlights Ktor 1.0 has two main parts, namely, HTTP server framework and a multiplatform HTTP client. HTTP server framework The HTTP server framework built on Netty, Jetty and Java servlets runs on the JVM. Netty and Jetty, the lightweight engines make the processing faster as it helps in receiving connections within a second. It is container-friendly and can easily be embedded into desktop/Android applications. It could be run in an application server, for example,Tomcat. Multiplatform HTTP client Multiplatform HTTP client is asynchronous and is built using coroutines and IO primitives which are responsible for driving the server. It is implemented as a multiplatform library. The client is used for building asynchronous microservice architectures and for connecting all the backend functionalities into asynchronous pipelines. The multiplatform HTTP client makes it easy to retrieve data without blocking application execution on mobile devices and web pages uniformly. It supports JVM, JS, Android and iOS. Features Ktor’s built-in support for serving static content is useful for serving style sheets, scripts, images, etc. Ktor provides a mechanism for constructing URLs and reading the parameters to create routes in a typed way. Ktor’s Metrics feature helps in configuring the Metrics to get useful information about the server and the requests. It also has a mechanism called session useful for persisting data between different HTTP requests. Session also helps servers to keep a piece of information associated with the client during a sequence of HTTP requests and responses. Ktor’s Compression feature is used for compressing outgoing content using gzip, deflate or custom encoder. This helps in reducing the size of the response. Ktor provides Call Logging feature which is used for logging client requests. Ktor 1.0 introduced WebSockets mechanism to keep a bi-directional, real-time and ordered connection between the server and the client. Major improvements Ktor 1.0 comes with improved performance and documentation It uses Kotlin 1.3.10 Ktor 1.0 has fixed client response cancelation via receive<Unit>() and response.cancel() In Ktor 1.0 there are improvements to test client and mock engine The DevelopmentEngine has been renamed to EngineMain There is an improved serialization client feature Bug fixes Fixes to Cookies dates, domains, and dupicate parameters processing. Websocket session lifecycle has been fixed in Ktor 1.0 Timeouts in WebSockets have been fixed with jetty To know more about this news, check out the announcement on Jetbrains blog. Kotlin 1.3 released with stable coroutines, multiplatform projects and more How to avoid NullPointerExceptions in Kotlin [Video] Implementing Concurrency with Kotlin [Tutorial]
Read more
  • 0
  • 0
  • 3191

article-image-microsoft-announces-official-support-for-windows-10-to-build-64-bit-arm-apps
Prasad Ramesh
19 Nov 2018
2 min read
Save for later

Microsoft announces official support for Windows 10 to build 64-bit ARM apps

Prasad Ramesh
19 Nov 2018
2 min read
Last week Microsoft announced that developers using Visual Studio now have access to officially supported SDK and tools for creating 64-bit ARM (ARM64) apps. The Microsoft Store is now also accepting submissions for apps built for the ARM64 architecture. Lenovo and Samsung are coming up with new Windows 10 ARM devices featuring the Qualcomm Snapdragon 850 chip. An x86 emulation layer lets these devices run Windows applications. Developers can use Visual Studio 15.9 to recompile apps both on UWP and C++ Win32. These apps can run natively on ARM devices running Windows 10. Running natively allows the applications to take complete advantage of the processing power and capabilities of Windows 10. This results in the best possible experience for users. Instructions to enable Windows 10 64-bit ARM apps support You need to update your Visual Studio to version 15.9. Ensure that you have installed the individual component “Visual C++ compilers and libraries for ARM64” if you plan to build ARM64 C++ Win32 apps. ARM64 will be seen as an available build configuration after updating for new UWP projects. For existing projects and C++ Win32 projects, an ARM configuration needs to be added to the project. This can be done via the Configuration properties in Configuration Manager. Add a new Active solution platform and name it ARM64. Then copy the settings from ARM or x64 and check the box to Create new project platforms. Hitting build should ready the ARM binaries. You can use remote debugging to debug your app. This is fully supported on ARM64. You can alternatively create a package for sideloading or directly copy binaries to run the app. The Windows Store is now accepting ARM64 UWP apps, both on C++ and .NET Native. You can also use the Desktop Bridge to wrap ARM64 binaries into a package to submit to the Windows Store. You can also host dedicated ARM64 versions of Win32 apps on your own website or integrate ARM64 into existing multi-architecture installers. For more instructions, visit the Windows Blog. Another bug in Windows 10 October update that can cause data loss Microsoft announces .NET standard 2.1 Microsoft bring an open-source model of Component Firmware Update (CFU) for peripheral developers
Read more
  • 0
  • 0
  • 2547

article-image-kdevelop-5-3-released-with-new-analyzer-plugin-and-improved-language-support
Prasad Ramesh
15 Nov 2018
3 min read
Save for later

KDevelop 5.3 released with new analyzer plugin and improved language support

Prasad Ramesh
15 Nov 2018
3 min read
20 years after KDevelop’s first release, KDevelop 5.3 is now released with features like a new analyzer and improved support for some languages. A new type of analyzer plugin in KDevelop 5.3 In version 5.1 KDevelop got a menu entry Analyzer which provides a set of actions to work with analyzer-like plugins. With version 5.2, a runtime analyzer called Heaptrack and a static analyzer called cppcheck were added. In the development phase of KDevelop 5.3, another analyzer plugin was added which is available with the current release. The new analyzer named Clazy is a clang analyzer plugin specialized for Qt-using code. It can now also be run from within KDevelop by default displaying the issues inline. The KDevelop plugin for Clang-Tidy support will be released as part of KDevelop starting with version 5.4. It is released independently as of now. Internal changes in KDevelop 5.3 KDevelop's own codebase has been subject for using analyzers. A lot of code has been optimized and also stabilized in places indicated by the analyzers. There is also modernization to the new standards of languages like C++ and Qt5 with the aid of analyzers. Improved support for C++ Lot of work was done in KDevelop 5.3 on stabilizing and improving KDevelop’s clang-based language support for C++. The notable fixes include: In clang tooltips were included, range check was fixed. The path to the builtin clang compiler headers can now be overridden. Now the clang builtin headers are always used for the libclang version used. Requests are completed in a group and only the last one is handled. The template for Class/function signatures in Clang Code Completion is fixed. A workaround for constructor argument hints to find declarations. In clang, argument hint code completion is improved. Improved support for PHP With the help of Heinz Wiesinger, there are improvements for PHP support in KDevelop 5.3. There is much-improved support for PHP Namespaces. Support for Generators and Generator delegation is added. The integrated documentation of PHP internals has been updated and expanded. Support for context-sensitive lexer of PHP 7. Installing the parser as a library so other projects can use them. The type detection of object properties is improved. Support is added for the object typehint. ClassNameReferences is better supported. Improvements to expression syntax support particularly around 'print'. Optional function parameters are allowed before non-optional ones. Support for magic constants: __DIR__ and __TRAIT__ are added. Improved Python language support The focus is on fixing bugs, which have been added to the 5.2 series. A couple of improved features in 5.3 are: Environment profile variables are injected into debug process environment. The support for 'with' statements is improved. There is also experimental, but maintainer-seeking support for macOS and port for Haiku. For more details, visit the KDevelop website. Neuron: An all-inclusive data science extension for Visual Studio The LLVM project is ditching SVN for GitHub. The migration to Github has begun. Microsoft announces .NET standard 2.1
Read more
  • 0
  • 0
  • 2118
article-image-version-1-29-of-visual-studio-code-is-now-available
Amrata Joshi
13 Nov 2018
3 min read
Save for later

Version 1.29 of Visual Studio Code is now available

Amrata Joshi
13 Nov 2018
3 min read
Visual Studio Code 1.29 was released yesterday - this was the October update of Microsoft’s planned monthly updates. This update to the code editor includes multiline search, and improved support for macOS. Features of Visual Studio Code 1.29 Multiline search Visual Studio Code now supports multiline search. A regex search executes in multiline mode only if it contains a \n literal. The search view pops up a hint next to each multiline match. The ripgrep tool helps in implementing multiline search. macOS full-screen support To enable full-screen mode for Visual Studio Code, window.nativeFullScreen is set to false. Visual Studio 1.29 has an advantage of entering full-screen mode without creating a macOS space on the desktop. By default, Visual Studio Code uses macOS native full screen. Highlight modified tabs Visual Studio Code 1.29 comes with a new setting workbench.editor.highlightModifiedTabs.  Whenever the editor has unsaved changes, then this new setting displays a thick border at the top of editor tabs. It makes easier to find files that need to be saved. Even the color of the border can be customized. File and folder icons in IntelliSense The IntelliSense widget is now updated. It shows file and folder icons for file completions based on the File Icon theme. This provides a unique look which helps in quickly identifying the different file types. Format Selection With Visual Studio Code 1.29, it is now possible to speed up the small formatting operations. Without an editor selection, the Format Selection command will now format the current line. Show error codes This editor of this version, now shows the error code of a problem if an error code is defined. One can check the error code at the end of the line in square brackets. Normalized extension samples The Visual Studio Code extension samples at vscode-extension-samples have been updated in this release for consistency. Each extension sample includes a uniform coding style and structure and a README that explains the sample's functionality with a short animation. It also includes a listing of the vscode API or Contribution Points used in each sample. Start debugging with a stop on entry The team at Visual Studio Code has introduced a command for Node.js debugging. The command, Debug: Start Debugging and Stop On Entry(extension.node-debug.startWithStopOnEntry) is used for debugging and immediately stopping on the entry of your program. Clear terminal before executing the task A new property called clear got added to the task presentation configuration in this release. If the clear property is set to true then it is possible to clear the terminal before the task is run. Major Bug Fixes Previously, the startDebugging method in Visual Studio Code used to return the value ‘true’ even when the build failed. This issue has been fixed in this release. In previous releases, the Settings UI never used to remember its search on reloading. But with this release, this issue has been resolved. Earlier it wasn't possible to cancel a debug session while it was initializing. But now it’s possible with Visual Studio Code 1.29. Read more on this news on the Visual Studio Code website. Visual Studio code July 2018 release, version 1.26 is out! Unit Testing in .NET Core with Visual Studio 2017 for better code quality Neuron: An all-inclusive data science extension for Visual Studio
Read more
  • 0
  • 0
  • 2091

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

article-image-microsoft-announces-net-standard-2-1
Prasad Ramesh
06 Nov 2018
3 min read
Save for later

Microsoft announces .NET standard 2.1

Prasad Ramesh
06 Nov 2018
3 min read
After a year of shipping .NET standard 2.0, Microsoft has now announced .NET standard 2.1 yesterday. In all, 3,000 APIs are planned to be included in .NET standard 2.1 and the progress on GitHub has reached 85% completion at the time of writing. The new features in .NET standard 2.1 are as follows. Span<T> in .NET standard 2.1 Span<T> has been added in .NET Core 2.1. It is an array-like type that allows representing managed and unmanaged memory in a uniform way. Span<T> is an important performance improvement since it allows managing buffers in a more efficient way. It supports slicing without copying and can help in reducing allocations and copying. Foundational-APIs working with spans Span<T> is available as a .NET Standard compatible NuGet package. This package does not help extend the members of .NET Standard types that deal with spans. For example, .NET Core 2.1 added many APIs that allowed working with spans. To add span to .NET Standard some companion APIs were added. Reflection emit added in .NET standard 2.1 In .NET Standard 2.1 Lightweight Code Generation (LCG) and Reflection Emit are added. Two new capability APIs are exposed to allow checking for the ability to generate code at all (RuntimeFeature.IsDynamicCodeSupported). It is also supported if the generated code is interpreted or compiled (RuntimeFeature.IsDynamicCodeCompiled). SIMD There has been support for SIMD for a while now. They have been used to speed up basic operations like string comparisons in the BCL. There have been requests to expose these APIs in .NET Standard as the functionality requires runtime support. This cannot be provided meaningfully as a NuGet package. ValueTask and ValueTask<T> In .NET Core 2.1, the biggest feature was improvements to support high-performance scenarios. This also included making async/await more efficient. ValueTask<T> allows returning results if the operation completed synchronously without having to allocate a new Task<T>. In .NET Core 2.1 this has been improved which made it useful to have a corresponding non-generic ValueTask. This allows reducing allocations even for cases where the operation has to be completed asynchronously. This is a feature that types like Socket and NetworkStream now utilize. By exposing these APIs in .NET Standard 2.1, library authors now benefit from these improvements as a consumer as well as a producer. DbProviderFactories DbProviderFactories wasn’t available for .NET Standard 2.0, now it will be in 2.1. DbProviderFactories allows libraries and applications to make use of a specific ADO.NET provider without knowing any of its specific types at compile time. Other changes Many small features across the base class libraries have been added. These include System.HashCode for combining hash codes or new overloads on System.String. There are roughly 800 new members in .NET Core and all of them are added in .NET Standard 2.1. .NET Framework 4.8 will remain on .NET Standard 2.0. .NET Core 3.0 and the upcoming versions of Xamarin, Mono, and Unity will be updated to implement .NET Standard 2.1. To ensure correct implementation of APIs, a review board is made to sign-off on API additions to the .NET Standard. The board chaired by Miguel de Icaza comprises of representatives from .NET platform, Xamarin and Mono, Unity and the .NET Foundation. There will also be a formal approval process for new APIs. To know more, visit the Microsoft Blog. .NET Core 3.0 and .NET Framework 4.8 more details announced .NET announcements: Preview 2 of .NET Core 2.2 and Entity Framework Core 2.2, C# 7.3, and ML.NET 0.5 What to expect in ASP.NET Core 3.0
Read more
  • 0
  • 0
  • 4206
article-image-gocity-turn-your-golang-program-into-a-3d-city
Prasad Ramesh
05 Nov 2018
2 min read
Save for later

GoCity: Turn your Golang program into a 3D city

Prasad Ramesh
05 Nov 2018
2 min read
A team from Federal University of Minas Gerais (UFMG) created a Code City metaphor for visualizing Golang source code called GoCity. You simply paste the IRL to a GitHub repository and GoCity plots it out as a city with districts and buildings. It allows you to visualize your code as a neat three-dimensional city. GoCity represents a program written in Go as a city: The folders are represented as districts Files in the program are shown as buildings of varying heights, shapes, and sizes The structs are represented as buildings stacked on the top of their files Characteristics of the structures The Number of Lines of Source Code (LOC) represents the building color. Higher values make the building dark. The Number of Variables (NOV) in the program affects the building's base size. The Number of methods (NOM) in the program affects the height of the. The UI/front-end The UI for GoCIty is built with React and uses babylon.js to plot the 3D structures. The source code for the front-end is available in the front-end branch on GitHub. What the users are saying A comment on Hacker news by user napsterbr reads: “Cool! Interestingly I always use a similar metaphor on my own projects. For instance, the event system may be seen as the roads linking different blocks (domains), each with their own building (module).” The Kubernetes repository does seem to take a toll as it forms a lot of buildings spaced out. “The granddaddy of them all, Kubernetes, takes quite a toll performance-wise. https://go-city.github.io/#/github.com/kubernetes/kubernetes.” But like another user jackwilsdon pointed out on Reddit: “Try github.com/golang/go if you want some real browser-hanging action!” For more details, visit the GitHub repository. For an interactive live demonstration, visit the Go City website. Golang plans to add a core implementation of an internal language server protocol Why Golang is the fastest growing language on GitHub GoMobile: GoLang’s Foray into the Mobile World
Read more
  • 0
  • 0
  • 5078

article-image-github-now-allows-issue-transfer-between-repositories-a-public-beta-version
Savia Lobo
01 Nov 2018
3 min read
Save for later

GitHub now allows issue transfer between repositories; a public beta version

Savia Lobo
01 Nov 2018
3 min read
Yesterday, GitHub announced that repository admins can now transfer issues from one repository to another better fitting repository, to help those issues find their home. This project by GitHub is currently is in public beta version. Nat Friedman, CEO of GitHub, in his tweet said, “We've just shipped the ability to transfer an issue from one repo to another. This is one of the most-requested GitHub features. Feels good!” When the user transfers an issue, the comments, assignees, and issue timeline events are retained. The issue's labels, projects, and milestones are not retained, although users can see past activity in the issue's timeline. People or teams who are mentioned in the issue will receive a notification letting them know that the issue has been transferred to a new repository. The original URL redirects to the new issue's URL. People who don't have read permissions in the new repository will see a banner letting them know that the issue has been transferred to a new repository that they can't access. Permission levels for issue transfer between repositories People with an owner or team maintainer roles can manage repository access with teams. Each team can have different repository access permissions. There are three types of repository permissions, i.e. Read, Write, and Admin, available for people or teams collaborating on repositories that belong to an organization. To transfer an open issue to another repository, the user needs to have admin permissions on the repository the issue is in and the repository where the issue is to be transferred. If the issue is being transferred from a repository that's owned by an organization, you are a member of, you must transfer it to another repository within your organization. To know more about the repository permission levels visit GitHubHelp blog post. Steps to transfer an Open issue to another repository On GitHub, navigate to the main page of the repository. Under your repository name, click  Issues. In the list of issues, click the issue you'd like to transfer. In the right sidebar, click Transfer this issue. 5. In "Choose a repository," select the repository you want to transfer the issue to. 6. Click Transfer issue. GitHub Business Cloud is now FedRAMP authorized GitHub updates developers and policymakers on EU copyright Directive at Brussels 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
  • 10709