Language Selection

English French German Italian Portuguese Spanish


Programming: QtCoAP and NeuroFedora

Filed under
  • Introducing QtCoAP

    CoAP was designed as a lightweight machine-to-machine (M2M) communication protocol that can run on devices with scarce memory and computing resources. It is based on the concept of RESTful APIs and is very similar to HTTP. CoAP has a client-server architecture and uses GET, POST, PUT and DELETE requests for interaction with the data. But unlike HTTP, it uses the lightweight UDP for the transport instead of TCP. Additionally, it supports some interesting features like multicast requests, resource discovery and observation.

    Thanks to the low overhead and simplicity, CoAP  has become one of the popular IoT protocols to be used on the embedded devices. It acts as a sort of HTTP for the embedded world.

  • QtCoAP Added To Qt 5.13 To Increase Its Relevance For Internet of Things

    The Qt5 tool-kit continues entrenching into new areas for The Qt Company and one of those areas is IoT deployments. With Qt 5.13, a new "QtCoAP" component is being introduced in supporting a protocol designed for the Internet of Things. 

  • Keeping software in NeuroFedora up to date

    Given the large number of software updates we published recently, we thought this is a good chance to explain how the NeuroFedora team (and the Fedora package maintainers team in general) stays on top of all of this software that is constantly being updated and improved.

Programming: KDE, GNOME, JavaScript, Python, C++ and More

Filed under
  • KDE Craft Packager on macOS

    On macOS, MacDMGPackager is the packager used by Craft. The MacDylibBundleris used in MacDMGPackager to handle the dependencies.

    In this article, I’ll give a brief introduction of the two classes and the improvement which I’ve done for my GSoC project.

  • Christian Hergert: Sysprof Developments

    This week I spent a little time fixing up a number of integration points with Sysprof and our tooling.

    The libsysprof-capture-3.a static library is now licensed under the BSD 2-clause plus patent to make things easier to consume from all sorts of libraries and applications.

  • Node.js Vs Angular – An in-depth comparison

    Over the past few years, JavaScript has evolved from being just a simple client-side scripting language into an incredibly powerful programming language. In this article, we’ll compare the two most popular JavaScripts – Node.js & Angular.js – to discover the main differences between them.

  • Book Review: Practical Python and OpenCV
  • Next C++ workshop: MSTs and Graph Implementations, 6 June at 18:00 UTC

    Learn C++ features with the help of LibreOffice developers! We’re running regular workshops which focus on a specific topic, and are accompanied by a real-time IRC meeting. For the next one, the topic is MSTs and Graph Implementations.

  • Examples of blameless culture outside of DevOps

    A blameless culture is not a new concept in the technology industry. In fact, in 2012, John Allspaw wrote about how Etsy uses blameless postmortems to dive to the heart of problems when they arise. Other technology giants, like Google, have also worked hard to implement a blameless culture. But what is a blameless culture? Is it just a matter of postmortems? Does it take a culture change to make blameless a reality? And what about flagrant misconduct?


    Obviously, when you find a bug, you need to understand what broke, where, and who did it. But don't stop there. Attempt to fix the issue. The chances are high that patching the code will be a faster resolution than trying to figure out which code to back out. Too many times, I have seen people try to back out code only to find that they broke something else.

  • Why hypothesis-driven development is key to DevOps

    Before we get into hypothesis-driven development, let's quickly review how we deliver value using waterfall, agile, deployment rings, and feature flags.

    In the days of waterfall, we had predictable and process-driven delivery. However, we only delivered value towards the end of the development lifecycle, often failing late as the solution drifted from the original requirements, or our killer features were outdated by the time we finally shipped.

Programming: Bzip2, KDE/Qt GSoC, Python, PyCharm and Apple's Crackdown on Scripting Languages

Filed under
  • Bzip2 repository reconstructed

    I have just done a git push --force-with-lease to bzip2's master branch, which means that if you had a previous clone of this repository, you'll have to re-fetch it and rebase any changes you may have on top.

    I apologize for the inconvenience!

    But I have a good excuse: Julian Seward pointed me to a repository at sourceware where Mark Wielaard reconstructed a commit history for bzip2, based on the historical tarballs starting from bzip2-0.1. Bzip2 was never maintained under revision control, so the reconstructed repository should be used mostly for historical reference (go look for bzip2.exe in the initial commit!).

  • Revamping the Titler Tool – GSoC ’19

    Hi! I’m Akhil K G and for this year’s GSoC I aim to rewrite the titler tool completely.

  • How to Implement a Python Stack

    Have you heard of stacks and wondered what they are? Do you have the general idea but are wondering how to implement a Python stack? You’ve come to the right place!

  • Episode #133: Github sponsors - The model open source has been waiting for? [Ed: Microsoft trying to control finances of its competition.]
  • PyCharm 2019.2 EAP 2

    Do you like to stay up to date with the newest PyCharm features? Then grab the fresh new PyCharm EAP build from our website.

  • PyCharm 2019.1.3

    PyCharm 2019.1.3 is now available, and fixes a couple of issues that we’ve identified in PyCharm 2019.1

  • While Loop, Break & Continue - Python Programming

    Looping is one of the most important core concepts when learning to program. I often see a lot of people get confused with looping. So let us quickly have a look at how loops work. There are various types of loops like the while, do while and for loops. However, we will only focus on the While loop in this article. We will learn about the other loops later in this series.

  • Scripting Languages to Be Removed

    This is a big deal in terms of philosophy; Apple once touted the built-in Unix tool suite as a Mac advantage. And it also means lots of practical changes; installers and AppleScripts can no longer lean on other scripting languages.

