Language Selection

English French German Italian Portuguese Spanish


Programming: GSOC Work on GNOME, Finding Bugs, Framebuffer Graphics and Python

Filed under

Excellent Utilities: mdless – formatted and highlighted view of Markdown files

Filed under

This is a new series highlighting best-of-breed utilities. We’ll be covering a wide range of utilities including tools that boost your productivity, help you manage your workflow, and lots more besides.

I recently spotlighted Abricotine, an open source, cross-platform Markdown editor built for the desktop with inline preview functionality. Continuing the Markdown theme, this article focuses on mdless, a CLI that provides a formatted and highlighted view of Markdown files in a terminal.

If you want to view Markdown files quickly and without cruft, mdless is designed with you in mind.

Read more

Programming Miscellany: Python, GNOME, LibreOffice, SDDM and Plasma, Snek 1.0 Release

Filed under
  • String Functions in Python with Examples

    This tutorial outlines various string (character) functions used in Python. To manipulate strings and character values, python has several in-built functions. It means you don't need to import or have dependency on any external package to deal with string data type in Python. It's one of the advantage of using Python over other data science tools. Dealing with string values is very common in real-world. Suppose you have customers' full name and you were asked by your manager to extract first and last name of customer. Or you want to fetch information of all the products that have code starting with 'QT'.

  • Richard Hughes: WOGUE is no friend of GNOME

    Alex Diavatis is the person behind the WOGUE account on YouTube. For a while he’s been posting videos about GNOME. I think the latest idea is that he’s trying to “shame” developers into working harder. From the person who’s again on the other end of his rants it’s having the opposite effect.

  • [LibreOffice GSOC Ahmed ElShreif] Week2 Report

    I added the writer and calc commands as a start and I think it will be enough for now to start with this 2 applications and in the future we can add other applications and also we can add more features for the logger in this application easily.

  • [GSoC – 2] Achieving consistency between SDDM and Plasma

    We’re now in the second week of GSoC. Since I had been finishing my thesis and doing exams right up until the coding period, I really needed the undivided attention and some more time last week to get a better understanding of the code and what I’ll be doing with it.

    As a result, I now realize that SDDM is actually really well-designed and prepped for utilizing customization. As some of you know, SDDM is run as a special user called sddm. This user has its own home directory which can be found in /var/lib/sddm. That in turn also means it has a .config folder where customizations can reside in. Consequently, we can push relevant user customization files such as kdeglobals or plasmashellrc there. What’s crucial is to then simply have the SDDM user become the owner of these files. One thing that’s, of course, the issue with this approach is: what happens if you’re using some locally installed themes, such as those obtained through the Get Hot New Stuff dialogs? Those unfortunately cannot be accessed by SDDM; it will only pick up on the globally installed files.

  • Snek 1.0

    I've released version 1.0 of Snek today.

Programming Leftovers

Filed under

Programming: Haiku/GCC, LLVM, GitLab CE and Python

Filed under
  • Haiku monthly activity report, May 2019

    korli changed how runtime_loader handles weak symbols to be more in line with the behavior of other operating systems.

    waddlesplash tweaked “strace” to print syscall names plainly, i.e. without the prefixed “kern”.

    mmu_man committed changes to allow loading the BControlLook from an add-on, and added a setting to the Appearance preferences for it. This allows developers to create their own control theming, as all controls are drawn using this class.

    A few older changes from oortwijn correcting some corner-cases in USB tablet logic were (finally) committed.

    Haiku’s malloc implementation, previously based on the (now-ancient, sbrk-based) hoard2, was replaced with rpmalloc, a high-perforance mmap-based allocator. This enables applications on 64-bit Haiku to use more than 1.5GB of RAM, and also provides an across-the-board 10-15% performance improvement, with some use-cases seeing even larger ones. Thanks go to mmlr, PulkoMandy, and waddlesplash for the Haiku-side work on this, and mjansson, the creator of rpmalloc, for being so responsive to feedback!

  • Haiku Continues Seeing A Lot Of Driver Fixes, New Malloc & Now Built By GCC 8

    The Haiku operating system that is the open-source inspiration from BeOS continues with a busy 2019 following their R1 beta towards the end of last year.

    Over the course of May there has been Haiku work on a new malloc implementation based on the high-performance rpmalloc mmap-based allocator, which is yielding around 10~15% performance improvements and some times even greater gains.

  • LLVM Adding Support For IBM MASS Library For POWER Vectorization

    A new addition to the LLVM code-base this week is initial support for IBM's MASS vectorization library.

    IBM Mathematical Acceleration Subsystem (MASS) are a set of libraries with optimized versions of frequently-used mathematical functions and vectorized to make use of POWER hardware's high core/thread counts. IBM MASS is of similar nature to say Intel's Math Kernel Library (MKL). Those wanting to learn more about the MASS libraries can do so on

    The LLVM code provides initial support for vectorization using the MASS vector library routines when using the -vector-library=MASSV for the LLVM compiler stack.

  • Export/import issues with GitLab CE

    GitLab CE (the free/open source version of GitLab) has an import issues feature but doesn’t have an export issues feature (because, not enterprise, apparently).

    So if you fork a project and want to transfer the issues also, you’re out of luck. Unless you use the API, that is.

    So I ducked around and found that a kind soul by the name of Joseph Heenan had created a Perl script to export your GitLab issues in CSV format. Spoiler: do not run this as-is and import the resulting CSV into GitLab CE as you will get corrupted issues. Because apparently GitLab CE has its own, incompatible CSV format compared to GitLab EE (because, not enterprise, apparently). So keep reading…

  • Python 3.7.3 : Testing the PyX python module.
  • Weekly Python StackOverflow Report: (clxxxi) stackoverflow python report

