Language Selection

English French German Italian Portuguese Spanish


Software: Gping and Git 2.14

Filed under
  • Gping is like regular ping, but with a graph

    The ping command is a useful way to troubleshooting network issues — but its output does look a little dull by default. Enter Gping, a cross-platform ping tool that prints a pretty graph inside the terminal.

  • [ANNOUNCE] Git v2.14.0

    The latest feature release Git v2.14.0 is now available at the usual places. It is comprised of 727 non-merge commits since v2.13.0, contributed by 66 people, 18 of which are new faces.

  • Git 2.14 Released

    Git 2.14 is now available as the latest feature update to this widely-used, open-source revision control system.

    Git 2.14 introduces support for building against PCRE v2, git diff now uses the "indent" heuristics by default, git status improvements, there's now the concept of a "repository" object as Git developers work towards making it easier to work in multiple repositories, Windows/Cygwin improvements, minor performance improvements, and many bug fixes.

Development: Drupal, Liferay, SilverStripe, VirtualBox 5.2 Beta 1, and HHVM 3.21

Filed under
  • August Open Source CMS Forecast: Drupal, Liferay, SilverStripe

    With summer reaching its peak (or winter, for those in the southern hemisphere), open source CMS vendors are keeping their cool by continuing to tweak their products and engage with their communities.

    In July, we heard news from Enonic, Liferay, Jahia and Magnolia about new websites, Slack channels and even an office gaming app.

    Let's take a look what August holds for the open source CMS space.

  • VirtualBox 5.2 Beta 1 released

    Please do NOT use this VirtualBox Beta release on production machines. A VirtualBox Beta release should be considered a bleeding-edge release meant for early evaluation and testing purposes.

  • Oracle Pushes VirtualBox 5.2 Into Public Beta

    Oracle has pushed into public beta their first snapshot of the upcoming VirtualBox 5.2 virtualization software.

    VirtualBox 5.2 is considered a minor update over the existing VirtualBox 5. New features of VirtualBox 5.2 Beta 1 include allowing virtual machines to be exported to the Oracle Cloud, support for unattended guest installations, and overhauling the VM selector user-interface.

  • HHVM 3.21

    HHVM 3.21 is released! As this is an LTS release, it will be supported until HHVM 3.27, expected in 48 weeks. This release improves PHP7 compatibility, and adds several new features. Packages have been published in the usual places; see the installation instructions for more information.

  • HHVM 3.21 Released With Better PHP7 Compatibility, Sodium Support

    Facebook developers have released HHVM 3.21 as their alternate PHP implementation that also powers their Hack programming language. HHVM 3.21 is a long-term support release that will make it maintained for nearly one year.

Ubuntu and Debian Development Reports

Filed under

Development: Node.js Talks, Qt 5.10 Schedule, C++11 and Rust

