teleren/devto huggingface dataset:
How to gain experience without work ?
Published: 2023-03-26 02:24:55

Here I will be discussing some ways in which you can gain experience and be job-ready, let’s start.

nowadays, it’s difficult to find a job without any previous experience, but we need a job to gain experience and we need experience to get a job, what will end to an infinite loop, so let’s break the loop, and find another suitable solution.

**Find an internship.**
- Let’s classify internships into 2 main categories:-
- **Real Internships:** in which you will be working with a real team on a real project, save your time and start seaching for them on [LinkedIn](https://www.linkedin.com/) and [Internshala](https://internshala.com/).
- **Virtual Internships:** in which you will be working alone on virtual projects, you can start looking for them now on [Forage](https://www.theforage.com/), [TheSparksFoundation](https://www.thesparksfoundationsingapore.org/) and [LetsGrowMore](https://letsgrowmore.in/).

**Find a team and build a project together.**
- Being in a team, will let you share your experience with others and gain experience from them, let’s start looking for a team on [LinkedIn](https://www.linkedin.com/) or [Chingu](https://www.chingu.io/).

**Contribute to open source project.**
- Contributing to an open source project will make you aware about how large projects are built and how a team can collaborate to build them, if you are interested about this kind of experience, check [UpForGrabs](https://up-for-grabs.net/#/) and [CodeTriage](https://www.codetriage.com/).

**Be a volunteer.**
- You can start volunteering with any non-profit organization to gain experience, some of these organizations are [FreeCodeCamp](https://contribute.freecodecamp.org/#/index), [CatchAFire](https://www.catchafire.org/volunteer?name_filter=&type_filter=1&type_filter=2&page=1&init=true), [CodeYourFuture](https://codeyourfuture.io/volunteers/), [Teals](https://www.microsoft.com/en-us/teals) and [CoderDojo](https://coderdojo.com/en/start-a-dojo).

**Participate in community activities.**
- You can check [GoogleDeveloperStudentClub](https://developers.google.com/community/gdsc) and [TheSparksFoundation Campus Ambassador](https://internship.thesparksfoundation.info/).

**Participate in competitions.**
- For example, you can check [GoogleDeveloperSolutionChallenge](https://developers.google.com/community/gdsc-solution-challenge).

**Build a large network and share your thoughts with them.**
- [LinkedIn](https://www.linkedin.com/) is the best place for that.

**That’s all**, paying attention to these points will help your gain experience and be job-ready.

**Start building your network now**, and connect with me on [LinkedIn](https://www.linkedin.com/in/ahmed0saber/).

You can find & contact me on [LinkedIn](https://www.linkedin.com/in/ahmed0saber/), [GitHub](https://github.com/ahmed0saber), and [Facebook](https://www.facebook.com/profile.php?id=100004875915808), and here is [my portfolio](https://ahmed0saber.onrender.com/) for more details about me.
How to write better Git commit messages ?
Tags: github, git, opensource
Published: 2023-03-26 02:17:29

Some developers don’t pay attention to naming commit messages, as they think it’s not important, and paying attention to it is just a waste of time, but are they right ? that’s what we are going to talk about right now, so let’s start.

Naming of commit messages is so important if we are going to read them again in the future, but when should we do that ? let’s see some situations in which we need to go back and read old commits.

1. If I’m **working with a team**, and I need to know what they have done, so I will expect to find clean commits with descriptive names.
2. If I need to **go back to an old commit** to see what exactly has been done within it.
3. If **any issue happened** due to a certain commit, so I need to get my whole application to an older version before this commit.
4. If I’m responsible for **code review** in my team.

Now we know why we should write clean commit messages, Let’s see how we can do that.

**1) The subject should be less than 50 letters.**
- **Do:** “Implement add to cart functionality”
- **Don’t:** “Implement the function responsible for adding products to cart by using the product id”

**2) The sentence should be capitalized.**
- **Do:** “Add cart indicator to navbar”
- **Don’t:** “add cart indicator to navbar”

**3) Don’t end the sentence with a dot.**
- **Do:** “Add cart indicator to navbar”
- **Don’t:** “Add cart indicator to navbar.”

**4) Use a verb in imperative form.**
- **Do:** “Add cart indicator to navbar”
- **Don’t:** “Added cart indicator to navbar”

**Finally**, there is a great way that can help you write better commit messages, you can measure if your commit message is good or bad with this sentence.

If applied, this commit will “commit message”
- **Good:** If applied, this commit will “Add cart indicator to navbar”
- **Bad:** If applied, this commit will “adding cart indicator to navbar”

**That’s all**, now you need to practice what you have learnt, to be able to write better Git commit messages.

You can find & contact me on [LinkedIn](https://www.linkedin.com/in/ahmed0saber/), [GitHub](https://github.com/ahmed0saber), and [Facebook](https://www.facebook.com/profile.php?id=100004875915808), and here is [my portfolio](https://ahmed0saber.onrender.com/) for more details about me.
Is the Concept of Inline and Block Elements Dead or Still Alive?
Tags: html, css, webdev, discuss
Published: 2023-03-26 01:41:03

The concept of inline and block elements has been a fundamental part of HTML and web development. However, the terminology seems to have disappeared from the [HTML Standard](https://html.spec.whatwg.org/multipage/). This raises several questions: Does this mean the concept itself has become deprecated? Does it signify that it's an outdated way of thinking? Or has it been absorbed and carried on by a different concept?

When teaching new learners about HTML and web development, should we continue to use the terms "inline elements" and "block elements," or would it be more effective to convey similar content without using these terms? As web technologies continue to evolve, it's crucial to consider how these concepts fit into modern web development practices.

IMO, I believe the concepts of inline and block elements have not disappeared and are still effective when explaining these ideas to learners. I think it's important to continue using these terms as they help convey the fundamental aspects of HTML and web development. I'd love to hear your thoughts on this topic. Please share your opinions in the comments below. Let's keep the conversation going and learn from each other's perspectives.
I wrote a Azure OpenAI Proxy
Tags: chatgpt, openai, azure
Published: 2023-03-26 01:33:07

github repo: https://github.com/diemus/azure-openai-proxy

Azure OpenAI Proxy is a proxy for Azure OpenAI API that can convert an OpenAI request to an Azure OpenAI request. It is designed to use as a backend for various open source ChatGPT web project. It also supports being used as a simple OpenAI API proxy to solve the problem of OpenAI API being restricted in some regions.

Highlights:

🌐 Supports **proxying all** Azure OpenAI APIs
🧠 Supports **proxying all** Azure OpenAI models and custom fine-tuned models
🗺️ Supports custom mapping between Azure deployment names and OpenAI models
🔄 Supports both reverse proxy and forward proxy usage
IST 256: Project 2 Start
Published: 2023-03-26 01:20:35

Write from the perspective of including answers to these questions:
How did you start?

My partner and I started off by dividing the work amongst ourselves. Currently, Rob is working on the badges while I try to get started on the search aspect of the project. We both recognize that the actual badge is going to take much less time, so I am planning on getting as much done as I can by myself and Rob will likely jump in and help.

We decided to tackle the badge first. Creating the badge was simple enough and it was a good way of getting started. I began with doing research on filtering through an array and trying to formulate a plan to make this work. I looked through a bunch of articles and examples and found that the array.filter() function pretty promising. I managed to create this search function but I believe I'm having trouble with my object typing. 


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

My search seems to be searching correctly, since whenever I change the searched term, the amount of [object Object] is changing. I believe that it is returning the correct sections, so I just need to figure out a way to get this to return a badge element that we created. Rob's next priority is to finish the card so we can start testing my search function. While my priority is to polish my search and make sure that its returning the way its supposed to.
Luckily, the card making skills we learned from Project 1 translated pretty well into this project. However, the search api is a new concept to us.

I'm not really sure exactly what else I need to do to fix my search, I'll likely do some more research or ask for some help during class time.
ビットコインが貰えるポイ活アプリBitWalk（ビットウォーク）の評判等に関する記事を公開しました
Published: 2023-03-26 01:19:12

BitWalk（ビットウォーク）は、無料で利用でき、歩数に応じてビットコイン（正確にはmBTC）を稼げるポイント活用アプリとして話題を呼んでいます。

fillメディア編集部では、BitWalkに関する始め方、稼ぎ方、出金方法などの解説記事を公開しています。

[BitWalk（ビットウォーク）の評判は－歩数に応じてビットコインを稼げるポイ活アプリ](https://social-lending.online/poikatsu/bitwalk/what-is-bitwalk/)

アプリを始めるには、まず無料のアプリをダウンロードする必要があります。ダウンロードが完了したら、スマートフォンのヘルスケア関連情報（歩数）へのアクセス許可を与える必要があります。

その後、特に何かをする必要はありません。日々の歩数がスマートフォンのヘルスケアを通じて自動的にアプリに反映・カウントされます。BitWalkの場合、500歩歩くごとに、mBTCを獲得できる缶詰（スタンプ）が1つ入手できます。

※この缶詰は、日々忘れずに開封する必要があります。

缶詰を開封する（＝スタンプを押す）際には、配信されるCM動画を視聴して、（本来のmBTC獲得量と比較し、）5倍の量のmBTCを入手するか、またはCM動画を視聴せずにそのままの量のmBTCを受け取るかの選択ができます。

BitWalk（ビットウォーク）では友だち招待プログラムが提供されており、発行された紹介コードを使用して友達を招待すると、その後、100スタンプ分（＝缶詰100個分）の間、mBTCの獲得量が2倍となります。

※ただし、1か月あたりの友達招待数には、「3枠まで」という制限があるため、注意が必要です。

その他にも、ビットコインの価格を予想してmBTCを獲得するコンテンツが提供されています。当日の朝6時時点でのビットコイン価格と翌朝6時時点での価格を比較し、上がっているか下がっているかを予想し、mBTCを稼ぐことができます。※なお、予想が外れても、少額のmBTCをもらえます。

BitWalkからの出金は、アプリ内で申請できます。ただし、最低出金額は「0.2mBTC」に設定されており、歩数だけで十分なmBTCを貯め切るまでには、相当長い時間がかかる、という点には、注意を要します。
IST 256 Project 2: Scoping
Published: 2023-03-26 01:08:38


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

We will be building a 'badges' dashboard with a high level search.

For this project, we plan to keep the naming convention to be fairly generalized. We haven't yet decided on a concrete project title, but we considered the following: Badge Card and Course Card.

For the badge: 

The general plan so far is to have at least three properties. We will have a title property, description property and a creator property. The icon is most likely going to be an element. The badge itself will be its own imported element, so we will dedicate an entire js file just for the badge creation.

For the search bar:
The backend should store the information or data of the individual badge card components such as the title, name, category, etc, making the search possible, this is the information we will need from the backend. (https://github.com/AaronLobitana/badge-search)

More information will be out soon as soon as my partner and I begin working and envisioning our Project 2. Specifically the second blog post of this series should contain more information regarding the process overall.
A Beginner's Guide to Creating a RESTful API with Node.js
Tags: node, express, javascript, api
Published: 2023-03-26 00:22:33

Creating a simple API using Node.js is a common use case for the platform, and there are several libraries and frameworks available to make the process easier. Here's a brief overview of how to create a simple API using Node.js.


1.Choose a framework: There are several popular Node.js frameworks for building APIs, such as Express, Hapi, and Koa. For this example, we'll use Express.

2.Install dependencies: Once you've chosen a framework, you'll need to install the necessary dependencies. For Express, you'll need to install the express and body-parser packages. You can do this using the npm package manager:

```
npm install express body-parser
```
Create a basic server: Create a new file called server.js, and add the following code:

```
const express = require('express');
const bodyParser = require('body-parser');

const app = express();

app.use(bodyParser.json());

app.get('/', (req, res) => {
  res.send('Hello, world!');
});

const port = process.env.PORT || 3000;

app.listen(port, () => {
  console.log(`Server running on port ${port}`);
});

```
This creates a basic Express server that listens for HTTP requests on port 3000 (or the value of the PORT environment variable, if set). When a GET request is made to the root URL ('/'), the server responds with the string 'Hello, world!'.

4.Add API routes: To create an API, you'll need to define routes that handle different HTTP methods (such as GET, POST, PUT, and DELETE) and perform actions based on the request parameters. For example, to create a route that returns a list of items, you could add the following code:

```
const items = ['apple', 'banana', 'orange'];

app.get('/items', (req, res) => {
  res.json(items);
});

```
This defines a new route that listens for GET requests to the '/items' URL. When a request is received, the server responds with a JSON array containing the items array defined earlier.

5.Test the API: You can test the API using a tool like Postman or cURL. For example, to test the '/items' route, you can send a GET request to http://localhost:3000/items. The server should respond with a JSON array containing the items.
Secure Data with On-Prem Storage of Engineer Activity
Tags: zeroassumptions, rust, zerotrust, networking
Published: 2023-03-26 00:06:09

Zero Assumptions offers companies a secure way to get and store their engineers’ activities on databases and servers. For companies, this means peace of mind over all actions performed on company information because there’s traceability. 

Each action is attributed to a specific user device and location. In addition, we link time of action, access location, machine signature, and other defining metadata. 

## Zero Assumptions is low maintenance

Zero Assumptions doesn’t require significant staffing to roll out or upkeep. An IT role individual fills out the configuration file, and deploys the configuration onto an on-prem server. 

Our product is easy to manage and maintain once it’s deployed. Ongoing management tasks include user management, device management, group management, resource management, and node management. 

## Zero Assumptions leverages audit logs

Activity is printed to an audit log that’s available at any time. Audit logs can also be exported to another location for storage purposes. 

Audit logs can be used for internal and external auditing to verify engineer actions, and trace back root causes for issues that arise in a company's system.

## Zero Assumptions helps companies be compliant

Companies have full control over their data, since Zero Assumptions doesn’t require cloud storage. On-prem works especially well if your company deals with regulated and sensitive data that you need to retain sole access to. 

Zero Assumptions helps companies to be SOC2 and ISO 27001 compliant by providing tremendous flexibility. 

## Stay Connected to Zero Assumptions

Follow us here on DEV, [Twitter](https://twitter.com/ZeroAssumptions), and [LinkedIn](https://www.linkedin.com/company/zero-assumptions). 

Read more about [Zero Assumptions](https://zeroassumptions.dev/).
🥴 Resolving a JSON Import Issue with Linaria
Tags: react
Published: 2023-04-22 19:28:20

---
title: 🥴  Resolving a JSON Import Issue with Linaria
published: true
date: 2023-03-26 00:00:00 UTC
tags: React
canonical_url: https://bstefanski.com/resolving-json-import-issue-linaria-library
---

Recently, I faced a bug related to the Linaria library that prevented my page from building. I stumbled upon this issue when attempting to import JSON files in a component where Linaria was utilized. Instead of processing the JSON file correctly, Linaria treated it like a JavaScript file, leading to parsing errors. I attempted to exclude all JSON files in the Linaria configuration using a simple regex, but it didn't seem to work properly.

Here's a screenshot of the exact error I encountered: (screenshot here).

Before fixing the issue, my configuration looked like this:

 ![Linaria bug](https://bstefanski.com/_next/image?url=%2Fposts%2Fresolving-json-import-issue-linaria-library%2Fscreenshot.png&w=1200&q=75)
<small></small>

```

const shaker = require('@linaria/shaker').default;

module.exports = {

 rules: [

{

 test:/.json/,

 action: "ignore"

},

{

 test: /node\_modules/,

 action: 'ignore'

},

{

 action: shaker 

},

]

}

```

As you can see, I'm ignoring all the .json files and node\_modules. Additionally, I have the shaker plugin added as the last rule.

After some debugging and setting breakpoints in the code, I discovered that the issue was being caused by the shaker plugin. Under the hood, the rules are applied in reverse order, and the order matters. Since I set the shaker as the last rule, it ran as the first one. As a result, it didn't respect the other rules and failed to ignore the files I intended to exclude, causing the issue.

To fix this problem, I simply needed to place the shaker action as the first rule:

```

const shaker = require('@linaria/shaker').default;

module.exports = {

 rules: [

{

 action: shaker 

},

{

 test:/.json/,

 action: "ignore"

},

{

 test: /node\_modules/,

 action: 'ignore'

},

]

}

```

By placing the shaker action as the first rule, I was able to resolve the issue and successfully exclude the JSON files and node\_modules from processing.
13- A Guide to Linking Processing Tasks in PyQGIS
Tags: programming, python, pyqgi
Published: 2023-03-25 22:37:19

--- series: A beginner's guide to using Python with QGIS ---
Looking to enhance your skills in PyQGIS? Look no further! This article provides a step-by-step guide on how to chain processes in PyQGIS using real-world data from the city of Erbil in Iraq. Follow along as we show you how to select primary roads, create buffers, find places along those roads, and print their names. By the end of this tutorial, you'll have a solid understanding of how to chain processes in PyQGIS and be able to apply this knowledge to your own projects.

To begin, download the [**data**](https://github.com/Azad77/Python_qgis/blob/main/Data/places%26roads.zip) we'll be using in this tutorial. We'll start by loading shapefiles of roads and places from the city of Erbil in Iraq:

```python
roa = "D:/erbil_data/erbil_data/roads.shp"
pla = "D:/erbil_data/erbil_data/places.shp"
```

Next, we'll choose only the primary roads from the roads shapefile:

```python
expression = "fclass = 'primary'"

primary_roads = processing.run("native:extractbyexpression",
	{"INPUT":roa, "EXPRESSION":expression,"OUTPUT":"memory:"}
	)["OUTPUT"]
```

Then, we'll create a buffer around the primary roads:

```python
buffered_primary_roads = processing.run("native:buffer",
    {'INPUT':primary_roads,'DISTANCE':0.01,'SEGMENTS':5,'END_CAP_STYLE':0,
    'JOIN_STYLE':0,'MITER_LIMIT':2,'DISSOLVE':False,'OUTPUT':'memory:'}
    )['OUTPUT']
```

We can then add the layer of buffered primary roads:

```python
QgsProject.instance().addMapLayer(buffered_primary_roads)
```

Next, we'll find the places along the primary roads:

```python
places_along_primary_roads = processing.run("native:extractbylocation",
	{"INPUT": pla, "PREDICATE": [0], "INTERSECT":buffered_primary_roads, "OUTPUT": "memory:"}
	)['OUTPUT']
```

And we'll add the layer of places along the primary roads:

```python
QgsProject.instance().addMapLayer(places_along_primary_roads)
```

Finally, we'll print the name of each place along the primary roads:

```python
for feature in places_along_primary_roads.getFeatures():
    print(feature["name"])
```

In conclusion, this article provides a detailed tutorial on how to chain processes in PyQGIS using real-world data from the city of Erbil in Iraq. By following the step-by-step guide, readers can learn how to select primary roads, create buffers, find places along those roads, and print their names. This knowledge can then be applied to their own PyQGIS projects.

> If you like the content, please [SUBSCRIBE](https://www.youtube.com/channel/UCpbWlHEqBSnJb6i4UemXQpA?sub_confirmation=1) to my channel for the future content
Project Data Science
Tags: datascience, analytics, python, productivity
Published: 2023-03-25 22:12:07

I just published **Customer Segmentation Using K Means Clustering** in Bahasa, link [here](https://t.co/9p3kcbOeKz)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qp4kyj4nmsszdkwli2w7.jpg)
Configure Size of Innodb Buffer Pool
Published: 2023-03-25 21:55:51

The size of the InnoDB Buffer Pool can be configured by setting the **innodb_buffer_pool_size** system variable. the InnoDB Buffer Pool should usually be between 50%-75% of the memory available.

There are two ways two configure innodb buffer pool size which are given as following

1) The size of the InnoDB buffer pool can be changed dynamically by setting the innodb_buffer_pool_size system variable using the **SET GLOBAL** statement which requires **SUPER** privilege.

To configure the InnoDB Buffer Pool with the **SET GLOBAL** statement, use the following procedure:

- Connect to the server using MariaDB Client as the root@localhost user account or another user account with the SUPER privilege

- Set the **innodb_buffer_pool_size** system variable to the new size using the **SET GLOBAL** statement.

For example, to set the size to 4 GB:

SET GLOBAL innodb_buffer_pool_size=(4 * 1024 * 1024 * 1024);

- Confirm that the resize operation has been completed by querying the **Innodb_buffer_pool_resize_status** status variable using the **SHOW GLOBAL STATUS** statement


2) Changing the size of buffer pool by setting **innodb_buffer_pool_size** system variable in configuration file. Ensure that your custom configuration file is read last by using the z- prefix in the file name so that changes made by you are not overwritten. 

**innodb_buffer_pool_size** needs to be set in a group that will be read by MariaDB Server, such as [mariadb] or [server]. When set in a configuration file, the value supports units such as "M" (Megabyte), "G" (Gigabyte), etc. For this method server restart is needed to reflect the changes.
FreshRSS Tutorial: Install, Sort by Date, and More
Published: 2023-03-25 21:51:05

---
title: FreshRSS Tutorial: Install, Sort by Date, and More
published: true
description: In this video, we'll explore FreshRSS, an open-source web-based RSS reader that lets you keep up with your favorite websites and blogs in one place. Then, we'll walk you through the steps to install FreshRSS on your server so that you can control your data and privacy.
tags: 
cover_image: https://i.ytimg.com/vi/rYo8u1syE70/maxresdefault.jpg
---

{% youtube rYo8u1syE70 %}

In this video, we'll explore FreshRSS, an open-source web-based RSS reader that lets you keep up with your favorite websites and blogs in one place. Then, we'll walk you through the steps to install FreshRSS on your server so that you can control your data and privacy.