Normal view

There are new articles available, click to refresh the page.
Before yesterdayMain stream

POC : Tamil Date parser using parse

By: Hariharan
15 November 2024 at 18:05

Tamil Date time parser POC
https://github.com/r1chardj0n3s/parse

it requires external dependency parse for parsing the python string format with placeholders

import parse
from date import TA_MONTHS
from date import datetime
//POC of tamil date time parser
def strptime(format='{month}, {date} {year}',date_string ="நவம்பர், 16 2024"):        
    parsed = parse.parse(format,date_string)
    month = TA_MONTHS.index(parsed['month'])+1
    date = int(parsed['date'])
    year = int(parsed['year'])
    return datetime(year,month,date)

print(strptime("{date}-{month}-{year}","16-நவம்பர்-2024"))
#dt = datetime(2024,11,16);
# print(dt.strptime_ta("நவம்பர் , 16 2024","%m %d %Y"))

How to Create & Publish a PHP Package with Composer? – தமிழில்

By: Hariharan
8 November 2024 at 17:59

அக், 13 2024

பிஹெச்பி பொதிகளை பிஹெச்பி கம்போசர்-உடன் உருவாக்க மற்றும் வெளியிடுவது ஒரு நேரடியான வழிமுறை இந்த வழிமுறையை பின்பற்றினால் நாம் எளிமையாக பிஹெச்பி சமூகத்துடன் நமது நிரல்களை பொதிவடிவத்தில் பகிர்ந்துகொள்ளலாம்.

கம்போசர் – (பிஹெச்பி சார்புகளின் நிர்வாகி) – PHP Dependency Manager

தேவையானவை:

உங்களது கணினியில் பின்வருவற்றை நிறுவி இருப்பது அவசியம்.

  • பிஹெச்பி (பதிப்பு 7.4 or அண்மை)
  • கம்பொசர் (அண்மை பதிப்பு)
  • கிட் (அண்மை பதிப்பு)
  • ஒரு கிட் ஹப் கணக்கு
  • பேக்கஜிஸ்ட் கணக்கு

படிகள்:

படி 1: நம்முடைய பொதிக்கான ஒரு கோப்புறையை உருவாக்கி கொள்ளவும்.

mkdir open-tamil
cd open-tamil

படி 2: கம்போசர் பொதியை துவக்குதல்

நம் கணினியில் கம்போசர் பொதியை துவக்க பின்வரும் கட்டளையை பயன்படுத்தவும்.

composer init

மேற்கண்ட கட்டளையை பயன்படுத்தும் கட்டளைவரி இடைமுகம் பின்வரும் கேள்விகளை கேட்கும்

Package name: your-username/my-php-package

Description: A sample PHP package

Author: Your Name <your-email@example.com>

Minimum Stability: stable (or leave blank)

Package Type: library

License: MIT

இந்த கேள்விகளுக்கு விடையளித்த பின்பு பிறசார்புகளை கேட்கும் no கொடுக்கவும்.

இறுதியாக composer.json உருவாக்க தூண்டியில் yes கொடுத்து உருவாக்கி கொள்ளவும்.

படி 3 :

composer.json கோப்பு உருவாக்கிய பிறகு அது பின்வருமாறு தோன்றும்

{
    "name": "your-username/my-php-package",
    "description": "A sample PHP package",
    "type": "library",
    "require": {
        "php": ">=7.4"
    },
    "autoload": {
        "psr-4": {
            "MyPackage\\": "src/"
        }
    },
    "authors": [
        {
            "name": "Your Name",
            "email": "your-email@example.com"
        }
    ],
    "license": "MIT"
}

படி 4

பின்னர் உங்களது குறிமுறையை கிட் பயன்படுத்தி கிட்ஹப்பில் பதிவேற்றவும்.

படி 5

குறியீட்டை கம்போசரில் பதிப்பிக்க பேக்கேஜிஸ்டில் உள்நுழையவும். பின்னர் submit பொத்தானை அழுத்தவும்

submit பொத்தானை அழுத்தியவுடன் பொதியை எற்றும் பக்கம் திறக்கப்பட்டு உங்களது கிட்ஹப் கணக்கில் உள்ள பொதுவாக அனுமதியில் இருக்ககூடிய ரெபொசிடரியின் வலைமுகவரியை உள்ளிட்டு சரிபார்க்கும் பொத்தானை அழுத்தி சரிபார்த்துகொள்ளவும்.

குறிப்பு : கம்போசரை பொறுத்தவகையில் பதிப்பிப்பவர் வென்டார் (vendor) என்று குறிப்பிடப்படுவர். நான் hariharan என்ற வென்டார் பெயரை பயன்படுத்தி இரு பொதிகளை பதிப்பித்துள்ளேன்.

புதிய பொதியை சரிபார்த்த பின் பொதியானது பதிப்பிக்க தயராகிவிடும்.

பார்க்க :

https://packagist.org/packages/hariharan/open-tamil

https://packagist.org/packages/hariharan/thirukural

நிறுவி பார்க்க:

composer require hariharan/thirukural

composer require hariharan/open-tamil

How to view manually installed packages in ubuntu

By: Hariharan
2 November 2024 at 18:49

Hi all in the blog post we are going to list down the packages we installed manually.

why we need that information?
when we set up a fresh Linux Distro or migrate existing or converting Linux installation into a docker image that will very helpful to us

how we are going to get this thing done?
using the aptitude (high-level package manager command-line interface)

install aptitude first if not present in your system

sudo apt install aptitude 

wait a few seconds to complete installation after completing the installation run the following command to find the manually installed packages after the initial run of the

comm -23 <(aptitude search '~i !~M' -F '%p' | sed "s/ *$//" | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort -u)

Image description

Voila we did it!

Ubuntu : SSDல் உபுண்டு 20.04 LTS டூயல் பூட் முறையில் விண்டோசுடன் நிறுவுதல்

By: Hariharan
31 October 2024 at 14:18

அக் 31, 2024

அண்மையில் நான் டூயல் பூட் முறையில் விண்டோசுடன் நிறுவிய அனுபவத்தினை இந்த பதிவில் காணலாம்.

