Language Selection

English French German Italian Portuguese Spanish

GNOME and Debian GSoC Reports

Filed under
Google
GNOME
Debian
  • GSoC 2021 Final Report – Abanoub's Blog

    I have been working on tracker project for the past 10 weeks to improve its support for custom ontologies. It has been a great journey and I gained great software engineering experience by exploring the project and its architecture. Also, the project mentors helped me a lot during the project. In this article I’m going to summarize the work done in the project and the future work.

  • GSoC 2021: Overview – Ivan Molodetskikh's Blog

    Over the summer I worked on implementing the new screenshot UI for GNOME Shell as part of Google Summer of Code 2021. This post is an overview of the work I did and work still left to do.

    The project was about adding a dedicated UI to GNOME Shell for taking screenshots and recording screencasts. The idea was to unify related functionality in a discoverable and easy to use interface, while also improving on several aspects of existing screenshot and screencast tools.

  • GSoC: Second Phase of Coding Period

    So here we are near the end of GSoC 2021 and with that, I am sharing details of the work I completed in the second phase of the coding period.

Nishit Patel's report

  • Nishit Patel: GSoC final submission

    It has been a great journey working on the Tracker project. In the past 10 weeks, I got to learn a lot about the project and its architecture. This is the final submission of the project. For the weekly updates, check out my previous posts here.

Swapnil Tripathi @ SOC: Second Phase

  • Swapnil Tripathi @ SOC: Second Phase

    Hey everyone, it’s been more than a month since I last wrote. This part of my GSoC project had to do more with reading and understanding than just coding. We continue from the last where we left off, I had to start with the more challenging issue of providing android integration to Kasts and adding chapter markers. While the latter was pretty easy, the former was something I was dreading from the beginning as I have zero experience with Android programming.

    The android platform is HUGE and it was a pretty daunting task at first to get started with, knowing that I have to write production-level code in only a few weeks and on a topic that is so new to me. The first thing I did was to interact with my mentor on what is being expected out of it. So I was tasked with creating a media session for android. Kasts was already ported to android but when there is media content playing on android, there is just no way to control it from outside the app. This is where media sessions come in. They provide a universal way to interact with the underlying audio player. Media sessions are to Android what MPRIS is for Linux. A media session allows an app to expose playback externally and to receive commands in the form of physical buttons pressed (play/pause button on an earpiece or TV remotes or the Google assistant).

GNOME and KDE GSoC Reports

  • Arijit Kundu: GSoC 2021 | Faces of GNOME

    As Google Summer of Code 21 comes to an end, the 3-month long journey has been nothing short of amazing. From developing the UI, reading documentations to adding new features and fixing issues. I am ecstatic to share that mostly all of the milestones for the development of the Faces of GNOME are complete and the entire source code can be found at GitLab. This is a summary of all the work done during and before the GSoC period and plans post-GSoC.

  • KDE Connect iOS Wrapping up GSoC 2021: Reflections

    As GSoC comes to a close, here are some thoughts of reflection that I would like to share regarding the past months working on the KDE Connect iOS 2021 project with the KDE Community. I’m usually not a fan of talking about how “things could have gone that’ll lead to a better present” as I prefer to focus on the present and the focus rather than the past, but there might be some of that vibe here.

Adding Custom Stamps Support To Okular

  • Adding Custom Stamps Support To Okular

    Google Summer of Code is almost finished, and it’s time for me to wrap up and present my work done so far during this period. It has been an awesome, and fruitful journey, I really learned a lot and I enjoyed every bit of it. In this blog post, I’d like to present all of the work done, the challenging parts, as well as the future work that I’m planning to do. Before I continue to representing the work, I’d like to thank Albert for helping me through this period and for his great efforts and continuous support, it’s much appreciated.

    [...]

    Most of the work done on Okular Side was on the PDF Generator. Okular has multiple generators that are used to talk to the corresponding library. One of those generator is the PDF Generator, which talks directly to the Qt5 Frontend of Poppler. Mainly, we modified the current behavior to support calling the new APIs. There were some challenges in this particular part that I’m going to talk about in detail below. However, all of the modifications were only related to stamp anontations. We needed first to disable Okular’s rendering for stamps and only rely on Poppler’s rendering, and whenever a new Stamp gets added we load its QImage and pass it to the Qt5 API. This way we’re sure that any new stamps get added by Okular will have AP streams and other PDF viewers will be able to understand and render them.

