Language Selection

English French German Italian Portuguese Spanish


Programming Leftovers

Filed under
  • R Programming in clinical trial data analysis

    In the last few years, Data Science has been fuelling powerful business decisions taken by Industry leaders. Data scientists are story tellers. They often need to dig into Data, clean, transform, build and validate models, understand pattern, generate insights and, most importantly, communicate results effectively.

    In the field of Statistics, Analytics and Visualization, in addition to SAS (Statistical Analysis System), most talked about languages are R and Python. This article highlights the current status, the observed challenges of R, proposed approaches for the risk assessment of R packages, mitigation, and implementation for Clinical Trial Data Analysis.

    So, what is the Need of the Hour? It is of paramount importance that we understand the bigger picture for the Life Sciences Industry.

  • Top 5 programming languages for network admins to learn

    In the first article in this series focusing on the top 5 languages for systems admins, I wrote about not being too fond of programming. To recap, it's not because I don't see the value behind it, because I whole-heartedly do. I mean, creating your own apps to manage client devices and make them do exactly what you want them to do is incredible as far as I'm concerned. My hesitation stems partly from frustration as it's not a natural talent for me and can—at times—take me some time to develop the solution I need.

  • A Hundred Days of Code, Day 015 - Python, Advanced Functions, Done!

    Delving deeper into Python functions and learning more about them, using Reuven Lerner’s Advanced Python Functions Course

  • STX Next, Python development company, uses Spyder to improve their workflow

    STX Next, one of Europe's largest Python development companies, has shared with us how Spyder has been a powerful tool for them when performing data analysis. It is a pleasure for us on the Spyder team to work every day to improve the workflow of developers, scientists, engineers and data analysts. We are very glad to receive and share a STX Next testimonial about Spyder, along with an interview with one of their developers, Michael Wiśniewski, who has found Spyder very useful in his job.

  • Recap of PyCon 2020 Converting to Online

    In early March the final steps of planning, scheduling, ordering, counts, rooming lists, shipping, and signage had just begun for PyCon 2020. Our team was working diligently to pull all the final pieces together when we began to fully realize the impact that could be expected of COVID-19. The new words in planning quickly became stop, wait, change…..what? We went from finalizing the event to evaluating contracts to determining cancellation options and potential losses.


  • Ask an expert: Why is CSS . . . the way it is?



    CSS debuted way back in 1994, when web browsers were a very new, relatively undeveloped technology. People were excited just to see documents that lived on other computers across the world—and not just in plain text, but with headings and lists, too! Adding finer control over presentation was mostly seen as a secondary goal.

  • Unsplash Responds to Image Licensing Concerns, Clarifies Reasons for Hotlinking and Tracking

    Concerns are mounting regarding Unsplash’s terms and image licensing after the site launched its official WordPress plugin this week. Several people commented on the restrictions and lack of clarity in the license.
    “The irony here is that this goes against Unsplash’s own licensing for images,” Aris Stathopoulos commented. “It’s vague and restrictive to the point where one doesn’t even know if they can actually use the images they import.”

  • Sonic-Pi: live-coding music software now on Slackware

    Here is a new program for inclusion into my DAW package collection. It is Sonic-Pi, a ‘code-based music creation and performance tool’ as its web site states. My DAW collection already features Supercollider, which at its core is a powerful audio synthesis engine, but it also features a graphical user interface which you can use for live-coding music. Sonic-Pi has similar capabilities but it is more intuitively accessible (compare it to vi and notepad for instance).

    Therefore Sonic-Pi would be better suited for introducing people to the concept of creating music through writing code, and letting that music evolve during a live performance by updating on-the-fly the code which represents the audio synthesis.


    The software is usually distributed as an ‘appimage’ which simply bundles everything you need into an archive. This is not really Slackware-like, so I wrote a SlackBuild script which brings some order into the directory structure, removing a lot of redundant megabytes and creating a proper package with a nice menu item.

Bison 3.7 released

Filed under

I am very happy to announce the release of Bison 3.7, whose main novelty, contributed by Vincent Imbimbo, is the generation of counterexamples for conflicts.

Read more

PHP 8.0.0 Alpha 3 available for testing

Filed under

The PHP team is pleased to announce the second testing release of PHP 8.0.0, Alpha 3. This continues the PHP 8.0 release cycle, the rough outline of which is specified in the PHP Wiki.

For source downloads of PHP 8.0.0 Alpha 3 please visit the download page.

Please carefully test this version and report any issues found in the bug reporting system.

Read more

