teleren/devto huggingface dataset:
Greenfield projects are cursed
Published: 2021-06-22 05:45:52

Greenfield projects are considered the holy grail when talking about working somewhere. Of course, who would not want to contribute from the get go in shaping the project technologies of choice, architecture and starting bug-free (no code, no bugs, right?)?

In my many years as a software engineer my experience aligns with most people, as I worked in:
- small projects
- big projects
- maintenance mode
- greenfield

Looking back, it is interesting to see how different types of projects are the compound investment of multiple people's ideas, (dis)agreements, (mis)communications. By compound investment one might think projects eventually give you good outputs and increasing benefits, but more often than not, instead of compound investment, a project is a result of accumulated and propagated errors. Disagreement and miscommunication - also bad ideas - are the main cause of project downfall. You likely know a project people dreaded to work on because "it is legacy code and the people that made it already left", right?

Greenfield projects usually start with very good intentions. People get together to discuss what shall be the seed, the set of technologies, techniques and patterns being used to make sure the project won't derail from its intended purpose. But requirements change, and if you are in a fast-paced industry, they change a lot and quickly. And the project everyone was excited to work on starts to show signs of the same accumulated errors that insist to propagate through every iteration.

There is an interesting quote from Nicolas Carlo that says "Legacy Code is the code you need to change and you struggle to understand". And why does that happen? I have a hypothesis:
> when you start a Greenfield you often have no idea of how the project, requirements and people involved will behave in the future. And when you reach the future and look back - now that you are more mature - you realize bad decisions have been made but changing them are too expensive.

How many times have you seen some piece of code and thought "how could this be written this way"? But what you (potentially) fail to realize is that when a piece of code was written, the context around the past decisions was different and likely more immature. Just like with money, good decisions compound over time and bad decisions propagate over time. And just like money, tech debt is hard to pay back, especially in fast-paced environments. 

In conclusion, I tend to think Greenfield projects are great to work with, but it is likely that people and processes mistakes will carry over throughout the lifetime of the project. This is what makes them cursed from the start.
Laravel 8 FREE Admin Panel With Login & Registration
Tags: laravel, bootstrap, php, tutorial
Published: 2021-06-22 05:44:09

![Output](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/98d1x19auc2npz8xetqq.png)

## SB2 - Admin Panel

Today I am going to explain a simple and beautiful Admin Panel Integration in Laravel 8.

