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

Tech News - Programming

573 Articles
article-image-clojure-1-10-0-beta1-is-out
Bhagyashree R
08 Oct 2018
3 min read
Save for later

Clojure 1.10.0-beta1 is out!

Bhagyashree R
08 Oct 2018
3 min read
On October 6, the release of Clojure 1.10.0-beta1 was announced. With this release, Clojure 1.10 will now be considered feature complete and only critical bug fixes will be addressed. Changes introduced in Clojure 1.10 Detecting error phase Clojure errors can occur in five distinct phases, which include read, macroexpand, compile, eval, and print. Clojure and the REPL can now identify these phases in the exception and/or the message. The read/macroexpand/compile phases produce a CompilerException and indicate the location in the caller source code where the problem occurred. CompilerException now implements IExceptionInfo and ex-data reports exception data including the optional keys: :clojure.error/source: Name of the source file :clojure.error/line: Line in source file :clojure.error/column: Column of line in source file :clojure.error/phase: This indicates the phase (:read, :macroexpand, :compile) :clojure.error/symbol - Symbol being macroexpanded or compiled Also, clojure.main now contains a new function called ex-str that can be used by external tools to get a repl message for a CompilerException to match the clojure.main repl behavior. Introducing tap tap, a shared and globally accessible system, is used for distributing a series of informational or diagnostic values to a set of handler functions. It acts as a better debug prn and can also be used for facilities like logging. Read string capture mode A new function, read+string is added that not only mimics read, but also captures the string that is read. It then returns both the read value and the (whitespace-trimmed) read string. prepl (alpha) This is a new stream-based REPL with a structured output. These are the new functions that are added in clojure.core.server: prepl: It is a REPL with structured output (for programs). io-prepl: A prepl bound to *in* and *out* suitable for use with the Clojure socket server. remote-prepl: A prepl that can be connected to a remote prepl over a socket. prepl is now alpha and subject to change. Java 8 or above required Clojure 1.10 now requires Java 8 or above. The following are few of the updates related to this change and Java compatibility fixes for Java 8, 9, 10, and 11: Java 8 is now the minimum requirement for Clojure 1.10 Embedded ASM is updated to 6.2 Reliance on jdk166 jar is removed ASM regression is fixed Invalid bytecode generation for static interface method calls in Java 9+ is now fixed Reflection fallback for --illegal-access warnings in Java 9+ is added Brittle test that fails on Java 10 build due to serialization drift is fixed Type hint is added to address reflection ambiguity in JDK 11 Other new functions in core To increase the portability of the error-handling code, the following functions have been added: ex-cause: To extract the cause exception ex-message: To extract the cause message To know more about the changes in Clojure 1.10, check out its GitHub repository. Vue.js 3.0 is ditching JavaScript for TypeScript. What else is new? Java 11 is here with TLS 1.3, Unicode 11, and more updates Rust 2018 RC1 now released with Raw identifiers, better path clarity, and other changes
Read more
  • 0
  • 0
  • 14839

article-image-qt-3d-studio-2-1-released-with-new-sub-presentations-scene-preview-and-runtime-improvements
Natasha Mathur
05 Oct 2018
3 min read
Save for later

Qt 3D Studio 2.1 released with new sub-presentations, scene preview, and runtime improvements

Natasha Mathur
05 Oct 2018
3 min read
The Qt team released Qt 3D Studio 2.1 earlier this week. Qt 3D Studio 2.1 explore features such as sub-presentations, scene preview, and runtime improvements. Qt 3D Studio 2.1 is a design tool that is used for creating 3D user interfaces as well as for adding 3D content into Qt-based applications. Qt 3D Studio helps with easily designing the 3D content look & feel, animations and user interface states. New Editor features There are two new features added in the Editor in Qt 3D Studio 2.1, namely, Sub-presentations and Scene Preview. Sub-presentations This feature provides an option to embed another Studio presentation or a QML file within a Studio presentation. For example, you can divide the design work into smaller projects and make reusable components. Managing the Sub-Presentations as well adding them into views is easy with the Qt 3D Studio 2.1. There’s a project browser option that shows all the Qt Quick files (.qml) as well as the Qt 3D Studio presentations (.uip) that have been imported to the main project. These files can then be added to a scene layer or as a texture to an object by dragging them from the project browser onto the scene. Sub-Presentations can now be easily viewed in the scene view allowing you to see the whole user interface while creating the design. Scene Preview Qt 3D Studio 2.1 release comes with a new option used for Scene Preview for times when you’re working with different camera views (perspective, top etc.). This is super handy when aligning objects in the scene. Runtime The runtime side in Qt 3D Studio 2.1 mainly focuses on performance and stability improvements. The Qt team is working on writing a new API that will help replace the old runtime in the Qt 3D Studio Editor. In the future releases, the new API will also be capable of performing dynamic content creation from the application side. Support for compressed textures which is already a feature in Qt 5.11 has been also added to the Qt 3D Studio runtime. So you can improve the loading time and also save memory in devices supporting  ETC2 or ASTC Compressed textures by compressing the textures. Asset compression management feature will also be added in the Editor side in the future releases of Qt 3D Studio. For more information, check out the official documentation. Qt Creator 4.7.0 releases! Qt for Python 5.11 released! WebAssembly comes to Qt. Now you can deploy your next Qt app in the browser
Read more
  • 0
  • 0
  • 14790