Also: PHP 8 alpha 3 released

GCC 10.2 Released

Filed under

The GNU Compiler Collection version 10.2 has been released.

GCC 10.2 is a bug-fix release from the GCC 10 branch
containing important fixes for regressions and serious bugs in
GCC 10.1 with more than 94 bugs fixed since the previous release.

This release is available from the FTP servers listed at:

Please do not contact me directly regarding questions or comments
about this release.  Instead, use the resources available from

As always, a vast number of people contributed to this GCC release
-- far too many to thank them individually!

Read more

Also: GCC 10.2 Compiler Released With Nearly 100 Bug Fixes

GIMP: A List of Free or One-Time Payment Alternatives to Adobe Subscription Programs

Python Programming

Filed under
  • Automate testing for website errors with this Python tool

    As a technical search-engine optimizer, I'm often called in to coordinate website migrations, new site launches, analytics implementations, and other areas that affect sites' online visibility and measurement to limit risk. Many companies generate a substantial portion of monthly recurring revenue from users finding their products and services through search engines. Although search engines have gotten good at handling poorly formatted code, things can still go wrong in development that adversely affects how search engines index and display pages for users.

    I've been part of manual processes attempting to mitigate this risk by reviewing staged changes for search engine optimization (SEO)-breaking problems. My team's findings determine whether the project gets the green light (or not) to launch. But this process is often inefficient, can be applied to only a limited number of pages, and has a high likelihood of human error.


    One website with a complex and novel implementation of React had a mysterious issue with regression of URLs displaying for its origin content-delivery network server. It would intermittently output the origin host instead of the edge host in the site metadata (such as the canonical link element, URLs, and Open Graph links). The problem was found in the raw HTML and the rendered HTML. This impacted search visibility and the quality of shares on social media.

  • Handle Default Values - Building SaaS #65

    In this episode, I updated a model to handle the default duration of new tasks. This default needed to come from the Course model instead of the CourseTask model so we had to determine how best to set that data in various forms. I also fixed some drop down selection bugs that populated a form with the wrong data. We made sure that all the code was well tested.

    I created a new default_task_duration field to the Course model. The field records the number of minutes that will be set when create a new task. We added the field and wrote some model tests to confirm the behavior.

    Then we updated the Course creation and edit forms. To do this, I needed to add the new field to the CourseForm model form and update the template to include the new field. After that, I fixed the POST tests that broke because the required field was missing.

  • PyCharm 2020.2 – Release Candidate

    Good news! PyCharm 2020.2 Release Candidate build is out today!

    After 8 weeks of EAP builds, feedback gathering, and polishing, we are proud to share our release candidate for PyCharm 2020.2. This week’s build brings a couple of bug fixes as we hope to take the release in for a smooth landing. Let us know how we’re doing by getting this version and if you run into any issues please leave us a ticket on YouTrack.

  • Python RegEx

    In this tutorial, you will learn about regular expressions (RegEx), and use Python's re module to work with RegEx (with the help of examples).

  • PSF GSoC students blogs: GSoC Week 8: Where's the problem ?
  • PSF GSoC students blogs: Week 8 blog!
  • PSF GSoC students blogs: Weekly Check In - 7
  • PSF GSoC students blogs: Weekly Check-In #8

Programming: Git, Ruby on Rails, D, Qt, PyCharm, Shell, Build2 and Rust

