Language Selection

English French German Italian Portuguese Spanish

Development

Programming: Persepolis, Microsoft EEE, Apache Subversion 1.10.2, SPAKE2 In Golang, AMD AOCC 1.2.1

Filed under
Development
  • Persepolis Download Manager: Impressive Python frontend for aria2

    Persepolis Download Manager is a handy open source download manager written in Python and PyQt. It’s a graphical frontend for aria2 aiming to make downloads both easier and faster.

    This software project commenced development in 2015 with the first release in July 2016. While it was initially only a simple graphical user interface, the software has seen some pretty hefty development since then with a whole raft of additional functionality added, improvements to the user interface, and cross-platform support.

  • Microsoft Visual Studio Code replumbed for better Python taming [Ed: Embrace and extend. Microsoft is trying to push developers of FOSS over to their proprietary IDE that puts spying inside compiled code.]
  • What’s new in Apache Subversion 1.10.2?

    I couldn’t believe if you are unaware of the Apache Subversion. It is an Enterprise-class centralized version control founded in 2000 by CollabNet Inc. One of the most successful opensource project in past many years. Mostly all the opensource projects and enterprise source code are on subversion. It has the rich community of developers and users who are continuously improving subversion.

  • SPAKE2 In Golang: Journey to Cryptoland begins

    Before I can go to detail I should tell why/how I came to implementing SPAKE2 in Golang. Story starts a couple of month back when I started contributing to *magic-wormhole.rs*, a Rust port of original Python project of magic-wormhole. You can read this LWN article to understand more about what magic-wormhole is.

    During contribution my friend Ramakrishnan Muthukrishnan said to me that I should try to port the magic-wormhole to Golang. I was not a expert Go programmer but had understanding of language basics and thought why not use it to improve my language understanding. And this is where it all started.

  • AMD AOCC 1.2.1 Compiler Flings Flang Fixes

    AMD released a minor update to their AMD Optimizing C/C++ Compiler.

    AOCC is the company's downstream of LLVM/Clang with optimizations for their Zen CPU microarchitecture with compiler optimizations/improvements before they work their way into upstream LLVM. AOCC is the replacement for AMD's Open64 compiler used years ago with earlier micro-architectures.

What Build System Should Qt 6 Use?

Filed under
Development
KDE

While developers have begun discussing plans for Qt 6.0 with plans to ship this upgraded tool-kit in 2020, one of the unanswered questions is over what build system should Qt 6 be using.

Up to now there's been a lot of pointing at Qbs as the new build system for Qt6. Qbs dates back to the Nokia days but has been seeing a number of improvements in recent times under the assumption it could replace Qmake as the default build system of Qt6. Qbs is designed to be easier to use than Qmake, which goes back to the original Trolltech days, while having the potential to be more powerful and offer much more flexibility.

Without voicing a preference as to the Qt 6 build system, Intel open-source developer Thiago Macieira and a longtime upstream Qt developer, has shared what he feels should be some requirements of whatever build system is selected.

Read more

Also: I'm going to Akademy

A Fresh Look At The PGO Performance With GCC 8

Filed under
Development
GNU

It's been a while since we last ran some GCC PGO benchmarks, the Profile Guided Optimizations or feedback-directed optimization technique that makes use of profiling data at run-time to improve performance of re-compiled binaries. Here are some fresh benchmarks of GCC PGO impact on a Xeon Scalable server while using the newly-released GCC 8.2 release candidate.

With it being a while since our last roundabout with GCC PGO benchmarking and also a reader recently inquiring about PTS PGO testing, I ran some new tests. For those not familiar with PGO, it basically involves first compiling the code with the relevant PGO/profiling flags, running the workload under test to generate the profiling data, and then re-compiling the software while feeding that profiling data into the compiler so it can make better optimization choices. This profile-guided feedback can be quite beneficial to the compiler for making wiser code generation choices based upon that run-time data. Firefox, Chrome, and other popular software packages have been relying upon PGO-optimized release binaries for a while to offer greater performance.

Read more

Also: A 3.3x Performance Improvement For FLAC Audio Encoding On POWER 64-bit

Qt Creator 4.7.0

Filed under
Development
KDE
  • Qt Creator 4.7.0 released

    We are happy to announce the release of Qt Creator 4.7.0!

  • Qt Creator 4.7 Released With Clang Code Model Turned On By Default

    The Qt Company has officially released Qt Creator 4.7 as the newest feature release to this open-source, cross-platform Qt/C++ focused integrated development environment.

    Today's Qt Creator 4.7 IDE release is quite significant in that it finally turns on the Clang code model by default. The Clang code model provides significantly better C++ support over what was offered by their in-house code model and will stay better up-to-date with newer C/C++ standards, etc. The Clang code model in Qt Creator 4.7 is based on LLVM/Clang 6.0.