article-image-rust-language-server-rls-1-0-releases
Fatema Patrawala
21 Aug 2018
2 min read
Save for later

Rust Language Server, RLS 1.0 releases with code intelligence, syntax highlighting and more

Fatema Patrawala
21 Aug 2018
2 min read
The Rust Language Server 0.130.5 announces its first 1.0 release candidate. The 1.0 release is available on the nightly and beta version and will be available with stable Rust version from 3rd September this year. RLS 1.0 will be able to handle most small and medium sized projects with certain limitations and improvements. Major highlights of this release are syntax highlighting, syntactic code completion and code intelligence.To easily install RLS you can install an extension of your favorite editor, for example: Visual Studio Code Atom Sublime Text Eclipse What’s new in RLS 1.0 release Syntax highlighting Each editor does its own syntax highlighting Code completion Code completion is syntactic, performed by Racer. Because it is syntactic there are many instances where it is incomplete or incorrect. Errors and warnings Errors and other diagnostics are displayed inline. Exactly how the errors are presented depends on the editor. Formatting By Rustfmt (which is also at the 1.0 release candidate stage). Clippy Clippy is installed as part of the RLS. You can turn it on with a setting in your editor or with the usual crate attribute. Code intelligence The RLS can do the following: type and docs on hover goto definition find all references find all implementations for traits and concrete types find all symbols in the file/project renaming (this will not work where a renaming would cause an error, such as where the field initialisation syntax is used) change glob imports to list imports For more information visit the release notes page. Rust 2018 Edition Preview 2 is here! Rust and Web Assembly announce ‘wasm-bindgen 0.2.16’ and the first release of ‘wasm-bindgen-futures’ Rust 1.28 is here with global allocators, nonZero types and more
Read more
  • 0
  • 0
  • 14770

article-image-packts-github-portal-hits-2000-repositories
Richard Gall
10 Sep 2018
2 min read
Save for later

Packt's GitHub portal hits 2,000 repositories

Richard Gall
10 Sep 2018
2 min read
Now for some personal news: Packt has passed 2000 repositories on GitHub. This milestone, which has taken significant effort from some of the Packt team, has been a direct response to customer demands. It means the code inside Packt books and videos can now be easily accessed by readers and viewers, making the step between learning and doing that little bit easier. You can find Packt's GitHub portal here.  Packt's GitHub portal: some dates and statistics Packt's first official GitHub repo was created in March 2016 for Swift 2 by Example. You can find it here. Since then, more than 90,000 people have used our repositories - a number which is growing every day. The top programming languages represented on Packt's GitHub portal The most popular languages on Packt's GitHub largely indicate the areas that are most popular with Packt readers. However, it does also offer an insight on the most popular languages today. Over time, Packt should be able to track changes that will allow us to see how the popularity and usage of languages changes over time. The most popular GitHub repo The most popular Packt GitHub repo is the repo for our book Deep Learning with Keras. This repo (which you can find here) has (at the time of writing) 408 Stars, 340 Forks, and 51 Watchers.         Making Packt products more practical - and making learning easier The initiative is designed to make Packt products more practical. In theory, it should make it easier to bridge the gap between learning a new skill and solving a problem. Product Manager Erol Staveley explains: "By making our code assets open source, we’re letting people build and explore our hands-on examples, giving back to the community a little, and helping them learn by doing. This is a small but valuable step in the evolution of our products as we seek to ensure they remain relevant to the needs of our readers." If you're a Packt customer, it's well worth diving into the code for any products you already have.  Read next GitHub parts ways with JQuery, adopts Vanilla JS for its frontend GitHub open sources its GitHub Load Balancer (GLB) Director Microsoft’s GitHub acquisition is good for the open source community
Read more
  • 0
  • 0
  • 14760

article-image-apache-netbeans-9-available-with-java-9-10-support
Sugandha Lahoti
31 Jul 2018
3 min read
Save for later

Apache NetBeans 9.0 is now available with Java 9 & 10 support

