teleren/devto huggingface dataset:
My Journey Upgrading GitLab and GitLab Runner on AWS EC2
Tags: gitlab, aws, devops, ec2
Published: 2023-10-08 19:13:06

---

published: true
description: "A personal walkthrough of my experience upgrading GitLab components on AWS."

---

### Introduction

Recently, I embarked on the journey of upgrading our GitLab server and GitLab Runner hosted on an AWS EC2 instance. Though the process is documented, there's nothing like hands-on experience to understand the nuances. In this article, I'll share my step-by-step approach, the challenges I faced, and the commands that saved my day!

## 📦 Prerequisites:

- An EC2 instance with GitLab already humming along.
- A GitLab runner, tirelessly building and testing our projects.
- Trusty SSH access to the EC2 instance.

## 🛡️ Step 1: Backing Up Data

Before diving into the upgrade, I made sure to backup. Can't stress this enough!

## GitLab:

```
sudo gitlab-rake gitlab:backup:create
```

## GitLab Runner:

Backing up the runner configuration was a breeze:

```
cp /etc/gitlab-runner/config.toml ~/gitlab-runner-config-backup.toml
```


## 🚀 Step 2: Upgrading the GitLab Server:

Checking Available Versions:
My curiosity led me to check which versions were available:

```
sudo yum list available gitlab-ce --showduplicates | sort -r
```

Updating Repository Information:

Ensuring I had the latest repository info was crucial:

```
https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
```

The Actual Upgrade:

Choosing the desired version, I proceeded:

```
sudo yum install gitlab-ce-<version_number>
```

Verification:
Post-upgrade, I had to ensure everything was in order:

```
sudo gitlab-rake gitlab:env:info
```


## 🏃 Step 3: Upgrading the GitLab Runner:

Repository Update:
A quick refresh of the repository information:

```
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
```

Runner Upgrade:
With a leap of faith:

```
sudo yum install gitlab-runner
```


## 🔍 Step 4: Verifying the GitLab Runner Upgrade:

I made sure the runner was back on its feet:

```
sudo gitlab-runner restart
sudo gitlab-runner status
```


## 🚒 Step 5: Potential Rollback:

Though everything went smoothly, I was prepared for a rollback:

GitLab:

```
sudo gitlab-rake gitlab:backup:restore BACKUP=<backup timestamp>
```

GitLab Runner:

```
cp ~/gitlab-runner-config-backup.toml /etc/gitlab-runner/config.toml
sudo gitlab-runner restart
```


### 🌟 Conclusion:

My adventure upgrading GitLab and GitLab Runner on AWS EC2 was both challenging and rewarding. While the process is generally straightforward, it's the small nuances that make the experience unique. 

To all the DevOps enthusiasts out there, always backup, stay updated, and happy coding!
Who will be Mr. or Mrs. #100? 👀
Tags: opensource, news, devjournal, tooling
Published: 2023-10-08 18:51:11

I'm anxious to know! And so proud of what we've achieved in 3 weeks. 99 stargazers, 25 countries, 5 active contributors, several discussions, inspiring ideas, amazing people.

I'll be refreshing the page at our GitHub repository every second now. 👀

