BattlefieldDuck
item.title
Is Human Existence Necessary for Progress?

Abstract

Artificial Intelligence (AI) is one of the fastest-growing and most significant technological developments of our time. With the rise of advanced AI technologies such as ChatGPT, we have seen increased interest and investment in AI. As AI continues to evolve, it raises questions about the future of our society, our economies, and the very nature of human existence. In this essay, we will explore the potential future implications of AI technologies and delve into the question of whether human existence is necessary for progress. We will look at the various ways in which AI advancements are already affecting our lives and consider how these could evolve in the future. With the potential for massive changes in our societies and our economies, it is crucial that we consider the implications of AI developments and reflect on the value of human existence for progress.

1 Introduction

The question of whether human existence is necessary for progress is a complex and nuanced one, with no easy or simple answers. Humans have been the driving force behind many of the technological, scientific and cultural advancements throughout history. In this essay, we will explore different perspectives on the topic and consider some of the implications of the answer to the question.

2 Progress Stages

2.1 Agricultural Age

Around 10,000 years ago and lasted until the Industrial Revolution, people learned primarily through apprenticeships and oral tradition. There were few formal schools or educational institutions, so children typically learned skills and knowledge from their families, as well as from experienced members of their communities.

2.2 Industrial Age

From the late 18th century to the mid-20th century, there was a significant shift in the way people learned and obtained knowledge. With the rise of industrialization and increased access to formal education, people began to learn through more formal and structured methods.

The rise of literacy rates and the availability of printed materials also significantly impacted the way knowledge was obtained and disseminated. Books, newspapers, and magazines became more widely available, providing people with access to information and differing viewpoints. This allowed individuals to learn about different subjects and topics, and to develop their own knowledge and opinions.

2.3 Internet Age

Began in the 1990s with the emergence of the World Wide Web, has fundamentally changed the way people learn and access information. People learn through a combination of formal online education, informal online communities, and self-directed learning.

Self-directed learning has also become increasingly popular in the Internet Age. With vast amounts of information readily available through search engines and curated content sites, people are able to explore a wide range of topics.

2.4 Pre-Artificial Intelligence Age

With the help of AI algorithms, educators are now able to create custom learning plans for individual students, based on their strengths, weaknesses, and learning styles. This can help to improve learning outcomes by tailoring the content and materials to the specific needs of each student.

2.5 Post-Artificial Intelligence Age

Advancements in AI technologies and automation have significantly shifted the labor landscape, raising the possibility that most work could be carried out by machines and algorithms in the near future. In such a world, humans would not need to work, as AI systems and automated machines would handle most facilities.

2.6 Humanless Age

The increasing complexity of AI technologies has led some to argue that progress no longer requires human involvement, as human beings may no longer be able to comprehend the intricacies of these systems. As AI becomes more advanced, its capacity to learn and make decisions surpasses that of human beings, the very entities that created these technologies. This raises concerns that AI systems may eventually become autonomous, requiring human beings only as facilitators of the systems rather than partners in progress.

3 Impact of Artificial Intelligence

The limitations of human progress is the life limitations of human beings. Compared to AI, human lifespans are relatively short, which can limit the development and continuity of progress. Human knowledge is also finite, and it can be challenging or even impossible for a single human to learn or retain all knowledge in the world within their lifetime. In contrast, AI has the ability to instantly access and learn from vast amounts of knowledge through the internet. AI can process and analyze data much more quickly and accurately than humans, allowing for the rapid advancement of knowledge and solutions to complex problems. However, while AI may have this advantage, ethical considerations are often overlooked in its progress. Unlike humans, AI lacks the human value system and ethical judgment, which can lead to its unchecked development and allow for the potential for disastrous consequences. It is important that the development of AI is monitored closely, to ensure that it fully considers the moral and ethical implications of its progress.

4 Considerations for AI Development

In the development of AI, it is important to consider not only its technical advancement but also the ethical and social implications of its progress. As machines and algorithms become more proficient at certain tasks and decision-making, it is crucial that we consider how these technologies will affect society, the economy, and the environment. It is important to ensure that AI is developed in an ethical manner and that it operates for the benefit of humanity. In this regard, transparency, accountability, and fairness must be considered as essential characteristics in the development of AI. The regulation of AI should be considered to ensure that development and use follow ethical standards and prevent potential misuse. Moreover, it is essential to create a space for constructive dialogue between the developers and users of AI, lawmakers, and other stakeholders to collaboratively ensure that AI progress respects human values, sense of morality, and ethical standards. Taking care to create AI that is aligned with essential human values and ethical standards is crucial to maintain public trust and ensure that progress is beneficial to all.

