<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Freddy Adiv</title>
    <description>The latest articles on DEV Community by Freddy Adiv (@fredadiv).</description>
    <link>https://dev.to/fredadiv</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1041886%2Fc3e92efb-b682-4b9f-8b3f-ab9d8a1e3552.jpeg</url>
      <title>DEV Community: Freddy Adiv</title>
      <link>https://dev.to/fredadiv</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fredadiv"/>
    <language>en</language>
    <item>
      <title>Simple ChatBot with tests</title>
      <dc:creator>Freddy Adiv</dc:creator>
      <pubDate>Sat, 17 Jun 2023 12:18:26 +0000</pubDate>
      <link>https://dev.to/fredadiv/simple-chatbot-with-tests-m3c</link>
      <guid>https://dev.to/fredadiv/simple-chatbot-with-tests-m3c</guid>
      <description>&lt;p&gt;Hi all,&lt;br&gt;
The NLP field is pretty amazing, specially with ChatGPT4 around, so as part of my MSc studies I tried to learn a bit about the techniques used to build such AI systems.&lt;br&gt;
I looked around in Github and found several repositories implementing chatbots, so I used some of them to build &lt;a href="https://github.com/FredAdiv/Chatbot"&gt;this Encoder/ Decoder based chat model&lt;/a&gt;.&lt;br&gt;
It uses an &lt;a href="https://github.com/FredAdiv/Chatbot/blob/main/intents.json"&gt;intents.json&lt;/a&gt; file which is contains several input patterns and optional responses.&lt;br&gt;
The readme file relates to some of the sources I used.&lt;/p&gt;

&lt;h1&gt;
  
  
  Using the chatbot:
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Clone the repository to your local computer:&lt;br&gt;
&lt;em&gt;git clone &lt;a href="https://github.com/FredAdiv/Chatbot"&gt;https://github.com/FredAdiv/Chatbot&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;(&lt;em&gt;Optional&lt;/em&gt;) I suggest you use a docker container for the project. This is a sample command line for creating such a container:&lt;br&gt;
&lt;em&gt;docker run -it --name chatbot -w /opt -v c:\users&amp;lt;username&amp;gt;\chatbot:/opt python:3.11 bash&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If the container was created but didn't open then &lt;br&gt;
use the following command: &lt;br&gt;
&lt;em&gt;docker container start -i chatbot&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install dependencies from the requirements file:&lt;br&gt;
&lt;em&gt;pip install requirements.txt&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;(&lt;em&gt;Optional&lt;/em&gt;) Use pytest to make sure that everything works:&lt;br&gt;
&lt;em&gt;pytest&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Run the bot:&lt;br&gt;
&lt;em&gt;python chat.py&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Happy Chatting.&lt;/p&gt;

</description>
      <category>osdc</category>
      <category>python</category>
    </item>
    <item>
      <title>Workflows with github</title>
      <dc:creator>Freddy Adiv</dc:creator>
      <pubDate>Tue, 13 Jun 2023 03:38:37 +0000</pubDate>
      <link>https://dev.to/fredadiv/workflows-with-github-4b4l</link>
      <guid>https://dev.to/fredadiv/workflows-with-github-4b4l</guid>
      <description>&lt;p&gt;Adding actions on GitHub allows you to automate various tasks and workflows within your repositories. Actions are event-driven scripts that run in response to specific triggers. Here's a guide on how to add actions on GitHub:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Access the Repository&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Log in to your GitHub account and navigate to the main page.&lt;/li&gt;
