teleren/devto huggingface dataset:
Delete JavaScript projects like a pro 🔥
Tags: javascript, programming, productivity, beginners
Published: 2021-07-27 15:18:26

## Works only on Windows

1. create new file call it  **frm.bat** (*command name* can be anything)
2. open with your favourite code editor and paste the following code
3. move it into *Program Files (x86)* to be available for Powershell

```
@echo off 

if "%~1"=="" (
    echo No parameters have been provided.
    echo ex: frm {file/folder}
) else (
    if exist %1\* (
        echo Removing %1 with recursion please wait...
        cmd "/C rm -r %1 -f"
        echo %1 removed.
    ) else (
        echo {%1} doesn't exist
    )
)
```
### You are done, open Powershell and type
#### **/frm {folder name}**

all this simple code does is running native **powershell** command
`rm -r {folder_name} -Force`

## this is my first post hope it helps ♥
Rust  | กฎความเป็นเจ้าของ 
Tags: rust, ownership
Published: 2021-07-27 15:05:38

มีกฎ 3 ข้อ สำหรับความเป็นเจ้าของ (owner) ของข้อมูลในภาษา Rust

1. ตัวแปรข้อมูลคือ owner ของข้อมูลค่านั้น
1. ณ เวลาหนึ่งๆ ข้อมูลค่านั้นๆจะมี owner ได้เพียงคนเดียวเท่านั้น
1. เมื่อตัวแปรหลุดขอบเขตของตัวเองแล้ว ค่าข้อมูลที่ตัวแปรนั้นถืออยู่ก็ถูกลบทิ้งไปด้วย


นั่นคือแนวคิดในการจัดการข้อมูลโดยไม่ต้องใช้ Garbage collector
Learning Apollo and remembering React by doing a project :D
Tags: react, apolo, graphql, webdev
Published: 2021-07-27 14:56:53

## Context (?)
Okey... so... I've recently switched to Ubuntu just for programming, because I used to program in Windows using WSL, which I kind of enjoyed it, but not too much.

