teleren/devto huggingface dataset:
Mastering Software Development Fundamentals: The Path to Success
Tags: softwaredevelopment, solidprinciples, development, productivity
Published: 2023-09-29 00:02:26

In our careers, we encounter questions and challenges that make us realize the importance of deeply internalizing knowledge. This is similar to the process of becoming a martial arts expert, where reading and watching are not enough; constant practice is necessary for the movements to become second nature.

In software development, many of us are like amateur martial arts enthusiasts. We jump from technology to technology, seeking to acquire enough knowledge to survive in each of them, but we rarely delve deep into the knowledge. However, the key is in mastering the "basic moves" of software development - the fundamental principles that form the foundation of all technology.

Regardless of the programming language or framework you use, understanding the underlying principles is crucial. It doesn't matter how many programming languages you know; if you don't understand principles like coupling, cohesion, or abstraction, your code is likely to have issues. Similarly, no matter how much you've used frameworks like Hibernate or ActiveRecord, if you don't grasp the underlying principles, such as lazy loading or optimistic locking.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/urz32jnasn75c7yg9sqp.png)

A useful rule is that the more fundamental the concept, the deeper your knowledge of it should be. This is like building a solid foundation for your career in software development. Having solid macro and micro-level fundamentals is essential.

Sometimes, a generalist with deep fundamentals can outperform a specialist in a specific technology. Practical knowledge is important, but internalizing the fundamental principles is what allows you to adapt to new technologies easily. Therefore, dedicate time to build a strong foundation in your knowledge - it's the path to becoming a true master in your field.