Filed under
  • What is Node.js? The JavaScript runtime explained

    Scalability, latency, and throughput are key performance indicators for web servers. Keeping the latency low and the throughput high while scaling up and out is not easy. Node.js is a JavaScript runtime environment that achieves low latency and high throughput by taking a “non-blocking” approach to serving requests. In other words, Node.js wastes no time or resources on waiting for I/O requests to return.

    Let me explain…

    In the traditional approach to creating web servers, for each incoming request or connection the server spawns a new thread of execution or even forks a new process to handle the request and send a response. Conceptually, this makes perfect sense, but in practice it incurs a great deal of overhead.

  • Use case benchmarking drives open-source Node.js forward

    The success of open-source communities like Node.js — a JavaScript runtime based on Chrome’s V8 engine — is completely dependent on contributions from a rich pool of organizations working toward the common goal of building a robust development framework.

    Michael Dawson (pictured), digital transformation leader at IBM, is responsible for Big Blue’s contributions to the Node.JS source code. He explained his level of involvement within the community, including his role leading a Node benchmarking workgroup.

  • Intel helps open-source developers discover the power of Node.js

    Node.js, however, compared with other scripting languages brings the whole platform into the mix. Beyond the CPU, it also requires networking power and a degree of storage. Intel has been investing a lot into making the whole platform shine with optimized Node.js, Ene-Pietrosanu stated. It has also made its efforts available to the open-source community.

  • Qt 5.10 schedule etc

    Kindly reminder: According to schedule we should have Qt 5.10 feature freeze after a week, see So it is time to do remaining finalizations to 5.10 new features now and focus to bug fixing after that. Please fill new features page now as well (; it seems to be quite empty at the moment.

  • Qt 5.10 Will Be Going Into Feature Freeze Soon

    Feature development on the Qt 5.10 tool-kit will soon be coming to an end.

    Qt developers are planning to issue the feature freeze in about one week's time at which point they will be getting out a binary snapshot out, starting the soft branching, and then getting a hard branch of the code after that. If all goes according to plan, the Qt 5.10 Alpha should be out on 31 August while a beta release is expected for 10 October. If all goes well and it's not like past Qt5 releases with delays, Qt 5.10 would then be officially released on 30 November.

  • Big day in poppler-land

    Thanks to C++11 now we have an implementation with move semantics that greatly simplifies the use of Object and will hopefully make for less memory management mistakes.

  • Learning Rust

    I'm obviously not spending much time writing here. It's been a rather busy month at work, and I've been doing other things on the weekend that aren't particularly interesting to write about.

    This past week, though, I took advantage of our semi-annual Hack Week to finally learn Rust. I have several co-workers who love the language and have been wanting to stretch my programming language knowledge a bit. I was also profoundly disappointed by Go, which has been touted as the new C-style systems language but which I think is awful. All the reasons why is a topic for another post, but the obnoxiously verbose error handling is probably my biggest complaint. (This is the worst property of C; why would you copy it?) Rust was a favorite of a few people who felt the same way I did about Go, which seemed promising.

Programming: Web Development Trends, Types, Prolog, and OpenGL 4.6

Filed under
  • Web Development Trends 2017

    JavaScript has been rising since 2016 and its rapid growth allows developers to work on chatbots, virtual reality and many other trending things.

    The language grammar and efficiency of writing the apps were improved and overall, JS is now the most popular language among full stack developers.

    Check out our article about most popular JavaScript projects on GitHub.

  • A quick guide to types in functional programming

    Functional programming is taking off, but there appears to be some misunderstanding about the theoretical background of its types. Many programmers incorrectly name types and create confusion around simple ideas. To clarify, let's look at the differences between union, tagged unions, and algebraic data types.

  • Grasp Prolog Programming with Free Books

    Prolog is a general purpose, declarative, logic programming language, often associated with artificial intelligence, computational linguistics, intelligent database retrieval, and problem solving. It’s widely used in research and education for natural language processing.

    Automatic backtracking is one of the most characteristic features of Prolog. It’s a form of searching, fundamental to all artificial intelligence techniques. Prolog also supports multi-directional reasoning; arguments to a procedure can freely be designated inputs and outputs in different ways in different procedure calls. This is a powerful theorem-proving technique. Another key feature of Prolog is that its syntax and semantics are closer to formal logic than say Lisp.

  • OpenGL 4.6 Released With Vulkan/SPIR-V Ingestion, Parallel Shader Compiles & Finally AF

    As we have been anticipating for weeks/months, a new formal update to OpenGL has been in the works and it's officially out today. Meet OpenGL 4.6! This is a pretty significant update and internally they had the debate whether to call it OpenGL 5.0, but here we are with OpenGL 4.6 that features Vulkan/SPIR-V extensions and more. The good news is the open-source Mesa drivers aren't too far out from OpenGL 4.6 support, at least RadeonSI and Intel.

Programming: JavaScript, Haskell, Metaphors, ActiveRuby/ActiveState

Filed under
  • JavaScript explodes on the server side with the growth of Node.js

    Not so long ago, the idea that JavaScript could become an important server-side language would've sounded downright silly. Thanks to Node.js, JavaScript has become a vital language not just for web development, but for Platform-as-a-Service (PaaS) such as Cloud Foundry. In fact, according to the Stack Overflow 2017 Developer Survey of 64,000 programmers, Node.js is the most popular of all developer frameworks.

    According to Mark Hinkle, executive director of the Node.js Foundation, a branch of The Linux Foundation, "With more than 8 million Node.js instances online, three in four users are planning to increase their use of Node.js in the next 12 months."


    Node.js, for those who don't know it, is a JavaScript runtime built on Chrome's V8 JavaScript engine. It uses an event-driven, non-blocking I/O model to be both lightweight and efficient for server side applications. Npm, its package ecosystem, is one of the largest open-source libraries collections in the world.

  • How is coinduction the dual of induction?

    Earlier today, I demonstrated how to work with coinduction in the theorem provers Isabelle, Coq and Agda, with a very simple example. This reminded me of a discussion I had in Karlsruhe with my then colleague Denis Lohner: If coinduction is the dual of induction, why do the induction principles look so different? I like what we observed there, so I’d like to share this.

    The following is mostly based on my naive understanding of coinduction based on what I observe in the implementation in Isabelle. I am sure that a different, more categorial presentation of datatypes (as initial resp. terminal objects in some category of algebras) makes the duality more obvious, but that does not necessarily help the working Isabelle user who wants to make sense of coninduction.

  • Metaphors We Compute By

    Programmers must be able to tell a story with their code, explaining how they solved a particular problem. Like writers, programmers must know their metaphors. Many metaphors will be able to explain a concept, but you must have enough skill to choose the right one that's able to convey your ideas to future programmers who will read the code.

    Thus, you cannot use every metaphor you know. You must master the art of metaphor selection, of meaning amplification. You must know when to add and when to subtract. You will learn to revise and rewrite code as a writer does. Once there's nothing else to add or remove, you have finished your work. The problem you started with is now the solution. Is that the meaning you intended to convey in the first place?

  • ActiveRuby polishes up gems, precompiled jewels sparkle
  • ActiveState Releases Beta Commercial Distribution for Ruby, Bridging Gap Between ‘Innovation Market’ and Established Enterprises

Development: CPython, Node.js, Java, LLVM, GitHub and More

Filed under
  • Rationalizing Python's APIs

    CPython is the reference implementation of Python, so it is, unsurprisingly, the target for various language-extension modules. But the API and ABI it provides to those extensions ends up limiting what alternative Python implementations—and even CPython itself—can do, since those interfaces must continue to be supported. Beyond that, though, the interfaces are not clearly delineated, so changes can unexpectedly affect extensions that have come to depend on them. A recent thread on the python-ideas mailing list looks at how to clean that situation up.

    On July 11, Victor Stinner floated a draft of an as yet unnumbered Python Enhancement Proposal (PEP) entitled "Hide implementation details in the C API". The idea is to remove CPython implementation choices from the API so that different experimental choices can be made while still supporting the C-based extensions (NumPy and SciPy in particular). As he noted, other attempts to provide an alternate Python implementation (e.g. PyPy), which are typically created to enhance the language's performance, have largely run aground because they cannot directly support these all-important extensions.

  • Ideas versus implementation

    A short sub-thread on the python-ideas mailing list provides some "food for thought" about the purpose and scope of that list, but also some things to perhaps be considered more widely. When discussing new features and ideas, it is common for the conversation to be somewhat hypothetical, but honing in on something that could be implemented takes a fair amount of work for those participating. If the feature is proposed and championed by someone who has no intention of actually implementing it, should the thread come with some kind of warning?

    The thread in question started in mid-June with a query from Thomas Güttler about why the socket module returns plain tuples rather than named tuples. The reception to the idea was mostly positive and there were some discussions of how it might be done; Guido van Rossum indicated that he would be favorable to the change as well. But, apparently Güttler was not actually planning to implement the change, as he currently does not have the time to do so.

  • Tired: Java. Desired: Node.js. Retired: The suggestion a JavaScript runtime is bonkers

    As the Node Summit got underway in San Francisco on Wednesday, Charles Beeler, general partner at Rally Ventures, said the Node community has come a long way since 2012, when everyone was talking about Node.js and no one was using it.

    Initially released in 2009, the JavaScript runtime environment now has enough users and momentum that the nonprofit Node.js Foundation feels comfortable claiming that "Node.js is emerging as a universal development framework for digital transformation with a broad diversity of applications."

  • [llvm-dev] [5.0.0 Release] Release Candidate 1 tagged

    5.0.0-rc1 has just been tagged.

  • LLVM 5.0-RC1 Up For Testing

    Following the LLVM 5 branching earlier this week, release manager Hans Wennborg has now tagged the first release candidate.

  • Software Development as mathematician in academia – everyone bites the dust

    Is it possible to do software development, mathematical or not, as mathematician in academics? This is a question I was asking myself recently a lot, seeing my own development from logician at a state university getting rid of foreigners to software developer. And then, a friend pointed me to this very depressing document: The origins of SageMath by William Stein, the main developer of SageMath. And I realized that it seems to be a global phenomenon that mathematicians who are interested in software development have to leave academics. What a sad affair.


    My assumption was that this hits only on non-tenured staff, the academic precariat. It is shocking to see that even William Stein with a tenure position is leaving academics.

  • Qualcomm's neural network SDK made free for all comers [Ed: Proprietary still. Free as in "lockin".]/

    TensorFlow is also name-checked in the announcement, and since the SDK's page also mentions convolutional neural network support, Vulture South reckons Cuda ConvaNet (part of last year's announcement) is also in there somewhere.

  • GitHub wants more new contributors, because that's what GitHub is for

    GitHub has added a chunk of features it says will help new users and projects build better communities.

    Singing the “teamwork” song, the organisation says the features announced here are about making it easier to contribute to projects.

    For project maintainers, new contributors will show a “first time contributor badge” attached to their pull requests. That will become a “contributor” badge when the PR is merged, and there's an additional flag to help maintainers “separate signal from noise” during flamewars (politely described by GitHub as “lengthy or heated discussions”).

