Category: Tech

  • Things to do after installing Debian

     

    Initial Setup and User Configuration

    Add User to sudoers:

    
    su -
    apt install sudo
    usermod -aG sudo [user]
    exit
    logout
    

    Log back in as the user.

    System Utilities and Services

    Install Basic Services:

    
    sudo apt install avahi-daemon
    sudo shutdown -r now
    

    Reboot the system to apply changes. Log back in after reboot.

    SSH Key Configuration:

    
    ssh-copy-id (UserName)@(ComputerName).local
    

    GUI Management (if needed):

    Disable GUI:

    
    sudo systemctl isolate multi-user.target
    

    Enable GUI:

    
    sudo systemctl isolate graphical.target
    

    Serial Port Access

    Adding a User to tty and dialout Groups:

    
    sudo usermod -a -G tty [username]
    sudo usermod -a -G dialout [username]
    

    System Updates and Package Installation

    Update and Upgrade Packages:

    
    sudo apt update
    sudo apt upgrade -y
    

    Install Development Tools and Utilities:

    
    sudo apt install build-essential screen fail2ban htop rsync vim -y
    sudo apt install tmux curl git ncdu python3-pip python-is-python3 python-dev-is-python3 -y
    

    Create an Update Script

    Script to Automate Updates:

    Create a new script file, e.g., update_script.sh and make it executable:

    
    nano update_script.sh
    # Add the following content to the file:
    #!/bin/bash
    sudo apt update
    sudo apt full-upgrade -y
    sudo apt autoremove -y
    sudo apt autoclean
    flatpak update
    sudo snap refresh
    
    # Make the script executable:
    chmod +x update_script.sh
    
  • Step-by-Step Guide to Installing Microsoft Network Client 3.0 on an XT Computer

    [vc_row][vc_column][vc_column_text]

    To configure an XT class PC with Microsoft Network Client 3.0.
    Credit to luvit from the pre32.com forum for this info.

    Start the Microsoft Network Client 3.0 installation. When prompted for the OEM driver diskette, use Disk 2.

    Select the Microsoft TCP/IP protocol during the setup process. Go back to this option and click on Change Settings for further adjustments.

    In the Microsoft TCP/IP protocol settings, change Disable Automatic Configuration from 0 to 1. Manually enter the IP Address, IP Subnet Mask, Default Gateway0, and Gateway1 for a fixed IP setup. It’s important to save these configurations as DHCP will be disabled.

    Add another protocol by choosing Add Protocol, then select NWLink IPX Compatible Transport. Keep the default settings for this as your secondary protocol. This step is essential for 8088-based systems running Microsoft Network Client 3.0 to prevent the Net Start command from freezing. The IPX protocol is preferred over NETBEUI due to its lower memory requirement (1.4K vs. 38K). This addition is not necessary for machines with a 286 or more advanced CPU.

    Following a system reboot, you may see error messages related to the absence of a 286 processor, particularly from the TCPDRV.DOS and TCPTSR.EXE files.

    To resolve this, download and replace the existing TCPDRV.DOS and TCPTSR.EXE files with the versions sourced from the Microsoft LAN Manager 2.2c Installation Disk, available here. Note that this specific version of TCPTSR.EXE is intended for Lan Manager and will not support DHCP with Network Client 3.0 due to compatibility issues. While there might be potential fixes involving advanced DHCP server configurations, delving into such solutions is not advised here.
    https://www.mblum6180.com/wp-content/uploads/2024/03/XTNET.zip

    [/vc_column_text][/vc_column][/vc_row]

  • Install OS/2 on a 486DX2 66 Laptop with 8MB RAM and 8GB HDD

    [vc_row][vc_column][vc_column_text]

    Install OS/2 on a 486DX2 66 Laptop with 8MB RAM and 8GB HDD

    Required Software:

    • Partition Magic 3
    • OS/2 3.0 CD-ROM Version
    • Ontrack Disk Manager 9.57
    • CardSoft 3.1

    Installation Steps:

    Step 1: Setting Up Ontrack Disk Manager

        • Install Ontrack Disk Manager 9.57.
        • Use this tool to set up a DOS partition. This step is critical as it prepares your HDD for the drive overlay, which is crucial for the older BIOS to recognize and utilize the full 8GB capacity.

    Step 2: Installing CardSoft for PCMCIA Access

        • Install CardSoft 3.1.
        • This software is necessary for your laptop to access the PCMCIA CF card, which is your medium for transferring OS/2 installation files to the laptop.

    Step 3: Hard Drive Partitioning with Partition Magic

        • Run Partition Magic 3.
        • You need to create a specific partition structure:
          • A Boot Manager partition, allowing you to manage multiple operating systems.
          • A primary partition dedicated to OS/2.
          • An extended DOS partition, which will be used for transferring OS/2 installation files.

    Step 4: Transferring OS/2 Files

        • Copy all necessary OS/2 installation files to the extended DOS partition.
        • These files are generally found in the ‘os2’ directory within the ‘diskimg’ directory on the OS/2 installation CD.

    Step 5: Creating OS/2 Installation Disks

        • Use the ‘makedsks.bat’ file from the OS/2 CD to create the first two installation disks.
        • These disks are essential for booting and initiating the OS/2 installation process.

    Step 6: Modifying Config.sys on Installation Disk 1

        • Edit the ‘config.sys’ file on the first OS/2 installation disk.
        • Modify the line to: SET OS2SHELL = SYSINIT2 d:\os2. Replace d:\os2 with the actual path where you copied the OS/2 installation files.

    Step 7: Replacing Critical Files on Installation Disk 1

        • Replace IBM1S506.ADD and OS2DASD.DMD on Disk 1 with the versions from the Ontrack disk. This step is crucial for system compatibility.
        • Note: Avoid using the copyfromfloppy=1 option, as it has been known to cause system hangs.

    Step 8: Booting and Installing OS/2

        • Boot your laptop using the installation disks.
        • Follow the prompts to install OS/2 on the primary partition created earlier. Ensure this partition is set as active in the boot manager.

    Step 9: Finalizing Installation

      • Once OS/2 is installed, replace IBM1S506.ADD and OS2DASD.DMD in the C:\os2\boot directory on your HDD. This step ensures that the OS boots correctly with your hardware configuration.

    [/vc_column_text][/vc_column][/vc_row]

  • Django Deployment on DreamHost

    Django Deployment on DreamHost

    [vc_row][vc_column][vc_column_text]

    Important Notes Before You Begin

    • SQLite on DreamHost: SQLite may not work on DreamHost platforms. It’s recommended to use MySQL as your database backend for production environments.
    • MySQL Client Installation: The mysqlclient library, a requirement for connecting Django to a MySQL database, won’t install unless Python is a custom installation. Ensure you follow the steps above to install a custom version of Python.
    • Preferred Python Version: Django and Passenger tend to work best with Python 3.10. Make sure to install this version for optimal compatibility.

    Setting Up MySQL Database

    Follow these steps to set up a MySQL database for your Django project:

      1. Install MySQL: Ensure that MySQL is installed on your system. On most Linux distributions, you can install it using the package manager.
      2. Create a Database and User: Log in to MySQL and create a new database and user specifically for your Django project.
    mysql -u root -p
    CREATE DATABASE mydatabase;
    CREATE USER 'mydatabaseuser'@'localhost' IDENTIFIED BY 'mypassword';
    GRANT ALL PRIVILEGES ON mydatabase.* TO 'mydatabaseuser'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
    

    Download and Extract Python

    Begin by downloading the Python package and extracting its contents.

    cd ~
    mkdir tmp
    cd tmp
    wget https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tgz
    tar zxvf Python-3.10.13.tgz
    cd Python-3.10.1
    

    Compile and Install

    Configure the Python source code on your system and compile it. This step prepares Python for installation.

    ./configure --prefix=$HOME/opt/python-3.10.13 --enable-optimizations
    make
    make install
    

    Update PATH

    Ensure your system recognizes the custom Python version by updating the PATH environment variable.

    echo "export PATH=$HOME/opt/python-3.10.13/bin:$PATH" >> ~/.bash_profile
    
    Activate Python

    Activate the new Python version and confirm the installation.

    source ~/.bash_profile
    which python3
    

    Install Pip and Virtualenv

    Install Pip and Virtualenv to manage packages and environments.

    python3 -m pip install --upgrade pip
    pip3 install virtualenv
    

    Create a Virtual Environment

    Set up a virtual environment for your Python projects to isolate dependencies.

    cd ~/example.com
    virtualenv -p /home/username/opt/python-3.10.13/bin/python3 venv
    source venv/bin/activate
    

    Install Django and Dependencies

    Finally, install Django and any necessary dependencies like mysqlclient for your projects.

    pip3 install Django
    pip3 install mysqlclient
    

    Create the Project

    Start a new Django project within the virtual environment.

    cd ~/example.com
    source ~/example.com/venv/bin/activate
    python3 venv/bin/django-admin startproject projectname
    

    Configure Passenger WSGI

    Create a passenger_wsgi.py file in the top-level site directory with the following content to set up Passenger WSGI.

    import sys, os
    INTERP = "/home/username/example.com/venv/bin/python3"
    if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)
    
    cwd = os.getcwd()
    sys.path.append(cwd)
    sys.path.append(cwd + '/projectname') #You must add your project here
    
    sys.path.insert(0,cwd+'/venv/bin')
    sys.path.insert(0,cwd+'/venv/lib/python3.10/site-packages')
    
    os.environ['DJANGO_SETTINGS_MODULE'] = "projectname.settings"
    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()
    

    Edit Project Settings

    Modify the Django project’s settings.py file to include necessary configurations.

    ALLOWED_HOSTS = ['example.com' , 'www.example.com', 'localhost', '127.0.0.1']
    
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'mydatabase',
            'USER': 'mydatabaseuser',
            'PASSWORD': 'mypassword',
            'HOST': 'mysql.example.com',
            'PORT': '3306',
        }
    }
    
    STATIC_ROOT = '/home/username/example.com/public/static/'
    

    Setup Static Files

    Prepare the static files directory and collect all static files from your Django project.

    cd ~/example.com/public
    mkdir static
    cd ~/example.com/projectname/
    python3 manage.py collectstatic
    

    Initialize Database

    Run migrate to set up the database schema for your Django project.

    python3 manage.py migrate
    

    Create a Superuser

    Create an administrative user for your Django project’s admin panel.

    python3 manage.py createsuperuser
    

    Notify Passenger on Changes

    After any configuration change, notify Passenger by creating a restart.txt file in the /tmp directory.

    mkdir tmp
    touch tmp/restart.txt
    

    [/vc_column_text][/vc_column][/vc_row]

  • Pachinko

    Pachinko

    [vc_section][vc_row equal_height=”yes” content_placement=”middle”][vc_column width=”1/2″][ut_header align=”left” title_source=”page” title_linebreak_mobile=”on” lead_linebreak_mobile=”on” font_size=”font-size-unit=px&desktop_large=40&desktop_small=global&tablet=global&mobile=global” line_height=”desktop_large=global&desktop_small=global&tablet=global&mobile=global” title_letter_spacing=”desktop_large=global&desktop_small=global&tablet=global&mobile=global”]This is a digital re-creation of the popular Japanese mechanical game Pachinko. Built using Unity, this game aims to deliver an engaging and entertaining experience for both die-hard Pachinko fans and new players alike.[/ut_header][/vc_column][vc_column width=”1/2″][ut_animated_image size=”full” align=”center” delay=”true” image=”796″ effect=”fadeIn” delay_timer=”50″ custom_width=”” custom_height=”” custom_crop=”on” image_opacity=”100″ image_border_radius=”0″ align_tablet=”inherit” align_mobile=”center” link_type=”none” lightbox_size=”hd” link=”” lightbox_iframe=”” hide_image_title=”yes” hover=”no” caption_style=”” caption_content=”caption” custom_caption=”” custom_caption_small=”” caption_transform=”” caption_font_weight=”” caption_letter_spacing=”0″ caption_font_size=”” caption_line_height=”” caption_color=”” caption_background=”” caption_below=”no” caption_below_transform=”” caption_below_font_weight=”bold” caption_below_letter_spacing=”0″ caption_below_font_size=”” caption_below_line_height=”” caption_below_color=”” image_offset=”no” image_zoom=”yes” shadow=”no” shadow_canvas_color=”” shadow_color=”” revealfx=”off” revealfx_color=”” revealfx_direction=”lr” revealfx_delay=”0″ revealfx_duration=”750″ glitch_transparent=”off” glitch_effect=”none” glitch_effect_transparent=”none” permanent_glitch=”on” accent_1=”” accent_2=”” accent_3=”” rotation=”0″ rotation_tablet_change=”off” rotation_tablet=”0″ rotation_mobile_change=”off” rotation_mobile=”0″ animation_duration=”” animate_once=”yes” animate_tablet=”false” animate_mobile=”false” class=”” cursor_skin=”inherit” css=””][/vc_column][/vc_row][vc_row disable_element=”yes”][vc_column width=”1/2″ delay=”true” effect=”fadeInUp” delay_timer=”50″][ut_animated_image size=”large” align=”center” link_type=”none” hover=”no” caption_font_weight=”” image=”677″ effect=”none” caption_color=”#ffffff” caption_background=”rgba(20, 22, 24, 0.75)” custom_width=”” custom_height=”” custom_crop=”on” image_opacity=”100″ image_border_radius=”0″ align_tablet=”inherit” align_mobile=”center” lightbox_size=”hd” link=”” lightbox_iframe=”” hide_image_title=”yes” caption_style=”” caption_content=”caption” custom_caption=”” custom_caption_small=”” caption_transform=”” caption_letter_spacing=”0″ caption_font_size=”” caption_line_height=”” caption_below=”no” caption_below_transform=”” caption_below_font_weight=”bold” caption_below_letter_spacing=”0″ caption_below_font_size=”” caption_below_line_height=”” caption_below_color=”” image_offset=”no” image_zoom=”yes” shadow=”no” shadow_canvas_color=”” shadow_color=”” revealfx=”off” revealfx_color=”” revealfx_direction=”lr” revealfx_delay=”0″ revealfx_duration=”750″ glitch_transparent=”off” glitch_effect=”none” glitch_effect_transparent=”none” permanent_glitch=”on” accent_1=”” accent_2=”” accent_3=”” rotation=”0″ rotation_tablet_change=”off” rotation_tablet=”0″ rotation_mobile_change=”off” rotation_mobile=”0″ animation_duration=”” animate_once=”yes” animate_tablet=”false” animate_mobile=”false” delay=”false” delay_timer=”” class=”” cursor_skin=”inherit” css=””][/vc_column][vc_column width=”1/2″ delay=”true” effect=”fadeInUp” delay_timer=”100″][ut_animated_image size=”large” align=”center” link_type=”none” hover=”no” caption_font_weight=”” image=”684″ effect=”none” caption_color=”#ffffff” caption_background=”rgba(20, 22, 24, 0.75)” custom_width=”” custom_height=”” custom_crop=”on” image_opacity=”100″ image_border_radius=”0″ align_tablet=”inherit” align_mobile=”center” lightbox_size=”hd” link=”” lightbox_iframe=”” hide_image_title=”yes” caption_style=”” caption_content=”caption” custom_caption=”” custom_caption_small=”” caption_transform=”” caption_letter_spacing=”0″ caption_font_size=”” caption_line_height=”” caption_below=”no” caption_below_transform=”” caption_below_font_weight=”bold” caption_below_letter_spacing=”0″ caption_below_font_size=”” caption_below_line_height=”” caption_below_color=”” image_offset=”no” image_zoom=”yes” shadow=”no” shadow_canvas_color=”” shadow_color=”” revealfx=”off” revealfx_color=”” revealfx_direction=”lr” revealfx_delay=”0″ revealfx_duration=”750″ glitch_transparent=”off” glitch_effect=”none” glitch_effect_transparent=”none” permanent_glitch=”on” accent_1=”” accent_2=”” accent_3=”” rotation=”0″ rotation_tablet_change=”off” rotation_tablet=”0″ rotation_mobile_change=”off” rotation_mobile=”0″ animation_duration=”” animate_once=”yes” animate_tablet=”false” animate_mobile=”false” delay=”false” delay_timer=”” class=”” cursor_skin=”inherit” css=””][/vc_column][/vc_row][vc_row][vc_column][ut_fancy_link font_weight=”” link=”url:https%3A%2F%2Fgithub.com%2Fmblum6180%2FPachinko%2Freleases%2Ftag%2F0.8|||”]Download[/ut_fancy_link][/vc_column][/vc_row][/vc_section][vc_row][vc_column][vc_column_text]

     

    [/vc_column_text][/vc_column][/vc_row]

  • Send Martin Tower to Mars!

    Send Martin Tower to Mars!

    [vc_section][vc_row equal_height=”yes” content_placement=”middle”][vc_column width=”1/2″][ut_header align=”left” title_source=”page” title_linebreak_mobile=”on” lead_linebreak_mobile=”on” font_size=”font-size-unit=px&desktop_large=40&desktop_small=global&tablet=global&mobile=global” line_height=”desktop_large=global&desktop_small=global&tablet=global&mobile=global” title_letter_spacing=”desktop_large=global&desktop_small=global&tablet=global&mobile=global”]Launch the iconic skyscraper to space, and land safely on Mars

    Welcome to the Send Martin Tower to Mars!, an 8-bit style adventure game where you get to launch the iconic Martin Tower into space and guide it to a safe landing on the red planet. With retro graphics and challenging gameplay, this game will put your skills to the test as you navigate through space and dodge obstacles on your way to Mars. Get ready to embark on a mission like no other, and show the universe what Martin Tower is made of![/ut_header][/vc_column][vc_column width=”1/2″][ut_animated_image size=”full” align=”center” delay=”true” image=”801″ effect=”fadeIn” delay_timer=”50″ custom_width=”” custom_height=”” custom_crop=”on” image_opacity=”100″ image_border_radius=”0″ align_tablet=”inherit” align_mobile=”center” link_type=”none” lightbox_size=”hd” link=”” lightbox_iframe=”” hide_image_title=”yes” hover=”no” caption_style=”” caption_content=”caption” custom_caption=”” custom_caption_small=”” caption_transform=”” caption_font_weight=”” caption_letter_spacing=”0″ caption_font_size=”” caption_line_height=”” caption_color=”” caption_background=”” caption_below=”no” caption_below_transform=”” caption_below_font_weight=”bold” caption_below_letter_spacing=”0″ caption_below_font_size=”” caption_below_line_height=”” caption_below_color=”” image_offset=”no” image_zoom=”yes” shadow=”no” shadow_canvas_color=”” shadow_color=”” revealfx=”off” revealfx_color=”” revealfx_direction=”lr” revealfx_delay=”0″ revealfx_duration=”750″ glitch_transparent=”off” glitch_effect=”none” glitch_effect_transparent=”none” permanent_glitch=”on” accent_1=”” accent_2=”” accent_3=”” rotation=”0″ rotation_tablet_change=”off” rotation_tablet=”0″ rotation_mobile_change=”off” rotation_mobile=”0″ animation_duration=”” animate_once=”yes” animate_tablet=”false” animate_mobile=”false” class=”” cursor_skin=”inherit” css=””][/vc_column][/vc_row][vc_row disable_element=”yes”][vc_column width=”1/2″ delay=”true” effect=”fadeInUp” delay_timer=”50″][ut_animated_image size=”large” align=”center” link_type=”none” hover=”no” caption_font_weight=”” image=”677″ effect=”none” caption_color=”#ffffff” caption_background=”rgba(20, 22, 24, 0.75)” custom_width=”” custom_height=”” custom_crop=”on” image_opacity=”100″ image_border_radius=”0″ align_tablet=”inherit” align_mobile=”center” lightbox_size=”hd” link=”” lightbox_iframe=”” hide_image_title=”yes” caption_style=”” caption_content=”caption” custom_caption=”” custom_caption_small=”” caption_transform=”” caption_letter_spacing=”0″ caption_font_size=”” caption_line_height=”” caption_below=”no” caption_below_transform=”” caption_below_font_weight=”bold” caption_below_letter_spacing=”0″ caption_below_font_size=”” caption_below_line_height=”” caption_below_color=”” image_offset=”no” image_zoom=”yes” shadow=”no” shadow_canvas_color=”” shadow_color=”” revealfx=”off” revealfx_color=”” revealfx_direction=”lr” revealfx_delay=”0″ revealfx_duration=”750″ glitch_transparent=”off” glitch_effect=”none” glitch_effect_transparent=”none” permanent_glitch=”on” accent_1=”” accent_2=”” accent_3=”” rotation=”0″ rotation_tablet_change=”off” rotation_tablet=”0″ rotation_mobile_change=”off” rotation_mobile=”0″ animation_duration=”” animate_once=”yes” animate_tablet=”false” animate_mobile=”false” delay=”false” delay_timer=”” class=”” cursor_skin=”inherit” css=””][/vc_column][vc_column width=”1/2″ delay=”true” effect=”fadeInUp” delay_timer=”100″][ut_animated_image size=”large” align=”center” link_type=”none” hover=”no” caption_font_weight=”” image=”684″ effect=”none” caption_color=”#ffffff” caption_background=”rgba(20, 22, 24, 0.75)” custom_width=”” custom_height=”” custom_crop=”on” image_opacity=”100″ image_border_radius=”0″ align_tablet=”inherit” align_mobile=”center” lightbox_size=”hd” link=”” lightbox_iframe=”” hide_image_title=”yes” caption_style=”” caption_content=”caption” custom_caption=”” custom_caption_small=”” caption_transform=”” caption_letter_spacing=”0″ caption_font_size=”” caption_line_height=”” caption_below=”no” caption_below_transform=”” caption_below_font_weight=”bold” caption_below_letter_spacing=”0″ caption_below_font_size=”” caption_below_line_height=”” caption_below_color=”” image_offset=”no” image_zoom=”yes” shadow=”no” shadow_canvas_color=”” shadow_color=”” revealfx=”off” revealfx_color=”” revealfx_direction=”lr” revealfx_delay=”0″ revealfx_duration=”750″ glitch_transparent=”off” glitch_effect=”none” glitch_effect_transparent=”none” permanent_glitch=”on” accent_1=”” accent_2=”” accent_3=”” rotation=”0″ rotation_tablet_change=”off” rotation_tablet=”0″ rotation_mobile_change=”off” rotation_mobile=”0″ animation_duration=”” animate_once=”yes” animate_tablet=”false” animate_mobile=”false” delay=”false” delay_timer=”” class=”” cursor_skin=”inherit” css=””][/vc_column][/vc_row][vc_row][vc_column width=”1/3″][ut_fancy_link font_weight=”” link=”url:https%3A%2F%2Flightly-salted.com%2Fcontent%2Fmartin%2F|||”]Play[/ut_fancy_link][/vc_column][vc_column width=”1/3″][ut_fancy_link font_weight=”” link=”url:https%3A%2F%2Fgithub.com%2Fmblum6180%2FSend-Martin-Tower-to-Mars%2Freleases%2Ftag%2Fv0.15.1||target:%20_blank|”]Download[/ut_fancy_link][/vc_column][vc_column width=”1/3″][ut_fancy_link font_weight=”” link=”url:https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.lightlysalted.martin%26pcampaignid%3Dweb_share||target:%20_blank|”]Google Play[/ut_fancy_link][/vc_column][/vc_row][vc_row][vc_column][ut_image_gallery thumbnail_size=”medium” grid=”3″ gallery=”800,799,798″][/vc_column][/vc_row][/vc_section]