Language Selection

English French German Italian Portuguese Spanish

Programming: Automation, Python, Rust and More

Filed under
  • Introducing your friends to automation (and overcoming their fear)

    Another fear that I face often from friends is that they don’t know any programming languages, and believing that if they don’t know how to code, then they can’t do automation. While I think we can all agree that knowing Bash, Python, Perl, or even PowerShell is useful when defining these processes to reduce human interaction, it is not always needed.

    Today we have the tools at our disposal to implement such processes without the absolute need to know a traditional programming language. For example, tools like Red Hat Ansible Tower and Azure DevOps let us take advantage of already created playbooks or plugins. Rarely do we see where one tool fits all, but just getting started with one tool is sometimes enough to get a feel for automation. In turn, that beginning is enough to gain confidence and see the true benefits of automating, which encourages us just enough to try learning something new.

  • Python 2.7.17 released

    Python 2.7.17 is now available for download. Note Python 2.7.17 is the penultimate release in the Python 2.7 series.

  • Python 2.7.17

    Python 2.7.17 is a bug fix release in the Python 2.7.x series. It is expected to be the penultimate release for Python 2.7.

  • Python 3.7.4 : Usinge pytesseract for text recognition.
  • Started a newsletter

    I started a newsletter, focusing on different stories I read about privacy, security, programming in general. Following the advice from Martijn Grooten, I am storing all the interesting links I read (for many months). I used to share these only over Twitter, but, as I retweet many things, it was not easy to share a selected few.

  • Indent datastructure for trees

    It is a preorder traversal of the conceptual tree, aggregating (depth, name) tuples into a list to form what I am calling the indent tree datastructure as it captures all the information of the tree but in a different datastructure than normal, and can be extended to allow data at each node and might be a useful alternative for DB storage of trees.

  • Daniel Silverstone: A quarter in review - Nearly there, 2020 in sight

    I have worked very hard on my Rustup work, and I have also started to review documentation and help updates for the Rust compiler itself. I've become involved in the Sequoia project, at least peripherally, and have attended a developer retreat with them which was both relaxing and productive.

    I feel like the effort I'm putting into Rust is being recognised in ways I did not expect nor hope for, but that's very positive and has meant I've engaged even more with the community and feel like I'm making a valuable contribution.

    I still hang around on the #wg-rustup Discord channel and other channels on that server, helping where I can, and I've been trying to teach my colleagues about Rust so that they might also contribute to the community.

    So initially an 'A', I dropped to an 'A-' last time, but I feel like I've put enough effort in to give myself 'A+' this time.

  • Dirk Eddelbuettel: RcppGSL 0.3.7: Fixes and updates

    A new release 0.3.7 of RcppGSL is now on CRAN. The RcppGSL package provides an interface from R to the GNU GSL using the Rcpp package.

    Stephen Wade noticed that we were not actually freeing memory from the GSL vectors and matrices as we set out to do. And he is quite right: a dormant bug, present since the 0.3.0 release, has now been squashed. I had one boolean wrong, and this has now been corrected. I also took the opportunity to switch the vignette to prebuilt mode: Now a pre-made pdf is just included in a Sweave document, which makes the build more robust to tooling changes around the vignette processing. Lastly, the package was converted to the excellent tinytest unit test framework.

  • Styled output in Poke programs

    I just committed support for styling in printf. Basically, it uses the libtextstyle approach of having styling classes that the user can customize in a .css file.

More in Tux Machines

10 tips for onboarding open source contributors

Contributors are the lifeblood of many open source projects because they enable smaller projects to grow and improve without a lot of financial support and they bring fresh perspectives to the project. That is the case at Ushahidi, a non-profit organization that is building and using software to help raise the voices of underserved, marginalized communities. Our products enable local observers to submit reports about local humanitarian crises (such as political unrest and natural disasters) using their mobile phones or the internet, while simultaneously creating a temporal and geospatial archive of events. Ushahidi always strives for openness, but it's very hard to evaluate how open your organization works from the inside. Staff and longtime contributors know too much: they are cursed by knowledge and access to the people who know how things work. While a crisis brings out the good in people who want to help, getting involved with an open source project during a crisis is complex. The maintainers are usually going through a stressful time. New requests for features are coming every day. New bugs are being reported all the time. Read more

App Highlight: Open Source Disk Partitioning Tool GParted

GParted is undoubtedly one of the best partition managers for Linux out there. The user interface is very simple and gets the job done. In some cases, you end up using GParted to fix or format your USB drive as well. I had a USB disk which I couldn’t format in Ubuntu using the “Disks” app – this is where GParted came to the rescue. So, it is a quite useful tool with a lot of good features. Let me highlight them for you. Read more

Screencasts/Audiocasts: Zorin OS 15.1 Run Through, Linux Action News and Open Source Security Podcast

XFS - 2019 Development Retrospective

We frequently hear two complaints lodged against XFS -- memory reclamation runs very slowly because XFS inode reclamation sometimes has to flush dirty inodes to disk; and deletions are slow because we charge all costs of freeing all the file's resources to the process deleting files. Dave Chinner and I have been collaborating this year and last on making those problems go away. Dave has been working on replacing the current inode memory reclaim code with a simpler LRU list and reorganizing the dirty inode flushing code so that inodes aren't handed to memory reclaim until the metadata log has finished flushing the inodes to disk. This should eliminate the complaints that slow IO gets in the way of reclaiming memory in other parts of the system. Meanwhile, I have been working on the deletion side of the equation by adding new states to the inode lifecycle. When a file is deleted, we can tag it as needing to have its resources freed, and move on. A background thread can free all those resources in bulk. Even better, on systems with a lot of IOPs available, these bulk frees can be done on a per-AG basis with multiple threads. Read more Also: Oracle Talks Up Recent Features For XFS + Some File-System Improvements On The Horizon