Programming: Boost, Zend Studio, Package Management in JavaScript, and Top Programming Languages

Filed under
  • Boost Is Planning A Move To CMake

    The Boost C++ libraries is planning for a new build system, but they aren't going for Meson that's been the recent trend among open-source projects.

  • Rogue Wave Software's Zend Studio

    The quick pitch for Rogue Wave Software's Zend Studio, recently updated to version 13.6, is "the PHP IDE for smarter development". Zend Studio 13.6, says Rogue Wave, offers 3X faster performance in indexing, validation and searching of PHP code, and it allows users to code faster, debug more easily and leverage the massive performance gains in PHP 7. It is the next-generation PHP IDE designed to create high-quality PHP apps while boosting developer productivity. The platform automatically scales according to the DPI settings of the underlying operating system and supports HiDPI monitors.

  • Untangling Package Management in JavaScript Applications

    If a JavaScript developer was frozen in 2005 and miraculously thawed in our present world of 2017, the thing that would likely amaze them is the massive proliferation of JavaScript packages. The video below gives us a fascinating visual representation of the package explosion over time.

  • Top Programming Languages 2017: Focus on Jobs

    While the default IEEE Spectrum ranking in the Top Programming Languages interactive gives a good aggregate signal of language popularity, here we are taking a deep dive into the metrics related to job demand. Two of our data sources, Dice and CareerBuilder, measure job openings for the languages included in the interactive, and consequently we have a preset for “Jobs” that weighs the rankings heavily toward those metrics. So, if you want to build up your tech chops before looking for a programming job, what languages should you focus on?


    This article wouldn’t be complete without mentioning some of the losers in the programming language jobs calculus. Once a dominant Web programming language, Ruby is still used widely but it is slipping; the number of job openings for Ruby shrank by a full third since 2016, to about 1,600. We aren’t the first to report the slump in popularity of Ruby, and it’s far from dead, but this will be one to keep an eye on in the future as coders may already be shifting to alternatives like Python and Go. Demand for other languages like Clojure, Haskell, and Visual Basic is also on the wane. When we started the rankings in 2014, ActionScript still clocked 87 job openings, but in 2017 it continues the downward spiral, with only 20 openings, and it’s unlikely to make the Top Programming Languages at all next year. RIP, ActionScript.

