teleren/devto huggingface dataset:
2. IMPORTANT DEADLINES | GSoD 2023 series
Tags: gsod
Published: 2022-12-14 15:15:07

## Eventwise

1. Program announcement     : February 3, 2022
2. Organizations announced  : April 14 ( _Finalize organization_ )
3. Doc development begins   : April 14, 2022( _Consider as a deadline for hiring_ )
4. Doc development  	    : April 14, 2022 - November 15, 2022
5. TW hiring deadline 	    : May 16, 2022 at 18:00 UTC

---
## Monthly
DECEMBER  :   

- Choose 3 orgs came in 2022&2021
- Check their proposal page
              
JANUARY   :   
- Contribute   
- Create a proposal before organizations announced

FEBRUARY  :

MARCH     :

APRIL     :   

- Absolute Deadline for proposal submission
1. Basic planning | GSoD 2023 Series
Tags: gsod
Published: 2022-12-14 15:13:57

1. Check Deadlines/Timeline. ☑
2. Go through the whole website. ☑ [ Technical writer guide
](https://developers.google.com/season-of-docs/docs/tech-writer-guide)
3. Compare organizations. ☑
4. Choose any 3. ☑
5. Find technical writing course.(Not doing on basis of talking to others, instead working on things listed in [Things todo to improve portfolio | GSoD 2023 Series ](https://dev.to/aryankoundal/21-things-todo-to-improve-portfolio-gsod-2022-series-2g7o-temp-slug-9229925?preview=b33b8d1eecb574532f36a7288515f1365e84d00b48572ec59564854e6492d55ef680e59a4c0e194e1803c41211bc73fa7f694035901a8e0e58c57020) 
6. Contact the organizations.  
     a. The R project    
     b. sympy    
     c. p5js    
7. Setup project     
     a. The R project    
     b. sympy    
     c. p5js    
8. Start contributing.  
     a. The R project    
     b. sympy    
     c. p5js
C ++dan kop narsalarni orgabndik
Published: 2022-12-14 15:01:04

`C++da` bugun yangi kutbxonani o'gandik.`# include <iomanip>`bu yangi kutb xona.

Tugulgan kun va oylar chiqariwni organdik.

```
int kun,oy;
 
cin>>kun >> oy;
cout <<"Birthday is "; 
cout<<setw(2) << setfill('0')<<kun<<'-';
cout<<setw(2) <<setfill('0')<<oy <<'.';

C++dan kasr sonlarni ciqariwni organdik.




int main2 (){
int eni,boyi;
cout<<"Tortburchaknin enini kiriting:";
cin>>eni;
cout<<"Tortburchakning boyini kiriting:";
cin>>boyi;
  cout<<" Tortburchaknin yuzi:"<< eni*boyi;
}

BUGUN MANAWU DARSLARNI ORGANDIK.
C++dan




@dawroun
C ++
Published: 2022-12-14 14:58:55

Biz bugun sonlarini kasr korinishida ishlashni o'rganamiz.

```cpp
float eni,boyi;
  cin>> eni >> boyi;
  cout << setprecision(2)<< fixed << eni * boyi;

  return 0;
}
```
Bu kodda esa to'rtburchakni boyi bilan enini topishini o'rganamiz.

```cpp
 int eni,boyi;
  cout<<"to'rtburchakning enin kiriting:";
  cin>>eni;
  cout<<"to'rtburchakni boyini kiriting:";
  cin>>boyi;
  cout<<"tortbuchakni yuzi:" << eni * boyi;



  return 0;
}
```
Bu kodda esa 2 xonali soni yonama-yon yozishni organamiz.

```cpp
 int kun,oy;
  
  cin>>kun >> oy;
  cout<<"Birthday is ";
  cout<< setw(2) << setfill('0')<< kun <<'-';
  cout<< setw(2) << setfill('0') << oy <<'.';


  return 0;
}
```

```cpp
cout << "1!=" << 1*1 <<endl;
  cout <<"2!=" << 2*1 << endl;
  cout <<"3!=" << 3*2 << endl;
  cout << "4!=" << 4*6 << endl;
  cout << "5!=" << 5*24;


  return 0;
}
```
Tekis oldidan sonin qo'yishni o'rganamiz.

```cpp
cout << "1!=" << 1*1 <<endl;
  cout <<"2!=" << 2*1 << endl;
  cout <<"3!=" << 3*2 << endl;
  cout << "4!=" << 4*6 << endl;
  cout << "5!=" << 5*24;


  return 0;
}
```
Dastlabki 10 taFibonaccisonlarini chop etishini o'rganamiz.

```cpp
#include <iostream>
using namespace std;
int main (){
int a = 0;
int b = 1;
int c = a + b;
cout << a <<  ' '  << b << ' ' << c << ' ';
a = b;
b = c;
c = a + b;
cout << c << ' ';
a = b;
b = c;
c = a + b;
 cout << c << ' ';
a =b;
  b = c;
  c = a + b;
   cout << c << ' ';
  a =b;
  b = c;
  c = a + b;
    cout << c << ' ';
  a =b;
  b = c;
  c = a + b;
    cout << c << ' ';
  a =b;
  b = c;
  c = a + b;
   cout << c << ' ';
  a =b;
  b = c;
  c = a + b;
  
  cout << c << ' ';
  
return 0;
  }