Filed under
  • Open Source Success: Git

    The Git software control system is widely used by software developers to track changes in source code. Git was created in 2005 by Linus Torvalds for Linux kernel development, and it is now used by developers and distributed teams around the world to contribute to open source projects. In this latest article in our open source success series, we’ll take a brief look at the history of Git and its rise to prominence.


    Within a matter of days, Torvalds had produced the Git revision control system. “Within weeks,” Brown wrote, “it was ready to host Linux kernel development.” Once Git was fully functional, Torvalds turned maintainership over to Junio C. Hamano and returned to Linux development.

  • Ruby on Rails 6.0 Slated For Fedora 33

    Fedora 33 is already set to be one of their largest releases ever and it's only getting bigger.

    Adding to the recent change proposals like DXVK by default for Wine and Stratis 2.1 is another proposal, this time for packaging up Ruby on Rails 6.0.

    Ruby on Rails 6.0 was recently released with parallel testing support, Action Text and Action Mailbox, Webpacker by default, and other changes as outlined in the release notes. There are also a whole lot of fixes with Ruby on Rails 6.0.

  • The feature that makes D my favorite programming language

    Back in 2017, I wrote about why the D programming language is a great choice for development. But there is one outstanding feature in D I didn't expand enough on: the Universal Function Call Syntax (UFCS). UFCS is a syntactic sugar in D that enables chaining any regular function on a type (string, number, boolean, etc.) like its member function of that type.

    If you don't already have D installed, install a D compiler so you can run the D code in this article yourself.

  • My file menu is not full of eels [Ed: MacOS being a pain]

    This is the story of a bug in an open-source project I maintain; as the maintainer I review and sometimes fix bug reports from the community. Last week, a user reported that the ‘File’ menu of the application was not appearing on macOS. Some investigation showed this didn’t happen when using the default translation (i.e English), but a bit more investigation showed that it only happened when the language in use was Dutch.

    At this point I’d like to make it clear that I like the Dutch and especially gevulde koeken, a type of almond cookie you can only get in the Netherlands. When passing through Amsterdam Schiphol, I take care to stock up at the supermarket on the main concourse. If you’re passing through Schiphol and wonder why they’ve been cleaned out of cookies, it was me.

    Anyway, it was weird that the menu code I had written seemed to dislike the Dutch. Actually, as part of investigating the defect, I needed to switch my system language to Dutch. So I just did that for a week, and got to learn most of the macOS UI in Dutch. Lekker!

  • A grizzle about captive data

    A co-worker gave me some data for checking. The client had sent it in a RAR file. Inside the RAR was a Microsoft Access database. Inside the Access database was a single Access table, and inside the Access table was the data.

    I don't know why the client did that matryoshka-style data packing, but I know that many people don't understand that software is not data. 

  • Release: PyCharm 2020.1.4

    You can update PyCharm by choosing Help | Check for Updates (or PyCharm | Check for Updates on macOS) in the IDE. PyCharm will be able to patch itself to the new version, there should no longer be a need to run the full installer.
    If you’re on Ubuntu 16.04 or later, or any other Linux distribution that supports snap, you should not need to upgrade manually, you’ll automatically receive the new version.

  • Build2 v0.13 Released As C/C++ Build Toolchain Inspired By Rust's Cargo

    Version 0.13 of the Build2 build toolchain is now available, the open-source project inspired by the Rust programming language's Cargo system but instead tooled for C/C++ while serving not only as the build system but also a package and project manager.

    Build2 v0.13 now makes use of SPDX for the default license name, better handling of the library installation directory on UNIX-like systems, improved handling for project-specific configurations, ad-hoc recipes, support for package downloads via proxies, and other changes.

  • This Week in Rust 348

Python Programming

Filed under
  • Python Packages: Five Real Python Favorites

    Python has a vast ecosystem of packages, modules, and libraries that you can use to create your application. Some of these packages and modules are included with your Python installation and are collectively known as the standard library.

    The standard library consists of modules that provide standardized solutions to common programming problems. They’re great building blocks for applications across many disciplines. However, many developers prefer to use alternative packages, or extensions, that may improve on the usability and usefulness of what’s in the standard library.

    In this tutorial, you’ll meet some of the authors at Real Python and learn about packages they like to use in place of more common packages in the standard library.

  • Deep Learning Models in Keras - Exploratory Data Analysis (EDA)

    Deep learning is one of the most interesting and promising areas of artificial intelligence (AI) and machine learning currently. With great advances in technology and algorithms in recent years, deep learning has opened the door to a new era of AI applications.

    In many of these applications, deep learning algorithms performed equal to human experts and sometimes surpassed them.

    Python has become the go-to language for Machine Learning and many of the most popular and powerful deep learning libraries and frameworks like TensorFlow, Keras, and PyTorch are built in Python.

    In this article, we'll be performing Exploratory Data Analysis (EDA) on a dataset before Data Preprocessing and finally, building a Deep Learning Model in Keras and evaluating it.

  • Glyph Lefkowitz: I Want A New Duck

    Mypy is a static type checker for Python. If you’re not already familiar, you should check it out; it’s rapidly becoming a standard for Python projects. All the cool kids are doing it. With Mypy, you get all the benefits of high-level dynamic typing for rapid experimentation, and all the benefits of rigorous type checking to complement your tests and improve reliability.1 The best of both worlds!

  • A Hundred Days of Code, Day 013, Day 14 - Python, Advanced Data Structures, Done!
  • PSF GSoC students blogs: Weekly Blog Post #4

LLVM 10.0.1 and Compiling Linux

