Me?

I am an ordinary Python programmer with a bachelor’s degree and no major factory experience.

I majored in computer science, but after four years of Dota, I found myself starving to death with no skills. I came across Python and realized how easy it is to program! After a few months of self-education, he became a Pythoner, and was able to earn his own living. The next step was to realize his dream with his own hands.

At the time, I was lucky I didn’t create bugs with my programming skills. Talk about how to achieve their grand cause, simply began to cover the ‘beat money’, ‘upgrade’. When I got stuck, I turned to the Internet for help, and then I found that a lot of big bulls were ‘preaching skills’ on a place called GitHub. With the mentality of looking for free money, I registered an account.

When I saw it for the first time, I did not realize its charm at all: “language barrier”, “high cold”, remote. After a few visits, I gradually began to understand what this website is, which is a platform for sharing (hosting) open source projects, where others upload their code for others to use, and users can also submit code to help fix bugs for these projects. At the beginning, I just hung around and looked around. Although I could not understand a lot of things, I knew that people gather by groups and things by groups. The platform that big ox mixes, smudge light also is extremely good.

It’s like watching a video game, and when you watch it for a long time, you start itching to play it, and then I learned How to do It. Programming things on this point is good, the principle of what all don’t understand can also line, follow the tutorial a letter a letter input complete, as long as there is no copy wrong, you can run successfully, to achieve the results you expect.

When I can open this’ game ‘and not play it in a decent way, I am sorry for the time I spent learning Git. Then I started to upload my own things to GitHub, which were all simple and trivial things. For example, when I was learning Python, I uploaded my own demo code to GitHub, so that I could familiarize myself with Git commands even if no one could read them. Then I would spend some time to browse other people’s projects every day, and I would collect good projects when I found them. Every day I was in a state of light: this tutorial is great, this tool is cool, how he implemented this feature, this… This… The head of the big bull is really ugly.

πŸ‘ΆπŸ» Hello GitHub

HelloGitHub

At this point GitHub for me is a look very delicious, but do not know where to eat the cake 🍰, swallowed saliva.

In the process of hanging out on it, I unknowingly collected more than 10 items that I thought were fun. I wondered if there was anyone out there who didn’t know about these projects, who didn’t know about this amazing platform that we see every day. Plus I have a bad memory, I need to find a place to write it down, if I’m lucky enough to collect items that help people like me, it’s really give me five βœ‹.

With this in mind, I created the HelloGitHub open source project on GitHub in May 2016. It’s just a fun, starting, open source project shared on GitHub, without a line of code. The first sentence of the output of learning a programming language is usually ‘Hello World’. Hello GitHub is intended to convey the message that open source is friendly to beginners.

Then I made my first COMMIT and published my first monthly issue.

I didn’t get any comments or star posts on GitHub at first, and I don’t know how many people saw my project. A month later, I unexpectedly got about 20 stars. I was so happy that I said, “Oh, that’s great. I write projects that people read and care about. Get started. “

Then I regularly spend an hour on GitHub every day. In the evening, I summarize some learning experiences and post them to my blog (Blogpark). I am especially grateful to the friends who left comments under my first monthly. They are really friendly to newbies, encouraging and praising them. Of course, there are also directed at my beauty head to πŸ™ˆ, the following head is Piao Xinhui, not me!

It was these encouraging comments and star that eventually decided to issue a monthly issue on the 28th of every month, because it happens on the 28th of every month whether it’s a leap year or not, so there was no excuse for not issuing a monthly issue. The following screenshot is a reader of blog Park – Ma SAN young man, he will comment and support HelloGitHub monthly from the first issue almost every issue, so I once thought he was a robot πŸ€ͺ

First line of code

After I wrote issue 01, I thought I should write a template, beginning and ending. At least I’m a programmer, and repetitive tasks should be solved by programming. Then I wrote a script to generate the monthly content. In fact, the beginning and end of each issue were fixed. I wrote the content of each issue according to the fixed format and ran the script to generate the final monthly. Here is my template:

Interest is the best teacher, and HelloGitHub is to help you find interest! The introduction of XXXX was just some simple and easy-to-understand projects with Chinese introduction collected during my browsing on Github. Later I thought, if every Github has a simple effect picture, or some simple (Chinese introduction). That should make it easier for a novice like me to accept. Therefore, I want to create a monthly github monthly for novices. The monthly content mainly includes: Chinese projects, a few English projects, translated books and tutorials. The easier the project, the better it looks, the cooler the better! Mainly hands-on use, I think this will help improve programming ability. The project HelloGithub Monthly was born! πŸ˜„ content: Bala bar la la la la la la la la statement XXXCopy the code

And then issue 02 started being scripted, and I felt like I had screwed myself up. The script was so difficult to use that it took longer to modify and debug the script than to write the monthly 😒! But their own written procedures, tears also want to use.

Automatically collect project scripts

