Language Selection

English French German Italian Portuguese Spanish

today's howtos

More in Tux Machines

People in Free Software: Efstathios Iosifidis, Asa Dotzler and Amin Bandali

  • Meet the GNOMEies: Efstathios Iosifidis

    I am a veterinarian and I work at a vet practice. In 2010, my friend Kostas and I had a dream to revive openSUSE community in Greece. Our project was very successful, and the global community trusted us to organize the openSUSE conference in 2013. During that period I got involved in other open source projects and communities. Right now I travel to different cities to attend national and international conferences, I speak and represent open source projects on those events. I was in the organization committee of GUADEC 2019. [...] Do you have any other affiliations you want to share? I am openSUSE member. I also contribute to other communities such as GNU Health, Nextcloud, ONLYOFFICE, ownCloud. Why did you get involved in GNOME? My first distro was Ubuntu and then Fedora. Both using GNOME. During my involvement with openSUSE global community, I met my friend Isabel Valverde. She was into GNOME community and she dragged me into GNOME community. Why are you still involved with GNOME? GNOME is one of the most important open source software/desktop environment. I would like to thank the community that releases new versions with many features. I use a powerful “tool” for free, so the least I can do is translate and promote it so more people can use it. Although I’m involved in other communities, GNOME is one of the most friendly and awesome ones.

  • Asa Dotzler: 20 Years with Mozilla

    Today marks 20 years I’ve been working full-time for Mozilla. As the Mozilla organization evolved, I moved with it. I started with staff@mozilla.org at Netscape 20 years ago, moved to the Mozilla Foundation ~17 years ago, and the Mozilla Corporation ~15 years ago. Thank you to Mitchell Baker for taking a chance on me. I’m eternally grateful for that opportunity.

  • Introducing Amin Bandali, intern with the FSF tech team

    Hi there, I'm Amin Bandali, often just bandali on the interwebs. I wear a few different hats around GNU as a maintainer, Web master, and Savannah hacker, and I'm very excited to be extending that to the Free Software Foundation (FSF) as an intern with the FSF tech team for spring 2020. Growing up around parents with backgrounds in computer engineering and programming, it did not take long for me to find an interest in tinkering and playing with computers as a kid, and I first came into contact with GNU/Linux in my teenage years. My first introduction to the world of free software came a few years later, when a friend kindly pointed out to me that what I had vaguely known and referred to as "open source" software is more properly referred to as free software, and helped me see why "open source" misses the point of free software. After learning about and absorbing the ideas and ideals of free software, I have since become a free software activist. As a computer scientist who enjoys studying and hacking on various programs and sometimes writing my own, I have made a point of releasing all I can under strong copyleft licenses, particularly the GNU AGPL license. My involvement with the GNU Project started in 2016, first as a volunteer Web master, and later as one of the maintainers of GNUzilla and IceCat late last year. Also around the same time, I led a group of volunteers in organizing and holding EmacsConf 2019 as a completely online conference, using only free software tools, much like the excellent LibrePlanet 2020. I love GNU Emacs, and use it more than any other program. GNU Emacs helps me do a wide variety of tasks such as programming, reading and composing emails, and chatting via IRC.

Debian: Latest Raspberry Pi OS and Reproducible Builds

