teleren/devto huggingface dataset:
Setup NAS on Raspberry Pi 4 - Part 3
Tags: linux, raspberrypi, nas, openmediavault
Published: 2021-12-31 20:23:02

You are reading the third part of the multi part series to Setup NAS on Raspberry Pi.

[Part 1: Motivation](https://dev.to/koditkarvedant/setup-nas-on-raspberry-pi-4-part-1-1pp6)
[Part 2: Bake the Pi](https://dev.to/koditkarvedant/setup-nas-on-raspberry-pi-part-2-37p)
[Part 3: Install OpenMediaVault](https://dev.to/koditkarvedant/setup-nas-on-raspberry-pi-part-3-4m9f)
Part 4: Setup OpenMediaVault **(coming soon...)**

---

## Part 3: Install OpenMediaVault

First thing first we need to make sure Raspberry PI is up to date.

```bash
sudo apt update && sudo apt upgrade
```

Sit tight this is gonna take some a little bit.

Now we can run the following command to download the OpenMediatVaulty install script and pipe it directly through to bash. This script will install everthing need to run OpenMediaVault on the Raspberry Pi.

```bash
sudo wget -O - https://raw.githubusercontent.com/OpenMediaVault-Plugin-Developers/installScript/master/install | sudo bash
```

This script will do ton of packages that the OpenMediaVault software requires. So keep your coffee or poison ready. :coffee::coffee::coffee:

After installation is done if you did not get disconnected from Raspberry Pi then you might wanna restart the Pi manually.

```bash
sudo reboot
```

## Step 4: Setup OpenMediaVault

As in previous step you have restarted the Raspberry Pi which result in new IP address got assigned to the device. So you need to find the through home router.

Now let's configure OpenMediaVault.

Open your favorite browser and enter the below address.

```
http://192.168.0.30
```

You might see login screen something like below or something different as per the version of OpenMediaVault you've got.

![OpenMediaVault login screen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hfeqvar7knwfkt2oojzz.png)

Below are default credentials:
```
username: admin
password: openmediavault
``` 

Once you logged in you should be landed on Dashboard page.

---

That is it for this part you can continue with the reading the rest of parts.

[Part 1: Motivation](https://dev.to/koditkarvedant/setup-nas-on-raspberry-pi-4-part-1-1pp6)
[Part 2: Bake the Pi](https://dev.to/koditkarvedant/setup-nas-on-raspberry-pi-part-2-37p)
[Part 3: Install OpenMediaVault](https://dev.to/koditkarvedant/setup-nas-on-raspberry-pi-part-3-4m9f)
Part 4: Setup OpenMediaVault **(coming soon...)**
Setup NAS on Raspberry Pi 4 - Part 1
Tags: nas, raspberrypi, linux, opensource
Published: 2021-12-31 20:22:55

This will be multi part post where I will take you through understanding what is NAS? How to setup NAS on your own using Raspberry Pi.

[Part 1: Motivation](https://dev.to/koditkarvedant/setup-nas-on-raspberry-pi-4-part-1-1pp6)
[Part 2: Bake the Pi](https://dev.to/koditkarvedant/setup-nas-on-raspberry-pi-part-2-37p)
[Part 3: Install OpenMediaVault](https://dev.to/koditkarvedant/setup-nas-on-raspberry-pi-part-3-4m9f)
Part 4: Setup OpenMediaVault **(coming soon...)**

---

## Part 1: Motivation

Recently I felt a need to have NAS which I can access on my local network and eventually expose it over internet for things like backing up my photos, videos, backups etc. 

But I was hoping it to be more than just a regular NAS. I want it to run other services likes password manager, media player server which I can access on my mobile phone, tv and other devices.

Buying NAS is a good option but it is very costly. So I decided to build one myself. 

This multi-part post is share my experience and steps I followed to setup one for myself.

### What is a NAS Server?
A (Network Attached Storage) NAS Server is a network storage system to serve and share files to other client computers in a local area network. This enables multiple users to access and share the same file storage.

### Why NAS Server on Raspberry Pi?
Raspberry Pi is a mini-computer with the full performance of a Linux-based operating system and contains almost all functions of a large server system.

The Raspberry Pi saves a lot of money because it consumes a very small amount of energy. Due to its small size, the Raspberry Pi can be placed on nearly any place.

There are various solutions present which can help you build your NAS. I will be using openmediavault.

### What is OpenMediaVault?
![open media vault logo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l9ohfm2e6z8yu4kuiixj.png)
 
openmediavault is the next generation network attached storage (NAS) solution based on Debian Linux. It contains services like SSH, (S)FTP, SMB/CIFS, DAAP media server, RSync, BitTorrent client and many more. 

openmediavault is primarily designed to be used in small offices or home offices, but is not limited to those scenarios. It is a simple and easy to use out-of-the-box solution that will allow everyone to install and administrate a Network Attached Storage without deeper knowledge.

You can read about the features provided by OpenMediaVault [here](https://www.openmediavault.org/?page_id=1562).

---

That is it for this part you can continue with the reading the rest of parts.

[Part 1: Motivation](https://dev.to/koditkarvedant/setup-nas-on-raspberry-pi-4-part-1-1pp6)
[Part 2: Bake the Pi](https://dev.to/koditkarvedant/setup-nas-on-raspberry-pi-part-2-37p)
[Part 3: Install OpenMediaVault](https://dev.to/koditkarvedant/setup-nas-on-raspberry-pi-part-3-4m9f)
Part 4: Setup OpenMediaVault **(coming soon...)**
build a tic tac toe game | react | tailwind css | next js
Tags: react, tailwindcss, javascript, webdev
Published: 2021-12-31 19:28:21

build a tic tac toe game | react | tailwind css | next js
https://www.youtube.com/watch?v=bZ1GqU7BC5k&feature=youtu.be
If you liked our content help us by subscribing on the channel and leaving a nice comment
Advanced iOS development - Build Phases Part 2
Tags: ios, xcode, swift
Published: 2021-12-31 18:53:28

In part [one](https://dev.to/olabib/advanced-ios-development-build-phases-part-1-igk), we were introduced to how run scripts can be utilized as part of Xcode build process with a trivial example..

In this post we will further demonstrate on run scripts but through very meaningful use case...

If you've ever worked with localizable files in iOS, _I'm sure you have_, You may have notice, _I'm not sure you may_, that Xcode doesn't detect duplicated keys in the files, i.e. you can have multiple keys with different or even same values and Xcode won't complain about this..

This of course is not a recommended practice at all, and must be avoided, and that's our duty in this post..

Not only that, but we're going to highlight duplicated keys in Xcode as follows..

![Xcode error message](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j9icr8tjma3iyxzsqnjq.png)

Insert the following code inside into the code block in your run phase step, this code can be found [here](https://github.com/O-labib/Xcode-build-script-strings-duplications/blob/main/script)..
![Xcode](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u6vysde2icof7jlls5ur.png)

Now let's go over it line by line...
1. We find the `Localizable.strings` files in the directory of the project, and iterate over them.
2. `SRCROOT` is an environment variable exposed by Xcode during the build process, thus `FILE_PATH` represents the absolute path to the `Localizable.strings` file.
3. We extract only the keys from the file.
4. We filter the keys to the only duplicated ones.
5. We iterate over the duplicated keys to get the key and its occurrences in the file.
6. We iterate over these duplicated occurrences and get the line number then we print what key is duplicated and at which line.

The cool part is when it comes to highlighting this error message in Xcode..
You just need to print the following message during the build process. 

`echo "${filePath}:${lineNumber}:${columnNumber}: error: {errorMessage}"`
This highlights the message in Xcode as follows..

![Xcode error message](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j9icr8tjma3iyxzsqnjq.png)

If instead you want a warning instead of error in Xcode, you just need to change it to the following..
`echo "${filePath}:${lineNumber}:${columnNumber}: warning: {errorMessage}"`

This yields the following output..


![Xcode warning message](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wnrwr8vu6k9ic10ozx24.png)

Run scripts are such powerful features that can utilize to run any script you can think of... not only can you run shel scripts there, but you can run any sort of script, Your imagination is the limit 🚀
How To Turn On Inspect Element In Android Mobile Chrome
Published: 2021-12-31 18:53:17

Hey Guys, in this new blog, I am going to share with you the easy and simple way to Use [Inspect Element On your android phone](https://howtowebs.com/how-to-turn-on-inspect-element-in-android-mobile/).

You are an android or windows user then you should subscribe our YouTube channel where I try to share free tips related to windows and android. [iPhone](https://howtowebs.com/)
In-Demand Data Analysts Skills You Need To Get Hired In 2022
Tags: datascience, database, data, datavisualization
Published: 2021-12-31 18:22:12

The main role of a Data analyst is to extract data and interpret the information obtained from the data for analyzing the outcome of a given problem in business. In this process, the analyst also discovers the various bottlenecks that are found in the results and provides possible solutions for the same. Extraction of information from given existing data is done using one or more standard methodologies such as data cleaning, data transformation, data visualization, and data modeling. Using these methodologies, a data analyst can make careful, data-driven decisions.
The major skills required to be a data analyst are Python and or R programming skills, Structured Query Language (SQL), Statistical Analysis Software (SAS), SAS Miner, Microsoft Excel, and or Tableau. The key areas and techniques which a data analyst should be well-versed with include the following:
Data preprocessing, which is an important step in data analysis, involves data cleaning, data integration, data transformation, and data reduction.
Data visualization, which is the graphical representation of data that can make information easy to analyze and understand.
Statistical modeling, which mainly involves two important kinds, descriptive or summary statistics and inferential statistics.
Programming skills, for which a data analyst may thoroughly practice and learn R and or Python programming that is mainly used in data analysis.
Communication and presentation skills, which are required for communicating with the team regarding the various reports and outcomes of results obtained after proper data analysis.
To summarize, a few of the major tasks that a data analyst is involved in are data acquisition, data management, data cleaning, and data filtering, data interpretation using statistical analysis, improving data quality and statistical efficiency, data visualization, and analytics reporting.
Hope this was helpful.
In-Demand Data Architect Skills You Need To Get Hired In 2022

Tags: dataarchitect, datascience, data, datamodeling
Published: 2021-12-31 18:14:40

A Data Architect provides support to Data Engineers to carry out various tests with precision by using various tools and platforms. It’s very important for a Data Architect to be well versed in Data Modeling and Data Warehousing. Other additional skills required by a Data Architect are Extraction, Transformation, and Load (ETL), and should have hands-on experience with scalable tools such as Hive, Pig, and Spark.

A few of the prominent work a Database Administrator is involved in are:

- Designing data models.
- Developing database solutions.
- Providing structural requirements for new software applications.
- Managing data migration and optimization of database systems.
- Providing Management Information System (MIS) support.
- Administering system performance by troubleshooting, testing, and assimilating new elements.

The main task of Data Architects is to design and implement database systems, data models, and components of data architecture. Data Architects should have a vast knowledge of various kinds of data available, both offline and in the cloud environment. Also, he/she possesses the capability of managing data warehouses and ETL operations.

Hope this was helpful.
In-Demand Data Engineer Skills You Need To Get Hired In 2022
Tags: dataengineering, datascience, datascientist, data
Published: 2021-12-31 18:11:04

The job of a Data Engineer comes first, and then the data is handed over to a data analyst or data scientist for analysis. Thus, the role of a Data engineer is not to analyze data but rather to prepare, manage and convert data into a form that can be readily used by a Data analyst or Data scientist. Also, the advanced skills required by a Data engineer are far different from the other two.

- With special training, a data engineer can design, build, integrate, and maintain data from multiple (homogeneous or heterogeneous sources. Few of the major work a data engineer is involved in include the following:

- Developing and maintaining data architectures.
Aligning data architectures with the business or project requirements.

- Improving data quality and raising data efficiency.

- Performing predictive and prescriptive modeling for given input data.

- Determining activities that can be automated.

- Engaging oneself with the other stakeholders to explain the details of the converted data so that it can be used by the data analyst or data scientist for further analysis.

The major skills required to be a data analyst are Ruby, Java, C, Python and or R programming skills, Hive, NoS4L, MapReduce technologies, and MATLAB. Good knowledge of ETL tools and some popular APIs will be an added benefit to your profile. Data engineers have a demanding role in data analytics as they help in assuring that data is made available in a form that can be easily used for analysis and interpretation. If the raw data is not initially handled by a data engineer, no machine learning or deep learning model would be able to handle such complex raw bulky data that is initially received by the team for business analysis.

Hope this was helpful.
BERT(Bidirectional Encoder Representation from Transformer)
Tags: nlp, bert, python
Published: 2021-12-31 17:49:15

**What is BERT? **

BERT stands for (Bidirectional Encoder Representation from Transformer), was initially released in late 2018 by Google. 

It has made a significant breakthrough in the field of natural language processing by achieving better outcomes in a variety of NLP tasks, including question answering, text creation, sentence categorization, and many more. 

BERT's success is due in part to the fact that it is a context-based embedding model, as opposed to other prominent embedding models like word2vec, which are context-free.

**Why BERT**

BERT quickly became a hot topic in NLP. This is because: 
It displays a high degree of linguistic sophistication, attaining human-level performance on some tasks. 
It may be used for a wide range of jobs. 
It has the advantages of pre-training and fine-tuning: BERT has been pre-trained on a huge text corpus by Google, and you can exploit its language comprehension by fine-tuning the pre-trained model on your own application (classification, entity recognition, question answering, etc.). With minimum design work, you may be able to acquire very precise outcomes on your assignment.

**How BERT Work?**

Transformer, an attention mechanism that learns contextual relationships between words (or sub-words) in a text, is used by BERT. Transformer has two different processes in its basic form: an encoder that reads the text input and a decoder that generates a job prediction. Only the encoder technique is required because BERT's purpose is to construct a language model. 
The Transformer encoder reads the complete sequence of words at once, unlike directional models that read the text input sequentially (left-to-right or right-to-left). As a result, it is classified as bidirectional, however it is more correct to describe it as non-directional. This property enables the model to deduce the context of a word from its surrounds (left and right of the word)

**References:** 

[1]S. Ravichandiran, Getting started with Google BERT : build and train state-of-the-art natural language processing models using BERT. 
[2]C. Mccormick, “The Inner Workings-of-BERT,” 2020.
[3]https://towardsdatascience.com/bert-explained-state-of-the-art-language-model-for-nlp-f8b21a9b6270
Machine Learning vs Deep Learning: What’s the Difference?
Tags: machinelearning, ai, python, programming
Published: 2021-12-31 17:31:19

**Machine Learning vs Deep Learning: What’s the Difference?**
In this blog we are going to see difference between Machine Learning and Deep Learning. Machine Learning Vs Deep Learning(ML vs DL). Let's Start Click Here to read this post:👇

[Machine Learning vs Deep Learning: What’s the Difference?](https://codexashish.blogspot.com/2021/12/machine-learning-vs-deep-learning-whats.html)


**Thankyou for reading my blogs.**
#####My Website:👇
[CodexAshish](https://codexashish.blogspot.com/)
How to preloading on Unity. My script waiting few seconds after loading.
Tags: unity3d
Published: 2021-12-31 17:28:53

Preloading is one of the best ways which reduce user’s stress easily.

So, I created the loading.cs for preloading.

If you don’t need animation system, please get rid of below part,

`Update(){——-}`

## Script

```
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class Loading : MonoBehaviour
{

  
  private AsyncOperation async;
  public Text loadingText;
  public float waitSec = 5.0f;
  public float cycle=0.8f;
  float time=0;
  void Start()
  {
    StartCoroutine("LoadData");
  }

    private void Update()
    {
    time += Time.deltaTime;

        if(time <= (cycle/5f))
      loadingText.text = "Now loading";
    else if (time <= (cycle * 2 / 5f))
      loadingText.text = "Now loading.";
    else if (time <= (cycle * 3 / 5f))
      loadingText.text = "Now loading..";
    else if (time <= (cycle * 4 / 5f))
      loadingText.text = "Now loading...";
    else if (time <= cycle)
        {
      time = 0;
        }
    

  }
    IEnumerator LoadData()
  {
    // Start loading scene
    async = SceneManager.LoadSceneAsync("MainScene");

    // Dont activate changing scene when the load finished.
    async.allowSceneActivation = false;
    
    while (async.progress<0.9f)
    {
      yield return null;
    }
    //change scene after wait some seconds
    yield return new WaitForSeconds(waitSec);
    async.allowSceneActivation = true;
  }

}
```

##Postscript

BTW, be careful about “AsyncOperation”

In this script, preloading work 
` while (async.progress<0.9f)`

but didn't work
`while (!asny.isDone)`

It's because when you define `async.allowSceneActivation = false;`
at first,

`async.isDone` always return `false`

and

`async.progress` couldn’t reach `1.0` but `0.9`

the max state will be `0.9`.


 Best regards.

I write this post to improve my English skill. Don’t mind some spelling mistake.
Image Search App in 10 MINUTES Challenge - Unsplash Api and CSS grid
Tags: javascript, css, html, webdev
Published: 2021-12-31 17:26:50

## Image Search app in 10 min

Checkout the deployed project here: 
https://photosearch-unsplash.netlify.app/

Watch the YouTube video: 
{% youtube 7EArFLOI8ek %}

##Hello, and welcome to my blog! 😊
In this video, I make  a photo search app, that takes in a keyword and return 10 images that is taken from the unsplash.com API. The user can search with any keyword and scroll through to the next / previous page. This is a challenge, and my fourth attempt when I finally managed to code the app in less than 10 minutes!

You can view all the code on Github: https://github.com/SebCodesTheWeb/photosearch

## --How it works--

It's quite simple. I align everything using css grid, and have 10 empty images when the website first loades. I use a css background pattern and some hover effect to make everything look nice. When the user types in a keyword and clicks on submit the code makes a request to the unsplash api, and returns a list of urls related to that keyword. It then sets the src attribute of those images to the urls returned.

The fetch call looks like this:

```javascript
function displayImages(keyword, page) {
    fetch(`https://apis.scrimba.com/unsplash/search/photos?query=${keyword}&page=${page}`)
        .then(res => res.json())
        .then(data => {
            for(let i = 0; i < 10; i++) {
                images[i].setAttribute("src", `${data.results[i].urls.small}`)
            }
        })
}
``` 
And that's more or less it, the only hard part is making everything come together in 10 minutes ;)

## --About me--

Hello! My name is Sebastian, and I'm a high-school student from Sweden. I have dabbled with some front-end development for the past few months. And since Christmas brake finally arrived, I've decided to start a challenge for myself! I'm going to code for the coming 20 days.

I'm following the front-end career path at Scrimba and I'm currently at module 8 (Flexbox, Grid and Fetch)

By the end of the 20 days I'm hoping to have finished the front-end career path and have started with some backend Node.js development. I will be documenting my progress for the coming days, and filming myself on my Youtube-channel, so feel free to follow along my journey and learn with me!

## --Social Media--

- Follow my Blog: https://dev.to/sebcodestheweb
- Youtube: www.youtube.com/channel/UCikWIcChAOSwoc2qpbZ6iIA
- Reddit: https://www.reddit.com/user/zenrigod
- Instagram: https://www.instagram.com/sebcodestheweb/
- Github: https://github.com/SebCodesTheWeb