நான் SSDல் விண்டோஸ் இயங்குதளம் பயன்படுத்திவருகிறேன். என்னுடைய இன்னொரு HDDல் உபுன்டு இயங்குதளம் வைத்திருக்கிறேன். அந்த வன்வட்டு பழுதடையும் தருவாயில் இருப்பதால் SSDல் உபுண்டு இயங்குதளம் நிறுவ தயாரானேன்.

எப்பொழுதும் புதிய இயங்குதளம் நிறுவ தாயராகும் போது காப்பு பிரதி(Backup) எடுத்துவைத்து தயாராகவும்.

குறிப்பு : நான் இயங்குதளம் 3 முறை நிறுவியுள்ள அனுபவத்தில் காப்பு பிரதி எடுக்காமல் தொடங்கினேன். ஆனால் இவ்வாறு செய்வது பரிந்துரைக்கபடவில்லை.

நான் லைவ் USB ventoy எனும் மென்பொருளின் உதவியுடன் தயார் செய்தேன்.

References :

Setting UP ubuntu’s GRUB as primary bootloader using efibootmgr https://superuser.com/questions/1247300/how-to-make-uefi-bios-start-grub-not-windows

Ubuntu : சும்மா இருந்ததால் வந்த சிக்கல்

By: Hariharan
17 October 2024 at 18:48

அக், 17 2024

இரவு ஒரு 10: 35 மணி இருக்கும் கணினியை திறந்து லாகின் செய்து விட்டு குரோமியம் உலவியில் தமிழ் லினக்ஸ் பாரத்தில் போட்ட கேள்விக்கு பதில் வந்ததா என்று பார்த்துக்கொண்டிருந்தேன்.

பார்த்துகொண்டிருக்கும் போது ஜேசன் அவர்களின் பதிவு தந்தி(Telegram App)யில் வந்தது. அதில் A2D நந்தா அவர்களின் CDK Offers மற்றும் CDKLabs பற்றிய சில செய்திகள் வந்தது. அவற்றையெல்லம் பார்த்துவிட்டு கணினியில் சுட்டியை சொடுக்கினேன் செய்தேன். எதற்கும் ஒத்துழைக்க வில்லை ஆனால் சுட்டி மட்டும் நகர்ந்தது. விசைப்பலகையை தட்டி டெர்மினலில் எதேனும் கட்டளைகளை பயன்படுத்தி குரோமியத்தினை நிறுத்திவிட்டு மீள் தொடங்கலாம் என நினைத்தேன். ஆனால் விசைகள் இயங்கின அதனுடைய உள்ளீட்டை கணிணி ஏற்கவில்லை.

திறன்பேசியில் தேடினேன்.

ரெடிட்டில் ஒரு பதிவு கிடைத்தது. அதில் குறிப்பிட்ட படி ctrl+alt+F3 யை அழுத்தினேன். பின்னர்

sudo systemctl status gdm 

கட்டளையிட்டேன் (inactive) நிலையில் இருந்தது. பின்னர் நான் lightdm பயன்படுத்துவதால் அதனுய நிலையை சரிபார்த்தேன்.

sudo systemctl status lightdm

அது இயக்கத்தில் இருந்தது. lightdm ஐ மீள்தொடக்கம் செய்தேன். பின்வரும் கட்டளை கொண்டு

sudo systemctl restart lightdm

மீள் தொடக்கம் செய்ததும் விசைப்பலகை சரியாக இயங்கியது. சுட்டியும் நன்றாக இயங்கியது.

நன்றாக இயங்கியதால் இந்த பதிவையும் எழுத முடிந்தது.

நன்றி.

https://www.redit.com/r/Ubuntu/comments/133js51/unable_to_click_in_but_mouse_moves_ubuntu/

ரெடிட் பதிவு

Kanchilug Monthly Meet – Oct ,13 2024

By: Hariharan
13 October 2024 at 16:30

Lightning Talk by Krishna

Topic : Desktop Customization : picom, pywal

Resource : Krishna S

SSD File System Comparison : https://www.linux.org/threads/comparison-of-file-systems-for-an-ssd.28780/

https://etherpad.wikimedia.org/p/KanchiLUGMMOct13

Notes on Choosing HDD to SSD Linux Installation migration

Chat GPT Prompt : how to backup current linux installation configuration files and packages list as a archive and apply on a new installation

Result

Backing up your current Linux installation’s configuration files and package lists is a great way to ensure you can easily restore or replicate your setup on a new installation. Here’s how you can do it:

Step 1: Backup Configuration Files

  1. Identify Configuration Files: Most configuration files are located in /etc. You may also have application-specific configurations in your home directory (like .bashrc, .vimrc, etc.).
  2. Create an Archive:
    You can create a compressed archive (like a tarball) of your configuration files. Run the following command:
   sudo tar -czvf config_backup.tar.gz /etc /home/your_username/.bashrc /home/your_username/.vimrc

Adjust the paths based on what configuration files you want to back up.

Step 2: Backup Installed Packages List

The method to back up the installed package list depends on your Linux distribution.

For Debian-based systems (like Ubuntu):

  1. Backup Installed Packages:
   dpkg --get-selections > package_list.txt
  1. Backup Sources List:
   sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

For Red Hat-based systems (like Fedora, CentOS):

  1. Backup Installed Packages:
   rpm -qa > package_list.txt
  1. Backup Repositories:
   sudo cp -r /etc/yum.repos.d/ /path/to/backup/repo_backup/

Step 3: Create a Complete Backup Archive

Combine everything into one archive:

tar -czvf full_backup.tar.gz config_backup.tar.gz package_list.txt /etc/apt/sources.list.backup

Step 4: Restore on a New Installation

  1. Transfer the Backup: Copy the full_backup.tar.gz to your new installation.
  2. Extract the Backup:
   tar -xzvf full_backup.tar.gz
  1. Restore Configuration Files:
   sudo tar -xzvf config_backup.tar.gz -C /
  1. Restore Package List: For Debian-based systems:
   sudo dpkg --set-selections < package_list.txt
   sudo apt-get dselect-upgrade

