Ruby-VN hardcore rule
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.
-
- 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
-
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.
-
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?
- take a look at http://cseweb.ucsd.edu/~wgg/CSE210/howtoread.html
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.