From c64a15fef50f1ccdd13ab04d4889c1ffb7965be0 Mon Sep 17 00:00:00 2001 From: Avinal Kumar Date: Thu, 15 Sep 2022 02:04:33 +0530 Subject: [PATCH] add support for article image Signed-off-by: Avinal Kumar --- content/posts/articles/big-red-ants.md | 3 + content/posts/development/final-evaluation.md | 280 +++++++++--------- .../development/i-am-loving-it-redhat.md | 15 +- content/posts/development/wakatime.md | 5 +- content/posts/development/wsl2-move.md | 29 +- 5 files changed, 159 insertions(+), 173 deletions(-) diff --git a/content/posts/articles/big-red-ants.md b/content/posts/articles/big-red-ants.md index 8f4ee3e..e13dfed 100644 --- a/content/posts/articles/big-red-ants.md +++ b/content/posts/articles/big-red-ants.md @@ -4,6 +4,7 @@ date: 2012-02-27 22:47 tags: [ants, sav] category: article description: 'The Big Red Ants' +image: /images/ants.jpg --- # The Big Red Ants @@ -55,3 +56,5 @@ touch their anteena to communicate. When they walk in a queue, they seem like twinkling dots and dashes. I want to conclude that **All tiny things are not really tiny. It may be as a space having infinite mysteries one has to explore it.** + +Photo Attribution : Photo by Michael Willinger from Pexels: diff --git a/content/posts/development/final-evaluation.md b/content/posts/development/final-evaluation.md index 6d9fcc3..c766d07 100644 --- a/content/posts/development/final-evaluation.md +++ b/content/posts/development/final-evaluation.md @@ -53,9 +53,9 @@ The new build system and CI brings a lot of improvements and features. The list below describes them. - CMake enforces out-of-source builds. This was already possible with - the previous build system but not a strict requirement. This feature - keeps the source code clean and makes cleaning the build artifacts - easy. (Just remove the build folder :) +the previous build system but not a strict requirement. This feature +keeps the source code clean and makes cleaning the build artifacts +easy. (Just remove the build folder :) - One of the major improvements over the previous build system is faster build times. CMake generates parallel build-enabled configurations for all generators. In our tests, the new build system is at least twice @@ -78,21 +78,16 @@ The list below describes them. ## Deliverables - +- Final Pull Request [#2075](https://github.com/fossology/fossology/pull/2075) +- Pull Request Branch [avinal/feat/buildsystem](https://github.com/avinal/fossology/tree/avinal/feat/buildsystem) +- Working Branch (individual commits) + - [avinal/feat/cmake-buildsystem](https://github.com/avinal/fossology/tree/avinal/feat/cmake-buildsystem) + - [avinal/feat/testing](https://github.com/avinal/fossology/tree/avinal/feat/testing) +- Project Issue [#1913](https://github.com/fossology/fossology/issues/1913) +- Project Discussion [#1931](https://github.com/fossology/fossology/discussions/1931) +- Weekly Reports + - [Personal Blog](https://gsoc.avinal.space) + - [FOSSology Official Blog](https://fossology.github.io/gsoc/docs/2021/buildsystem/) ### CMake Build System Tasks @@ -564,129 +559,129 @@ described below. [#2075](https://github.com/fossology/fossology/pull/2075) pull request branch. Once you are in FOSSology root, run these commands. - > ```bash - > git fetch https://github.com/avinal/fossology avinal/feat/buildsystem:buildsystem - > git checkout buildsystem - > ``` + ```bash + git fetch https://github.com/avinal/fossology avinal/feat/buildsystem:buildsystem + git checkout buildsystem + ``` 2. The first step towards building is to create a temporary directory for storing intermediate files and build artifacts. By convention we use a directory named `build`, but you can use any name. (**NOTE: For testing do not use other names**) - > ```bash - > mkdir build - > cd build - > ``` + ```bash + mkdir build + cd build + ``` 3. In the next steps, we will configure the CMake project and generate the required configurations. You can use several flags to control the build. Given below are the flags available for this project. - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - >
CMake FlagsDescriptionDefault
-DCMAKE_INSTALL_PREFIX=<path>Sets the install prefix./usr/local
-DAGENTS="agent1;agent2..."Only configure these agents.ALL AGENTS
-DOFFLINE=<ON/OFF>Controls vendor generation, ON=NOOFF

-DCMAKE_BUILD_TYPE=<type>

- >
- >
    - >
  • Controls build type aka level optimisation
  • - >