GSoC/KDE Developments

Filed under
  • Fifth Blog Gsoc 2017

    The last month was not easy. Some things had to be re-written because they were not very well written. For example, I wrote a system of “sensors”, the logic of which was laid in the destructors of objects. This is a non-obvious logic of work, it had to be rewritten.

  • Polkit Support in KIO - Progess so far

    In this post I intend to report the whereabouts of my project. First of all me not posting any updates about my project was due to two problems that showed up when I was two weeks into the coding period. One, which I had anticipated, was to decide from where to show a warning dialog during the brief period of time when privileges are elevated. The problem was that showing the prompt from KIO::Slave resulted in repetition and to show it from KIO::JobUiDelegate permissions of destination folder was needed beforehand which required additional computation. So for this I decided to add a signal in KIO::Slave and all the necessary code for additional prompts in KIO::Job. This way the KIO slave emits the signal whenever it encounters ACCESS DENIED error and then job decides whether or not to show the prompt. The other problem was to figure out how to modify files created by a privileged process by an underprivileged one. By the way the latter was completely uncalled-for and it took me around two weeks to decide on a solution. To send data between processes I tried every possible IPC mechanism involving shared memory, pipes and sockets. At last I decided on sharing file descriptor between the privileged and under-privileged process and to accomplish that I used Unix local domain sockets.

  • Preview: Multi-Cursor support in the Kate Text Editor

    It allows you to have an arbitrary amount of cursors and selections in KTextEditor. They all mirror what you do with the primary one — text input, text removal, navigation, text selection, …