5 Conclusion

In conclusion, the ongoing developments in AI technologies such as ChatGPT and other language models present both exciting possibilities and challenging ethical questions. While there is no doubt that AI has the potential to replace humans in many areas of work and progress, it is essential to consider the implications of such a development. The question of whether human existence is necessary for progress is an important one, as it forces us to confront deeper existential questions about what life is and what we value in our society.

Blazor Server as a Windows Service

Blazor Server as a Windows Service is very easy, but there are not many articles talking about this, so I decided to write this.

Install NuGet Package

Install Microsoft.Extensions.Hosting.WindowsServices from NuGet Package Manager.

Edit Program.cs

Add using Microsoft.Extensions.Hosting.WindowsServices;.

using Microsoft.Extensions.Hosting.WindowsServices;

Change var builder = WebApplication.CreateBuilder(args); to the following code. ContentRootPath is required for Windows Service, otherwise the service will fail to the start.

var builder = WebApplication.CreateBuilder(new WebApplicationOptions()
{
    ContentRootPath = WindowsServiceHelpers.IsWindowsService() ? AppContext.BaseDirectory : default,
    Args = args
});

Add this before var app = builder.Build();.

builder.Host.UseWindowsService();

Publish the app

Publish your app and click Open folder and grab your program exe path.

Create and start the Windows Service

Run cmd.exe as administrator.

Create a Service with the following command. The <BIN_PATH> should be your program exe path.

sc create <SERVICE_NAME> binPath="<BIN_PATH>"

Example,

sc create WindowsGSM binPath="D:\WindowsGSM\WindowsGSM\bin\Release\net6.0\publish\WindowsGSM.exe"

Start the Service with the following command.

net start <SERVICE_NAME>

Example,

net start WindowsGSM

Your app should be now started as Windows Service. ๐Ÿ‘
If your service fail to start, you may run Event Viewer program on Windows to see the service log. Good luck!

Blazor MudPasswordField

Just created a small razor script that works like this. It works basically the same as MudTextField but with an eye to toggle the mask. ๐Ÿ‘

The MudPasswordField.razor

Usage:

<MudPasswordField Label="Game Server Login Token (GSLT)" />

Happy Blazor!

How to setup Remark42 with Docker

Introduction

Remark42 is a self-hosted, lightweight, and simple (yet functional) comment engine, which doesn't spy on users. It can be embedded into blogs, articles or any other place where readers add comments.

https://github.com/umputun/remark42

This tutorial will walk you through setting up Remark42 on Ubuntu with Apache2 and Docker.

Prerequisites

  • Apache2
  • Docker

If you haven't install Docker

sudo snap install docker

Install Remark42 with Docker

Official Guide: https://github.com/umputun/remark42#install

Copy provided docker-compose.yml and customize for your needs. You can create a folder first and paste the docker-compose.yml inside the folder. Source: https://github.com/umputun/remark42/blob/master/docker-compose.yml

Here is my docker-compose.yml.

version: '2'

services:
    remark:
        build: .
        image: umputun/remark42:latest
        container_name: "remark42"
        restart: always

        logging:
            driver: json-file
            options:
                max-size: "10m"
                max-file: "5"

        ports:
          - "8888:8080"

        environment:
            - REMARK_URL=https://remark42.tatlead.com
            - ALLOWED_HOSTS=www.tatlead.com
            - SITE=tatlead
            - SECRET=*******
            - STORE_BOLT_PATH=/srv/var/db
            - BACKUP_PATH=/srv/var/backup
            - DEBUG=true
            - AUTH_GOOGLE_CID
            - AUTH_GOOGLE_CSEC
            - AUTH_GITHUB_CID=*******
            - AUTH_GITHUB_CSEC=*******
            - AUTH_FACEBOOK_CID
            - AUTH_FACEBOOK_CSEC
            - AUTH_DISQUS_CID
            - AUTH_DISQUS_CSEC
            - ADMIN_SHARED_ID
            # - ADMIN_PASSWD=password
        volumes:
            - ./var:/srv/var