#### For Red Hat-based systems:
You can reinstall packages from the list:

   xargs -a package_list.txt sudo dnf install -y
  1. Restore Sources List (Debian-based):
   sudo cp /etc/apt/sources.list.backup /etc/apt/sources.list
   sudo apt update

Step 5: Finalize and Reboot

After restoring everything, it’s a good idea to reboot your system to ensure all configurations take effect.

Notes:

  • Make sure to review any new configurations or installed packages after the restoration, as dependencies and versions may vary.
  • For user-specific configurations, you may want to back up the entire home directory or specific application directories.

This process should help you smoothly transition to a new Linux installation with your desired configurations and packages!

Chat GPT Prompt : I am in a plan of migrating linux os to a new file system which is xfs or zfs brtfs which on is good

Choosing between XFS, ZFS, and Btrfs depends on your specific needs and use cases. Here’s a breakdown of each file system’s strengths and considerations to help you decide:

XFS

Pros:

  • Performance: Excellent performance, especially for large files and high-performance workloads.
  • Scalability: Designed for scalability, making it suitable for high-capacity storage systems.
  • Mature: A well-established file system with a long history of stability.

Cons:

  • Features: Lacks some advanced features like snapshots and built-in RAID compared to ZFS and Btrfs.
  • Management: Does not have as many management tools as ZFS.

ZFS

Pros:

  • Data Integrity: Strong focus on data integrity with built-in checksumming.
  • Snapshots and Clones: Supports efficient snapshots and clones, allowing for easy backups and recovery.
  • Compression: Offers built-in compression options, which can save space.
  • RAID: Supports various RAID levels natively (ZRAID), enhancing redundancy.

Cons:

  • Memory Usage: Can require more RAM for optimal performance.
  • Complexity: More complex to set up and manage compared to traditional file systems.

Btrfs

Pros:

  • Snapshots and Subvolumes: Supports snapshots and subvolumes, making it flexible for backups and system management.
  • Built-in RAID: Offers support for multiple RAID levels.
  • Compression and Deduplication: Supports on-the-fly compression and deduplication.

Cons:

  • Stability: Still considered less mature than XFS and ZFS; while it has improved significantly, it may not be as stable for all workloads.
  • Performance: Can have variable performance depending on the workload and configuration.

Recommendations

  • For General Use: If you want stability and performance for general workloads, XFS is a great choice.
  • For Data Integrity and Advanced Features: If data integrity, snapshots, and advanced features are critical, ZFS is likely the best option.
  • For Flexibility and Modern Features: If you want modern features like snapshots and subvolumes with some flexibility, consider Btrfs.

Final Thoughts

Evaluate your specific use cases (e.g., data integrity, performance, ease of management) and the resources available on your system (e.g., RAM for ZFS). If possible, testing each file system in a non-production environment can also help you determine which one best meets your needs.

Keyboard Tamil99 :தேடிய விசைப்பலகை பயிற்சி வலைதளம் கிடைத்தது.

By: Hariharan
5 October 2024 at 18:09

அக் 5, 2024

தமிழில் தட்டச்சு செய்ய தமிழ்99 விசைப்பலகை பயன்படுத்த மிகவும் எளிதாக இருக்கும். முதலில் இருந்தே எகலப்பை மற்றும் தமிழ் பொனெட்டிக்(ஒலிப்பு) விசைப்பலகையில் தமிழில் தட்டச்சு செய்ய பழகிய என்னை போன்றவர்களுக்கு தமிழ் தட்டச்சு செய்ய தமிழ்99 விசைப்பலகை பயிற்சி எடுக்க மிகவும் கடினமாக இருக்கிறது.

ஆகவே இந்த சிக்கலை தீர்க்க எதேனும் வலைதளங்கள் இருக்கின்றனவா என தேடிய பொழுது கிடைத்த ஒர் வலைதளம்.

https://wk.w3tamil.com/

இந்த வலைதளத்தில் தமிழ்99 விசைப்பலகையை பயிற்சி பெற 3 வித அமைப்புகள் உள்ளன.

முதல் அமைப்பு தமிழ்99 விசைப்பலகை மட்டும் வைத்துகொள்வது. இதில் வடமொழி மற்றும் ஆங்கில எழுத்துகள் இருக்காது.

இரண்டாம் அமைப்பு தமிழ்99 விசைப்பலகை வடமொழி எழுத்துகள் உடன் ஆங்கில எழுத்துகளும் லேசான நிறத்தில் தோன்றும் வடமொழி எழுத்துகளை தட்டச்சு செய்ய {shift} விசையை பயன்படுத்தவும்.

மூன்றாம் அமைப்பு தமிழ்99 விசைப்பலகை வடமொழி எழுத்துகள் உடன் ஆங்கில எழுத்துகளும் அடர் நிறத்தில் தோன்றும் .

தொடக்க பயனர்கள் மூன்றாம் அமைப்பை பயன்படுத்தலாம் எளிமையாக ஆங்கில எழுத்துக்களின் விசையை பயன்படுத்தி பழகலாம் பின்னர் நன்கு பயிற்சி பெற்றபின் முதலாம் அமைப்பிற்கு வரலாம்.

வாங்க பழகலாம் தமிழ்99!

How to Deploy a Laravel application in Shared Hosting

By: Hariharan
5 October 2024 at 16:25

Preparing Hosting Infrastructure for Deployment:

  1. Create a subdomain or main domain
  2. login into public_html folder of the site or subdomain
  3. put a index.html file and check if the sub domain is working

Laravel Project Upload :

  1. Prepare a Zip Archive of the Laravel Project
  2. Create a folder into server and extract your project into public_html folder created earlier
  3. Then change the public folder content to the public_html folder and change the bootstrap and other paths in index as per need
  4. After that you’re going to check

Ubuntu : How to make partitions mount at startup -தமிழில்

By: Hariharan
1 October 2024 at 17:42

அக் 01, 2024

