Language Selection

English French German Italian Portuguese Spanish


Programming: GNU Mailutils, Perl, AOMP, RInside and State of Java Report

Filed under
  • GNU Mailutils Version 3.9

    Version 3.9 of GNU mailutils is available for download.
    This is a bug-fix release. Please see the NEWS file entry for a detailed list of changes.

  • KBOS methods

    After scopes, types and signatures we got all the prerequisites to talk about the syntax and semantics of KBOS methods. Unless you want to contribute to Kephra or write a plugin, you may never use them, but please join me in the thought experiment - maybe we get a littler smarter.

    General Rules of Syntax

    KBOS is outspokenly declerative. The keyword class starts a class, attribute an attribute definition and you could even guess what method name (...) {....} stands for. In front of method may appear several combinable keywords. Lets call them method modifier for now, because Raku does that too. If one of them is present, writing method is optional.

  • What's new on CPAN - February 2020

    Welcome to “What’s new on CPAN”, a curated look at last month’s new CPAN uploads for your reading and programming pleasure. Enjoy!

  • AMD AOMP 0.7-7 Released For Radeon OpenMP Offloading

    Announced at the end of last year was Radeon Open Compute 3.0 with the new "AOMP" compiler. Today a new version of AOMP has been released for OpenMP offloading support to AMD Radeon GPUs.

    AOMP is the newest of several downstreams of LLVM/Clang maintained by AMD. AOMP tracks upstream LLVM / Clang but with changes for supporting OpenMP API offloading support to Radeon GPUs as part of the ROCm driver stack. While focused on Radeon OpenMP support, AMD does leave the HIP / CUDA / OpenCL support within the AOMP Clang build.

  • Dirk Eddelbuettel: RInside 0.2.16

    A new release 0.2.16 of RInside arrived on CRAN and in Debian today. This comes almost exactly one year after the previous release 0.2.15. RInside provides a set of convenience classes which facilitate embedding of R inside of C++ applications and programs, using the classes and functions provided by Rcpp.

    This release brings one new feature, contributed by Lance Bachmeier (with some additional post-processing by me). It adds the ability to embed and call R from C programs and applications. The interface is more limited as we do not get Rcpp for automagic conversion. But this offers the door to a number of applications supporting plain C interface, and the new examples directory for example shows one for ruby. We may add others.

  • New Relic – the State of Java Report

    New Relic has released a new JVM report based on an analysis of data reported by customer JVMs running in production across the globe. Unlike other self-reported surveys, the data produced here is from JVMs that are running in production. As would be expected, the resulting data set consists of New Relic customers, but it paints a picture of what is being used in production as opposed to what developers are working and testing against.

    In particular, the report highlights that the majority of JVMs that are running in production are doing so with LTS releases of Java; and only a fraction over 11% are running on Java 11. The majority of JVMs (over 85%) are running on Java 8, with Java 7 following behind with a few percent. Non-LTS releases are responsible for just over 1% of reported machines running. In addition, the report highlights that JVM users are often slow to upgrade in production; there are more versions of Java running before 7 than on either 9 or 10 (which are both EOL) or 12 and 13 (which are both EOL or about to become EOL). The report also highlights that a number of JVMs are running on outdated versions of Java 8, some of which are known to have security vulnerabilities.

Programming With Python