So I kept updating every month. The 3rd issue updated the template of the next issue, and it was about this time that the number of star broke 100. 🀩

Gradually, I found that I could understand more and more projects, so the number of recommended projects can be maintained at about 10. Later, some people also left comments below the article to recommend projects to me, but it was not very convenient to deal with.

I just want to accept the interesting projects found by other friends through issues. I added that I can recommend projects to me through issues. In fact, this function should be used to mention bugs πŸ˜‚. This is the first person who recommended an item to me via Issues — Zhbzz2007:

However, few projects are recommended, because more than 10 projects are recommended in each issue. I spend part of my time to collect and sort out the projects every day. I wonder if you can collect the projects every day and then send me an email. This way you don’t have to poll to see the GitHub home page (on the one hand, it’s too much work). Then I wrote a daily summary of the big bull STAR I follow, and then sent an email to me. So I’m free again, I can fish (low key, low key)

In the fifth issue, a friend helped me make my first monthly cover:

For the first year, I made my own website

Before you know it, maintaining HelloGitHub has reached its first year, and the monthly has also come to its 12th issue. The number of stars of the project unexpectedly exceeded thousands. At that time, I thought it would take 2 years for the project to have 1K stars. After excitement, I began to worry about how to maintain and edit the project in the future

Because the data was still maintained through documentation at that time, I sometimes didn’t know if the new items I collected were previously recommended. That’s when my Web development skills lit up! At that time, I did module development under the projects built by others. I use Tornado for my work, but I don’t write it, I use the Flask framework I didn’t use before. Because it’s small enough, that means I need to develop a Web project from scratch, ORM choice, middleware choice, project structure, etc.

This project is partly for my editing convenience and partly for me to practice developing a Web site from scratch. The website is divided into the front desk to display monthly, and the back desk to edit and manage the project. I don’t know what to play chicken blood status and feeling, I will remember to work during the day, night work to write their own websites, sometimes hear the birds singing in the morning, I write this, sometimes a looked up and found that it is day, and want to function and implementation method of too excited, lead to can’t sleep, can not sleep just get up and write code.

I discovered that I really loved writing code, writing my own code.

It took me about two weeks to complete the functionality of the website. Flask + peewee, jQuery + Flask template (Jinja), CSS write I am going crazy I really can’t write front-end.

I bought a domain name and server during the period. I went to deal with the procedures for putting on record at that time. The backup was to take photos. I tried not to laugh during the photo shoot, thinking the site would be up and running. But later found that the processing speed is really not as fast as I opened. After about a month of waiting for the domain name registration to be completed and the server to be deployed, my website went live at 18:44 on June 15, 2017 — hellogithub.com. I also took a photo with my website to commemorate my appearance, and here’s what the first version of my website looked like:

After I went online, I had very little access. It may be deployed on my foreign server, and the access speed is too slow. I migrated to the home, and spent a sum of money πŸ’°. Then I went on to publish a monthly magazine and promote my website in it.

The junior

Later, I open source the source code of the website to GitHub. Although the code is not good, there are also some people’s encouraging star, which makes me very encouraged. The number of visits steadily increased. From the very beginning, I only published and Debug myself, and there was basically no traffic. To later a month can have nearly 10 thousand visits, let however have a large part or robot πŸ˜„, but I am also very happy, at least someone visited.

Because I’m really bad at front-end writing, someone contacted me about creating HelloGitHub together. We developed the collection function on the website together, easy for users to collect and view. And then I forgot why, and he dropped out.

After that, for a period of time, every time the project was released, there was not much attention and it was in a steady rise stage. At this time I also wanted to give up, feel a little boring. For the maintainer of an open source project, feedback from users and concerns is extremely important to prove that his efforts have not been wasted.

I told myself: now that I’ve developed my own website, I don’t want my writing to go unused. In addition, some people have already paid attention to my project. For example, Ma SAN, I can’t just be a eunuch. I have to keep doing it. In addition, when I look at the current popular open source projects, most of them are built up bit by bit. It takes five or ten years to be recognized, known and used. They started out doing it quietly, like maintaining their own little garden. When the fruit does blossom and bear fruit, even if the fruit is small and not as good or as big as you can buy, you can’t buy the taste.

Maybe the hardest thing about open source is to stick to it!

Change is what motivates you. I had been a passive recruiting column manager, and then I came across this guy’s blog by chance. I thought he must be a frontend, and I was going to pull him in to save me from writing frontend. Later, he became the first person in charge of THE COLUMN of HG, in charge of JS column — Little Monkey. We published the column together, thought of various ways to improve the popularity of our project and brainstormed.

Whenever I talk about the HelloGitHub project with my friends, I will tell others that Little Monkey is an important person to me and the project. We share weal and woe together. And of course, Thor, who always has a “bring tea to the big guy” emoji, is in charge of the Go column. He is just as creepy as his wechat profile picture.

