❌

Normal view

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

Minimal Typing Practice Application in Python

By: krishna
30 January 2025 at 09:40

Introduction

This is a Python-based single-file application designed for typing practice. It provides a simple interface to improve typing accuracy and speed. Over time, this minimal program has gradually increased my typing skill.

What I Learned from This Project

  • 2D Array Validation
    I first simply used a 1D array to store user input, but I noticed some issues. After implementing a 2D array, I understood why the 2D array was more appropriate for handling user inputs.
  • Tkinter
    I wanted to visually see and update correct, wrong, and incomplete typing inputs, but I didn’t know how to implement it in the terminal. So, I used a simple Tkinter gui window

Run This Program

It depends on the following applications:

  • Python 3
  • python3-tk

Installation Command on Debian-Based Systems

sudo apt install python3 python3-tk

Clone repository and run program

git clone https://github.com/github-CS-krishna/TerminalTyping
cd TerminalTyping
python3 terminalType.py

Links

For more details, refer to the README documentation on GitHub.

This will help you understand how to use it.

source code(github)

Build a Product Rental App in Node.js

By: krishna
29 January 2025 at 10:47

Introduction

I created a website called Vinmeen that allows users to rent products for temporary needs at a low cost. The goal was to design a simple UI for users to easily rent things they need temporarily.

Technologies Used

  • Node.js & Express
  • Node Packages
    • Express
    • EJS
    • Nodemailer
    • Bcrypt
    • Multer
    • Sync-SQL
    • MySQL
  • MySQL

What I Learned from This Project

This project helped me understand how dynamic websites work and how template rendering is done. I used EJS for rendering templates, MySQL for database handling, and Bcrypt for securely storing user passwords through hashing. I also learned how to send email notifications with OTP and rent requests, among other things.

Hosting

I hosted the site using two different services

Website Hosting – Render.com

Render provides free hosting for experimentation and student projects. This plan has minimal resources, but it’s great for learning and testing.

MySQL Database – Filess.io:

Files.io offers a free MySQL database with a 10MB size limit and a maximum of 5 concurrent connections. It’s ideal for students and self-study projects, but not recommended for startups or businesses.

Links

Understanding Proprietary and Open Source Software

8 July 2024 at 18:26

Introduction:

Software plays a crucial role in our daily lives, but not all software is the same. There are two main types: proprietary software and open source software. Each has its own characteristics, benefits, and limitations. This blog will explain what these types of software are, their differences, and why they matter.

Image description

Proprietary Software:
Proprietary software is software that is only available to selected users. Users get this software in a ready-to-use format called binary form. They do not have access to the source code, which is the code written by programmers that makes the software work. Only the owner, or proprietor, of the software can fix issues, provide updates, and offer support.

Image description

There are many limitations for users of proprietary software:

Users cannot share the software with others.
Users cannot modify or change the software to suit their needs.
Examples of proprietary software include Microsoft Windows and Adobe Photoshop. These programs often come with good support and regular updates, but users have less freedom to customize or share them.

Open Source Software
Open source software is different because it is available for free and users have access to the source code. This means anyone can see how the software works, make changes to it, and share it with others. Open source software is not just for use; it encourages users to study, modify, and improve it.
Image description
Benefits of opensource software include:

*Fewer errors because many people can find and fix bugs.
*Diverse ideas and contributions from a wide community.
*Faster development and more stable products.
*Openness to new changes and improvements from the community.
*The General Public License (GPL) provides four key freedoms to users:

Use the software for any purpose.
*Study and modify the software.
*Distribute the original software.
*Distribute modified versions of the software.

Open source software emphasizes software freedom. It believes that software, which is a mix of knowledge and science, should be open and accessible to all humans, not owned by one person or organization.

Opportunities for Monetization
While open source software is free, there are still ways to make money from it:

*Providing services for the software, such as installation or customization.
*Offering online or offline support and charging for it.
*Charging for customizations made to the open source software.

History of GNU/Linux

The history of open source software is rich and interesting. Richard M. Stallman (RMS) started the movement for software freedom in the 1980s while working at the MIT AI Lab. He created the GNU Project, which stands for "GNU's Not Unix," to ensure the four software freedoms.
The GNU Project began with tools like compilers, editors, languages, network tools, servers, databases, and more. Andrew S. Tanenbaum wrote a book on operating systems design that inspired Linus Torvalds to create the Linux kernel, combining it with GNU tools to form what we now call GNU/Linux.

Conclusion
Understanding the differences between proprietary and open source software helps us appreciate the choices we have. Proprietary software offers controlled, supported environments, while open source software offers freedom, collaboration, and continuous improvement. Both have their place in the world of technology, and knowing their strengths and weaknesses allows us to make better decisions for our software needs.

Call to Action
Feel free to share your thoughts on proprietary vs. open source software in the comments below. If you found this blog helpful, share it with others to spread the knowledge!

Author Bio
Jayaram is a materials researcher with a passion for exploring different types of software. Jayaram is especially interested in how open source software can be used for materials discovery and materials-based data science, pushing the boundaries of innovation and collaboration in these fields.

Reference:

Image description

❌
❌