In This, I Have Used [Laravel 8 With Auth Scaffolding](https://dev.to/shanisingh03/laravel-8-authentication-7fb) and Free [SB2 Bootstrap Admin Templates](https://github.com/StartBootstrap/startbootstrap-sb-admin-2).

I have Explained every step in this video you can watch and try this out, 

{% youtube DLU8YF2WrWk %}

The Final Implementation [Github Repository](https://github.com/TechTool-India/ExampleProject/tree/sb2-admin-installation) you can download this and can use it for any project.

Some Final Output Screens are here

![Output1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b2apj20g05trqnm22iwf.png)![Output 2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4cxiqf3jakua6m94kky4.png)![Output 3](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cn80gq98naqckuaj2vb3.png)
![Output 4](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9m8qknkqa2zml5r9k1xd.png)

Thank You for Reading

Reach Out To me.
[Twitter](https://twitter.com/techtoolindia)
[Instagram](https://www.instagram.com/techtoolindia/)
[TechToolIndia](https://youtube.com/techtoolindia)
Noticias de Ciberseguridad S21E23
Tags: ciberseguridad, cybersecurity, news, noticias
Published: 2021-06-22 05:14:04

---
title: Noticias de Ciberseguridad S21E23
published: true
description: En esta edición, APT41, Polkit, Github, Tik-Tok y más.
tags: ciberseguridad, cybersecurity, news, noticias
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/htqn81wxt26an7ifjkic.png
---

Hola, mi nombre es Victor y te doy la bienvenida a Noticias de Ciberseguridad. En esta serie de
videos, comentaremos distintas noticias relacionadas con Cyber-Delitos, Seguridad Informática,
Privacidad, eventos próximos a realizarse y más. Comencemos…

En esta edición, hablaremos sobre cómo el grupo APT41 está, aparentemente, detrás del gran
cyber-atraco a una aerolínea. También, sobre una vulnerabilidad de escalada de privilegios en
GNU/Linux utilizando Polkit, el sobre el reciente cyber-ataque a Electronic Arts y las nuevas
políticas de uso y seguridad de TikTok y Github.

Por último, un nuevo evento a realizarse, el cual no te lo puedes perder; y las últimas
actualizaciones de nuestros proyectos de software favoritos.

{% youtube iKIxyRK1YiQ %}
How to count lines of code you written.
Tags: javascript, webdev
Published: 2021-06-22 05:09:12

In this short tutorial we are gonna see how to count lines of code that you've written.

Before we get started you should have `node`, `npm`, `npx`  installed in your machine.

### Let's start

* Open terminal and cd to your project directory.
* Run the following command

```bash
npx sloc .
``` 
or you can install `sloc` package globaly.

```bash
npm install -g sloc
```
run command with `sudo` if you using linux or mac.

then you can run 

```bash
sloc .
```
If you want to exclude file or directory( Like `venv` or `node modules`) you can do like that.

```bash
sloc . -e <file>|<directory>
```
### Example :
* Here I have a django project in which i have `venv` folder that i wanna exclude.

![Example-terminal](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/efhv3ms6f968qpvkyzjt.png)

Thanks for reading.

Happy coding 😎.
Hello dev world
Published: 2021-06-22 04:47:18

This is my first blog post on dev.to and I thought of making it an short introductory post about me. My name is Vuyisile (pronounced Voo-yee-sea-lay), and I'm a software developer from Zimbabwe.

My current tech stack is Python/Django/Linux and I am learning JavaScript in order to delve into Front End development. I enjoy contributing to Open Source. I have worked on globally distributed Open Source projects for the Mozilla and the Oppia Foundations.

I currently work as a back end developer for a software development company that develops software for the health sector. When I'm not coding, I like to write technical articles. I am a contributor to Real Python and [this article](https://realpython.com/working-with-files-in-python/) on working with files using Python is my most popular article on that site.

I enjoy meeting new people in tech and hearing all I can about the problems they are solving and what stack they use. If you're reading this and we haven't met or interacted before, please say hello.

Thanks for reading!
Top 3 Resources to *understand* CSS Concepts!
Tags: html, css, webdev, beginners
Published: 2021-06-22 04:46:05

There are plenty of tutorials and articles to learn the basics of CSS. But a very few to understand concepts like positioning, flex, margin, etc.

So, here are the 3 resources that will help you to *understand* confusing CSS concepts.
<dl>

<dt><br><a href="https://learnlayout.com/">Learn Layout</a></dt>

<dd>This is an excellent website to learn concepts like margin, box model, float, inline-block, etc.</dd>

<dt><br><a href="https://ishadeed.com/article/learn-css-positioning/#intro">Ishadeed</a></dt>

<dd>This blog visually explains the confusing CSS positioning concepts like relative, fixed, absolute, etc.</dd>

<dt><br><a href="https://www.joshwcomeau.com/tutorials/css/">Josh Comeau</a></dt>

<dd>This blog explains CSS concepts like z-index, animations, etc.</dd>

</dl><br>

<br>I highly recommend beginners to visit these blogs so that you'll love CSS forever!
I am declaring material components as separate module.  Error Value could not be determined staticall  in angular 12
Published: 2021-06-22 04:33:36

Error 1.
Value at position 15 in the NgModule.imports of MaterialModule is not a reference
  Value could not be determined statically.(-991010)
const MaterialComponents: (typeof MatButtonToggleModule)[]

Error 2:
Appears in the NgModule.imports of AppModule, but could not be resolved to an NgModule class.

Is it missing an @NgModule annotation?(-996002)
class MaterialModule    

import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import {MatButtonModule} from '@angular/material/button';
import {MatButtonToggleModule} from '@angular/material/button-toggle';
import {MatIconModule} from '@angular/material/icon';
import {MatBadgeModule} from '@angular/material/badge';
import {MatProgressSpinnerModule} from '@angular/material/progress-spinner';
import {MatToolbarModule} from '@angular/material/toolbar';
import {MatSidenavModule} from '@angular/material/sidenav';
import {MatMenuModule} from '@angular/material/menu';
import {MatListModule} from '@angular/material/list';
import {MatDividerModule} from '@angular/material/divider';
import {MatGridListModule} from '@angular/material/grid-list';
import {MatExpansionModule} from '@angular/material/expansion';
import {MatCardModule} from '@angular/material/card';
import {MatTabsModule} from '@angular/material/tabs';
import {MatStepperModule} from '@angular/material/stepper';
import {MatFormFieldModule} from '@angular/material/form-field';
import {MatInputModule} from '@angular/material/input';
import {MatSelectModule} from '@angular/material/select';
import {MatAutocompleteModule} from '@angular/material/autocomplete';
import {MatCheckboxModule} from '@angular/material/checkbox';
import {MatRadioModule} from '@angular/material/radio';
import {MatDatepickerModule} from '@angular/material/datepicker';
import {MatNativeDateModule} from '@angular/material/core';
import {MatTooltipModule} from '@angular/material/tooltip';
import {MatSnackBarModule} from '@angular/material/snack-bar';
import {MatDialogModule} from '@angular/material/dialog';
import {MatTableModule} from '@angular/material/table';
import {MatPaginatorModule} from '@angular/material/paginator';
import {MatSortModule} from '@angular/material/sort';
import { ScrollingModule } from '@angular/cdk/scrolling';

const MaterialComponents=
[MatButtonModule, MatButtonToggleModule, MatIconModule, MatBadgeModule,
  MatProgressSpinnerModule, MatToolbarModule, MatSidenavModule, FormsModule, ReactiveFormsModule,
  MatMenuModule, MatListModule, MatDividerModule, MatGridListModule, MatExpansionModule,
  MatCardModule, MatTabsModule, MatStepperModule, MatFormFieldModule, MatInputModule,
  MatSelectModule, MatAutocompleteModule, MatCheckboxModule, MatRadioModule, MatDatepickerModule,
  MatNativeDateModule, MatTooltipModule, MatSnackBarModule, MatDialogModule,
  MatTableModule, MatPaginatorModule, MatSortModule, ScrollingModule
  ];

@NgModule( { 
 imports: [MaterialComponents],
  exports:[
    MaterialComponents
  ]
})
export class MaterialModule { }
Getting Started with React Data Grid by Syncfusion
Tags: react, grid, datagrid, webdev
Published: 2021-06-22 04:14:05

Learn how easily you can create and configure the [React Data Grid](https://www.syncfusion.com/react-ui-components/react-data-grid "React Data Grid") from Syncfusion using the "create-react-app" toolchain.

In this video, I’ll create a new React application using the create-react-app toolchain and then add the React Data Grid by Syncfusion into it using the ej2-react-grids package. Also, I’ll explain the simple customizations that can be done on grid columns, as well as how to enable some important features such as paging, sorting, filtering, and grouping.

Dowload the working example from GitHub: https://github.com/SyncfusionExamples...
Syncfusion Website: https://www.syncfusion.com/

{% youtube QNwcXokKc70 %}
EC2 storage (EBS)
Tags: aws, cloud, devops, beginners
Published: 2021-06-22 04:11:36

Each EC2 instance needs storage to store data and run operations. In AWS this is done via network hard drives witch can be attached to your EC2 instance. The network drives are called EBS (Elastic block storage). These drives allow us to persist data even after an EC2 instance is terminated and are available in a specific availability zone. Following are the properties of an EBS volume.

### Network drive

It means that the storage is connected to our EBS volumes on the network. This provides us with immense flexibility as we can join one EBS volume to another very easily. We just point it to another EC2 instance.

### Bound to an Availability zone

If you put your EBS volume in one availability zone we cannot move it to another. If you provision it to ap-northeast-1 then you can't use it in ap-northeast-2 there are some workarounds which we will study later.

### Flexible Capacity

You can set the capacity of EBS volume via size in GB's and IOPS(input output operations per second).

## How to port EBS data over different Availability Zones.

There is a provision by which you can backup your EC2 instances called EBS snapshots. These are very helpful  in taking backups as they are async and just saves the changed data from last snapshot. These being async if you want to take a full backup of an EBS volume its recommended that you detach your volume before taking a backup. these snapshots are very helpful because using these we can move data to different availability zone. You can take an EBS snapshot of your volume in an availability zone restore your EBS volume from that Snapshot in another availability zone and voila we transferred our EBS volumes from one availability zone to another.

Next up we will do some hands on exercises to learn more about EBS volumes.
Why Web developers still use Ruby on Rails?
Tags: rails, ruby, beginners, tutorial
Published: 2021-06-22 03:14:14

---
title: Why Web developers still use Ruby on Rails?
description:
published: true
tags: rails, ruby, beginner, tutorial
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3hfesrr3hs31o5exzvnq.png
---
Follow me!: <a href="https://twitter.com/EricTheCoder_" class="twitter-follow-button" data-show-count="false">Follow @EricTheCoder_</a><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<hr>
Many new web developers have absolutely no idea what is Ruby on Rails.

I encourage those people do their research and learn more about this beautiful web framework.

Ruby is a programming language and Rails is a framework to create web applications.

Others web frameworks like Laravel, Django, Adonis use many concepts used by Rails. 

Rails is in some way the father of those modern frameworks. Rails inspire a lot of modern web development concepts.

With Rails you can build a fullstack web application. You can even do frontend web app (SPA like React and Vue) with only using html/css and ruby code.

Rails are old but Rails is not what it was when introduce. Rails have evolved over the year to add all the modern goodies. Rails are now at version 6 and version 7 is just around the corner. 

So why use it? Why not use a Node.js/Express app or any other more popular backend frameworks?

I guess the reason can be different for every Rails developers, but for my part I choose Rails when I need development speed and efficiency! No other framework can build a web app faster than Rails.

For that specific reason Rails is use by a lot of startup companies. 

Ruby on Rails is also used by some giant companies like Shopify, GitHub, Air B&B and a lot lot more.

I also like the Ruby language a lot. Do yourself a favour and take a deep look at the Ruby language. 

Are Rails best for all projects? Of course not, but with the right project is still no 1 even after all those years.

If you are a Ruby on Rails developer, please leave in the comments section why for you Rails is still one of your favorite framework?
🎙️ Software Engineers Podcast 🎙️ Episode 3 with Maximiliano Contieri
Tags: podcast, computerscience, career
Published: 2021-06-22 03:09:26

For this episode of **Software Engineers**, I invited Maximiliano Contieri, Hashnode ambassador, and software engineer with 25 years of experience working in Argentina. 

You likely know Maximiliano from his well-known series about Code Smells. Series which he ported to Twitter as well recently:

{% link https://dev.to/mcsee/code-smell-01-anemic-models-4dg2 %}

Or perhaps you read his productivity tips:

{% link https://dev.to/mcsee/16-simple-tips-to-boost-your-productivity-x10-1bf3 %}

It was a lot of fun to chat with Maximiliano. We went through his long career. We discussed computer science. Maximiliano gave us his take on what is the main problem in software engineering (listen to the podcast to know what it is ^^). And ended up discussing a lot about AI, singularity, and Fermi's paradox. 

Maximiliano also shared his experience teaching at the university. And obviously I couldn't ask him about blogging and the reasons which brought him to start in the first place. 

## Time to listen now🎧

Click below 👇

https://shows.acast.com/software-engineers/episodes/maximiliano-contieri

👉 If you liked the episode, follow Maximiliano on [Twitter](https://twitter.com/mcsee1) and bookmark his blog: https://maximilianocontieri.com.

## Next episode on July 22nd!
How to Enable Crosshairs and Trackballs in React Charts
Tags: react, charts, webdev, components
Published: 2021-06-22 02:52:10

Learn how easily you can enable crosshairs and trackballs in Syncfusion [React Charts](https://www.syncfusion.com/react-ui-components/react-charts "React Charts"). This video explains how to enable and customize the crosshair tooltip.
 
**Download the example from GitHub: **

https://bit.ly/2S7qAfG

**Refer to the following documentation to enable crosshair and trackball in the Syncfusion React Charts:**
https://bit.ly/3xtLpRy

**Check out this online example of the crosshair in the Syncfusion React Charts:** 
https://bit.ly/3gKMy0s

**Check out this online example of the trackball in the Syncfusion React Charts: **

https://bit.ly/3zzWKS3

{% youtube gAMNG5ogCbE %}
#100DaysOfSwift: Day 6
Tags: ios, beginners, swift
Published: 2021-06-22 02:21:56

Today, I learned about closures. How to create a basic closure, closures as parameters, and returning values from a closure. It was said that everyone finds this hard but I didn't think so...Does that mean I really don't understand it?? lol We will see when I go over part two tomorrow. 

Until then!
My new YouTube channel
Tags: youtube, productivity, webdev, news
Published: 2021-06-22 01:21:53

I created a YouTube channel to post React & GraphQL videos + resources to help you stay focussed. 
 
Help me reach my goal of 500 subscribers ❤️

https://www.youtube.com/channel/UCbB6Gh3UPI9lUUnPGYMz2ew
How To Publish A Static React/Node.js App Using cPanel (the easy way)
Tags: node, react, javascript, html
Published: 2021-06-22 01:09:31

I've been stuck on this problem recently and finally figured it out a week in. Except the solution surely took less than ten minutes so I decided to share the wisdom.

Pro-tip: <b>Forget the Setup Node.js App feature</b> on your cPanel. Instead, you want to focus your attention on the <em>build</em> folder. When you run <em>yarn run build</em>, you are effectively generating static files to be used in production. 

Once I made all my changes locally, I used the following steps to deploy my site:

<b>On your local machine</b>

<b>1)</b> In your <em>package.json</em>, add the line <em>"homepage":"&#60;yourdomain&#62;"</em>.

<b>2)</b> In your VSCode terminal, run <em>yarn run build</em>.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;You should see something like this:

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<em>The project was built assuming it is hosted at &#60;yourdomain&#62;.</em>

If you're seeing '/' or anything else in place of your domain, run <em>export PUBLIC_URL=&#60;yourdomain&#62;</em> first, then run <em>yarn run build</em> again. This time, you should see your domain.

<b>3)</b> Go into the directory <em>/&#60;yourproject&#62;/build/</em>, highlight all the files and folders, right-click and navigate to <em>Send to &#62; Compressed (zipped) folder</em> to generate a zipped folder.

<b>On your cPanel</b>

<b>4)</b> Go into the directory <em>/home/&#60;yourusername&#62;/&#60;yourdomain&#62;/</em> and <em>Upload</em> the zipped folder. Then, extract its contents like this:

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

Remember to delete the .zip folder, and voila! You're done!

A few notes to keep in mind here:
- For some, it may take a while to load under your actual domain or in the same browser with all that cPanel activity. I used Incognito mode and other devices to check visit my domain and see the updates.
- I have not tried this with a full stack application (keyword: static) as of yet. Though I will be confronting it in the near future so stay tuned!
[DELETE] - The solution!
Tags: facebook, social, society, news
Published: 2021-06-22 01:06:19

The solution to most of today's problems is just a click away. Several articles and some even scientific ones have already been published, and in them it is possible to see the considerable changes that the deactivation and/or exclusion of facebook and other social networks cause in the users' lives. Both Facebook and Instagram help to propagate lifestyles that little correspond to the vast majority, in addition to promoting such "perfection", bombard us with ads at every moment, it's impossible to stay there for a minute without seeing an ad. Social networks started to become commercial, great spaces for publications and sales; the focus is increasingly scarce, anxiety seems to take over this new generation and cases are only increasing amidst the isolation that covid19 provides us. A reflection is necessary, what is the future we looking for a generation of thinkers or buyers? Think. Reflects. Act. Now.
Test your C# Skills
Tags: csharp, html, css, javascript
Published: 2021-06-22 00:58:57

My journey with learning .NET stack started with C# concepts. As I did not have any adequate financial support or the dedicated environment of people sharing same goals. I was left with no option but to self-teach myself the concepts/logic and internet was my only friend and mentor. 

I have made a small test platform using HTML, CSS and JS where one can test their basic knowledge of C# programming. It is completely beginner friendly MCQ based application. Let me give a little overview of C#.

C# is a programming language developed by Microsoft that runs on the .NET Framework. C# is used to develop web applications, desktop & mobile apps, games and more. It is known as Step sibling of Java as it resembles with syntaxes, semantics of Java and is OOP’s based with advance features of garbage collection and compilers generating IL code. It is foundation base for creating apps on .Net. 

A C# developer should be aware of basic of C# concepts as CLS, CTS, boxing, unboxing, casting, string, arrays to advance concepts as inheritance, interface, abstraction, multithreading, generics, exception handling, delegates, and events. Although, this test app is beginner friendly so even if you are not much comfortable with C# advance topics, you could practise the test. Below is the link for Test your C# Skills application.
https://swati-quizapp.netlify.app