&lt;li&gt;Select the repository where you want to add actions. If the repository doesn't exist, create a new one by clicking on the "New" button, or clone an existing repository from another user.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Create the Actions Workflow File&lt;/strong&gt;&lt;br&gt;
The easiest way to configure actions is to use the github Actions button in the repository, but in this post I will cover how to add it manually.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Inside the repository (bash), navigate to the root directory or the .git folder.&lt;/li&gt;
&lt;li&gt;If the .git folder doesn't exist, create it.&lt;/li&gt;
&lt;li&gt;Inside the .git folder, create a new folder named workflows.&lt;/li&gt;
&lt;li&gt;In this folder, create a new YAML file with a descriptive name, such as actions.yml. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Define the Workflow&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the YAML file you created and define the structure of your workflow.&lt;/li&gt;
&lt;li&gt;Start by specifying the &lt;code&gt;name&lt;/code&gt; and &lt;code&gt;on&lt;/code&gt; fields. The &lt;code&gt;name&lt;/code&gt; field is a descriptive name for your workflow, while the &lt;code&gt;on&lt;/code&gt; field defines the trigger event that will initiate the workflow. For example, you can set it to &lt;code&gt;push&lt;/code&gt; to trigger the workflow whenever code is pushed to the repository.&lt;/li&gt;
&lt;li&gt;Add the necessary &lt;code&gt;jobs&lt;/code&gt; to your workflow. Jobs are the individual units of work that your workflow will perform. Specify a &lt;code&gt;name&lt;/code&gt; for each job and define the steps it needs to execute.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Configure Actions&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Within each job, you can configure actions to perform specific tasks.&lt;/li&gt;
&lt;li&gt;Actions are pre-built or custom scripts that are executed within your workflow.&lt;/li&gt;
&lt;li&gt;You can choose from a wide range of pre-built actions available in the GitHub Marketplace by searching for specific functionality.&lt;/li&gt;
&lt;li&gt;If you have a custom script, you can create an action within your repository by defining the necessary steps.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Commit and Push&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;After defining your workflow and configuring the necessary actions, save the YAML file.&lt;/li&gt;
&lt;li&gt;Commit the file to your repository by staging and adding a commit message.&lt;/li&gt;
&lt;li&gt;Push the commit to the repository.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Test the Workflow&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Once you push the commit, GitHub will automatically start processing the workflow defined in your YAML file.&lt;/li&gt;
&lt;li&gt;You can observe the progress and logs of your workflow by navigating to the "Actions" tab in your repository.&lt;/li&gt;
&lt;li&gt;GitHub will display the status of each job and the output generated by the actions.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As an example, I added a Workflow for &lt;a href="https://github.com/interactiveaudiolab/penn"&gt;penn&lt;/a&gt; cloned to &lt;a href="https://github.com/FredAdiv/penn"&gt;my user&lt;/a&gt;.&lt;br&gt;
In &lt;a href="https://github.com/FredAdiv/penn/blob/master/.github/workflows/test_ci.yml"&gt;this workflow&lt;/a&gt;, I added an automatic installation of all requirements and run the test whenever the user pushes or PR the repository.&lt;/p&gt;

&lt;p&gt;Thanks Gabor for providing sample CIs in the course.&lt;br&gt;
Cheers and happy workflowing :-)&lt;/p&gt;

</description>
      <category>osdc</category>
      <category>github</category>
    </item>
    <item>
      <title>Adding CI for projects</title>
      <dc:creator>Freddy Adiv</dc:creator>
      <pubDate>Thu, 18 May 2023 07:23:16 +0000</pubDate>
      <link>https://dev.to/fredadiv/adding-ci-for-projects-3bmo</link>
      <guid>https://dev.to/fredadiv/adding-ci-for-projects-3bmo</guid>
      <description>&lt;p&gt;Hi all,&lt;br&gt;
As part of the OSDC course, we were asked to add continues integration (CI) for an open source project.&lt;br&gt;
I chose &lt;a href="https://github.com/interactiveaudiolab/penn"&gt;Penn &lt;/a&gt; since it have tests but didn't have any CI configured.&lt;br&gt;
These are the steps to add the CI to the project:&lt;br&gt;
1) Fork the project so you can edit it&lt;br&gt;
2) Add an Action -&amp;gt; Continues integration -&amp;gt; Python project, which contains a good starting point for both installation and testing the repository&lt;br&gt;
3) I changed the file so it would fit the installations requirement and added the pytest command like this:&lt;/p&gt;

&lt;h1&gt;
  
  
  This workflow will install Python dependencies and run tests with a single version of Python for Penn repository
&lt;/h1&gt;

&lt;p&gt;name: Testing Penn&lt;/p&gt;

&lt;p&gt;on:&lt;br&gt;
  push:&lt;br&gt;
    branches: [ "master" ]&lt;br&gt;
  pull_request:&lt;br&gt;
    branches: [ "master" ]&lt;/p&gt;

&lt;p&gt;permissions:&lt;br&gt;
  contents: read&lt;/p&gt;

&lt;p&gt;jobs:&lt;br&gt;
  build:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up Python 3.10
  uses: actions/setup-python@v3
  with:
    python-version: "3.10"
