diff --git a/static/content/posts/blogs/configuring-logitech-mouse-on-fedora.md b/static/content/posts/blogs/configuring-logitech-mouse-on-fedora.md
new file mode 100644
index 0000000..c9e2598
--- /dev/null
+++ b/static/content/posts/blogs/configuring-logitech-mouse-on-fedora.md
@@ -0,0 +1,406 @@
+---
+title: Configure Logitech MX Master 3S using LogiOps
+date: 2023-09-25T20:47:00
+category: blogs
+tags: [fedora, mouse, "logid", "logitech", "logiops", "mx-master-3s"]
+image: "/images/mouse-building.webp"
+description: "I brought Logitech MX Master 3S mouse and it is a great mouse. It
+ has a lot of features and I am still exploring them. One of the features is to
+ configure the mouse using LogiOps. LogiOps is a command line tool to configure
+ Logitech devices on Linux distos."
+---
+
+I brought Logitech MX Master 3S mouse, and it is a great mouse. It has a lot of
+features, and I am still exploring them. One of the features is to configure the
+mouse using LogiOps. LogiOps is a command line tool to configure Logitech
+devices on Linux distros, since Logitech provides official tools to configure the
+mouse on Windows and macOS.
+
+## Logitech MX Master 3S
+
+Although I use keyboard shortcuts for most of my work, I still use the mouse a
+lot. It is usually very helpful to have a good mouse, especially when you have
+to scroll thousands of lines of code and documentation. This mouse features a
+superfast scroll wheel that can scroll thousands of lines in a second. In total
+there are 7 buttons on the mouse. The mouse can be connected to the computer via
+Bluetooth or a USB receiver. It can also be connected to multiple devices at the
+same time and can be switched between them using a button on the bottom of the
+mouse. The mouse can be charged using a USB-C cable, and it can be used while
+charging as well. You can see a 3D model of the mouse below. You can rotate the model using your
+mouse or touchpad.
+
+
+
+The best part about this mouse is that it is very comfortable to use and highly
+customizable. You can customize most of the buttons and even extend the functionality
+by adding gestures. You can also customize the scroll wheel and the scroll
+direction as well as the DPI and the pointer speed. All this can be done using
+LogiOps.
+
+## Installing LogiOps
+
+It is an open source tool with code available on [GitHub](https://github.com/PixlOne/logiops).
+This blog post will show you how to install and configure LogiOps on Fedora. The
+steps should be similar for other Linux distros and other Logitech mice as well.
+You can directly install using `dnf` but for latest version, you can build from
+source.
+
+- Install the dependencies.
+
+ ```bash
+ sudo dnf install cmake libevdev-devel systemd-devel libconfig-devel gcc-c++ glib2-devel
+ ```
+
+- Clone the repository.
+
+ ```bash
+ git clone https://github.com/PixlOne/logiops.git
+ ```
+
+- Build and install.
+
+ ```bash
+ cd logiops
+ mkdir build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Release ..
+ make
+ sudo make install
+ ```
+
+## Configuring LogiOps
+
+In this blog post I will show you what buttons are available and how you can configure
+actions (*keypress* or *gestures*) on them. Let us take a look at all the available buttons.
+
+
+
+You can also get a table of available buttons, their CID and available features
+by running logid in debug mode.
+
+```bash
+sudo logid -d
+```
+
+You can get output like this:
+
+```log
+[INFO] Device found: MX Master 3S on /dev/hidraw4:255
+[DEBUG] /dev/hidraw4:255 remappable buttons:
+[DEBUG] CID | reprog? | fn key? | mouse key? | gesture support?
+[DEBUG] 0x50 | | | YES |
+[DEBUG] 0x51 | | | YES |
+[DEBUG] 0x52 | YES | | YES | YES
+[DEBUG] 0x53 | YES | | YES | YES
+[DEBUG] 0x56 | YES | | YES | YES
+[DEBUG] 0xc3 | YES | | YES | YES
+[DEBUG] 0xc4 | YES | | YES | YES
+[DEBUG] 0xd7 | YES | | | YES
+[DEBUG] Thumb wheel detected (0x2150), capabilities:
+[DEBUG] timestamp | touch | proximity | single tap
+[DEBUG] YES | YES | YES | YES
+[DEBUG] Thumb wheel resolution: native (18), diverted (120)
+```
+
+You can see thumb wheel has some cool features like touch, proximity and single
+tap. Furthermore, you can configure these features in the configuration file. You can also
+configure the thumb wheel resolution.
+
+### Create a configuration file
+
+LogiOps uses a configuration file to configure the mouse. By default, the
+configuration file is located at `/etc/logid.cfg`. If you cannot
+find the file, you can create one. You can copy the default configuration file
+and edit it. You can find the default configuration file
+[here](https://github.com/PixlOne/logiops/blob/main/logid.example.cfg). You can
+read the documentation for the configuration file in [this wiki](https://github.com/PixlOne/logiops/wiki/Configuration).
+
+```bash
+sudo touch /etc/logid.cfg
+```
+
+You can also pass a custom path for the configuration file using `-c` flag. But
+it never worked for me, so I am going to skip this part.
+
+### Understanding the configuration options
+
+You can obviously read the documentation for the configuration file, but I will
+focus on easy understanding of the options that will be more than enough for most
+users. I will be building the configuration file step by step and finally show
+you the complete configuration file.
+
+- Add a device and define its name
+
+ ```cpp
+ devices: (
+ {
+ name: "MX Master 3S";
+ }
+ )
+ ```
+
+- Configure smartshift
+
+ ```cpp
+ smartshift:
+ {
+ on: true;
+ threshold: 30;
+ torque: 50;
+ }
+ ```
+
+- Configure hires scrolling
+
+ ```cpp
+ hiresscroll:
+ {
+ hires: true;
+ invert: false;
+ target: false;
+ }
+ ```
+
+- Configure dpi
+
+ ```cpp
+ dpi: 2000;
+ ```
+
+Next we will see how to configure the buttons.
+
+#### Buttons
+
+Every button has a CID. You can see the CID of the buttons in the debug output
+as well as in the image above. Every remappable button has some actions that can
+be configured. You can configure a keypress or a gesture or a combination of
+both.
+
+There can be two situations when you configure a button. Either you want to
+configure the button for a specific keypress, or you want to configure the button
+for a specific gesture. You can also configure the button for both keypress and
+gesture. In this case, the keypress will be triggered when you press the button
+and the gesture will be triggered when you press the button and move the mouse
+in a specific direction. The buttons can also be configured to toggle specific
+fetcures of the mouse like smartshift, hires scrolling, etc.
+
+First create a button section for the button you want to configure.
+
+```cpp
+buttons: (
+ {
+
+ },
+ {
+
+ }
+)
+```
+
+- Configure only a keypress, let's configure the wheel button to take screenshot
+
+ ```cpp
+ {
+ cid: 0x52;
+ action =
+ {
+ type: "keypress";
+ keys: ["KEY_PRINT"]
+ };
+ }
+ ```
+
+- Configure the top button to toggle SmartShift
+
+ ```cpp
+ {
+ cid: 0xc4;
+ action =
+ {
+ type: "ToggleSmartShift";
+ }
+ }
+ ```
+
+- configure the gesture button for the following (sway based gestures)
+ - keypress: Opens Terminal
+ - Up gesture: Snaps current window to top
+ - Down gesture: Snaps current window to bottom
+ - Left gesture: Snaps current window to left
+ - Right gesture: Snaps current window to right
+
+ ```cpp
+ {
+ cid: 0xc3;
+ action =
+ {
+ type: "Gestures";
+ gestures: (
+ {
+ direction: "Up";
+ mode: "OnRelease";
+ action =
+ {
+ type: "Keypress";
+ keys: ["KEY_LEFTMETA", "KEY_LEFTSHIFT", "KEY_UP"];
+ };
+ },
+ {
+ direction: "Down";
+ mode: "OnRelease";
+ action =
+ {
+ type: "Keypress";
+ keys: ["KEY_LEFTMETA", "KEY_LEFTSHIFT", "KEY_DOWN"];
+ };
+ },
+ {
+ direction: "Left";
+ mode: "OnRelease";
+ action =
+ {
+ type: "Keypress";
+ keys: ["KEY_LEFTMETA", "KEY_LEFTSHIFT", "KEY_LEFT"];
+ };
+ },
+ {
+ direction: "Right";
+ mode: "OnRelease";
+ action =
+ {
+ type: "Keypress";
+ keys = ["KEY_LEFTMETA", "KEY_LEFTSHIFT", "KEY_RIGHT"];
+ }
+ },
+ {
+ direction: "None"
+ mode: "OnRelease";
+ action =
+ {
+ type: "Keypress";
+ keys: ["KEY_LEFTMETA", "KEY_ENTER"];
+ }
+ }
+ );
+ };
+ }
+ ```
+
+The keypress while using with gestures is defined as direction **None**. These are
+just some examples, you can go through the documentation to see all the available
+options.
+
+### Complete configuration file
+
+Here is the complete configuration file that I use.
+
+```cpp
+devices: (
+{
+ name: "MX Master 3S";
+ smartshift:
+ {
+ on: true;
+ threshold: 30;
+ torque: 50;
+ };
+ hiresscroll:
+ {
+ hires: true;
+ invert: false;
+ target: false;
+ };
+ dpi: 2000;
+
+ buttons: (
+ {
+ cid: 0xc3;
+ action =
+ {
+ type: "Gestures";
+ gestures: (
+ {
+ direction: "Up";
+ mode: "OnRelease";
+ action =
+ {
+ type: "Keypress";
+ keys: ["KEY_LEFTMETA", "KEY_LEFTSHIFT", "KEY_UP"];
+ };
+ },
+ {
+ direction: "Down";
+ mode: "OnRelease";
+ action =
+ {
+ type: "Keypress";
+ keys: ["KEY_LEFTMETA", "KEY_LEFTSHIFT", "KEY_DOWN"];
+ };
+ },
+ {
+ direction: "Left";
+ mode: "OnRelease";
+ action =
+ {
+ type: "Keypress";
+ keys: ["KEY_LEFTMETA", "KEY_LEFTSHIFT", "KEY_LEFT"];
+ };
+ },
+ {
+ direction: "Right";
+ mode: "OnRelease";
+ action =
+ {
+ type: "Keypress";
+ keys = ["KEY_LEFTMETA", "KEY_LEFTSHIFT", "KEY_RIGHT"];
+ }
+ },
+ {
+ direction: "None"
+ mode: "OnRelease";
+ action =
+ {
+ type: "Keypress";
+ keys: ["KEY_LEFTMETA", "KEY_ENTER"];
+ }
+ }
+ );
+ };
+ },
+ {
+ cid: 0x52;
+ action =
+ {
+ type: "Keypress";
+ keys: ["KEY_RIGHTCTRL", "KEY_PRINT"]
+ };
+ },
+ {
+ cid: 0xc4;
+ action =
+ {
+ type: "ToggleSmartshift";
+ };
+ }
+ );
+}
+);
+```
+
+## Post Configuration
+
+Once configured you will need to restart the logid service.
+
+```bash
+sudo systemctl restart logid
+```
+
+Voila! You have successfully configured your Logitech mouse.
+
+## References
+
+- [LogiOps](https://github.com/PixlOne/logiops)
+- [My Configurations](https://gist.github.com/avinal/2acfc0ac2952f4354dd3b4b78b8ccb2b)
diff --git a/static/content/posts/posts.json b/static/content/posts/posts.json
index c070bfc..36f35da 100644
--- a/static/content/posts/posts.json
+++ b/static/content/posts/posts.json
@@ -1 +1 @@
-[{"category":"blogs","date":"2023-07-19T18:08:00","description":"In the last post, I described how to install Tekton Results on a Kubernetes cluster. In this post, we will see how to use Tekton Results to store the results of a PipelineRun and how to retrieve them later.","image":"/images/tekton-results-retrieve.webp","slug":"fetching-data-from-tekton-results","title":"Tekton Results - Storing and Retrieving Results"},{"title":"New Build System and improving CI/CD workflow","date":"2023-03-30T21:14:00","slug":"my-gsoc-proposal","category":"gsoc","description":"It has been 2 years since I was a Google Summer of Code Student. It was an outstanding opportunity and I really enjoyed working on the project. Not only that, but it added numerous skills to my resume and polished many others. Today I want to make my proposal public, that helped me get selected.","image":"/images/panda-engineer.webp"},{"title":"Tekton Results to the Rescue","date":"2023-03-16T20:47:00","slug":"hey-tekton-results","category":"blogs","image":"/images/tekton-results-wall.webp","description":"Tekton Results aims to help users logically group CI/CD workload history and separate out long term result storage away from the Pipeline controller."},{"title":"Developing Minimal Tekton Server","slug":"lovely-dangerous-things-redhat","image":"/images/development.webp","description":"This blog is a descreptive account of the development of Minimal Tekton Server. This is highly technical in nature, so please make sure that you have sufficient knowledge about Golang, Docker, Kubernetes and TektonCD.","date":"2022-02-27T20:47:00","category":"development"},{"title":"I am loving it! RedHat","slug":"i-am-loving-it-redhat","image":"/images/fedora-wall.webp","description":"I made it to the Red Hat as a DevTools intern. This post is about onboarding and how I prepared myself for working on the actual project.","date":"2022-02-25T20:47:00","category":"development"},{"title":"GSoC'21 Final Evaluation Report","slug":"final-evaluation","image":"/images/gsoc-wall.webp","description":"This is the final report of my Google Summer of Code 2021 at The FOSSology Project. One of the major improvements over the previous build system is faster build times. CMake generates parallel build-enabled configurations for all generators.","date":"2021-08-19T23:07:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 10","slug":"meeting-11","image":"/images/tech-wallpaper-12.webp","description":"This week I implemented CMake testing configuration and fixed most of the tests. As of now all but 5 tests are working fine.","date":"2021-08-14T22:47:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 9","slug":"meeting-10","image":"/images/tech-wallpaper-11.webp","description":"This week I worked on CMake testing configuration. Most of the time was spent understanding the previous testing architecture.","date":"2021-08-06T22:47:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 8","slug":"meeting-9","image":"/images/tech-wallpaper-10.webp","description":"This week I implemented CMake packaging configuration for FOSSology. The new configuration fixes issue with previous packaging configurations. It also retains the component wise installation features.","date":"2021-07-30T22:47:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 7","slug":"meeting-8","image":"/images/tech-wallpaper-9.webp","description":"This week I implemented CMake packaging configuration for FOSSology. There were two meetings in this week and this report covers both of them.","date":"2021-07-23T22:22:00","category":"gsoc"},{"title":"GSoC'21 First Evaluation Report","slug":"first-evaluation","image":"/images/tech-wallpaper.webp","description":"In the first phase of GSoC 2021 at The FOSSology Project, I have completed the desired milestone. As of now, FOSSology can be installed completely via CMake and most of the components are working fine in initial testing.","date":"2021-07-14T12:29:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 5","slug":"meeting-7","image":"/images/tech-wallpaper-8.webp","description":"This week was dedicated to perfecting CMake Installation Configuration. The installation was tested and bugs were discussed.","date":"2021-07-09T22:22:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 4.2","slug":"meeting-6","image":"/images/tech-wallpaper-7.webp","description":"In this eighth meeting questions related to post install generation were asked. This was a short meeting.","date":"2021-07-02T22:22:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 4.1","slug":"meeting-5","image":"/images/tech-wallpaper-6.webp","description":"In this seventh meeting question related to installing the FOSSology were discussed.","date":"2021-06-29T23:22:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 3","slug":"meeting-4","image":"/images/tech-wallpaper-5.webp","description":"In this fifth meeting, question related to versioning and obtaining commit hash were discussed, this was a short meeting.","date":"2021-06-22T23:22:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 2","slug":"meeting-3","image":"/images/tech-wallpaper-4.webp","description":"In this fourth meeting, a lot of questions were discussed related to the existing build system and what things we have to drop or modify.","date":"2021-06-18T23:30:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 1","slug":"meeting-2","image":"/images/tech-wallpaper-3.webp","description":"In this third meeting, I demoed the working build system, currently building executables and libraries, a lot of queries were resolved about writing version files and attaching commits and hashes to the build.","date":"2021-06-11T23:30:00","category":"gsoc"},{"title":"GSoC'21 Community Bonding Week 1","slug":"meeting-1","image":"/images/tech-wallpaper-2.webp","description":"In this second meeting points over default Makefiles were discussed. Ninja can be used as an alternative for Makefiles.","date":"2021-06-04T22:30:00","category":"gsoc"},{"title":"GSoC'21 Community Bonding Week 0","slug":"meeting-0","image":"/images/tech-wallpaper-1.webp","description":"This meeting is the first of the recurring weekly GSoC project meetings. In this meeting the current status of progress according to the proposal was discussed and some topics related to current build system based on Make and the new build system based on CMake.","date":"2021-05-28T21:30:00","category":"gsoc"},{"title":"Hello CMake","slug":"cmake-basics","image":"/images/cmake-office.webp","description":"CMake stands for Cross-platform Make. Normally, a build tool like Make will parse a configuration file (Makefile) that contains all the commands required to build an artifact based on the source files and other resources inside the project.","date":"2021-05-24T23:56:00","category":"development"},{"title":"How I implemented WakaTime embeddable Coding Graph GHA?","slug":"wakatime-readme","image":"/images/waka.webp","description":"If you use WakaTime to track your coding activity. You can add that to your README as a bar graph or embed it in your blog/portfolio. Just add this action to any of your repositories and there you have it.","date":"2021-02-02T21:47:00","category":"development"},{"title":"HRT (Hudson River Trading) Systems Internship Interview Experience","slug":"hrt-interview-1","image":"/images/hrt-singapore.webp","description":"Questions were clear and of medium level. But they were designed in such a way that you must know the basics before you could attempt. Also, they expected a clear and concise approach.","date":"2021-01-04T21:47:00","category":"blogs"},{"title":"Move WSL 2 Safely to another Drive","slug":"wsl1","image":"/images/windows-wsl2.webp","description":"It is real pain when you have small SSD and Windows Subsystem for Linux (WSL) is growing exponentially in size. There is no easy way to move the WSL installation to another drive. Here in this blog I will discuss how to tackle this problem with bite size steps.","date":"2020-12-31T19:07:00","category":"development"},{"title":"Create the VLC User Documentation for one Mobile Port(Android)","slug":"gsod2020-report","image":"/images/day-of-cone.webp","description":"The project was to Create the VLC User Documentation for Android Mobile Port which was previously hosted on VLC wiki pages. The major portion of this was to start everything from scratch including chapter separation, section organization.","date":"2020-12-01T23:47:00","category":"blogs"},{"title":"प्रेम रतन धन पायो","slug":"for-sunshine","image":"/images/fedora-night.webp","description":"प्रकृति की सुंदरता और कलाकारी हिमालय की कण-कण में झलकती है। प्रकृति ने प्रेम को भी हिमालय के जितना ही विशाल और अलौकिक बनाया है । ये एक अलग चर्चा का विषय है कि हिमालय पहले आया या प्रेम। मैं तो प्रेम के पक्ष में हूँ । वो हर अणु-परमाणु जिन्होंने इतने बड़ा पहाड़ खड़ा किया वो सब आपस में प्रेम से बंधे हुए हैं। ये पृथ्वी, सूर्य, चंद्रमा, आकाश-गंगा इत्यादि सब प्रेम से बंधे हुए हैं","date":"2019-09-21T15:47:00","category":"articles"},{"title":"The Big Red Ants","slug":"big-red-ants","image":"/images/ants.webp","description":"As I observed them making and reparing their nests, I concluded that they are laborious and intellectual. They create their nests bybinding two or more leaves (maybe up to 500) together. They stich the leaves using a stinky white substance either excreted by themselves or from trees.","date":"2012-02-27T22:47:00","category":"articles"}]
\ No newline at end of file
+[{"title":"Configure Logitech MX Master 3S using LogiOps","date":"2023-09-25T20:47:00.000Z","category":"blogs","image":"/images/mouse-building.webp","description":"I brought Logitech MX Master 3S mouse and it is a great mouse. It has a lot of features and I am still exploring them. One of the features is to configure the mouse using LogiOps. LogiOps is a command line tool to configure Logitech devices on Linux distos.","slug":"configuring-logitech-mouse-on-fedora"},{"category":"blogs","date":"2023-07-19T18:08:00","description":"In the last post, I described how to install Tekton Results on a Kubernetes cluster. In this post, we will see how to use Tekton Results to store the results of a PipelineRun and how to retrieve them later.","image":"/images/tekton-results-retrieve.webp","slug":"fetching-data-from-tekton-results","title":"Tekton Results - Storing and Retrieving Results"},{"title":"New Build System and improving CI/CD workflow","date":"2023-03-30T21:14:00","slug":"my-gsoc-proposal","category":"gsoc","description":"It has been 2 years since I was a Google Summer of Code Student. It was an outstanding opportunity and I really enjoyed working on the project. Not only that, but it added numerous skills to my resume and polished many others. Today I want to make my proposal public, that helped me get selected.","image":"/images/panda-engineer.webp"},{"title":"Tekton Results to the Rescue","date":"2023-03-16T20:47:00","slug":"hey-tekton-results","category":"blogs","image":"/images/tekton-results-wall.webp","description":"Tekton Results aims to help users logically group CI/CD workload history and separate out long term result storage away from the Pipeline controller."},{"title":"Developing Minimal Tekton Server","slug":"lovely-dangerous-things-redhat","image":"/images/development.webp","description":"This blog is a descreptive account of the development of Minimal Tekton Server. This is highly technical in nature, so please make sure that you have sufficient knowledge about Golang, Docker, Kubernetes and TektonCD.","date":"2022-02-27T20:47:00","category":"development"},{"title":"I am loving it! RedHat","slug":"i-am-loving-it-redhat","image":"/images/fedora-wall.webp","description":"I made it to the Red Hat as a DevTools intern. This post is about onboarding and how I prepared myself for working on the actual project.","date":"2022-02-25T20:47:00","category":"development"},{"title":"GSoC'21 Final Evaluation Report","slug":"final-evaluation","image":"/images/gsoc-wall.webp","description":"This is the final report of my Google Summer of Code 2021 at The FOSSology Project. One of the major improvements over the previous build system is faster build times. CMake generates parallel build-enabled configurations for all generators.","date":"2021-08-19T23:07:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 10","slug":"meeting-11","image":"/images/tech-wallpaper-12.webp","description":"This week I implemented CMake testing configuration and fixed most of the tests. As of now all but 5 tests are working fine.","date":"2021-08-14T22:47:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 9","slug":"meeting-10","image":"/images/tech-wallpaper-11.webp","description":"This week I worked on CMake testing configuration. Most of the time was spent understanding the previous testing architecture.","date":"2021-08-06T22:47:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 8","slug":"meeting-9","image":"/images/tech-wallpaper-10.webp","description":"This week I implemented CMake packaging configuration for FOSSology. The new configuration fixes issue with previous packaging configurations. It also retains the component wise installation features.","date":"2021-07-30T22:47:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 7","slug":"meeting-8","image":"/images/tech-wallpaper-9.webp","description":"This week I implemented CMake packaging configuration for FOSSology. There were two meetings in this week and this report covers both of them.","date":"2021-07-23T22:22:00","category":"gsoc"},{"title":"GSoC'21 First Evaluation Report","slug":"first-evaluation","image":"/images/tech-wallpaper.webp","description":"In the first phase of GSoC 2021 at The FOSSology Project, I have completed the desired milestone. As of now, FOSSology can be installed completely via CMake and most of the components are working fine in initial testing.","date":"2021-07-14T12:29:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 5","slug":"meeting-7","image":"/images/tech-wallpaper-8.webp","description":"This week was dedicated to perfecting CMake Installation Configuration. The installation was tested and bugs were discussed.","date":"2021-07-09T22:22:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 4.2","slug":"meeting-6","image":"/images/tech-wallpaper-7.webp","description":"In this eighth meeting questions related to post install generation were asked. This was a short meeting.","date":"2021-07-02T22:22:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 4.1","slug":"meeting-5","image":"/images/tech-wallpaper-6.webp","description":"In this seventh meeting question related to installing the FOSSology were discussed.","date":"2021-06-29T23:22:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 3","slug":"meeting-4","image":"/images/tech-wallpaper-5.webp","description":"In this fifth meeting, question related to versioning and obtaining commit hash were discussed, this was a short meeting.","date":"2021-06-22T23:22:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 2","slug":"meeting-3","image":"/images/tech-wallpaper-4.webp","description":"In this fourth meeting, a lot of questions were discussed related to the existing build system and what things we have to drop or modify.","date":"2021-06-18T23:30:00","category":"gsoc"},{"title":"GSoC'21 Coding Week 1","slug":"meeting-2","image":"/images/tech-wallpaper-3.webp","description":"In this third meeting, I demoed the working build system, currently building executables and libraries, a lot of queries were resolved about writing version files and attaching commits and hashes to the build.","date":"2021-06-11T23:30:00","category":"gsoc"},{"title":"GSoC'21 Community Bonding Week 1","slug":"meeting-1","image":"/images/tech-wallpaper-2.webp","description":"In this second meeting points over default Makefiles were discussed. Ninja can be used as an alternative for Makefiles.","date":"2021-06-04T22:30:00","category":"gsoc"},{"title":"GSoC'21 Community Bonding Week 0","slug":"meeting-0","image":"/images/tech-wallpaper-1.webp","description":"This meeting is the first of the recurring weekly GSoC project meetings. In this meeting the current status of progress according to the proposal was discussed and some topics related to current build system based on Make and the new build system based on CMake.","date":"2021-05-28T21:30:00","category":"gsoc"},{"title":"Hello CMake","slug":"cmake-basics","image":"/images/cmake-office.webp","description":"CMake stands for Cross-platform Make. Normally, a build tool like Make will parse a configuration file (Makefile) that contains all the commands required to build an artifact based on the source files and other resources inside the project.","date":"2021-05-24T23:56:00","category":"development"},{"title":"How I implemented WakaTime embeddable Coding Graph GHA?","slug":"wakatime-readme","image":"/images/waka.webp","description":"If you use WakaTime to track your coding activity. You can add that to your README as a bar graph or embed it in your blog/portfolio. Just add this action to any of your repositories and there you have it.","date":"2021-02-02T21:47:00","category":"development"},{"title":"HRT (Hudson River Trading) Systems Internship Interview Experience","slug":"hrt-interview-1","image":"/images/hrt-singapore.webp","description":"Questions were clear and of medium level. But they were designed in such a way that you must know the basics before you could attempt. Also, they expected a clear and concise approach.","date":"2021-01-04T21:47:00","category":"blogs"},{"title":"Move WSL 2 Safely to another Drive","slug":"wsl1","image":"/images/windows-wsl2.webp","description":"It is real pain when you have small SSD and Windows Subsystem for Linux (WSL) is growing exponentially in size. There is no easy way to move the WSL installation to another drive. Here in this blog I will discuss how to tackle this problem with bite size steps.","date":"2020-12-31T19:07:00","category":"development"},{"title":"Create the VLC User Documentation for one Mobile Port(Android)","slug":"gsod2020-report","image":"/images/day-of-cone.webp","description":"The project was to Create the VLC User Documentation for Android Mobile Port which was previously hosted on VLC wiki pages. The major portion of this was to start everything from scratch including chapter separation, section organization.","date":"2020-12-01T23:47:00","category":"blogs"},{"title":"प्रेम रतन धन पायो","slug":"for-sunshine","image":"/images/fedora-night.webp","description":"प्रकृति की सुंदरता और कलाकारी हिमालय की कण-कण में झलकती है। प्रकृति ने प्रेम को भी हिमालय के जितना ही विशाल और अलौकिक बनाया है । ये एक अलग चर्चा का विषय है कि हिमालय पहले आया या प्रेम। मैं तो प्रेम के पक्ष में हूँ । वो हर अणु-परमाणु जिन्होंने इतने बड़ा पहाड़ खड़ा किया वो सब आपस में प्रेम से बंधे हुए हैं। ये पृथ्वी, सूर्य, चंद्रमा, आकाश-गंगा इत्यादि सब प्रेम से बंधे हुए हैं","date":"2019-09-21T15:47:00","category":"articles"},{"title":"The Big Red Ants","slug":"big-red-ants","image":"/images/ants.webp","description":"As I observed them making and reparing their nests, I concluded that they are laborious and intellectual. They create their nests bybinding two or more leaves (maybe up to 500) together. They stich the leaves using a stinky white substance either excreted by themselves or from trees.","date":"2012-02-27T22:47:00","category":"articles"}]
\ No newline at end of file
diff --git a/static/images/mouse-building.webp b/static/images/mouse-building.webp
new file mode 100644
index 0000000..fae30b9
Binary files /dev/null and b/static/images/mouse-building.webp differ
diff --git a/static/images/mx-master-3s-buttons.webp b/static/images/mx-master-3s-buttons.webp
new file mode 100644
index 0000000..ac1b2d8
Binary files /dev/null and b/static/images/mx-master-3s-buttons.webp differ
diff --git a/static/sitemap.xml b/static/sitemap.xml
index 64f1c64..aea1291 100644
--- a/static/sitemap.xml
+++ b/static/sitemap.xml
@@ -223,9 +223,10 @@
- https://avinal.space/posts/blogs/tailscale-with-adguardhome/
+ https://avinal.space/posts/blogs/configuring-lofitech-mouse-on-fedora/
+ 2023-09-27T22:47:00+00:00
- https://avinal.space
+ https://avinal.space/images/mouse-building.webp