Sugandha Lahoti
31 Jul 2018
3 min read
The Apache NetBeans team has announced the latest release of the Java IDE Apache NetBeans 9.0 (incubating). This release focuses on two main objectives, the IP clearance of the Oracle code donation and Java 9 and 10 Support. It also adds other new features, such as support for local variable type inference and the Jigsaw module system, a new Java Modular Application project type, and Java Shell support. The ASF Incubator is the official entry path for projects and codebases that want to become a part of the ASF. This is the process through which those projects are screened to make sure they comply with the ASF legal standards and their support communities adhere to the ASF's guiding principles. The primary focus of this release is IP clearance of the code Oracle donated to the ASF. Local Variable Type Inference support Apache NetBeans (incubating) 9.0 adds support for Java 10 with new hints, error handlers, and refactorings for transforming to the new JDK 10 var type. New hint to convert explicit variable type to var. New hint to Convert var type back to explicit type. Var is not supported in a compound variable declaration. This hint helps correct compilation error by splitting the declaration into separate statements. New Error Hint for var Array declaration. This hint helps correct compilation errors by converting to an explicit type by inferring the type of data in an array. Support for the Jigsaw model Apache NetBeans 9.0 adds support for the Java Platform Module System (JPMS) which a central component of Project Jigsaw. NetBeans 9 adds ModulePath as a paradigm to NetBeans in addition to Classpath. Project Jigsaw was established with the goal to improve the security and maintainability of Java SE Platform Implementations and the JDK. It was made with the purpose to make it easy for developers to construct and maintain libraries and large applications. Java Modular Application project type Apache Netbeans 9.0 also adds a new Java Modular project type, which enables the development of several JDK 9 modules in one NetBeans project. The advantage of this type over other Java SE projects is that dependencies are managed by declaring the appropriate exports and requires, and all modules and the project are compiled at the same time. Java Shell support Apache Netbeans 9.0 also adds an integrated console-like UI to the Java Shell to leverage NetBeans editor capabilities. Java Shell introduces REPL (read-eval-print-loop) capabilities to Java and is included in JDK9 and defined in JEP 222. NetBeans also extends the capabilities of the command line tool, allowing developers to execute the shell as an agent on the debugged or run application. The Snippets written in JShell can be redefined and tested, even against a running code. Apache NetBeans 9.0 is available for download from your closest Apache mirror. For this release no installers are provided, you need to just download the binaries and unzip them. Source: incubating-netbeans-java-9.0-source.zip ( PGP ASC, SHA-1) Binaries: incubating-netbeans-java-9.0-bin.zip ( PGP ASC, SHA-1) More information about this release is available on the Apache NetBeans blog post. Apache NetBeans 9.0 RC1 released! What can you expect from the upcoming Java 11 JDK? The NetBeans Developer’s Life Cycle
Read more
  • 0
  • 0
  • 14731

article-image-go-introduces-generic-codes-and-a-new-contract-draft-design-at-gophercon-2019
Vincy Davis
29 Jul 2019
3 min read
Save for later

Go introduces generic codes and a new contract draft design at GopherCon 2019

Vincy Davis
29 Jul 2019
3 min read
Update: On 31st July, Ian Lance Taylor posted in detail explaining the benefits and costs of including generics in Go. He also briefly discussed the draft design to convey how generics is going to be added to the Go language. Taylor says “Our goal is to arrive at a design that makes it possible to write the kinds of generic code, without making the language too complex to use or making it not feel like Go anymore.” Check out the Goland blog for more details. On 26th July at GopherCon 2019, Ian Lance Taylor introduced generics codes in Go. He briefly explained the need, implementation and benefits from generics for the Go language. Next, Taylor reviewed the Go contract design draft which included addition of optional type parameters to types and functions. https://twitter.com/ymotongpoo/status/1154957680651276288 https://twitter.com/lelenanam/status/1154819005925867520 Taylor also proposed guidelines for implementing generic design in Go. https://twitter.com/chimeracoder/status/1154794627548897280 In all the three years of Go surveys, lack of generics has been listed as one of the three highest priorities for fixing the Go language. Taylor defines generic as “Generic programming which enables the representation of functions and data structures in a generic form, with types factored out.” Generic code is written using types, which are specified later. An unspecified type is called as type parameter. A type parameter offers support only when permitted by contracts. A generic code imparts strong basis for sharing codes and building programs. It can be compiled using an interface-based approach which optimizes time as the package is compiled only once. If a generic code is compiled multiple times, it can carry compile time cost. Some of the many functions that can be written generically in Go include - Image Source: Source graph Go already supports two generic data structures which are built using Slice and Map languages. Go requires data structures to be written only once and then reused after putting it in a package. The contract draft design states that since Go is designed to support programming, a clear contract should be maintained between a generic code and a calling code. With the new changes, users may find the language more complex. However, the Go team expects users to not write generic code themselves, instead use packages that are written by others using generic code. Developers are very happy that the Go generics proposal is simple to understand and enables users to depend on the already written generic packages. This will save them time as users need not rewrite type specific functions in Go. https://twitter.com/lizrice/status/1154802013982449666 https://twitter.com/protolambda/status/1155286562659282952 https://twitter.com/arschles/status/1154793543149375488 https://twitter.com/YvanDaSilva/status/1155432594818969600 https://twitter.com/mickael/status/1154799370610466816 Users have also admired the new contract design draft by the Go team. https://twitter.com/miyagawa/status/1154810546002153473 https://twitter.com/t_colgate/status/1155380984671551488 https://twitter.com/francesc/status/1154796941227646976 Head over to the Google proposal page for more details on the new contract draft design. Read More Ian Lance Taylor, Golang team member, adds another perspective to Go being Google’s language Is Golang truly community driven and does it really matter? Go User Survey 2018 results: Golang goes from strength to strength, as more engineers than ever are using it at work
Read more
  • 0
  • 0
  • 14726
