emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Patch queue management systems


From: joakim
Subject: Re: Patch queue management systems
Date: Mon, 08 Dec 2014 23:54:14 +0100
User-agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/24.4.50 (gnu/linux)

Lars Magne Ingebrigtsen <address@hidden> writes:

> Eli Zaretskii <address@hidden> writes:
>
>> Personally, I think arranging the development around this kind of
>> process will not work without some critical mass of patch reviewers
>> who are able to endure the current constant high volume of changes,
>> let alone if we want to increase that volume.
>
> Perhaps we could attract more people by gamifying the Emacs development,
> a la Github.  That is, score people on bug closures and stuff.
>
> The winner each month could get a free copy of the Emacs sources.

I actually have a emacs gamification mode ive been meaning to upload
somewhere. It is very simple yet effective.

(define-minor-mode zen-reward-mode
  "type a lot and get a reward!."
  :global t
  :init-value nil
  :lighter nil
  :keymap nil
  :group 'zen

  (if zen-reward-mode
      (progn (add-hook 'pre-command-hook 'zen-reward-pre-command-hook)
             (add-hook 'org-after-todo-state-change-hook 
'zen-reward-todo-state-change-hook))
    (progn (remove-hook 'pre-command-hook 'zen-reward-pre-command-hook)
           (remove-hook 'org-after-todo-state-change-hook 
'zen-reward-todo-state-change-hook))))

(defvar  zen-reward-accumulator 0)

(defun zen-reward-todo-state-change-hook ()
  (message "todo hook %s %s" org-state (org-show-priority))
  ;;if you toggle a task back and forth you get super rich.
  ;;you get rewarded for CANCELLED also, but that is good!
  (if  (equal org-state "DONE")
      (progn
        (let ((reward (string-to-number (substring (org-show-priority) (length 
"Priority is ") ))))
          ;;priority A is 4001, B 3001 and so on. probably can be negative as 
well. so reward needs to be modified a bit
          (message "todo reward %d!" reward)
          (setq zen-reward-accumulator (+ reward zen-reward-accumulator) ))
))
  )
;testing. only get reward for typing, not for cursor movement and other things
(defun zen-reward-pre-command-hook ()
  "accumulate typing reward."
  (if (or (eq real-last-command 'self-insert-command)
          (eq real-last-command 'org-self-insert-command))
      (setq zen-reward-accumulator (1+ zen-reward-accumulator) ))
;;  (message "reward:%d %s %d" zen-reward-accumulator real-last-command 
(random))
)  
(defun zen-claim-reward ()
  "cash in your bountiful reward, spend it on fun and games!"
  (interactive )
  (message "reward:%d" zen-reward-accumulator)
  (setq zen-reward-accumulator 0))
(defun zen-inspect-reward ()
  "how soon can i afford fun and games?"
  (interactive )
  (message "zen reward:%d" zen-reward-accumulator)
)

;;
(zen-reward-mode)



-- 
Joakim Verona



reply via email to

[Prev in Thread] Current Thread [Next in Thread]