teleren/devto huggingface dataset:
Rsync with a Different Key
Published: 2023-01-06 02:00:39

---
title: Rsync with a Different Key
published: true
date: 2019-07-06 13:20:05 UTC
tags: 
canonical_url: https://brandonrozek.com/blog/rsynckey/
---

To use Rsync with a different key, follow the command structure below.

```
rsync -e "ssh -i $HOME/.ssh/key" user@hostname:/from/dir/ /to/dir/

```

Though for syncing my local website to my VPS, I usually like having more options with my rsync command

```
rsync -Paz --delete -e "ssh -i $HOME/.ssh/key" user@hostname:/from/dir/ /to/dir/

```

Quick option definitions (from man page)

| Option | Description |
| --- | --- |
| -e | Allows you to override the default shell used as the transport for rsync. Command line options are permitted after the command name. |
| -a, –archive | This is equivalent to -rlptgoD. It is a quick way of saying you want recursion and want to preserve almost everything (with -H being a notable omission). The only exception to the above equivalence is when –files-from is specified, in which case -r is not implied. <!-- raw HTML omitted -->Note that -a does not preserve hardlinks, because finding multiply-linked files is expensive. You must separately specify -H. |
| -P | Equivalent to –partial –progress. Its purpose is to make it much easier to specify these two options for a long transfer that may be interrupted. |
| -z, –compress | Compress file data during the transfer |
| –delete | Delete extraneous files from dest dirs |
Good books for developer managers?
Tags: discuss, humans, management
Published: 2019-07-06 13:08:19

Hello fellow dev.to patrons.