Unlock access to the largest independent learning library in Tech for FREE!
Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
Renews at $19.99/month. Cancel anytime
article-image-android-studio-3-4-releases-with-android-q-beta-emulator-a-new-resource-manager-and-more
Sugandha Lahoti
18 Apr 2019
2 min read
Save for later

Android Studio 3.4 releases with Android Q Beta emulator, a new resource manager and more

Sugandha Lahoti
18 Apr 2019
2 min read
Yesterday, Google released Android Studio 3.4, the latest version of its integrated development environment (IDE). Version 3.3 was released earlier this year. This release is the continuation of 'Project Marble’, Google’s initiative to improve Android Studio features. Android Studio 3.4 has an updated Project Structure Dialog (PSD). It also replaces Proguard with R8 as the default code shrinker and obfuscator. This release also supports the Android Q Beta and Intellij 2018.3.4. New features in Android Studio 3.4 Project Structure Dialog: This is a new user interface front end to manage Gradle project files. PSD allows developers to see and add dependencies to their project at a module level. Additionally, it displays build variables, suggestions to improve build file configuration etc. New Resource Manager: The resource manager is a new tool to visualize the drawables, colors, and layouts across your app project in a consolidated view. In addition to visualization, the panel supports drag & drop bulk asset import, and bulk SVG to VectorDrawable conversion. R8 replaces Proguard: R8 is now used as the default code shinker for new projects created with Android Studio 3.4. R8 code shrinking helps reduce the size of your APK by getting rid of unused code and resources as well as making your actual code take less space. Additionally, in comparison to Proguard, R8 combines shrinking, desugaring and dexing operations into one step. Import Intentions: Android Studio 3.4 will now recognize common classes in Jetpack and Firebase libraries. It will also suggest, via code intentions, adding the required import statement and library dependency to your Gradle project files. Android Emulator Skin updates and Android Q Beta Emulator System Image: Users can now download Android Q Beta emulator system images for app testing on Android Q. Android Studio 3.4 also includes the latest Google Pixel 3 and Google Pixel 3 XL device skins. Read more about this release on the Android Developers Blog. You can download the latest version of Android Studio 3.4 from the Android download page. Android Studio 3.3 released with support for Navigation Editor, C++ code lint inspections, and more Google announces the stable release of Android Jetpack Navigation Android Q will reportedly give network carriers more control over network devices
Read more
  • 0
  • 0
  • 14666

article-image-qt-creator-4-7-0-releases
Natasha Mathur
19 Jul 2018
2 min read
Save for later

Qt Creator 4.7.0 releases!

Natasha Mathur
19 Jul 2018
2 min read
Qt team released Qt Creator 4.7.0 yesterday. The latest release includes features such as C++ Support, Test Integration, Windows Hosts and other improvements. The highlights of this latest release are: C++ Support Clang code model has now been turned on by default. The built-in model, earlier, wasn’t able to keep up with the developments in the C++ language and the tooling around it. You can still continue to use the built-in model by disabling the ClangCodeModel plugin. Clang code model has been upgraded to Clang 6.0. and provides information for the document used for the symbols dropdown, outline pane and “.” locator filter. There’s a new tool in Debug mode (Analyze > Clang-Tidy and Clazy) with the help of which you can run checks over your entire code. You can check the warnings and errors from the code model in the Issues pane. Test Integration For cases when your text cursor in the C++ editor is inside a test function, an individual test can be directly run with the new Run Test Under Cursor action. The location of failed tests is also marked by test integration in the editor. Google Test provides support for filtering. Windows Hosts The scanning for MSVC compilers on Windows has been improved. Issue leading to short-term freezes during Windows debug stream has been fixed. Now, saving files on network drives should work in all configurations. Other Improvements The kit options are put in their own top-level entry in the preferences dialog. Now, easily choose if you want Qt’s automatic scaling by enabling or disabling the new option in Environment > Interface ( for HiDPI screen on Windows or Linux). The File System is equipped with new options which show folder on top as well as turn off the base folder synchronization. New folders can be created directly in the File System view. The open source version of Qt Creator 4.7.0  is available on the Qt download page. You can find commercially licensed packages on the Qt Account Portal. Qt Creator 4.7.0 is also available through an update in the online installer. Apart from these major updates, there have been many other improvements and fixes. Check out the official changes file for more coverage on Qt Creator 4.7.0. How to create multithreaded applications in Qt How to Debug an application using Qt Creator Qt 5.11 has arrived!  
Read more
  • 0
  • 0
  • 14657

article-image-twilio-launched-verified-by-twilio-that-will-show-customers-who-is-calling-them-and-why
Amrata Joshi
30 Aug 2019
3 min read
Save for later