உபுண்டு இயக்கமுறையில் வன்வட்டு மற்றும் திடநிலைவட்டினை இயங்குதளத்தின் தொடக்கத்தில் இணைப்பது எவ்வாறு என்பதனை இக்கட்டுரையில் காண்போம்.

பயனர் இடைமுக வழி (புதிய பயனர்களுக்கு) : வட்டுகள் (Disks) எனும் பயன்பாடானது தானமைவாகவே

/etc/fstab

கோப்பினை நமக்காக திருத்தி நமது தேவைக்கு ஏற்றார்போல மாற்றிக்கொள்ள வழிவகை செய்கிறது (இயங்குதளத்தினை உடைக்காமல்).

வட்டுகள் (Disks) பயன்பாட்டினை பயன்பாட்டு ஏவி (launcher) துணைகொண்டு இயக்க (disks) என பயன்பாட்டு ஏவியில் தேடவும்.

மேற்கண்ட துவக்கபட்டியில் காட்டபட்டுள்ளது போல வட்டுக்கள்(Disks) பயன்பாடு தோன்றும். அந்தப் பயன்பாட்டினை திறக்கையில் கீழே காட்டபட்டுள்ளது போல பட்டியலிடப்பட்டு வன்வட்டுக்களும் திடநிலை வட்டுக்களும் தோன்றும்.

நான் இரண்டாவது வன்வட்டினை சொடுக்குகையில் அதில் உள்ள வன்வட்டின் பகுதிகள் (Partitions) திரையில் காட்டப்படும்.

அதில் நாம் தானமைவாக இணையக்கூடிய அமைப்பை கட்டமைக்க அந்த வட்டினை தேர்வு செய்து இணைக்கவேண்டிய பகுதியையும் தெரிவு செய்துகொள்ளவேண்டும்.

அப்போது வன்வட்டின் பகுதிகளின் கீழ் ஒரு மூன்று தேர்வுகள் தோன்றும்.

முதல் தேர்வு – இயங்குதளத்தில் இணை (Mount)

இரண்டாம் தேர்வு – பகுதியை நீக்கு (Delete Partition) (தேர்வினை தேர்வுசெய்துவிடாதீர்கள் வன்வட்டின் அந்தபகுதியில் உள்ள தரவுகள் அனைத்தும் நீக்கப்பட்டு ஒதுக்கப்படாத நினைவிடமாக மாற்றப்பபட்டுவிடும்)

மூன்றாம் தேர்வு – பிற அமைப்புகளை இந்த தெரிவில் காணலாம்.

மூன்றாவது தேர்வினை சொடுக்கினால் ஒரு சுறுக்குப்பட்டி(Context Menu) விரியும் அதில் இணைக்கும் தெரிவுகளை திருத்து (Edit Mount Options) எனும் தொடுப்பை அழுத்தினால் இணைக்கும் தெரிவுகள் உரையாடல் பெட்டி(Dialog Box) தோன்றும்.

இணைக்கும் தெரிவுகள் உரையாடல் பெட்டியில் இருப்பவை எல்லாம் பயன்படுத்தா இயலா நிலையில் (grayed out) காட்சியளிக்கும்.

இதனைப் பயன்படுத்தும் நிலைக்கு கொணற பயனை அமர்வு இயல்புநிலை (User Session Default) அமைப்புகளை மாற்று பொத்தான் (toggle button) பயன்படுத்தி மாற்றும் போது எல்லா அமைப்புகளும் திருத்தகக் கூடிய நிலையில் மாறிவிடும். பின்னர் அதனை சேமித்தால் அந்த வன்வட்டின் பகுதி தானமைவாகவே இயங்குதளத்தின் தொடக்கத்தில் இணைக்கப்பட்டுவிடும்.

நன்றி

அடுக்கு பரிமாற்றம் (stack exchange) : https://askubuntu.com/questions/164926/how-to-make-partitions-mount-at-startup

முனையத்தில் பகுதிகளை இணைக்கும் வழிமுறையை மற்றொரு பதிவில் காணலாம்.

Docker : Creating and uploading docker image to docker hub – டாக்கர் படத்தை உருவாக்கி அதை டாக்கர் ஹப்பில் பதிவேற்றுதல்

By: Hariharan
25 September 2024 at 20:00

செப் 25, 2024

நான் டாக்கர் வகுப்பில் கற்றவற்றை வைத்து ஒரு டாக்கர் படத்தை டாக்கர் ஹப்பில் பதிவேற்றுதல் வரை நடந்த செயல்பாடுகளை இந்தப்பதிவில் குறிப்பிடுகிறேன்.

டாக்கர் ஹப் கணக்கை துவக்குதல்

https://app.docker.com/signup இணைப்பை சொடுக்கவும் அதில் கூகுள் கணக்கை வைத்து (நீங்கள் பிற உள்நுழைவு அமைப்புகளையும் பயன்படுத்திக் கொள்ளலாம்) உள்நுழையவும்.

வெற்றிகரமான உள்நுழைவுக்கு பிறகு https://hub.docker.com க்கு Docker Hub Link ஐ சொடுக்குவதுமூலம் செல்லவும்.

Click the Docker Hub Link

டாக்கர் ஹப்பில் நாம் படத்தை பதிவேற்றம் செய்யும் முன்னர் அதனை பதிவேற்ற ஒரு கோப்புறை ஒன்றை உருவாக்க வேண்டும்.

கோப்புறைஐ உருவாக்கிய பிறகு நாம் நமது கணினியில் டாக்கர் படத்தை உருவாக்கிய பின்னர் அதனை பதிவேற்றிக்கொள்ளலாம்.

கணிணியில் ஒரு டாக்கர் படத்தை உருவாக்குதல்

முதலில் டாக்கர் படத்தை உருவாக்கும் முன்னர் பழைய டாக்கர் கலன்களின் (Container) இயக்கத்தை நிறுத்திவிட்டு சற்று நினைவத்தினை தயார் செய்து கொள்கிறேன் (நினைவக பற்றாக்குறை இருப்பதால்).

docker rm $(docker ps -aq)

பின்னர் Dockerfile எழுத துவங்க வேண்டியதுதான்

