Giter VIP home page Giter VIP logo

hardcore-rule's Introduction

Ruby-VN hardcore rule

hard-thing

Why

To improve ourself, we need a space for everyone research/discuss about things that is hard, and not normally able to face in everyday work. As you can see in above image, hard things's value is much more than easy things. You only live once, so why bother doing things that anybody can do????

Hardthings vary from people to people, but as long-time member of ruby-vn, I think the below list is suitable for us right now. You can make a PR for things that you think is suitable:

  • Math
  • OS/Kernel
  • Compiler/Parser
  • Category theory
  • Hardware stuffs
  • Functional programming (with deep theory, not just first class function or pure function)
  • Algorithm in depth (not just some simple and well-known like sorting..)
  • Machine learning, statistics, data science
  • Theory stuffs: distributed programming, database theory, ...

Rules

Big idea

  • Everyone MUST contribute (No just-see , no-talk style). Guide to contribute will be listed below

  • Everyone MUST talk/share/discuss about HARD things (which list above) only.

    • Define HARD things is HARD too…, so I give some examples to give you an image.. you should have sense to know what you should talk about
      • NG: nodejs is fast, i want to code a website with nodejs .

      • OK: nodejs v8 use xxx algorithm to make it fast, it employed kernel in YYY way. cite with ZZZ paper

      • NG: do you know about MVC?

      • OK: onion architecture is a good idea because of it’s cited in XXX paper and YYY paper

      • NG: is javascript functional programming?

      • OK: I’ve read paper about Monad and implementation of it in javascript, let’s take a look.

  • Every dicussion MUST be in depth. There must not conversations like: I've read an article about mysql internal and is cool!. You should write indepth that: what is cool, to prove that you read the article throughout.

  • No chit-chat, no

  • Recommended to share well-known source only (paper, well-known book)

  • If you can suprise people by things that almost of them not know about, you're truely hardcore member!!!!

Contribute guide:

  • Everyone must share at least what you’re going to learn every week (share your goal!)

  • Everyone must share how you progress at it everyweek (share your progress!)

    • It’s great if you can output some where (code, blog, talk…)
  • When you share something, you MUST have in-depth comments of your shared articles.

  • When you register a new topic for a week, you must get votes from another, to make sure that what you choose fit to hardcore spirit

  • If you're too busy, you can skip for one or two weeks, but in a month, you MUST register at least 2 topics.

  • When you register a topic and fail to deliver that you MUST pay 10$. This money will be used to purchase ACM account for paper reading purpose.

  • Contact @huydx to join room

  • You scare to join

    • me too, so there's no need to scare :)
  • You don't know how to read a paper?

Events

Algorithm week (stopped)

We predically organize internal some events to training algorithm (just for fun, and for profit), for 4th weeks of every month. The rule is as follow:

  • For algorithm week, we will set for 2 rounds, each round will contain 3 problems range from easy to hard
  • After finishing each round, we will discuss to find what we learnt from those problems.

hardcore-rule's People

Contributors

0x2c7 avatar danhuynhdev avatar dautroc avatar duythinht avatar dzungdev avatar hieuk09 avatar hieutm211 avatar huydx avatar huytd avatar huyvohcmc avatar ldhnam avatar ledongthuc avatar linxgnu avatar longkt90 avatar lpvcpp avatar namtx avatar nhantv94 avatar philuu265 avatar ppthong avatar qcam avatar rubikill avatar runivn avatar tamnd avatar thupv avatar trietphm avatar trongbq avatar unrealhoang avatar vienvu89 avatar viethnguyen avatar vthang95 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hardcore-rule's Issues

[2021] Algorithm weekly report

Every week, we pick algorithm problems to solve and post them to this ticket.
At 00:00 on Sunday (VN time), we run an automation tool to merge solution PRs and collect scores. The score report will follow the problems.

Mapping of GitHub account and slack account is defined in https://github.com/ruby-vietnam/hardcore-rule/blob/master/algorithms/PARTICIPANTS.md

The source code of the automation tool is in https://github.com/ruby-vietnam/hardcore-rule/tree/master/algorithms/collector

Mapping of problem's level and the score is defined in this issue content.

Weekly problems are posted in this issue follow the format:

Weekly Problem: Season x - Week y

<Level>: <URL>
Easy: https://leetcode.com/problems/two-sum/
Medium: https://leetcode.com/problems/generate-parentheses/

Level - Score mapping:

*** Score mapping ***
Easy: 1
Medium: 2
Hard: 3
*** End score mapping ***

[2022] Algorithm weekly report

Every week, we pick algorithm problems to solve and post them to this ticket.
At 00:00 on Sunday (VN time), we run an automation tool to merge solution PRs and collect scores. The score report will follow the problems.

Mapping of GitHub account and slack account is defined in https://github.com/ruby-vietnam/hardcore-rule/blob/master/algorithms/PARTICIPANTS.md

The source code of the automation tool is in https://github.com/ruby-vietnam/hardcore-rule/tree/master/algorithms/collector

Mapping of problem's level and the score is defined in this issue content.

Weekly problems are posted in this issue follow the format:

Weekly Problem: Season x - Week y

<Level>: <URL>
Easy: https://leetcode.com/problems/two-sum/
Medium: https://leetcode.com/problems/generate-parentheses/

Level - Score mapping:

*** Score mapping ***
Easy: 1
Medium: 2
Hard: 3
*** End score mapping ***

Last year report: #1408

[AlgoCollector] Improve weekly problems comment picking

Source code: https://github.com/ruby-vietnam/hardcore-rule/tree/master/algorithms/collector

Background

  • Algorithm collector access Algorithm weekly report page to get "Weekly problems". It always expects the latest comment on the page as the latest problems of the current week.

Problems

  • Sometimes, we have to discuss or add comments on Algorithm weekly report page that makes the latest comment on the page is not the latest problems comment.

Proposal

  • When checking comments of Algorithm weekly report page, we check starting pattern "Weekly problem:" as first problems posts and assume it's problem's comments.
  • Algorithm collector use the latest comment that starts with "Weekly problem:" and expect it as the latest problems comment. Other comments without starting of "Weekly problem:", we skip it.
  • Trim space/tab to avoid typing problems.
  • Allows custom starting problem patterns from the variable environments. Default is "Weekly problem:"

[AlgoCollector] Testing mode

Source code: https://github.com/ruby-vietnam/hardcore-rule/tree/master/algorithms/collector

Background

  • When starting the algorithm collector, it merges pull requests and add a comment to the weekly report page

Problems

  • Sometimes, we need to test or verify features that we only want to check pull request scores and review final comments without merging or add any real comments.

Proposal

  • Add a variable environment to declare testing mode, suggestion: DEBUG_MODE
  • When DEBUG_MODE=true, the algorithm collector won't merge and delete any pull requests and add comments to the weekly report page
  • Other functions to calculate scores, printing debug console work normally.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.