```
@dawroun
Biz bugun to`rtburchakning yuzini o`rganishni boshladik.
Tags: beginners, webdev, tutorial, programming
Published: 2022-12-14 14:53:19


Bugun biz C++ ni o'rganishni boshladik. 

```
int main2() {
int eni, boyi;
cout << "To`rtburchakning enini kiriting: ";
cin >> eni;
cout <<"To`rtburchakning bo`yni kiriting: "; 
cin >> boyi;
cout << "To`rtburchakning yuzi: " << eni * boyi;

return 0;
  }

```

```
int kun, oy;
cin >> kun >> oy;
cout <<"Birithday is "; 
  cout << setw(2) << setfill('0') << kun << '-';
cout << setw(2) << setfill ('0') << oy << '.';

return 0; 
}


```


@dawroun
Tailwindcss vs Bootstrap: Which is Better for Your Project?
Tags: webdev, tailwindcss, beginners, css
Published: 2022-12-14 14:45:28

### Advantages of Tailwind CSS over Bootstrap
###
Tailwind is a newer framework than Bootstrap, and as such, it has more modern features. 
Tailwind includes features such as builtin responsive design, CSS grid support, and autoprefixer. 
Bootstrap lacks these features, which means that you have to add them in yourself or use a third-party plugin. 
Tailwind also has a smaller file size than Bootstrap, which makes it faster to load.
Overall, Tailwind is more powerful and flexible than Bootstrap, but it has a higher learning curve. 
If you are willing to put in the time to learn Tailwind, you will be rewarded with a more customisable and efficient website.
### Disadvantages of Tailwind CSS over Bootstrap
###
While Tailwind does have some disadvantages, it also has a lot of advantages. 
One of the biggest advantages is that Tailwind is much easier to customize than Bootstrap. 
This is because Tailwind is designed to be customized. 
You can easily change the colors, sizes, and spacing of elements without having to write any CSS. 
Another advantage of Tailwind is that it is much lighter than Bootstrap. 
This means that your pages will load faster if you are using Tailwind. 
Finally, Tailwind has better support for modern browsers than Bootstrap does. 
This means that if you are using Tailwind on a project that needs to support newer browsers, you will not have any issues.
###Why You Might Still Choose Bootstrap Over Tailwind
###
There are a few reasons you might still choose to use the Bootstrap framework over Tailwind. 
One reason is that Bootstrap has more features and documentation. This can be helpful if you're new to web development and need more guidance. 
Additionally, Bootstrap is more compatible with older browsers than Tailwind.
However, Tailwind has some advantages over Bootstrap as well. It's faster and easier to customize than Bootstrap. 
And while Tailwind is a newer framework, it's quickly gaining popularity in the web development community.
If you're starting a new project, you may want to consider using Tailwind. 
But if you're working on an existing project that uses Bootstrap, it's probably not worth switching to Tailwind at this time.


After reading this article, it's clear that there is no simple answer to the question of which CSS framework is better for your project. 
However, if you're looking for a more lightweight solution, Tailwind CSS may be the better option. 
If you're looking for a more comprehensive solution with more built-in components, Bootstrap may be the better option. Ultimately, the best answer for which CSS framework is best for your project depends on your specific needs and preferences.

Star our [Github repo](https://bit.ly/3QFgAUf) and join the discussion in our [Discord channel](https://bit.ly/3HQtlYo) to help us make the BLST website the best it 
can be!
Test your API for free now at [BLST](https://www.blstsecurity.com/?promo=blst&domain=https://dev.to/Tailwind_CSS_vs_Bootstrap_Which_is_Better_for_Your_Project?)!
XHR and a simple story
Published: 2022-12-14 14:38:40

Be forewarned. This is not a technical document...

Alas, if you want to have a nice little pause from the daily grind, have a listen to Nils and read on:

{% embed https://open.spotify.com/track/4QBVVX5QqWapSl9lPwPw9a?si=09be6e5080e047ff %}

It was a mere 48 hours ago I did not know what XHR stood for (XMLHttpRequest, for those of you in the same spot I was). 

It is surprising to know that a fish can go a lifetime without hearing about water. Yours truly can be programming in Phoenix and using Dev.to without knowing that absolutely everything that happens between my web browser and the server is mediated by this XHR thing.

I'll save you the Google Search: _"The XMLHttpRequest Standard defines an API that provides scripted client functionality for transferring data between a client and a server."_

And from your faithful Wikipedia: _"XMLHttpRequest (XHR) is an API in the form of an object whose methods transfer data between a web browser and a web server. The object is provided by the browser's JavaScript environment. Particularly, retrieval of data from XHR for the purpose of continually modifying a loaded web page is the underlying concept of Ajax design. Despite the name, XHR can be used with protocols other than HTTP and data can be in the form of not only XML, but also JSON, HTML or plain text."_

You may be tempted to think, as I initially did, that it was just one more concept in a long list of things I still do not know.

One of my mentors insists that I get really good at the fundamentals, at what is happening under the hood, both conceptually and technologically. So much so, he unpacked the basics of XHR by virtue of helping me create an XHR object from the browser's console, and using it to make a request to an API.

Truth be told, I was still just merely grasping the basics: "ok, javascript object that makes requests and stores responses from the server. Ok, abstract thing that always happens under the hood in a web scenario, no matter if you are using Ruby or Phoenix or what-have-you".

I understood this was at the core of every web experience I ever had, but did not connect how that could be of utmost importance to me.

The following day my classmates and I got the chance to spend some time with [Dave Lucia](https://davelucia.com/), and we asked him about his interview process when he selects junior developers (hungry for work, we are).

I kid you not. The following words came out of his mouth: _"I may ask you to tell me what happens at the level of the browser for each web request. I want to know you understand the fundamentals of what is really going on if you are going to program on top of it"_

Jaw drops. And suddenly I am very interested in XHR! Fundamentals. Fundamentals. Fundamentals.


BigSpaces

```
git add .
git commit -m "Do, a dear, a female dear. Re, a drop of golden sun..."
```
What’s a user persona and why you might need to use it
Tags: ux, marketing, research, userresearch
Published: 2022-12-14 14:36:57

A user persona is a method of customer development originating from UX research, but it has also proven helpful for marketing purposes. When building a user persona, we assign an imaginary person with the characteristics of a real one (or not so real) from our client pool/research participants. It’s not a complete portrait, more of a sketch containing a set of demographical characteristics, personality traits, and interests.

**Types of characteristics to consider:**

- Demographic: gender, age, etc.
- Social: location, occupation, education level
- Psychographic: interests, behavioral models, places of interest, problems, needs, etc. 

**How to choose the correct set of characteristics to follow**
The short answer would be “align with what you need it for.” If you’re planning an ad campaign – consider platforms and social networks your persona would use holidays and typical working hours in their location. If you’re developing a website, consider devices your target audience might use and content engagement behavior.

**Why do you need personas?**
![why do you need personas](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dsbngqxnt21g2cmednek.png)

The primary purpose of user personas is to organize and structure your target audience-related data. But there’s more:

- Personas help you concentrate on pains/tasks/problems of a specific audience segment clearly
- You can simplify different user scenarios within one campaign or product by combining different personas
- It’s easier to relate on an emotional level to someone with a human form, even imaginary, than with a set of numbers

We’ve touched on the “human form” with the last point in the list above, so let’s elaborate on whether you should humanize the persona you create. 

You can and should humanize your personas – name them, try drawing a picture of how they look and think about something unique to them, like admiration for dinosaur t-shirts. 

**Why, might you ask?**

- It’s easier to navigate when there is more than one persona, especially if the product is complex and you’d need to create multiple personas to cover it.
- Again, it is easier to relate to Project Manager Bill compared to Persona #1
- A persona that has an identity to it is easier to develop further. Remember Bill? He’s a Project Director now!

A small hack: using https://thispersondoesnotexist.com, you can quickly generate a unique face for your persona without any privacy-related issues.

**Let’s sum it up:**
A user persona is an excellent method to get to know your audience better, which works for UX and marketing research. 

Next is how to create user personas and what to do if you don’t have any target audience data yet, but would love to develop personas.
Decentralized confidential computing cloud
Tags: python, testing, blockchain, web3
Published: 2022-12-14 14:10:32


![Super Protocol](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ayfhjkgfygewn6ql8nar.jpeg)

The modern web can't function without cloud computing services. Web3 is not an exception, but data security is an issue - you need to give away your information to third parties you cannot trust. Confidential computing and Trusted Execution Environment (TEE) can protect data in use and, therefore, solve this problem, but it requires special hardware (e.g., Intel CPUs with SGX support)

As far as I know, only [Super Protocol](https://www.superprotocol.com/) is currently building a Web3 cloud with integrated confidential computing. I tried their public [testnet](https://superprotocol.typeform.com/testnet) (anyone can), it's still in an early stage, but the concept is promising
AI Based Art and Caption Generator and Color Restoration
Tags: ai, webdev, beginners, opensource
Published: 2022-12-14 14:04:53

Hello everyone! This is one of my hackathon projects, and it can perform colour restoration, produce art from text, and generate captions for photographs.

With the rise of AI, it becomes easier for artists to express themselves without having to go through the process of creating an artwork. Artificial intelligence has the ability to consistently learn from past experiences and adapt to changes, making it the perfect candidate for eventually generating meaningful captions. Most vintage films are practically black and white, yet these films are not preferred by the current generation. We must convert them to coloured films so that old good films can be colourized for improved viewing. The conversion procedure can be expensive, but with the help of AI, the cost can be cut significantly.
How To Create Virtual Environment with Another Python Version
Published: 2022-12-14 13:37:01

There are situations when we need to have multiple versions of python, for instance, when we need to install dependencies that are not compatible with the python version we are running. I have run into a situation where a dependency I need to install is only compatible with previous versions of python. To solve this problem, I had to run the previous version of python in a virtual environment. I use virtualenv utility, which enabled me to run multiple versions of python. I will be explaining some of the steps I followed to get things running. 

1. Install virtualenv
pip install virtualenv

2. Download the desired version of python
I already had my main python installed in this path: C:\Python\Python311\
I install the previous version of python here: C:\Python\Python310\

3. Create a project directory
I created a project directory here: C:\Python_Workspace\my_project\

4. Create a virtual environment in your project directory
Open the terminal and change directory to project directory 
cd C:\Python_Workspace\my_project\
Create your virtual environment
python -m virtualenv -p C:\Python\Python310\python.exe my-virtual-env

5. Activate virtual environment
.\my-virtual-env\Scripts\activate

6. To deactivate the virtual environment, run 
deactivate

7. We can now go ahead to install all the dependencies we need. 

8. To create a requirements.txt file of all dependencies in the virtual environment, run:
pip freeze > requirements.txt
10 Easy HTML CSS Projects for Beginners with Source Code in 2023
Tags: webdev, beginners, html, css
Published: 2022-12-14 13:22:09

To help you get started on your journey to becoming a web developer, we’ve put together a list of [10 easy HTML CSS projects for beginners](https://www.hmablogs.com/html-css-projects-for-beginners-with-source-code-in-2023/) with Source Code that you can start working on in 2023.

From building a simple website to creating [custom web graphics](https://www.hmablogs.com/html-css-projects-for-beginners-with-source-code-in-2023/), these HTML CSS Projects for Beginners with Source Code will help you learn the basics of HTML and CSS while also providing you with some fun and exciting challenges.

### HTML CSS Projects for Beginners with Source Code

So whether you’re just starting out or looking for new ways to learn, check out our list of 10 easy HTML CSS Projects for Beginners with Source Code in 2023!

1. Webpage with Form
2. Product Landing page
3. Music Store Website
4. Photography website
5. Personal Portfolio Website
6. An Event/Conference Webpage
7. Restaurant web project
8. A Survey web page
9. Real estate website
10. Create an Email Newsletter

Now visit the link to find more details about the 10 easy projects on HTML and CSS for beginners in 2023:

{% embed https://www.hmablogs.com/html-css-projects-for-beginners-with-source-code-in-2023/ %}
Animating a Div in Framer Motion: Using the animate Prop without useEffect
Tags: react, motion, animation, javascript
Published: 2022-12-14 13:21:38

In this blog post, we will discuss how to animate a div in Framer Motion without using the `useEffect` hook. By using the `animate` prop in the `motion` component, we can easily animate a div whenever a prop changes. We will also discuss how to use the `variants` prop to define different animation states and control the animation using the `initial` and `animate` props. Let's get started!

To get started, let's import the `motion` component from Framer Motion:
```
import { motion } from "framer-motion"
```

Next, we will define a component that takes a `prop` as a prop. This `prop` will be used to control the animation of the div:

```react
import { motion } from "framer-motion"

const MyComponent = ({ prop }) => {
  return (
    <motion.div
      animate={{
        // animate based on the value of prop
        // you can use conditional statements to determine the animation based on the value of prop
      }}
    >
      {/* content of div */}
    </motion.div>
  )
}

```

You can also use the variants prop to define different animation states, and then use the initial and animate props to control which state the component should start in and which state it should animate to.

```react
import { motion } from "framer-motion"

const MyComponent = ({ prop }) => {
  const variants = {
    // define different animation states
    hidden: {},
    visible: {}
  }

  return (
    <motion.div
      initial="hidden" // start in the hidden state
      animate={prop ? "visible" : "hidden"} // animate to the visible state if prop is truthy, otherwise animate to the hidden state
      variants={variants}
    >
      {/* content of div */}
    </motion.div>
  )
}

```

You can learn more about the `motion` component and how to animate components in Framer Motion in the documentation: https://www.framer.com/api/motion/motion/

If you found this blog post helpful, please give it a like! It would mean a lot to me and help others find this information. Thanks for your support!
SSH “Server Key Changed” Error and How to Fix It
Tags: ssh, ftp, sql, errors
Published: 2023-02-06 14:28:10

---
title: SSH “Server Key Changed” Error and How to Fix It
published: true
date: 2022-12-14 13:14:54 UTC
tags: ssh, ftp, sql, errors
canonical_url: https://stevenwoodson.com/blog/ssh-server-key-changed-error-and-how-to-fix-it
---

 ![](https://content.walnutcreekcreative.com/stevewoodson/wp-content/uploads/sites/3/2022/12/Navicat-Known-Hosts-Error.png)

I’ve come across the following SSH server key error a handful of times while working within my local environments and every time I’ve had to look up what it is and how to get around it. So naturally I’ve decided to put the answer here so I have it easier the next time this happens.

## The Error

Here’s the error I keep getting when trying to open up a local MySQL server using Navicat:

> The server key has changed. Either you are under attack or the administrator changed the key.

Similar issues can happen in other programs that utilize SSH like PuTTY or FileZilla (via SFTP) but I’ve only experienced it in Navicat on a Mac recently so that’s what I’m detailing here. If you have more details I could add for other environments or programs, definitely get in touch using the links at the bottom of this post!

## Why It’s Happening

When establishing an SSH connection, the server sends its public key to the client to authenticate that it is who it claims to be. When you accept the connection, this public key gets stored in your local `~/.ssh/known_hosts` file (there’s also a system-wide file at `/etc/ssh/known_hosts`). The next time you attempt to connect to that same server, you’ll get a warning if the public key has changed from the one that was stored. This can happen for several valid reasons like server maintenance or IP/hostname changes, you get the warning because it could also be a potential security breach.

For my local server situation, I realized I have more than one server that refers to MySQL at localhost (127.0.0.1). Each server has it’s own unique public key so each time I connect to one and then attempt to connect to the other I get this error because the keys don’t match.

## How to Fix It

- A reminder to remain vigilant about security, especially if you’re experiencing this with a remote SSH connection. In my case since it’s a local development environment so I know I’m in the clear.
- Open up `~/.ssh/known_hosts`, each line in that file is an individual known host record. Find the one associated with the server you’re having issues with. If you’re having trouble finding the proper line to remove, the error you get will likely reference the public key that you can then search for in this file.
- Remove the public key record that is causing the issue. For me, it’s the one that starts with 127.0.0.1.
- A more robust solution to this is to change my local servers to point to unique IP addresses so this doesn’t keep happening, but that’s a problem for future Steve to deal with.
How to Create Personal Blog Website Using HTML CSS JavaScript
Tags: css, javascript, tutorial, beginners
Published: 2022-12-14 13:11:53

{% youtube Pup-yi4oMfU %}

How to Make a Personal Blog Website Using HTML CSS JavaScript

If you're looking to start a blog website using HTML, CSS, and JavaScript, then this tutorial is for you. In this video, we'll walk you through the process of creating a personal blog website from scratch

[Source code](https://www.patreon.com/posts/wren-personal-75905159?utm_medium=clipboard_copy&utm_source=copyLink&utm_campaign=postshare_creator&utm_content=join_link)


⏱️ Timestamps
-----------------------------
0:00 - Demo
5:37 - File structure
6:32 - Project initial
16:27 - Header
37:15 - Hero section
51:59 - Topic section
1:12:06 - Featured post section
1:26:25 - Popular tags section
1:33:15 - Recent post section
2:05:49 - Footer
2:24:04 - Media queries