Programming: Perl, Rust and More

  • The [Perl] Weekly Challenge #062

    Once again, Neil Bowers, came up with another exciting task for all Team PWC members. Like always, it was fun task. Thanks to Ryan for providng sample data and expected result based on the definition of the task. Half the job done already. The only thing left for the us, is get on with the job. I noticed Raku needed slightly different approach then the Perl. It could be I am doing something very badly. I am happy to correct myself, if you find anything silly. More on this, later down below. However the second task of the week, N Queens, turned out to tough nut to crack for me. For the first, since I started contributing, I gave up on this. Technically speaking, I did attempt to solve it with the help of my 11 year old daughter, but it was only limited to 2D rather than 3D as expected in the task. Therefore I decided not to submit my solution. Having said that I didn’t want to loose my work, so just for record, I am sharing in this blog, just in case, if I want to re-visit the code.

  • New Arel like SQL Manager

    Some months ago I started working in a system similar to ActiveRecord. But then it became pretty big so then I centered my attention in a SQL AST manager instead. So I made a library that is basically an Arel port. You can see the README with most of the basic info. After looking at implementations in CPAN I realized there are many of them already but all of them based on hash structures.

  • In Rust, we lust: Security-focused super-C++ language still most loved among Stack Overflow denizens

    Rust for the fifth year in a row has held its position as the most-loved programming language in Stack Overflow's annual developer survey, even if it's not the primary language for most programmers and not many jobs require it. Rust, beloved by 86 per cent of respondents this year, recently celebrated five years since its 1.0 release. After years of appreciation for its memory safety features, speed, and other benefits, the language is making the move from an aspirational technology to a growing presence in savvy software organizations.

  • Performant Containerized Go* Applications with Intel® Advanced Vector Extensions 512 on Clear Linux* OS

    Major cloud software such as Docker*, etcd*, Istio*, Kubernetes*, Prometheus*, and Terraform* use the Go* programming language for core cloud infrastructure components. Why are they using Go? Compared with many other scripting languages, Go is fast! This article shows how to develop performant Go applications that leverage Intel® Advanced Vector Extensions 512 (Intel® AVX-512) and a Go container based on Clear Linux* OS to improve the performance potential of Go. [...] Go is an open source programming language with concurrency mechanisms that help developers make full use of multicore and networked machines. It is expressive, modular, and efficient. Go based data science and analytic applications typically leverage gonum, a set of libraries for matrices, statistics, and optimization. Libraries like gonum build on top of a lower-level BLAS (Basic Linear Algebra Subroutines) layer. Gonum / netlib creates wrapper packages that provide an interface to Netlib CBLAS implementations. Because netlib uses C and CBLAS, using gonum/netlib provides indirect use of an Intel processor’s Intel AVX-512 capability, if available on the running system. The gonum/netlib recommended BLAS layer for performance on Linux is OpenBLAS. OpenBLAS is an optimized open source BLAS library based on GotoBLAS2 1.13 BSD version, implemented in C. It provides a BLAS layer implementation with Intel AVX-512 acceleration that is adaptable to Intel® Advanced Vector Extensions 2 (Intel® AVX2) or Intel® Streaming SIMD Extensions (Intel® SSE) only platforms.

  • Intel's Clear Linux Working On AVX-512 Optimized Golang Container

    One of the latest performance optimizations being pursued by Intel on the open-source Linux side is providing an AVX-512-optimized container for Golang usage. Intel's Clear Linux crew has assembled a new container providing AVX-512 tuned Go language support paired with AVX-512 optimized Glibc, OpenMP, and OpenBLAS libraries for operating on Intel's Xeon Scalable servers.

  • Some notes on Corona

    In many ways, very little has changed in the way I work on Free Software projects. I get paid to do so – partly on Calamares, partly on other things – and there simply was no switch-to-remote work for me. Sitting at my desk, two monitors, FreeBSD underneath and Linux VMs in my face, with IRC for realtime communication: that’s been part-and-parcel of work for years now and nothing has changed there. Except that now there’s people in the house. One thing I notice is that when kid[1] is at the machine next to mine, it’s distracting. But how distracting, depends on what is on-screen. Java code only a little, until I feel the urge to ask what’s the issue – then I’m the cardboard cutout dog. Geometry Dash also only a little, since the rhythmic clicking of the mechanical keyboard mostly makes the same sound as my own keyboard when I’m doing something derpy like re-indenting chunks of CMakeLists.txt. Minecraft, on the other hand, drives me nuts. I just can’t work sitting next to that. The Slimbook sees a lot more work now, when I flee to the living room. But that’s where online lessons are happening, so I need to sneak around (sometimes out around the side of the house to cross to the other end of the room) because I don’t want to be broadcast accidentally to 20 students listening to middle-school explanations of quadratic equations. The equations are written on the blackboard painted onto one wall of the room. kid[0] had final exams cancelled out from under them, so they graduated from school with very little sound or fury. We wrote out a CV together and they now have a job (in “smart” lockdown times!) until the end of the summer and the start of university.

  • This'll make you feel old: Uni compsci favourite Pascal hits the big five-oh this year

    Pascal, a descendant of ALGOL 60 and darling of computer science courses for decades, turns 50 this year. For engineers of a certain age, Pascal was hard to avoid in the latter part of the last century. Named for 17th-century French mathematician Blaise Pascal, the language is attributed to Swiss computer scientist Niklaus Wirth and was created in part due to Wirth's frustration with the process to improve the ALGOL 60 language. Involved in the ALGOL X effort, Wirth proposed ALGOL W, which, while not deemed a sufficient advance over ALGOL 60, became Pascal in 1970.