Programming: CodeReady Workspaces 1.2, Gthree, Qt 5.13.0 RC, Rust and Python

Filed under

Programming Leftovers

Filed under
  • Building A Business On Serverless Technology - Episode 214

    Serverless computing is a recent category of cloud service that provides new options for how we build and deploy applications. In this episode Raghu Murthy, founder of DataCoral, explains how he has built his entire business on these platforms. He explains how he approaches system architecture in a serverless world, the challenges that it introduces for local development and continuous integration, and how the landscape has grown and matured in recent years. If you are wondering how to incorporate serverless platforms in your projects then this is definitely worth your time to listen to.

  • Swift Kick In The UI | Coder Radio 360
  • They say a python tuple can't contain itself...
  • Sentiment Analysis with TextBlob and Python
  • Evangelizing Python for Business

    On May 30th, I had the pleasure of presenting at the MinneAnalytics Data Tech Conference with @KatieKodes. Our talk was on “Evangelizing Python for Business”.

  • Why this developer wrote a music player in C++

    Recently I was listening to some newly purchased music downloads on my System76 Gazelle laptop through my Schiit Fulla 2 DAC, thinking how wonderful the music sounded and how much I enjoy using my favorite open source music players.

    I started wondering about what motivates the developers who create and maintain these excellent pieces of software, so I decided to reach out to a few of them. I've had some great conversations, which I'll share on But first, a bit of background on how I developed such an appreciation for open source music players, including Guayadeque, created by Juan Ríos and my first "serious" open source music player.

Programming: Qt Design Studio 1.2, Python and More

Filed under
  • Qt Design Studio 1.2 released

    Qt Design Studio is a UI design and development tool that enables designers and developers to rapidly prototype and develop complex UIs. Both designers and developers use Qt Design Studio and this makes collaboration between the two a lot simpler and more streamlined. To get an impression, you should watch this video.

  • Qt Design Studio 1.2 Released With Sketch Integration, Complex Gradients

    The Qt Company has released Qt Design Studio 1.2, the newest version of their commercial-focused software package aimed at both designers and developers for rapidly prototyping user-interfaces.

    Qt Design Studio 1.2 remains committed to offering an optimal workflow for prototyping and developing complex UIs powered by Qt. With Qt Design Studio 1.2 there is a Qt Bridge for Sketch, allowing you to import assets created in the popular Sketch program to open seamlessly within the Qt Design Studio. Qt Design Studio 1.2 also adds support for more complex gradients and fixes other bugs and issues.

  • Object-Oriented Programming in Python vs Java

    Java programmers making a move to Python often struggle with Python’s approach to object-oriented programming (OOP). The approach to working with objects, variable types, and other language capabilities taken by Python vs Java are quite different. It can make switching between both languages very confusing.

    This article compares and contrasts object-oriented programming support in Python vs Java. By the end, you’ll be able to apply your knowledge of object-oriented programming to Python, understand how to reinterpret your understanding of Java objects to Python, and use objects in a Pythonic way.

  • Anaconda Recognized as a May 2019 Gartner Peer Insights Customers’ Choice for Data Science and Machine Learning Platforms

    The Anaconda team is excited to announce that we have been recognized as a May 2019 Gartner Peer Insights Customers’ Choice for Data Science and Machine Learning Platforms.

  • Pablo Galindo Salgado: The Night's Watch is Fixing the CIs in the Darkness for You

    Python is tested on a menagerie of “buildbot” machines with different OSes and architectures, to ensure all Python users have the same experience on all platforms. As Pablo Galindo Salgado told the Language Summit, the bugs revealed by multi-platform tests are “Lovecraftian horrors”: race conditions, bugs specific to particular architectures or compiler versions, and so on. The core team had to confront these horrors with few good weapons, until now.

  • Python Language Summit Lightning Talks, Part 1

    The Python standard library, Lehtosalo said, contains the modules that most programmers use by default, so it should be fast. The main optimization technique has historically been to write C extensions. So far, 90 standard library modules are partly or entirely written in C, often for the sake of speed, totaling 200,000 lines of C code in the standard library. But C is hard to write and error prone, and requires specialized skills. “C is kind of becoming a dinosaur,” he said, provoking laughter from the core developers.

    As an alternative, Lehtosalo proposes “writing C extensions in Python.” The mypyc compiler reads PEP 484 annotated type-checked Python, and transforms it into C extension modules that run between 2 and 20 times faster than pure Python. Some of Python’s more dynamic features such as monkeypatching are prohibited, and other features are not yet supported, but the project is improving rapidly.

  • Registration (and early-bird pricing) is open for Weekly Python Exercise
  • Predicting Customer Ad Clicks via Machine Learning

    Internet marketing has taken over traditional marketing strategies in the recent past. Companies prefer to advertise their products on websites and social media platforms. However, targeting the right audience is still a challenge in online marketing. Spending millions to display the advertisement to the audience that is not likely to buy your products can be costly.

  • Accuracy: from classification to clustering evaluation