today's howtos and programming leftovers

Filed under
  • Using Ansible and Ansible Tower with shared Roles
  • Tmux Command Examples To Manage Multiple Terminal Sessions
  • Tweaking the parallel Zip file writer
  • Run a blog with pelican
  • 25+ Linux Commands Raspberry Pi Users Need to Know
  • 7 valuable programming languages for sysadmins in 2019

    Once upon a time, encouraging a system administrator to learn a programming language might have been wonky career advice. Programming languages are for programmers, after all—you know, the people who write code for a living. The sysadmin just keeps everything up and running.

    That’s a reasonable but dated thought process. In today’s multi-cloud and hybrid cloud environments, which are increasingly automated and managed with code, strategically learning a language (or several) is often a smart move. This fact doesn’t mean you’re now doing double duty as an application developer, but rather that in modern IT environments some traditional sysadmin duties have become more code-driven. Factor in related trends such as containers, microservices, and orchestration, and you begin to understand why automation has been such a hot topic in IT. We need automation to keep things running smoothly as systems scale in production, all the more so given today’s distributed computing environments.

    If you’re a sysadmin, you could learn any programming language just for the heck of it. No one’s stopping you. But some languages make particular sense. Your mileage may vary depending on factors like your infrastructure, applications, codebases, toolchains, and so on. Let’s look at seven languages worth considering for today’s sysadmin.

  • Bzip2 uses Meson and Autotools now — and a plea for help

    There is a lot of activity in the bzip2 repository!

    Perhaps the most exciting thing is that Dylan Baker made a merge request to add Meson as a build system for bzip2; this is merged now into the master branch.

  • Debian GSoC Kotlin project blog: Converting build files to Groovy; week 2 update

    I spent the first two weeks on updating build files of Kotlin to groovy so that we can reduce the dependency on kotlin-dsl while packaging Kotlin.

    task("dist") is the task that we call in order to build Kotlin 1.3.30 so it would be enough to translate and deal with only those subprojects which are involed in the "dist" task graph. I wrote this code here find out exactly which tasks from which subprojects are being called; the build files of these subprojects are also shown.

    There was a total of about 83 subprojects involved in the build process, out of these about 67 had build files written in kotlin-dsl. During this week I translated about 40 of those build files, so only 27 more remain. I have also translated the root projects build file. My work could be seen here.

    The build logic for the build files are written in Kotlin and placed in the $rootDir/buildSrc directory. Kotlin supports writing custom extension functions like fun String.customfunction() but groovy doesnt support this behaviour, so I had to introduce intermediate functions for these functions in the build logic so that these function can be invoked from within the groovy buildfiles.

  • Extending Wing with Python (Part One)

Git v2.22.0

Filed under
  • Git v2.22.0
  • it 2.22 Released With Improvements Around Merge Handling, Other Small Enhancements

    Git 2.22 was released today as the newest release of this highly popular distributed revision control system.

    Git 2.22 ships with improvements around handling rebasing of merges interactively, creating branches from merge bases, a new tracing mechanism, display improvements during Git bisecting, and a variety of smaller highlights.

  • Git 2.22.0 is Released, which Fixes many Bugs and other Performance Improvements

    Git 2.22.0 is released, which fixes many bugs and addressed other performance improvements.

    Added few new features and improved UI, Workflows. Also, done some code cleanup, docfix, build fix.

    This new release has comes after three months of developments.

    Four new configuration variables {author,committer}.{name,email} have been introduced to override user.{name,email} in more specific cases.