Report for GSoC by Suraj Kumar Mahto (KDE)

  • Suraj Kumar Mahto: Winding up GSoC 2021

    Here comes the ending of the 10 week GSoC program. This project has been a roller coaster ride for me. With initial weeks of struggling to understand the large codebase to this point. Week 9-10 revolved around testing all the changes done in the coding period. I had a virtual meet on the 7th of August with mentors. Thank you to them to organize a meet of their schedule,
    The meet after many weeks was great. Mentors asked for my feedback about the current progress. I presented my work and discussed some possible bugs that I found while working on the project. One of which was the renaming of quotes not working. Thomas said that it was solved a few days ago but not in the master branch since my ongoing work was in a branch off the master.
    We discussed how to rebase my branch from upstream and make it merge ready. I followed the instruction of mentors to demonstrate the working of kmymoney using sample data.
    We found that the GNUCash plugin doesn’t seem to work after changes. It later worked(probably wasn’t working due to a linking error with my local alkimia installation). The equity price update doesn’t seem to work. I think it was because of the incomplete porting of webpricequote APIs since I commented on all the csvquote usage which is to be ported after the GSoC timeline.

Pavit Kaur: GSoC 2021: Final Evaluation

  • Pavit Kaur: GSoC 2021: Final Evaluation

    Debian Continuous Integration is Debian’s CI platform. It runs tests on the packages published in the Debian archive, and today is used to control migration of packages from unstable, Debian’s development area, to testing, the area of the archive where the next Debian release is being prepared. This makes it a crucial part of Debian’s infrastructure.

    The web platform shows the results of all the tests executed. Debian CI provides developers both API and a GUI Self-Service section to request tests for the packages and get information on test history.

    This project involves implementing incremental improvements to the platform, making it easier to use and maintain.

KDE Connect iOS Wrapping up GSoC 2021: Plans for the Future

  • KDE Connect iOS Wrapping up GSoC 2021: Plans for the Future

    School ended late for me in mid-June (which ate into the GSoC coding period), but it will also be starting late in late September. Therefore, the month after the end of GSoC would still be a suitable time for me to continue contributing to the project whenever my schedule fits and carry on implementing parts of the projects that either didn’t make it into the GSoC timeline or were delayed throughout GSoC. With a solid, bridged foundation between Swift and Objective-C and a Plugin structure already in place, hopefully, things will be fairly straightforward from here.

    Since many crucial parts of the app, e.g the UI/UX, Plugins, etc. were revamped in Swift, this also opens up many possibilities for other interesting additions to the project. The Catalyst framework, which allows cross-compatibility between iOS and macOS (both Apple Silicon and x86) is only a checkbox (and perhaps some UI and backend tweaking) away. And adding Widgets for iOS >=14 and perhaps even a watchOS companion app is also on the table. SwiftUI’s accessibility features are also very straightforward e.g being able to configure lines for the iOS screen reader with a few lines of code. The future potential and possibility of KDE Connect iOS seem broad and wide, and hopefully, we would be able to get to at least some of them.

KDE GSOC: Thanks and Work Product

  • KDE GSOC: Thanks and Work Product

    First of all: A big thanks to my mentor Jasem Mutlaq and the KStars Team.

    Jasem, you were extremely helpful whilst leaving me a lot of freedom. With patience you have endured my mood swings and occasional panics Tongue. It has always been a pleasure working with you and I am certain that this will continue to be the case.

    Furthermore, the rest of the KStars Team, especially Akarsh Simha, Wolfgang Reissenberger and Robert Lancaster who have found bugs, helped me to debug them and suggested improvements1.

    I also thank Yuri Chornoivan for correcting all the typos that I’ve inadvertently introduced into the handbook and the comments in the code.

LibreOffice and GNOME GSoC Reports

  • Final Report - GSoC - 100 Paper Cuts | Bayram Çiçek’s website

    I’m very happy that we all reached the end of GSoC. During that time, I know that I had a responsibility for doing everything that I can. Therefore I worked hard, tried to get familiar with the LibreOffice community and worked on as many bugs as I can.

    I learned a lot of things during the GSoC. Although GSoC is finished, I will definitely continue to contribute to LibreOffice. I am really happy to be a part of the LibreOffice community and GSoC.

  • Manuel Genovés: Wrapping up GSoC 2021

    This year’s GSoC has been a great opportunity to learn and to contribute to the GNOME project. Let’s recapitulate what has been done in the libadwaita animations project, what is left to do, and how the future looks like.

Debian GSoC

  • Just a Blog: Clojure CLI Tools in Debian - GSoC 2021 Partial Evaluation Report

    According to my original proposal, I should have completed all four tasks during Coding I. Looking back, the main lesson from these past weeks is a known classic: my timeline was too optimistic: I definitely underestimated the difficulty of the packaging process. Out of the four tasks, I only finished the first one.

  • Just a Blog: Clojure CLI Tools in Debian - GSoC 2021 Final Report

    Whereas the raw data may not sound by itself very positive, my personal conclusion is. This is, whereas I didn’t fully finish the required deliverables envisioned in my original proposal, I do feel I am much closer to, eventually, becoming a Debian Developer. So, by all means, I consider this project has had a positive outcome.

Alejandro Domínguez: Multi-account support in Fractal-next: GSoC

  • Alejandro Domínguez: Multi-account support in Fractal-next: GSoC final report

    After another month of work and getting a bit of a deeper hang of some GTK4 mechanisms like GtkExpression, the 2021 edition of Google Summer of Code comes to an end.

    In previous posts I explained my journey towards being able to implement an account switcher, using the new ListModel machinery in the end. While I already worked on Fractal in 2020, this time I did my task over a clean slate, given that a complete rewrite of Fractal was started.

    The design outlined by Tobias Bernard has been implemented as he said, with the exception of multi-window support. However, it is not fully functional yet given the appearance of two weird bugs. The most notable one is that when clicking over any user entry it does not change the GtkStack page even though the signal handler calls the appropriate method. Initially it worked right, but this bug got in the code out of nowhere in the middle of the development process. Another issue is that multiple user entries in the switcher can appear as selected at the same time. Both problems have been diagnosed for days both by me and Julian Sparber and we found nothing clear. We are not even sure if we are hitting a bug in GTK4. I will update this section when we discover what’s going on and fix the issues. Once that is tackled, the main MR will be merged and this work will be part of Fractal.

[KDE] Ezike Ebuka: Week 10 11 kdeso

  • Ezike Ebuka: Week 10 11 kdesoc

    As the end of google summer of code draws near most of the time is used to write test, fix bugs and possibly add new printers.

    For classes that works with OS paths, i had to make the path consisistent between operating systems see the commit below.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

More in Tux Machines