டாக்கர் படத்தை உருவாக்க நமக்கு தேவயான சார்பு படங்களை முதலில் பதிவிறக்கி அதனை தயார்படுத்திக்கொள்வோம்.

என்னுடய டாக்கர் படம் மிகவும் சிறியதாக வேண்டும் என நினைப்பதால் நான் python3-alpine பயன்படுத்துகிறேன்.

https://hub.docker.com/r/activestate/python3-alpine

நிறுவல் சரிபார்த்தல்

மேற்கண்ட கட்டளைவரிகளை பயன்படுத்தி நாம் நமது நிறுவலை சரிபார்க்கலாம்.

டாக்கர் கோப்பை எழுதுதல் மற்றும் டாக்கர் படத்தை உருவாக்குதல்

# we are choosing the base image as python alpine
FROM activestate/python3-alpine:latest
# setting work directory
WORKDIR ./foss-event-aggregator
# Copying the workdirectory files to the container 
COPY ./foss-event-aggregator ./foss-event-aggregator
# Installing required dev-dependencies 
# RUN ["pip3","install","-r","./foss-event-aggregator/dev-requirements.txt"]
# Running PIP commands to update the dependencies for the
RUN ["apk","add","libxml2-dev","libxslt-dev","python-dev"]

RUN ["pip3","install","-r","./foss-event-aggregator/requirements.txt"]

CMD ["python","eventgator.py"]

டாக்கர் கோப்பு எழுதும் போது தேவையான சார்புகள் அனைத்தும் சரியாக நிறுவப்படுகிறதா என்பதை சரிபார்க்க பிழைச்செய்தி வரும்போது அதனை சரிசெய்ய டாக்கர் கோப்பை தேவைப்படி மாற்றுக.

வெற்றிகரமாக foss-event-aggregator எனும் டாக்கர் படம் உருவாக்கப்பட்டது.

உருவாக்கப்பட்ட படத்தை பரிசோதித்தாகிவிட்டது இப்பொழுது டாக்கர் ஹப்புக்கு பதிவேற்றலாம்.

டாக்கர் ஹப்புக்கு பதிவேற்றுதல்

படத்தை பரிசோதித்த பிறகு கோப்புறை பெயரில் டாக் செய்யவேண்டும்

docker image tag foss-event-aggregator:v1 itzmrevil/foss-events-aggregator:v1

டாக் செய்யபட்ட பிறகு டாக்கரில் CLIல் உள்நுழைவு செய்து டாக்கரில் பதிவேற்றம் செய்தால் மட்டுமே டாக்கர் ஏற்றுக்கொள்ளும்.

டாக்கரில் உள்நுழைய

docker login

கொடுத்து டெர்மினலில் வரும் படிகளை பின்பற்றவும்.

உள்நுழைவு செய்த பின்னர்

docker push itzmrevil/foss-events-aggregator:v1

கட்டளையை கொடுத்து டாக்கர் படத்தை பதிவேற்றவும்

பதிவேற்றம் செய்யபட்டதை டாக்கர் ஹப்பில் பார்க்க https://hub.docker.com/repository/docker/itzmrevil/foss-events-aggregator/general

வெற்றி ! வெற்றி !! வெற்றி !!!

Docker : Virtual Machines – மெய்நிகர் இயந்திரங்கள்

By: Hariharan
25 September 2024 at 16:54

செப் 25, 2024

ஒரு கணிணியில் ஒரு வலைப்பயன்பாடினை இயங்குவதற்கு 4 பயன்பாடுகள் பயன்படுத்த வேண்டுமெனில் அந்த பயன்பாடு இயக்கத்திற்காக சார்ந்திருக்கும் நுண்செயலி(CPU), நினைவகம்(RAM), சேமிப்பக (Storage) போன்ற வன்பொருள் தேவைகளை பூர்த்தி செய்ய வேண்டும்.

இதே தேவைகளை சில சமயங்களில் பயனர்களின் (Users) எண்ணிக்கைக்கு ஏற்றவாறும் பயன்பாட்டின் அளவுகளுக்கு (Usage) ஏற்றவாறு நாம் அதிகப்படுத்த (Scaling) வேண்டியுமுள்ளது.

ஓரே கணிணியில் அதிகளவு பயனர்களின் அணுகல்களை அனுமதித்தால் அதிகபயன்பாட்டின் காரணமாக வலைதளங்கள் முடங்கும் அபாயம் உள்ளது.இதனை தவிர்க்க தனித்தனி இயந்திரங்களை பயன்படுத்தும் போது தேவைக்கு அதிகமாக வன்பொருள் மீதமிருக்கும் அது முழுவதுமாக பயன்படுத்தப் படாமலும் இருக்கும் (proper utilisation).

எடுத்துக்காட்டாக கீழ்வரும் 4 பயன்பாடுகளை

  • அப்பாச்சி வலை சேவையகம்
  • கிராப் கிகுவெல் எந்திரம்
  • போஸ்டுகிறீஸ் தரவுதள அமைப்பு
  • எக்ஸ்பிரஸ் வலைச் சேவையகம்

ஒரு கணிணியில் இயக்குவற்கு 4 GB (RAM), 2 Core (CPU) மற்றும் 250 GB (Storage) தேவைப்படும் என வைத்துக்கொள்வோம்.

நம்மிடம் 16 GB (RAM), 16 Core (CPU) மற்றும் 1000 GB கொண்ட கணினி உள்ளது அதில் இரண்டு நிறுவல்களை அமைத்து சோதணை செய்து பார்க்க மெய்நிகர் இயந்திரங்கள் கருத்துரு வழிவகை செய்கிறது.

ஆகவே ஒரு கணினியில் வன்பொருள் அமைப்புகளை தேவைகளைப் பொறுத்து ஒரு கணினியை பல கணினிகளாக மாற்றி சோதனை செய்து பயன்படுத்தும்போது அந்த கணிணிகளை மெய்நிகர் இயந்திரங்கள் எனப் பொருள் கொள்ளலாம்.

சி -நிரலாக்கம் பற்றிய சில கேள்விகள்:

By: Hariharan
13 September 2020 at 18:28

நிரலாக்கம் என்றால் என்ன?

நிரலாக்கம் என்பது கணினிக்கும் நமக்கும் தெரிந்த உயர்நிலை மொழியில் கட்டளைகளை எழுதுதல் ஆகும்.

சி-மொழிபெயர்ப்பி என்றால் என்ன?

சி-மொழிபெயர்ப்பி என்பது நீங்கள் எழுதும் நிரல்களை கணினிக்கு புரியும் கட்டளைகளாக மாற்றும் ஒரு மென்பொருள்.

சி-மொழிபெயர்பியை எவ்வாறு நிறுவுவது?

கணினியில் சி – மொழிபெயர்ப்பியை நிறுவுதல்:

உங்களின் கணினியின் இயங்கு தளத்திற்கு ஏற்ற மொழிப்பெயர்ப்பியை இணையத்திலிருந்து பதிவிறக்கம் செய்துகொள்ளவும்

வ.எண்இயங்குதளம் சி-மொழிபெயர்ப்பி இணைப்பு
1விண்டோஸ் 10/8/7C-Complier For Windows MS-DOS
Code Blocks IDE Download Page
அட்டவணை-1 இயங்குதளங்கள் அவற்றிற்காண சி-மொழிப்பெயர்ப்பிகள்

தரவிறக்கம் செய்யப்பட்ட கோப்பினை திறந்து உங்களுடய கணினியில் நிறுவிக்கொள்ளவும்.

மேலும் விவரங்களுக்கு சந்தா பெறவும்.

Docker : Meet & Greet – அறிமுக வகுப்பு

By: Hariharan
16 September 2024 at 18:48

செப் 16, 2024

நேற்று (15-09-2024) காஞ்சிலக் சந்திப்பு முடித்தவுடன் docker வகுப்பில் இணைந்தேன்.

வகுப்பில் இணைந்தவர்கள் அனைவரும் தத்தம் அறிமுகங்களை வழங்கிய பிறகு ஜாபர் அவர்கள் docker ன் பண்புக்கூறுகளை விளக்கினார்.

பின்னர் வின்டோஸில் docker ஐ எப்படி நிறுவுவது குறித்து விளக்கினார்.

சிலரின் கணினியில் docker நிறுவுதலில் பிழைச்செய்தி வந்ததையடுத்து அதனை சரிசெய்து வகுப்பை முடித்துகொண்டோம்.

Kanchi-LUG Weekly Discussion 08-09-2024 Summary & My Experiments : )

By: Hariharan
14 September 2024 at 19:52

Talk 0:
Topic : MiniDLNA media server.
Name : Syed Jafer

எமது பைத்தான் வகுப்பின் பயிற்றுனர் செய்யது ஜாபர் தன்னுடைய கணினியில் miniDLNA பல்லூடக வழங்கி (media server) நிறுவுதல் குறித்தும் அதன் பயன்பாடுகள் குறித்தும் உரை வழங்கினார்.

அந்த பயன்பாட்டினை என்னுடைய உபுண்டு இயங்குதளத்தில் நிறுவியது குறித்து இப்பதிவில் காணலாம்.

எந்த பயன்பாட்டையும் உபுண்டு இயங்குதளத்தில் நிறுவல் செய்யவேண்டி இயங்குதளத்தினை நிகழ்நிலைப்படுத்தினேன் (updating)

sudo apt update

இயங்குதளத்தினை நிகழ்நிலைப்படுத்திய பிறகு

sudo apt install minidlna

நிறுவல் நல்லபடியாக முடிந்தது.

இப்பொழுது பல்லுடக வழங்கியைநமக்கு தேவைப்படும் படி கட்டமைத்துகொள்ளும் படிகளை ஒவ்வொன்றாக பார்க்கலாம்.

என்னுடைய கணிணியில் ஒரு பயனறே உள்ளபடியால் அவருக்கு மட்டும் நிறுவலைக் கட்டமைப்பு செய்வோம். பின்னர் பல்லூடக கோப்புகளின் இருப்பிடங்களை கட்டமைப்பு செய்வோம்.

எப்பொழுதும் கணினியில் கட்டமைவை மாற்றும் போது அதனை ஒரு காப்புபிரதி (backup) எடுத்து பயன்படுத்துதல் நன்று.

#media_dir=/var/lib/minidlna
media_dir=A,/home/hariharan/Music
media_dir=V,/home/hariharan/Videos
media_dir=P,/home/hariharan/Pictures
db_dir=/var/cache/minidlna

log_dir=/var/log/minidlna (create folder manually if not created automatically)

friendly_name=UbuntuMediaServer

மேற்கண்ட வரிகளில்

media_dir என்பது பல்லூடக கோப்புகளை வழங்கியில் காண்பிப்பதற்கான கட்டமைவு ஆகும்.

db_dir என்பது கோப்புகளின் பிற விவரங்களை சேமித்துவைக்க வழங்கி பயன்படுத்தும் கோப்புறை

log_dir என்பது வழங்கி பிழைச்செய்திமற்றும் பிற முக்கிய பயன்பாட்டின் நிகழ்வுகளை பதியும் கோப்புறை

friendly_name என்பது நமது வழங்கிக்கு நாம் வழங்கும் பெயர். பிற dlna நெறிமுறை மூலம் இயங்கும் பயன்பாடுகள் நமது வழங்கியை பயன்படுத்தும் போது இந்த பெயரின் கீழ் கோப்புகளை வழங்கும்.

எனது பரிசோதனைகள்

  1. MX Player – Android லிருந்து பல்லூடக வழங்கியை அணுகுதல்.

முடிவு: பல்லுடக வழங்கியை அனுகமுடியவில்லை.

  1. serveo.net பயன்படுத்தி பல்லூடக வழங்கியை அணுகுதல்.

முடிவு: பல்லூடக வழங்கியை அணுகமுடியவில்லை

Kanchi-LUG Weekly Discussion 08-09-2024 Summary & My Experiments : )

By: Hariharan
14 September 2024 at 19:49