Filed under
  • LLVM 10.0.1 Finally Ready As Latest Stable Compiler Version

    LLVM 10.0 released back in March and today marks the first point release finally shipping. Normally they try to be a bit more punctual in shipping the seldom point releases to LLVM but today marks LLVM 10.0.1 finally being available, just over one month out from the planned LLVM 11.0 debut.

    LLVM 11 was recently branched and is currently working towards a planned release at the end of August. But if you are planning on sticking to the LLVM 10 stable series for a while or just want the latest bug fixes immediately, LLVM 10.0.1 is out as likely the only point release of the series.

  • LLVM Clang Should Be Able To Build Linux 5.9 x86 32-bit Kernels

    With LLVM Clang 9 and Linux 5.3 the mainline kernel can be built following a years-long effort to be able to build the mainline Linux x86_64 kernel with Clang rather than GCC, which followed the AArch64 efforts in a similar achievement. Now with Linux 5.9 coming later this year, the i386 / 32-bit x86 mainline kernel will also now be capable of building under Clang.

    While most distribution vendors are phasing out 32-bit support except for the likes of select libraries needed by the likes of Steam or different printer software and other isolated use-cases running in an x86_64 environment, with the Linux 5.9 cycle it's set to be the first where mainline LLVM Clang can build the mainline Linux kernel for 32-bit x86 targets.

KDE and Python GSoC Reports

Filed under
  • Improve MAVLink Integration of Kirogi – Progress Report 2

    This is my second progress report about GSoC 2020 project.

  • [Krita] Week 7: GSoC Project Report

    This week I completed unit-tests for interactions between storyboard docker and timeline docker. Also now thumbnails will only be updated when the image is idle, meaning if the image is not painted upon for some time, say a sec, the thumbnail will update. This will improve performance when using the canvas. I also wrote some functions that would help when implementing updating of affected thumbnails.

  • PSF GSoC students blogs: Weekly Blog Post | Gsoc'2020 | #8

    This week was full of learning. Like seriously I learnt a lot this week specially because I got stuck on something which took me while to figure out.

Programming/Development: GCC, JVM, CMake, XML and More

Filed under

  • Arm Backporting SLS Vulnerability Mitigation To Existing GCC Releases

    Back in June when Arm disclosed their Straight Line Speculation (SLS) vulnerability affecting their modern ARM processor designs there wasn't a whole lot of attention. It seems SLS is serious enough that Arm is working on bringing their compiler-based mitigations to existing GCC releases beyond it already being in the current development code.

    This vulnerability can lead to ARMv8 CPUs speculatively executing instructions following a change in control flow. Mitigating SLS is currently done via compilers with inserting speculation barrier (SB) instructions around vulnerable instructions.

  • Eclipse OpenJ9 v0.21 Released With Many Fixes, Big Performance Improvements For AArch64

    A new version of the Eclipse OpenJ9 JVM implementation was released last week with many fixes and other improvements over its prior release.

    OpenJ9 continues advancing as an alternative Java Virtual Machine that is performing fairly well and with a robust community. OpenJ9 v0.21 continues to be offered with binaries built for OpenJDK versions 8, 11, and 14. OpenJ9 0.21 not only brings many bug fixes but also has a variety of performance improvements. On the performance front, their AArch64 JIT compiler is expected to deliver significant throughput improvements of at least +20% on various applications. There is also performance work to make OpenJ9 behave more appropriately when running within containers.

  • New features in CMake 3.18

    On 15th of July Kitware has released CMake version 3.18. The release notes contain the list of changes.

    Below you have some changes that should improve the life of a Qt developer using CMake.

  • Excellent Free Tutorials to Learn XML

    XML is a set of rules for defining semantic tags that describe the structure and meaning of a document.

    The user of XML chooses the names and placement of the tags to convey the nature of the data stored in a document. XML can be used to markup any data file to make it easier to understand and process.

    In addition, it has been applied to many special domains of data: mathematics, music, vector graphics, the spoken word, financial data, chemical symbols, and web pages among others.

    Here’s our recommended free tutorials to help you master XML. If you need more in-depth material, try our recommended free XML books.

  • A comparison of 6 top programming languages

    Developers have numerous programming languages to choose from, so much so that it can be overwhelming. Choosing the right -- or wrong -- language can make the difference between a software project's success and its failure.

    While many programming languages may seem similar, no two languages behave the same way. Developers and architects need to look closely at the strengths and weaknesses of each option, including the tools, libraries and support behind those languages.


    Python is an object-oriented programming (OOP) language commonly used for web app development, scientific research, machine learning and FinTech. It's renowned for its easy code readability, access to well-documented libraries and large user community. Also, its repeatable code and automation capabilities promote simplified build processes. Its standout feature is the glue code it uses for server-side scripting, which helps strengthen communication between front-end and back-end components.

    However, because it is an interpretive language, the conversion from source code to bytecode can create lag for compile times, system calls and kernel requests. And even though it runs on every major OS and domain, it is not the best choice for mobile apps right out of the box. Keep in mind, though, it is possible to find tool and library updates that can improve its mobile capabilities.