Twilio launched Verified By Twilio, that will show customers who is calling them and why

Amrata Joshi
30 Aug 2019
3 min read
This month at the Twilio SIGNAL 2019 conference, Twilio, announced Verified By Twilio which help customers to know caller details. Verified By Twilio will also help them know which calls are real and which are fake or spam calls. For this, the company is partnering with major call identification apps like CallApp, Hiya, Robokiller, and YouMail to help more than 200 million consumers. Verified By Twilio is expected to be fully available by early 2020. Verified by Twilio aims to show genuine callers Due to privacy concerns, customers usually tend to reject a number of business calls daily, be it legitimate or illegitimate. As per Hiya’s State of the Phone Call report, Americans answer just a little more than 50% of the calls that they receive on their cell phones. As per a recent Consumer Reports survey, around 70% of consumers do not answer a call if the number flashes up as anonymous.   But in this case, if the customer knows in advance as to who is calling and why then there is a possibility of such business calls not going unanswered. The project Verified by Twilio aims to let users know about why are they getting a call even before they actually press the answer button. It also aims to verify the business or organization that is calling for each of the calls. The official press release reads, “For example, if an airline company is trying to contact a customer about a cancelled flight, as the call comes in, the consumer will see the name of the airline with a short note indicating why they are calling. With that information, that person can make the decision about stepping out of a meeting or putting another call on hold to answer this critically important call.” Jeff Lawson, co-founder and chief executive officer, Twilio, said in a statement, “At Twilio, we want to help consumers take back their phones, so that when their phone rings, they know it's a trusted, wanted call.”  Lawson further added, “A lot of work is being done in the industry to stop unwanted calls and phone scams, and we want to ensure consumers continue to receive the wanted calls. Verified By Twilio is aimed at providing consumers with the context to know who's calling so they answer the important and wanted calls happening in their lives, such as from doctors, schools, and banks.” How Twilio plans to verify businesses? Twilio is now creating a repository for hosting verified information of businesses and organizations as well as their associated brands that will populate the screens as soon as a call comes in. With the programmability of the Twilio platform, it will be possible for businesses and organizations to dynamically assign a purpose for each call to give better context. Twilio plans to involve no costs for businesses and organizations who would want to join the private beta.  With Verified By Twilio, businesses and organizations might improve their overall engagement with their customers as the chances of their calls getting answered would be high and in this way, they would establish trust in traditional communications. To know more about this news, check out the official post. What’s new in Application development this week? Microsoft announces its support for bringing exFAT in the Linux kernel; open sources technical specs Introducing ActiveState State Tool, a CLI tool to automate dev & test setups, workflows, share secrets and manage ad-hoc tasks JavaScript will soon support optional chaining operator as its ECMAScript proposal reaches stage 3
Read more
  • 0
  • 0
  • 14638

article-image-intellij-idea-2018-3-early-access-program-is-now-open
Natasha Mathur
07 Sep 2018
5 min read
Save for later

IntelliJ IDEA 2018.3 Early Access Program is now open!