- >
    - >
  • Debug
  • - >
  • Release
  • - >
  • RelWithDebInfo
  • - >
  • MinSizeRel
  • - >
Debug
-DTESTING=<ON/OFF>Controls testing config generation
- >

OFF

- >
-DMONOPACK=<ON/OFF>Package adj2nest and ununpack seperatelyOFF
-GNinjaUse Ninja instead of Unix MakefilesUnix MakeFiles
- > - > There are lots of inbuilt CMake command-line options you can see - > them in the official - > [documentation](https://cmake.org/cmake/help/v3.10/manual/cmake.1.html). - > Once you have chosen your flags we can now configure the project - > using the following commands. - > - > ```bash - > # From build folder - > cd - > cmake .. - > ``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CMake FlagsDescriptionDefault
-DCMAKE_INSTALL_PREFIX=<path>Sets the install prefix./usr/local
-DAGENTS="agent1;agent2..."Only configure these agents.ALL AGENTS
-DOFFLINE=<ON/OFF>Controls vendor generation, ON=NOOFF

-DCMAKE_BUILD_TYPE=<type>

+
+
    +
  • Controls build type aka level optimisation
  • +
+
    +
  • Debug
  • +
  • Release
  • +
  • RelWithDebInfo
  • +
  • MinSizeRel
  • +
Debug
-DTESTING=<ON/OFF>Controls testing config generation
+

OFF

+
-DMONOPACK=<ON/OFF>Package adj2nest and ununpack seperatelyOFF
-GNinjaUse Ninja instead of Unix MakefilesUnix MakeFiles
+ + There are lots of inbuilt CMake command-line options you can see + them in the official + [documentation](https://cmake.org/cmake/help/v3.10/manual/cmake.1.html). + Once you have chosen your flags we can now configure the project + using the following commands. + + ```bash + # From build folder + cd + cmake .. + ``` 4. The next step is to build the project. You can use parallel jobs to build faster. For more options you can type `cmake --help` or `make --help` or `ninja --help`. - > ```bash - > # Common build command for all generators, - > # Default number of parallel builds depends on generator used - > cmake --build . --parallel - > - > # For Unix Makefiles, no parallel build by default - > make -j - > - > # For Ninja, 8+ parallel build by default (depends on system) - > ninja -j - > ``` + ```bash + # Common build command for all generators, + # Default number of parallel builds depends on generator used + cmake --build . --parallel + + # For Unix Makefiles, no parallel build by default + make -j + + # For Ninja, 8+ parallel build by default (depends on system) + ninja -j + ``` 5. Installing is also as easy as building. You can choose to install only certain components even if you have built the whole project. If you directly invoke the install command without building the project, it will automatically build the project first. - > ```bash - > # For Unix Makefiles - > make install - > - > # For Ninja - > ninja install - > ``` + ```bash + # For Unix Makefiles + make install + + # For Ninja + ninja install + ``` 6. While testing has some issues, most of the testing is working fine. For now, you must build and run any test from the FOSSology root @@ -694,16 +689,16 @@ described below. want to test one agent only. See `ctest --help` for controlling test runs. - > ```bash - > # Common testing command - > ctest --parallel - > - > # For Unix Makefiles - > make test - > - > # For Ninja - > ninja test - > ``` + ```bash + # Common testing command + ctest --parallel + + # For Unix Makefiles + make test + + # For Ninja + ninja test + ``` 7. You can package FOSSology, the packaging currently lacks copyright and conf files. But for testing purposes, you can use the following @@ -711,16 +706,16 @@ described below. without building the project, it will automatically build the project first. See `cpack --help` for more packaging options. - > ```bash - > # Common testing command - > cpack - > - > # For Unix Makefiles - > make package - > - > # For Ninja - > ninja package - > ``` + ```bash + # Common testing command + cpack + + # For Unix Makefiles + make package + + # For Ninja + ninja package + ``` ## Known Issues and Drawbacks @@ -729,9 +724,7 @@ Actions is almost complete and working as expected. But it is not free of drawbacks and issues. This section outlines the known issues at the time of writing. -A Bug Meme +![A Bug Meme](https://imgs.xkcd.com/comics/conference_question.png) - Coverage builds may fail with linking errors. - Packaging prefix is the same as the install prefix. This requires the @@ -759,8 +752,7 @@ width="350" alt="A Bug Meme" /> [#2084](https://github.com/fossology/fossology/issues/2084) to track the progress on fixing these tests. - CMake doesn't generate uninstall targets. The closest thing to - uninstall is [this - snippet](https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#can-i-do-make-uninstall-with-cmake). + uninstall is [this snippet](https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#can-i-do-make-uninstall-with-cmake). This will be later added to the FOSSology. ## Challenges Faced diff --git a/content/posts/development/i-am-loving-it-redhat.md b/content/posts/development/i-am-loving-it-redhat.md index 1242a5b..5edc24c 100644 --- a/content/posts/development/i-am-loving-it-redhat.md +++ b/content/posts/development/i-am-loving-it-redhat.md @@ -42,8 +42,7 @@ Kubernetes. We were provided plenty of good resources and my teammates also helped with many awesome resources. I am listing all the resources with their category. -### [Golang](https://go.dev/) - +### Go Programming Language One of Golang's biggest advantages is that it offers the clarity and ease of use that other languages lack. Golang's advantages make it easy @@ -66,7 +65,7 @@ veterans to easily read each other's code. Nana](https://youtu.be/yyUHQIec83I) *if you prefer video tutorials, I don't :)* -### [Docker](https://www.docker.com/) +### Docker Docker takes away repetitive, mundane configuration tasks and is used throughout the development lifecycle for fast, easy, and portable @@ -75,9 +74,7 @@ end-to-end platform includes UIs, CLIs, APIs, and security that are engineered to work together across the entire application delivery lifecycle. - +![The Docker Architecture](/images/docker-architecture.png) - [Docker and Containers - Katacoda](https://www.katacoda.com/courses/docker) *interactive @@ -86,11 +83,9 @@ alt="The Docker Architecture" /> - [Docker Tutorial for Beginners | TechWorld with Nana](https://youtu.be/3c-iBn73dDE) *video tutorial* -### [Kubernetes](https://kubernetes.io/) +### Kubernetes - +![Kubernetes tech](/images/kubernetes-architecture.png) **Kubernetes** is the Greek word for a ship's captain. We get the words Cybernetic and Gubernatorial from it. The Kubernetes project focuses on diff --git a/content/posts/development/wakatime.md b/content/posts/development/wakatime.md index acb9f21..2a53ccb 100644 --- a/content/posts/development/wakatime.md +++ b/content/posts/development/wakatime.md @@ -3,6 +3,7 @@ title: How I implemented WakaTime embeddable Coding Graph GHA? date: 2021-02-02 21:47 tags: [wakatime, github-action, coding] category: development +image: https://raw.githubusercontent.com/avinal/Profile-Readme-WakaTime/b281d074ee75f9626b39d10e2e518c6a297208a3/waka.png 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.' @@ -10,7 +11,9 @@ action to any of your repositories and there you have it.' # How I implemented WakaTime embeddable Coding Graph GHA? -![Profile Readme Wakatime Banner](https://raw.githubusercontent.com/avinal/Profile-Readme-WakaTime/b281d074ee75f9626b39d10e2e518c6a297208a3/waka.png) +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. ## Implementation Details diff --git a/content/posts/development/wsl2-move.md b/content/posts/development/wsl2-move.md index afd6eff..7394e2f 100644 --- a/content/posts/development/wsl2-move.md +++ b/content/posts/development/wsl2-move.md @@ -16,28 +16,21 @@ It is real pain when you have small SSD and Windows Subsystem for Linux WSL installation to another drive. Here in this blog I will discuss how to tackle this problem with bite size steps. -1. Open a PowerShell - powershell or Command Prompt - command-line with *Admin* access. For - this you can use - WinKey + X shortcut and select **Windows - PowerShell(Admin)**. +1. Open a PowerShell or Command Prompt with *Admin* access. For this you can +use WinKey + X shortcut and select **Windows PowerShell(Admin)**. 2. Check if the WSL 2 installation you are planning to move is is - currently running/stopped. +currently running/stopped. - ```powershell - PS C:\\Users\\Avinal> wsl -l -v - PS C:\\Users\\Avinal> - NAME STATE VERSION - * Ubuntu Running 2 - Kali Stopped 2 - ``` +```powershell +PS C:\\Users\\Avinal> wsl -l -v +PS C:\\Users\\Avinal> + NAME STATE VERSION +* Ubuntu Running 2 + Kali Stopped 2 +``` 3. If its running then you must stop the particular WSL distribution. - (*Ubuntu* used as example) +(*Ubuntu* used as example) ```powershell PS C:\\Users\\Avinal> wsl -t Ubuntu