teleren/devto huggingface dataset:
Day 655 : Things Change
Tags: hiphop, code, coding, lifelongdev
Published: 2022-11-23 23:35:37

_liner notes_:
- Professional : The day flew by! Started off researching a question from the community, finished up a blog post I've been writing and added it to the CMS for review and started working on a new Web Component. Not bad.

- Personal : Don't even remember what I did last night. haha I think I worked on the blog and went to bed.

![Above the clouds over Cape Town, South Africa at sunset](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pw5my4bxydpsezuscp00.png)

I thought of a new side project that would have helped me while I was traveling abroad. It should be standalone enough (no database or authentication, just API calls and local storage, I think) to where I can try some newer tech I've been wanting to try. I'll work on features, a quick design, look at some docs to get things working. It'll be an MVP at first because things change as I start coding. Also want to watch some anime and then go to bed. 

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube aMEOAnrEif0 %}
Git tutorial - the basics
Tags: programming, git
Published: 2022-11-23 21:31:55

# The Basics
### Important Concepts
![gitflow.png](https://res.cloudinary.com/dtsoesnbj/image/upload/v1667321040/gitflow_1f44aa213f.png)

Git provides 3 different buckets locally for tracking and saving your changes. People may speak differently but I will keep using these words - working directory, staging, and local repo

Let's give you an example to see how these 3 buckets work in tandem. You're working by yourself and you need to make changes to your codebase. Git tracks your changes in working directory. After you finish modifying, you can promote your changes to staging before persisting your changes. You can think of stage as a review step since you can add/drop your changes. Now you can persist your changes to local repo by committing changes. After persisted, Git provides useful information such as time of commit, message, or author information. 

There are more concepts and commands we can explore but this is the essence of Git. Simple, right?
Now let's take an each step for better understanding. 


### Installation
If it is your first time to use Git, first install the Git with 
`brew install git` 

Confirm it is installed with 
`git --version`

### Start projects 
Typically, there would be 2 different scenarios. 
First, you start a new repo from your local machine
Second, you start working on an existing repo

1. Initiate the Git repo 
Simply run `git init`, then you will see this prompt message. And .git directory will be created.

2. Copy the existing repo
Make sure you have SSH or HTTP setup correctly and run `git clone <repo-url>`

### Stage/unstage your changes 
Once you make changes, you can run `git add .` to stage all changes. Here `.` means the current directory. 
If you want to stage a specific file, you can run `git add path/to/file`

### Commit your changes 
Now, it's time to persist your changes to your local repo.
Try running `git commit -m "your commit message"`. `-m` is the option for your commit description. If this succeeds, try to run `git log`, you should be able to see your most recent commit

### Push 
Once you have your changes saved in local repository and we have one more step to persist this snapshot to remote repository! 
Let's run 
`git push`

If you have not set the remote url yet, you will probably see this error message.

No problem! We can simply set the remote repo by running 
`git remote add origin <url>`

Then you can push to your remote branch! Congrats! You're the Git master now!

### Congratulation!
We've learned the basics of Git so far. From starting a project to pushing your changes to a remote branch that others can look it up your changes. Unfortunately, when we work on a project with our peers, we're destined to face more complicated problems such as merge conflicts However, don't worry. I will cover all topics you need down the road!

For more useful content, follow me @bitethecode or on [Github](https://github.com/bitethecode)!
Releasing package to npm
Tags: webdev, git, github, javascript
Published: 2022-11-23 21:21:42

Which release tool and package registry did you choose? Provide links to everything you mention.
What was the process for creating a release? Be detailed so that other developers could read your blog and get some idea how to do the same.
What did you learn while doing your release? Did you have any "aha!" moments or get stuck?
How much did you have to alter your code, files, build, etc. to use the chosen package format and registry?
How did the User Testing session with your partner go? Describe what it was like, where they got stuck, and how you corrected the problems.
How do users install and use your project now that it has been released? Provide links and some instructions.


Throughout my time writing and updating my static-site generator, I've been using [npm](https://www.npmjs.com/) from the very foundation I use an npm package called [commander](https://www.npmjs.com/package/commander). Therefore, it is obvious that for the tool that I will be using to publish my ssg, I will do so with `npm`.

> Process

Creating a release is fairly simple, as long as you understand the standard for creating a website like having a README and package.json, you should be able to publish your package online--knowing how to use [tag](https://git-scm.com/book/en/v2/Git-Basics-Tagging) should ensure that when publishing a newer version there will not be any complication, because as far as I know, you can't publish similar version of your package.

> Testing

The testing procedure took quite a bit of time to finish. We got stuck with not being able to run the command after installation; this was solved after we did an `npm link`. Afterwards, when running the command, we got stuck at being unable to do any other commands aside from `--version` and `--help`; we then realized that we didn't have a `.env` file that contains the value that is required to run all of my commands.

I realized when I had my friend install my package, that the function `trim` wasn't working as intended. It took me a long time to figure out what's wrong, and even decided to hand in my lab unfinished, but I asked around and was told about `optional chaining` which is something I have never heard of, but it ensures that `trim` won't run when the line given isn't undefined, which it was at the end of the `.txt` file

> Instructions

I posted the instructions on the README of the package so it can be viewed from [there](https://www.npmjs.com/package/ririio-ssg), but here's how it should be installed:

1. Open the consolde and install the package by typing npm install ririio-ssg
2. Create a connection between the package and your current project folder by typing npm link ririio-ssg
3. Create a file on your main directory called .env, this is used to store value of your output folder and current language
4. Inside .env paste this line of code OUTPUT_DIRECTORY="dist" followed by HTML_LANGUAGE="en-CA" on the line beneath
Creating a GitHub repository spy bot for Discord in 5 minutes
Published: 2022-11-23 20:57:36

Recently, while working on a personal project with friends, I was asked on the project server on Discord: “what about the last PR review? Did you do it?”. “For sure”, I answered. “Didn't you get the email from GitHub letting you know?”. Then:

“Who the hell reads emails from GitHub???” 🤯

Well, I could spend a little time and patience trying to convince this human being how important it is to keep his inbox up to date, but I did better: with a little help from YouTube, I found an easy way to build a bot that sends us the latest repository updates on Discord! Easy as pie, with [webhooks](https://en.wikipedia.org/wiki/Webhook)!

# First steps

Before we do the magic, make sure you have the right to access the tab “Webhooks” at the sidebar of the settings page of the repository you want to spy. The repo can be public or private, doesn't matter, but you need to have the rights to it.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k6f32s4yxa12tg47ha2v.png)

As with the repository, you need to be able to access the settings of the Discord server channel you want the bot to send the updates to. You will find these settings next to the channel name, by clicking on the engine icon.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nesltxoluc5ux9z6z7yd.png)

# Making it happen

Now that you have your GitHub repository and your Discord server in place, let’s do it!

Access the channel settings, go to the **Integrations** tab, and click on the Create Webhook button.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y2avqt4u1g3oqqgl7kd6.png)

Name your bot as you wish (unfortunately, no matter the name you give, it will be called GitHub Bot - what a blessing for those who would be stuck forever here trying to find a cool name) and copy the webhook URL by clicking on the button at the bottom.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s2f8mlxcsn3u64bhm4su.png)

Now, go to the Webhooks settings page of your GitHub repository and click over “Add webhook”.

Paste the URL you just copied in the “Payload URL” input adding “/github” at the end of it. Select “application/json” as the content type.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xv7e4yak1aa3k44j3zfx.png)

You can choose whatever events you want the bot to alert you - the list is huge and very well-detailed! But for testing purposes, let’s check the “send me everything” option. Now, you can click on “Add webhook” and that’s it!

To check everything is working, you can fav your own repository and… 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q1492d0mpfxe7at7jmkd.png)