today's howtos

  • How To Install Cinnamon on Debian 11 - idroot

    In this tutorial, we will show you how to install Cinnamon on Debian 11. For those of you who didn’t know, Cinnamon is the default desktop environment of the Linux Mint distribution which offers advanced features and a traditional user experience. Cinnamon is also available as an optional desktop for other Linux distributions like Ubuntu, Fedora, Arch Linux, OpenSUSE, etc. This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you through the step-by-step installation of the Cinnamon desktop environment on a Debian 11 (Bullseye).

  • Run Nexus Repository Behind Nginx Reverse Proxy - kifarunix.com

    In this tutorial, you will learn how to run Nexus repository behind Nginx reverse proxy. Nginx can be configure to proxy HTTP requests. In this setup, Nginx receives requests and passes it onto specified proxied server, fetches the response, and sends it back to the client.

  • Linux Foundation to introduce new DevOps Bootcamp
  • SUSE documentation survey 2021 – some results
  • How to install Friday Night Funkin: Neo on a Chromebook

    Today we are looking at how to install Friday Night Funkin: Neo on a Chromebook. Please follow the video/audio guide as a tutorial where we explain the process step by step and use the commands below.

  • How to use the Buttercup password manager on Linux

    Buttercup is an advanced, open-source password vault. It encrypts your passwords with AES 256bit cryptography to keep them safe. If you’re tired of proprietary password solutions on Linux and want something open-source, you’ll love this guide. In this tutorial, we’ll go over how to install Buttercup on Linux. We’ll also show you how to set up your password vault and generate a secure password. Note: Buttercup is also available for iOS and Android in their respective app stores.

  • How to use YouTube Music on the Linux desktop

    YouTube Music is an excellent service. But, sadly, there is no official client for Linux users to enjoy the service. Thankfully, the community has taken it upon itself to create an unofficial YouTube Music app. Here’s how to use it on your system.

  • How to use the AuthPass password manager on Linux

    AuthPass is an open-source password manager for Android, iOS, Linux, Mac OS, and Windows. It is secure and a great way to save your passwords and sensitive information. In this guide, we’ll show you how to set up AuthPass on Linux and how to use it too.

  • How to install Zoom on Elementary OS 6.0 - Invidious

    In this video, we are looking at how to install Zoom on Elementary OS 6.0.

  • How to Install and Configure RabbitMQ on Debian 11

    RabbitMQ is a free, open-source and one of the most popular message broker software. It supports multiple messaging protocols and uses plugins to communicate with popular messaging solutions like MQTT. A message broker is an application that stores messages for an application. Whenever an application wants to send data to another application, the app publishes the message onto the message broker. RabbitMQ can be deployed in distributed configurations to meet high-scale, high-availability requirements. In this post, we will show you how to install and configure RabbitMQ message broker software on Debian 11.

  • How to Create an Amazon Machine Image (AMI) and use it on AWS

    An Amazon Machine Image (AMI) provides the information required to launch an instance. An EC2 instance can not be launched without an AMI. We can create as many instances as we want from a single AMI when we need multiple instances with the same configuration. To create an instance we can use readily available AMI or we can create our own AMI. To create a custom AMI we need to first launch an instance using one of the available AMIs, make the required configuration on the instance and then use that instance to create an AMI. Instances launched from this new custom AMI include the customizations that we made when we created the AMI. We can create AMIs from either running or stopped instances. Once we create an AMI, we can either keep it private so that only we can use it, or we can share it with a specified list of AWS accounts. We can also make our custom AMI public so that the community can use it.

