Reading view

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

IRC – My Understanding V2.0

What is plaintext in my point of view:
Its simply text without any makeup or add-on, it is just an organic content. For example,

  • A handwritten grocery list what our mother used to give to our father
  • A To-Do List
  • An essay/composition writing in our school days

Why plaintext is important?
– The quality of the content only going to get score here: there is no marketing by giving some beautification or formats.
– Less storage
– Ideal for long term data storage because Cross-Platform Compatibility
– Universal Accessibility. Many s/w using plain text for configuration files (.ini, .conf, .json)
– Data interchange (.csv – interchange data into databases or spreadsheet application)
– Command line environments, even in cryptography.
– Batch Processing: Many batch processes use plain text files to define lists of actions or tasks that need to be executed in a batch mode, such as renaming files, converting data formats, or running programs.

So plain text is simple, powerful and something special we have no doubt about it.

What is IRC?
IRC – Internet Relay Chat is a plain text based real time communication System over the internet for one-on-one chat, group chat, online community – making it ideal for discussion.

It’s a popular network for free and open-source software (FOSS) projects and developers in olden days. Ex. many large projects (like Debian, Arch Linux, GNOME, and Python) discussion used. Nowadays also IRC is using by many communities.

Usage :
Mainly a discussion chat forum for open-source software developers, technology, and hobbyist communities.

Why IRC?
Already we have so many chat platforms which are very advanced and I could use multimedia also there. So this is very basic, right?

Yes it is very basic, but the infrastructure of this IRC is not like other chat platforms. In my point of view the important differences are privacy and decentralized.

Advantages over other Chat Platforms:

  • No Ads Or Popups: We are not distracted from other ads or popups because my information are not passed to any company to track my needs and give marketing.
  • Privacy: Many IRC networks does not need your email or mobile number or even registration. Simply you can type your name or nick name, select your server and start chat instantly. Chat Logs also getting stored if required.
  • Open Source and Free: Server, Client – the entire networking model is free and open source. Anybody can install the IRC servers/clients and connect with the network.
  • Decentralized : As servers are decentralized, it could able to work even one server has some issues and it is down. Users can connect to different servers within the same network which is improving reliability and performance.
  • Low Latency: Its a free real time communication system with low latency which is very important for technical communities and time sensitive conversations.
  • Customization and Extensibility: Custom scripts can be written to enhance functionality and IRC supports automation through bots which can record chats, sending notification or moderating channels, etc.
  • Channel Control: Channel Operators (Group Admin) have fine control over the users like who can join, who can be kicked off.
  • Light Weight Tool: As its light weight no high end hardware required. IRC can be accessed from even older computers or even low powered devices like Rasberry Pi.
  • History and Logging: Some IRC Servers allow logging of chats through bots or in local storage.

Inventor
IRC is developed by Jarkko Oikarinen (Finland) in 1988.

