teleren/devto huggingface dataset:
ChatGPT
Tags: ai, machinelearning
Published: 2023-02-12 03:37:17

Artificial intelligence has come a long way in recent years and one of the most exciting developments in the field is the rise of AI-powered conversational technology. Among these cutting-edge advancements is ChatGPT, a language model developed by OpenAI that is changing the game when it comes to human-like communication.

ChatGPT is a highly sophisticated AI system that has been trained on a massive amount of data, enabling it to generate human-like responses to a wide range of questions and prompts. With its advanced natural language processing capabilities, ChatGPT can understand the context and meaning behind a person's words and generate relevant, personalized responses.

One of the key advantages of ChatGPT is its versatility. It can be used in a variety of applications, ranging from customer support to language translation. For example, it can be integrated into chatbots to provide fast and accurate answers to customer inquiries, improving the overall customer experience.

Another important benefit of ChatGPT is that it can help companies save time and resources by automating many tasks that would otherwise require a human to perform. This includes tasks such as answering frequently asked questions, providing product information, and even conducting market research. With ChatGPT, companies can achieve faster and more accurate results, freeing up valuable time for more important tasks.

The evolution of AI technology has opened up many exciting possibilities and ChatGPT is one of the most promising developments in this field. With its advanced capabilities and versatility, it has the potential to revolutionize the way we communicate and interact with technology. Whether you're a business looking to improve customer satisfaction or an individual looking to learn more about AI, ChatGPT is definitely worth exploring.

With its advanced natural language processing capabilities, versatility, and ability to automate tasks, it has the potential to revolutionize the way we interact with technology. Whether you're a business owner, software developer, or simply curious about AI, ChatGPT is definitely worth exploring.
Is Being "Self-Taught" Reliable?
Tags: beginners, programming, productivity
Published: 2023-02-12 03:35:50

In recent years, the demand for software developers has skyrocketed, and for good reason. The world is becoming increasingly digital, and technology is transforming every aspect of our lives. As a result, the software development industry has grown rapidly, providing many opportunities for career advancement and personal growth. If you are interested in a career in software development, you may be wondering how to get started. One option is to pursue a traditional education in computer science, but what if you don’t have the time, resources, or desire to attend college or university? The good news is, you don’t have to. You can become a self-taught software developer.

The journey of a self-taught software developer is not an easy one, but it is definitely possible. The first and most important step is to have a deep passion for technology and a desire to learn. Self-taught developers often have to put in long hours and work hard to gain the necessary skills and knowledge. However, the rewards are great. You will have the freedom to learn at your own pace and in your own way, and you will have the satisfaction of having achieved something on your own terms.

One of the biggest benefits of being a self-taught software developer is that you can choose your own path. There is no one-size-fits-all curriculum, so you can pick and choose what you want to learn based on your interests and career goals. For example, if you’re interested in web development, you can focus on learning HTML, CSS, and JavaScript. If you’re interested in mobile app development, you can focus on learning Java or Swift.

There are many resources available to self-taught software developers, including online courses, tutorials, blogs, and forums. Some of the best resources for learning include Codecademy, Udemy, Coursera, and FreeCodeCamp. These resources are often free or very affordable, and they offer a wealth of information and support for self-taught developers.

Another benefit of being a self-taught software developer is that you will have a unique perspective on the industry. You will bring a fresh, outside-the-box approach to software development that can set you apart from your peers. Additionally, you will have a better understanding of the challenges that self-taught developers face, and you can use this knowledge to help others who are starting on the same journey.

In conclusion, being a self-taught software developer can be a challenging but rewarding journey. With dedication, hard work, and a love of technology, anyone can learn the skills necessary to succeed in the industry. The opportunities are endless, and the satisfaction of having achieved your goals through self-education is truly priceless. So, if you’re interested in a career in software development, don’t let a lack of formal education hold you back. Embrace the challenge, and start your journey today.
The Evolution of Artificial Intelligence: A Journey Through Time
Tags: ai, machinelearning
Published: 2023-02-12 03:34:01

Artificial Intelligence, or AI, has come a long way since its inception in the 1950s. From simple rule-based systems to sophisticated deep learning algorithms, AI has revolutionized the way we live, work, and interact with the world around us. In this blog post, we will delve into the evolution of AI and how it has grown over the years.

### The early days of AI: rule-based systems

The first steps towards AI were taken in the 1950s and 1960s, when researchers attempted to create rule-based systems that could perform specific tasks, such as playing chess or solving mathematical problems. These systems were limited in their capabilities, as they could only perform the tasks for which they were specifically programmed.