Two excellent articles that address this issue are:
- [Learn the Fundamentals of a Good Developer Mindset in 15 Minutes](https://www.freecodecamp.org/news/learn-the-fundamentals-of-a-good-developer-mindset-in-15-minutes-81321ab8a682/)
- [Why Learning the Programming Fundamentals Matters](https://medium.com/@felixthedev/why-learning-the-programming-fundamentals-matters-67e5dbbdee8f)

These resources offer valuable insights into the importance of internalizing the fundamentals of software development. They highlight how fundamental principles are crucial for success, regardless of the technology you're using.
A calculator application made using REACT
Tags: calculator
Published: 2023-10-29 02:39:21

---
title: A calculator application made using REACT
published: true
date: 2023-09-29 00:01:00 UTC
tags: Calculator
canonical_url: https://reactjsexample.com/a-calculator-application-made-using-react/
---

# CALCULATOR
 ![A calculator application made using REACT](https://reactjsexample.com/content/images/2023/09/Code_2023-09_21-56-26.jpg)

![A calculator application made using REACT](https://user-images.githubusercontent.com/81036521/235288402-003834fc-7cb6-4f6d-a3a4-d2f2029f9a68.JPG)

[View Demo](https://staraptor-calculator-app.netlify.app/)[View Github](https://github.com/PeeyushMaurya/Calculator?ref=reactjsexample.com)

The Calculator is a sleek and efficient web application that offers users a convenient and reliable way to perform basic calculations. Developed using the powerful React framework, it boasts an interactive user interface that is both intuitive and easy to use. Its logical and well-structured code ensures that it operates smoothly and efficiently. Whether you need to add, subtract, multiply, or divide, the Calculator is the perfect tool for your mathematical needs. Its simple yet elegant design ensures that users can easily navigate and use its features. Overall, this web app is an excellent choice for anyone seeking a fast, reliable, and user-friendly calculator.

# 

## Installation for developement

1. FrontEnd

# 

Have Fun.😉
French Fridays for Developers - 016
Published: 2023-12-14 18:52:04

---
title: French Fridays for Developers - 016
published: true
date: 2023-09-29 00:00:00 UTC
tags: 
canonical_url: https://gingerkiwi.dev/blog/2023-09-29-french-fridays-for-developers-016/
---

In March, 2023 started French for Devs Fridays to celebrate getting to 400 days on Duolingo. Last week I reached 600 days! Here you'll find weekly useful and/or amusing French phrases for developers.

Pair programming is on my mind after the wonderful Toronto JS tech talks evening at [VMWare Tanzu Labs](https://tanzu.vmware.com/)last night. Teams at Tanzu Labs do a lot of pair programming - and not just developers with developers, but devs with design, clients, ... . Looks like a very cool work culture!

Today is my:

- 🇫🇷 **608th day of French** ,
- 🇳🇱 267th day of Dutch,
- 🏴󠁧󠁢󠁷󠁬󠁳󠁿 106th day of Welsh,
- 🇩🇪 28th day of German,
- 🇳🇴 22nd day of Norwegian,

Here's this week's French for Devs quote and translation.

Week 16, 29 septembre 2023

> _«La période d’adaptation de la programmation solo à la programmation collaborative a été comme manger un piment. La première fois que vous l’essayerez, vous ne l’aimerez peut-être pas parce que vous n’y êtes pas habitué. Mais plus vous en mangez, plus vous l’appréciez.»_ <br> ~Anonyme

English: French for Devs #016, September 29, 2023

_"The adjustment period from solo programming to collaborative programming was like eating a hot pepper. The first time you try it, you may not like it because you are not used to it. However the more you eat it, the more you like it.”_<br> ~ Anonymous
Is GitHub Copilot a Game-Changer?
Tags: discuss
Published: 2023-09-29 00:00:00

---
published_at : 2023-09-29 00:00 +0000
---

>  How has AI-assisted programming tools like GitHub Copilot impacted the software development process thus far in 2023?

Follow the DEVteam for more discussions and online camaraderie!

{% embed [https://dev.to/devteam](https://dev.to/devteam) %}
Code Fusion: What Super Skills Would You Create?
Tags: discuss, codenewbie, beginner
Published: 2023-09-29 00:00:00

---
published_at : 2023-09-29 00:00 +0000
---
If you could combine two entirely different programming languages or tech stacks into a single, highly specialized skill set, which ones would you choose, and what kind of job opportunities do you think this fusion would open up for you?

Follow the [CodeNewbie Org](https://dev.to/codenewbieteam) and [#codenewbie](https://dev.to/t/codenewbie) for more discussions and online camaraderie!

*{% embed* https://dev.to/codenewbieteam *%}*
Setting Up OpenZFS on Rocky Linux
Tags: zfs, opensource, filesystem, linux
Published: 2023-09-28 22:45:17

The RHEL distribution of OpenZFS has two main implementations of ZFS, outlined below:

1. DKIMS (Dynamic Kernel Module Support)
This implementation is built on the premise that; the system should automatically recompile all DKMS modules if a new kernel version is installed. This allows drivers and devices outside the mainline kernel to continue working after a Linux kernel upgrade.

2. kABI-tracking kmod packages
The Kernel Application Binary Interface (kABI) is a set of in-kernel symbols used by drivers and other kernel modules. Each major and minor RHEL kernel release has a bunch of in-kernel symbols that are whitelisted. A kABI-tracking kmod package contains a kernel module that is compatible with a given kABI, that is, for a given major and minor release of the EL kernel.


The RHEL OpenZFS packages are provided by the following repository:

For EL7:

```bash
yum install https://zfsonlinux.org/epel/zfs-release-2-3$(rpm --eval "%{dist}").noarch.rpm
```

and for EL8 and 9:

```
dnf install https://zfsonlinux.org/epel/zfs-release-2-3$(rpm --eval "%{dist}").noarch.rpm
```

After adding that repository, update your repository cache with either;

EL7

```bash
yum update -y
```

EL8 And above

```bash
dnf update -y
```

After that, you have the option to install either the DKMS or kABI-tracking kmod style packages.
I have not had any luck using the DKMS style package (which is the default) and as such, my personal preference is the kABI-tracking.

The commands that follow will only show how to install OpenZFS using EL 8 and above if you need to do this for EL 7 and below; replace `dnf` with `yum` and `dnf config-manager` with `yum-config-manager`

DKMS

Installing the DKMS style, requires the following three (3) commands:

```bash
dnf install -y epel-release
dnf install -y kernel-devel
dnf install -y zfs
```

kABI Style

Installing the kABI-Tracking kmod, disable the default DKMS style and then install zfs with the following commands.

```bash
dnf config-manager --disable zfs
dnf config-manager --enable zfs-kmod
dnf install zfs
```

By default, the OpenZFS kernel modules are automatically loaded when a ZFS pool is detected. If you would prefer to always load the modules at boot time you can create such configuration in `/etc/modules-load.d`:

Below is a helper command:

```bash
echo zfs >/etc/modules-load.d/zfs.conf
```

After that, you can confirm if zfs is properly set by using modprobe, as shown below:

```bash
/sbin/modprobe zfs
```

If you get an empty response, then all is well. Otherwise, get a cup of coffee and have fun debugging the issue.
Leo Murta: Pesquisador Homenageado da CEES em 2023
Published: 2023-09-28 22:34:58

"Prezados,

É com muita alegria que comunicamos que o Prof. [Leonardo Gresta Paulino Murta (UFF)](https://leomurta.github.io/) será o pesquisador homenageado pela [Comissão Especial de Engenharia de Software (CEES)](http://comissoes.sbc.org.br/ce-es/index.php) em 2023, durante a realização do CBSoft 2023 ([https://cbsoft2023.ufms.br/](https://cbsoft2023.ufms.br/)).


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



Como é do conhecimento de muitos, a indicação é feita por uma comissão composta pelos três últimos pesquisadores homenageados. A lista dos homenageados pode ser acessada em [http://comissoes.sbc.org.br/ce-es/homenageados.php?lang=pt-br](http://comissoes.sbc.org.br/ce-es/homenageados.php?lang=pt-br) 

A homenagem é um reconhecimento à relevância da sua contribuição para as pesquisas em Engenharia de Software nos contextos nacional e internacional. O Prof. Leonardo Murta é Professor Associado do Instituto de Computação da Universidade Federal Fluminense (UFF) e tem sido bolsista de Produtividade em Pesquisa CNPq há vários anos. Já publicou mais de duas centenas de artigos em periódicos e conferências, tendo ganho diversos prêmios, dentre eles dois ACM SigSoft Distinguished Paper Award e o prêmio de melhor artigo do SBES em diversas edições. Além disso, já formou mais de uma dezena de doutores, muitos deles tendo sido premiados por suas teses. Ele tem atuado como membro de comitês de programas de vários eventos nacionais e internacionais mais importantes da área, além de atuar como coordenador do comitê de programa de vários eventos. Também é editor associado do JBCS, além de ter dado importantes contribuições como editor chefe do JSERD.

PARABÉNS, Leo! Agradecemos sobremaneira todas as suas contribuições para a Engenharia de Software ao longo dos anos!

Seguindo a tradição, o Prof. Leonardo Murta será um dos keynote speakers do SBES 2024.

Abraços a Todos,
Elisa

Prof. Dr. Elisa Yumi Nakagawa
Dept. of Computer Systems
USP - University of São Paulo, Brazil
[www.icmc.usp.br/~elisa/](http://www.icmc.usp.br/~elisa/)
18/06/2023
Javascript object - Object Literal and Constructor
Tags: javascript, programming, beginners, webdev
Published: 2023-09-28 22:21:38

In This article, we will cover what is object literal and constructor.

Lets dive in !

## object literal

object literal Syntax

```js
const objectName = {
  member1Name: member1Value,
  member2Name: member2Value,
  member3Name: member3Value,
};
```
eg

```js
const person = {
    name: ["Bob","Smith"],
    age: 32,
    bio: function () {
        console.log(`${this.name[0]} ${this.name[1]} is ${this.age} years old.`);
    },
    introduceSelf: function () {
        console.log(`Hi! I'm ${this.name[0]}`)
    }
}
```

We can replace the function syntax like this

```js
const person = {
  name: ["Bob", "Smith"],
  age: 32,
  bio() {
    console.log(`${this.name[0]} ${this.name[1]} is ${this.age} years old.`);
  },
  introduceSelf() {
    console.log(`Hi! I'm ${this.name[0]}.`);
  },
};
```

This type of object creation is called **object literal**, This syntax is useful when we want to transfer a series of structured, related data items.

## dot notation

we can access or set object's property and method using **dot notation**.

Eg, In our person's object

Access

```js
console.log(person.name); 
//results  ["Bob", "Smith"]

person.bio(); 
//results  Bob Smith is 32 years old
```

Setting

```js
person.name = ["Shawn", "Yeo"]
console.log(person.name);
//["Shawn", "Yeo"]

person.run = () => {console.log("I am running")}
person.run();
//I am running
```

## Bracket notation

we can also use bracket notation to access and set property of our object.

Access

```js
const name = person["name"]

//set
person["name"] = ["shawn", "yeo"]
```

Normally dot notation is preferred over bracket notation, however if object property name is held in variable you can use bracket notation to access the value.

```js
const person = {
  name: ["Bob", "Smith"],
  age: 32,
};

function logProperty(propertyName) {
  console.log(person[propertyName]);
}

logProperty("name");
// ["Bob", "Smith"]
logProperty("age");
// 32
```

## constructors

object literal is useful when you quickly need a related data to be passed over but when we need a shape of object to be recreate over and over, we use constructor.

constructor syntax

```js
function Person(name) {
  this.name = name;
  this.introduceSelf = function () {
    console.log(`Hi! I'm ${this.name}.`);
  };
}

//creating person object using contructor
const person_1 = new Person("shawn");
const person_2 = new Person("johna");

```

By convention, constructor start with a capital and when we create instance of an object we use key word **new** 

Thank you for reading ! we have covered concepts of Object literal, how we could access and set the values using dot notation and bracket notation. And how to use constructor to create object shape and the instance of an object. 

Reference
https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Basics
Fundamentals of Networking: Connecting the Digital World
Tags: network, client
Published: 2023-09-28 22:20:14

In today's interconnected world, understanding the basics of networking is crucial. This article explores the fundamental principles that powers the internet and modern communication systems. From Client-Server Architecture to the OSI model to IP addressing, we'll demystify the essential concepts that underpin our digital lives. 

## Client -Server Architecture
Client-Server Architecture is a fundamental computing model that revolutionised the networking space. It's a distributed architecture where tasks or processes are divided between two types of entities: clients and servers. 

### 1. Reinventing the Networking Space:
#### Before Client-Server Architecture: 
In the early days of computing, the predominant model was the centralized mainframe. All processing occurred on a single mainframe computer, and users had limited access through terminals. This model was inflexible and did not scale well.

#### Client-Server Revolution: The client-server architecture introduced the concept of distributing tasks between clients (requesters) and servers (providers). This approach allowed for greater flexibility, scalability, and better resource utilization.



### 2. Importance of the Reinvention:
#### Scalability: 
The architecture enables scaling by adding more servers to handles increased client demand. The scalability is crucial for accommodating  growing user bases

##### Flexibility: 
It offers flexibility by allowing different types of clients (e.g., desktop applications, web browsers, mobile devices) to access server resources, making it adaptable to various platforms.

#### Security: 
Centralized servers enables better security management, as security measures can be implemented as the server to avoid unwanted access and prevent data loses


### 3. Benefits Of the Reinvention:
#### Resource Utilization:
Server resources (e.g., databases, computation power) can be efficiently shared among multiple clients, maximizing resource utilization.

#### Reliability: 
Clients can rely on the server to provide consistent and up-to-date data, reducing data inconsistency issues.

#### Maintenance: 
Centralized server management simplifies maintenance and updates, as changes can be applied at the server without affecting clients.


Indeed, while the client-server architecture is remarkable, effective communication between diverse hardware components necessitates a structured communication model and standardised protocols.
This is precisely where the OSI(Open Systems Interconnection) Model steps in. The OSI Model provides a comprehensive framework that delineates the intricate layers of network communication, ensuring seamless interoperability and reliable data exchange between different hardware elements. It serves as the foundational structure that enables the digital world to communicate coherently and efficiently, making it an indispensable cornerstone of modern networking.
Autoscout24 SQL Analysis
Tags: sql, database, datascience, dataanalysis
Published: 2023-09-28 22:15:44

In this article, I will share with you the various analyzes I made on a data set. To do some SQL analysis, I got the German cars dataset from Kaggle at this link: 

`https://www.kaggle.com/datasets/ander289386/cars-germany`

This dataset provides me with various statistics on many German cars, new or used, from the autoscout24 site. These are generally things like price, brand, model, gear. Although the file is not large, it contains a variety of data, making it possible not only for SQL but also for those who will use matplotlib in Python.

1. The first analysis I did on this data set was Cumulative Price Analysis. My aim with this analysis was to determine the total value of the vehicles offered for sale according to their years.

```
SELECT DISTINCT Year,
       SUM(Price) OVER (ORDER BY Year) AS CumulativePrice
FROM autoscout24
ORDER BY Year DESC;
```

2. The second analysis I made will be more functional than the first one: it is the average price of vehicles on the market according to model years. Thus, we can find out which model vehicles have which average price. However, I grouped the averages according to vehicle types. As you know, it may also be useful to compare the average price of a used vehicle with the average price of a new vehicle in the last year when the data was entered.

```
SELECT Year,
       Type,
       AVG(Price) AS AveragePrice
FROM autoscout24
GROUP BY Year, Type
ORDER BY Year DESC, Type;

```
3. The purpose of my third analysis was to identify the most expensive and cheapest models of each brand on the market and their prices. In the printout we receive, the models are listed from A to Z and the prices are listed from expensive to cheap. Therefore, you can see the most expensive and cheapest vehicles of each brand in order.

```
SELECT Year, Make, Model, Price
FROM autoscout24 AS A
WHERE Price IN (SELECT MAX(Price) FROM autoscout24 WHERE Make = A.Make UNION SELECT MIN(Price) FROM autoscout24 WHERE Make = A.Make)
ORDER BY Make ASC, Price DESC;
```
4. The purpose of the fourth analysis is to find the average price and horsepower of each vehicle model. In this analysis, vehicles are ranked by horsepower.

```
SELECT Make, Model, AVG(Price) AS AvgPrice, AVG(HP) AS AvgHP
FROM autoscout24
GROUP BY Make, Model
HAVING AVG(HP) > (SELECT AVG(HP) FROM autoscout24)
ORDER BY AvgHP DESC;
```
For now, here are a few data analyzes I have done as examples with SQL. I will also share my more comprehensive analysis on my page. I hope it was useful.
Day 821 : The Approach
Tags: hiphop, code, coding, lifelongdev
Published: 2023-09-28 21:32:14

_liner notes_:
- Professional : So many meetings. haha Did some research on a community question. Put together the receipts to create my expense report of the month. The day flew by!

- Personal : Last night, I set up a quick Astro project on Stackblitz to test out the View Transitions API. Worked out pretty well and without having to do too much. Want to see if I can get what I have in mind for my next project to work with it. Also went down a rabbit hole looking at domain names.

![Mountain side with a forest and a rocky mountain chain in the background in Aiguilles de Bavella, France](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bt85uiz8xrjbfrip2jhc.jpg)

Going to go through tracks on Bandcamp and get my social media posts ready. I also want to look into finding a Dentist and an Optometrist to set up an appointment. If I have time, I'll work on the Astro project I started and plan out the approach I want to take.

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube -St2q7-ARI4 %}
How to Check SSL Certificate using ColdFusion & CURL.exe
Published: 2023-09-28 21:21:20

A CFML developer in the [ColdFusion Programmers Facebook Group](https://www.facebook.com/groups/CFprogrammers) referenced my DEV article regarding how to [identify the SSL expiration date using ColdFusion](https://dev.to/gamesover/identify-ssl-expiration-date-using-coldfusion-1lm5) as they were encountering some issues and thought it may be due to the version of Java that was being using.

Here's a UDF that I wrote a couple years ago that leverages [CURL](https://curl.se/) (open source) to fetch & identify the current SSL certificate data in use.

I've added a `resolveIp` option so that you can override DNS lookup and bind the hostname to any IP so that both origin & WAF IP addresses can be tested. (Some web applications often have more than 1 IP address and both certificates should to be tested.)

There's also a `useragent` option to pass a custom user agent in case you require something specific to bypass security restrictions. (I recommend perform requests for static `robots.txt` files. Even if robots.txt doesn't exist, the "404 Not Found" message will return the error using the SSL connection and this is all that really matters.)

BTW: If you're going to [CFSummit2023](https://cfsummit.adobeevents.com/) in Las Vegas, come find me. I enjoy meeting other CFDevs. (The person that I usually talk about tech with is my .NET brother.)

##
```js
result = checkSSLCertificate("https://www.adobe.com/robots.txt");

writedump(result);
```

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

## ColdFusion/CFML Source Code

Enjoy!

https://gist.github.com/JamoCA/fa7449d1f1a8b920d901b9b14a773e96

{% gist https://gist.github.com/JamoCA/fa7449d1f1a8b920d901b9b14a773e96 %}
5 Great Search Engines You Can Use Instead Of Google
Published: 2023-09-28 21:06:59

Most of us are used to using Google services. However, there are other great search engines you can use. Here is a simple list of five search engines you can use today.

1. [You.com](https://you.com/) - Richard Socher, a well-known natural language processing (NLP) expert and former chief scientist of Salesforce, launched the AI-driven search engine You.com.
2. [Yep.com](https://yep.com/) - Yep.com (owned by Ahrefs) markets itself as a search engine with a difference.
3. [Bing.com](https://www.bing.com/) - Bing is an AI search engine that uses GPT-4. In collaboration with OpenAI, Bing has boosted the GPT-4's capabilities by adding real-time data and citations.
4. [DuckDuckGo](https://duckduckgo.com/) - the main "selling point" of the search engine DuckDuckGo is that it doesn't gather or keep any of your personal data.
5. [Brave Search](https://search.brave.com/) - quote: "Brave Search doesn't track you or your queries. Ever. Private, independent, and transparent, Brave Search is the real alternative to Google. On mobile, desktop, and anywhere the web takes you. Search private. Search with confidence."