A Proposal To Allow Python Scripting Within The GCC Compiler, Replacing AWK

Filed under
Development
GNU

A SUSE developer is seeking feedback and interest on the possibility of allowing a scripting language -- most likely Python -- to be used within the GCC compiler code-base. This would primarily be used for replacing existing AWK scripts.

GCC developer Martin Liška at SUSE is seeking comments on the possibility of adding Python as an accepted language within the GCC code-base. This isn't anything along the likes of replacing existing GCC C compiler code into a scripting language or anything to that effect, but is targeting at replacing current AWK scripts that are hard to maintain.

Read more

Ballerina reinvents cloud-native programming

Filed under
Development

Ballerina has been inspired by Java, Go, C, C++, Rust, Haskell, Kotlin, Dart, TypeScript, JavaScript, Swift, and other languages. It is an open source project, distributed under the Apache 2.0 license, and you can find its source code in the project's GitHub repository.

Read more

Belated Thoughts on van Rossum’s Departure

Filed under
Development
  • Is BDFL a death sentence?

    A few days ago, Guido van Rossum, creator of the Python programming language and Benevolent Dictator For Life (BDFL) of the project, announced his intention to step away.

    Below is a portion of his message, although the entire email is not terribly long and worth taking the time to read if you’re interested in the circumstances leading to van Rossum’s departure.

  • Thoughts on Guido retiring as BDFL of Python

    I've been programming in Python for almost 20 years on a myriad of open source projects, tools for personal use, and work. I helped out with several PyCon US conferences and attended several others. I met a lot of amazing people who have influenced me as a person and as a programmer.

    I started PyVideo in March 2012. At a PyCon US after that (maybe 2015?), I found myself in an elevator with Guido and somehow we got to talking about PyVideo and he asked point-blank, "Why work on that?" I tried to explain what I was trying to do with it: create an index of conference videos across video sites, improve the meta-data, transcriptions, subtitles, feeds, etc. I remember he patiently listened to me and then said something along the lines of how it was a good thing to work on. I really appreciated that moment of validation. I think about it periodically. It was one of the reasons Sheila and I worked hard to transition PyVideo to a new group after we were burned out.

Opinion: GitHub vs GitLab

Filed under
Development
Microsoft

So, Microsoft bought GitHub, and many people are confused or worried. It's not a new phenomenon when any large company buys any smaller company, and people are right to be worried, although I argue that their timing is wrong. Like Microsoft, GitHub has made some useful contributions to free and open-source software, but let's not forget that GitHub's main product is proprietary software. And, it's not just some innocuous web service either; GitHub makes and sells a proprietary software package you can download and run on your own server called GitHub Enterprise (GHE).

Let's remember how we got here. BitMover made a tool called BitKeeper, a proprietary version control system that allowed free-of-charge licenses to free software projects. In 2002, the Linux kernel switched to using BitKeeper for its version control, although some notable developers made the noble choice to refuse to use the proprietary program. Many others did not, and for a number of years, kernel development was hampered by BitKeeper's restrictive noncommercial licenses.

In 2005, Andrew Tridgell, working at OSDL, developed a client that bypassed this restriction, and as a result, BitMover removed licenses to BitKeeper from all OSDL employees—including Linus Torvalds. Eventually, all non-commercial licenses were stopped, and new licenses included clauses preventing the development of alternative version control systems. As a result of this, two new projects were born: Mercurial and Git. Created in a few short weeks in 2005, Git quickly became the version control system for Linux development.

Proprietary version control tools aren't common in free software development, but proprietary collaboration websites have been around for some time. One of the earliest collaboration websites still around today is Sourceforge. Sourceforge was created in the late 1990s by VA Software, and the code behind the project was released in 2000.

Read more

Programming: Perl, RcppClassic, Git-cinnabar, Effective Python

Filed under
Development
  • Confessions of a recovering Perl hacker

    My name's MikeCamel, and I'm a Perl hacker.

    There, I've said it. That's the first step.

    My handle on IRC, Twitter and pretty much everywhere else in the world is "MikeCamel." This is because, back in the day, when there were no chat apps—no apps at all, in fact—I was in a technical "chatroom" and the name "Mike" had been taken. I looked around, and the first thing I noticed on my desk was the Camel Book, the O'Reilly Perl Bible.

    I have the second edition now, but this was the first edition. Yesterday, I happened to pick up the second edition, the really thick one, to show someone on a video conference call, and it had a thin layer of dust on it. I was a little bit ashamed, but a little bit relieved as well.

  • RcppClassic 0.9.11

    A new maintenance release, now at version 0.9.11, of the RcppClassic package arrived earlier today on CRAN. This package provides a maintained version of the otherwise deprecated initial Rcpp API which no new projects should use as the normal Rcpp API is so much better.

  • Mike Hommey: Announcing git-cinnabar 0.5.0 beta 4

    Git-cinnabar is a git remote helper to interact with mercurial repositories. It allows to clone, pull and push from/to mercurial remote repositories, using git.

  • Russ Allbery: Review: Effective Python

