Today's fun idea was to put all my contacts stored into BBDB on a Google Maps' map, using my Google Maps extension for Emacs.

With the help of a few lines of Lisp glue:

(google-maps-static-show
:markers
(mapcar
(lambda (address-entry)
`((,(concat
(mapconcat
'identity
(elt address-entry 1) ", ") ", "
(elt address-entry 2) ", "
(elt address-entry 3) ", "
(elt address-entry 4) ", "
(elt address-entry 5)))))
(mapcan
(lambda (record)
;; We need to copy the returned list, because mapcan will modify it later
(copy-list (bbdb-record-addresses record)))
(bbdb-records))))


we can make that:

Screenshot of Google Maps with BBDB contacts

It's really simplistic, but I did not need more to have fun. :-) This could be extended to set a specific marker and/or color for each contact, with a legend. I'll let that as an exercise for my readers.