NEW: For a prettier blog interface, see the Wordpress version!

Tasks

ACPassword change (2004.11.05)
ACLevel-based menus (2004.11.05)
BCStudy Struts in Japanese (2004.12.28)
BCTranslate javadoc comment for LoginAction.java (2005.01.05)
BC20min Explain what is happening in UserModifyAction's nested ifs (nil)
BC30min Construct test cases that check for atomic commits (nil)
BC30min Document menu structure (nil)
BC2h Write Javadoc comments in English and Japanese to explain peer operations (nil)
BC10min Arrange the layout of user add page. Center the table in the page using css. Give a class name to each table. (nil)
BC20min Convert Links to Buttons in user_list.jsp (nil)
BC20min Should we keep the ActionMessages in Actions only or should they be left in the logic classes (nil)
BC30min Checking of rights and privileges. (nil)
BC15min,aris Character encoding. (nil)
BC30min,aris Remove error handler in UserModifySetupAction. Create an error handler in struts. As much as possible let struts handle error handling. (nil)
BC6h Write more documentation in Japanese (nil)
BC10min Update class diagram: Abstract Logic (nil)
BC5min Remove the regexp filter in password inputs. - How can they input kanji if the password is masked? (nil)
BC20min Guard against null pointer exceptions in peer classes (nil)
BC5min Add current password field in user_modify page (nil)
BC5min Create a destructor for our Action class that will disconnect the connection once it is terminated. (nil)
BC2min Remove unnecessary list in UserRemoveSetupAction (nil)
BC5min UserModifyAction - remove direct comparison of passwords, use collators instead. (nil)
AXGet signature for training contract (2004.07.29)
AXCheck with Japan Airlines if my ticket is there 8866987 until 90 (2004.08.16)
AXPick up my visa (2004.08.16)
AXGo through lesson 26 WBT (2004.09.02)
AXDo lesson 26 homework (2004.09.02)
AXDraft section for fieldwork (2004.09.02)
AXFinish kanji report (2004.09.02)
AXL27: Web-based test (2004.09.03)
AXL27: Homework (2004.09.03)
AXPrepare fieldwork presentation (2004.09.03)
AXRevise fieldwork speech based on Kojima-sensei's input (2004.09.03)
AXE-mail Kikuta-sensei before Sunday (2004.09.04)
AXL28: Do listening part of homework (2004.09.05)
AXPrepare kanji presentation (2004.09.06)
AXChuukyuu lesson 1: WBT (2004.10.05)
AXChuukyuu lesson 1: Paper (2004.10.05)
AXMake the encoding compatible (2004.11.04)
AXDeploy the application to the server (2004.11.04)
AXMake it possible to build on my system (2004.11.04)
AXModify application to use server database (2004.11.04)
AXEnable database access from my computer and Aris' computer (2004.11.04)
AXCreate a test data SQL script (2004.11.04)
AXUpdate schema (2004.11.05)
AXTranslate messages (2004.11.22)
AXDeploy project (2004.11.22)
AXFinish update (2004.11.22)
AXFinish delete (2004.11.22)
AXGet toggle to work (2004.11.22)
AXRead kanji book chapter 23 (2004.11.26)
AXHomework: chapter 11 (2004.11.26)
AXRead kanji book chapter 24 (2004.11.27)
AXTranslate プロジェクト管理研究 slide set (nil)
AXTranslate slides (nil)
AXHighlight unknown kanji in the first slide set (nil)
AXType kanji for slide 12 (nil)
AXType kanji for slide 11 (nil)
AXType kanji for slide 10 (nil)
AXType kanji for slide 9 (nil)
AXType kanji for slide 7 (nil)
AXType kanji for slide 6 (nil)
BXStudy lesson 17 (2004.07.30)
BXStudy lesson 18 (2004.07.30)
BXStudy lesson 19 (2004.07.30)
BXStudy lesson 20 (2004.07.30)
BXStudy lesson 21 (2004.08.02)
BXWrite letter to the dean of SOSE about lost faculty manual from SchoolWork (2004.08.05)
BXWBT lesson 48 (2004.09.27)
BXWBT lesson 49 (2004.09.27)
BXPaper homework lesson 47 (2004.09.27)
BXPrepare two songs for presentation tomorrow (2004.09.27)
BXPrepare for presentation on Hakkushu trip (2004.09.28)
BXLesson 48 paper homework (2004.09.29)
BXDownload Delphi/Kylix (2004.10.05)
BXChuukyuu 1: Review kanji (2004.10.05)
BXReply to emacs-wiki thread in Debian user! =) from E-Mail from Yamagata Yoriyuki (2004.10.06)
BXTranslate strings in msiap/jsp (2004.11.04)
BXFinish bean class diagram (2004.11.12)
BXMake a sample tiles page (2004.11.12)
BXCopy the look from the previous intranet design (2004.11.18)
BXWrite report (2004.11.20)
BXGet messages to display again (2004.11.22)
BXWrite report (2004.11.22)
BXMake sure admin accounts can always be used (2004.11.22)
BXExternalize all the messages (2004.11.22)
BXTest current system (2004.11.22)
BXTranslate menus (2004.11.22)
BXListening exercise (2004.11.28)
BXTransfer daily listening exercises to computer (2004.11.28)
BXChapter 12, paper homework (2004.11.29)
BXRead corrected report: E-Mail from Kojima-sensei (2004.12.26)
BXImport todo list (2004.12.28)
BXTranslate javadoc comment for Messages.java (2004.12.28)
BXAdd javadoc tags for input, output and forwards (2004.12.28)
BXUpdate test cases (2004.12.28)
BXHelp review code (2004.12.28)
BX30min Remove JSP scripts from JSP pages as much as possible. (nil)
BX30min,aris Check session expiration. (nil)
BX30min,aris Convert all tags to LE. another kind of struts tag (nil)
BX2min,aris Fix Menu Action's unnecessary code (nil)
BX30min Create a superclass for our action classes that handles initialization of database and handling of privileges - remove all privileges handling in logic classes. ... (nil)
BX20min Make a factory class for the database (nil)
BX2h Write Javadoc comments in English and Japanese to explain bean structure (nil)
BX10min Put all messages in a single tile (nil)
BX1h Decide on a naming convention for localized messages and update files (nil)
BX5min Separate the configuration file of database and system into another uninternationalized property file. (nil)
BX10min Deploy 10:00 version (nil)
BX10min Instead of displaying uneditable data with bean:write, just disable the html:text element (nil)
BX10min Remove hard-coded constants from the Logic classes (nil)
BX10min Move logic from UserBean.checkPassword to UserListLogic (nil)
BX15min Make a super class for our service classes that will receive the database connection. (nil)
BX10min Fix UserPeer so that it doesn't get null pointer exceptions (nil)
BX2min Remove hard-coded database path from MenuAction (nil)
BX5min Add a method that returns the validity of a user in MUserPeer. (nil)
BX5min Fix indentation (nil)