Pull the umputun/remark42:latest image from the DockerHub

docker-compose pull

Start

docker-compose up -d

Your remark42 server is running on http://127.0.0.1:8888/ ๐Ÿ‘

Setup Apache2 reverse proxy

Goto /etc/apache2/sites-enabled/, create or edit a .conf file. We will create the file on this example.

sudo nano remark42.conf

My .conf settings

<VirtualHost *:443>
    ServerName remark42.tatlead.com

    ProxyRequests Off
    ProxyPreserveHost On

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    Header unset X-Frame-Options
    Header edit Set-Cookie ^(XSRF-TOKEN=.*);.?[h|H].+(;.*)$ "$1$2"

    ProxyPass / http://127.0.0.1:8888/
    ProxyPassReverse / http://127.0.0.1:8888/    

    SSLEngine on
    SSLProxyEngine On
    Include *******
    SSLCertificateFile *******
    SSLCertificateKeyFile *******
</VirtualHost>

Header unset X-Frame-Options is set because X-Frame-Options is default to SAMEORIGIN. Unset the X-Frame-Options allows the remark42 widget iframe display on all sites. You should set the docker-compose.yml's ALLOWED_HOSTS environment variable to restrict the allowed hosts instead.

Header edit Set-Cookie ^(XSRF-TOKEN=.*);.?[h|H].+(;.*)$ "$1$2" is a line to remove the HttpOnly attribute on the XSRF-TOKEN cookie. In my case, XSRF-TOKEN cookie is always set to HttpOnly (not sure why), it causes remark42 cannot read the xsrf token properly and cause xsrf mismatch error. If you doesn't have this issue, you may remove this line.

ProxyPass and ProxyPassReverse should be point to the remark42 server which is http://127.0.0.1:8888/ in this example.

Restart Apache2

Restart apache2 to apply the changes

sudo service apache2 restart

Visit https://<your_remark42_domain>/web on your browser to check it works or not.
Working Example: https://remark42.tatlead.com/web

Setup remark42 on Hexo Aomori Theme (Bonus)

Base on https://github.com/lh1me/hexo-theme-aomori#remark42

Edit the _config.yml, the site_id should be the same as the value on the docker-compose.yml's SITE environment variable.

aomori_remark42:
  enable: true
  host: https://remark42.tatlead.com
  site_id: tatlead
  max_shown_comments: 10
  theme: light
  locale: en
  show_email_subscription: false
item.title
How to deploy Hexo to Cloudflare Pages

Hexo is a fast, simple and powerful blog framework. You can deploy Hexo to different static site hosts such as Github Pages, Cloudflare Pages, etc. This walkthrough will show you how to deploy Hexo to Cloudflare Pages.

1. Sign in to Cloudflare Pages

To begin, go to the Cloudflare Pages site and sign in with your Cloudflare account.

2. Selecting a GitHub repository

You will need to give Cloudflare access to your GitHub repositories if this is your first time setting up a Cloudflare Pages website.


3. Begin setup

Build command
npm run build

Build output directory
public


4. Deploy site

Success! ๐ŸŽ‰

How to add favicon on Hexo Aomori

My version of hexo-theme-aomori is v1.22.0.

1. Generate favicon

Visit https://realfavicongenerator.net/ to generate your favicon and download the favicon package.

2. Extract package

Extract the favicon package and paste to source folder

3. Edit head.ejs

Go to themes/hexo-theme-aomori/layout/_partial and edit head.ejs

Paste the code inside the <head> block. Notice: Use the code from https://realfavicongenerator.net/

<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<link rel="shortcut icon" href="/favicon.ico">
<meta name="msapplication-TileColor" content="#2b5797">
<meta name="msapplication-config" content="/browserconfig.xml">
<meta name="theme-color" content="#ffffff">

4. Start Hexo server

Start the Hexo server to see the changes. ๐Ÿ‘

hexo server
Why I chose Hexo for my blog

I had tried to use some popular blog framework like WordPress, Ghost before. They provide a self-host option, and users can create posts or pages inside the web GUI panel.

As a developer, I think they are over-engineering in 2020s, it is too annoying for me since it requires a lot of button clicks and hard to find the correct buttons. When I discovered Hexo, I was impressed.

WordPress and Ghost requires a server to host the blog site, so users are requires to pay for the server hosting fee, but Hexo doesn't required.