New bash programming articles

  • How to use bash aliases

    Most of the users like to use shortcuts for running commands. There are many commands in Ubuntu that we need to execute regularly. It will be very helpful for us if we can run those common commands by typing shortcut commands. Using bash aliases, Ubuntu users can easily create shortcut commands of the large commands those are used frequently. Bash aliases not only make the task easier but also save the time of the users. The user can declare alias temporary or permanently. The temporary aliases can be used as long as the session of the user exists. If the user wants to use shortcut commands every time the session starts, then he or she has to create permanent alias by using ~/.bashrc and ~/.bash_profile files. This tutorial shows how you can create and use bash aliases in Ubuntu by using some examples.

  • Bash Arithmetic Operation

    Using bash aliases, Ubuntu users can easily create shortcut commands of the large commands those are used frequently. Bash aliases not only make the task easier but also save the time of the users. The user can declare alias temporary or permanently. How to use bash aliases is explained in this article.

  • How to use arrays in Bash

    When you want to use multiple data using a single variable in any programming language, you have to use array variables. The list of data can be assigned and used using an array variable. Bash is a weakly typed language that does not require defining any data type for declaring the variable. Array declaration in bash is a little bit different from other standard programming languages. Two types of the array can be declared in bash. Numeric array and associative array. If the index of an array is numeric, then it is called a numeric array, and if the index of an array is a string, it is called an associative array. How you can declare a numeric array, associative array, and iterate elements of the array using for loop are described with examples in this tutorial.

  • Bash Head and Tail Command

    Many types of commands are available in bash to show the content of a file. Most commonly used commands are ‘cat’, ‘more’, ‘less’, ‘head’ and ‘tail‘ commands. To read the entire file, ‘cat’, ‘more’, and ‘less‘ commands are used. But when the specific part of the file is required to read then ‘head‘ and ‘tail‘ commands are used to do that task. ‘head‘ command is used to read the file from the beginning and the ‘tail‘ command is used to read the file from the ending. How you can use ‘head‘ and ‘tail‘ commands with different options to read the particular portion of a file is shown in this tutorial. You can use any existing file or create any new file to test the functions of ‘head‘ and ‘tail‘ commands. Create two text files named products.txt and employee.txt with the following content to show the use of ‘head‘ and ‘tail‘ commands.

  • Bash Range

    You can iterate the sequence of numbers in bash in two ways. One is by using the seq command, and another is by specifying the range in for loop. In the seq command, the sequence starts from one, the number increments by one in each step, and print each number in each line up to the upper limit by default. If the number starts from the upper limit, then it decrements by one in each step. Normally, all numbers are interpreted as a floating-point, but if the sequence starts from an integer, the decimal integers will print. If the seq command can execute successfully, then it returns 0; otherwise, it returns any non-zero number. You can also iterate the sequence of numbers using for loop with range. Both seq command and for loop with range are shown in this tutorial by using examples.

  • Bash Script User Input

    In the seq command, the sequence starts from one, the number increments by one in each step, and print each number in each line up to the upper limit by default. If the seq command can execute successfully, then it returns 0; otherwise, it returns any non-zero number. Two ways to generate the sequence of numbers are shown with examples in this article.

  • BASH while loop examples

    Three types of loops are used in bash programming. While loop is one of them. Like other loops, a while loop is used to do repetitive tasks. This article shows how you can use a while loop in a bash script by using different examples.

Mark Text is a Minimal Open Source Markdown Editor

Markdown is developers’ favorite text writing language. It is so clean, simple and minimal and allows developers to focus only on the writing process itself, rather than the writing syntax or other trivial issues. That’s why, it is essential that you use a minimal, distraction-free and clean markdown editor to write or edit your markdown files, so that you can find comfort in your long writing sessions (E.g for documentation or similar). Luckily, many open source markdown editors exist for all types of users and their use cases. Today we’ll be seeing Mark Text; a minimal open source application for writing markdown documents. Read more

Debian's Antoine Beaupré: The Neo-Colonial Internet

Sergey Brin and Larry Page are the Lewis and Clark of our generation. Just like the latter were sent by Jefferson (the same) to declare sovereignty over the entire US west coast, Google declared sovereignty over all human knowledge, with its mission statement "to organize the world's information and make it universally accessible and useful". (It should be noted that Page somewhat questioned that mission but only because it was not ambitious enough, Google having "outgrown" it.) The Lewis and Clark expedition, just like Google, had a scientific pretext, because that is what you do to colonize a world, presumably. Yet both men were military and had to receive scientific training before they left. The Corps of Discovery was made up of a few dozen enlisted men and a dozen civilians, including York an African American slave owned by Clark and sold after the expedition, with his final fate lost in history. And just like Lewis and Clark, Google has a strong military component. For example, Google Earth was not originally built at Google but is the acquisition of a company called Keyhole which had ties with the CIA. Those ties were brought inside Google during the acquisition. Google's increasing investment inside the military-industrial complex eventually led Google to workers organizing a revolt although it is currently unclear to me how much Google is involved in the military apparatus. Other companies, obviously, do not have such reserve, with Microsoft, Amazon, and plenty of others happily bidding on military contracts all the time. [...] The Internet is, if not neo-colonial, plain colonial. The US colonies had cotton fields and slaves, we have disposable cell phones and Foxconn workers. Canada has its cultural genocide, Facebook has his own genocides in Ethiopia, Myanmar, and mob violence in India. Apple is at least implicitly accepting the Uyghur genocide. And just like the slaves of the colony, those atrocities are what makes the empire run. Read more