Filed under
  • Thinking psycopg3

    Psycopg is the database adapter used by most Python programs needing to work with the PostgreSQL database manager. In this blog post, psycopg maintainer Daniele Varrazzo looks forward to the next major version.

  • PyData COVID-19 Response

    The safety and well-being of our community are extremely important to us. We have therefore decided to postpone all PyData conferences scheduled to take place until the end of June:
    PyData Miami
    PyData London
    PyData Amsterdam

  • Encapsulation in Python

    Encapsulation is an essential aspect of Object Oriented Programming.

    Let’s explain encapsulation in plain words: information hiding. This means delimiting of the internal interface and attribute from the external world.

    The benefit of information hiding is reducing system complexity and increasing robustness.

    Why? Because encapsulation limits the interdependencies of different software components. Suppose we create a module. Our users could only interact with us through public APIs; they don’t care about the internals of this module. Even when the details of internals implementation changed, the user’s code doesn’t need a corresponding change.

    To implement encapsulation, we need to learn how to define and use private attribute and a private function.

  • Functional strategies in Python

    I got into a debate about Python’s support for functional programming (FP) with a friend. One of the challenging parts was listening to him say, “Python is broken” a number of times.

    Python is not broken. It’s just not a great language for writing pure functional programs. Python seemed broken to my friend in exactly the same way that a hammer seems broken to someone trying to turn a screw with it.

    I understand his frustration. Once you have fully embraced the FP mindset, it is difficult to understand why people would write programs any other way.

    I have not fully embraced the FP mindset. But that doesn’t mean that I can’t apply some FP lessons to my Python programs.

    In discussions about how FP and Python relate, I think too much attention is paid to the tactics. For example, some people say, “no need for map/­filter/­lambda, use list comprehensions.” Not only does this put off FP people because they’re being told to abandon the tools they are used to, but it gives the impression that list com­pre­hensions are somehow at odds with FP constructs, or are exact replacements.

  • How to use shared in-browser consoles to cooperate while working remotely.

    One of the challenges of remote work is when you need to work together on one thing.

    Our in-browser consoles are one of the core features of our service. Almost since the beginning, PythonAnywhere has been able to share consoles -- you entered the name of another user or an email address, and they got an email telling them how to log in and view your Python (or Bash, or IPython) console. If you use an email, the person you invite doesn't have to be PythonAnywhere registered user.

  • Python Vs JavaScript: Which One Should You Use For A Project?

    Are you confused which web app development technology is the right fit for you: JavaScript or Python? Do you want to know the real difference between these two most popular tools for web development? You have landed at the right place. In this blog, we will talk about various pros and cons of choosing these two languages as well as JavaScript vs Python performance and JavaScript vs Python speed and learning curve. In addition, we will compare these two languages on various parameters. So, let’s start:

[llvm-dev] [10.0.0 Release] Release Candidate 4 is here

Filed under

Hello everyone,

Release Candidate 4 was tagged earlier today as llvmorg-10.0.0-rc4 on
the release branch at b406eab8880. It contains 12 commits since the
previous release candidate.

If no new problems arise, this is what the final release will look like.

Source code and docs are available at and

Pre-built binaries will be added as they become ready.

Please file bug reports for any issues you find as blockers of

Release testers, please run the test script, share your results, and
upload binaries.


Read more

Also: LLVM 10.0 RC4 Released Due To Last Minute Fixes

Programming: JavaScript, PHP, Debuggers, Python

Filed under
  • 50 Frequently Asked JavaScript Interview Questions and Answers [2020]

    JavaScript has proved itself as a versatile and scalable scripting language all over time. It is one of the most popular scripting languages in the web development industry. It offers more reliability; it is easy to run and execute. It opens up special opportunities for developers. This is the reason why millions of developers (almost 94 percent of all websites are made of JavaScript) tend to use this language.

    An entry-level developer with basic knowledge of JavaScript can earn $70-80,000 per year. JavaScript can be really a blessing for your career, and long time work skills in this language can make you one of the highest-paid employees of the year. Hence, no wonder why you should look for Jobs that offer a position as JavaScript developers. You might be a rookie or a professional, to get yourself on board, it is important to be ready for the JavaScript Interview Questions as well.

  • "rpminfo" php extension
  • Possible issues with debugging and inspecting compiler-optimized binaries

    Developers think of their programs as a serial sequence of operations running as written in the original source code. However, program source code is just a specification for computations. The compiler analyzes the source code and determines if changes to the specified operations will yield the same visible results but be more efficient. It will eliminate operations that are ultimately not visible, and rearrange operations to extract more parallelism and hide latency. These differences between the original program’s source code and the optimized binary that actually runs might be visible when inspecting the execution of the optimized binary via tools like GDB and SystemTap.


    The binary code for a particular line of source code might be removed by the compiler because it has no effect on the later results. This removal might happen when the compiler data and control flow analysis for the function determines that while the code on the line is on a control flow path that could be executed, the values computed are never used. The debugging information that maps the instructions back to source code would have no entries for those eliminated lines. GDB and SystemTap would not be able to inspect the state of the program at those exact source code lines because they no longer exist in the binary.

  • PyCharm 2020.1 EAP 7

    We have a new Early Access Program (EAP) version of PyCharm that can now be downloaded from our website

    This EAP has a lot of important bug fixes, some new features, and a few usability improvements. All of which makes PyCharm that much better to work with.

  • Moshe Zadka: Or else:

    The underappreciated else keyword in Python has three distinct uses.

