NEW: For a prettier blog interface, see the Wordpress version!
- On the joys of posting random notes 23:42
- Trackback implementation for Emacs 23:40
- Ching's office address 23:10
- ARGH! Drying clothes! 21:21
- Tentative Osaka plans 21:19
- First day 20:50
- Training so far 13:11
- Chat
- Yesterday 00:38
9. On the joys of posting random notes: 23:42
8. Trackback implementation for Emacs: 23:40
This will be put into nnrss.el or weblogger.el, but, for now, here is an implementation of trackback.
(defun tb-find-tb-url (url &optional local)
"Find the track-back URL for a resource."
(with-temp-buffer
(let* (xmlform htmlform)
;; bit o' work necessary for w3 pre-cvs and post-cvs
(if local
(let ((coding-system-for-read 'binary))
(insert-file-contents url))
(mm-url-insert url)))
(when (re-search-forward "" nil t)
(let ((rdf-end (match-end 0)))
(goto-char rdf-start)
(re-search-forward "trackback:ping=\"\\([^\"]+\\)" rdf-end)
(match-string-no-properties 1)))))))
(defun tb-get-trackback (url)
"Get who's tb-ed an entry."
(let ((tb-url (tb-find-tb-url url)))
(when (not tb-url)
(error "No trackback URL found at %s" url))
(w3-fetch (concat tb-url "?__mode=rss"))))
(defun tb-send-trackback (url data &optional no-seek)
"Send a trackback."
(let ((tb-url (tb-find-tb-url url)))
(when (and (not no-seek)
(not tb-url))
(error "No trackback URL found at %s" url))
(let* ((enctype "multipart/form-data")
(query (w3-encode-multipart/form-data data))
(url-request-method "POST")
(url-request-data (cdr query))
(url-request-extra-headers
(cons (cons "Content-type" (concat enctype "; boundary=\""
(substring (car query) 2 nil)
"\""))
url-request-extra-headers)))
(w3-fetch (or tb-url url)))))
(defun w3-encode-multipart/form-data (items)
;; Create a multipart form submission.
;; Returns a cons of two strings. Car is the separator used.
;; cdr is the body of the MIME message."
(let ((separator (format-time-string
"--separator-%Y%j%H%M%S-for-www-form-data")))
(cons separator
(concat
(mapconcat
(function
(lambda (item)
(w3-form-encode-make-mime-part
(car item) (cdr item) separator)))
items "\r\n")
"\r\n" separator "--\r\n"))))
Example Code:
(tb-send-trackback
"http://www.movabletype.org/mt/trackback/3"
'(("title" . "Emacs Trackback Implementation")
("excerpt" . "An implementation of trackback for emacs webloggers.")
("url" . "http://elisp.info/archive/80614224")
("blog_name" . "elisp.info")) t)
Now all we need is a way to receive trackback pings...
7. Ching's office address: 23:10
-----BEGIN PGP MESSAGE----- Version: GnuPG v1.2.5 (GNU/Linux) hQEOAzQ6c9jHW5SMEAP/aKRTH5qiZphFXFgqHM9o8r9R6ivuVW+l7QMKKb1eQPTD kaVEzLzYMguITd1jxag8oD3M3lEbWFjcLfuHydBqAU47HO6g/x5iwZjkWnf/0LxZ /6BwOitOK4gD53lUQiTS20JYEsvl9WvKBzxq/dcdfRYxOhjeNb/Ctl2uVm3AxC8E AKwrGlVDyZI1HYWrnnkxlGCgqovvFiV8Z7grKBrrAfdCEe4fg+IdvgRsyRHz/Oyr xR9Hh4SExAKqh5QbWrmU/ihjU62NqjefDmyHR1heroUwH3019uo+X+emDtM9wpX8 y0vMcDCaqYCgoH3LGml60RZVQK97SdV8BFEvnWYOapyr0n8BLRbH+KQrpnEwM3L3 gSSNZbqAKcCMrGDZXbuTML/f4lyor4ho3wF3Y5k3IFisKEPZAk/M5eZylBXDozpl sz3faHRITLP+kyFP1pi5w5o3Yrv1Ljxz4ZtO2yX2Tmu8vm2s8oF3gwL2RFaNrFhO S838762ozJLQZVyqE6Y7gdJA =6hfa -----END PGP MESSAGE-----
Chat%20with%20harveychua0208%20on%20testing.bitlbee.org%23chat_001
6. ARGH! Drying clothes!: 21:21
I'll hang the suits up to dry, but darn if I'll let most of my blouses
get away with that kind of threat. If I mess up, well, better that I
learn that lesson now, right?
So, sorry, hang-dry clothes, you're going to get spun-dried today...
(I'll leave the dry-flat clothes for some other time.)
5. Tentative Osaka plans: 21:19
Stuff I need to bring:
- mobile phone charger - laptop, charger - Debian keysigning papers - A day or two's worth of clothes. - Money, misc.
Possibly have these brought:
- business shoes - business clothes for Monday: white turtleneck, pleated black skirt.
4. First day: 20:50
Delphi is fun, although I miss Lisp's you-can-lowercase-everything style. I miss Lisp parentheses and easy syntax. I'm weird, aren't I?
S'okay. Am getting the hang of Delphi, and am looking forward to the translation challenge tomorrow.
I miss the academe, though. I feel more suited to it than to this. That's okay. I'll have the next few months to develop a really fine appreciation of the academe, something that'll sustain me through years of studies, frustrating classes, loads of tests to check... <laugh>
That said, I'm going to give this my best shot. It might not be one of my alternative careers, but that doesn't mean I don't want to be good at it. <grin>
Must figure out logistics for my Osaka trip.
3. Training so far: 13:11
I'm waiting for my Windows 2000 installation to finish formatting the hard disk. Our trainers don't really speak English, so I've asked them to e-mail us the design documents we need to study so that I can work on translating the specs. Aris will read up on Delphi. I think that'll work out.
I also asked about cheap places to get bento boxes so that we don't have to eat at restaurants all the time. With a lunch allowance of 800 yen, all the restaurants are too expensive.
We have a week to learn how to read specifications, understand Japanese software design, and write Java programs. I'm a bit worried about software engineering, particularly if they want to use lectures. I think we'd have an easier time with computer-mediated communication, because then I have an instant record of everything said, and I can look words up quickly.
Today's commute was one and a half hours. Longer than I expected, but apparently quite normal. We have monthly tickets, so we don't have to worry about transportation expenses unless we lose the ticket. I'll probably still spend a bit on transportation during weekends, as the paid segment doesn't give me access to a lot of tourist spots. Oh well, that's all right. =)
More stories soon.
2. Chat
-----BEGIN PGP MESSAGE----- Version: GnuPG v1.2.5 (GNU/Linux) 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 =+8nb -----END PGP MESSAGE-----
1. Yesterday: 00:38
Mom was online, and she was really glad to know I had Internet access in my room. She got pretty worried when she rang my phone and I didn't answer. I told her about leaving it in YKC. Whoops! Silly me. She had a wonderful tea party with my godparents. I should take a video of me drinking tea so I can join the next one virtually.
Dominique was missing for a good part of the evening. Apparently had dinner with friends from Davao. Got to talk to him afterwards, though. =)
Now that I've gotten both homesickness and first-day jitters out of the way, I feel much more prepared to handle the challenges I'll encounter during our training. Yay!
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 sacha@sachachua.com .