*voilà!* Now you can ignore the GitHub emails too!
Leetcode Problem#283: Move Zeros
Published: 2022-11-23 20:45:32

**Problem**
Given an integer array nums, move all 0's to the end of it while maintaining the relative order of the non-zero elements.

Note that you must do this in-place without making a copy of the array.

Example:
`Input: nums = [0,1,0,3,12]
Output: [1,3,12,0,0]`

---

There are many ways to solve this problem. Here I am going to discuss about the optimal solution to tackle the challenge.

Using two pointers approach, we can solve this problem. Pointer One will look for non-zero elements and Pointer Two will swap the elements with Pointer One. We initialize both pointers to 0. Eventually all zero elements will be moved to the end.

**Implementation (Java)**

```
class Solution {
    public void moveZeroes(int[] nums) {
        
        int pointer=0;
        int n= nums.length;
        
        for(int i = 0; i < n; i++){
            if(nums[i]!= 0){
                int temp = nums[i];
                nums[i] = nums[pointer];
                nums[pointer] = temp;
                pointer++;
            }
        }
    }
}
```
**Implementation (PHP)**

```
class Solution {

    /**
     * @param Integer[] $nums
     * @return NULL
     */
    function moveZeroes(&$nums) {
        $pointer = 0;
        $numsLength = count($nums);
        
        for($i=0; $i<$numsLength; $i++){
            if($nums[$i]!=0){
                $temp = $nums[$i];
                $nums[$i]= $nums[$pointer];
                $nums[$pointer] = $temp;
                $pointer++;
            }
        }
    }
}
```