10+ Best Python IDEs for Linux

Filed under

Python programming language is applied in so many areas of computer technology, i.e., Scripting, GUI development, Website development, Artificial Intelligence (AI), Machine Learning, Data Science, Computer Networking, and Network Automation, and Cyber Security.

We have many integrated development environment Python IDEs’ in the market today. All have different qualities and features. For example, some specifically run on Linux systems. Others are Windows-based, while others are cross-platform and can run on both Operating Systems. In this post, we are going to look at Python IDEs’ for Linux systems.

Read more

Redily a modern, fully featured Redis Client

Filed under

Software developer Stefano Arnone is currently in the process of creating a modern, fully featured Redis Client, which he has made available via Kickstarter, to raise the funds needed to help develop the software. Some of the features and improvements Arnone wants to add include:

– Monitoring tools
– Lazy key value loading
– Local unix socket connections
– Keyboard shortcuts
– Real-time key sorting
– Support for streams
– Support for binary strings
– Bulk operations on keys
– Improving the tree-view
– Improving the overall design of the app
– Improving the website especially the documentation section

Read more

Also: Excellent Free Tutorials to Learn SQL

GCC 9.3 Released

Filed under

The GNU Compiler Collection version 9.3 has been released.

GCC 9.3 is a bug-fix release from the GCC 9 branch
containing important fixes for regressions and serious bugs in
GCC 9.2 with more than 157 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 9.3 Compiler Released With Over 150 Bug Fixes

Python: Django, EuroPython 2020, PyCon 2020 and More