Programming: Becoming a Senior Developer, DWG and a "New Phase" of Python

Filed under
Development
  • Becoming a senior developer: 9 experiences you'll encounter

    Being a developer—a good one—isn't just about writing code. To be successful, you do a lot of planning, you deal with catastrophes, and you prevent catastrophes. Not to mention you spend plenty of time working with other humans about what your code should do.

  • Revealing unknown DWG classes

    I implemented three major buzzwords today in some trivial ways.

        massive parallel processing
        asynchronous processing
        machine-learning: a self-improving program

    The problem is mostly trivial, and the solutions also. I need to
    reverse-engineer a binary closed file-format, but got some hints from
    a related ASCII file-format, DWG vs DXF.

  • Python and Its Community Enter a New Phase

    Python is an amazing programming language, there's no doubt about it. >From humble beginnings in 1991, it's now just about everywhere. Whether you're doing web development, system administration, test automation, devops or data science, odds are good that Python is playing a role in your work.

    Even if you're not using Python directly, odds are good that it is being used behind the scenes. Using OpenStack? Python plays an integral role in its development and configuration. Using Dropbox on your computer? Then you've got a copy of Python running on your computer. Using Linux? When I purchased Red Hat Linux back in 1995, the configuration was a breeze—thanks to visual tools developed in Python.

    And, of course, there are numerous schools and educational programs that are now teaching Python. MIT's intro computer science course switched several years ago from Scheme to Python, and thousands of universities all over the world made a similar switch in its wake. My 15-year-old daughter participates in a program for technology and entrepreneurship—and she's learning Python.

    There currently is an almost insatiable demand for Python developers. Indeed, Stack Overflow reported last year that Python is not only the most popular language on its site, but it's also the fastest-growing language. I can attest to this popularity in my own job as a freelance Python trainer. Some of the largest computer companies in the world are now using Python on a regular basis, and their use of the language is growing, not shrinking.

Syndicate content

More in Tux Machines

KDE and GNOME: KDE 18.08, Usability & Productivity and More

  • KDE Team Announces Major Improvements in Upcoming KDE 18.08 Release
    The developers of Linux’s KDE suite have announced a major slew of updates set to be included in the upcoming KDE 18.08, set for an August 2018 release. Details for these updates revolve around a range of new features and overall polish for the core KDE apps including Gwenview, Spectacle, Konsole, and Dolphin, as well as focusing on the upcoming KDE Plasma 5.14 update due in October. Due to KDE’s open-source nature, the devs also have a site up for people interested in getting involved, whether its simple bug reporting or actually being hands-on with the development using C++, Qt, and CMake. You can read more about their community program at KDE – Get Involved.
  • This week in Usability & Productivity, part 28
    Here’s another big week for KDE’s Usability and Productivity initiative. We’re getting ready for the release of KDE Applications 18.08–the second of our three yearly Applications releases. As the numbers in the version suggest, it will be released in August of 2018, about a month from now. As such, there’s been a lot of focus on new features and polish for core KDE apps such as Dolphin, Gwenview, Konsole, and Spectacle. We’re also ramping up our work for KDE Plasma 5.14, which is scheduled for release in October.
  • I’ve built a box
    This is not the typical post I use to write (which is usually about what I do at work, often related to GNOME, so if you’re not interested, just skip it…). But a couple of months ago I did something different that I still want to write about. That thing was a wooden box (sorry if you were expecting a Gavin Box) that I was asked to carve by my brother for his wedding, to be used for carrying the wedding rings. The wedding had a Game of Thrones’s theme (there was not blood in it though, if you’re wondering), so naturally my brother wanted some of that in the box. Thus, my initial idea was to just buy a box and carve something to do with GoT and include their names. Something like this, as my brother sent me for inspiration.
  • Bastian Ilsø Hougaard: GUADEC18 Developer Center BoF Part 3: Challenges
    Currently, the Developer Center infrastructure and documentation suffers from low to non-existing maintenance. It’s a sign we need to take serious. Do we need lower the barrier to contributing to the developer documentation? What can we do to make the infrastructure easier to maintain? The underlying issue here likely also ties into why we now see new GNOME documentation hosted on other websites by different maintainers powered by different underlying technologies. I think this challenge needs both thinking from a technical point of view (how we might support editing multi-language documentation and auto-generated documentation) and an organizational point of view (assigning maintainership, reviewing our docs, aligning visions).