**Solution Analysis**

Time complexity = O(n)
Space complexity = O(1)

**Note**
1. Why are we not using Brute Force approach?

Through this approach, we traverse the whole array to find non-zero elements and store them in the starting indexes. And then we fill up the extra spaces with zero. Therefore, we get time complexity in the worst case.

Time Complexity = Time Complexity of filling non-zero elements + Time Complexity of filling zero elements = O(n)+O(n)= O(n)

Space Complexity = O(n) for extra space
🗞️ We have just released our JBang! catalog 🛍️
Tags: java, tutorial, productivity, showdev
Published: 2022-11-23 19:48:48

## ❔ About `JBang!`

[`JBang!`](https://www.jbang.dev/)'s pitch is very **appealing and easy** to understand :

> _"Unleash the power of Java - JBang Lets Students, Educators and Professional Developers create, edit and run self-contained source-only Java programs with unprecedented ease. "_

In this post, we'll go a bit further and introduce [AppStore](https://github.com/jbangdev/jbang#appstore), especially how to release `JBang! catalogs`.

## 🛍️ Catalogs

[Catalogs](https://www.jbang.dev/documentation/guide/latest/alias_catalogs.html#catalogs) are a very convenient way to **deliver from a common place** a set of `JBang!` applications.

See below some real life examples:

- [🐪 Apache Camel](https://camel.apache.org/) : [Camel JBang, _A JBang-based Camel app for easily running Camel routes._](https://camel.apache.org/manual/camel-jbang.html)
- [☁️ Microsoft JBang Catalog (Minecraft, Azure Application Insights Agent,...)](https://github.com/microsoft/jbang-catalog#microsoft-jbang-catalog)
- [🚀 Quarkus](https://quarkus.io/) [`jbang-catalog`, _Collection of JBang scripts related to Quarkus and its subprojects_](https://github.com/quarkusio/jbang-catalog)

## 🧑‍🎓 What you'll learn

Within less than `15'`, you will learn : 

- What is a JBang! script
- What's a catalog ?
- How to create and execute your own script
- How to run a remote script on your local machine
- ...

So you'll be fully operational with JBang packaged apps.

## 🗞️ News 🤓

So, we, at [`OPT-NC`](https://github.com/opt-nc) have created our own (**and public !**) `JBang! catalog` : 

{% github opt-nc/jbang-catalog %}

## 🍿 Demo

Enjoy this very nice demo from @mbarre :

{% youtube 2dSzf4WdTjA %}

## 📑 Resources

- [`OPT-NC`'s JBang catalog tutorial on Killercoda](https://killercoda.com/opt-labs/course/jbang/optnc-catalog)
- [`OPT-NC`'s JBang catalog](https://github.com/opt-nc/jbang-catalog)
- [`jbang-catalog(1)`](https://www.jbang.dev/documentation/guide/latest/cli/jbang-catalog.html)
- [Catalogs](https://www.jbang.dev/documentation/guide/latest/alias_catalogs.html#catalogs)
Call API and get the value
Tags: angular, react, api
Published: 2022-11-23 19:41:04

Angular project:

we are make an API call to fetch value and display it on the UI for angular project.

I are using [https://jsonplaceholder.typicode.com/](https://jsonplaceholder.typicode.com/) for getting Fake API calls for json value and using Angular v15.


Step 1. Angular project need to be created. Here my project name is API calls.

Step 2. Create a service , and we will be fetching the from the MOCK API.

Note a: We need to import httpClient for communicating API calls in Angular.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7slsl2k3ujrdjmeaysbp.png)


Note b: we need to import the HttpClientModule in app.module.ts to define the functionality of httpClientModule.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5mc4ajcinodsqbwwdtea.png)




Step 3. Subscribe the value from the services to fetch the value the UI in new data component.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/426gl42qsjscu5xzn1wl.png)


Step 4. Displaying the value in the UI

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mqugy7z0zp9jyzvh9qig.png)


Step 5. Dont forget to connect the component to the app.component.html



you can see the value from the API call easily :)

>
Comfortably monitor your internet traffic with Sniffnet
Tags: rust, github, opensource, analytics
Published: 2022-11-23 19:39:52

[Sniffnet](https://github.com/GyulyVGC/sniffnet) is a simple yet insightful application to let you have a glance into your network traffic in a straightforward and appealing way.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2rfrs3uo3gxgkl85077k.gif)

Sniffnet lets you filter and analyse your network traffic providing useful information.

The application is supported on MacOS, Windows and Linux.
You'll Never Do Agile Right
Published: 2023-04-21 00:45:33

---
title: You'll Never Do Agile Right
published: true
date: 2022-11-23 19:39:27 UTC
tags: 
canonical_url: 
---

In the article for [Agile Software Development](https://en.wikipedia.org/wiki/Agile_software_development), there are six thousand, eight hundred words and over 100 references.

The [Agile Mainfesto](https://agilemanifesto.org/) is 73 words. Gobs and gobs of software has been written to "do agile". Every software shop I've encountered in the last decade has told me they use an agile software development process. Being an "Agile coach" is an entire career.

But the whole manifesto is just not all that.

The entire body reads as follows:

* * *

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

**Individuals and interactions** over processes and tools

**Working software** over comprehensive documentation

**Customer collaboration** over contract negotiation

**Responding to change** over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

* * *

That's it. Focus on relationships with people, and actually solving problems.

Moreover, the Manifesto ends with a sentence to weasel out of any actual firm stance. _The other stuff is also valuable_.

You'll never do Agile right, because there's no way to prove that you're doing it right. Don't make user stories and have retrospective meetings just because it says to do so in some book or by some coach.

Do what works for whatever your situation. Just make sure your values and priorities are in order. That's the whole manifesto.
Rust with visual studio code
Tags: rust, vscode
Published: 2022-11-23 19:36:20

It is very rare who doesn't use vscode at this time. Almost all of us use visual studio code for our daily development and when we learn new technologies or new languages we always prefer our daily uses IDE or editor what you say. 

So who are new to learn rust as usual you also finding some extension if i not wrong. Here is my preference to use this extensions to easy your journey with Rust and your beloved visual studio code.

## Recomanded:

## 1. Rust-analyzer
Most probably you came across with official rust extension for vscode. At this time of writing rust official extension deprecated now.which was not able to go to definition.
By the way , rust analyzer solve this .
[see more](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)

## 2.Better TOML
If you came from node.js ecosystem , you all know node.js use package.json file to track their dependencies and for many other things which is essential to run a node project.Rust also use something like that. But difference is rust doesn't use package.json file instead it use cargo.toml file.But problem is vscode doesn't recognize .toml file .That's why we don't get color highlighting feature.
[see more](https://marketplace.visualstudio.com/items?itemName=bungcip.better-toml)
 

## Optional:
## 1. CodeLLDB
CodLLDB extension helps to debug your code. When one new on a new language to debug our code we use console.log or print something like that. To get rid of this kind of action CodeLLDB help us more.
[see more](https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb)
## 2. Crates
This extension is not for only rust. Cargo is the package manager of rust. You can check the dependencies of your packages in cargo.toml file.Here is a common problem of detecting outdated packages and sometimes there exist vulnerabilities with outdated packages .so it is good to be up to date with your used packages.Crates extension helps us to know about it.
[see more](https://marketplace.visualstudio.com/items?itemName=serayuzgur.crates)

**Happy coding with rust.**
Day 52 / 100daysofcode
Tags: showdev, nextjs, firebase, 100daysofcode
Published: 2022-11-23 19:11:42

Yesterday, I worked on trying to fix the errors presented previously. Although I almost gave up, I remembered how I felt when I couldn't study for my classes for school because it required payment to do Quizlet learn. I used my motivation to fix the errors and uploaded my Quiz App. I added some basic styling but nothing special.

[Click Me to Visit Website!](https://flashcards-bay.vercel.app/)

Along with deploying my Quiz App, I created a private, online Markdown Editor, I am the only one who knows the URL. I made this website so I could be distraction-free; whenever I use a markdown editor like Obsidian I get carried away with the features. Because there are little to no features on this website, I won't get carried away.
5 High-Income Skills to Learn in 2022
Tags: skills, beginners, tutorial, webdev
Published: 2022-11-23 19:06:10

Today’s article will discuss [5 High-Income Skills to Learn in 2022](https://www.proearninginfo.com/2022/09/5-High-Income-Skills-Worth-Learning-in-2022.html) that can change the direction of your life. Learning these skills is very beneficial in today’s age. There is no denying that digital marketing is a highly lucrative industry in the modern world we all live in. Learning top-income skills is the answer if you’ve ever wanted to earn more money and gain new skills that will last you a lifetime. These skills will help you make more money now and in the future, especially in today’s job market, where many companies will hire for a specific purpose.
Just do it
Tags: motivation, leadership
Published: 2022-11-23 18:24:32

Maybe you read this title article and think "why is he using Nike slogan?", I'm using this slogan to explain and to emphasize something that people ignore, you should take this slogan more seriously.

Stop waiting or taking a very long way to do something, just do it.

This post is not about you buy something, spend money, swear at everyone, does radical things, or anything like that. But about your delay to something useful, and above all take initiative, go straight.

- Don't ask to ask, just ask
- Don't ask to innovate, just innovate and show it
- Don't ask what code, just code something you like
- Don't wait for someone to ask you the obvious, just do it before
- Don't wait for someone's answer, just find the answer yourself
- Don't wait for a hard issue, just create a hard issue
- Don't wait a fire idea to write, just write something you like
- Just answer your own doubt and take action

Don't depend on others, if you want to reach a goal, just follow the way.

## Why just do it?
"Just do it" makes you more independent, adds more value to you, you learn to learn and take initiative, not depends on others.

You start to increase yourself productivity and people's vision of you'll improve, you lead yourself.
Thanksgiving 2022: 5 amazing gift ideas for your loved ones.
Tags: webdev
Published: 2022-11-23 18:15:35

Thanksgiving is right around the corner, and if you are thinking about how to express your heartfelt gratitude to your family and friends. Check out these carefully selected gifts for your beloved.

[Read More](https://bizortech.com/web-stories/thanksgiving-gift-ideas-for-your-loved-ones/)
em vs rem in css
Tags: css
Published: 2022-11-23 18:11:12

# em
`1em = 10px * 1 `
the standard of em is the current element's `font-size` in using em 


# rem
`1rem = 10px * 1 `
the standard of em is the root element's (\<html>)  `font-size` in using rem