Notes

3. Japanese flashcards

This extracts all kanji in the buffer and converts them to the format expected by flashcard.el.

(defun sacha/kanji/get-ordered-kanji-list ()
  "Return a list of characters in the buffer."
  (goto-char (point-min))
  (let (kanji-list)                      
    (while (not (eobp))
      (let ((c (char-after (point))))
        (when (>= c ?亜) (add-to-list 'kanji-list c)))
      (forward-char 1))
    kanji-list))

(defun sacha/kanji/to-flashcard-j2e (&optional list)
  "Return a Japanese-English flashcard set.
If LIST is non-nil, use that instead of the current buffer."
  (interactive (list (sacha/kanji/get-ordered-kanji-list)))
  (unless list (setq list (sacha/kanji/get-ordered-kanji-list)))
  (let ((result
         (with-current-buffer (find-file-noselect "/usr/share/edict/kanjidic")
           (mapconcat
            (lambda (kanji)
              (goto-char (point-min))
              (when (re-search-forward (format "^%c.*?{\\(.*\\)}" kanji) nil t)
                (format "%c : %s\n"
                        kanji
                        (replace-regexp-in-string "}\\s-+{" "," (match-string 1)))))
            list
            ""))))
    (if (interactive-p) (kill-new result) result)))

(defun sacha/flashcard-method-leitner-check-answer (card answer)
  "Check answer for correctness. Allow multiple correct answers and provide feedback."
  (if (member answer (split-string (flashcard-card-answer card) ","))
      (progn 
        (flashcard-insert "Correct! Answer is:\n"
                          (propertize (flashcard-card-answer card)
                                      'face 'flashcard-answer-face
                                      'rear-nonsticky t)
                          "\n"
                          "\n")
        t)
    (flashcard-insert "The correct answer is:\n"
                      (propertize (flashcard-card-answer card)
                                  'face 'flashcard-answer-face
                                  'rear-nonsticky t)
                      "\n"
                      "\n")
    (y-or-n-p "Was your answer correct? ")))

(setq flashcard-method-check-answer-function 'sacha/flashcard-method-leitner-check-answer)
(add-to-list 'auto-mode-alist '("\\.deck\\'" . flashcard-mode))
(add-hook 'flashcard-mode-hook 'flashcard-add-scroll-to-bottom)
(add-hook 'flashcard-positive-feedback-functions 'flashcard-feedback-highlight-answer)
(add-hook 'flashcard-positive-feedback-functions 'flashcard-feedback-congratulate)
(add-hook 'flashcard-positive-feedback-functions 'flashcard-method-leitner-positive-feedback)

2. More hacks for mangling Japanese CSV

This is for use with kdrill.

(defun sacha/kanji/get-ordered-kanji-list ()
  (let (kanji-list)                      
    (while (not (eobp))
      (let ((c (char-after (point))))
        (cond
         ((= c ?\"))
         ((= c ?\n))
         ((= c ?:) (forward-line 1) (forward-char -1))
         (t (add-to-list 'kanji-list c))))
      (forward-char 1))
    kanji-list))

(defun sacha/kanji/ordered-usefile-to-kill ()
  (interactive)
  ;; Look up kanji in kanjidic
  (let ((list (sacha/kanji/get-ordered-kanji-list)))
    (kill-new
     (with-current-buffer (find-file-noselect "/usr/share/edict/kanjidic")
       (mapconcat
        (lambda (kanji)
          (goto-char (point-min))
          (when (search-forward (char-to-string kanji) nil t)
            (skip-syntax-forward " ")
            (buffer-substring-no-properties (point) (and (skip-syntax-forward "^ ") (point)))))
        list
        "\n")))))

1. 30min Create a superclass for our action classes that handles initialization of database and handling of privileges - remove all privileges handling in logic classes.

Categories: None -- Permalink, Comment form

Hmm. What about the threading model?

Previous day | Next day

I'd love to hear about any questions, comments, suggestions or links that you might have. Your comments will not be posted on this website immediately, but will be e-mailed to me first. You can use this form to get in touch with me, or e-mail me at [email protected] .

Page: Japan Project
Updated: 2005-06-09
NOTE: ANTI-SPAM MEASURE NOW IN PLACE. Please answer the following question with the right number in order to send me your comment.
What is two minus one? (hint: one ;) )
Name:
E-mail:
URL:
Comments: