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 - Application Development

279 Articles
article-image-code-completion-suggestions-via-intellicode-comes-to-c-in-visual-studio-2019
Prasad Ramesh
10 Dec 2018
2 min read
Save for later

Code completion suggestions via IntelliCode comes to C++ in Visual Studio 2019

Prasad Ramesh
10 Dec 2018
2 min read
Last week, Microsoft announced in a blog that IntelliCode code completion suggestions will come to Visual C++ in Visual Studio 2019. There are some common usage patterns that occur after coding for some time. For example, an open stream will be closed eventually. When a string is used in the context of an if-statement, it is usually to check if the string is empty or has a certain size. Developers identify and use these coding patterns over time. IntelliCode already knows these common patterns and can suggest them to the developers as code. With the help of machine learning, IntelliCode trains over thousands of real-world projects which includes open-source projects on GitHub. So, IntelliCode will be of most help to developers when using common libraries like STL. IntelliCode saves time by putting most used items on the top of the IntelliSense completion list. On using the IntelliCode extension for a while, starred items will begin to appear at the top of Member List. They are IntelliCode recommendations. In a future release of the extension, Microsoft will give C++ developers the ability to let IntelliCode learn from their own code. They are also considering adding C++ IntelliCode support to Visual Studio Code. This is a welcome feature for developers, as it saves them time. A comment on Hacker News reads: “That's very nice and I'll probably be using it a lot, after VS2019 will stabilize (it's just a preview now). However, the fact that this thing works so well, says a lot about the design of C++ standard library. They should have encapsulated the pair of iterators into a single structure, and implement implicit casts from vectors/arrays to that object. Requiring to type begin/end every single time is counterproductive.” For more details, visit the Microsoft Blog. Visual Studio 2019: New features you should expect to see Neuron: An all-inclusive data science extension for Visual Studio Microsoft releases the Python Language Server in Visual Studio
Read more
  • 0
  • 0
  • 16154

article-image-nvim-v0-4-0-releases-with-new-api-functions-lua-library-ui-events-and-more
Amrata Joshi
17 Sep 2019
2 min read
Save for later

NVIM v0.4.0 releases with new API functions, Lua library, UI events and more!

Amrata Joshi
17 Sep 2019
2 min read
Last Sunday, the team behind Neovim, a project that refactors Vim source code released NVIM v0.4.0. This release received approximately 2700 commits since v0.3.4, which was a non-maintenance release. It comes with improvements to documentation, test/CI infrastructure, internal subsystems and 700+ patches that are merged from Vim. What’s new in NVIM v0.4.0? API functions This release comes with a new function, nvim_create_buf that is used for creating various types of buffers including nvim_get_context and nvim_load_context. The nvim_input_mouse function is used for performing mouse actions. Users can create floating windows with nvim_open_win. UI events The new UI events including redraw.grid_destroy, redraw.hl_group_set, redraw.msg_clear, and much more are included. Lua library NVIM v0.4.0 introduces "Nvim-Lua standard library" that comes with string functions and generates documentation from docstrings. Multigrid windows It now features windows that are isolated internally and can be drawn on separate grids. These windows are sent as distinct objects to UIs so that UIs can control the layout.   Support for sign columns It comes with support for multiple auto-adjusted sign columns, so users will  be shown extra columns to automatically accommodate all the existing signs. Major changes It has improved Lua error messages and fixed menu_get(). In NVIM v0.4.0, jemalloc, general purpose malloc implementation has been removed. In this release, the 'scrollback' option is more consistent and future-proof.  To know more about this news, check out the release notes. Other interesting news in programming A recap of the Linux Plumbers Conference 2019 GNU community announces ‘Parallel GCC’ for parallelism in real-world compilers TextMate 2.0, the text editor for macOS releases  
Read more
  • 0
  • 0
  • 16050

article-image-risc-v-foundation-officially-validates-risc-v-base-isa-and-privileged-architecture-specifications
Vincy Davis
11 Jul 2019
2 min read
Save for later

RISC-V Foundation officially validates RISC-V base ISA and privileged architecture specifications

Vincy Davis
11 Jul 2019
2 min read
Yesterday, the RISC-V Foundation announced that the RISC-V base Instruction Set Architecture (ISA) and privileged architecture specifications have been ratified.  The RISC-V Foundation drives the adoption and implementation of the free and open RISC-V ISA. The RISC-V base architecture acts as the interface between application software and hardware.  Krste Asanović, chairman of the RISC-V Foundation Board of Directors says, “The RISC-V ecosystem has already demonstrated a large degree of interoperability among various implementations. Now that the base architecture has been ratified, developers can be assured that their software written for RISC-V will run on all similar RISC-V cores forever.” The RISC-V privileged architecture covers all aspects of RISC-V systems including privileged instructions, additional functionality required for running operating systems and attaching external devices. Privilege levels are used to provide protection between different components of the software stack, such that it has a core set of privileged ISA extensions. The ISA extensions have optional extensions and variants, including the machine ISA, supervisor ISA and hypervisor ISA. “The RISC-V privileged architecture serves as a contract between RISC-V hardware and software such as Linux and FreeBSD. Ratifying these standards is a milestone for RISC-V,” said Andrew Waterman, chair of the RISC-V Privileged Architecture Task Group.  To know more about this announcement in detail, head over to RISC-V blog. Debian GNU/Linux port for RISC-V 64-bits: Why it matters and roadmap AdaCore joins the RISC-V Foundation, adds support for C and Ada compilation Western Digital RISC-V SweRV Core is now on GitHub
Read more
  • 0
  • 0
  • 16046

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

Microsoft open sources the Windows Calculator code on GitHub

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

article-image-linux-5-1-out-with-io_uring-io-interface-persistent-memory-new-patching-improvements-and-more-2
Vincy Davis
08 May 2019
3 min read
Save for later

Linux 5.1 out with Io_uring IO interface, persistent memory, new patching improvements and more!

Vincy Davis
08 May 2019
3 min read
Yesterday, Linus Torvalds, the principal developer of the Linux kernel announced the release of Linux 5.1 in a mailing list announcement. This release provides users with an open source operating system with lots of great additions, as well as improvements to existing features. The previous version, Linux 5.0 was released two months ago. “On the whole, 5.1 looks very normal with just over 13k commits (plus another 1k+ if you count merges). Which is pretty much our normal size these days. No way to boil that down to a sane shortlog, with work all over.”, said Linus Torvalds in the official announcement. What’s new in Linux 5.1? Io_uring: New Linux IO interface Linux 5.1 introduces a new high-performance interface called io_uring. It’s easy to use and hard to misuse user/application interface. Io_uring has an efficient buffered asynchronous I/O support, the ability to do I/O without even performing a system call via polled I/O, and other efficiency enhancements. This will help deliver fast and efficient I/O for Linux. Io_uring permits safe signal delivery in the presence of PID reuse which will improve power management without affecting power consumption. Liburing is used as the user-space library which will make the usage simpler. Axboe's FIO benchmark has also been adapted already to support io_uring. Security In Linux 5.1, the SafeSetID LSM module has been added which will provide administrators with security and policy controls. It will restrict UID/GID transitions from a given UID/GID to only those approved by system-wide acceptable lists. This will also help in stopping to receive the auxiliary privileges associated with CAP_SET{U/G}ID, which will allow the user to set up user namespace UID mappings. Storage Along with physical RAM, users can now use persistent memory as RAM (system memory), allowing them to boot the system to a device-mapper device without using initramfs, as well as support for cumulative patches for the live kernel patching feature. This persistent memory can also be used as a cost-effective RAM replacement. Live patching improvements With Linux 5.1 a new capability is being added to live patching, it’s called Atomic Replace. It includes all wanted changes from all older live patches and can completely replace them in one transition. Live patching enables a running system to be patched without the need for a full system reboot. This will allow new drivers compatible with new hardware. Users are quite happy with this update. A user on Reddit commented, “Finally! I think this one fixes problems with Elantech's touchpads spamming the dmesg log. Can't wait to install it!” Another user added, “Thank you and congratulations for the developers!” To download the Linux kernel 5.1 sources, head over to kernel.org. To know more about the release, check out the official mailing announcement. Ubuntu 19.04 Disco Dingo Beta releases with support for Linux 5.0 and GNOME 3.32 Announcing Linux 5.0! Bodhi Linux 5.0.0 released with updated Ubuntu core 18.04 and a modern look  
Read more
  • 0
  • 0
  • 15971

article-image-xubuntu-19-04-releases-with-latest-xfce-package-releases-new-wallpapers-and-more
Sugandha Lahoti
19 Apr 2019
3 min read
Save for later

Xubuntu 19.04 releases with latest Xfce package releases, new wallpapers and more

Sugandha Lahoti
19 Apr 2019
3 min read
The team behind Xubuntu, have released a new update for the lightweight, GTK-based desktop environment built around Ubuntu. Xubuntu 19.04 is available since yesterday as a part of the Ubuntu 19.04 "Disco Dingo" launch. New features include latest Xfce package releases, new wallpapers/artwork, re-addition of GIMP to ISO, and various other changes. Xubuntu 19.04 also halts the production of x86 32-bit install images. New additions in Xubuntu 19.04 AptURL is now included in the latest release. It provides an easy way to link to and install packages from the repositories. It supports most browsers and works without any additional configuration when installed. GIMP (GNU Image Manipulating Program), a feature-packed image editor also ships with this release. It was notably absent from Xubuntu since 15.04 “Vivid Vervet”. The addition of LibreOffice Impress completes the Xubuntu office suite. Impress makes it possible for users to quickly and easily produce and present high-quality presentations. It comes with a number of great templates already installed, and hundreds more at the LibreOffice Extensions website. Updates to existing Xfce settings Xfce Application Finder The application Finder is ported to GTK 3 and searches are now fuzzy Menu items without a name are no longer displayed Applications can now be launched by pressing Enter once The Application Finder will no longer crash when toggling bookmarks A new preference was added to hide the category panel and it has improved application sorting and keyboard navigation Xfce Desktop Orientation option is added for icon arrangement Support for the RandR primary monitor is added Integration for the AccountsService wallpaper is added The crash with monitor changes is fixed. Also the icon size in the “Open With” submenu is fixed. Xfce Dictionary Crashes related to invalid URLs were resolved Web search links are only displayed when URLs are valid The link tooltip is now escaped, fixing display issues Xfce Panel Maximum icon size can be specified for improved control. Per-panel icon size preferences are added Numerous improvements are made to plugin display and sizing issues Support for alternative menu editors, with MenuLibre as default is added Fixed issues with clicking panel items at the top or left of the screen Fixed space reservation on the bottom and right of the screen Fixed crashes in the Directory Menu plugin and when removing certain plugins Fixed alignment of various plugin menus and the display of the binary clock Xfce Screenshooter Added width and height to the region select overlay Fixed delay functionality in the panel plugin and saving screenshots from the panel plugin Improved Imgur upload results dialog Improved support when XInput is not available and for HiDPI displays Xfce Session Replaced packaging recommendation on Xscreensaver with Light Locker Added support for MATE Screensaver and Xfce Screensaver Xfce System Load Plugin Reworked preferences dialog The default update interval was updated to 0.5 seconds Xfce Task Manager Builds now default to GTK 3, with GTK 2 being removed in the next release Improved UTF-8 normalization Fixed crash when closing processes Xubuntu Artwork New desktop wallpaper for 19.04 New release-agnostic wallpaper for Plymouth These are just a select few updates. For a more exhaustive version, head over to the blog post by Bluesabre. If you want to contribute, check out the Xubuntu contributor documentation to learn how to get started. Ubuntu 19.04 Disco Dingo Beta releases with support for Linux 5.0 and GNOME 3.32 Chromium blacklists nouveau graphics device driver for Linux and Ubuntu users Ubuntu 18.10 ‘Cosmic Cuttlefish’ releases with focus on AI development, multi-cloud and edge deployments, and much more
Read more
  • 0
  • 0
  • 15896
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-qt-creator-4-9-beta-released-with-qml-support-programming-language-support-and-more
Amrata Joshi
22 Feb 2019
2 min read
Save for later

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

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

article-image-stack-skills-not-degrees-industry-leading-companies-google-ibm-apple-no-longer-require-degrees
Bhagyashree R
22 Aug 2018
3 min read
Save for later

Stack skills, not degrees: Industry-leading companies, Google, IBM, Apple no longer require degrees

Bhagyashree R
22 Aug 2018
3 min read
Can you guess what is common between, Bill Gates, Steve Jobs, Michael Dell, Larry Ellison? Yes they are very successful trendsetters in tech, some being co-founders and founders of top tech companies. But what else? They are also college dropouts. The point here I want to highlight is that real skills are more important than acquired college degrees. If you do not have a college degree, but have the skill set a company wants, you are in! In today’s economy it is important to have hands-on experience instead of being only book smart. Last week, the job searching website, Glassdoor compiled a list of Top companies that do not require a 4 year college degree as long as you have the skills required. The list includes some of the top tech companies as well such as Google, Apple, and IBM. Google has clearly mentioned on their web page: Source: Google If no degrees, then what? Now, you must be thinking that if these companies are not looking at your GPAs then how are they going to shortlist n number of applications coming their way. Remember the names I called out in the beginning? They have something more in common. They believed in self-learning, were passionate and innovative, and had clear goals. Sam Ladah, IBM’s head of talent organization, calls these type of jobs, “new-collar jobs.” He told the Marketplace in an interview that IBM consider the applicants based on their skills. This includes applicants who didn’t get a four-year degree but have proven their technical knowledge in other ways. Some have technical certifications, and others have enrolled in other skills programs. They have also been finding talents from coding bootcamps. A very good example of finding talent beyond traditional educational boundaries is Tanmay Bakshi, one of the youngest software programmers in the world. At the age of 11, he came across a documentary on the IBM Watson and how it played Jeopardy. He was immediately hooked to IBM Watson and AI and found inspiration to build his own first Watson app called “Ask Tanmay”. Later he was able to find a bug in the Document Conversion service by IBM and posted that on his Twitter. IBMers who were working on this service took a note of this and contacted Tanmay. Two of those initial contacts eventually became his mentors and assisted him in collaborating with IBM. Even if you have a degree in any other background but are keen on learning software development and bagging a job in top-tech companies, you can start anytime. Margaret Hamilton, the Director of the Software Engineer Division of the MIT Instrumentation Laboratory in 1960 and later the CEO of Hamilton Technologies, Inc, was actually a Mathematics graduate. Angela Taylor, who was working as an HR person in Google, with her hardwork and can-do attitude became a Google engineer. She fell in love with programming when she volunteered to fix a spreadsheet and learned Visual Basic for it. These were a few examples of the people who were able to challenge the current education system and became successful. Here is a great Medium post which could give you some amazing tips to further your career, if you are a coder but not an engineer. 1k+ Google employees frustrated with continued betrayal, protest against Censored Search engine project for China 16 year old hacked into Apple’s servers, accessed ‘extremely secure’ customer accounts for over a year undetected Facebook, Apple, Spotify pull Alex Jones content
Read more
  • 0
  • 1
  • 15748

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

article-image-scala-2-13-is-here-with-an-overhauled-collections-improved-compiler-performance-and-more
Bhagyashree R
12 Jun 2019
2 min read
Save for later

Scala 2.13 is here with overhauled collections, improved compiler performance, and more!

Bhagyashree R
12 Jun 2019
2 min read
Last week, the Scala team announced the release of Scala 2.13. This release brings a number of improvements including overhauled standard library collections, a 5-10% faster compiler, and more. Overhauled standard library collections The major highlight of Scala 2.13 is standard library collections that are now better in simplicity, performance, and safety departments as compared to previous versions.  Some of the important changes made in collections include: Simpler method signatures The implicit CanBuildFrom parameter was one of the most powerful abstractions in the collections library. However, it used to make method signatures too difficult to understand. Beginning this release, transformation methods will no longer take an implicit ‘CanBuildFrom’ parameter making the resulting code simpler and easier to understand. Simpler type hierarchy The package scala.collection.parallel is now a part of the Scala standard module. This module will now come as a separate JAR that you can omit from your project if it does not uses parallel collections. Additionally, Traversable and TraversableOnce are now deprecated. New concrete collections The Stream collection is now replaced by LazyList that evaluates elements in order and only when needed. A new mutable.CollisionProofHashMap collection is introduced that implements mutable maps using a hashtable with red-black trees in the buckets. This provides good performance even in worst-case scenarios on hash collisions. The mutable.ArrayDeque collection is added, which is a double-ended queue that internally uses a resizable circular buffer. Improved Concurrency In Scala 2.13, Futures are “internally redesigned” to ensure it provides expected behavior in a broader set of failures. The updated Futures will also provide a foundation for increased performance and support more robust applications. Changes in the language The updates in language include the introduction of literal-based singleton types, partial unification on by default, and by-name method arguments extended to support both implicit and explicit parameters. Compiler updates The compiler will now be able to perform a deterministic and reproducible compilation. This essentially means that it will be able to generate identical output for identical input in more cases. Also, operations on collections and arrays are now optimized making the compiler 5-10% better compared to Scala 2.12. These were some of the exciting updates in Scala 2.13. For a detailed list, check out the official release notes. How to set up the Scala Plugin in IntelliJ IDE [Tutorial] Understanding functional reactive programming in Scala [Tutorial] Classifying flowers in Iris Dataset using Scala [Tutorial]
Read more
  • 0
  • 0
  • 15731
article-image-google-proposes-a-libc-in-llvm-rich-felker-of-musl-libc-thinks-its-a-very-bad-idea
Vincy Davis
28 Jun 2019
4 min read
Save for later

Google proposes a libc in LLVM, Rich Felker of musl libc thinks it’s a very bad idea

Vincy Davis
28 Jun 2019
4 min read
Earlier this week, Siva Chandra, Google LLVM contributor asked all LLVM developers on their opinion about starting a libc in LLVM. He mentioned a list of high-level goals and guiding principles, that they are intending to pursue. Three days ago, Rich Felker the creator of musl libc, made his thoughts about libc very clear by saying that “this is a very bad idea.” In his post, Chandra has said that he believes that a libc in LLVM will be beneficial and usable for the broader LLVM community, and may serve as a starting point for others in the community to flesh out an increasingly complete set of libc functionality.  Read More: Introducing LLVM Intermediate Representation One of the goals, mentioned by Chandra, states that the libc project would mesh with the “as a library” philosophy of the LLVM and would help in making the “the C Standard Library” more flexible. Another goal for libc states that it will support both static non-PIE and static-PIE linking. This means enabling the C runtime and the PIE loader for static non-PIE and static-PIE linked executables. Rich Felker posted his thoughts on the libc in LLVM as follows: Writing and maintaining a correct, compatible, high-quality libc is a monumental task. Though the amount of code needed is not that large, but “the subtleties of how it behaves and the difficulties of implementing various interfaces that have no capacity to fail or report failure, and the astronomical "compatibility surface" of interfacing with all C and C++ software ever written as well as a large amount of software written in other languages whose runtimes "pass through" the behavior of libc to the applications they host,”. Felkar believes that this will make libc not even of decent quality.  A corporate-led project is not answerable to the community, and hence they will leave whatever bugs it introduces, for the sake of compatibility with their own software, rather than fixing them. This is the main reason that Felkar thinks that if at all, a libc is created, it should not be a Google project.  Lastly Felkar states that avoiding monoculture preserves the motivation for consensus-based standard processes rather than single-party control. This will prove to be a motivation for people writing software, so they will write it according to proper standards, rather than according to a particular implementation.   Many users agree with Rich Felkar’s views.  A user on Hacker News states that “This speaks volumes very clearly. This highlights an immense hazard. Enterprise scale companies contributing to open-source is a fantastic thing, but enterprise scale companies thrusting their own proprietary libraries onto the open-source world is not. I'm already actively avoiding becoming beholden to Google in my work as it is already, let alone in the world where important software uses a libc written by Google. If you're not concerned by this, refer to the immense power that Google already wields over the extremely ubiquitous web-standards through the market dominance that Chrome has.” Another user says that, “In the beginning of Google's letter they let us understand they are going to create a simplified version for their own needs. It does mean they don't care about compatibility and bugs, if it doesn't affect their software. That's not how this kind of libraries should be implemented.” Another comment reads, “If Google wants their own libc that’s their business. But LLVM should not be part of their “manifest destiny”. The corporatization of OSS is a scary prospect, and should be called out loud and clear like this every time it’s attempted” While there are few others who think that Siva Chandra’s idea of a libc in LLVM might be a good thing. A user on Hacker News comments that “That is a good point, but I'm in no way disputing that Google could do a great job of creating their own libc. I would never be foolish enough to challenge the merit of Google's engineers, the proof of this is clear in the tasting of the pudding that is Google's software. My concerns lie in the open-source community becoming further beholden to Google, or even worse with Google dictating the direction of development on what could become a cornerstone of the architecture of many critical pieces of software.” For more details, head over to Rich Felkar’s pipermail.  Introducing InNative, an AOT compiler that runs WebAssembly using LLVM outside the Sandbox at 95% native speed LLVM 8.0.0 releases! LLVM officially migrating to GitHub from Apache SVN
Read more
  • 0
  • 0
  • 15731

article-image-dont-break-your-users-and-create-a-community-culture-says-linus-torvalds-creator-of-linux-at-kubecon-cloudnativecon-open-source-summit-china-2019
Sugandha Lahoti
09 Jul 2019
5 min read
Save for later

“Don’t break your users and create a community culture”, says Linus Torvalds, Creator of Linux, at KubeCon + CloudNativeCon + Open Source Summit China 2019

Sugandha Lahoti
09 Jul 2019
5 min read
At the Cloud Native Computing Foundation’s flagship conference, KubeCon + CloudNativeCon + Open Source Summit China 2019, Linus Torvalds, creator of Linux and Git was in a conversation with Dirk Hohndel, VP and Chief Open Source Officer, VMware on the past, present, and future of Linux. The cloud Native conference gathers technologists from leading open source and cloud native communities scheduled to take place in San Diego, California from November 18-21, 2019. When I think about Linux, Linus says, I worry about the technology and not care about the market. In a lot of areas of technology, being first is more important than being best because if you get a huge community around yourself you have already won. Linus says he and the Linux community and maintainers don’t focus on individual features; what they focus on is the process of getting those features out and making releases. He doesn’t believe in long term planning; there are no plans that span more than roughly six months. Top questions on security, gaming and Linux’s future, learnings and expectations Is the interest in Linux from people outside of the core Linux community declining? Linus opposes this statement stating that it’s still growing albeit not at quite the same rate it used to be. He says that people outside the Linux kernel community should care about Linux’s consistency and the fact that there are people to make sure that when you move to a new kernel your processes will not break. Where is the major focus for security in IT infrastructure? Is it in the kernel, or in the user space? When it comes to security you should not focus on one particular area alone. You need to have secure hardware, software, kernels, and libraries at every stage. The true path to security is to have multiple layers of security where even if one layer gets compromised there is another layer that picks up that problem. The kernel, he says, is one of the more security conscious projects because if the kernel has a security problem it's a problem for everybody. What are some learnings that other projects like Kubernetes and the whole cloud native world can take from the kernel? Linus acknowledges that he is not sure how much the kernel development model really translates to other projects. Linux has a different approach to maintenance as compared to other projects as well as a unified picture of where it is headed. However other projects can take up two learnings from Linux: Don't break your users: Linus says, this has been a mantra for the kernel for a long time and it's something that a lot of other projects seem to not have learned. If you want your project to flourish long term you shouldn’t let your users worry about upgrades and versions and instead make them aware of the fact that you are a stable platform. Create a common culture: In order to have a long life for a platform/project, you should create a community and have a common culture, a common goal to work together for a long term. Is gaming a platform where open source is going to be relevant? When you take up a new technology, Linus states,  you want to take as much existing infrastructure as possible to make it easy to get to your goals. Linux has obviously been a huge part of that in almost every setting. So the only places where Linux isn't completely taking over are those where there was a very strong established market and code base already. If you do something new, exciting and interesting you will almost inevitably use Linux as the base and that includes new platforms for gaming. What can we expect for Linux for the second thirty years? Will it continue just as today or where do you think we're going? Realistically if you look at what Linux does today, it's not that different from what operating systems did 50-60 years ago. What has changed is the hardware and the use. Linux is right in between those two things. What an operating system fundamentally does is act as a resource manager and as the interface between software and hardware. Linus says, “ I don't know what software and hardware will look like in 30 years but I do know we'll still have an operating system and that will probably be called Linux. I may not be around in 30 years but I will be around in 2021 for the 30 year Linux anniversary.” Go through the full conversation here. Linus Torvalds is sorry for his ‘hurtful behavior’, is taking ‘a break (from the Linux community) to get help’. Linux 5.1 out with Io_uring IO interface, persistent memory, new patching improvements and more! Microsoft is seeking membership to Linux-distros mailing list for early access to security vulnerabilities
Read more
  • 0
  • 0
  • 15724

article-image-glitch-hits-2-5-million-apps-secures-30m-in-funding-and-is-now-available-in-vs-code
Sugandha Lahoti
10 Jul 2019
5 min read
Save for later

Glitch hits 2.5 million apps, secures $30M in funding, and is now available in VS Code

Sugandha Lahoti
10 Jul 2019
5 min read
Glitch, the web apps creating tool, has made a series of major announcements yesterday. Glitch is a tool that lets you code full-stack apps right in the browser, where they’re instantly deployed. Glitch, formerly known as Fog Creek Software, is an online community where people can upload projects and enable others to remix them. Creating web apps with Glitch is as easy as working on Google Docs. The Glitch community reached a milestone by hitting 2.5 million free and open apps, more than the number in Apple's app store. Many apps on Glitch are decidedly smaller, simpler, and quicker to make on average focused on single-use things. Since all apps are open source, others can then remix the projects into their own creations. Glitch raises $30M with a vision of being a healthy, responsible company Glitch has raised $30M in a Series A round funding from a single investor, Tiger Global. The round closed in November 2018, but Anil Dash, CEO of Glitch said he wanted to be able to show people that the company did what it said it would do, before disclosing the funding to the public; the company has grown twice in size since. Glitch is not your usual tech startup. The policies, culture, and creative freedom offered are unique. Their motto is to be a simple tool for creating web apps for people and teams of all skill levels, while fostering a friendly and creative community and a different kind of company aiming to set the standard for thoughtful and ethical practices in tech. The company is on track for building one of the friendliest, most inclusive, and welcoming social platforms on the internet. They’re built with sustainability in mind, are independent, privately held, and transparent and open in business model and processes. https://twitter.com/firefox/status/1148716282696601601 They are building a healthy, responsible company and have shared their inclusion statistics, and benefits like salary transparency, paid climate leave (consists upto 5 consecutive work days taken at employee’s discretion, for extreme weather), full parental leave and more in a public handbook. This handbook is open-sourced so anyone, anytime, anywhere can see how the company runs day to day. Because this handbook is made in Glitch, users can remix it to get their own copy that is customizable. https://twitter.com/Pinboard/status/1148645635173670913 As the community and the company have grown, they have also invested significantly in diversity, inclusion, and tech ethics. On the gender perspective, 47% of the company identifies as cisgender women, 40% identify as cisgender men, 9% identify as non-binary/gender non-conforming/questioning and 4% did not disclose. On the race and ethnicity front, the company is 65% white, 7% Asian, 11% black, 4% Latinx, 11% two or more races and 2% did not disclose. Meanwhile, 29% of the company identifies as queer and 11% of people reported having a disability. Their social platform, Anil notes has no wide-scale abuse, systematic misinformation, or surveillance-based advertising. The company wants to, “prove that a group of people can still create a healthy community, a successful business, and have a meaningful impact on society, all while being ethically sound.” A lot of credit for Glitch and it’s inclusion policies goes to Anil Dash, the CEO. As pointed by Kimberly Bryant, who is the founder of BlackGirlsCode, “'A big reason for Glitch's success and vision though is Anil. This "inclusion mindset" starts at the top and I think that is evidenced by the companies and founders who get it right.” Karla Monterroso, CEO Code2040 says, “It becomes about operationalizing strategy. About creating actual inclusion. About how you intentionally build a diverse team and an org that is just.” https://twitter.com/karlitaliliana/status/1148641017823764480 https://twitter.com/karlitaliliana/status/1148653580842196992   Dash notes, “It’s the entire team working together. Buy-in at every level of the organization, people being brave enough to be vulnerable, all doing the hard work of self-reflection & not being defensive. And knowing we’re only getting started.” Other community members and tech experts have also appreciated Dash’s resilience into building an open source, sustainable, inclusive platform. https://twitter.com/TheSamhita/status/1148706941432225792 https://twitter.com/LeeTomson/status/1148655031308210176   People have also used it for activist purposes and highly recommend it. https://twitter.com/schep_/status/1148654037518168065 Glitch now on VSCode offering real-time code collab Glitch is also available in Visual Studio Code allowing everyone from beginners to experts to code.  Features include real-time collaboration, code rewind, and live previews. This feature is available in preview; users can download the Glitch VS Code extension on the Visual Studio Marketplace. Features include: Rewind: look back through code history, rollback changes, and see files as they were in the past with a diff. Console: Open the console and run commands directly on Glitch container. Logs: See output in logs just like on Glitch. Debugger: make use of the built-in Node debugger to inspect full-stack code. Source: Medium https://twitter.com/horrorcheck/status/1148635444218933250 For now the company is dedicated solely to building out Glitch and release specialized and powerful features for businesses later this year. How do AWS developers manage Web apps? Introducing Voila that turns your Jupyter notebooks to standalone web applications PayPal replaces Flow with TypeScript as their type checker for every new web app
Read more
  • 0
  • 0
  • 15717
article-image-red-programming-language-for-android-development
Pavan Ramchandani
12 Apr 2018
2 min read
Save for later

Red Programming Language for Android development

Pavan Ramchandani
12 Apr 2018
2 min read
Red has been around for a while now and has been extending its purpose from systems programming to various fields like Blockchain, Android development, among others. Recently, Red introduced some modern implementation support for Android programming. The way Red can be used in Android programming is using a specific bridge, that allows the Red code to call the whole Android API in Java. This allows you to write Android applications in Red language without having to write any Java code. Red, in its latest release, has introduced a new and improved Java bridge for Android. Java bridge was first introduced in Red's version 0.3. With this bridge, the Red programs are able to interface Java Virtual Machine through JNI (Java Native Interface). The new Java bridge now replaces the old implementation and is now optimized for efficient bindings of Red programs to the Android API in Java. This optimization greatly improves the performance of the Android application. To explain this, Red has published a short overview of Red/View backend on Android, the source code for which can be found on this GitHub repo. Red his also been working on implementing several features in its v0.7 release. The community has released a short list of features on its site, though all the work on these features is done in a private repository. The private repo will be opened to selected developers soon for testing and fine-tuning. Some of the features that are set to come in the new release are as follows: Full set of Red/View widgets support Draw & Shape dialects full support Compatibility with Android GUI themes Device-independent coordinate system Updated APK building toolchain for targeting API 23+ Android systems Improved ARM backend, support for ARMv7+ Android support Red has also released a roadmap for the upcoming releases which shows that v0.7 is going to be an important milestone for Android development with Red. Apart from the work in Android, Red has been concentrating on the Blockchain-related wave of tasks, Full I/O, among other high-priority milestones. As of now, Red v0.6.4 has been released on the GitHub repository. The community is still considering a 0.6.5 release, to insert a small extra milestone before going into the 0.7 release. Build your first Android app with Kotlin Why are Android developers switching from Java to Kotlin?
Read more
  • 0
  • 0
  • 15696

article-image-gitlab-open-sources-its-web-ide-in-gitlab-10-7
Richa Tripathi
18 Jun 2018
3 min read
Save for later

GitLab open sources its Web IDE in GitLab 10.7

Richa Tripathi
18 Jun 2018
3 min read
GitLab Web IDE, aimed to simplify the workflow of accepting merge requests, is now available in GitLab 10.7, along with other features focused on improving C++ and Go code security and improving Kubernetes integration. The GitLab Web IDE was initially released as a beta in GitLab 10.4 Ultimate. The primary goal of this IDE was to streamline the workflow to contribute small fixes and to resolve merge requests. This allowed developers to contribute without storing their changes and switching to a new branch locally, then back.This could be of particular interest to developers who have a significant number of PRs to review, as well as to developers starting their journey with Git. GitLab Web IDE has the familiar layout of many graphical IDEs, with a left panel showing the files belonging to the project and a middle panel allowing to view and edit their contents. The right panel in GitLab Web IDE is the commit panel, which allows developers to keep track of which files make up the commit, to review changes, edit the commit message, and control whether the commit goes to the master branch or to a new branch, and whether to merge the changes or not. GitLab Web IDE GitLab has made its Web IDE open source with the goal of letting the developer community contribute to its development and improvement. Setting up a local development environment, or needing to stash changes and switch branches locally, can add friction to the development process. Using the Web IDE you can change multiple files, preview Markdown, review the changes and commit directly all from a browser. You can even open the diff from a merge request and get a side by side view of the changes. The latest release of Web IDE comes with performance improvements and the ability to contribute small fixes and resolve merge request feedback. GitLab 10.7 also released SAST for Go and C/C++ Additionally, GitLab 10.7 also extends GitLab Static Application Security Testing (SAST) by adding support for C/C++ and Go. GitLab SAST is a set of security tools aimed to analyze source code to detect known vulnerabilities. In addition to C/C++ and Go, SAST supports Python, Java, and Ruby on Rails. GitLab SAST is somewhat reminiscent of GitHub Security Alerts, which support Ruby and JavaScript, while Python support is in the workings. Another interesting change brought by GitLab 10.7 is Deploy Tokens, which provides support for long-lived read-only authenticated sessions for specific needs, such as when using Kubernetes to orchestrate a bunch of containers in a CI pipeline. Indeed, to flawlessly handle pod restarts and auto scaling, Kubernetes requires ongoing access to the container registry. This was previously available through CI job token, which had the downside of expiring once Kubernetes completed its task. As a workaround, personal access tokens could be used, but this could be undesirable when the access token had to be shared among multiple users. Deploy token provides a solution to both limitations. GitLab 10.7 includes many more new features, such as parametrized CI/CD control flow, project badges, subgroup issues boards, and others. Do not miss the official announcement for full details. The Microsoft-GitHub deal has set into motion an exodus of GitHub projects to GitLab GitLab’s new DevOps solution Microsoft is going to acquire GitHub
Read more
  • 0
  • 0
  • 15614
Modal Close icon
Modal Close icon