teleren/devto huggingface dataset:
The Top 5 Reasons I Switched to Vim
Tags: linux, programming, vim, productivity
Published: 2021-05-20 20:00:49

I’ve been a happy Vim user for a very long time. I’ve used it at work, in university. I'm glad I did. In this post, I'll list the top five reasons why I've become an avid vim user.

Before that, I used some regular editors like [nano](https://www.nano-editor.org/) and [mc](https://midnight-commander.org/).  When I found that many people were using vim, I decided to give it a try.

### 1: Vim is everywhere :earth_americas:

I can instantly switch between all my operating systems (OSX, Linux and Windows) without having to change anything. Even when logging in over an SSH connection to remote computers.

It's what I use for everything. I edited almost all of my code with it, config files and more.

### 2: Vim has been around for a long time :floppy_disk:

Some editors come and go. It's good to have one workflow that you can stick with over the years, without having to learn new shortcuts every time the latest shiny IDE comes out.

If you are new to vim, I suggest [these exercises](https://vim.is)

### 3: Vim is fast :fast_forward:

One of the things that annoys me is slow IDE's. You start the IDE and you can grab a coffee. Vim on the other hand, start immediately. And if you must use a slow IDE, a vim plugin is always available.

Over the years I've used various IDEs for work, and one thing that annoyed me was the daily start up speed in Eclipse, Netbeans and others.

### 4: Record and replay keystrokes

This is such a time save. Vim lets you record your keystrokes using `qh`. Stop recording with `q` and replay with `@h`. If you ever need to edit 100 lines at once, this saves so much time.

![keyboard macro](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2gc5sun7cyvp3pu0woj7.gif)

### 5: Simple interface

Looking for some overly feature-filled program with an intimidating interface? Me neither. Vim always has the same keystrokes and gets out of your way once you learn it.

The awesome thing is that vim is everywhere if you want, even in your web browser ([Vimium](https://vimium.github.io/)), the terminal, the GUI (gvim) and inside IDEs.

![linux penguin](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g4gtpzl55c1hajggwp1n.gif)
Understanding and Working with Files in Laravel
Tags: laravel, php, s3, aws
Published: 2021-05-20 19:39:58

In modern web development, file uploads are one of the most commonly used features and Laravel Storage provides an intuitive way to handle the file storage. A framework-agnostic filesystem package with multiple adapters like AwsS3 and Dropbox. By default, Laravel Zero ships with the Filesystem component of Laravel.

Table of Contents:
Prerequisites
Install Laravel
Understanding How Laravel Handles Files
Local and Public Disks
Retrieving Files
Storing File
File Uploads
File Visibility
Deleting Files
Directories
Prerequisites
Let's look at these technologies:

PHP 7.1 or Higher
Composer
Laravel 5.6 or Higher

https://techvblogs.com/blog/understanding-and-working-with-files-in-laravel
Contributing to back-end codebase as a front-end for first time.
Tags: devjournal, node, javascript, productivity
Published: 2021-05-20 19:13:22

I’ve 4 years of experience working with client-side code (HTML, CSS, JS and Node.js). Thanks to [Zero To Mastery](https://zerotomastery.io/) i could deep dive in the some major computer science concepts through [Data Structure and Algorithm Course on Udemy](https://www.udemy.com/course/master-the-coding-interview-data-structures-algorithms/), [JS Advanced Concepts](https://www.udemy.com/course/advanced-javascript-concepts/) and improve my journey as a Software Developer by following the [Junior to Senior Web Development 2021](https://www.udemy.com/course/the-complete-junior-to-senior-web-developer-roadmap).

It took me (as a non-native english speaker) from april 2020 to feb 2021 to improve myself, daily on it, and eventually i got hired by a startup.

So, after a month of bootstrap the roadmap in which I made some proof of concepts about chat & authentication systems for Node.js and Django respectively, we finally now gonna build this app.

There is a backend developer that sets up the basis.
So I want to be effective on learning/understanding the concepts so i can give value to the codebase as soon as possible.

## Approach
- Investigate/Read through each package at the package.json
- Learn the “why” and “how” it works
- Listen concepts’s pronunciation and verbalize out loud
- Apply those concepts by following the conventions and good practices to our needs (tasks)

Let see how it works.

Note: Due this project is quite small (8 packages), i can afford to do that. Even though the idea here is to understand following a pareto principle 80/20 to complete the task.
If we need to deep dive on more specific uses case, that's another post.

Edit I: 
My intent is to dedicate 1 hours per package, take 3 series of 13 minutes and break of 3 minutes per serie and at the end a total rest of 12-20 minutes.
File sharing web app made using React.Js
Tags: react, showdev, javascript, webdev
Published: 2021-05-20 19:10:56

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1z7iuiqaqa94cd53q00q.jpg)
<h1>This is a file-sharing web app I have made using react.js and firebase!</h1>

<p>Checkout the web app and the code:</p>
[Link to web app (swift-share.web.app)](https://swift-share.web.app/)
[Link to GitHub repo]( https://github.com/thecoder-elite/SwiftShare )

<p>Using this web app the user can share any type of file with anyone using the internet.</p>
<p>when the user uploads a file a QR code and a text code is generated along with a shareable URL any of which can be shared and used to download the files by the other user/s.</p>

<p>Please leave your feedback below in the comments. I would love to hear your thoughts on this❤️.</p>
Babel’s Money Challenges, What It's Like to Work on Rails, & more on DevNews!
Tags: news, podcast
Published: 2021-05-20 18:44:47

---
title: Babel’s Money Challenges, What It's Like to Work on Rails, & more on DevNews!
published: true
description: Listen to S4E5 of the DevNews pod!
tags: news, podcast
series: DevNews Season 4
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/zoxvbu0494gq3sxtjp4v.png
---

@saronyitbarek and I are back for another week of developer news commentary 🗣 

{% podcast https://dev.to/devnews/s4-e6-babel-s-money-challenges-what-it-s-like-to-work-on-rails-and-coinbase-s-end-to-salary-negotiations %}


### **In this episode, you’ll hear about...**
- Cryptocurrency company CoinBase refusing to negotiate job offers 
- A blog post by the Babel core team titled, “Babel is used by millions, so why are we running out of money?” which created a bit of a Twitter storm.

Then, we spoke with Babel Core Maintainer, [Nicolò Ribaudo](twitter.com/NicoloRibaudo), about paying for open source software and why the popular Javascript project is running out of money.

Finally, we spoke with Rails Core Contributor [Richard Schneeman](twitter.com/schneems), about what it’s like to work on Rails in the aftermath of Basecamp co-founders Jason Fried and Rails creator David Heinemeier [High-Nemer] Hansson’s highly criticized blog post, which raised concerns about Rails' independence from its creator.

I hope you enjoy!


_You can [follow DevNews](dev.to/devnews) to get episode notifications and listen right in your feed_ — or subscribe on your platform of choice! Plus, if you leave us a review, we'll send you a free pack of thank-you stickers. Details [here](https://airtable.com/shr8oKAIMZgdYnBxx). 

## **Quick Listening Links**
- [Apple Podcasts](https://podcasts.apple.com/us/podcast/s4-e6-babels-money-challenges-what-its-like-to-work/id1525581923?i=1000522461260)
- [Spotify](https://open.spotify.com/episode/7JlOAnVWuZwIHdVYAQkL27)
- [Google](https://podcasts.google.com/feed/aHR0cDovL2ZlZWRzLmNvZGVuZXdiaWUub3JnL2Rldm5ld3NfcG9kY2FzdC54bWw/episode/aHR0cHM6Ly9kZXZwb2RzLmRldi9wb2RjYXN0cy9kZXZuZXdzLzMw?sa=X&ved=0CAQQkfYCahcKEwjgnqHF7NjwAhUAAAAAHQAAAAAQCA)
- [Stitcher](https://www.stitcher.com/show/devnews/episode/s4-e6-babels-money-challenges-what-its-like-to-work-on-rails-and-coinbases-end-to-salary-negotiations-84092032)
- [Listen Notes](https://www.listennotes.com/podcasts/devnews-dev-fH8hvsClkWp/)
- [TuneIn](https://tunein.com/podcasts/Technology-Podcasts/DevNews-p1352512/?topicId=163183906)
- [RSS Feed](http://feeds.codenewbie.org/devnews_podcast.xml)
- [Transcript](https://devpods.herokuapp.com/podcasts/devnews/episodes/164)

_Acknowledgements_ 
- _@levisharpe for producing & mixing the show_
- Our season four sponsors, [Scout APM](https://scoutapm.com/devnews) and [Rudderstack](https://rudderstack.com/) ❤️ 

![Speaker](https://media.giphy.com/media/JxYcC04MT2Noc/giphy.gif)
My Honest Opinion On CS/IT Bachelor's Degree (As A Software Engineering Student)
Tags: computerscience, programming
Published: 2021-05-20 18:39:55

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ua7jis9fbom4jcfwva3h.jpg)

So you want to pursue a degree in CS/IT but everyone's been trashing about it and you're in dilemma? In this post, I'll explain to you about the pros and cons of CS/IT college degrees.

# Pros

###[1] CS/IT Degrees Set The Right Foundation For You
Unless you've been programming since you were 12, you'll probably get overwhelmed with the list of available domains in IT. You wouldn't know where to start. You certainly wouldn't know the available paths and the cool tech you will love. Therefore, a CS/IT degree will save you from this mess and equip you with good foundation of CS/IT.

###[2] You'll Be Surrounded With Smart People
You can learn from them. Nothing much here.

###[3] Colleges Can Make You Perform More
If you're a self-taught programmer, you probably have your own rules. If you want to procrastinate, no one can stop you. This will train you to be lazy. On the other hand, going to college will require you to complete tasks within deadline with various challenges (such as building a large-scale group project) and this will only make you stronger in terms of stress-handling.

### Other Pros
* Hackathon experiences.
* Networking opportunities.
* Being able to make mistakes without affecting you much.

# Cons

###[1] Someone Messed Up The System?
Most of the time, you'll learn irrelevant subjects such as history too (at least in Malaysia) because the government wants it that way. Sure, knowing history is probably important but the knowledge you're getting in scattered around, and you know this is bad for you. 

###[2] Slightly Outdated Syllabus
Reason is cause tech evolves fast and there is no way for colleges to keep up with that. There is a high chance that you'll end up learning your favorite tech on YouTube rather than college.

###[3] It Can Be Tiring
Before the pandemic happened, I used to travel on bus to campus and it would take me about 3 hours a day on bus from home to campus and back home. When I get back, I would set alarm to wake up an hour after, but I never woke up (and I wasn't very productive) because I'd always be super tired. Thankfully, the pandemic made me sit at home without requiring me to commute to campus and things have been great.

### Other Cons
* You might need to take elective subjects, which can be super boring.
* You might fall in trap of chasing super high grades without being able to put the knowledge that you learn to practice (I didn't though).
* When a subject is difficult, it feels like you're in high school (with heavy workload), except that the high school is a juvenile school and the juvenile school is in a warzone.

That being said, I do have a high CGPA. However, a college degree might not be for aspiring programmers who want to specialize in a domain in tech especially since tech companies are welcoming candidates without a degree in 2021.
Data types in Java
Tags: java, beginners, goal, motivation
Published: 2021-05-20 18:25:36

Another day in the journey of learning Java, well it's **day 4** and today I will talk about the very essential component in any programming language *'data types'*, it can be thought as that important label without which we won't be able to identify the type of food kept in a container in kitchen.
Like every programming language, Java too has data types in order to facilitate the working on data and operations to be performed upon the data input by the user. 
Java being a *strongly typed language* makes sure that all operations are checked for data type compatibility and illegal operations are rejected by the compiler. Furthermore the presence of data types makes it easier to determine what kind of operation are allowed on each type of data.

+ Java has two kinds of data types :-
  1. <u> Primitive Data type</u>
  2. <u> Reference Data type</u>

+ #Primitive Data Types - 
  + they are also called the built-in data type.
  + Java has eight types of data defined as primitive data types and they are:-

     i. Byte 
     ii. Short
     iii. Char
     iv. Int
     v. Long
     vi. Float
     vii. Double
     viii. Boolean

+ #Reference Data Type -
  + it is also called as derived data type or non-primitive data type in Java.
  + they refer to objects and are created by programmer.
  + it has two subtypes :-

    i. String, arrays, classes, intefaces.
    ii. BigInteger,BigDecimal......and so on.

That's it for today my readers, see you in the next blog till then keep learning keep growing, also you can put any suggestion or remarks if you feel or point mistake that may have crept in.
Access modifiers in C#
Tags: csharp, computerscience
Published: 2021-05-20 18:17:09

Access modifiers are basically keywords that set the access or level of visibility on classes, methods, variables in our code. In other words if a class, method, variable can be used or be accessed from code of its assembly or other assemblies.

#### Type of access modifiers
There are currently six base types of access modifiers in C#.

1. public
2. private
3. protected
4. internal
5. protected internal
6. private protected

#### The public access modifier

Probably the most famous one. When we declare a class as public then it can be accessed from any class.

```csharp
public class PublicClass
{
    // Some awesome staff here...
}
```
#### The private access modifier
Properties or methods that are declared as private can be accessed only within the specific class or struct
```csharp
public class PublicClass
{
    private void string PrivateMethod()
    {
        // do great things here
    }    
}
```
#### The protected access modifier
Properties or methods that are declared as protected can be accessed only by code in the same class or in a class that is derived from that class.
```csharp
public class ParentClass
{
    protected int _protectedInt;
}

public class DerivedClass: ParentClass
{
    static void Main()
    {
        var derivedClass = new DerivedClass();

        // Direct access to protected members.
        derivedClass._protectedInt = 10;
    }
}
```

#### The internal access modifier
Types or members can be accessed from anywhere inside the same assembly but not from other assemblies
```csharp
internal class InternalClass
{
    // Our hello world code here
}
```
#### The protected internal access modifier
A protected internal member is accessible from the current assembly or from types that are derived from the containing class.
```csharp
public class AssemblyOneBaseClass
{
   protected internal int someInt = 0;
}

public class AssemblyOneTestClass
{
    void Access()
    {
        var assemblyOneBaseClass = new AssemblyOneBaseClass();
        assemblyOneBaseClass.someInt = 5;
    }
}


public class AssemblyTwoDerivedClass : AssemblyOneBaseClass
{
    static void Main()
    {
        var assemblyOneBaseClass = new AssemblyOneBaseClass();
        var assemblyTwoDerivedClass = new AssemblyTwoDerivedClass();

        assemblyOneBaseClass.someInt = 10;
    }
}
```

#### The private protected access modifier
A private protected member is accessible by types derived from the containing class, but only within its containing assembly.
```csharp
public class BaseClass
{
    private protected int someInt = 0;
}

public class DerivedClass : BaseClass
{
    void Access()
    {
        var baseClass = new BaseClass();
        someInt = 5;
    }
}
```

**All the above in a glance**
![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/prlmzaidpn8pcv7j9gw8.png)
If you would like to read more about access modifiers in C# please visit this <a href="https://kapadev.com/access-modifiers-in-c/">link</a> , or check out my <a href="https://kapadev.com/" target="_blank">blog</a> for more stories.
Unboxing Apple AirTag with engraving and testing it out
Tags: airtag, productivity, apple, beginners
Published: 2021-05-20 18:16:25

---
title: Unboxing Apple AirTag with engraving and testing it out 
published: true
description: We'll investigate the new Apple AirTag with the engraving option.
tags: airtag, productivity, apple, beginners
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yg2vg0egbbtwd9olx5l6.png
---

Hello everyone, 

I just got my hands on the new Apple AirTag and wanted to share a  quick review with you. Hopefully you'll find it interesting or funny! 

Video (12 mins)

{% youtube exBMOkWoCzI %} 

Conclusion

Feel free to checkout my [Twitch streams](https://twitch.tv/mbcrump) as we learn about security and app development or you can watch the condensed version of all of my streams by subscribing to my [YouTube](https://youtube.com/mbcrump). 

Stay connected with me on social platforms for daily software development news.

-[Twitter](https://twitter.com/intent/follow?screen_name=mbcrump) | [Twitch](https://twitch.tv/mbcrump) | [Instagram](https://instagram.com/mbcrump) | [YouTube](https://youtube.com/mbcrump) | [GitHub](https://github.com/mbcrump) | [Website](https://www.michaelcrump.net)
Have the frost glass effect on your website. See How?
Tags: css, webdev, showdev, tutorial
Published: 2021-05-20 18:05:18

Actually, doing this pretty easy there's a css property called `backdrop-filter` this property add a graphical effect to background and you can add many things to background one of them is a blur effect.

### How to Apply
{% codepen https://codepen.io/areeburrub/pen/oNZYRQJ %}

So, to apply a backdrop blur filter first you have to choose a perfect color for background you can even add a image it will make it blur, but to make the see-through glass part work we have to make the color transparent.
_I use VS Code todo stuff so it gives a color picker option_
The color I used is a translucent white `#ffffff3f` , I tried to find an online color picker and fund this [RGB COLOR PICKER](https://rgbacolorpicker.com/#picker) , you can use this to get a transparent color.

so after setting up background no use put `backdrop-filter:blur(5px);` add the blur radius as much you want and this will add a frost glass effect to your div.

### here are some other filter-functions of backdrop-filter:
```backdrop-filter: brightness(60%);
backdrop-filter: contrast(40%);
backdrop-filter: drop-shadow(4px 4px 10px blue);
backdrop-filter: grayscale(30%);
backdrop-filter: hue-rotate(120deg);
backdrop-filter: invert(70%);
backdrop-filter: opacity(20%);
backdrop-filter: sepia(90%);
backdrop-filter: saturate(80%); ```

Try these too.
## Save this to use sometime, and heart plz.

Source: [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter)
Java – How to use Stream Filter in Java 8 with List & Array Examples
Tags: java8, java, stram, filter
Published: 2021-05-20 18:04:43

https://ozenero.com/java-how-to-use-stream-filter-in-java-8-with-list-array-examples

Java – How to use Stream Filter in Java 8 with List & Array Examples

Java 8 provides an extremely powerful abstract concept <code>Stream</code> with many useful mechanics for consuming and processing data in Java Collection. In the tutorial, We will use lots of examples to explore more the helpful of Stream API with filtering function on the specific topic: "Filter Collection with Java 8 Stream".

What will we do?
<ul>
<li>How to filter List with traditional approach?</li>
<li>Use Java 8 Stream to filter List and Array Objects</li>
<li>Apply <code>filter()</code> function with other util functions of Stream API in practice</li>
</ul>

Now let's do examples for more details!

Related posts:
- <a href="https://ozenero.com/java/java-how-to-find-an-element-in-a-java-list-object-by-examples">Java – How to find an element in a Java List Object by Examples</a>
- <a href="https://ozenero.com/java/java-8-streams">Java 8 Streams</a>

<!--more-->
<h2>Java Filter List by Traditional Approach with Looping</h2>
Before Java 8, for filtering a List Objects, we use the basic approach with looping technical solution.
<h3>Looping Example - Filter Integer List</h3>
- Example: How to get all even number in a list?

<pre><code class="language-java">
List<Integer> intList = Arrays.asList(1, 2, 3, 4, 5, 7, 10, 11, 16);

for(Integer i: intList) {
	if(i%2==0) {
		System.out.println(i);
	}
}
/*
	2
	4
	10
	16
 */
</code></pre>

<h3>Looping Example - Filter String List</h3>
- Example: How to get all string that contains "Java" sub-string in a string List?

<pre><code class="language-java">List&lt;String&gt; strList = Arrays.asList(&quot;Java&quot;, &quot;Python&quot;, &quot;Java Stream&quot;, &quot;Java Tutorial&quot;, &quot;Nodejs Tutorial&quot;);

List&lt;String&gt; newStrList = new ArrayList&lt;String&gt;();

for(String str: strList) {
	if(str.contains(&quot;Java&quot;)) {
		newStrList.add(str);
	}
}

System.out.println(newStrList);
/*
[Java, Java Stream, Java Tutorial]
*/</code></pre>

<h3>Looping Example - Filter Custom Object List</h3>
- Create a <code>Customer</code> class:

More at:

https://ozenero.com/java-how-to-use-stream-filter-in-java-8-with-list-array-examples

Java – How to use Stream Filter in Java 8 with List & Array Examples