### The rise of expert systems

In the 1970s and 1980s, AI researchers focused on developing expert systems, which were designed to replicate the decision-making abilities of a human expert in a specific domain, such as medicine or law. These systems were able to reason about complex problems and make informed decisions based on the knowledge they had been given.

### The development of machine learning

In the 1990s, researchers began to explore the potential of machine learning algorithms, which could learn from data rather than relying on explicit programming. This was a major breakthrough in the field of AI, as it allowed machines to improve their performance without the need for human intervention.

### The emergence of deep learning

In recent years, the most significant advancements in AI have come in the form of deep learning, a subfield of machine learning that involves training artificial neural networks on large amounts of data. Deep learning algorithms have been used to achieve remarkable results in a variety of areas, including image and speech recognition, natural language processing, and game playing.

### The future of AI

As AI continues to evolve, it has the potential to transform our lives in countless ways. In the future, we can expect to see AI being used to solve some of the world's most pressing problems, such as climate change, disease, and poverty. Additionally, AI has the potential to create new opportunities and industries, as well as improving our standard of living in countless ways.

In conclusion, the evolution of AI has been nothing short of phenomenal. From its humble beginnings in the 1950s, to the sophisticated deep learning algorithms of today, AI has come a long way and will continue to shape our future for years to come. Whether you're a computer scientist, engineer, or simply someone who is interested in technology, learning about AI is a great investment in your future.
3 ways to change hostname in Linux
Tags: linux, ubuntu, cloud, devops
Published: 2023-02-12 03:33:01

Do you want to change the hostname in Linux? There are three different ways that you can do this: through the command line, through a configuration file, or through a GUI tool.

In this blog post, we will discuss each of these methods in detail.

We will also provide instructions on how to execute them. Changing the hostname is a simple process, but it can be tricky for beginners. 

Keep in mind that changing the hostname may affect the system in various ways. For example, it may cause problems with network configuration or with applications that rely on the hostname to identify the system.