Programming: Persepolis, Microsoft EEE, Apache Subversion 1.10.2, SPAKE2 In Golang, AMD AOCC 1.2.1

  • Persepolis Download Manager: Impressive Python frontend for aria2
    Persepolis Download Manager is a handy open source download manager written in Python and PyQt. It’s a graphical frontend for aria2 aiming to make downloads both easier and faster. This software project commenced development in 2015 with the first release in July 2016. While it was initially only a simple graphical user interface, the software has seen some pretty hefty development since then with a whole raft of additional functionality added, improvements to the user interface, and cross-platform support.
  • Microsoft Visual Studio Code replumbed for better Python taming [Ed: Embrace and extend. Microsoft is trying to push developers of FOSS over to their proprietary IDE that puts spying inside compiled code.]
  • What’s new in Apache Subversion 1.10.2?
    I couldn’t believe if you are unaware of the Apache Subversion. It is an Enterprise-class centralized version control founded in 2000 by CollabNet Inc. One of the most successful opensource project in past many years. Mostly all the opensource projects and enterprise source code are on subversion. It has the rich community of developers and users who are continuously improving subversion.
  • SPAKE2 In Golang: Journey to Cryptoland begins
    Before I can go to detail I should tell why/how I came to implementing SPAKE2 in Golang. Story starts a couple of month back when I started contributing to *magic-wormhole.rs*, a Rust port of original Python project of magic-wormhole. You can read this LWN article to understand more about what magic-wormhole is. During contribution my friend Ramakrishnan Muthukrishnan said to me that I should try to port the magic-wormhole to Golang. I was not a expert Go programmer but had understanding of language basics and thought why not use it to improve my language understanding. And this is where it all started.
  • AMD AOCC 1.2.1 Compiler Flings Flang Fixes
    AMD released a minor update to their AMD Optimizing C/C++ Compiler. AOCC is the company's downstream of LLVM/Clang with optimizations for their Zen CPU microarchitecture with compiler optimizations/improvements before they work their way into upstream LLVM. AOCC is the replacement for AMD's Open64 compiler used years ago with earlier micro-architectures.

Exclusive: Why open source is critical to software development

Recently I had the opportunity to sit down with Pivotal APJ head of platform architecture Lawrence Crowther and discuss the importance of Open-source and cloud. Firstly, can you tell me a bit more about Pivotal and its cloud platform? Pivotal’s original mission was to transform the way the world builds software. Now our mission is to transform the way the world runs software, too, through a combination of methodology and technology. Whether we are helping clients change their culture towards product development or managing platforms, we use the same agile principles in both cases, such as Extreme Programming and the Lean Startup approach. This is often a radical shift for companies to embrace so we partner with them for a “learn by doing” approach. We believe that in order to support a fast development team who are iterating quickly and updating constantly, you need a different kind of platform. One that removes all barriers and lets you go from “concept to cash” quickly in a reliable, secure and safe way. You can build software as fast as you want but if it is not ending up in the hands of users it doesn't matter. Once Pivotal Cloud Foundry is up and running the cost of deploying applications and iterating on them becomes almost zero. This is because it takes away the details of infrastructure, middleware, dependencies, integrations, monitoring and more from the development team so they can focus on delivering value to the business over and over again. Read more

Linux 4.18 RC6 is Out

  • Linux 4.18-rc6
    So this was the week when the other shoe dropped ... The reason the two previous rc releases were so nice and small was that David hadn't sent me much networking fixes, and they came in this week. That said, it's not really a huge rc this week either, so it's all good. But the networking pull this week does mean that almost exactly half of the diff is core networking, network drivers, or networking documentation updates. The rest is other drivers (mostly gpu, but also scsi, nvma, pci, pinctrl..), some arch updates (arc, x86, nds32, powerpc), and "misc" (tooling, header files, some vm and fs noise). The small but nasty VM bug we had earlier did indeed get fixed last rc, but there was some 32-bit fallout from the fix, so rc5 still had issues. But I'm hopeful that rc6 _really_ fixed all the cases. Shortlog appended for people who want to just get an overview of the details, Linus
  • Linux 4.18-rc6 Kernel Released With Many Networking Fixes, Other Regressions Resolved
    The sixth weekly test release of the Linux 4.18 kernel is now available for evaluation. Linux 4.18-rc6 is prior than the two previous weekly release candidates since those versions hadn't incorporated any big batch of networking fixes, which hit this week. So about half of the changes are networking changes in Linux 4.18-rc6 while the other half is a mix of driver and architecture updates along with other noise.