Of course, there is our designer Yuan Ge, he designed the Logo of HelloGitHub, professional is not the same:

Together, we have restored HelloGitHub’s vitality and strength to move forward.

People are on the road all their lives, and some people get separated as they walk. Some people fight side by side as they walk.

The next year, confidence was high

It really proves the slogan: “More people make more power”. Based on our persistent publication, more projects are recommended under the condition of quality assurance, and the participation of the column leaders enrichis the project contents.

Thus HelloGitHub ushered in the first rapid growth and a lot of attention. By the second anniversary of HelloGitHub in March 2018, the number of stars of the project increased by 3k. GitHub Trend home page and Python category ranked top for three consecutive days; 300 stars a day, my entire home page filled up with star information and went down several pages; HelloGitHub project has 4k stars and HelloGitHub monthly series of blog posts has 40,000 views.

At the end of 2017, I encountered many challenges in my work. We needed to refactor a very old project that had really bad code, no documentation, and nearly 60,000 lines of code. The part I worked on, and the Refactoring of the Java project into Python, I didn’t even remember the basic syntax of Java at the time, but we (the two of us in the end) ate through the project.

It was only then that I really realized how much I had developed while working on HelloGitHub: At the time of screening project, I am reading the code ability has been greatly improved, the structure of project and understanding ability promote much more special, coding and hands-on ability, the ability of learning new technology, let I to source without fear, I also can find the use of third-party libraries by reading the source code problems and solutions. These are all things THAT I have accumulated bit by bit in collecting projects and developing websites, and then benefited a lot from working on them and being able to take responsibility for them.

A thousand miles is a short step.

Third year, new height, set sail again

This year, I joined many new partners: Xibin, Xiaofei, Xiaoji, Xiaozhu’s feet and A Long, responsible for the project screening and issues management of corresponding columns. Developed the review standard of the recommended project, the whole process of the column. Opened zhihu column, the historical content migrated to the column, the new content will also be synchronized up.

As the number of users increases, I want to give them a better reading experience. Then the functionality of the site was added: search, bulletin boards, RSS, language leaderboards, database leaderboards, server leaderboards, API services, and now we have nearly 100,000 PV per month.

Cooperated with D2 open source organization to develop chrome plug-in for recommended projects, learning from each other and making progress together. The weekly that every period synchronism recommends ruan yifeng teacher, but collect not collect the mood that wants to see a teacher πŸ˜….

Based on the above efforts and the recommendation of the cooperation organization, HelloGitHub project also welcomed the highlight moment and the cliff growth. This year, it increased by 8K star and became a project with 10,000 stars:

I had no idea when I started this project that it would get to where it is today. It was just an open source project for GitHub to recommend starting, interesting open source projects, and I started it as a way to collect interesting and understandable projects for myself. At the same time, HelloGitHub is always urging me to grow and solve efficiency problems with programs.

In this process, I realized more deeply that programming is a way to solve practical problems, which will make the work flow more smooth and convenient.

Yes, I created HelloGitHub, but I’m just a Python programmer with a bachelor’s degree and no big factory experience. It’s not hard to do open source projects. A regular programmer like me can do it, and so can you! HelloGitHub is still on the way, join us or start your own project.

The best time to plant a tree was ten years ago, followed by now.

In the future

We hope that HelloGitHub project can become a bridge of communication between open source project sponsors and users in the future, and the communication and interaction of monthly readers will be increased in the future. At the same time, let more people know HelloGitHub project, so that open source information more convenient to the hands of programmers.

Let the developers walking on the road of open source no longer lonely, let the people who want to enter the open source world no longer afraid.

This is the vision and direction of our HelloGithub-Team, as long as we advance, we will climb to a higher peak and see a more beautiful scenery. There will be difficulties and wrong turns along the way, but fear does not make people grow. Join the open source world and you will definitely be stronger, and you will feel a sense of discovery every day.

The road ahead is long, I see no end, we will search high and low.

The last

This is my story with HelloGitHub, to be continued… (Next time it will not be updated for several years, so you need to scan the following QR code to follow the latest news and articles of HelloGitHub, scan it and move forward with us 😁)

Every attention, message, reprint, like is the biggest encouragement and affirmation of us!

thanks

Thank you to GitHub contributors and project sponsors for making the world a better place.

Thanks to the list of contributors who recommended projects to HG, your excellent projects have been discovered by more people.

Thank you for your comments, likes, stars and retweets. You are the driving force behind the maintenance of HelloGitHub.

Finally, the platform below documents every stage of HelloGitHub’s growth. Special thanks to GitHub, Blogpark, Nuggets, Jike and V2EX, which provide excellent programmer community and communication platform, HG can get more exposure and help more people on the basis of platform.

  • GitHub
  • Blog garden
  • The Denver nuggets
  • immediate
  • V2EX
  • weibo