**WebCrumbs**
Get to know our open-source project that aims to be the Wordpress of the XXI century on [GitHub](https://github.com/webcrumbs-community/webcrumbs) and give us 🌟 a if you like it!

{% embed https://github.com/webcrumbs-community/webcrumbs %}
My Job Search Experience in 2023
Tags: career, motivation, programming, php
Published: 2023-10-08 18:48:37

I started working at my current company just three months ago, and I'd like to share some insights and statistics from my job search in 2023.

## About Me

I am a seasoned Software Engineer with 13 years of experience and a Master's degree in Computer Science. For the past 11 years, I worked on a large, complex, high-load domestic B2B e-marketplace. I began my career there as a Junior Developer and gradually rose to the Head of one developer department consisting of 19 individuals, including one frontend team and three backend teams.

## Job Criteria

Driven by a strong desire for continuous growth and development in my career, I believed that the most promising path for me was to enter the international market. Consequently, my primary criterion was to find an **international company**.

I understood that the processes in an international company may be different from my experience, which is why I mostly applied for **Senior Engineer positions**. This role would allow me to use my diverse set of technical and interpersonal skills immediately and also grow organically and efficiently within the company.

Over the last four years, I've worked fully remotely and successfully set up my work processes to ensure optimal efficiency. I value this freedom, so a **remote position** was my third essential criterion.

Having worked in the B2B sector with large corporations, I've encountered extended adoption periods for new processes, resulting in slower feedback loops than I'd prefer. Hence, I sought **dynamic product companies that create real impacts for their customers**. Ideally, I wanted a company whose product resonated with my interests.

These were my fundamental criteria for the job search.

## Duration

I initiated my job search in **January 2023** and accepted an offer in **July 2023**. The entire process took **6 months**, primarily conducted during weekends alongside my regular job.

## Job Search Statistics

During this period, I:

- applied for **~200** job vacancies.
- received rejections from **~48%** of the companies.
- did not receive responses from **~46%** of the companies.
- participated in interviews with **13** companies.
- received **4** job offers.

Finally, I found a company and position that aligned perfectly with all my criteria, and I am still very happy about it.

While my case is unique, I hope you find these statistics valuable in your own job search endeavors.
How to I add Tom Select to a fetched Data?
Published: 2023-10-08 18:46:19

Hello Folks,

I have created a form and I am trying to add fetched data from an Api to the options field. 

Below is my website link. I have put 2 different examples below each other. you can scroll down the page and be able to see what I mean. 

I used this example code but it did not work.

new TomSelect("#makeField", {
sortField: {
field: "text",
direction: "desc",
},
});


https://pyro.design/
DEB Paketi Oluşturma
Tags: linux, debian, beginners, tutorial
Published: 2023-10-08 18:27:15

Bu yazımızda oluşturduğumuz scriptleri nasıl **deb** paketine dönüştürebileceğimizden bahsedeceğiz.

# 1-Scriptimizi Hazırlama
 
Deb paketine dönüştürmek istediğimiz scriptleri ve dosyaları hazırlıyoruz. Benim örnek olarak kullandığım script github üzerinde de paylaştığım mac-changer isimli çalışmam olacak. [Buradan](https://github.com/dogukaneren/Mac-Changer) projeye ulaşabilirsiniz.

# 2-SCriptimize Çalıştırma Yetkisi Verme

``` bash
chmod +x mac-changer.sh
```

# 3- Debian Paket Dosyalarının Oluşturulması

**Deb** paketlerinin derlenebilmesi için DEBIAN klasörü ve altında bulunacak olan control dosyası gerekmektedir.

## 3.1 Paketimiz için dosya oluşturalım

``` bash
mkdir mac-changer
mkdir mac-changer/DEBIAN
touch mac-changer/DEBIAN/control
```

## 3.2 Scriptimiz için dosyaları oluşturalım

``` bash
mkdir -p mac-changer/usr/bin
mv mac-changer.sh mac-mhanger/usr/bin/mac-changer
```

**_Not: Burada sh uzantısını kaldırmazsanız komutunuz sh'lı şekilde oluşacaktır_**

# 4 Debian Paketiniz için Control Dosyasının Oluşturulması

``` bash
nano mac-changer/DEBIAN/control
```

```
Package: mac-changer
Version: 1.0
Architecture: all
Maintainer: Your Name <your-mail>
Description: A tool to change MAC addresses on Linux
Depends: iproute2
```

Depends alanına bağımlı olduğunuz paketleri yazabilirsiniz.

# 5 Paketi Oluşturma

**dpkg-deb**paketini kullanarak deb paketinizi oluşturabilirsiniz.

mac-changer dosyasının bulunduğu dizinde aşağıdaki komutu çalıştırdığınızda **deb** paketiniz oluşmuş olacaktır.

``` bash
dpkg-deb --build mac-changer
```

**_Paketi kurmak için_** 

``` bash
dpkg -i mac-changer.deb
```

**_Çalıştırmak için_**

``` bash
mac-changer -i virbr0
```
How to enable a disabled MySQL DB on RDS at AWS
Published: 2023-10-08 18:03:59

To enable and make a DB public such as the picture shows:

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

To enable it and be able to connect to it, do this:
1.- Go to RDS, MySQL and then click on **Modify** option:

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

2.- Go to additional configuration and select the other radio button option (Publicly acesible).

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

3.- Confirm the changes to be applied:

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


4.- The console will start to update the run the set of changes:

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

5.- Once, this gets finished, test your DB connection again:

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


6.- It will now let you to connect successfully to your new RDS MySQL instance.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pgzb3evorx3e8xopenfp.png)
Introduction
Tags: developer, business, new
Published: 2023-10-08 17:51:46

Hello everyone!

My name is Jordan Tyler Burchett and I am a software and operating systems developer. I'm excited to join the Dev community and look forward to sharing my experiences as well as learning about your projects as well. 

I've been programming and studying for over 10 years and have release many websites and PC apps over the years. A couple of years ago I pulled almost all of my content from the internet to focus on building Operating Systems. My first is a Kubuntu based distro called "RefreshOS" that I published under my company eGoTech. I'll be releasing version 2.0 on October 13th and have so much more coming in the next year. Essential cross platform PC apps, search systems, social network platforms, websites and more are gonna be launched from my team in the future and I look forward to showing my vision off and getting your opinions.

Thank you for taking the time to read.. Happy venturing 😊

http://www.egotech.company/download_refreshos_1-23.html
How to connect to MySQL DB
Tags: dbaver, db, rds, connectivity
Published: 2023-10-08 17:51:04

DBeaver Community is a free cross-platform database tool for developers, database administrators, analysts, and everyone working with data. It supports all popular SQL databases like MySQL, MariaDB, PostgreSQL, SQLite, Apache Family, and more.

To connect into it, first you need to download it from [here](https://dbeaver.io/download/).

Once download and installed, then start it.

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

Then create a new DB connection with the information displayed on the DB settings page of the your DB just created:

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


Then, read the info:

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

And configure your new DB connection on dbeaver:

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

At the end, if all is OK, you will get something like this:

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

Then, proceed to download the MySQL Drivers for your laptop/PC.


Next step, test the connection:

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

Finally, review the sys DB table:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/12mmt139erpn4bzp2txj.png)
Spark Executor Memory Breakdown -short
Tags: spark, bigdata
Published: 2023-10-08 17:50:52

🚀 Spark Executor Memory Breakdown 🚀

When optimizing our Spark jobs, understanding the composition of executor memory is paramount. Here’s a deep dive:

✨ User Memory (UM):

Role: Memory utilized for Spark RDDs, DataFrames, and user-created objects.
Key tasks: Storing data structures, RDDs, and more.
✨ Reserved Memory (RM):

Approximately 300MB.
Reserved exclusively for Spark’s internal operations.
✨ Execution Memory (EM):

Role: Handles computational tasks.
Key processes: Shuffles, joins, sorts, and aggregations.
🔍 Total Executor Memory: The complete memory is the cumulative sum: Executor Memory = UM + RM + EM

Diving into these details empowers us to better allocate resources for our Spark applications, ensuring efficient operations and optimal performance.

#ApacheSpark #BigData #MemoryManagement #SparkOptimization
Building a chatbot app in 3 hours and 37 minutes.
Published: 2023-10-08 17:48:45

Recently we had the idea that a good addition to our list of starter applications might be a chatbot demo. We think this is a pretty neat build time. In this post we’re going to track the process in real time, or real-ish time, at least. We’re going to write this in ES6, and we’ll use esbuild to create our bundle.

The source code of this demo is available on [Github](https://github.com/jsplumb/jsplumbtoolkit-applications). If you’re not a licensee of the Toolkit, you can [start your 30 day free trial of jsPlumb here](https://jsplumbtoolkit.com/trial).

Read the whole blog here: https://jsplumbtoolkit.com/blog/2023/10/03/how-to-build-a-chatbot-designer

In a subsequent post we explored how to use the Toolkit’s seamless Angular integration to port this to Angular 16. You can read the whole post here: https://jsplumbtoolkit.com/blog/2023/10/04/angular-chatbot

We’ve also released a version for React 17+. https://jsplumbtoolkit.com/demonstrations/chatbot

We hope you’re enjoying our latest demos.

#chatbot #diagramlibrary #javascriptlibrary
How to provision an AWS RDS MySQL Database
Tags: rds, db, aws, backend
Published: 2023-10-08 17:38:25

1.- Go to your console, then select 
1.1 Databases
1.2 RDS

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

2.- Then, click on Create Database:

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

3.- Select **Easy Create**:

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

4.- On the configuration select MySQL:

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

5.- At the Edition title, use these values:

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

6.- Leave Setup EC2 connection with default values.
7.- Same for View default settings for Easy create.
8.- Click on Create database.


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

Immediately after click the Create Database, you will get a pop up window such as this:


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

Only close it, then, you will get a window saying your DB is being created:

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

This takes some minutes:

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


At the end, to test it. Please follow these instructions:
[How to test a AWS RDS MySQL db](https://dev.to/said_olano/how-to-connect-to-mysql-db-4p1o)
[VISUAL] CSS Intro, Syntax & the CSS Cascade
Tags: webdev, beginners, css, html
Published: 2023-10-08 17:23:52


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

## CSS Syntax

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


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



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


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

## CSS Specificity

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


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


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

## Link CSS to HTML

To write the css in a seperate file, you have to link that file to the html.
In the head element, make a new element called link and write this:

```
<head>
    <link href="styles.css" rel="stylesheet"/>
</head>
```

href attribute specifies the path of the file, if the file is in the same  directory as the html, then you just write the file name.

href stands for hypertext reference and yes the value of that attribute (the path) is a reference to the file.

rel stands for relation and here we are specifying the relation of that file we referenced. Is it a stylesheet  file, a favicon, it is an alternative page in a different language?
Where DevOps, Lean, and Microfrontends meet
Tags: webdev, productivity, learning, frontend
Published: 2023-10-08 17:00:44

The worlds of DevOps, Lean, and Microfrontends may seem disparate at first glance, each belonging to different aspects of software engineering and product management. But scratch beneath the surface, and you'll find a unifying thread: the relentless pursuit of efficiency, quality, and value delivery. 

## A unified framework for success

Imagine a world where DevOps automates the backend, Lean optimizes the process, and Microfrontends fragment the frontend. They're like the trio that completes each other. DevOps speeds up deployment cycles, Lean ensures you're building the right thing, and Microfrontends allow flexibility in what you're building. So, in essence, they're all about getting the highest quality product to the user as quickly and efficiently as possible.

## Built on collaboration

The linchpin that holds these methodologies together is a culture of collaboration. DevOps thrives on seamless communication between developers and operations, Lean on cross-functional teams working cohesively, and Microfrontends on various frontend teams joining forces to create a coherent user interface. When teams operate in these environments, the room for error diminishes, and efficiency skyrockets.

## Adaptability

What also ties these concepts together is their inherent flexibility. Whether it's DevOps with its CI/CD pipelines, Lean with its focus on iterative improvement, or Microfrontends with their modular architecture, each enables a highly adaptable development environment. This agility allows for quicker iterations and a focus on value-creating features, making the entire development process more responsive to user needs.

## Bridging philosophy and practice

If you're enticed by the symbiotic relationship between DevOps, Lean, and Microfrontends, you're not alone. These methodologies don't just live in textbooks or high-level strategy meetings; they come to life in the real-world products we build. 

That's precisely what we aim for with [WebCrumbs](https://github.com/webcrumbs-community/webcrumbs). By fusing the automation of DevOps, the efficiency of Lean, and the modularity of Microfrontends, WebCrumbs aims to provide a seamless, efficient, and user-focused development platform for React projects. So if you're passionate about creating impactful software that maximizes value, give WebCrumbs a star on GitHub and be part of a community that shares these core philosophies.

### Star Our Repository!

Before you go, make sure to check out our GitHub repository, [WebCrumbs](https://github.com/webcrumbs-community/webcrumbs). It's like WordPress, but for React. A star from you would make our day!

{% embed https://github.com/webcrumbs-community/webcrumbs %}
My first time coding a To do list.
Published: 2023-10-08 16:59:16

_So,I had seen a lot of designers coding a to do list and I felt it would be easy, but guess what? It wasn't.!_

I always have the belief that whenever i involved myself into anything,it must be unique.
And i planned on making my first to do list unique also.

I had a lot of problems, ranging from, deleting list,creating a collapsible for all my list items.But, one thing I've learnt as a developer is

"Never give up, you could give your mind time to cool off but never give up."

I still have some difficulties like canceling a list item (toggling between a line through and text decoration-none) in my to-do list.
I'm open to any ideas as to how to make it work
And also the experience has been absolutely amazing.
Houston, we have a website
Published: 2023-10-08 16:45:48

We are making progress!

After making several attempts and getting a hold removed from my AWS account for Route53, we have secured a domain! I had some issues even after the hold was removed, because it kept erroring with the payments. Just another learning curve that I realized my default payment method was with an expired card. I then added another payment method but forgot to set it as default! Once I finally removed the expired card and set my new one to be default, we were in the clear.

I found a super helpful tutorial from AWS on how to set up my newly created resume HTML file and host it on S3. I also performed my first alias record creation!

Now for the final product...
nathanferguson.me

Next steps!

- HTTPS
- A visitor counter with Javascript/DynamoDB

For anyone interested, here's the tutorial I followed to get it created: https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-custom-domain-walkthrough.html
📧 Introducing Email Inspector 📧
Tags: node, opensource, npm, javascript
Published: 2023-10-08 16:35:39

Are you tired of dealing with invalid or improperly formatted email addresses in your applications? Say goodbye to email hassles with Email Inspector – a powerful Node.js package for email address validation and inspection! 🚀

**Key Features:**

- Validate email addresses with precision, using a comprehensive list of registered Top-Level Domains (TLDs).
- Ensure that email addresses adhere to the correct format and structure.
- Effortlessly identify whether an email is associated with a business or a free provider.
- Customize validation rules with ease, including options for custom free providers and provider exclusions.
- Seamlessly integrate Email Inspector into your Node.js applications.

**Getting Started Is a Breeze:**

```
npm install email-inspector
```

```
const emailInspector = require('email-inspector');

const email = 'user@example.com';

if (emailInspector.validate(email)) {
  console.log('Email is valid');
} else {
  console.log('Email is invalid');
}

```

Whether you're building registration forms, contact systems, or any application that handles emails, Email Inspector has got your back. Ensure the integrity of your email communication effortlessly!

📦 NPM Package: https://www.npmjs.com/package/email-inspector