I was recently recommended [Peopleware](https://www.amazon.ca/gp/aw/d/0932633439/ref=ya_aw_od_pi?ie=UTF8&psc=1) and thought I would ask for some more :)
Problems that forced me to leave Dashlane for 1Password
Tags: internet, passwordmanager, security
Published: 2019-08-03 11:16:10

---
title: Problems that forced me to leave Dashlane for 1Password
published: true
tags: Internet,password manager,security
canonical_url: https://kevinhq.com/problems-that-forced-me-to-leave-dashlane-for-1password/
---

Dashlane is good. Really good password manager for me. I had used it for a one-year, more or less. However, in the last month, I decided to move from Dashlane to 1Password. Here are the problems that forced me to do it Plan to minimize the cost Dashlane monthly cost is more expensive than 1Password.… 

[Read More »Problems that forced me to leave Dashlane for 1Password](https://kevinhq.com/problems-that-forced-me-to-leave-dashlane-for-1password/)
Creating React Components From Command Line
Tags: react, reactnative, components, javascript
Published: 2019-07-06 12:11:12

---
title: "Creating React Components From Command Line"
published: true
description: "A quick and easy way to create react components using the command line"
tags: react, reactnative, components, javascript
---

In this tutorial, I'm going to show you an easy way to configure your React project for creating components from the command line.

Let's get started by creating a new React project using `create-react-app`.

Execute the following command in your terminal. This will create a new project named components-demo.

```console
manindu@dev:~$ create-react-app components-demo
```

Next we have to install `create-react-component-folder` (created by Snær Seljan Þóroddsson - [GitHub](https://github.com/snaerth)) NPM package as a development dependency in our project. As the name implies, this is the package which allows us to create components using the command line.

```console
manindu@dev:~$ npm i --save-dev create-react-component-folder
```

Now it's time to create some components!!. I would like to create a directory named **components** and create my components inside that. We can do that by executing the command below.

```console
manindu@dev:~$ npx crcf components/Button Input
```

I just created two components named **Button** and **Input**.

```console
  Button
  |_Button.css
  |_Button.js
  |_Button.test.js
  |_index.js
```

```console
  Button
  |_Input.css
  |_Input.js
  |_Input.test.js
  |_index.js
```

Now we have two components with .css files for each of them. However, I prefer to use SASS with CSS modules for our project. We can do that by adding a configuration fie `create-react-component-folder`

In the project root, create a file named .crcfrc and add the code below.

```javascript
  [
    "scss",
    "cssmodules"
  ]
```

Delete the **Button** and **Input** components that we created earlier and run the same command as below.

```console
  manindu@dev:~$ npx crcf components/Button Input
```

This time you will get the same components with .module.scss files which means now you can use SASS with CSS modules for styling (you have to install node-sass for using sass)

```console
  Button
  |_Button.js
  |_Button.module.scss
  |_Button.test.js
  |_index.js
```

```console
  Button
  |_Input.js
  |_Input.module.scss
  |_Input.test.js
  |_index.js
```

You can read more about the `create-react-component-folder` on their [documentation](https://www.npmjs.com/package/create-react-component-folder).

Happy Coding!!!
Machine Learning with Python
Tags: python, ai, machinelearning
Published: 2019-07-06 10:57:39

---
title: Machine Learning with Python
published: true
description: python
tags: python, ai, machine learning
cover_image: https://proxy.duckduckgo.com/iu/?u=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2F12OoydsXUkb79e%2Fgiphy.gif&f=1
---
Machine Learning, it is all many people think of when they hear Artificial Intelligence (AI). But, Machine Learning (ML) is a subset of AI. 

Often you'll hear about Deep Learning (DL), so what's that? DL a subset of ML. Both ML and DL require data to do their training. No data, no intelligence. 

The more data you have, the more intelligent robots you can create. By robots, it can be both traditional hardware robots or software robots.

AI has already entered our lives: recommender systems (youtube, netflix), face recognition (cameras, google, facebook), spam filtering (emails) and much more. It's no longer simple rule based AI, data based systems make all this possible.

### Is ML and DL an end-all-be-all for AI?

No, ML and DL are not the only way to apply AI. There are many more solutions:

* Genetic Algorithms (GA)
* Bayesian Inferencing (BI)
* Semantic Reasoning using rules or ontologies

<img src="https://media.giphy.com/media/IeCnMXKhScSOI/giphy.gif">


### How to get into AI/ML?

There are many blogs and courses out there.

* https://gumroad.com/l/MnRYU
* https://pythonprogramminglanguage.com/python-machine-learning/
* https://developers.google.com/machine-learning/guides/
* https://towardsdatascience.com/the-cold-start-problem-how-to-build-your-machine-learning-portfolio-6718b4ae83e9
* https://pythonbasics.org/why-python-for-machine-learning/
Now you can take a peek in springboot generated project at start.spring.io
Tags: springboot, spring
Published: 2019-07-06 10:14:00

It's very common for developers who develop projects based on spring framework to use spring's initializr  online tool to generate scaffold of their projects.This tool is fantastic in spring framework ecosystem.
![](https://thepracticaldev.s3.amazonaws.com/i/7kfbxddd1cqba7yaf73l.png)

Sometimes I use this tool to find correct POM configs for my existing projects and I only download the generated zip file and extract it locally then check POM file or other files in it to apply in my projects. 

Now in new version of spring initializr, this online tool provides an awesome feature to explore your project without needing to download it.
Dear frontend devs, why using git interactively is better

Tags: git
Published: 2019-07-06 09:30:18

I never run these two commands at work

```bash
git add .
git commit -m 'my amazing changes'
```

Why? Because You can’t really see what you are committing. Everyday and every time I work on something in the office I make sure to commit changes this way (output trimmed)

```bash
git add -p
[...]
git commit -v
[...]
```

Running `git add` with the `-p` option triggers an interactive mode where you can walkthrough all of the hunks (changes) and stage, split, or ignore them. It's really powerful for reviewing your changes. When `git commit` is run with the `-v` option you get to see the changes that are about to be committed to the history. This a nice place for the final local review where you can easily eyeball all of the bits before it's pushed out. This method does not catch all of the bugs but it surely catches many silly mistakes.

If you don't like the concise commands you can also run `git add --interactive` which gives you a more verbose text interface.

```
$ git add --interactive
           staged     unstaged path
  1:    unchanged        +2/-1 index.js
  2:    unchanged        +2/-2 package.json

*** Commands ***
  1: status	  2: update	  3: revert	  4: add untracked
  5: patch	  6: diff	  7: quit	  8: help
What now>
```

I encourage you to stop running `git add .` carelessly for new code changes and instead use the interactive mode to selectively add the changes you want then `git commit -v` to commit and see the changes about to be added to the history. I can’t make any guarantees but I think you will end up liking this approach after a while. 

This is really my personal opinion and does not necessarily reflect your experience. I hope still you can be a little bit open minded and try this approach to see if it works for you. If you don’t feel so comfortable with git, I would recommend try writing a local diary and register all changes you make, like fixing typos, line changes, file creations, etc. I found that helped me a lot in learning git. 

Finally if you are into reading then you have to checkout the [Pro Git](https://git-scm.com/book/en/v2) book, which is actually a great resource and free.
Youtube Video: Var, Let and Constant in ES6(Javascript)
Tags: es6, javascript, webdev, typescript
Published: 2019-07-06 09:26:18

---
title:  Youtube Video: Var, Let and Constant in ES6(Javascript)
published: true
description: Var, Let and Constant in ES6(Javascript). What is the difference between them?
tags: es6, Javascript, WebDev, TypeScript
---

New version JavaScript ES6 comes with many features and let and const is one of them. Till es6 we were using only "var" to declare variables in JavaScript. There is lots of confusion amongst developers when we should use which one? and what are the differences between them? In this video, I tried to address the same. 

Hope you like this video. 

{% youtube HBbXZDRDtfc%}

If you like this video and wanted to see a similar kind of video then, please subscribe to my youtube channel at - http://bit.ly/codewithjv
As a Software Engineer, do you prefer to work at start-ups or outsourcing agencies or big companies?
Tags: discuss, career, productivity, healthydebate
Published: 2019-07-06 07:50:52

---
title: As a Software Engineer, do you prefer to work at start-ups or outsourcing agencies or big companies?
published: true
description: 
tags: discuss, career, productivity, healthydebate
---

I’m sure every software engineer along with their career has this dilemma: "Should I join a startup or a big corporation?" There are many factors for a decision here and everyone has different circumstances and different offers on the table. Each type of company gives us a different set of skills and a different understanding of the software world.

Let's discuss this! 👩‍💻👨‍💻

Please, share your experience and opinions about where you like to work more and why?

You can also find more insights, thoughts, and learnings about the topic in [my upcoming newsletter (+bonus networking cheat sheet)](https://www.ilonacodes.com/networking-cheat-sheet/)
Vue.js Tutorial: Zero to Sixty
Tags: vue, javascript, webdev, tutorial
Published: 2019-07-06 07:35:36

VueJS is a fantastic front-end framework to learn, in this video, we get know what VueJS, how is it different to React and Angular, and how to use it to create state of the art web apps.

{% youtube xtXuqUIIhIA %}

**Thanks for reading** ❤
If you liked this post, please do share/like it with all of your programming buddies! 
Follow us on **[Facebook](https://www.facebook.com/javascript4u/)** | **[Twitter]( https://twitter.com/moriohdotcom)**

### Further reading about Vue.js

☞ [Vue JS 2 - The Complete Guide (incl. Vue Router & Vuex)](http://learnstartup.net/p/BJBa7-l-g "Vue JS 2 - The Complete Guide (incl. Vue Router & Vuex)")
☞ [Build a Basic CRUD App with Laravel and Vue](https://morioh.com/p/27254e9c10ec)
☞ [Build a CMS with Laravel and Vue](https://morioh.com/p/715b2bc28221)
You get stuck with a package - what do you do?
Tags: opensource, beginners
Published: 2019-07-06 06:38:24

---
title: You get stuck with a package - what do you do?
published: true
description: 
tags: open source,beginner
cover_image: https://thepracticaldev.s3.amazonaws.com/i/xyabjlrv1elbu24hlpw8.jpg
---

So, you're wrestling with a complex problem and found the perfect package for it. Until you find a sudden hiccup or bug.

# What's the root problem?

Try to find the underlying problem you need to solve. Perhaps the package isn't perfect for your use case or your approach need some tweaking.

* Is there a __simple workaround__? 
Often, lots of routes will get you to Rome.
* Is this package really __the tailored solution you need__? Or just a 90% there and will you end up hacking the last bits?
* Is the package __well maintained and documented__ or abandoned? A well used package will likely cover a lot more situations and language versions than one which lacks activity.

# Check the known issues of the package

If the package is right for your use case but you still encounter problems, chances are other people are on the same boat. Search the Github or Gitlab issues to look for answers.

_Tip: when searching issues also include closed ones, as these often contain answered questions._

Nothing yet? Consider opening a new issue.
Add as much context as possible (current language version, what did you try before, ...), this will help getting a quick answer.

# Go for it & fix it / pull request

For smaller bugs, you could try and edit the package directly in your vendor folder - apply the changes afterwards with a pull request.
For more complex situations, pull down an own fork (see [this this excellent guide by Matt Stauffer](https://mattstauffer.com/blog/how-to-contribute-to-an-open-source-github-project-using-your-own-fork/) by Matt Stauffer) of the package and link composer to your local version. Not sure how to do this? [Have a read here](https://johannespichler.com/developing-composer-packages-locally/).

A pull request is actually a request to the package maintainers to pull your changes into the project - not to be confused with you pulling the code from the remote.

> Again, add as much context as possible: what are you doing exactly with this pull request? Why did you solve it in a certain way? The maintainers have to handle lots of pull requests, so this information will be a great help to process them.

Don't be put off thinking your fix is not good enough. The maintainers will provide you with clear feedback and can request changes whenever needed. Actually, my first pull request got rejected because it caused another problem I hadn't thought of - I got some good feedback and learned a lot from it.

_Remember: 99,9% of the time package owners are volunteers, so give them some time to review your changes._

Accepted? Congratulations, you just finished your first open source contribution! __Depending on the package, a handful of / thousands of people will benefit from your work.__ Awesome, right?
Learn about Computer BIOS/UEFI
Tags: it, computers, beginners
Published: 2019-07-06 06:28:51

---
title: Learn about Computer BIOS/UEFI
published: true
description: 
tags: IT, Computers, beginner 
---

<b>Ask someone what controls their computer?</b>
Usually, a non-IT guy will say it's Windows that controls their system. But what they don't understand is before we even get to that software when we start up a machine there is something called <b>firmware</b> that's controlling the system.

**There are two types of firmware.**
- BIOS (Basic Input Output System)
- UEFI (Unified Extensible Firmware Interface)
UEFI is an advanced version of BIOS that has much more capabilities than the older BIOS.

So your BIOS or your UEFI, these are critical firmware instructions that are going to really control your computer when it starts up.

BIOS/UEFI (the programs are)is stored in the chip called EEPROM (Electronically Erasable Programmable Read Only Memory). 

![](https://thepracticaldev.s3.amazonaws.com/i/rk704t1vyp8fri8tckw0.jpg)

We interact with EEPROM using CMOS (complementary metal-oxide semiconductor) chip. 
CMOS chip has a battery that is powering in. Using CMOS chip, we can change the behavior of the system or maybe we want to do some diagnostics on the system, maybe the temperature of the device or maybe we want to check out the fan speed and make sure they are working properly.

![](https://thepracticaldev.s3.amazonaws.com/i/ga2awuciqzoxmkoegt52.jpg)
![](https://thepracticaldev.s3.amazonaws.com/i/b210ctbwzwamf4itaurh.jpg)

Now when we make some changes, those changes need to be stored somewhere; they are stored in NVRAM (Non-volatile Random Access Memory). That means it loses power those settings will be saved.

![](https://thepracticaldev.s3.amazonaws.com/i/v7ipt6vdalecs0f119v9.jpg)

Key points:
- BIOS/UEFI lives in EEPROM. 
- We can make changes BIOS settings (also called flashing the BIOS) using CMOS chip. The changes are saved in NVRAM thereafter.

BIOS can also do some built-in diagnostic; POST - Power On Self Test; a process which happens when you turn on the PC to make sure everything is OK.

**BIOS can help monitor the health of our system. For example:**
- Temperature
- Fan Speed
- ID
- Speed
- Voltage
- Clock 
- Bus Speed  (how fast things can be communicated in the circuitry of the system; how fast things can move from one component to the other.)

Read more about UEFI [here](https://www.ajsnetworking.com/uefi-unified-extensible-firmware-interface/).

That's all for now!

**Was that helpful? Please share it with your friends and enemies.**
Be careful when you learn something from a video tutorial 
Tags: tutorial, beginners, learning
Published: 2019-07-06 06:25:43

---
title: Be careful when you learn something from a video tutorial 
published: true
description: Learning a new technology from a video tutorial. 
tags: tutorial, beginner, learning
cover_image: https://images.unsplash.com/photo-1515378791036-0648a3ef77b2?ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80
---
Video tutorials are a great way of learning a new language, framework, library etc. Some people learn better from a video tutorial and some not. This is a personal choice which means we shouldn't always push beginners (like me 😅) to read hundreds of pages of documentation when they are highly motivated to start developing. I remember when I first tried to learn coding, I got a 400+ page C++ book from my coder acquaintance. My motivation almost vanished due to such introduction to programming.  

The problem with the video tutorials is they can sometimes teach developers bad practices too. The creators who are eager to gain as quickly as possible don't always research the technology deeply and post the tutorial as soon as possible. You know there are times when you are writing code and feel something is off but you don't know what because you don't have enough experience on the subject. Yeah, I'm talking about those times. And it doesn't matter if the tutorial free or paid.

I've been coding since 2015 and as a self learner I've watched lots of tutorials. What I noticed is, the reviews of the tutorials don't always represent the quality of the content. Most of the time, the reviewers are beginners who don't know a lot about the topic they're learning and they usually ignore wrong doings of the creator. It's because they are thankful that the tutorial exist and it's the best one they can afford or find to improve themselves. Best way to overcome this problem is to discuss with somebody who already know the thing you are learning which would give you a great perspective. You you can research it yourself but it's always a good option to debate with somebody you know. (Writing directly to the creator about the issue in the tutorial is also an option but sometimes it can fire back.)
Getting Closure on React Hooks
Tags: react, webdev, javascript, tutorial
Published: 2019-07-06 06:25:03

The design of React Hooks requires a good understanding of closures in JavaScript. In this talk, we’ll reintroduce closures by building a tiny clone of React! This will serve two purposes – to demonstrate the effective use of closures, and to show how you can build a Hooks clone in just 29 lines of readable JS. Finally, we arrive at how you get Custom Hooks and the Rules of Hooks out of this incredible mental model! 

{% youtube 9S_FLYH7vic %}

**Thanks for reading** ❤
If you liked this post, share it with all of your programming buddies!
Follow us on **[Facebook](https://www.facebook.com/reactjstutorial)** | **[Twitter](https://twitter.com/moriohdotcom)**

### Further reading about React Hooks 

☞ [React - The Complete Guide (incl Hooks, React Router, Redux)](http://learnstartup.net/p/r1xQQR5aaW "React - The Complete Guide (incl Hooks, React Router, Redux)")
☞ [Best 50 React Interview Questions for Frontend Developers in 2019](https://morioh.com/p/694af034a6ba "")
☞ [Top 10 Custom React Hooks you Should Have in Your Toolbox](https://morioh.com/p/4d254c6717a3)
☞ [State Management with React Hooks](https://morioh.com/p/2a32c780aea1 "")
☞ [How to Replace Redux with React Hooks and the Context API](https://morioh.com/p/6c81261ef884 "")
Nest.js vs Express.js
Tags: showdev, javascript, nest, node
Published: 2019-07-06 06:08:27

---
title: Nest.js vs Express.js
cover_image: https://thepracticaldev.s3.amazonaws.com/i/hfcu6rgtg006qpekynz0.png
published: true
description: Taking a few minutes to try Nest.js and comparing it with Express.js (both are web application frameworks for Node.js), focusing on a comparison of how to get started as well as taking a look at how to write basic controllers.
tags: showdev, javascript, nest, node
---

I've been hearing about Nest.js recently and decided to take a stab at trying it and comparing it with Express.js (both are web application frameworks for Node.js). 

Nest is sort of the "next layer" up from Express, providing an out-of-the-box application architecture (in contrast to Express which takes a more minimal approach).  

In this video I tried to document my process of learning and trying it for the first time, focusing on a comparison of how to get started as well as taking a look at how to write basic controllers.

If you have any feedback, good/bad would love to hear it! 

{% youtube p29wLfPlxqo %}