Natasha Mathur
07 Sep 2018
5 min read
JetBrains announced on Wednesday that they’re starting an Early Access Program (EAP) for their popular IDE IntelliJ IDEA 2018.3. The IntelliJ IDEA 2018.3 EAP explores features such as better IDE navigation, revamped plugin preferences page, Run Anything, and multiline TODO comments among others. You can download the IntelliJ IDEA 2019.3 EAP with the help of Toolbox App. Let’s discuss the key features in IntelliJ IDEA 2018.3 EAP. Better IDE navigation The IntelliJ IDEA 2018.3 offers better IDE navigation with an all-new Search Everywhere dialog. The new search dialog has an enhanced UI which is resizable and movable. It comprises of Go to class, Go to file, Go to symbol, and Find action. This new feature has made the search process faster. Run Anything dialog There’s a new Run Anything action in IntelliJ IDEA 2018.3. Run Anything lets you run a command in the IDE, launch any run configuration, and run any terminal commands. This dialog allows you to select a recent command, a preconfigured run configuration and reopen recent projects. With the Run Anything dialog, you can hold down the Shift key to switch to the Debug Anything mode, which allows you to run a debug configuration. Multiline TODO comments There’s an added support for multiline TODO comments in IntelliJ IDEA 2018.3 EAP. Earlier, only the first line of a multiline TODO comment was handled as a todo comment. Now, the first line along with all the other todo comment lines can be highlighted in the editor and listed in the TODO Tool Window. Plugins page Now there’s a new Plugins page in Preferences/Settings, making it easier to manage, install, uninstall, and update plugins. You can now search for plugins by name or tags, and sort the results by downloads, name, rating, featured, or updates. Additionally, you can also view the new and updated plugins, top downloaded plugins, as well as top-rated plugins. Installed Tab allows you to check all the downloaded and bundled plugins in different areas.  You can view all the plugins that need to be updated in the Updates tab. Structural Search There’s a new simplified Structural Search & Replace dialogs in IntelliJ IDEA 2018.3. Structural Search comes with a drop-down menu under the search icon to display the search history. There’s also a Scope configuration which is easier and more flexible. Editing variables/filters is possible with the help of Structural Search & Replace dialogs. The Edit Variables dialog is replaced by a Filters panel. JVM Debugger IntelliJ IDEA 2018.3 comes packed with various debugger improvements. You can now see all the available processes for attaching in the “Attach with Java Debugger To” action list. Now, there’s a new Auto restart option for the remote debug configurations so the IDE can automatically restart a configuration while debugging a remote process. Maven You can now delegate all your build and run actions to Maven in IntelliJ IDEA 2018.3. To enable the new option, delegate the IDE build/run actions to maven, by going to Preferences / Settings | Build, Execution, Deployment | Build Tools | Maven | Runner. Editor There’s now a way to configure the default indent in projects on the Tabs and Indents tab in Preferences / Settings | Editor | Code Style | Java. There’s also a newly added status bar indicator which points out if the current file indentation differs from the project’s default. To choose actions that control the current indentation, there’s a status bar popup. Java There are a lot of new Java inspections and quick-fixes in the IntelliJ IDEA 2018.3 EAP. The inspection support for Java Stream API has been improved.  IntelliJ IDEA is now capable of detecting cases where redundant sorted calls are made before the subsequent min call. You can quickly remove the unnecessary sorted call with the new IDE. You can convert streams into loops when the downstream collector is collection-based (toSet/toList/toMap/toCollection/groupingBy) and can be processed by itself. Also, to completely remove static import, use * and add qualifiers to the usages in the code instead. Run Configurations There’s an added support for macros in run configurations. Currently, the IDE supports only the “Application” and “npm” run configurations. You can use text/log file as input by enabling the Redirect input in the Run/Debug Configurations dialog, After this, simply specify the path to the file which has the input data. Version Control Earlier, the IDE only showed file history up to the selected commit. With InteliJ IDEA 2018.3 EAP, it can now display the full history. You simply need to switch “Show All Branches” on the toolbar. This step is particularly useful in case the file gets deleted later. Other than that, you can now ignore the whitespace changes while merging with a new ignore Whitespaces option. It also comes with a new Ignore drop-down menu with options to hide or trim whitespace changes that occur on merge. You can also copy a file easily from one Git branch to another. For more information, check out the official IntelliJ IDEA 2018.3 EAP documentation. Reading Next What’s new in IntelliJ IDEA 2018.2 How to set up the Scala Plugin in IntelliJ IDE [Tutorial] How to work with the Selenium IntelliJ IDEA plugin
Read more
  • 0
  • 0
  • 14604
article-image-the-llvm-project-is-ditching-svn-for-github-the-migration-to-github-has-begun
Prasad Ramesh
25 Oct 2018
2 min read
Save for later

The LLVM project is ditching SVN for GitHub. The migration to Github has begun.

Prasad Ramesh
25 Oct 2018
2 min read
The official LLVM monorepo repository was officially published on Github on Tuesday. Now is a good time to modify your workflows to use the monorepo as soon as possible. Any current SVN based workflows will be supported for at the most one more year. The move from SVN to GitHub for LLVM has been long under consideration. After positive responses in the mailing threads and in favor of the GitHub community, LLVM has finally decided to set the migration plan in motion. Two round-table meetings were held this week with the developers to discuss SVN to GitHub migration. Below are some highlights of these meetings. The most important outcome from the meetings is an agreed upon timeline for completing the transition. The latest monorepo prototype will be moved over to the LLVM organization Github project and has now begun mirroring the current SVN repository. Commits will still be made to the SVN repository just as they are currently done. All community members are advised to begin migrating their workflows relying on SVN or the current git mirrors to use the new monorepo. As for CI jobs or internal mirrors that pull from SVN or http://llvm.org/git/*.git they should be modified to pull from the new monorepo instead. Changes are advised to also make them work with the new repository layout. Developers are advised to begin using the new monorepo for development. The provided scripts should help to commit code. These scripts will enable you to commit to SVN from the monorepo without having to use git-svn. The commit access will be turned off to the SVN server and commit access to the monorepo will be enabled in a year. At this point, the monorepo will be the only source for the project. Keep an eye on the LLVM monorepo GitHub repository. There is a getting started guide to work with a GitHub monorepo and for more details you can take a look at the mailing list. LLVM will be relicensing under Apache 2.0 start of next year A libre GPU effort based on RISC-V, Rust, LLVM and Vulkan by the developer of an earth-friendly computer LLVM 7.0.0 released with improved optimization and new tools for monitoring
Read more
  • 0
  • 0
  • 14603

article-image-rust-1-28-is-here-with-global-allocators-nonzero-types-and-more
Sugandha Lahoti
03 Aug 2018
2 min read
Save for later

Rust 1.28 is here with global allocators, nonZero types and more