Syndicate content

More in Tux Machines

libinput 1.16.0

libinput 1.16.0 is now available.

No significant changes since the second RC, so here's slightly polished RC1
announcement text.

This has been a long cycle, mostly because there weren't any huge changes on
the main development branch and a lot of the minor annoyances have found
their way into the 1.15.x releases anyway.

libinput now monitors timestamps of the events vs the current time when
libinput_dispatch() is called by the compositor. Where the difference
*may* result in issues, a (rate-limited) warning is printed to the log.
So you may see messages popping up in the form of
  "event processing lagging behind by XYZms, your system is too slow"
This is a warning only and has no immediate effect. Previously we would only
notice (and warn about) this when it affected an internal timer. Note that
these warnings do not show an issue with libinput, it shows that the the
compositor is not calling libinput_dispatch() quick enough.

The wheel tilt axis source was deprecated. No device ever had the required
udev properties set so we should stop pretending we support this.

Touchpads now support the "flat" acceleration profile. The default remains
unchanged and this needs to be selected in the configuration interface. The
"flat" profile applies a constant factor to movement deltas (1.0 for the
default speed setting).

Events from lid or tablet-mode switches that are known to libinput as being
unreliable are now filtered and no longer passed to the caller.
This prevents callers from receiving those known-bogus events and having to
replicate the same heuristics to identify unreliable devices that libinput
employs internally.

A new "libinput analyze" debugging tool is the entry tool for analysing
various aspects of devices. Right now the only tool is
"libinput analyze per-slot-delta" which can be used to detect pointer jumps
in a libiput record output. This tool used to live elsewhere, it was moved
to libinput so that reporters can easier run this tool, reducing the load on
the maintainers.

The tools have seen a few minor improvements, e.g.
- "libinput record touchpad.yml" does the right thing, no explicit --output
  argument required
- libinput measure touchpad-pressure has been revamped to be a bit more
- libinput measure touchpad-size has been added (as replacement for the
  touchpad-edge-detector tool)
- libinput measure fuzz has been fixed to work (again and) slightly more

The libinput test suite has been fixed to avoid interference with the
currently running session. Previously it was virtually impossible to work
while the test suite is running - multiple windows would pop up, the screen
would blank regularly, etc.

And of course a collection of fixes, quirks and new bugs.

As usual, see the git shortlog for details.

Diego Abad A (1):
      FIX: typo on building documentation

Peter Hutterer (2):
      test: semi-fix the switch_suspend_with_touchpad test
      libinput 1.16.0

git tag: 1.16.0
Read more Also: >Libinput 1.16 Released - Ready To Warn You If Your System Is Too Slow

18 Frameworks, Libraries, and Projects for Building Medical Applications

Open-source is not just a license or a code-based that left free on an online repository, It's a complete concept which comes with several advantages. Moreover, the most advantage you can get from Open-source is beyond the open-code it's FREEDOM; freedom to use or re-shape it as you see fit within your project commercial or otherwise, and that depends on the license of course. You are free from the headache of license conflict legal problems but also from the dilemma of dealing with restrections and limitations which come with property licenses. You are free from the system lock-in schemes, furthermore, you own your data, and freedom to customize the software as your structure requires and workflow demands. The Community: The Open-source project gains a powerful community as they gain users, the community users vary between advanced users, end-users, developers and end-users on decision-making level. Many of the community users are providing quality inputs from their usage and customized use-case and workflow or test-runs, Furthermore, they always have something to add as new features, UI modification, different usability setup, and overall introducing new workflows and tools, and That's what makes the progress of the open-source different than non-free solutions. While, Good community means good support, The community is a good resource to hire advanced users, developers, and system experts. It also provides alternative options when hiring developers. Unlike non-free software which are not blessed with such communities and where the options there are limited, The rich open-source community provides rich questions and answers sets that contributed by users from all around the world. Higher education value for the in-house team The open-source concept itself provides educational value, I owe most of what I know to open-source communities.The access to the source code and open-channels communication with the core developers is the best educational value any developer can get. Read more

Android Leftovers

Python Programming