Talk 0:
Topic : MiniDLNA media server.
Name : Syed Jafer

எமது பைத்தான் வகுப்பின் பயிற்றுனர் செய்யது ஜாபர் தன்னுடைய கணினியில் miniDLNA பல்லூடக வழங்கி (media server) நிறுவுதல் குறித்தும் அதன் பயன்பாடுகள் குறித்தும் உரை வழங்கினார்.

அந்த பயன்பாட்டினை என்னுடைய உபுண்டு இயங்குதளத்தில் நிறுவியது குறித்து இப்பதிவில் காணலாம்.

எந்த பயன்பாட்டையும் உபுண்டு இயங்குதளத்தில் நிறுவல் செய்யவேண்டி இயங்குதளத்தினை நிகழ்நிலைப்படுத்தினேன் (updating)

sudo apt update

இயங்குதளத்தினை நிகழ்நிலைப்படுத்திய பிறகு

sudo apt install minidlna

நிறுவல் நல்லபடியாக முடிந்தது.

இப்பொழுது பல்லுடக வழங்கியைநமக்கு தேவைப்படும் படி கட்டமைத்துகொள்ளும் படிகளை ஒவ்வொன்றாக பார்க்கலாம்.

என்னுடைய கணிணியில் ஒரு பயனறே உள்ளபடியால் அவருக்கு மட்டும் நிறுவலைக் கட்டமைப்பு செய்வோம். பின்னர் பல்லூடக கோப்புகளின் இருப்பிடங்களை கட்டமைப்பு செய்வோம்.

எப்பொழுதும் கணினியில் கட்டமைவை மாற்றும் போது அதனை ஒரு காப்புபிரதி (backup) எடுத்து பயன்படுத்துதல் நன்று.

#media_dir=/var/lib/minidlna
media_dir=A,/home/hariharan/Music
media_dir=V,/home/hariharan/Videos
media_dir=P,/home/hariharan/Pictures
db_dir=/var/cache/minidlna

log_dir=/var/log/minidlna (create folder manually if not created automatically)

friendly_name=UbuntuMediaServer

மேற்கண்ட வரிகளில்

media_dir என்பது பல்லூடக கோப்புகளை வழங்கியில் காண்பிப்பதற்கான கட்டமைவு ஆகும்.

db_dir என்பது கோப்புகளின் பிற விவரங்களை சேமித்துவைக்க வழங்கி பயன்படுத்தும் கோப்புறை

log_dir என்பது வழங்கி பிழைச்செய்திமற்றும் பிற முக்கிய பயன்பாட்டின் நிகழ்வுகளை பதியும் கோப்புறை

friendly_name என்பது நமது வழங்கிக்கு நாம் வழங்கும் பெயர். பிற dlna நெறிமுறை மூலம் இயங்கும் பயன்பாடுகள் நமது வழங்கியை பயன்படுத்தும் போது இந்த பெயரின் கீழ் கோப்புகளை வழங்கும்.

எனது பரிசோதனைகள்

  1. MX Player – Android லிருந்து பல்லூடக வழங்கியை அணுகுதல்.

முடிவு: பல்லுடக வழங்கியை அனுகமுடியவில்லை.

  1. serveo.net பயன்படுத்தி பல்லூடக வழங்கியை அணுகுதல்.

முடிவு: பல்லூடக வழங்கியை அணுகமுடியவில்லை

ML Day 1: கற்கும் இயந்திரவியல் முதல் நாள் வகுப்பு

By: Hariharan
14 September 2024 at 17:39

பைத்தான் வகுப்பு முடிந்ததும் 7-8 நேரத்தை பிற நல்ல முறையில் பயன்படுத்த வேண்டும் என்ற ஆவல் இருந்தது.

அப்போது பைத்தான் வகுப்பு குழுவிலிருந்து ஒரு செய்தி வந்தது. கற்கும் இயந்திரவியலில் ஒரு அறிமுக 3 நாள் வகுப்பு தினமும் 8:30 – 9:30 என்ற அறிவிப்புதான் அது.

சரி இந்த முறையாவது அனைத்து வகுப்புகளையும் நேரலை அல்லாமல் நேரடியாக இணையவேண்டும் என்ற மன உறுதியுடன் வகுப்புகளில் இணைந்து வகுப்புகளை கவனித்தேன்.

இப்போது வகுப்பில் இருந்து கற்றவற்றை எளிதில் விளங்கும் கேள்வி பதிலாக தொகுத்து கூறும் முயற்சியில் இறங்கியுள்ளேன்.

  1. கற்கும் இயந்திரவியல் என்பது என்ன ?
  2. கற்கும் இயந்திரவியலை புரிந்து கொள்ள நமக்கு அடிப்படையாக தேவைப்படுபவை எவை?

மன்னிக்கவும்! .

இப்பதிவு இன்னும் முழுமையாக எழுதி முடிக்கப்படவில்லை.

Kanchi-LUG Weekly Discussion 01-09-2024 Summary

By: Hariharan
1 September 2024 at 16:31

Talk-0

Hariharan Umapathi (Myself) : Generating PDF using headless mode with Chromium


https://www.slideshare.net/slideshow/k-lug-weekly-discussion-sep-01-2024-t1-pdf/271473211

Talk-1

Thanga Ayyanar : IRC Bouncer configuration using soju https://soju.im/

Talk-2

Syed Jafer : Using dotenvx for .env file parsing

https://dotenvx.com/

Other Talks :

PHP Application Free Hosting : https://infinityfree.net/

Tamil Auto Generator (விகுதி ஆக்கம்) : https://github.com/KaniyamFoundation/ProjectIdeas/issues/227

Open Source Home Automation : https://www.home-assistant.io/

NGROK Alternative : https://serveo.net/

TO Stop ubuntu Keyring popup : https://askubuntu.com/questions/495957/how-to-disable-the-unlock-your-keyring-popup

rm ~/.local/share/keyrings/login.keyring

(Details Needed) https://lwn.net/Calendar/

Contributors Needed (Python,Django): https://tamilpesu.us/