And I thought... what about creating posts in [DEV.to](https://dev.to/blitty) now that I am "starting again". And here I am!!

So... let's start!! 😁

## Idea
My first project commented is going to be a Web where you can search for characters of [Rick and Morty](https://en.wikipedia.org/wiki/Rick_and_Morty) and get information about them using Apolo to get the requests from the [API](https://rickandmortyapi.com) and React for the Front (if you want another post like these ones, but with another framework, like [svelte](https://svelte.dev), just say it! But I'll first finish this one 🥴)

## Specs (?)
1. Beautiful 🌈 **home page** with 5 card characters.
2. Each **characters card** 🃏 can be clicked and gives you more info. The card will have name, image, status, gender.
3. A **search bar** 🔍 in the navigation bar, where you can search by name, it will display every character in a card.
4. The **characters page** 👀 will have the whole information about it.

As you can see there is not a lot, but I think for a start is okey. Have in count that I haven't touched React in a lot of time!! and I am learning Apolo and GraphQL 😬

Let's see how this goes :O

---

## Follow me!
(I liked more the red bird :_()
🐦 [Twitter](https://twitter.com/blit12_)
🐙 [GitHub](https://github.com/blitty-codes)
👥 [LinkdIn](https://www.linkedin.com/in/blitty/)

---

And... I think I'm missing some social network... Bah... never mind, let's start!

PD: I haven't left anything or at least that is what I think hahahahaha
Creating vite vue ts template: Git init
Tags: github, git, vite, vue
Published: 2021-07-27 14:51:42

## Creating git repo

1. `mkdir vue-ts && cd vue-ts`
1. `git init`
1. `git commit --allow-empty -m 'init'`
1. `git remote add origin git@github.com:imomaliev/vue-ts.git`
1. `git push -u origin HEAD`

## Links

-   https://docs.github.com/en/get-started/quickstart/set-up-git
-   https://git-scm.com/docs/git-init

## Project

{% github https://github.com/imomaliev/vue-ts no-readme %}
Solidity Guide: Behind the Scenes of PUBLIC and EXTERNAL Visibility of Solidity
Tags: solidity, blockchain, smartcontracts, ethereum
Published: 2021-07-27 14:42:56

✩ 🎀 ---𝑨𝒏 𝑰𝒏𝒕𝒆𝒓𝒆𝒔𝒕𝒊𝒏𝒈 𝑭𝑨𝑪𝑻 𝒆𝒗𝒆𝒓𝒚 𝑺𝒎𝒂𝒓𝒕 𝑪𝒐𝒏𝒕𝒓𝒂𝒄𝒕 𝑫𝒆𝒗𝒆𝒍𝒐𝒑𝒆𝒓 𝑴𝑼𝑺𝑻 𝑲𝑵𝑶𝑾--- 🎀 ✩

When it comes to 𝐏𝐮𝐛𝐥𝐢𝐜 & 𝐄𝐱𝐭𝐞𝐫𝐧𝐚𝐥 visibility keywords,

𝘏𝘦𝘳𝘦 𝘪𝘴 𝘸𝘩𝘢𝘵 M𝘰𝘴𝘵 𝘰𝘧 𝘶𝘴 A𝘭𝘳𝘦𝘢𝘥𝘺 K𝘯𝘰𝘸:
𝐏𝐮𝐛𝐥𝐢𝐜 𝐅𝐮𝐧𝐜𝐭𝐢𝐨𝐧: Can be called from everywhere, internally as well as from outside the Contract

𝐄𝐱𝐭𝐞𝐫𝐧𝐚𝐥 𝐅𝐮𝐧𝐜𝐭𝐢𝐨𝐧: Can only be called from outside the contract and not accessible from within the contract.

𝘏𝘦𝘳𝘦 𝘪𝘴 𝘸𝘩𝘢𝘵 S𝘰𝘮𝘦 𝘰𝘧 𝘶𝘴 M𝘪𝘨𝘩𝘵 K𝘯𝘰𝘸:

𝐏𝐮𝐛𝐥𝐢𝐜 𝐅𝐮𝐧𝐜𝐭𝐢𝐨𝐧: Leads to Higher GAS COSTS

𝐄𝐱𝐭𝐞𝐫𝐧𝐚𝐥 𝐅𝐮𝐧𝐜𝐭𝐢𝐨𝐧: Costs Comparatively Lower GAS
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9zc5yg3t6zexwtnkq3il.png)
𝑵𝒐𝒘, 𝑯𝒆𝒓𝒆 𝒊𝒔 𝒘𝒉𝒂𝒕 𝑴𝒐𝒔𝒕 𝒐𝒇 𝒖𝒔 𝑴𝒊𝒈𝒉𝒕 𝑵𝑶𝑻 𝑲𝑵𝑶𝑾:

𝐖𝐡𝐲 𝐄𝐱𝐚𝐜𝐭𝐥𝐲 𝐝𝐨𝐞𝐬 𝐏𝐔𝐁𝐋𝐈𝐂 𝐅𝐮𝐧𝐜𝐭𝐢𝐨𝐧𝐬 𝐂𝐎𝐒𝐓𝐒 𝐦𝐨𝐫𝐞 𝐆𝐚𝐬 𝐭𝐡𝐚𝐧 𝐄𝐗𝐓𝐄𝐑𝐍𝐀𝐋 𝐅𝐮𝐧𝐜𝐭𝐢𝐨𝐧𝐬?
In the case of PUBLIC Functions, arguments of the Functions are copied to 𝐌𝐄𝐌𝐎𝐑𝐘.
While on the other hand, Functions with External visibility can directly read arguments from 𝐂𝐀𝐋𝐋𝐃𝐀𝐓𝐀.

𝙎𝙞𝙣𝙘𝙚 𝘾𝘼𝙇𝙇𝘿𝘼𝙏𝘼 𝙞𝙨 𝘾𝙃𝙀𝘼𝙋𝙀𝙍 𝙩𝙝𝙖𝙣 𝙈𝙀𝙈𝙊𝙍𝙔, 𝙀𝙭𝙩𝙚𝙧𝙣𝙖𝙡 𝙁𝙪𝙣𝙘𝙩𝙞𝙤𝙣𝙨 𝙧𝙚𝙨𝙪𝙡𝙩 𝙞𝙣 𝙖 𝙡𝙤𝙬𝙚𝙧 𝙀𝙭𝙚𝙘𝙪𝙩𝙞𝙤𝙣 𝘾𝙤𝙨𝙩(𝙂𝙖𝙨) 𝙩𝙝𝙖𝙣 𝙋𝙐𝘽𝙇𝙄𝘾 𝙁𝙪𝙣𝙘𝙩𝙞𝙤𝙣𝙨.

𝘈𝘳𝘦 𝘺𝘰𝘶 𝘤𝘶𝘳𝘪𝘰𝘶𝘴 𝘢𝘣𝘰𝘶𝘵 𝘸𝘩𝘺 𝘗𝘜𝘉𝘓𝘐𝘊 𝘧𝘶𝘯𝘤𝘵𝘪𝘰𝘯𝘴 𝘤𝘰𝘱𝘺 𝘢𝘳𝘨𝘶𝘮𝘦𝘯𝘵𝘴 𝘵𝘰 𝘔𝘌𝘔𝘖𝘙𝘠 𝘸𝘩𝘪𝘭𝘦 𝘌𝘹𝘵𝘦𝘳𝘯𝘢𝘭 𝘍𝘶𝘯𝘤𝘵𝘪𝘰𝘯𝘴 𝘥𝘰𝘯'𝘵?

PUBLIC Functions can be called from outside as well as within the contract(Internal Calls). And internal calls are executed via code JUMP as array arguments are passed internally by Pointers to Memory.
Hence, when the compiler generates OPCODES for an internal function, the function expects its arguments to be located in Memory itself.

However, this is not at all the case in EXTERNAL functions. They don't care about Internal Calls at all and thus end up saving some gas.
Don't forget to COMMENT and Share your IDEAS. 𝗟𝗲𝘁'𝘀 𝗟𝗲𝗮𝗿𝗻 𝗮𝗻𝗱 𝗚𝗿𝗼𝘄 𝗧𝗼𝗴𝗲𝘁𝗵𝗲𝗿.
Creating vite vue ts template: Github project template
Tags: github, git, vite, vue
Published: 2021-07-27 14:40:26

## Creating github repo

1. Create a new github repository, let's call it `vue-ts`.
2. Go to `Settings` and check `Template repository`
   ![Template repository screenshot](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ub1v0eq5118thiflskw0.png)

## Links

-   https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/creating-a-new-repository

## Project

{% github https://github.com/imomaliev/vue-ts no-readme %}
Optimize java based lambda functions on AWS
Tags: aws, java, serverless
Published: 2021-07-27 14:32:26

This post on Medium speaks about tips to improve your java based cold start on AWS Lambda.

Hope you will like it and if so, feel free to share it.

https://medium.com/i-love-my-local-farmer-engineering-blog/optimizing-your-java-lambda-cold-starts-and-initializations-5ca24de2c078
Solidity Security: The Significance of CHECK-EFFECTS-INTERACTION Pattern in Smart Contracts
Tags: security, smartcontracts, blockchain, ethereum
Published: 2021-07-27 14:30:05

𝘛𝘰 𝘢𝘭𝘭 𝘵𝘩𝘦 𝘚𝘔𝘈𝘙𝘛 𝘊𝘰𝘯𝘵𝘳𝘢𝘤𝘵 𝘋𝘦𝘷𝘴 𝘰𝘶𝘵 𝘵𝘩𝘦𝘳𝘦, 📢
⚠️ 𝙉𝙀𝙑𝙀𝙍 𝙑𝙄𝙊𝙇𝘼𝙏𝙀 𝙏𝙃𝙀 𝘾𝙃𝙀𝘾𝙆-𝙀𝙁𝙁𝙀𝘾𝙏𝙎-𝙄𝙉𝙏𝙀𝙍𝘼𝘾𝙏𝙄𝙊𝙉 𝙋𝘼𝙏𝙏𝙀𝙍𝙉 ⚠️

Building a secure smart contract does require adhering to the Best Practices.
And one of the most crucial practices to keep in mind is the 𝐂𝐇𝐄𝐂𝐊 𝐄𝐅𝐅𝐄𝐂𝐓𝐒 𝐈𝐍𝐓𝐄𝐑𝐀𝐂𝐓𝐈𝐎𝐍 𝐏𝐚𝐭𝐭𝐞𝐫𝐧 while making External Calls.

𝐖𝐇𝐀𝐓 𝐞𝐱𝐚𝐜𝐭𝐥𝐲 𝐝𝐨𝐞𝐬 𝐢𝐭 𝐦𝐞𝐚𝐧?
In simple terms, it means that while designing a function in solidity, any state modification in the function must happen before an external call is made.

𝐖𝐇𝐘 𝐔𝐬𝐞 𝐭𝐡𝐢𝐬 𝐏𝐚𝐭𝐭𝐞𝐫𝐧?
Remember the DAO Hack of 2016 where the attacker drained 3.6 million ETH?
Well, one of the Imperative reasons behind that hack was the Violation of Check-Effects-Interaction patterns in function code.

𝙒𝙝𝙮 𝙗𝙚 𝙘𝙖𝙧𝙚𝙛𝙪𝙡 𝙬𝙝𝙚𝙣 𝙀𝙭𝙚𝙘𝙪𝙩𝙞𝙣𝙜 𝙀𝙭𝙩𝙚𝙧𝙣𝙖𝙡 𝘾𝙖𝙡𝙡𝙨?
An external call technically shifts the control over execution to another contract or a Third Party. This allows the Third-party contract to leverage from the fact that the Contract State didn't change before the external call.

It leads to an extremely undesirable scenario where a malicious actor can re-enter the contract and disturb the expected flow. Thus, leading to a potential Re-entrancy Scenario.
![Check-Effects-Pattern](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ezwkfn6xx69ong7620w.png)
 
𝐇𝐎𝐖 𝐝𝐨𝐞𝐬 𝐭𝐡𝐢𝐬 𝐏𝐚𝐭𝐭𝐞𝐫𝐧 𝐒𝐞𝐜𝐮𝐫𝐞 𝐂𝐨𝐧𝐭𝐫𝐚𝐜𝐭𝐬?
Let's understand this by breaking down the 3 imperative steps in this pattern. (𝘔𝘰𝘴𝘵 𝘪𝘮𝘱𝘰𝘳𝘵𝘢𝘯𝘵𝘭𝘺, 𝘐𝘯 𝘵𝘩𝘦 𝘦𝘹𝘢𝘤𝘵 𝘰𝘳𝘥𝘦𝘳)

1. 𝗖𝗛𝗘𝗖𝗞
The first part is to implement a 𝘾𝙃𝙀𝘾𝙆 or input validations(𝘸𝘪𝘵𝘩 𝘳𝘦𝘲𝘶𝘪𝘳𝘦 𝘰𝘳 𝘢𝘴𝘴𝘦𝘳𝘵 𝘴𝘵𝘢𝘵𝘦𝘮𝘦𝘯𝘵𝘴) to ensure that arguments passed are valid and the function is ready to be executed.

2. 𝗘𝗙𝗙𝗘𝗖𝗧𝗦
Resolve all the 𝙀𝙁𝙁𝙀𝘾𝙏𝙎 to the State of the Contract. This part involves optimistically modifying the State Variables to a valid state in the protocol.

3. 𝗜𝗡𝗧𝗘𝗥𝗔𝗖𝗧𝗜𝗢𝗡
The final step should include any 𝙄𝙉𝙏𝙀𝙍𝘼𝘾𝙏𝙄𝙊𝙉 with other external contracts. This is the step that should include any external call that is being made from the function, at the very end of the function.

✧ 🎀 𝗜𝗻 𝗮 𝗡𝗨𝗧𝗦𝗛𝗘𝗟𝗟 🎀 ✧
External calls must be the very last thing that you should do in a function. 𝘼𝙣𝙮 𝙨𝙩𝙖𝙩𝙚 𝙫𝙖𝙧𝙞𝙖𝙗𝙡𝙚 𝙢𝙤𝙙𝙞𝙛𝙞𝙘𝙖𝙩𝙞𝙤𝙣 𝙢𝙪𝙨𝙩 𝙝𝙖𝙥𝙥𝙚𝙣 𝙗𝙚𝙛𝙤𝙧𝙚 𝙖𝙣 𝙚𝙭𝙩𝙚𝙧𝙣𝙖𝙡 𝙘𝙖𝙡𝙡 𝙞𝙨 𝙚𝙭𝙚𝙘𝙪𝙩𝙚𝙙 𝙞𝙣 𝙤𝙧𝙙𝙚𝙧 𝙩𝙤 𝙖𝙫𝙤𝙞𝙙 𝙖 𝙧𝙚-𝙚𝙣𝙩𝙧𝙖𝙣𝙘𝙮 𝙨𝙘𝙚𝙣𝙖𝙧𝙞𝙤.

Moreover, even if attackers try to re-enter a function that follows the CHECK-EFFECTS-INTERACTION pattern, they cannot really abuse the State of the contract as it has been already modified before the external call is made.
Amplify Algolia Search
Tags: aws, amplify, algolia, serverless
Published: 2021-07-27 14:28:22

I built a custom directive to enable searching with Algolia:
https://github.com/thefinnomenon/graphql-algolia-transformer

It has been a pleasure building MVPs with Amplify but I was annoyed at the monthly cost of Elasticsearch and wanted a search that fits the Serverless "pay per use" model -- enter Algolia. It has a decent free monthly quota so you can make a low cost MVP or small app. It also has a really simple management interface and solid client libraries and UI widgets.

I created a simple searchable blog example (which turned more into a recipe search 😆) that can be found in the Github repo. If you need to add search to your Amplify project, give this transformer a shot.

```graphql
type Blog @model {
  id: ID!
  name: String!
  posts: [Post] @connection(keyName: "byBlog", fields: ["id"])
}

type Post @model @algolia(fields:{include:["title"]}) @key(name: "byBlog", fields: ["blogID"]) {
  id: ID!
  title: String!
  blogID: ID!
  blog: Blog @connection(fields: ["blogID"])
  comments: [Comment] @connection(keyName: "byPost", fields: ["id"])
}

type Comment @model @key(name: "byPost", fields: ["postID", "content"]) {
  id: ID!
  postID: ID!
  post: Post @connection(fields: ["postID"])
  content: String!
}
```
Cara Update Node js di Linux
Published: 2021-07-27 14:00:35

Jika kita memakai linux dan ingin menginstall nodejs lewat command `sudo apt install node` kemungkinan besar nodejs yang kita install masih versi 10, untuk mengupdate node ke versi terbaru berikut ini langkah-langkahnya

1. Update Linux Package
```
sudo apt update
```

2. Install nvm 
```
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
```
Setelah itu restart terminal kita.

3. Cek Instalasi
Buka kembali terminal dan cek apakah kita berhasil menginstall nvm dengan command.

```
nvm --version
```
 
4. Install Node 
Sebelum itu kita lihat versi node yang tersedia.
```
nvm ls-remote
``` 
Lalu install menggunakan command berikut.
```
nvm install [version.number]
```

contoh `nvm install v14.17.3
`
JP in da Kyiv, and crypto R&D internship pre-announcement
Tags: watercooler, cryptography, security, internship
Published: 2021-07-27 14:00:33

> In the pandemic restrictions times, meeting offline is a luxury, especially given that you adore hardcore 😷↔️😷 discussions on cryptography, ZKP/ZkSNARKs, or post-quantum computing. We had one just recently and it inspired us for more.

Last week we hosted in Kyiv, Ukraine a legendary cryptographer, researcher, and [Cossack Labs] (https://www.cossacklabs.com/)’ business partner [Jean-Philippe (JP) Aumasson] (https://twitter.com/veorq). He stands behind SipHash, BLAKE2/3 hash functions as their co-designer, and behind several modern books on cryptography as their author.

For this long-awaited visit we were ready to kill the fatted calf and party hard. 😊 And we had it all up to eleven during the special crypto drinks & talks event. 

Yay, that was awesome! A cosy venue in downtown Kyiv, relaxed summer mood, and exchange of experiences & great ideas with JP and the Ukrainian cryptography community people. We can talk about cryptography audits, root key ceremonies, [searchable encryption] (https://www.cossacklabs.com/blog/secure-search-over-encrypted-data-acra-se.html), end-to-end encryption, and [one-end encryption] (https://github.com/veorq/oee) for ages! If you do too, join us next time without hesitation.

![Anastasiia Voitova (Cossack Labs) and Jean-Philippe (JP) Aumasson](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e8yr32ql1ko816qv93l3.png) *Anastasiia Voitova (Cossack Labs) and Jean-Philippe (JP) Aumasson*

The next day, Cossack Labs team had more of its guilty crypto pleasure with a 💪 special workshop on crypto attacks/defenses and PQC, designed by JP and Philipp Jovanovic ([check it out](https://www.ringzer0.training/crypto-attacks-defenses.html)). 

💡 And since we stand for the concept of giving knowledge back to the community and recently finished the first cycle of our [crypto R&D internship] (https://dev.to/cossacklabs/backstage-cryptographic-r-d-internship-at-cossack-labs-24dg), it is more than possible that we have several spots for new interns🎓 in the autumn. 

**Check for updates if you enjoy the same cryptographic wave.**

![Quantum Computers: how bad for Crypto? © JP Aumasson](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ual6y9lf8nszkj7445e7.png) *Quantum Computers: how bad for Crypto? © JP Aumasson*

---
Visit our website: [https://www.cossacklabs.com/] (https://www.cossacklabs.com/)
Follow us on [Twitter] (https://twitter.com/cossacklabs), [LinkedIn] (https://www.linkedin.com/company/cossack-labs/), [YouTube] (https://www.youtube.com/channel/UCQbAyrwHKJ8QRDTOHs90O0g), and [Facebook] (https://www.facebook.com/CossackLabs).
Cut through complexity!
7 GitHub repos based on React
Tags: react, webdev, programming, beginners
Published: 2021-07-27 13:58:19

_If you found value in this thread you will most likely enjoy my tweets too so make sure you follow me on [Twitter](https://twitter.com/VladPasca5)  for more information about web development and how to improve as a developer. This article was first published on my [Blog](https://vladpasca.hashnode.dev/)_

### 1. React

Cheatsheets for experienced React developers getting started with TypeScript

🔗https://github.com/typescript-cheatsheets/react

### 2. Create React App

Set up a modern web app by running one command.

🔗https://github.com/facebook/create-react-app

### 3. React

A declarative, efficient, and flexible JavaScript library for building user interfaces.

🔗https://github.com/facebook/react

### 4. Gatsby

Build blazing fast, modern apps and websites with React

🔗https://github.com/gatsbyjs/gatsby

### 5. Awesome React

A collection of awesome things regarding React ecosystem

🔗https://github.com/enaqx/awesome-react

### 6. Formik

Build forms in React, without the tears

🔗https://github.com/formium/formik

### 7. React Boilerplate

A highly scalable, offline-first foundation with the best developer experience and a focus on performance and best practices.

🔗https://github.com/react-boilerplate/react-boilerplate

### The end

_I hope found this useful and if you did please let me know. If you have any question feel free to DM me on  [Twitter](https://twitter.com/VladPasca5)._
You should probably learn TypeScript
Tags: javascript, typescript, healthydebate
Published: 2021-07-27 13:51:49

Yes, _you_.

This post is trending right now...

{% link https://dev.to/akashshyam/to-typescript-or-to-not-3ad0 %}

It's certainly always valid to compare and contrast... Especially as a project decision maker. The pros and cons are very relevant, but as an individual developer, these tradeoffs should not affect your decisions on whether to explicitly take the time to learn this technology.

Learn TypeScript in order to be more employable because of the popularity of this approach to JavaScript, but also learn TypeScript because it is going to open you to new paradigms you might otherwise neglect.

As far as bang-for-your-buck goes, it's probably one of the more valuable learning opportunities out there right now. It's trendy and popular, but it is hardly "hipster technology". You are going to get a lot out of learning this programming language.

... But once you learn it, don't _demand_ that your company immediately adopt it. There are a lot of valid reasons to stay the course. Rewrites are expensive.

{% twitter 715623065078644738 %}

Happy coding. ❤️
Use Gitforks.com to Compare Forks of a Repo
Published: 2021-07-27 19:09:20

---
title: Use Gitforks.com to Compare Forks of a Repo
published: true
date: 2021-07-27 13:47:00 UTC
tags: 
canonical_url: https://blog.kapic.io/compare_forks_with_gitforksdotcom/
---

One thing that I have wanted to do several times is compare forks of a repository on Github to see who was actually making changes to a repository and who only forked a repository because they thought it would be a fun thing to do. Unfortunately (to the best of my knowledge), Github does not make this easy. In order to see how many commits ahead a repository is, you need to go to the webpage for that repository.

What I wanted was a quick list, where I could simply scan over it and see which forks had changes. So I built that.

Enter [Gitforks](https://gitforks.com/), a simple website written in React and hosted by Netlify (CDN and one serverless function). The website is _really_ simple, but it does what I need it to do: display forks and their commits ahead/behind.

As it stands now, it is not perfect. If I wanted to get fancy, I would add authentication and caching so I do not have to worry about hitting the Github API's rate limit. However, I have better things to do, and it works well enough. If I am honest, my goal is mostly just to have this tool for myself, although I think it would be cool if someone at Github saw this and added it as a feature to the site (please, do this; many of us would find it useful). I also hope that it might be useful to others, so give it a shot and let me know what you think.

I am also open to having open-source contributions. If you want to make an open source contribution, check out the [repo](https://github.com/christopher-kapic/gitforks). You can implement caching (this should not be that difficult) or authentication (I do not know how difficult this is for Github OAuth), or anything else that you think would make for a good addition to the site.

And for those who just find it a cool idea, I would love if you simply gave the [repo](https://github.com/christopher-kapic/gitforks) a star. Thank you!
Third Episode Of Absurdity
Tags: podcast, jokes, techtalks, productivity
Published: 2021-07-27 13:45:49

Council Of The Wise Developers put up its third episode!

{% spotify spotify:episode:3sDUDfarWThJT4H4TcWTh3 %}

Or, listen on your podcast provider of choice...

https://rss.com/podcasts/councilofthewisedevelopers/
Day 2 - Valid Sudoku
Published: 2021-07-27 13:39:12

###Day 2 -  Valid Sudoku - Leetcode problem

Problem and my solution can be found in my Github repo along with all other problems I have solved till date.

[Leetcode problem](https://leetcode.com/problems/valid-sudoku/)
[Github link to problem and solution](https://github.com/abh1navv/leet-code/tree/d5fbae4d5a8de14c0d0c3c8ea5e29e1dd1f66fca/valid-sudoku)

You can also connect with me at &nbsp;
[LinkedIn](https://www.linkedin.com/in/abh1navv)
[Twitter/@abh1navv]
(https://www.twitter.com/abh1navv)
Create a Netflix clone from Scratch: JavaScript PHP + MySQL Day 2:How to get most out of the course
Tags: javascript, webdev, tutorial, mysql
Published: 2021-07-27 13:33:14

In this video we'll cover how to get most out of the course

{% youtube CKlI3bZT7dU %}


In this video we'll cover  how to create the necessary files and folders for our project

{% youtube uQ7SxHFhxV8 %}

If you like my work, please consider
[![Buy me a coffee](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jm11knj7d8zwcvo150q2.png)](https://www.buymeacoffee.com/cglikpo)
so that I can bring more projects, more articles for you

If you want to learn more about Web Development, feel free to [follow me on Youtube!](https://www.youtube.com/c/ChristopherGlikpo)
Enhance your career in Fortinet Course with HKR
Tags: fortinet, fortinetcourse, fortinettraining
Published: 2021-07-27 13:24:35

Fortinet Course Overview
HKR Fortinet training develops network security skills and expertise required for a career as a certified Fortinet professional. It offers a foundational understanding of threat landscape, Fortinet features, FortiGate firewalls, and much more through real-world examples. By the end of the training, you’ll become an expert in designing, configuring, and troubleshooting network security solutions and will also able to use this knowledge in real-time. Enroll now and get certified.
Fortinet Online Training Content
You will be exposed to the complete Fortinet Trainingcourse details in the below sections.
1) NSE-5 FortiAnalyzer
* Introduction and Initial Configuration
* Administration and Management
* Device Registration and Communication
* Logging
* Reports


2)NSE-5 FortiManager
* Introduction and Initial Configuration
* Administration and Management
* Device Registration
* Device Level Configuration and Installation
* Policy and Objects
* Manager Panes
* Diagnostics and Troubleshooting
* Advanced Configuration


For more information visit: <a href="https://hkrtrainings.com/fortinet-training">Fortinet Training</a>
How I Made My Own BNB Payment Gateway with PHP?
Tags: programming, php, blockchain, webdev
Published: 2021-07-27 13:23:07

I like to use **Binance Smart Chain** and sometimes I need to get paid with using it. I used to send my BSC wallet address to the customer manually. But when there are many customers, it became difficult to do manually. Then I thought, *Automate the boring stuff!*

#### Why Don't You Use Ready-Made Gateways Like Coinpayments?
These gateways are useful, especially if you need to accept multiple cryptocurrencies. But I just need BNB. So, I won't pay commission for that! 😀

#### What Do You Need to Know Before Start?
- BSC is a fork of Go Ethereum protocol. Because of that our software will work on all ETH networks, not just BSC.
- You can generate a wallet address offline (on ETH), it's not necessary to activate it. ([Read this post](https://www.quicknode.com/guides/web3-sdks/how-to-generate-a-new-ethereum-address-in-php))
- DAPPs use Web3 to connect to the ETH network.
- We have to store the private key of the wallet to access funds.

### Let's Start!
We'll create a unique wallet address for each payment. Our system will approve the payment when the customer sends enough BNB to the generated wallet. And after approval, it will transfer the funds to my payout wallet address.

I used [web3.php](https://github.com/web3p/web3.php) and [ethereum-tx](https://github.com/web3p/ethereum-tx) libraries in my project.

After several hours of fighting with the ETH network, my system is ready.

Check the demo: https://bg.je/projects/bsc-payment/example_form.php
Source code: https://github.com/bgokcol/bsc-pay

#### What's Next?
- I will add user and admin dashboard.
- I will add support for stable coins like BUSD, USDT, DAI.
- Transfer fee (gas limit & gas price) is provided by the user for now. I will make it automatic in the future.