My (Raghuu') D's P's L's Js _ Day2 _ Git & GitHub(repo.) (2); Open Source (2); Other Developments (2).
Raghuu''s Daily's Programming's Learning's Journeys
Git(VCS) and GitHub(Repository) {2}
Open Source {2}
Other Developments {2}
Git(VCS) and GitHub(Repository) {2} _
Working with Git (2) :
( Continuing form "For example : git checkout -b < new-branch-name >
It will create a new branch at/from their by given name." these last lines of Day1 )
If someone wondering, whether there is a need of learning any programming language in order to be able to use the Git or GitHub. The answer is clear NO.
Then What is Git?
Git is a version control system which lets you track changes you make to your files over time.
Git is like a time travel machine, you can Age-Back any file If anything goes wrong with it.
You can also make a copy of your file, make changes to that copy, and then merge these changes to the original copy. {Naruto! right!}
You are not limited to using Git just for source code files – you can also use it to keep track of text files or even images. (Que: or of anything basically that has extension and is in folder ?)
Actually the development of Git has a unique history. and it is not just a Version Control System, but the Distributed Version Control System.
Evolution of Version Control: From CVS to Git
Early Version Control (1980s): Back in the 1980s, programmers managed their code manually or with basic tools like RCS (Revision Control System). While it allowed some level of version control, it was cumbersome and prone to errors.
Centralized Systems (1990s): Then came CVS (Concurrent Versions System) in the 1990s, which centralized code management. While it made collaboration easier, it had limitations. CVS struggled with handling concurrent changes from multiple developers, leading to conflicts and complexities.
Limitations of CVS: CVS had its struggles. It wasn't great at handling multiple versions of code simultaneously, and if the central server went down, work could come to a halt for everyone. Also, CVS lacked robust branching and merging capabilities, making it challenging to manage parallel development efforts.
Distributed Systems Emerge (Early 2000s): To solve these issues, a new approach emerged in the early 2000s. Distributed version control systems, like Git, changed the game. With Git, every developer had their own copy of the project's entire history on their computer. This not only ensured redundancy and resilience but also allowed for faster access to version history and easier branching and merging.
Birth of Git (2005): Git was born out of necessity. In 2005, Linus Torvalds needed a better way to manage the Linux kernel development, so he created Git. Git's distributed nature meant that developers could work offline, commit changes locally, and sync up later. This flexibility was a game-changer for distributed teams and those working in areas with unreliable internet connections.
Git's Impact: Git's approach revolutionized how teams collaborated on code. It wasn't just for big projects like Linux; even small teams and individual developers found Git invaluable. Today, it's hard to imagine software development without Git—it's become the backbone of version control, offering speed, flexibility, and robustness that traditional systems lacked.
Open Source {2} _
Introduction to Open Source (2) :
What is Open source ? (continue)
( continuing after "however, we will focus on the term “open source” as it applies to software projects." this last point of Day1 )
Every active open source software project has one or more maintainers.
maintainers : These individuals oversee the project and ensure that it is free from bugs and other issues. In essence, they are responsible for "maintaining" the project! Although they may dedicate their time to writing code for the project, their primary focus is on reviewing and coordinating contributions from others.
Contributers : The people who make those contributions are aptly called contributors. These are people who submit new code, documentation, or even bug reports to open source projects.
Contributors come from diverse backgrounds and their collaborative work is essential for the success and sustainability of open source initiatives.
Open source software projects can vary widely in terms of their scale and scope.
Some projects are managed and contributed to by a single individual, who takes on the responsibility of both maintaining and enhancing the project.
On the other hand, there are open source projects that boast a large community of over one thousand contributors!, working collaboratively to improve and evolve the software.
It is worth noting that many of the libraries and frameworks that are widely utilized by some of the largest companies in the world are open source.
For instance, React, which is a popular open source library for building user interfaces, is employed by major companies such as Twitter, Netflix, TikTok, Codecademy, etc. This demonstrates the widespread adoption and impact of open source software within the technology industry to start with.
So, how did the open source movement as we know it come to be?
Where did open source come from?
In the 1980s, there was a noticeable shift in the software industry towards creating proprietary software.
This trend raised concerns among software developers for several reasons.
Firstly, developers found it challenging to fix bugs in the software they were using, as they were unable to make the necessary changes themselves.
Instead, they had to wait for the software company to release a new version, which often took a long time.
This delay in bug fixes caused frustration and hindered the developers' ability to work efficiently.
Secondly, if a software company went out of business, developers faced the dilemma of either being stuck with outdated software or having to purchase new software from a different company.
This situation created a cycle of dependency on proprietary software and posed a risk to the continuity of the developers' work.
An example of this problem occurred at the Massachusetts Institute of Technology (MIT) in the 1980s. The researchers at MIT had studied operating systems on PDP-10 computers during the 1960s and 1970s. However, when these computers were discontinued in the early 1980s, MIT had to replace them with new computers that had different, proprietary operating systems. This transition rendered twenty years of the researchers' work obsolete, as they could no longer use the same operating system as before.
To address these challenges, researchers at MIT and the University of Helsinki initiated the development of the first open source operating systems, GNU and Linux. However, during this time, internet access was limited, so developers had to collaborate by physically sending each other tapes containing the source code.
Initially referred to as the "free software" movement, this initiative laid the foundation for what later became known as the "open source" movement.
The term "open source" was not coined until the late 1990s.
In 1998, the source code for the internet browser Netscape was made publicly available, marking a significant milestone in the open source movement.
Christine Peterson, an employee of Foresight Institute, is credited with proposing the term "open source," which has since become synonymous with the collaborative and transparent development of software.
Other Developments {2} _
Note Taking & Others (2) :
Rich text editors are what you typically find in word processors like Microsoft Word or Google Docs. They provide a WYSIWYG (What You See Is What You Get) interface, meaning you see the formatted text as you're editing it.
While using Rich editor (along with markdown in joplin), TLDR: Avoid using Markdown plugins if you primarily intend to use the Rich Text editor, and be aware of the editor's limitations.
Rich text editors offer a wide range of formatting options, including bold, italic, underline, font size, color, alignment, bullet points, etc. Users can format text visually by selecting options from toolbars or menus.
Rich text editors are generally more intuitive for users who are familiar with word processing software. They don't require knowledge of markup languages or coding.
Markdown was created as a way to write content for the web that can be easily converted to HTML.
Markdown is a lightweight markup language with plain-text formatting syntax. Markdown editors are designed for writing and formatting text using simple, human-readable syntax.
Markdown syntax uses special characters to indicate formatting, such as asterisks for emphasis (like this) and hashtags for headings. It allows users to focus on the content without getting distracted by formatting options. Markdown Guide (with Cheat Sheet)
Joplin's side by side Markdown and RichText editors makes it real easy to see and understand (learn) syntaxes in action.
Markdown documents are stored in plain text format, which is lightweight and easily readable even without specialized software. They can be converted to HTML or other formats for publishing on the web or sharing with others. (as mentioned earlier).
Markdown documents are more portable and can be easily shared and edited across different platforms and text editors. Rich text documents may encounter compatibility issues when transferred between different software applications.
That's it for today.
see you tomorrow.
TC. & Happy Learning and Earning!.