Sugandha Lahoti
03 Aug 2018
2 min read
The Rust team has announced a new version of their popular programming language. Mozilla's Rust system programming language has always been focused on safety, speed, and concurrency. This release adds more power to these features. Rust 1.28 provides more flexibility and ease to memory allocation with global allocators and NonZero types. Global allocators Global allocators allow a developer to define the memory allocation system used by a Rust program.  Previously, Rust did not allow changing the way memory is obtained, which prevented some use cases. With Rust 1.28, the #[global_allocator] attribute is stable. This attribute will allow Rust programs to set their allocator to the system allocator, as well as define new allocators by implementing the GlobalAlloc trait. Better error message formatting Rust’s compiler has traditionally provided verbose and explicit error messages, along with suggestions for how to fix the problem.  Rust 1.28 introduces more detailed notes about why some error conditions arise. The entire list of formatting changes is available on Github. Library stabilizations NonZero types are now a stable addition to the language. NonZero number types are wrappers around the standard unsigned integer types: NonZeroU8, NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU128, and NonZeroUsize. This provides easier to anticipate memory allocations and optimize program data placement. A number of other libraries have also been stabilized; you can see the more detailed release notes for full details. Cargo features Rust’s cargo utility no longer lets users publish crates with build scripts that modify the src directory for an application. This eliminates bugs during the compilation process. For more detailed release notes along with code snippets, you can read the Rust Language blog. Will Rust Replace C++? Say hello to Sequoia: a new Rust based OpenPGP library to secure your apps Eclipse IDE’s Photon release will support Rust
Read more
  • 0
  • 0
  • 14594

article-image-sublime-text-3-2-released-with-git-integration-improved-themes-editor-control-and-much-more
Amrata Joshi
14 Mar 2019
3 min read
Save for later

Sublime Text 3.2 released with Git integration, improved themes, editor control and much more!

Amrata Joshi
14 Mar 2019
3 min read
Yesterday, the team behind Sublime Text released Sublime Text 3.2, a text editor that comes with Git integration, improved diff markers, new theme functionality and much more. What’s new in Sublime Text 3.2? GIT integration With this release, the files and folders in the sidebar will now display badges for indicating Git status. In this release, the ignored files and folders are de-emphasized. In Sublime Text 3.2, the Git branch and number of modifications are displayed in the status bar. The commands have now been added to open a repository. Now there are few themes that customize the display of sidebar badges and status bar information. A new setting show_git_status has been added that disables Git integration. Improved editor control This release comes with block_caret setting. The positioning and sizing of gutter icons have now been improved. This release comes with improved IME support for Windows and improved input method (IM) support - fcitx, ibus, etc for Linux. Improved diff markers With this release, diff markers now display added, modified and deleted lines. A new setting called mini_diff now controls incremental diff behavior. With the new Git functionality, diffs can now be calculated against HEAD or the index. Few diff-related commands such as Next Modification, Previous Modification, and Revert Modification have been added. Improved files and folders For Windows, the paths are treated as case-sensitive and the unlock directories are closed. Enhanced themes/UI This release comes with added support for variables and revised JSON format with variables key. Performance has been improved with large numbers of rules in a .sublime-theme. Also, support for macOS native tabs has been added. Window placement and resize performance has been improved. API This release comes with View.set_reference_document() and View.reset_reference_document() for controlling diff generation. Phantoms can now be  drawn correctly in conjunction with draw_centered. Major bug fixes In this release, the Goto Symbol in Project has been fixed. The draw_minimap_border setting is now working. Few users are comparing the performance of Sublime Text with VScode as they think VScode is better. One of the users commented on HackerNews, “I hope Sublime steps up their game, as I think VScode is standing on their shoulders, and competition is good.” Few others think that Sublime is the best editor. Another comment reads, “If all I needed was a great text editor, I would use Sublime. It's everything I want in an editor.” To know more about this news, check out Sublime Text’s blog post. Meet Sublime Merge, a new Git client from the makers of Sublime Text Introducing R-Factor, a refactoring tool for React and Redux Typescript 3.3 is finally released!
Read more
  • 0
  • 0
  • 14584
article-image-cern-plans-to-replace-microsoft-based-programs-with-an-affordable-open-source-software
Amrata Joshi
26 Jul 2019
3 min read
Save for later

CERN plans to replace Microsoft-based programs with an affordable open-source software

Amrata Joshi
26 Jul 2019
3 min read
Last month, CERN, one of the leading scientific research organizations planned to stop using Microsoft-based programs to look out for affordable open-source software. For the past 20 years, CERN has been using Microsoft products at a discounted "academic institution" rate. Things changed in March when its previous contract was ending and Microsoft revoked CERN's academic status and as per a CERN’s blog post, under the new contract, licensing costs have been increased.  Meanwhile, CERN is now focusing on its year-old project known as, Microsoft Alternatives project (MAlt) and plans to migrate to open-source software. MAlt’s principles of engagement are: delivering the same service to every category of CERN personnel, avoiding vendor lock-in for decreasing risk and dependency, keeping hands-on data and addressing the common use-cases. The official post reads, “The Microsoft Alternatives project (MAlt) started a year ago to mitigate anticipated software license fee increases. MAlt’s objective is to put us back in control using open software. It is now time to present more widely this project and to explain how it will shape our computing environment.” https://twitter.com/Razican/status/1138818892825055233 This summer, MAlt will start with a pilot mail service for the IT department and volunteers. CERN plans to migrate all of its staff to the new mail service and also move the Skype for Business clients and analogue phones to a softphone pilot. Microsoft agreed to increase CERN's fees over a ten-year period so that the institution could adapt but it was still unsustainable as per CERN. Emmanuel Ormancey, a CERN system analyst, wrote in a blog post, “Although CERN has negotiated a ramp-up profile over ten years to give the necessary time to adapt, such costs are not sustainable.” Considering CERN’s collaborative nature and its wide community, a large number of licenses are required for delivering the services to everyone. The costs per product becomes unaffordable when traditional business models on a per-user basis are applied. It got unaffordable for CERN to go for commercial software licenses with a per-user fee structure. While many other public research institutions have previously been affected by this new licensing structure.  While few users still think Microsoft was a better choice and are on the point that it would be difficult for CERN to migrate. A user commented on HackerNews, “Migrating away from Microsoft won't be easy. Despite high licensing costs, Windows, AD and Exchange are still great solutions with millions of people familiar with them, good documentation and support.” Few others are happy about CERN’s decision to support open source. Another user commented, “It is awesome to see how CERN is supporting open source. They have been long time users of our open core GitLab with 12,000 users https://about.gitlab.com/customers/cern/” To know more about this news, check out the official post. Softbank announces a second AI-focused Vision Fund worth $108 billion with Microsoft, Apple as major investors Why are experts worried about Microsoft’s billion dollar bet in OpenAI’s AGI pipe dream? Ex-Microsoft employee arrested for stealing over $10M from store credits using a test account
Read more
  • 0
  • 0
  • 14579

article-image-michael-barr-releases-embedded-c-coding-standards
Prasad Ramesh
17 Aug 2018
4 min read
Save for later

Michael Barr releases embedded C coding standards

Prasad Ramesh
17 Aug 2018
4 min read
Every C programmer has ideas about writing better C code. Comment first, agile, use this compiler etc. The Barr Group recently released a coding standards guideline for embedded C, which is also available as a freely downloadable ebook. The guidelines are grouped rules that fall under 8 broad categories (general, comments, white space, module, data type, procedure, variable and statements). Michael Barr is the CTO and co-founder of Barr Group. He has a Masters in electrical engineering, was an adjunct professor in electrical engineering/computer science and founded a company called Netrino and the Barr group for embedded systems consulting. He was also the Editor-in-Chief of the Embedded Systems Programming magazine. He has decades of experience so this should prove to be a great reference guide. What are these C guidelines about? C is pretty open-ended and leaves a lot of space of misuse. That is, a lot of bad code can be written in C. Any programming language can’t really prevent bad code, people have different approaches, some less efficient than the others. In the guidelines, Barr lists ways to change habits while coding. He states in his guideline book “The reliability, readability, efficiency, and sometimes portability of source code is more important than programmer convenience.” His also talks about MISRA C, the 20-year-old guideline created to promote more reliable programming. MISRA still is the gold standard for many embedded programmers. But MISRA avoids many issues of style, indentation, naming conventions, casings, and so on. But Barr does not shy away from any of that. It’s good to follow rules It isn’t uncommon for programmers to overlook the simple stuff. For example, they don’t bother with using braces for simple statements just because the language allows you to do so. Rule 1.3 states that all blocks however trivial should be enclosed in braces. The reasoning is “There is considerable risk associated with the presence of empty statements and single statements that are not surrounded by braces. Code constructs like this are often associated with bugs when nearby code is changed or commented out. This risk is entirely eliminated by the consistent use of braces. The placement of the left brace on the following line allows for easy visual checking for the corresponding right brace.” The employer owns the software/code you write. The employer would naturally expect you to follow the best known industry standards for the code to be least buggy and maintainable as possible. In addition, the C language is also not standard throughout, different compilers can produce different runtimes from the same code. This happens even if your code is clean and adhering to all ISO standards. Write legible code The code you write will most likely be used in the future. A short but dense code block can make you feel clever but will lack legibility. We are way past the times to bother about extra lines of code or comments taking up floppy disk space. Write for readability, comment generously, indent your loops and compound statements. Many seasoned programmers may already know or practice many of the rules stated in the book. But nonetheless it can serve as a really good reference guide for beginners and veterans alike. There are eight sections of rules with subsections in them. These were just some of the ideas presented in the guidelines, you can get the free PDF download or and if your prefer, the paperback version is available on Amazon. The 5 most popular programming languages in 2018 Polymorphism and type-pattern matching in Python [Tutorial] Qml.Net: A new C# library for cross-platform .NET GUI development
Read more
  • 0
  • 0
  • 14564
Modal Close icon
Modal Close icon