Python Programming

  • How to handle bulk data insertion SQLite + python

    When it comes of handling huge amount of data, the most common things that developer always does is to store data in a single manner each SQL statement has a new transaction started for it. This is very expensive, since it requires reopening, writing to, and closing the journal file for each statement. Despite that fact that they can do it in a bulk transaction. Now how do we did this? I’ll show you. Let’s say you have 20,000 candidate records to be inserted in your database. It really makes sense to consider a bulk transaction right? Sure why not.

  • Convert Bytearray to Bytes in Python

    Many different types of data objects are supported by Python. Two of them are the objects bytearray and bytes. The bytearray() function returns an array object of bytes. This object is changeable and supports the integer number from 0 to 255. The bytes() function returns bytes objects, is not changeable, and supports the integers from 0 to 255. This article will describe these functions and explain how bytearray objects can be converted into bytes objects.

  • List Intersection in Python

    Many object variables exist in python to store a variety of data types. The list is one of these variables and can store different types of data for different needs. Sometimes, we need to find common, uncommon, or both common and uncommon data items from the multiple lists for programming purposes. Python contains several built-in functions and operators that can perform these types of tasks for Python sets. Finding common data from the multiple lists is called list intersection, but there is no operator or built-in function for lists like sets to find the common data items from multiple lists. This tutorial will show you how to intersect lists in Python.

  • How to Execute Shell Commands in Python Using the Subprocess Run Method

    Subprocess is a built-in Python module that can be used to create new processes and interact with their input and output data streams. In simpler terms, you can use it to run shell commands and run executable binaries usually scattered in various “bin” folders across a Linux file system. You can also supply a full path to an executable binary and use any command-line switches associated with the binary. This article will explain how to use the subprocess module and its run method in Python apps. All code samples in the article are tested with Python 3.8.2 on Ubuntu 20.04.

  • How to Use the Python Isalpha Function

    Sometimes, we need to check the content of data for programming purposes. There are many different types of built-in functions in Python for string data to check the content This content may include letters, numbers, or other special characters. The isalpha() function is one of the useful built-in functions of Python that can be used to find out whether or not the content of the data is alphabetic. This function searches the alphabet in the starting of the string value. If the starting value of the string is a letter, then this function returns true; otherwise, it returns false. This tutorial will show you how to can use the isalpha() function in Python.

  • PSF GSoC students blogs: Weekly Blog #1

    Hello Everyone, this is Soham Biswas currently in 2nd year pursuing my Bachelor’s(B.Tech) degree in Computer Science & Engineering from Institute of Engineering & Management, Kolkata. I have been selected for GSoC' 20 at sub-org FURY under the umbrella organisation of Python Software Foundation. I will be working on building sci-fi-like 2D and 3D interfaces and provide physics engine integration under project titled "Create new UI widgets & Physics Engine Integration".

  • PSF GSoC students blogs: First Blog GSoC 2020
  • PSF GSoC students blogs: Weekly Check-in #1
  • PSF GSoC students blogs: GSoC Blog : Week 1

    Since most of the places including my university are closed due to the pandemic outbreak, I decided to get a head start and start with the project early. During the community bonding period, I had video conference meetings with my mentors scheduled every week on Wednesday. During these meetings i interacted with the mentors to have a coherent understanding of how the project design and implementation will be managed over the course of the entire period. Since my project involves a lot of theoretical understanding of concepts such as ray marching, I spent the period going through the theory of each topic.This week also involved going through the documentation for shaders used in VTK.

  • PSF GSoC students blogs: Community Bonding Check-in

    I had an onboarding meeting with my mentors where we got to know each other a bit better. They advised me to play around with uarray and unumpy without any goal in mind which I found to be a very good advice. I played a bit with special methods by implementing a simple Vector2D class and used the code in this notebook with some print statements to understand better the protocols and how they are called. I wanted to start earlier on my project so I took over a PR from one of my mentors which adds multimethods for the linalg module. What is coming up next? I'm going to continue the PR that I have been working on since it still isn't finished and I will also follow the proposed timeline and start adding multimethods for other routines like checking class equality in array elements. Some mathematical constants and their aliases are also missing so I will be adding these too and probably refactoring the existing ones into classes. This week marks the end of my college classes but I still have some assignments and exams coming up in the following weeks so there's a lot of work ahead of me to proper balance both university studies and GSoC but I wouldn't have it other way.

  • Weekly Python StackOverflow Report: (ccxxx) stackoverflow python report