- name: Install dependencies
  run: |
    pip install -r requirements.txt &amp;amp;&amp;amp; pip install -e .
    pip install pytest
- name: Test with pytest
  run: |
    pytest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;4) To activate the workflow, you need to select it from the Actions menu and run it manually.&lt;br&gt;
That's it.. &lt;br&gt;
Cheers,&lt;br&gt;
Freddy&lt;/p&gt;

</description>
      <category>osdc</category>
      <category>githubactions</category>
    </item>
    <item>
      <title>Useful commands in git and dockers</title>
      <dc:creator>Freddy Adiv</dc:creator>
      <pubDate>Sun, 14 May 2023 06:30:41 +0000</pubDate>
      <link>https://dev.to/fredadiv/useful-command-in-git-and-dockers-99</link>
      <guid>https://dev.to/fredadiv/useful-command-in-git-and-dockers-99</guid>
      <description>&lt;p&gt;Hi All,&lt;br&gt;
In the past last weeks of our OSDC training we've learned to setup local repositories from github uding dockers.&lt;br&gt;
These lessons required the use of plenty new commands (mostly linux) that I"ve documented in this post. Hope it will be helpful to you.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Basic linux commands:&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;ls -l    (alias ll)&lt;br&gt;
ls -al /root/       (show hidden files in the root dir. ll does the same)&lt;br&gt;
cd /home/       (user directory)&lt;br&gt;
whoami&lt;br&gt;
alias           (which asliases are configured in ~/.bash_aliases)&lt;/p&gt;

&lt;h2&gt;
  
  
  Change working user to root
&lt;/h2&gt;

&lt;p&gt;su&lt;/p&gt;

&lt;h2&gt;
  
  
  Launch a specific one time process as root without changing the active user (super user do)
&lt;/h2&gt;

&lt;p&gt;sudo&lt;/p&gt;

&lt;h2&gt;
  
  
  print current working directory
&lt;/h2&gt;

&lt;p&gt;pwd    &lt;/p&gt;

&lt;h2&gt;
  
  
  Handling directories
&lt;/h2&gt;

&lt;p&gt;mkdir&lt;br&gt;
rmdir &lt;br&gt;
cd ../../home/&lt;br&gt;
cd ~/&lt;/p&gt;

&lt;h2&gt;
  
  
  Files
&lt;/h2&gt;

&lt;p&gt;cat filename (View file content as text)&lt;br&gt;
more filename (with paging. Up/ Down/ Q to scroll and quit)&lt;br&gt;
echo some text &amp;gt; filename.txt (Create/ override to new file)&lt;br&gt;
echo more text &amp;gt;&amp;gt; filename.txt (Append to existing file)&lt;/p&gt;

&lt;h2&gt;
  
  
  list all commands history for current session/ container
&lt;/h2&gt;

&lt;p&gt;history&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Dockers&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="//hub.docker.com"&gt;Dockers hub&lt;/a&gt; is your first place to visit&lt;/p&gt;

&lt;h2&gt;
  
  
  Run a container with specific OS
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;docker run -it -w /opt --name ubu ubuntu:22.10&lt;/li&gt;
&lt;li&gt;docke r run -it --name flask-dev -w /opt -v c:\users\freddyad\flask:/opt python:3.11 bash&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Exit the container but keep the same state
&lt;/h2&gt;

&lt;p&gt;exit&lt;/p&gt;

&lt;h2&gt;
  
  
  List all running docker containers
&lt;/h2&gt;

&lt;p&gt;docker ps &lt;/p&gt;

&lt;h2&gt;
  
  
  List all available docker containers
&lt;/h2&gt;

&lt;p&gt;docker ps  -a&lt;/p&gt;

&lt;h2&gt;
  
  
  Open exitsting docker
&lt;/h2&gt;

&lt;p&gt;docker container start -i ubu&lt;/p&gt;

&lt;h2&gt;
  
  
  Delete container
&lt;/h2&gt;

&lt;p&gt;docker container rm ubu&lt;/p&gt;

&lt;h2&gt;
  
  
  Get list of all updates and apps for the current container's OS
&lt;/h2&gt;

&lt;p&gt;apt-get update&lt;br&gt;
apt-get install package1 package 2&lt;/p&gt;

&lt;h2&gt;
  
  
  Resource meter for the docker (requires installation)
&lt;/h2&gt;

&lt;p&gt;htop&lt;/p&gt;