[3 ways to change hostname in Linux](https://www.howtouselinux.com/post/change-hostname-in-linux)
Thinking About Web Development?
Tags: webdev, javascript, beginners, programming
Published: 2023-02-12 03:32:07

In today's digital age, it is hard to imagine a world without the internet. The internet has revolutionized the way we live, work, and interact with one another, and it has created an abundance of opportunities for individuals looking to pursue a career in technology. One of the most in-demand careers in this field is web development, and it is no wonder why.

Web development is the process of building and maintaining websites, from the design and layout to the functionality and interactive features. With the continued growth and expansion of the internet, there is an increasing demand for individuals with the skills to bring ideas to life online. In fact, web development has been named one of the fastest-growing and most lucrative careers in technology, making it an excellent investment for your future.

One of the biggest advantages of learning web development is its versatility. Web developers can work on a wide range of projects, from small personal websites to large-scale enterprise systems. This versatility means that you can apply your skills to a variety of different industries, from finance and healthcare to education and entertainment.

Additionally, web development is a highly rewarding career, both personally and financially. Not only do you get the satisfaction of seeing your ideas come to life, but you also have the potential to earn a great salary. According to Glassdoor, the average salary for a web developer in the United States is over $75,000, with the potential for even higher earnings as you gain experience and specialize in certain areas.

Learning web development also opens up a world of opportunities for personal and professional growth. With the constant evolution of technology, there is always something new to learn and explore, keeping your skills and knowledge up-to-date and in demand. You will also have the opportunity to collaborate with others and work on projects that make a positive impact on the world.

So, why is learning web development a good idea? The answer is simple: it is a versatile, rewarding, and in-demand career that offers endless opportunities for personal and professional growth. Whether you are a recent graduate looking to break into the tech industry, or a seasoned professional looking for a career change, web development is a smart investment in your future.

In conclusion, learning web development is an excellent idea for anyone looking to build a career in technology. With its versatility, rewarding nature, and constant opportunities for growth, web development is a field that offers endless possibilities for personal and professional success. So, why not invest in yourself and start learning web development today?
Reading articles quickly in my native language
Tags: translator, summarizor, kagi, deepl
Published: 2023-02-12 03:22:59

There are many great articles and blogs on the web. Most of the materials are in English. However, in my case, since English is not my native language, reading English materials is slow and I often misinterpret unknown words or unfamiliar sentences. When reading speed slows down, it can lead to giving up reading. As a result, some really good materials are left dormant in my bookmark. What if I could get an overview of the contents before diving into reading? I will introduce a way to quickly summarize English articles into my native language using AI tools.

## Summarizer

![Kagi web page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lv6g5hjor8h4mqdozazd.png)

[Kagi Universal Summarizer](https://labs.kagi.com/ai/sum)

A tool that summarizes all internet data, covering various types including articles, PDFs, videos, tweets, and ebooks.

## Translator

![Deepl Logo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/adqllys7954v3v4e94m7.png)

[DeepL](https://www.deepl.com/translator)

DeepL is a translator that supports languages including English, German, French, Spanish, Japanese, Chinese, Korean, etc. Among the various translators I've tried, it seems to provide the most natural translation. It also provides a [Chrome Extension](https://www.deepl.com/en/chrome-extension).

## Reading article with Summarizer and Translator

Let's read the article ["ChatGPT Is a Blurry JPEG of the Web"](https://www.newyorker.com/tech/annals-of-technology/chatgpt-is-a-blurry-jpeg-of-the-web) as an example.

By using the Kagi Universal Summarizer to summarize the article and DeepL Chrome Extension to translate it, you're good to go!

This is an example translated into Korean.
![Summary in Korean](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w3jb0jiz50kowtonao9n.png)

Kagi also provide bullet point summary like this.  
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8qaw7qykmbhpl7nuh4x8.png)

Kagi also supports videos, so it can be used for YouTube as well.

Neither of the two tools is perfect yet, so they may be slightly off, so it is recommended to use them only as reference and to read the original.
Week 5: Certificate design and Domains Coding
Tags: opensource
Published: 2023-02-12 03:14:41

## Overview
This week I continued working on StartChart UI Design and Front-end. I also did some code reviewing.

## UI Design
In terms of design, my main focus of this week was on certificates, since the design for domains management was pretty much done and approved by the team. Certificates page is going to have 3 states:
- user doesn't have certificate
- user requested certificate 
- user has certificate

Each of this states require different design. After having a very productive discussion with a team on Wednesday we got a good concept of the design for certificates.

## Front-end
I worked on domains table and created a [PR](https://github.com/Seneca-CDOT/starchart/pull/181) with that, which is currently in review.

## Code review
Worked on [Mario's PR](https://github.com/Seneca-CDOT/starchart/pull/166) review that included login page and header, had a good discussion on some parts of that with him and he made some adjustments. Appreciate him for perfect collaboration experience.
Python Tutorial (Basic): Introduction
Tags: python, programming, tutorial, beginners
Published: 2023-02-12 02:57:31

### Python?

What is Python? Well, let me explain!!! Python is an excellent language for beginners to learn programming concepts and build their first applications. In this tutorial blog, I will introduce the basics of Python, including data types, variables, conditional, operators, among others, and provide examples to help you apply these concepts to real-world problems.


### Common uses

Python has become one of the most popular programming languages to go for recently. It can be used by developers, but it's not reduced to only programmers and data scientist. Python can literally help anyone automate tasks, even without heavy knowledge in programming.

Take a look at some of the uses it has:

- Web Development
- Data analysis and machine learning
- Artificial Intelligence
- Scientific Computing
- Automation or scripting
- Education
- Gaming
- Software testing and prototyping


### Content:

1. Data types
2. Varibles
3. Operators
4. Conditionals
5. Methods
6. Inputs
7. Loops
8. Functions
Prism: a useful developer tool for OpenAPI specs
Published: 2023-02-12 03:01:50

---
title: Prism: a useful developer tool for OpenAPI specs
published: true
date: 2023-02-12 02:54:58 UTC
tags: 
canonical_url: https://write.as/kelvintaywl/prism-a-useful-developer-tool-for-openapi-specs?pk_campaign=rss-feed
---

If your service exposes a HTTPS API, you may already be documenting it via [an OpenAPI spec](https://www.openapis.org/).

> For instance, HSBC provides an OpenAPI spec _(read: Swagger)_ for their Personal Credit Cards API ([example](https://developer.hsbc.com.hk/#/documentation/personal-credit-cards-p2)).

At a previous career with a company that integrates with financial institutions, we developed the culture to describe our APIs with OpenAPI 3.0.

We had the case where our mobile frontend developers were building the UI features faster than our backend team can develop the API endpoints.

Because we agreed on an API contact using OpenAPI 3.0, we were able to provide mock backend servers for them to test with.

**And we did it easily with [Stoplight's Prism](https://stoplight.io/open-source/prism).**

All we needed was to provide our OpenAPI spec, and we had a mock backend ready for our mobile frontend. This unblocked both teams, and we always can rely and refer on our API contract as our agreement terms.

Recently, I have been developing a Terraform Provider. Since the underlying cloud service has a HTTPS REST API, I was able to:

1. Describe the underlying service's API [as a OpenAPI spec](https://github.com/kelvintaywl/circleci-webhook-go-sdk/blob/main/openapi.yaml)
2. Generate [a Go client SDK](https://pkg.go.dev/github.com/kelvintaywl/circleci-webhook-go-sdk) based on this OPenAPI spec
3. [Mock the service with Prism for some quick acceptance tests](https://github.com/kelvintaywl/terraform-provider-circleci/commit/733d8316237f8e6714cf077192f0e28c52f19aa8)

Prism does more than mocking; You can also use it to inspect any discrepancies between your API implementation and the API spec. You can find out more on their GitHub page:[https://github.com/stoplightio/prism](https://github.com/stoplightio/prism)

Highly recommended for developers who use OpenAPI specs as contracts between components/services!

[#openapi](https://write.as/kelvintaywl/tag:openapi) [#mock](https://write.as/kelvintaywl/tag:mock) [#testing](https://write.as/kelvintaywl/tag:testing) [#API](https://write.as/kelvintaywl/tag:API)

[buy Kelvin a cup of coffee](https://www.buymeacoffee.com/kelvintaywl) ☕
Getting Started with ReactJS: A Comprehensive Guide for Beginners
Tags: react, javascript, webdev, beginners
Published: 2023-02-12 02:52:43

ReactJS is a popular JavaScript library for building user interfaces. If you're looking to dive into the world of front-end development, ReactJS is a great place to start. In this blog, we'll go over the basics of ReactJS and provide you with a step-by-step guide to help you get started.

## What is ReactJS?

ReactJS is an open-source JavaScript library that was created by Facebook. It's used for building user interfaces and helps developers create reusable UI components. With ReactJS, you can build complex UI's using a simple and intuitive syntax, making it easier to maintain your code.

## Why should you learn ReactJS?

There are many reasons why you should learn ReactJS. Here are a few of the most notable:

**Popularity**: ReactJS is one of the most popular front-end libraries out there, with a huge community of developers who are constantly creating new tools and resources to make your life easier.

**Ease of use**: ReactJS has a simple and intuitive syntax, making it easy to get started, even if you're new to front-end development.

**Reusability**: ReactJS allows you to create reusable UI components, which can help you save time and effort in the long run.

## Getting started with ReactJS

Now that you know a bit about ReactJS, let's get started with our guide on how to get started with ReactJS.

**Set up your development environment**: Before you start building your first ReactJS application, you'll need to set up your development environment. This includes installing NodeJS, which is the runtime environment that ReactJS uses.

**Learn JavaScript**: ReactJS is built with JavaScript, so it's important that you have a good understanding of the language. If you're new to JavaScript, there are many online resources available to help you get started.

**Learn ReactJS fundamentals**: Before you start building your first ReactJS application, it's important that you have a good understanding of the fundamentals of the library. There are many online courses and tutorials available to help you get started.

**Build your first ReactJS application**: Once you have a good understanding of the fundamentals, it's time to start building your first ReactJS application. You can start with a simple to-do list application or a weather app.

**Explore ReactJS resources**: There are many resources available to help you continue learning and improving your ReactJS skills. These include online courses, tutorials, and forums.

In conclusion, ReactJS is a great tool for building user interfaces and is a valuable addition to your front-end development toolkit. With this guide, you should now have a good understanding of what ReactJS is and how to get started with the library. So, what are you waiting for? Start building your first ReactJS application today!
Today I Learned 2/11/23
Tags: beginners, ruby, programming, devjournal
Published: 2023-02-12 02:29:20

In Ruby, symbols are immutable and primarily used as hash keys or for referencing method names. 
Immutable means they are can't be changed once set.


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

item[:name] = "Bread"

and then 

item["name"] = "Bread"

From the two above example, I can change the hash value of the second example as much as I like, but not the first.

Another helpful tip my instructor Robert told me was:

If a symbol is not already in the hash, then we can only use it to set a new value.

```
h={}
p h # nothing in there yet
h[:x]=5
h["x"]=4
p h # print the entire hash
p h[:x]
p h["x"]
```