Filed under
  • New governance model for the Django project

    For some time now, a proposal to change the governance of the Django open-source project has been under discussion and refinement. It was written up as a Django Enhancement Proposal (DEP), and numbered as DEP 10.

    Changing the governance of the Django project is not something to do lightly, and not something that could be done lightly. It required the agreement of the Django core team, the Django Technical Board, and the Board of Directors of the Django Software Foundation. All of those groups have now held their deliberations, and voted to accept DEP 10.

    In the coming weeks, implementation of DEP 10 will start in earnest, but today it's worth giving a quick summary of what's changing and why. For the full details you can also read the DEP (though keep in mind it's a governance document that tries to be as precise as possible and cover a lot of potential edge cases, and so is a bit long-winded and dry).

  • EuroPython 2020 and COVID-19

    As you probably already know, the Coronavirus is spreading throughout Europe and we wanted to give you an update on our current plans around on the situation.
    We will update this blog post as new information becomes available.

  • March 12 Update on COVID-19

    With a month until PyCon US 2020’s scheduled start, the #EuroPython 2020 and #COVID19 : "As you probably already know, the Coronavirus is spreading throughout Europe and we wanted to give you an update on our current plans around on the situation."

    Software Foundation Board and Staff are working through our options for PyCon US 2020, and will keep you updated as decisions are made.

    In the meantime, remember that PyCon US will refund any tickets with no questions asked. You do not need to commit to travel to PyCon US at this point in time if you do not want to.

  • Quansight Labs Blog: uarray: GSoC Participation

    I'm pleased to announce that uarray is participating in GSoC '20 as a sub-organization under the umbrella of the Python Software Foundation. Our ideas page is up here, go take a look and see if you (or someone you know) is interested in participating, either as a student or as a mentor.

  • Progress bars with Rich

    If you haven't seen my earlier posts on the subject, Rich is a terminal rendering framework for Python. It lets you render styled text and a whole bunch of other things (markdown, syntax, tables, tracebacks, etc.) to the terminal.

    This latest addition to the lib renders progress bars with additional information such as percentage completed, time remaining, data transfer speed etc. It's highly configurable, so you can customize it to show whatever information you like. And since it's implemented as a Rich renderable, you can easily add color and formatting.

Programming Leftovers

Filed under
  • Botond Ballo: Trip Report: C++ Standards Meeting in Prague, February 2020

    A few weeks ago I attended a meeting of the ISO C++ Standards Committee (also known as WG21) in Prague, Czech Republic. This was the first committee meeting in 2020; you can find my reports on 2019’s meetings here (November 2019, Belfast), here (July 2019, Cologne), and here (February 2019, Kona), and previous ones linked from those. These reports, particularly the Belfast one, provide useful context for this post.

    This meeting once again broke attendance records, with about ~250 people present. It also broke the record for the number of national standards bodies being physically represented at a meeting, with reps from Austria and Israel joining us for the first time.

    The Prague meeting wrapped up the C++20 standardization cycle as far as technical work is concerned. The highest-priority work item for all relevant subgroups was to continue addressing any remaining comments on the C++20 Committee Draft, a feature-complete C++20 draft that was circulated for feedback in July 2019 and received several hundred comments from national standards bodies (“NB comments”). Many comments had been addressed already at the previous meeting in Belfast, and the committee dealt with the remaining ones at this meeting.

    The next step procedurally is for the committee to put out a revised draft called the Draft International Standard (DIS) which includes the resolutions of any NB comments. This draft, which was approved at the end of the meeting, is a technically complete draft of C++20. It will undergo a further ballot by the national bodies, which is widely expected to pass, and the official standard revision will be published by the end of the year. That will make C++20 the third standard revision to ship on time as per the committee’s 3-year release schedule.

    I’m happy to report that once again, no major features were pulled from C++20 as part of the comment resolution process, so C++20 will go ahead and ship with all the major features (including modules, concepts, coroutines, and library goodies like ranges, date handling and text formatting) that were present in the Committee Draft. Thanks to this complement of important and long-anticipated features, C++20 is widely viewed by the community as the language’s most significant release since C++11.

  • The costs of continuous integration

    By most accounts, the (fd.o) GitLab instance has been a roaring success; lots of projects are using it, including Mesa, Linux kernel graphics drivers, NetworkManager, PipeWire, and many others. In addition, a great deal of continuous-integration (CI) testing is being done on a variety of projects under the fd.o umbrella. That success has come at a price, however. A recent message from the X.Org Foundation, which merged with fd.o in 2019, has made it clear that the current situation is untenable from a financial perspective. Given its current resources, X.Org cannot continue covering those costs beyond another few months.

  • Dirk Eddelbuettel: AsioHeaders 1.12.2-1

    An updated minor version of the AsioHeaders package arrived on CRAN today. Asio provides a cross-platform C++ library for network and low-level I/O programming. It is also included in Boost – but requires linking when used as part of Boost. This standalone version of Asio is a header-only C++ library which can be used without linking (just like our BH package with parts of Boost).

    This release corresponds to a minor upstream update, and is only the second update ever. It may help overcome one santizer warning which David Hall brought to my attention. We tested this version against all reverse depends (which was easy enough as there are only three).The NEWS entry follows.

  • Python time-zone handling

    Handling time zones is a pretty messy affair overall, but language runtimes may have even bigger problems. As a recent discussion on the Python discussion forum shows, there are considerations beyond those that an operating system or distribution needs to handle. Adding support for the IANA time zone database to the Python standard library, which would allow using names like "America/Mazatlan" to designate time zones, is more complicated than one might think—especially for a language trying to support multiple platforms.

    It may come as a surprise to some that Python has no support in the standard library for getting time-zone information from the IANA database (also known as the Olson database after its founder). The datetime module in the standard library has the idea of a "time zone" but populating an instance from the database is typically done using one of two modules from the Python Package Index (PyPI): pytz or dateutil. Paul Ganssle is the maintainer of dateutil and a contributor to datetime; he has put out a draft Python Enhancement Proposal (PEP) to add IANA database support as a new standard library module.

    Ganssle gave a presentation at the 2019 Python Language Summit about the problem. On February 25, he posted a draft of PEP 615 ("Support for the IANA Time Zone Database in the Standard Library"). The original posted version of the PEP can be found in the PEPs GitHub repository. The datetime.tzinfo abstract base class provides ways "to implement arbitrarily complex time zone rules", but he has observed that users want to work with three time-zone types: fixed offsets from UTC, the system time zone, and IANA time zones. The standard library supports the first type with datetime.timezone objects, and the second to a certain extent, but does not support IANA time zones at all.

  • Anaconda Individual Edition 2020.02: New Name, Exciting Features

    We are pleased to announce the release of Anaconda Individual Edition (formerly Anaconda Distribution) 2020.02! There are some exciting new features in this release, but first we’ll touch on the name change. Recently, we added a new product to our suite, Anaconda Team Edition, for package management at the enterprise level. We also have Anaconda Enterprise Edition, a full-featured machine learning platform. With these products, it seemed like the natural thing to do to change the name of Anaconda Distribution to Anaconda Individual Edition, to reflect that Anaconda Distribution has always been designed and optimized for individual use.

Python Programming Leftovers

Filed under
  • Wing Tips: Goto-Definition From the Interactive Shells in Wing Pro

    In this Wing Tip we'll take a quick look at a lesser-known but often useful feature in Wing Pro: Jumping from symbols in the integrated shells to their point of definition in source code. This makes it a snap to bridge from runtime symbols to the source code where they are actually defined and used.

  • Using the Python defaultdict Type for Handling Missing Keys

    A common problem that you can face when working with Python dictionaries is to try to access or modify keys that don’t exist in the dictionary. This will raise a KeyError and break up your code execution. To handle these kinds of situations, the standard library provides the Python defaultdict type, a dictionary-like class that’s available for you in collections.

    The Python defaultdict type behaves almost exactly like a regular Python dictionary, but if you try to access or modify a missing key, then defaultdict will automatically create the key and generate a default value for it. This makes defaultdict a valuable option for handling missing keys in dictionaries.

  • Private Methods in Python

    Let me preface this article by emphasizing that understanding object-oriented programming (OOP) is crucial if you want to learn Python.

    One aspect of OOP is to learn how to define and use private methods.

    In this article, I will teach you how to create private methods, when to use them, and why they are necessary.

  • Planned architectural work for PyData/Sparse

    A lot of behind the scenes work has been taking place on PyData/Sparse. Not so much in terms of code, more in terms of research and community/team building. I've more-or-less decided to use the structure and the research behind the Tensor Algebra Compiler, the work of Fredrik Kjolstad and his collaborators at MIT.

Syndicate content

More in Tux Machines

Android Leftovers

New Manjaro Linux ARM 20.04 Released For Single Board Computers

With the successful shipment of Manjaro Linux ARM to Pinebook Pro, the Manjaro ARM team has released a new ARM v20.4 for single board computers. The latest version is a successor to the previous ARM 20.02 with major system changes. Manjaro ARM is an Arch and Manjaro Linux-based small distribution by a developer team from Manjaro Linux. The ARM edition is a dedicated operating system for devices using ARM architecture-based processors. Read more

today's howtos

Events: openSUSE, LibreOffice, Curl and GNOME SCaLE 18x

  • Highlights of YaST Development Sprint 96

    While many activities around the world slow down due to the COVID-19 crisis, we are proud to say the YaST development keeps going at full speed. To prove that, we bring you another report about what the YaST Team has been working on during the last couple of weeks. The releases of openSUSE Leap 15.2 and SUSE Linux Enterprise 15 SP2 are approaching. That implies we invest quite some time fixing bugs found by the testers.

  • Indonesian LibreOffice community: Online translation marathon

    Communities around the world help to translate and localise LibreOffice in over 100 languages. We really appreciate their efforts!

  • Update on openSUSE + LibreOffice Conference

    Organizers of the openSUSE + LibreOffice Conference had a meeting this week to discuss various topics surrounding COVID19 and how it may affect the conference and planning for it. At this point, it is uncertain what restrictions governments may keep in place in the coming months. While October is some months away, there are many aspects we are considering as to how to run the openSUSE + LibreOffice Conference. Travel restrictions, flights, hotel and venue availability, event capacity and our community members’ ability to attend the conference are all factors we are considering. We hope to make a decision about the conference at the latest by mid-June.

  • Daniel Stenberg: The curl roadmap 2020 video

    On March 26th 2020, I did a live webinar where I talked about my roadmap visions of what to work on in curl during 2020.

  • Molly de Blanc: SCaLE 18x

    The GNOME presence was felt throughout the conference with a special GNOME Beers and pre-release party on the first day of the conference, Thursday, March 5th. GNOME information flyers were also included inside every attendee bag. This presence carried on to our booth where we were able to connect with GNOME community members, contributors, and enthusiasts as well as tote our merchandise, including a brand new GNOME t-shirt, and stickers. Thank you to the number of supporters who assisted us at the booth including Foundation staff, Melissa Wu, Caroline Henriksen, Neil McGovern, and Rosanna Yuen, along with Foundation members Matthias Clasen, Sriram Ramkrishna, and Nuritzi Sanchez.