Programming: AWK, Outreachy, Python and LLVM

Filed under
  • A muggle's guide to AWK arrays: 1

    If (like me) you don't have a degree in computer science and haven't done a lot of programming, you might have the impression that AWK arrays are highly technical things best left for AWK wizards to play with.

    I'd agree that AWK arrays can be a little intimidating, but they're very, very useful. In this series of occasional blog posts I hope to make arrays less scary for AWK users. I'll assume that readers already know the basics of AWK syntax and uses, but haven't had much to do with AWK arrays. (Tutorials Point has a nice series of webpages introducing AWK.)

  • Outreachy Week 1 – Week 3: Working Remotely is Hard

    Time flies! I am already into the 3rd week of the internship, which is also a perfect time for a retrospective. This is an honest share to what working remotely has been like for me and also a report to record what I’ve been doing these three weeks.

  • Concurrency in Python

    Computing has evolved over time and more and more ways have come up to make computers run even faster. What if instead of executing a single instruction at a time, we can also execute several instructions at the same time? This would mean a significant increase in the performance of a system.

    Through concurrency, we can achieve this and our Python programs will be able to handle even more requests at a single time, and over time leading to impressive performance gains.

    In this article, we will discuss concurrency in the context of Python programming, the various forms it comes in and we will speed up a simple program in order to see the performance gains in practice.

  • LLVM/Clang 9.0 Merges Support For Intel "Cooperlake" CPU Target

    The LLVM 9.0 compiler code in development along with the Clang 9.0 C/C++ front-end now have support for the -march=cooperlake target for optimizing the generated code for next-generation Intel Cooper Lake processors.

    Cooper Lake is the successor to the recently launched Cascade Lake processors. Cooper Lake sticks with 14nm++ and is expected to be out in H1'2020 with support for eight memory channels per CPU, possible PCI Express 4.0, and other modest improvements over current-generation Xeon Scalable processors.

  • Talk Python to Me: #215 The software powering Talk Python courses and podcast

Programming/Development: Fortran and Python

Filed under

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.

Syndicate content

More in Tux Machines

today's leftovers

  • Hardware Review - The ZaReason Virtus 9200 Desktop
  • Chrome OS 76 will disable Crostini Linux backups by default
    Essentially, this is still a work in progress feature. And I shouldn’t be terribly surprised by that, even though in my experience, the functionality hasn’t failed me yet. That’s because we know that the Chromium team is considering on a way to backup and restore Linux containers directly from the Files app on a Chromebook. That proposal is targeted for Chrome OS 78, so this gives the team more time to work that out, as well as any other nits that might not be quite right with the current implementation.
  • Andrei Lisita: Something to show for
    Unfortunately along with the progress that was made we also encountered a bug with the NintendoDS core that causes Games to crash if we attempt to load a savestate. We are not yet 100% sure if the bug is caused by my changes or by the NintendoDS core itself. I hope we are able to fix it by the end of the summer although I am not even sure where to start since savestates are working perfectly fine with other cores. Another confusing matter about this is that the Restart/Resume Dialog works fine with the NintendoDS core and it also uses savestates. This led me to believe that perhaps cores can be used to load savestates only once, but this can’t be the problem since we re-instantiate the core every time we load a savestate. In the worst case we might just have to make a special case for the NintendoDS core and not use savestates with it, except for the Resume/Restart dialog. This would sadden me deeply since there are plenty of NintendoDS games which could benefit from this feature.
  • OSMC's June update is here with Kodi v18.3
    Team Kodi recently announced the 18.3 point release of Kodi Leia. We have now prepared this for all supported OSMC devices and added some improvements and fixes. Here's what's new:

OSS Leftovers

  • A comparison of open source, real-time data streaming platforms
    A variety of open source, real-time data streaming platforms are available today for enterprises looking to drive business insights from data as quickly as possible. The options include Spark Streaming, Kafka Streams, Flink, Hazelcast Jet, Streamlio, Storm, Samza and Flume -- some of which can be used in tandem with each other. Enterprises are adopting these real-time data streaming platforms for tasks such as making sense of a business marketing campaign, improving financial trading or recommending marketing messages to consumers at critical junctures in the customer journey. These are all time-critical areas that can be used for improving business decisions or baked into applications driven by data from a variety of sources.
  • Amphenol’s Jason Ellison on Signal Integrity Careers and His Free, Open Source PCB Design Software
    Ellison, Senior Staff Signal Integrity Engineer at Amphenol ICC, gives his insight on the importance of networking, giving to the EE community, and his open-source signal integrity project. How does signal integrity engineering compare to other EE fields? What are open-source resources worth these days? What makes for a good work life for an engineer? Learn this and more in this Engineer Spotlight! Jason Ellison started down the path to becoming an electrical engineer because someone told him it was "fun and easy if you're good at math." In this interview with AAC's Mark Hughes, Ellison—a Senior Staff Signal Integrity Engineer at Amphenol ICC—describes how his career has grown from these beginnings into the rewarding and diverse work of signal integrity engineering.
  • Cruise open-sources Webviz, a tool for robotics data analysis [Ed: Releasing a little tool that's part of proprietary software so that it 'feels' more "open"]
    Cruise, the self-driving startup that General Motors acquired for nearly $1 billion in 2016, generates an enormous amount of data by any measure. It orchestrates 200,000 hours of driving simulation jobs daily in Google Cloud Platform, spread across 30,000 virtual cars in an environment running on 300,000 processor cores and 5,000 graphics cards. Both those cars and Cruise’s fleet of over 180 real-world autonomous Chevrolet Bolts make thousands of decisions every second, and they base these decisions on observations captured in binary format from cameras, microphones, radar sensors, and lidar sensors.
  • EWF launches world’s first open source blockchain for the energy industry
    The Energy Web Foundation this week announced that it has launched the world’s first public, open-source, enterprise-grade blockchain tailored to the energy sector: the Energy Web Chain (EW Chain). More than ten Energy Web Foundation (EWF) Affiliates — including utilities, grid operators, and blockchain developers — are hosting validator nodes for the live network, according to the company.
  • Pimcore Releases Pimcore 6.0, Amplifying User-Friendly Digital Experiences Through Open Source
    Pimcore, the leading open-source platform for data and customer experience management, has released the most powerful version of the Pimcore platform, Pimcore 6.0. The updated platform includes a new user interface that seamlessly connects MDM/PIM, DAM, WCM, and digital commerce capabilities to create more advanced and user-friendly experiences quickly and efficiently.
  • VCV Rack reaches version 1.0.0: free and open-source modular synth gets a full release
    VCV Rack is a free, open-source modular software synth that’s been gaining ground for a couple of years, but only now has it reached the significant milestone of version 1.0. Designed to replicate the feeling of having a hardware modular synth on your desktop, VCV Rack enables you to add both free and paid-for modules, and now supports polyphony of up to 16 voices. There’s MIDI Output, too with CV-Gate, CV-MIDI and CV-CC modules enabling you to interface with drum machines, desktop synths and Eurorack gear.
  • Flying Above the Shoulders of Giants
    Thanks to open-source platforms, developers can stand on the shoulders of software giants to build bigger and better things. Linux is probably the biggest...
  • MIT Researchers Open-Source AutoML Visualization Tool ATMSeer
    A research team from MIT, Hong Kong University, and Zhejiang University has open-sourced ATMSeer, a tool for visualizing and controlling automated machine-learning processes. Solving a problem with machine learning (ML) requires more than just a dataset and training. For any given ML tasks, there are a variety of algorithms that could be used, and for each algorithm there can be many hyperparameters that can be tweaked. Because different values of hyperparameters will produce models with different accuracies, ML practitioners usually try out several sets of hyperparameter values on a given dataset to try to find hyperparameters that produce the best model. This can be time-consuming, as a separate training job and model evaluation process must be conducted for each set. Of course, they can be run in parallel, but the jobs must be setup and triggered, and the results recorded. Furthermore, choosing the particular values for hyperparameters can involve a bit of guesswork, especially for ones that can take on any numeric value: if 2.5 and 2.6 produce good results, maybe 2.55 would be even better? What about 2.56 or 2.54?
  • Open-Source Cybersecurity Tool to Enhance Grid Protection
    A revolutionary new cybersecurity tool that can help protect the electric power grid has been released to the public on the code-hosting website GitHub.
  • Quick notes for Mozilla Whistler All Hands 2019
  • Deeper into the data fabric with MongoDB
    However, to gain access to rich search functionality, many organisations pair their database with a search engine such as Elasticsearch or Solr, which MongoDB claims can complicate development and operations — because we end up with two entirely separate systems to learn, maintain and scale.

Raspberry Pi 4 is here!

The latest version of the Raspberry Pi—Raspberry Pi 4—was released today, earlier than anticipated, featuring a new 1.5GHz Arm chip and VideoCore GPU with some brand new additions: dual-HDMI 4K display output; USB3 ports; Gigabit Ethernet; and multiple RAM options up to 4GB. The Raspberry Pi 4 is a very powerful single-board computer and starts at the usual price of $35. That gets you the standard 1GB RAM, or you can pay $45 for the 2GB model or $55 for the 4GB model—premium-priced models are a first for Raspberry Pi. Read more

Open Data, Open Access and Open Hardware

  • DoD’s Joint AI Center to open-source natural disaster satellite imagery data set
    As climate change escalates, the impact of natural disasters is likely to become less predictable. To encourage the use of machine learning for building damage assessment this week, Carnegie Mellon University’s Software Engineering Institute and CrowdAI — the U.S. Department of Defense’s Joint AI Center (JAIC) and Defense Innovation Unit — open-sourced a labeled data set of some of the largest natural disasters in the past decade. Called xBD, it covers the impact of disasters around the globe, like the 2010 earthquake that hit Haiti. “Although large-scale disasters bring catastrophic damage, they are relatively infrequent, so the availability of relevant satellite imagery is low. Furthermore, building design differs depending on where a structure is located in the world. As a result, damage of the same severity can look different from place to place, and data must exist to reflect this phenomenon,” reads a research paper detailing the creation of xBD. [...]

    xBD includes approximately 700,000 satellite images of buildings before and after eight different kinds of natural disasters, including earthquakes, wildfires, floods, and volcanic eruptions. Covering about 5,000 square kilometers, it contains images of floods in India and Africa, dam collapses in Laos and Brazil, and historic deadly fires in California and Greece.

    The data set will be made available in the coming weeks alongside the xView 2.0 Challenge to unearth additional insights from xBD, coauthor and CrowdAI machine learning lead Jigar Doshi told VentureBeat. The data set collection effort was informed by the California Air National Guard’s approach to damage assessment from wildfires.

  • Open-source textbooks offer free alternative for UC Clermont students
    Some UC Clermont College students are avoiding paying hundreds of dollars for textbooks — and getting the content for free — thanks to online open-source textbooks, a growing trend among faculty at the college and throughout higher education. UC Clermont Dean Jeff Bauer, who is also a professor of business, said the benefits of open textbooks are many. “All students have the book on the first day of class, it saves them a lot of money, and the information can be accessed anywhere, anytime, without carrying around a heavy textbook,” Bauer said. “They don’t need to visit the bookstore before or after each semester to buy or sell back books, either.”
  • Open Source Computer Controlled Loom Knits Pikachu For You
    The origin story of software takes us back past punch card computers and Babbage's Difference Engine to a French weaver called Joseph Marie Jacquard.
  • Successful open-source RISC-V microcontroller launched through crowdfunding
    X-FAB Silicon Foundries, together with crowd-sourcing IC platform partner Efabless Corporation, launched the first-silicon availability of the Efabless RISC-V SoC reference design. This open-source semiconductor project went from start of design to tape-out in less than three months employing the Efabless design flow produced on open-source tools. The mixed-signal SoC, called Raven, is based on the community developed ultra-low power PicoRV32 RISC-V core. Efabless has bench-tested the Raven at 100MHz, and based on simulations, the solution should operate at up to 150MHz.
  • Open Hardware: Open-Source MRI Scanners Could Bring Enormous Cost Savings
    Wulfsberg explore the possibilities of open source MRI scanning. As open-source technology takes its place around the world—everywhere from makerspaces to FabLabs, users on every level have access to design and innovation. In allowing such access to MRI scanning, the researchers realize the potential for ‘technological literacy’ globally—and with MRIs specifically, astronomical sums could be saved in healthcare costs. The authors point out that medical technology is vital to the population of the world for treating not only conditions and illnesses, but also disabilities. As so many others deeply involved in the world of technology and 3D printing realize, with greater availability, accessibility, and affordability, huge strides can be made to improve and save lives. Today, with so many MRI patents expiring, the technology is open for commercialization.