Programming Languages Ladder, Benchmarks of PHP

Filed under
  • Q. What's today's top language? A. Python... no, wait, Java... no, C

    Among developers, Python is the most popular programming language, followed by C, Java, C++, and JavaScript; among employers, Java is the most sought after, followed by C, Python, C++, and JavaScript.

    Or so says the 2017 IEEE Spectrum ranking, published this week.

    IEEE Spectrum, a publication of the The Institute of Electrical and Electronics Engineers, a technical advocacy organization, says it evaluated 12 metrics from 10 sources to arrive at this conclusion.

  • Benchmarks Of PHP 7.2 Beta: PHP Is Still Getting Faster

    PHP 7.2 Beta 1 was released yesterday as the next step towards this next refinement to PHP7 that is expected to be officially released in November. I couldn't help but to run some initial benchmarks.

    PHP 7.2 Beta 1 presents the Sodium extension for modern and easy-to-use cryptography, opcache improvements, better JSON decoding of invalid UTF-8 data, and many bug fixes among other improvements since PHP 7.1. The latest release and more details can be found via

Syndicate content

More in Tux Machines

10 Reasons Why I Switched To Telegram Messenger

Whatsapp may be the best player in the game when it comes to instant messaging apps, but Telegram Messenger is the entire game itself. Read

How To Install Wine And Run Windows Apps In Linux

​All kinds of software are currently available on Linux but every now and then, there is that Windows software or Game which is not available or has no equivalent on Linux Wine makes it possible to run those Windows programs and Games on your Linux desktop. So let’s look at how to install Wine on Linux and run Windows apps on Linux desktop. Read

OSS Leftovers

Today in Techrights