&lt;h2&gt;
  
  
  Simple file editor (requires installation)
&lt;/h2&gt;

&lt;p&gt;nano filename (text editor)&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Git bash&lt;/strong&gt;
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Clone a repository from github
&lt;/h2&gt;

&lt;p&gt;git clone &lt;a href="https://github.com/path"&gt;https://github.com/path&lt;/a&gt;...&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating a new git project (from MS terminal or bash outside the docker)
&lt;/h2&gt;

&lt;p&gt;mkdir &lt;br&gt;
cd &lt;br&gt;
notepad README.md&lt;br&gt;
(# Add some test to the file, such as a title of the project)&lt;br&gt;
git init&lt;br&gt;
(adds the folder /.get/  with configuration for the new project)&lt;/p&gt;

&lt;h2&gt;
  
  
  Show any changes in the local repository
&lt;/h2&gt;

&lt;p&gt;git status&lt;/p&gt;

&lt;p&gt;git add readme.md&lt;br&gt;
(use tab to auto complete file name)&lt;/p&gt;

&lt;p&gt;(try git status to see the new file in staging)&lt;/p&gt;

&lt;p&gt;git commit -m "Description of the commit"&lt;/p&gt;

&lt;p&gt;git config --global user.email "&lt;a href="mailto:mail@domain.com"&gt;mail@domain.com&lt;/a&gt;"&lt;br&gt;
git config --global user.name "my name"&lt;/p&gt;

&lt;h2&gt;
  
  
  Show configuration file
&lt;/h2&gt;

&lt;p&gt;cat ~/.gitconfig&lt;br&gt;
Note that there is a config file in the user directory and in a project directory&lt;/p&gt;

&lt;h2&gt;
  
  
  History of commits
&lt;/h2&gt;

&lt;p&gt;git log&lt;/p&gt;

&lt;p&gt;notepad ~/.gitconfig&lt;/p&gt;

&lt;h2&gt;
  
  
  return to last directory (only on bash)
&lt;/h2&gt;

&lt;p&gt;cd -&lt;/p&gt;

&lt;h2&gt;
  
  
  Uploading a new project to GitHub
&lt;/h2&gt;

&lt;p&gt;To upload a new project to GitHub, use the web site to create a new repository, no need to keep the folder's name&lt;/p&gt;

&lt;p&gt;Attach the project to the github repository. Use the SSH as the key&lt;br&gt;
git remote add origin &lt;a href="mailto:git@github.com"&gt;git@github.com&lt;/a&gt;//.git&lt;/p&gt;

&lt;h2&gt;
  
  
  Show the project's corresponding repository on github
&lt;/h2&gt;

&lt;p&gt;git remote -v&lt;/p&gt;

&lt;h2&gt;
  
  
  Change the remote repository
&lt;/h2&gt;

&lt;p&gt;git remote set-url origin &lt;a href="mailto:git@github.com"&gt;git@github.com&lt;/a&gt;//.git&lt;br&gt;
(Can be done directly in the project's config file)&lt;/p&gt;

&lt;h2&gt;
  
  
  Use the main branch
&lt;/h2&gt;

&lt;p&gt;git branch -M main&lt;/p&gt;

&lt;h2&gt;
  
  
  Adding a public key to the current user on the local machine
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Check if there is a public key in the local computer
&lt;/h3&gt;

&lt;p&gt;ls -l ~/.ssh/&lt;/p&gt;

&lt;h3&gt;
  
  
  Generate a key
&lt;/h3&gt;

&lt;p&gt;ssh-keygen&lt;br&gt;
(You don't have to add passphrase)&lt;/p&gt;

&lt;h3&gt;
  
  
  Show the public key to the config file
&lt;/h3&gt;

&lt;p&gt;cat ~/ssh/id_rsa.public&lt;/p&gt;

&lt;p&gt;Copy the generated key to the github user -&amp;gt;settings -&amp;gt; ssh and GPG keys -&amp;gt; new SSH key. Add a meaningful name to the key, such as "current computer name"&lt;/p&gt;

&lt;h2&gt;
  
  
  Push the changes in the local project to the github repository, and set the origin and the main in the config file
&lt;/h2&gt;

&lt;p&gt;git push -u origin main&lt;br&gt;
(All new files and commits are now visible on github)&lt;/p&gt;

&lt;h2&gt;
  
  
  Regular changes in the project after the first configuration
&lt;/h2&gt;

&lt;p&gt;git add &lt;br&gt;
or git add . (all files)&lt;br&gt;
git commit -m "explanation of the commit"&lt;br&gt;
(Using this command without a -m will open the default editor for the commit details)&lt;br&gt;
git status&lt;br&gt;
(ahead/ staging)&lt;br&gt;
git push&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating new branch
&lt;/h2&gt;

&lt;p&gt;git checkout -b &lt;br&gt;
git status (show the active branch)&lt;/p&gt;

&lt;h1&gt;
  
  
  Creating forks
&lt;/h1&gt;

&lt;p&gt;Creating forks is done only on github's web site.&lt;br&gt;
This enables users without permissions to update the fork copy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Push changes to the new fork:
&lt;/h2&gt;

&lt;p&gt;git remote add fork &lt;a href="mailto:git@"&gt;git@&lt;/a&gt;... (ssh code of the fork because we are using public key)&lt;br&gt;
git remote -v (view the association of both main and forks)&lt;/p&gt;

&lt;h2&gt;
  
  
  push changes to the fork
&lt;/h2&gt;

&lt;p&gt;git push --set --upstream fork .&lt;/p&gt;

&lt;h2&gt;
  
  
  Sync local copy with the github repository
&lt;/h2&gt;

&lt;p&gt;git checkout main&lt;br&gt;
git pull origin main (as configured in the config file)&lt;/p&gt;

&lt;h2&gt;
  
  
  Show all changes in the repository on all branchs
&lt;/h2&gt;

&lt;p&gt;gitk --all &amp;amp; (will open in different thread)&lt;/p&gt;

&lt;h2&gt;
  
  
  rebase the changes in the repository
&lt;/h2&gt;

&lt;p&gt;(This will PR the changes as if they were created after the last change in the base fork)&lt;br&gt;
git checkout &lt;br&gt;
git rebase main&lt;/p&gt;

&lt;h2&gt;
  
  
  Delete last commit
&lt;/h2&gt;

&lt;p&gt;git reset head~1 --hard&lt;/p&gt;

&lt;h2&gt;
  
  
  Override remote with our changes
&lt;/h2&gt;

&lt;p&gt;git push --force&lt;/p&gt;

&lt;h2&gt;
  
  
  Merge fork with the main version
&lt;/h2&gt;

&lt;p&gt;git checkout main&lt;br&gt;
git checkout fork&lt;br&gt;
git merge main&lt;/p&gt;

&lt;p&gt;Hope this will be helpful for anyone...&lt;br&gt;
Cheers, &lt;br&gt;
Freddy&lt;/p&gt;

</description>
      <category>osdc</category>
      <category>linux</category>
      <category>docker</category>
      <category>git</category>
    </item>
    <item>
      <title>Where's your author?</title>
      <dc:creator>Freddy Adiv</dc:creator>
      <pubDate>Thu, 27 Apr 2023 13:28:49 +0000</pubDate>
      <link>https://dev.to/fredadiv/wheres-your-author-a65</link>
      <guid>https://dev.to/fredadiv/wheres-your-author-a65</guid>
      <description>&lt;p&gt;Hi all,&lt;br&gt;
Continuing fixing some sites without an author, I have came across these projects:&lt;br&gt;
&lt;a href="https://github.com/bruce4520196/ApiTestEz#readme"&gt;ApiTestEz&lt;/a&gt; which is missing the pyproject.toml file. I added it with the author's name, but it still missing the email address. &lt;a href="https://github.com/bruce4520196/ApiTestEz/pull/1/commits/93e303d0d16f3f8889c771eb2e3a4486a7cf0695"&gt;PR&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/marcosalvalaggio-bip/lightgrad"&gt;lightgrad&lt;/a&gt; was also missing the author id, so I added the toml file. Unfortenetly, the Github user has no details so I just used the user name. &lt;a href="https://github.com/marcosalvalaggio-bip/lightgrad/pull/1/commits/c956b8b5ccae7954a073c15e6e000abb85e098fa"&gt;PR&lt;/a&gt;&lt;br&gt;
The author accepted the PR in merged it into the project :-)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/gopherball/gbs"&gt;gbs&lt;/a&gt; has a toml file, but without the author section, so I added it. &lt;a href="https://github.com/gopherball/gbs/pull/1/commits/875bff72b4791facd6a99567a9c8051d198162aa"&gt;PR&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/botbahlul/autosrt"&gt;autosrt&lt;/a&gt; is also missing the pyproject file so I added it. &lt;a href="https://github.com/botbahlul/autosrt/pull/4/commits/83c8d773e39177a9c3250826a4d008fa93f69e17"&gt;PR&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/hrossman/pheno-utils"&gt;pheno-utils&lt;/a&gt; has no indication about the author so I added the toml file. &lt;a href="https://github.com/hrossman/pheno-utils/pull/1/commits/ee82acd89dd131dc500a3cbc6769bc68b8d6e62f"&gt;PR&lt;/a&gt;&lt;/p&gt;

</description>
      <category>osdc</category>
    </item>
    <item>
      <title>Harnessing the power of Dockers with Python projects</title>
      <dc:creator>Freddy Adiv</dc:creator>
      <pubDate>Thu, 27 Apr 2023 12:39:59 +0000</pubDate>
      <link>https://dev.to/fredadiv/harnessing-the-power-of-dockers-with-python-projects-3nn9</link>
      <guid>https://dev.to/fredadiv/harnessing-the-power-of-dockers-with-python-projects-3nn9</guid>
      <description>&lt;p&gt;Hi all,&lt;br&gt;
As part of the #OSDC course, we learned how to create docker containers for various project environments. &lt;br&gt;
You can install the Docker platform from &lt;a href="https://www.docker.com/"&gt;Docker official site&lt;/a&gt;.&lt;br&gt;
For python projects, we used the &lt;a href="https://hub.docker.com/_/ubuntu"&gt;Ubuntu images&lt;/a&gt; for python projects, and &lt;a href="https://hub.docker.com/_/mono"&gt;mono&lt;/a&gt; for .net framework on linux OS.&lt;br&gt;
To create a docker container, you can use the Docker Run command that automatically installs the proper OS, ie:&lt;br&gt;
docker run -it -w /opt --name  ubuntu:22.10&lt;br&gt;
or you can clone a project from GitHub and then create a container as follows (this is for python 3.11 project):&lt;br&gt;
docker run -it --name  -w /opt -v :/opt python:3.11 bash&lt;br&gt;
To run the docker with the newly created container, use the following command:&lt;br&gt;
docker start -i &lt;br&gt;
The i stands for interactive mode.&lt;/p&gt;

&lt;p&gt;To install all required packages for the project, type the following command from within the container:&lt;br&gt;
pip install -r  &amp;amp;&amp;amp; pip install -e .&lt;/p&gt;

&lt;p&gt;That's it.. Your all set to go..&lt;/p&gt;

</description>
      <category>osdc</category>
      <category>docker</category>
    </item>
    <item>
      <title>Some interesting Github project to follow</title>
      <dc:creator>Freddy Adiv</dc:creator>
      <pubDate>Fri, 14 Apr 2023 18:51:43 +0000</pubDate>
      <link>https://dev.to/fredadiv/some-interesting-github-project-to-follow-3l3g</link>
      <guid>https://dev.to/fredadiv/some-interesting-github-project-to-follow-3l3g</guid>
      <description>&lt;p&gt;Hi all,&lt;br&gt;
I took a walk on the trending project on Github so I could follow on interesting ones, and found the following projects:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Torantulino/Auto-GPT"&gt;Auto-GPT&lt;/a&gt; is an experimental open-source attempt to make GPT-4 fully autonomous. Spooky..&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/toeverything/AFFiNE"&gt;AFFiNE&lt;/a&gt; is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use. much like Miro or Notion. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/buger/goreplay"&gt;GoReplay&lt;/a&gt;is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data.&lt;/p&gt;

&lt;p&gt;Will post more interesting founding in the coming weeks.&lt;/p&gt;

&lt;p&gt;Cheers, &lt;br&gt;
Freddy&lt;/p&gt;

</description>
      <category>osdc</category>
    </item>
    <item>
      <title>Trying to fix things...</title>
      <dc:creator>Freddy Adiv</dc:creator>
      <pubDate>Sun, 02 Apr 2023 07:58:53 +0000</pubDate>
      <link>https://dev.to/fredadiv/assignment-4-5d31</link>
      <guid>https://dev.to/fredadiv/assignment-4-5d31</guid>
      <description>&lt;p&gt;I checked several projects on PyDigger to fix missing tags.&lt;br&gt;
These included:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://pydigger.com/pypi/git-cola"&gt;GitCola&lt;/a&gt; which is missing the author name, but when checked the pyproject.toml file, there is a name tag as follows:&lt;br&gt;
authors = [&lt;br&gt;
{name = "David Aguilar", email = "&lt;a href="mailto:davvid@gmail.com"&gt;davvid@gmail.com&lt;/a&gt;"}&lt;br&gt;
]&lt;br&gt;
I opened an issue in PyDigger.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/huntflow/tortik"&gt;torek&lt;/a&gt; is missing the pyproject.toml file so I added it to the project and opened a new PR.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;3.&lt;br&gt;
&lt;a href="https://github.com/xjxckk/python-timeout"&gt;python-timeout&lt;/a&gt; is also missing the pyproject.toml file so I added it to the project and opened a new PR. There author has no email address...&lt;/p&gt;

&lt;p&gt;4.&lt;br&gt;
&lt;a href="https://github.com/neutronX/django-markdownx"&gt;django-markdownx&lt;/a&gt; is missing the pyproject.toml file. I PR for the new file.&lt;/p&gt;

&lt;p&gt;5.&lt;br&gt;
&lt;a href="https://dev.tosamueltanner/rfin_scraper"&gt;rfin_scraper&lt;/a&gt; was also missing the pyproject.toml file so I created it.&lt;/p&gt;

&lt;p&gt;Cheers everyone and happy holidays.&lt;/p&gt;

&lt;p&gt;Freddy&lt;/p&gt;

</description>
      <category>osdc</category>
    </item>
    <item>
      <title>My personal site on Github</title>
      <dc:creator>Freddy Adiv</dc:creator>
      <pubDate>Mon, 27 Mar 2023 10:06:45 +0000</pubDate>
      <link>https://dev.to/fredadiv/third-session-in-osdc-6ol</link>
      <guid>https://dev.to/fredadiv/third-session-in-osdc-6ol</guid>
      <description>&lt;p&gt;Hi all,&lt;br&gt;
This week we have learned how to use Git Bash to create a personal web site.&lt;br&gt;
You can see mine at: &lt;a href="https://fredadiv.github.io/"&gt;https://fredadiv.github.io/&lt;/a&gt;&lt;br&gt;
Still struggling with VIM for text editing :-(&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br&gt;
Freddy&lt;/p&gt;

</description>
      <category>osdc</category>
    </item>
    <item>
      <title>Summery of lesson 2</title>
      <dc:creator>Freddy Adiv</dc:creator>
      <pubDate>Sun, 19 Mar 2023 08:46:57 +0000</pubDate>
      <link>https://dev.to/fredadiv/summery-of-lesson-2-3ee4</link>
      <guid>https://dev.to/fredadiv/summery-of-lesson-2-3ee4</guid>
      <description>&lt;p&gt;Hi all,&lt;br&gt;
In our last session we learned several topics, such as navigating and following articles in dev.io using tags which is pretty easy, branching git projects and opening issues.&lt;br&gt;
Later on Gabor showed how to follow project and organizations in Git, and explained about the project ranking mechanism in Github.&lt;br&gt;
We concluded the lesson with the YAML file format which seems more robust then JSON or XML.&lt;br&gt;
I got a bit lost with the explanation of crating the organization YAML in the osdc-2023-azriely project, and didn't really understood the interaction with the organization-open-source file. Would appreciate if we could spend some more time next lesson understanding why we should add such a file to our project, and perhaps talk about the structure of project files and directories.&lt;br&gt;
I still feel that I lack more info about committing pull request and the CI mechanism.&lt;br&gt;
Thanks and have a lovely week,&lt;br&gt;
Freddy&lt;/p&gt;

</description>
      <category>osdc</category>
    </item>
    <item>
      <title>This is a test post</title>
      <dc:creator>Freddy Adiv</dc:creator>
      <pubDate>Wed, 15 Mar 2023 11:24:02 +0000</pubDate>
      <link>https://dev.to/fredadiv/this-is-a-test-post-13e6</link>
      <guid>https://dev.to/fredadiv/this-is-a-test-post-13e6</guid>
      <description>&lt;p&gt;Just learned how to integrate Github, slack, dev.to and code-maven all together.&lt;br&gt;
Cheers,&lt;br&gt;
Fred&lt;/p&gt;

</description>
      <category>osdc</category>
    </item>
  </channel>
</rss>