நான் என்னுடய உபுன்டு 20.04 இயக்கமுறையின் கடவுச்சொல்லை மறந்துவிட்டேன்

By: Hariharan
3 August 2024 at 19:30

இந்த பதிவில் நான் எவ்வாறு என்னுடைய உபுன்டு இயங்குதளத்தை மீட்டெடுத்தேன் என்பதை முடிந்தளவு எளிமையாக கூற முயற்சித்துள்ளேன்.

இன்று காலை சரியாக ஒரு பதினோரு மணி இருக்கும் லினக்ஸில் இருக்கும் சில கட்டளைகளை நினைவு கூறுவோமெ என கணினியை எடுத்து உபுன்டு பூட் செய்துவிட்டு உள்நுழைவு பக்கம் வரும் வரை காத்திருந்தேன்.

உள்நுழைவு பக்கம் வந்தது பயனர் பெயர் மற்றும் கடவுச்சொல்லை உள்ளிட்டு (Enter)ஐ அழுத்தினேன். தவறான பயனர்பெயர் அல்லது கடவுச்சொல் எனும் பிழைச் செய்தி வருவதை கண்டு அதிர்ந்தேன்.

நான் இந்த உபுண்டு இயக்கமுறையை பயன்படுத்தி சில வருடங்கள் இருக்கும் கடைசியாக இதனைப் பயன்படுத்தியது 2021 என்று நினைக்கிறேன்.

தவறான கடவுச்சொல் என்று வருகிறதே. சரி நாம் பொதுவாக பயன்படுத்தும் கடவுச்சொல் அனைத்தும் பயன்படுத்திவிட்டேன். ஒன்றும் பயனளிக்கவில்லை தோல்வியே மிஞ்சியது.

பின்னர் கடவுசொல்லை வேரு எங்காவது எழுதிவைத்தேனா? என்னும் கோணத்தில் தேடுதல் தொடர்ந்தது.

சில மணித்துளிகள் கழித்து….

நமது சுயமாக உருவாக்கப்பட்ட(selfmade) குழுவில் பதிவொன்று போட்டேன். பன்னிரண்டு மணியாகியும் பயனர்கள் யாரும் இணைப்பில் இல்லததால் பதில் கிடைக்குமா கிடைக்காதோ என்ற அச்சம் ஒரு பக்கம் இந்த உபுண்டு இயக்கமுறையுடன் ஒரு வின்டோஸு இயக்கமுறையும் ஒரு வன்வட்டில் மற்றான் சகோதரர்கள் போல இணைந்தே இருந்தது உபுண்டு இயக்கமுறையை அழித்து மீண்டும் நிறுவ வேண்டுமா என்ற கேள்வி மறுபக்கம்.

எழுந்தேன் சிறிது தண்ணீர் குடித்துவிட்டு ஒவர்புலோவிலும்(stackoverflow) தீர்வை தேடினேன்.சரியான குறிச்சொற்கள்(keywords) பயன்படுத்தால் என்னவோ தீர்வு கிடைக்கவில்லை.

சரி நாம் புதிதாக இணைந்த லினக்ஸு குழுவிலும் (forums.tamillinuxcommunity.org) ஒரு பதிவை போட்டுவிடுவோம் எதாவது ஒரு இடத்தில் உதவி கிட்டும் என்ற நம்பிக்கையில் மதிய உணவு சாப்பிட சென்றேன்.

சாப்பிட்டு கொண்டிருந்த வேளையில் கைப்பேசியில் இரு செய்தி வந்தது 📲

சுயமாக உருவான நண்பர் ஒருவர் ஒரு யுடியுப் பதிவு ஒன்றை அனுப்பியிருந்தார். அந்த கானொளியில் கூறப்பட்ட கட்டளை களை பயன்படுத்தி பார்த்தேன்.

உபுண்டு இயக்கமுறை மீட்டெடுக்கும் முறையில் (Recovery mode) இயக்குவதற்கான தேர்வுகள் திரையில் தோன்றவில்லை.சிறிது சிந்தித்து பார்த்ததில் இயக்குமுறை தொடக்கும் (GRUB)ல் பொதியில் சில மாற்றங்கலை செய்தது நினைவுக்கு வந்தது (கடவுச்சொல் மட்டும் ஏனோ வரவில்லை 🤦‍♂️) .

சரி அடுத்த செய்தியை பார்க்கலாம் என்று அடுத்த செய்தியை படித்தேன். அங்கு இயக்குமுறை தொடக்கும் பொதியில் இயக்குமுறையை தொடங்கும் கணத்திலேயே சில கட்டளைகளை மட்டுமே மாற்றி இயக்குமுறையை மீட்டெடுக்கும் கட்டளை இயக்கியை (Recovery Shell) திறக்கும் முறையை ஒரு யுடூப் பதிவாளர் எளிமையான தமிழில் கூறியிருந்தார்.

ஒரு வழியாக இரண்டாவது முயற்சி கை கொடுக்கவே. கடவுச்சொல்லை மாற்றிவிட்டேன். எனது மாற்றான் சகோதரனை (ubuntu) மீட்டெடுத்தேன்.

பின்னினைப்பு :

  1. உபுன்டு மீட்டெடுக்கும் முறை 1 (Recovery Mode) https://youtu.be/cijFUPL6wKA?si=6MJN6PpCFTnw2y18

2. உபுன்டு மீட்டெடுக்கும் முறை 2

(Recovery Shell opening GRUB Command Edit)

https://youtu.be/azvV6FxocZI

3.https://forums.tamillinuxcommunity.org/t/how-to-reset-ubuntu-20-04-forgotten-root-password/2321

குறிப்பு:

லினக்ஸு கடவுச்சொல்லை மாற்றியமைக்க மேலெ கொடுக்கப்பட்ட இணைப்புகளில் இருக்கும் கட்டளைகளை இயக்கும்போது மிகுந்த கவனத்தோடு இயக்கவேண்டும்.நீங்கள் அறியாமல் கட்டளைகளில் தவறு செய்ய நேரிட்டால் நீங்கள் தரவுகளை இழக்ககூடும்.

❌
❌