Cheuk Ting Ho

@cheukting_ho

Cheukting

Running An Open Source Project Like A Start-Up

About me

Co-organizer of 

Open Source contribution

Creator of

Volenteer of

I was a bit crazy...

This is the story of how I become a:

 

  • Developer
  • Marketing Person
  • Project Manager
     

For FREE!

Start with a Good Idea...?

I think it's a good idea

  • Scikit-learn have similar methods for they models
     
  • Have attempted to perform stacking form scretch
     
  • Can I make it easier?
     
  • Like Keras to TensorFlow

Footnote on stacking

Stacking is an ensemble learning technique that combines multiple classification or regression models via a meta-classifier or a meta-regressor.

The base level models are trained based on a complete training set, then the meta-model is trained on the outputs of the base level model as features.

https://blog.statsbot.co/ensemble-learning-d1dcd548e936

I want it to...

  • be on PyPI, which means people can pip install it
     
  • have CICD test on GitHub, using Travis (now also so coverage by using a script)
     
  • well documented, using read the doc
     
  • easiest way, cookiecutter for the win

I become a developer... for FREE

Testing is as important as coding...

  • TDD... at least I tried
     
  • 99% coverage of testing
     
  • More testing than code
     
  • Make sure test are well named

Documentation is as important as coding...

  • Docstrings are a must
    (helpful to people coding on a plane)
     
  • Comments are also needed
     
  • More documentation (docstrings plus comments) than code
     
  • Also examples in read the doc and quick start quide

Good code itself is also important...

  • Refactoring many times to make it well structured
     
  • No ugly patching is allowed
     
  • People will see you code (open-source)
     
  • follow PEP8... at least I tried

I do marketing... for FREE

I need more noise!

  • Tell all my friends (social media)
     
  • Give lightning talks (elevator pitch)
     
  • Get a logo, make stickers and give it to people (I have some with me btw)
     
  • Recruit contributor via sprints
     
  • Hacktoberfest!

It really works!

TODO

  • More online presence (Medium post)
     
  • Even more online presence (talks and tutorials)
     
  • Community (slack?)
     
  • A network of contributors via mentorship program

I manage project... for FREE

Managing a project is harder than contributing to a project

  • Make it easy and obvious for others in issues
     
  • Lot's of communication and reviews
     
  • Be organized and prioritize (project boards)
     
  • Encouraging people and acknowledge free labour (AUTHORS.rst)
     
  • Lot's of LOVE 💕

But it is rewarding!

What I got...

  • Learn a lot in software development in practice
     
  • Made a lot of friends (my enthusiastic contributors!)
     
  • Be inspired 💡
     
  • Feel good about myself 🤗
    (become a BDFL)

Start yours now!

Join https://t.me/young_n_wonderful to connect to like minded people 🍻