Programming: Rust, Python, C++/Pictie and HowTos

Filed under

Programming: Python, ThoughtWorks and More

Filed under
  • The challenges in designing a library for PEP 425 (aka wheel tags)

    If you have ever looked at a project that has a lot of wheels (like numpy), you may have wondered what the part that comes after the project name and version mean. Well, they are known as platform compatibility tags and they are primarily defined in PEP 425. For someone like me whose personal projects are all written in pure Python, I never really paid much thought to what those tags meant since the wheel tags for my projects are all py3-none-any (you will find out what that means later in this post). So what led me from not caring to learning as much as I could about wheel tags and what did I learn along the way?

  • Refactoring whizz: Good software shouldn't cost the earth – it's actually cheaper to build

    ThoughtWorks chief scientist Martin Fowler has written about the curious inverse relationship between quality and cost in the field of software development.

    The user cannot distinguish between good or bad internal design simply by observing the user interface or the features, he observed. This means that poor-quality software appears more productive in the early stages, since functionality is delivered more quickly. In just a few weeks, though, this changes.

    "Progress is rapid initially, but as time goes on it gets harder to add new features," he writes on his personal website. "Even small changes require programmers to understand large areas of code, code that's difficult to understand. When they make changes, unexpected breakages occur, leading to long test times and defects that need to be fixed."

  • TDK-Micronas partners with Quansight to sponsor Spyder
  • Undervalued Software Engineering Skills: Writing Well

    It is with a larger organisation that writing becomes important for messages to reach a wider group of people. For software engineers, writing becomes the tool to reach, converse with and influence engineers and teams outside their immediate peers. Writing becomes essential to make thoughts, tradeoffs and decisions durable. Writing things down makes these thoughts available for a wide range of people to read. Things that should be made durable can include proposals and decisions, coding guidelines, best practices, learnings, runbooks, debugging guides, postmortems. Even code reviews.

  • Using Data Validation for Robust APIs

    Over the past few years, I worked on two types of API projects. Some implemented proper data validation, and the others did not. Believe me: it was a huge difference!
    I mostly worked on HTTP APIs and backends, and validating the body of a POST/PUT/PATCH is a common step.

    Unexpected input handling is quite a challenge when implementing an API. You need to validate that the input is a well-formed JSON/XML/... (easy) and then you have to ensure that the fields are reasoned: no missing mandatory field, correct type, reasonable values, ...

  • What Is Server Side Rendering? Is It Still Useful?

5 Best Self-hosted GitHub Alternatives

Filed under

GitHub may be the most popular computer code hosting service for version control using Git, which is a distributed version control system for tracking changes in source code during software development created by Linus Torvalds in 2005, but it’s not the only option available—not by a long shot.Ever since Microsoft acquired GitHub in October 2018 for $7.5 billion, there has been a surge in demand for self-hosted GitHub alternatives. Fortunately, there are quite a few open source projects that allow developers to easily track code changes and coordinate the development of projects both large and small.

In this article, we bring you an overview of 5 best self-hosted GitHub alternatives to help you reclaim control of your own code and perhaps gain access to useful features you didn’t even know existed. After all, why would you trust someone else with your code when you can host it yourself?

Read more

Syndicate content

More in Tux Machines

Android Leftovers

Stable kernels 5.1.10, 4.19.51, and 4.14.126

  • Linux 5.1.10
    I'm announcing the release of the 5.1.10 kernel. All users of the 5.1 kernel series must upgrade. The updated 5.1.y git tree can be found at: git:// linux-5.1.y and can be browsed at the normal git web browser:
  • Linux 4.19.51
  • Linux 4.14.126

Android Leftovers

My personal journey from MIT to GPL

As I got started writing open source software, I generally preferred the MIT license. I actually made fun of the “copyleft” GPL licenses, on the grounds that they are less free. I still hold this opinion today: the GPL license is less free than the MIT license - but today, I believe this in a good way.


I don’t plan on relicensing my historical projects, but my new projects have used the GPL family of licenses for a while now. I think you should seriously consider it as well.

Read more