Some IRC networks/Servers:
Libera.Chat(#ubuntu, #debian, #python, #opensource)
EFNet-Eris Free Network (#linux, #python, #hackers)
IRCnet(#linux, #chat, #help)
Undernet(#help, #anime, #music)
QuakeNet (#quake, #gamers, #techsupport)
DALnet- for both casual users and larger communities (#tech, #gaming, #music)

Some Clients-GUI
HexChat (Linux, macOS, Windows)
Pidgin (Linux, Windows)
KVIrc (Linux, Windows, macOS)

Some IRC Clients for CLI (Command Line Interface) :
WeeChat
Irssi

IRC Clients for Mobile :
Goguma
Colloquy (iOS)
LimeChat (iOS)
Quassel IRC (via Quassel Core) (Android)
AndroIRC (Android)

Directly on the Website – Libera WebClienthttps://web.libera.chat/gamja/You can click Join, then type the channel name (Group) (Ex. #kaniyam)

How to get Connected with IRC:
After installed the IRC client, open.
Add a new network (e.g., “Libera.Chat”).
Set the server to irc.libera.chat (or any of the alternate servers above).
Optionally, you can specify a port (default is 6667 for non-SSL, 6697 for SSL).
Join a channel like #ubuntu, #python, or #freenode-migrants once you’re connected.

Popular channels to join on libera chat:
#ubuntu, #debian, #python, #opensource, #kaniyam

Local Logs:
Logs are typically saved in plain text and can be stored locally, allowing you to review past conversations.
How to get local logs from our System (IRC libera.chat Server)
folders – /home//.local/share/weechat/logs/ From Web-IRCBot History:
https://ircbot.comm-central.org:8080/

References:
https://kaniyam.com/what-is-irc-an-introduction/
https://www.youtube.com/watch?v=CGurYNb0BM8

Our daily meetings :
You can install IRC client, with the above link help, can join.
Timings : IST 8pm-9pm
Server : libera.chat
Channel : #kaniyam

ALL ARE WELCOME TO JOIN, DISCUSS and GROW

My First Public Speaking

Public Speaking – It’s just two words, but it makes many people feel frightened. Even I did. I felt embarrassed to stand in front of my schoolmates/colleagues.

Usually, I am present in college during working days, but if it’s seminar days, you can’t find me – I will be absent. But whatever you try to avoid in life, one day you’ll face it, right? That was what happened in my interview. Fear! Fear!!

But how could we compare an interview with public speaking? Why not? If the interview panel has multiple people, and they ask you questions you may or may not know the answers – but at least in public speaking, you will speak about what you know.

I still have that fear. So, I decided not to run away but FACE THE ISSUE. A few good people supported me in overcoming this situation. First, my professor Muthu Sir, who advised me to join open-source communities, specifically ILUGC and KanchiILUGC. He said, “Just join, they will take care of you if you follow them.” I joined, and under Mr. Shrini’s guidance, I started doing simple projects. In between, he asked me to give a presentation at an ILUGC meet.

I said OK immediately (I already wanted to overcome my fear). I felt I accepted in a rush, and suddenly had mixed feelings like run away 🙂 But he was so fast – I received an email to give my name, and the formalities proceeded. The real race started in my heart.

My inner thoughts: “What, Sugi? What are you going to do? The subject is fine, but can you speak in front of people?”

I said to myself, It’s OK, whatever, I have to do. Then, Muthu Sir, Ms.Jothy, friends, classmates, my family and all others encouraged me.

I still remember what Muthu Sir said: “What’s the worst that can happen? One, you can do well. If so, you’ll feel good and confident. Two, you may not do well, but that will push you to do better next time. Both outcomes will yield good and positive results, so just go for it.”

Then I practiced alone and felt OK. I had some paper notes in my hand, but when the laptop screen turned on, my heart rate went up, and my hands started shaking. When people asked me to start, I said, “I am Sugirtha,” and then forgot everything.

Thank God I at least remembered my name! Fine, let’s see the paper – What is this? I couldn’t read it, nothing was going inside my brain. It felt like Latin, which I don’t understand. I threw the paper aside, started recollecting, and said, “HTML stands for HyperText Markup Language.” Inside, I thought, Oh my God, this is not my first line to say, I thought I would start differently. For about 5 to 10 minutes, I fumbled with the points but didn’t deliver them as I expected. But when I started working on the code, I felt OK, as I got immersed in it.

Finally, it was over. There was still some tension, and after some time, I thought, I don’t know if my presentation was good or not, but at least I finished it. Then, after a while, I thought, Oh God, you did it, Sugi! Finally, you did something.

Now, I wonder if I get another chance, could I do it again? Back then, I somehow managed, but now… the fear returns. But this not the same as before which I feel I can overcome easily. So to overcome this I have to do more and more. I don’t want to prove anything to anyone, but I just want to prove something to myself. For my own satisfaction, I want to do more. I feel I will do better.

If I can, why can’t you?

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

அக், 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

Address Book v2.0 as on 08Nov2024 – (DEVELOPMENT IN PROGRESS)

Project Title : Address Book

S/w Used : HTML, CSS, JavaScript with LocalStorage for storing data (little Bootstrap)

Framework Used : Text Editor

Description : A small addressbook which is having name, email, contact no, and city which is having CRUD operations.

Till Today :

  • From v1.0, design changed completely.
  • Code done for Adding new Contact with modal window.
  • And whenever new entry added that will get displayed in the table dynamically with del and edit buttons.
  • Delete button action also done.
  • Alignment I could not able to do well, so took chatGPT help.

To Do:

  • Edit action and Search are pending.
  • Add New screen is not getting closed after adding – has to be rectified.
  • Design should get changed in AddNew screen
  • Table – Headings font size should get changed. (As used bootstrap table class – th is not getting changed through css – have to research in it.
  • Some Code duplication is there, have to be optimized like keep in one function (inside validationPassed & addNewContact).

Technical WorkFlow:

function validationPassed : This function checks all the fields are not empty.

function getAddrBook : This function returns an Array which extracts the existing contacts from localStorage, if available, and parse it. Otherwise an empty array will be returned.

function addNewContact : If validationPassed, then new contact entry is created from 4 fields (Name, Email, ContactNo and City), together will form an object and pushed into addrBook array (got through getAddrBook) and will get saved into localStorage. showBook() function is getting called immediately to show the added contact.

function showBook() : This is actually a table where rows(contacts) with delete and edit buttons are getting added dynamically and will be shown.

function deleteCont(idx) : As the name suggests it will take the index of the array as input and delete the contact when the delete button pressed.

Output till now :

This image has an empty alt attribute; its file name is image-5.png

AddNew Screen:

gitlab : https://gitlab.com/Sugirtha/Kaniyam.git

Address Book v1.0 as on 26thOct 2024 – (DEVELOPMENT IN PROGRESS)

Project Title : Address Book

S/w Used : HTML, CSS, JavaScript with LocalStorage for storing data (little Bootstrap)

Framework Used : Text Editor

Description : A small addressbook which is having name, email, contact no, and city which is having CRUD operations.

Till Today : Just designed the front screen for Adding New Contact – simple html screen with css only done.

<html>
<head>
 <title>Address Book</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="author" content="Sugirtha">
 <meta name="description" content="Simple AddressBook with Name, Contact No, Email and City">
 <link rel="stylesheet" href="addr.css">
</head>
<body>
 <h3>Simple Address Book</h3>
 <form id="frmAddr" name="formAddr">
 <div class="container">
  <table>
   <tr>
    <th>Name</th>
    <td><input type="text" id="txtName" placeholder="Enter your Name"></td>
   </tr>
   <tr>
    <th>Email</th>
    <td><input type="text" id="txtEmail" placeholder="Enter your Email"></td>
   </tr>
   <tr>
    <th>Contact No.</th>
    <td><input type="text" id="txtPhone" placeholder="ContactNo. including ISD Code"></td>
   </tr>
   <tr>
    <th>City</th>
    <td><input type="text" id="txtCity" placeholder="Enter your City here"></td>
   </tr>
  </table>
   <div class="submitPos">
    <input type="submit" id="btnSubmit" value="SAVE" class="button">
    <input type="button" id="btnCancel" value="CLEAR" class="button">
   </div>

 </div>
 </form>
</body>
</html>

CSS

body
{
    background-color:#3d4543;
    color:white;
}
h3
{
    text-align:center;  
    font-family:Helvetica;
}
input[type=text]
{

    background-color:#bccd95;
    color:black;
    height:30px;
    width:220px;
    border-radius:3px;
    border-color:white;
}
::placeholder
{
    opacity: 1;
    font-family:Helvetica;
    font-size:15px;
}
.container 
{
    background-color:#3d4543;
    position: relative;
    top:4px;
    left:38%;
    width:450px;
    height:350px;
}
.submitPos
{
    position: relative;
    top:38px;
    left:10%;   
}
th
{
    text-align:left;
    font-family:Helvetica;
    font-size:15px;
    font-weight:bold;
}
.button
{
    position:relative;
    color:white;
    border:none;
    border-radius:3px;
    width:100px;
    height:26px;
    margin-left:10px;
    background-color:#303030; 
    border-radius:8px;
    border-bottom:black 2px solid;  
    border-top:2px 303030 solid; 
    font-family:Helvetica;
    font-size:13px;
    font-weight:bold;
}

OUTPUT

Open Source projects mentoring via IRC

In the programming world, if you say as ‘ I prefer watching videos, than reading docs’ it means you are a programmer already or you won’t become a programmer.

Do you feel that you are struggling to be a good programmer, even after watching 100s of hours of videos?

Let me share one secret. It is the fear of reading and writing PlainText. The more you go away from reading and writing, programming will go away from you.

Programming is all about dealing with the code, error messages, log files, documentation. All in PlainText. We have emails, tickets, docs, reports too there on the stack of IT life.

If you love terminal and PlainText tools, you are already into reading and writing. The more you read and write, the more you can get clarity in thinking, which is the essential part of programming.

To embrace the simplicity and powers of PlainText, few friends started to discuss in IRC. yes, the same 40+ years old Internet Relay Chat, an chat system which built the internet itself via chat.

Thanks to Indian Linux Users Group, Chennai, KanchiLUG, Kaniyam Foundation friends for joining the chat.

Read my post on why I like IRC here https://goinggnu.wordpress.com/2020/04/14/why-i-like-irc-internet-relay-chat-even-in-2020/

Here is small video in Tamil by my friend Muthuramalingam of Payilagam – https://www.youtube.com/watch?v=CGurYNb0BM8

From today, 7-8 IST evenings, we can discuss at channel at irc.libera.chat

I suggest a terminal based chat client “weechat”

But, for a quick connection, use this link to join and discuss. https://web.libera.chat/gamja/#kaniyam

Start Date – 21 Oct 2024 ( Monday to Friday )
Time – 7-8 pm IST
server – irc.libera.chat
channel –

read the chat logs here – https://ircbot.comm-central.org:8080/kaniyam

join and say something about you.

  • feel like a hacker by chatting with people in your linux terminal
  • get mentored on hactoberfest
  • ask any questions on linux/python/programming/devops
  • share your daily progress on learning and programming
  • practice reading and writing PlainText
  • learn slowly and strongly

See you at IRC.

If you are interested in mentoring students for open source projects, please join and start the discussions.

The other interesting channels that people chat are #ubuntu  you can join there and participate on the discussions anytime.

CALCULATOR

<html>
<head>
    <title>Simple Calculator</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="author" content="Sugirtha">
    <meta name="description" content="Calculator using HTML, CSS, JavaScript">   
    <link rel="stylesheet" href="calc.css">
</head>
<body>
    <h2 align="center">CALCULATOR</h2>
<div class="borderContainer">
<div class="container" >
<div class="resultsContainer" ><input type="text" id="results" name="results" class="result" readonly></div>
<div class="numPadContainer">
    <p>
    <input type="button" value="7" class="button black" onclick='calc("7")'>
    <input type="button" value="8" class="button black" onclick='calc("8")'>
    <input type="button" value="9" class="button black" onclick='calc("9")'>
    <input type="button" value="/" class="button opr" onclick='calc("/")'>
    </p>
    <p>
    <input type="button" value="4" class="button black" onclick='calc("4")'>
    <input type="button" value="5" class="button black" onclick='calc("5")'>
    <input type="button" value="6" class="button black" onclick='calc("6")'>
    <input type="button" value="*" class="button opr" onclick='calc("*")'>
   </p>
    <p>
    <input type="button" value="1" class="button black" onclick='calc("1")'>
    <input type="button" value="2" class="button black" onclick='calc("2")'>
    <input type="button" value="3" class="button black" onclick='calc("3")'>
    <input type="button" value="-" class="button opr" onclick='calc("-")'>
    </p>
    <p>
    <input type="button" value="0" class="button black" onclick='calc("0")'>
    <input type="button" value="00" class="button black" onclick='calc("00")'>
    <input type="button" value="." class="button black" onclick='calc(".")'>
    <input type="button" value="+" class="button opr" onclick='calc("+")'>

    </p>
    <p>
    <input type="button" value="mod" class="button opr" onclick='calc("%")'>
    <input type="button" value="C" class="button red" onclick='results.value=""'>
    <input type="button" value="=" class="button orange" onclick='doOper()' >

   </p>
</div>
</div>
</div>
<script>
    var answered=false;
    function calc(val) 
    {
        optrs = "+-*/%"
        if (answered && !optrs.includes(val)) 
        {
         
                //alert("not included opr - clearing ans")
                document.getElementById("results").value="";
                
            
        }
        document.getElementById("results").value += val;
        answered=false;
    }
    function doOper()
    {
        try
        {
            dispAns(eval(document.getElementById("results").value));
            
        }
        catch
        {
            dispAns("Input Error");
        }
    }
    function dispAns(output) 
    {
        document.getElementById("results").value = output;
        answered=true;
    }

</script>
</body>
</html>
body 
{
    background-color:black;
    color:lightgrey;
}



.borderContainer 
{
    position:relative;
    top:10px;
    left:36%;
    width:370;
    height:500;
    background-color: lightgrey;
}
.container
{
    position:relative;
    left:8%;
    top:25px;
    width:310px;
    height:450px;
    background-color:#3d4543;
    border-radius:3px;
}
.numPadContainer
{
    position:relative;
    left:25px;
    top:40px; 
}
.result
{
    position:relative;
    left:24px;
    top:28px;
    background-color:#bccd95;
    color:black;
    text-align:right;
    height:40px;
    width:260px;
    border-radius:10px;
    border-color:white;
}
.button
{
    position:relative;
    color:white;
    border:none;
    border-radius:8px;
    cursor:pointer;
    width:48px;
    height:42px;
    margin-left:10px;
}
.button.black
{
    background-color:#303030; 
    border-radius:8px;
    border-bottom:black 2px solid;  
    border-top:2px 303030 solid; 
}
.button.red
{
    background-color:#cf1917;  
    border-bottom:black 2px solid; 
    font-weight:bold;
}
.button.opr
{
    background-color:grey;  
    border-bottom:black 2px solid; 

}
.button.orange
{
    background-color:orange;
    border-bottom:black 2px solid;
    width:110px;
    font-weight:bold;
}

OUTPUT:

Open Source projects mentoring via IRC

In the programming world, if you say as ‘ I prefer watching videos, than reading docs’ it means you are a programmer already or you won’t become a programmer.

Do you feel that you are struggling to be a good programmer, even after watching 100s of hours of videos?

Let me share one secret. It is the fear of reading and writing PlainText. The more you go away from reading and writing, programming will go away from you.

Programming is all about dealing with the code, error messages, log files, documentation. All in PlainText. We have emails, tickets, docs, reports too there on the stack of IT life.

If you love terminal and PlainText tools, you are already into reading and writing. The more you read and write, the more you can get clarity in thinking, which is the essential part of programming.

To embrace the simplicity and powers of PlainText, few friends started to discuss in IRC. yes, the same 40+ years old Internet Relay Chat, an chat system which built the internet itself via chat.

Thanks to Indian Linux Users Group, Chennai, KanchiLUG, Kaniyam Foundation friends for joining the chat.

Read my post on why I like IRC here https://goinggnu.wordpress.com/2020/04/14/why-i-like-irc-internet-relay-chat-even-in-2020/

Here is small video in Tamil by my friend Muthuramalingam of Payilagam – https://www.youtube.com/watch?v=CGurYNb0BM8

From today, 7-8 IST evenings, we can discuss at #kaniyam channel at irc.libera.chat

I suggest a terminal based chat client “weechat”

But, for a quick connection, use this link to join and discuss. https://web.libera.chat/gamja/#kaniyam

Start Date – 21 Oct 2024 ( Monday to Friday )
Time – 7-8 pm IST
server – irc.libera.chat
channel – #kaniyam

read the chat logs here – https://ircbot.comm-central.org:8080/kaniyam

join and say something about you.

  • feel like a hacker by chatting with people in your linux terminal
  • get mentored on hactoberfest
  • ask any questions on linux/python/programming/devops
  • share your daily progress on learning and programming
  • practice reading and writing PlainText
  • learn slowly and strongly

See you at IRC.

If you are interested in mentoring students for open source projects, please join and start the discussions.

The other interesting channels that people chat are #ilugc #dgplug #emacs #kde #ubuntu  you can join there and participate on the discussions anytime.

Why I like IRC – Internet Relay Chat – even in 2020?

IRC – Internet Relay Chat – is a text based chat program. The 2k kids may compare this to slack, telegram chat, whatapp chat or any other instant messaging.

IRC was created by Jarkko Oikarinen in August 1988. Wow. Too old, Right?

Why it is not famous nowadays? People are telling that there are many cons compared to modern instant messaging.

These cons are real Pros of IRC. They are not bugs. They are the intended features.

Are you hearing the word IRC for the first time? Here is a quick beginners guide

https://www.whoishostingthis.com/resources/irc-primer/

IRC is only Text Based Chat.

Yes. You can not add any image or video. Few servers accept file uploads. Still Text is the only preferred way of communication in IRC. Why?

  • Plain Text is the God of content, always.
  • It is searchable.
  • Anyone can read faster
  • Watching a one hour video will talk one hour time. Reading its transcription will take quarter of its time.
  • On server side maintenance, it will be great headache to keep on adding the storage to keep all the images, files, videos. Ask the admins, who manages RocketChat, Mattermost, Mastodon Instances. They will tell the pains of keep on increasing the hard disk spaces. The IRC server admins will live a peacefull life and can keep the history for decades.
  • If you can not explain anything on text, even videos wont help for many.

IRC is not keeping the history of chats

IRC simulates the realtime chatroom like a meeting room. If you are late to a meeting room, you miss the spoken things. You can read minutes and know what was spoken.

Similarly, IRC is only realtime chat. You can not read the previous chats like you do in telegram like instant messengers. Even in modern we dont read all the history of chats. Imagine, in a morning, a chat room having 200 unread message. What do you do? Just skip all the messages and mark them read. Thats life. IRC knew this 30 ago.

What If I want history?

As all the interaction is happening as plain text, anyone can share the chat history online as blogpost, pastebin or github gist. Ask any fellow mates to export them and read in leisure.

That’s too much work for me to ask for a chat history

Well. There are bots and bots and bots for IRC. Check for any logging bot and add to your channel. Host the bot yourself or use this bot.   https://ircbot.comm-central.org:8080/  Add this bot to your channel and read all the chatlog on their website.

Who are using IRC still?

Most of the Free/Open Source software are having IRC Channels to provide free support. You can interact with the original developers of the software there. Anyone can create a channel, invite friends, hangout and have fun there.

Rules, Rules, Rules

It seems there are few rules to chat in IRC Channels. It depends on each channel. To maintain  goodness, there are rules everywhere. Even in Roads, to avoid accidents, we have to follow rules. There are mailing list rules. Similarly, there are common IRC Rules. Read here for common IRC meeting Rules https://fedoraproject.org/wiki/How_to_use_IRC#Meeting_Protocol

There are many commands to learn

Yes. As everything is via only text, we have to give few commands to use the IRC. There are no “Join/Mute/Leave/Kick” buttons. They are just commands. Check your instant messenger GUI. You will be clicking so many buttons to interact. They are the original commands here.

I have to remember people by there NickName. Why cant we connect with their phone number?

Welcome to the world of Privacy. By giving all your contact’s phone numbers to your instant messenger like WhatsApp, you are selling all our privacy. Do you get frequent SPAM phone calls from all banks,credit cards? We did not get these on IRC times. IRC keeps all your privacy. You dont have to reveal your name, sex, country.

What if I want to chat with someone instantly? He is not there in the IRC Channel? In instant messenger, I leave him a message, on next day, he will see and reply.

IRC respects your offline life. You dont need to be online 24/7. IRC is like going to office and being in a meeting room. Are you in meeting room or a tea shop gang or friends gathering 24/7 ? How are you connecting with them when they are not around? Yes. You make calls or send a message. You choose another medium to connect with them and wait. Do the same here. If you have some query. Posted in IRC. No one replies or the persons who can reply are not there in the Channel. Then ask the same on respective mailing list or stackoverflow like forums. Check the IRC logs next day, you might got answers. You can quickly search over text to get your conversations.

If someone is not there online, it seems he is enjoying life in realtime. Let them enjoy it. Ask for their available time and interact only on that time.

Meet.Jit.si, BigBlueButton,Zoom, Skype, Facebook Live, YouTube Live are useful to meet people, discuss and for any training. Can we do the same on IRC?

Yes. We can do all the things in IRC too. There are tons and tons of training happening over IRC. DPGLug is conducting Training on Free Software from 2009 on every summer. You can read all the logs here https://dgplug.org/irclogs/

We had monthly IRC meetings on Tamil Computing around 2015. You can read all the logs here  https://tamilirc.wordpress.com/

Anyone can read/skim these logs quickly. If I share a youtube channel or podcasts full of 100s of hours of content, how long will you watch? It depends on the need. The same applies for IRC also. But it easy and quick to read text.

Can I use IRC on the go with Mobile?

Yes. There are many mobile clients. IRCCloud’s web client and mobile client are modern and neat. I use their free plan. There are tons of clients available for all OS. Explore and find your lovable pair, yourself.

What if I want to read all the history?

You can setup IRC bouncer software like ZNC, or connect with a matrix channel or pay for IRCCloud.com like services. https://thelounge.chat/ seems a better self hostable IRC web client. Install it in a server or raspberry pi. If you want to be away from propitiatory software, for which you are the product, you have to host yourself or pay to some service providers. Or simply enable a free logging bot and read from their website.

I can talk faster than typing.

But people can read faster than hearing or seeing any video. If you want to reach more people, type the content in IRC or a blog post.

What about Matrix/Riot?

Matrix/Riot.im seems a upgraded IRC with all the bells and whistles of other instant messengers. They can be connected with IRC using bots. To and Fro both way communications are seamless. But it allows multimedia content, exporting all the content for public view is still tough, high maintenance tasks for server admins.

Want to discuss with 1000s of people same time? Use IRC

All the modern video chat services, YouTube, Facebook Live sessions take high bandwidth. Not everyone on the world have the bandwidth to connect with a video chat. Most of the video calls are spending time with “Am I audible? Do you see my screen? I can not see the screen. Stop the Noice” etc like discussions.

We dont have a 100s of people participating free video call service yet. You have to pay a lot for Zoom like services, just to hear the above voices and see blur faces of participants.

Instead, call for a meeting over IRC. Follow few meeting guidelines and all the meeting is done with low noise. Even anyone can connect with 2G or below bandwidth network.

Ok.Ok.Ok Stop this marketing for IRC

Few final thoughts.

  1. IRC server is self hostable. irc.libera.chat, irc.oftc.net are few major free servers available to create a channel
  2. Respect other people’s time. Video calls take all the participants time. Text chats are quick and respecting time.
  3. Text chat is very minimalist. Enjoy the peacefulness of a IRC meeting.
  4. Not all trainings need a video chat. If something is really important to demonstrate as a video, record a screencast, upload online and ask all to watch.
  5. Text is great way to learn things. Remember, we still use text books, tutorials, documentation, wikipedia to learn many things. Videos can help only as supporting materials.

I will be available at #ilugc and #kaniyam at irc.libera.chat on weekdays on daytimes.

I will plan for few text based training on any free software and announce here soon.

Thanks to ShakthiKannan, Mohan of Indian Linux Users Group, Chennai and Kushal of DGPLug for inspiring me on using IRC.

Add your comments or experience with IRC here.

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

செப் 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 கொண்ட கணினி உள்ளது அதில் இரண்டு நிறுவல்களை அமைத்து சோதணை செய்து பார்க்க மெய்நிகர் இயந்திரங்கள் கருத்துரு வழிவகை செய்கிறது.

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

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

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

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

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

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

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

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

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

Closing notes on 2 months online python course

The past 2 months went with weekly 3 python classes in Tamil, from Kaniyam Foundation

We got around 3500 participants in 3 whatsapp groups. Initial days went with some 1000+ students.

As the classes are in Tamil, live streamed, many participants started to learn easily.

We asked to learn, take notes, write blog daily. Many of them started to write. You can see them all here – https://blogs.kaniyam.cloudns.nz/

I hope minimum 20 students learned python very well.

The project demo days at final weeks proved that within 2 months, anyone can learn python programming and do good projects. All we need is dedicated learning and practicing.

I thank Syed Jafer, who trained us in a easy way. Thanks to all participants for great enthusiasm and hard work on learning.

I got opportunity to handle few classes and few QA sessions. Enjoyed every discussions with the team. Happy to see the progress and read all your blog posts daily. Continue the learning and writing. It is a life long process.

Special Thanks to my ilugc friend Asokan. He is a trainer for 20+ years. He taught python around 2005 in our Chennai Linux Users Group meetings. Happy to learn again from him, on his special training sessions.

On our discussions, he explained how to train python for beginners. Learned on he importance of more good examples, how to explain basics etc.

We all wondered on various methods to solve the fizz buzz problem and the beauty of functional programming.

Thanks for Asokan for mentoring us and TalentSprint.com for providing Zoom for the classes.

The feedback session was interesting. Captured the notes here on the things to improve on the next classes.

Feedback from participants –

  • go little slow
  • more basics and examples
  • first week , explain programming basics for beginners
  • teach flow charting methods for basics.
  • try teaching scratch
  • weekend sessions batch
  • make more conversations by participants
  • make sub groups
  • get cheerleaders within the team to make the classes interactive
  • more promotion needed
  • give better examples
  • more QA sessions are required
  • each one should talk
  • showing face in video can help to get some personal connections.
  • run mini hackathons
  • make more interactions and connections between the participants
  • ask to write blogs daily
  • encourage to give talks in class and other communities

Few more learning’s

  • Don’t create whatsapp group for communications. It has 1024 members limit. Having multiple groups is a headache.
  • Telegram is fine for now. Try to explore mailing list too.
  • Mute the groups, if required, to avoid “hi,hello,good morning” messages.
  • Teach how to join for mailing list like chennaipy, kanchilug and how to ask in forums like https://forums.tamillinuxcommunity.org/
  • Teach how to create a free blog in dev.to or wordpress.com
  • Don’t spend much time on explaining all the things in the language. In 5th or 6th class, they have to write code for a small project. Explain things as solutions for the project ideas or problem statements.
  • Insist on using names when calling people, always. By habit, people will call as sir/madam. avoid that on any technical discussions. We all are equal.
  • Zoom is costly. Even though we invest time on training and money for zoom, only around 50 people will complete the training. Check for other platforms like jitsi or google meet too.

Will try to implement these in our upcoming classes.

If you are interested in teaching any open source technology in tamil, write to us at KaniyamFoundation@gmail.com It can be some 30 min talk or few months trainings.

Thanks for all people who are spreading the knowledge openly. you are the backbone of the life.

Links

All the training videos are here – https://www.youtube.com/watch?v=lQquVptFreE&list=PLiutOxBS1Mizte0ehfMrRKHSIQcCImwHL

Telegram Group – https://t.me/parottasalna

My slides in introduction to python – https://kaniyam.cloudns.nz/python-tips/python-tips.pdf

350 python tips – https://kaniyam.cloudns.nz/python-tips/python-tips.pdf

Syed’s website – https://parottasalna.com/

All our blog posts – https://blogs.kaniyam.cloudns.nz

Closing notes on 2 months online python course

The past 2 months went with weekly 3 python classes in Tamil, from Kaniyam Foundation

We got around 3500 participants in 3 whatsapp groups. Initial days went with some 1000+ students.

As the classes are in Tamil, live streamed, many participants started to learn easily.

We asked to learn, take notes, write blog daily. Many of them started to write. You can see them all here – https://blogs.kaniyam.cloudns.nz/

I hope minimum 20 students learned python very well.

The project demo days at final weeks proved that within 2 months, anyone can learn python programming and do good projects. All we need is dedicated learning and practicing.

I thank Syed Jafer, who trained us in a easy way. Thanks to all participants for great enthusiasm and hard work on learning.

I got opportunity to handle few classes and few QA sessions. Enjoyed every discussions with the team. Happy to see the progress and read all your blog posts daily. Continue the learning and writing. It is a life long process.

Special Thanks to my ilugc friend Asokan. He is a trainer for 20+ years. He taught python around 2005 in our Chennai Linux Users Group meetings. Happy to learn again from him, on his special training sessions.

On our discussions, he explained how to train python for beginners. Learned on he importance of more good examples, how to explain basics etc.

We all wondered on various methods to solve the fizz buzz problem and the beauty of functional programming.

Thanks for Asokan for mentoring us and TalentSprint.com for providing Zoom for the classes.

The feedback session was interesting. Captured the notes here on the things to improve on the next classes.

Feedback from participants –

  • go little slow
  • more basics and examples
  • first week , explain programming basics for beginners
  • teach flow charting methods for basics.
  • try teaching scratch
  • weekend sessions batch
  • make more conversations by participants
  • make sub groups
  • get cheerleaders within the team to make the classes interactive
  • more promotion needed
  • give better examples
  • more QA sessions are required
  • each one should talk
  • showing face in video can help to get some personal connections.
  • run mini hackathons
  • make more interactions and connections between the participants
  • ask to write blogs daily
  • encourage to give talks in class and other communities

Few more learning’s

  • Don’t create whatsapp group for communications. It has 1024 members limit. Having multiple groups is a headache.
  • Telegram is fine for now. Try to explore mailing list too.
  • Mute the groups, if required, to avoid “hi,hello,good morning” messages.
  • Teach how to join for mailing list like chennaipy, kanchilug and how to ask in forums like https://forums.tamillinuxcommunity.org/
  • Teach how to create a free blog in dev.to or wordpress.com
  • Don’t spend much time on explaining all the things in the language. In 5th or 6th class, they have to write code for a small project. Explain things as solutions for the project ideas or problem statements.
  • Insist on using names when calling people, always. By habit, people will call as sir/madam. avoid that on any technical discussions. We all are equal.
  • Zoom is costly. Even though we invest time on training and money for zoom, only around 50 people will complete the training. Check for other platforms like jitsi or google meet too.

Will try to implement these in our upcoming classes.

If you are interested in teaching any open source technology in tamil, write to us at KaniyamFoundation@gmail.com It can be some 30 min talk or few months trainings.

Thanks for all people who are spreading the knowledge openly. you are the backbone of the life.

Links

All the training videos are here – https://www.youtube.com/watch?v=lQquVptFreE&list=PLiutOxBS1Mizte0ehfMrRKHSIQcCImwHL

Telegram Group – https://t.me/parottasalna

My slides in introduction to python – https://kaniyam.cloudns.nz/python-tips/python-tips.pdf

350 python tips – https://kaniyam.cloudns.nz/python-tips/python-tips.pdf

Syed’s website – https://parottasalna.com/

All our blog posts – https://blogs.kaniyam.cloudns.nz

பைத்தான் பயிற்சி வகுப்பின் மூலம் விளையாட்டு நிரல் எழுத முடிந்து

கணியம் அறக்கட்டளை ஏற்பாடு செய்த பைத்தான் பயிற்சி வகுப்பின் மூலம் தொல்காப்பிய மெய்ம்மயக்கத்திற்கு ஒரு விளையாட்டு நிரல் எழுத முடிந்தது. அது இன்னும் ஊக்கத்தை அளித்தது. பயிற்றுநர் செய்யது சாபர் அவர்கள் நன்றிக்குரியவர்.
from meymayakkamfinal1 import *

print ("மெய்ம்மயக்கம் விளையாட்டை விளையாடலாமா")
print ("மெய்ம்மயக்க விளையாட்டை விளையாடப் படிநிலைகளுள் ஒன்றைத் தெரிவுசெய்க")

படிநிலைகள் = [
"1. க்+க",
"2. ங்+கங",
"3. ச்+ச",
"4. ஞ்+சஞய",
"5. ட்+கசடப",
"6. ண்+கசஞடணபமயவ",
"7. த்+த",
"8. ந்+தநய",
"9. ப்+ப",
"10. ம்+பமயவ",
"11. ய்+கசதபஞநமயவங",
"12. ர்+கசதபஞநமயவங",
"13. ழ்+கசதபஞநமயவங",
"14. வ்+வ",
"15. ல்+கசபலயவ",
"16. ள்+கசபளயவ",
"17. ற்+கசபற",
"18. ன்+கசஞபமயவறன",
"19. ர, ழ குற்று ஒற்று ஆகா"
]

print (படிநிலைகள் )

விதிகள் = [meymayakkam1, meymayakkam2, meymayakkam3, meymayakkam4, meymayakkam5, meymayakkam6, meymayakkam7, meymayakkam8, meymayakkam9, meymayakkam10, meymayakkam11, meymayakkam12, meymayakkam13, meymayakkam14, meymayakkam15, meymayakkam16, meymayakkam17, meymayakkam18, meymayakkam19]

விளையாடும்_களமுறை = 5

while விளையாடும்களமுறை > 0:
விளையாடும்
களமுறை = விளையாடும்_களமுறை - 1

தெரிவுசெய் = input("விளையாடும் விதியைத் தெரிவுசெய் : ")
print (தெரிவுசெய் )
உள்ளீட்டுச்சொல் = input("ஒரு சொல்லைத் தருக : ")

if தெரிவுசெய் == "1" and meymayakkam1(உள்ளீட்டுச்சொல்):
        print ("மெய்ம்மயக்க விதி1இன்படி சரியான சொல்")
elif தெரிவுசெய் == "2" and meymayakkam2(உள்ளீட்டுச்சொல்):
        print ("மெய்ம்மயக்க விதி2இன்படி சரியான சொல்")
else:
    print ("மெய்ம்மயக்க விதிகளின்படி இது தவறான சொல். மீண்டும் விளையாடுங்கள்.")

பைத்தானுடன் எனது அறிமுகம்

08-07-2027

வணக்கம் நண்பர்களே,

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

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

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

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

என்னாலும் இன்னும் யார் வேண்டுமானாலும் கணினி அறிவை கற்க மேம்படுத்த இந்த கணியன் 100% உதவும் என்பதை நினைந்து பெருமையோடு மகிழ்கிறேன்.

வாழ்க தமிழ்.
வளர்க கணியம்.

Python Introduction Course with Kaniyam

Day1

  1. Introduction to Python and its usages
  2. How to install python in windows, Linux and MacOS
  3. How to raise questions
  4. How to check python version
    • Open python console and type python
  5. Install visual studio code and run python file using Terminal window
  6. Run the first print command.
  7. Oversall - Walk through from Saeed is excellent.
  8. FOSS introduction from Shrini also a brilliant and the journey his team came along is really a remarkable one.

Day2

  1. Recap first day lesson.
  2. Print function general introduction.
  3. How to use sep and end parameters.
  4. How to use format and concatenate in print function.
  5. How to use variable.
❌