diff -pruN 47.0+dfsg-6/bash-utils/audio-effects 49.0+dfsg-1/bash-utils/audio-effects --- 47.0+dfsg-6/bash-utils/audio-effects 1970-01-01 00:00:00.000000000 +0000 +++ 49.0+dfsg-1/bash-utils/audio-effects 2018-02-07 22:43:24.000000000 +0000 @@ -0,0 +1,65 @@ +# Bash Functions To Add Audio Effects: -*- mode: sh -*- +# {{{ 3d using HRTF: + +# Usage: 3d filename azimuth elevation + +function 3d () { + mplayer -af ladspa=ZamHeadX2-ladspa:ZamHeadX2:$2:$3:2.5 -ao pcm:file=tmp.wav $1 + sox tmp.wav -b 16 -r 44100 $1 + \rm tmp.wav +} + +# }}} +# {{{bs2b: + +# Usage: bs2b filename + +function bs2b () { + mplayer -af bs2b -ao pcm:file=tmp.wav $1 + sox tmp.wav -b 16 -r 44100 $1 + \rm tmp.wav +} + +# }}} +# {{{Pan: + +# Usage: pan filename frequency +# For generating one full sweep, +# use pan frequency of 1/duration-of-icon. + +function pan () { + mplayer -af ladspa=tap_autopan:tap_autopan:$2:100:0 -ao pcm:file=tmp.wav $1 + sox tmp.wav -b 16 -r 44100 $1 + \rm tmp.wav +} + +# }}} +# {{{pan_depth: + +# Usage: pan_depth filename frequency depth + +function pan_depth () { + mplayer -af ladspa=tap_autopan:tap_autopan:$2:$3:0 -ao pcm:file=tmp.wav $1 + sox tmp.wav -b 16 -r 44100 $1 + \rm tmp.wav +} + +# }}} +# {{{Swap Channels: + +#Usage swapchan filename + +function swapchan () { + mv $1 tmp.wav + sox tmp.wav $1 remix 2 1 + \rm tmp.wav +} + +# }}} +# {{{End Of File + +# local variables: +# folded-file: t +# end: + +# }}} diff -pruN 47.0+dfsg-6/bash-utils/emlock 49.0+dfsg-1/bash-utils/emlock --- 47.0+dfsg-6/bash-utils/emlock 1970-01-01 00:00:00.000000000 +0000 +++ 49.0+dfsg-1/bash-utils/emlock 2018-02-15 23:35:19.000000000 +0000 @@ -0,0 +1,4 @@ +#!/bin/sh +# Ask emacs to lock the screen. +#Usage emlock +emacsclient -n -e "(emacspeak-dbus-lock-screen)" 2>&1 > /dev/null diff -pruN 47.0+dfsg-6/bash-utils/esr 49.0+dfsg-1/bash-utils/esr --- 47.0+dfsg-6/bash-utils/esr 1970-01-01 00:00:00.000000000 +0000 +++ 49.0+dfsg-1/bash-utils/esr 2018-02-12 17:44:19.000000000 +0000 @@ -0,0 +1,5 @@ +#!/bin/bash + +# Emergency SR +# Use espeak to speak output from shell commands: +"$@" 2>&1 | espeak diff -pruN 47.0+dfsg-6/bash-utils/nm-tools 49.0+dfsg-1/bash-utils/nm-tools --- 47.0+dfsg-6/bash-utils/nm-tools 1970-01-01 00:00:00.000000000 +0000 +++ 49.0+dfsg-1/bash-utils/nm-tools 2018-02-12 17:44:19.000000000 +0000 @@ -0,0 +1,13 @@ +# Bash Functions To use nmcli: -*- mode: sh -*- + +# Usage: nm_add ssid passwd name +# Add a new wifi network + +function nm_add () { + nmcli dev wifi con $1 password $2 name $3 +} + +function nm_up () { + nmcli conn up id $1 +} + diff -pruN 47.0+dfsg-6/bash-utils/readme.org 49.0+dfsg-1/bash-utils/readme.org --- 47.0+dfsg-6/bash-utils/readme.org 2017-03-10 17:20:11.000000000 +0000 +++ 49.0+dfsg-1/bash-utils/readme.org 2018-02-16 00:50:59.000000000 +0000 @@ -3,11 +3,15 @@ This directory contains useful Bash functions and Bash scripts. + - audio-effects :: Bash functions to apply audio effects to sound files. - e-askpass :: Appropriate for use as the value of environment variable _SSH_ASKPASS_. - emcloud :: Have Emacspeak connect to a remote TTS server. + - emlock :: Lock screen via a DBus call - emnotify :: Notify from outside Emacs. - emplay :: Hand-off stream URL to Emacspeak MPlayer. - emsay :: Use Emacspeak to speak a string from outside Emacs. - emstop :: Silence Emacspeak from outside Emacs. + - esr ::Emergency reader using espeak + - nm-tools :: Bash functions to manage wifi - prompt :: Useful bash functions for smart prompts. - remote :: Useful Bash functions for setting up a remote session. diff -pruN 47.0+dfsg-6/bash-utils/remote 49.0+dfsg-1/bash-utils/remote --- 47.0+dfsg-6/bash-utils/remote 2017-08-31 17:27:23.000000000 +0000 +++ 49.0+dfsg-1/bash-utils/remote 2018-03-05 17:41:53.000000000 +0000 @@ -27,5 +27,5 @@ function remote () { remix - \ fade h 0 2.7 2.5 norm -1 & # Open SSH Connection - ssh-agent ssh -R 2222:localhost:2222 -R 3333:localhost:3333 $REMOTE + ssh -R 2222:localhost:2222 -R 3333:localhost:3333 $REMOTE } diff -pruN 47.0+dfsg-6/blog-archive/articles.html 49.0+dfsg-1/blog-archive/articles.html --- 47.0+dfsg-6/blog-archive/articles.html 1970-01-01 00:00:00.000000000 +0000 +++ 49.0+dfsg-1/blog-archive/articles.html 2018-11-14 00:11:28.000000000 +0000 @@ -0,0 +1,14765 @@ + + + +EMACSPEAK The Complete Audio Desktop + + +

EMACSPEAK The Complete Audio Desktop

+

Here is where I plan to Blog Emacspeak tricks and introduce new features as I implement them.

+

Table Of Contents

+
    +
  1. Using Emacs Threads To Execute Commands Asynchronously
  2. +
  3. Effective Suggest And Complete In An Eyes-Free Environment
  4. +
  5. Emacspeak 48.0 (ServiceDog) Unleashed!
  6. +
  7. Updating Voxin TTS Server To Avoid A Possible ALSA Bug
  8. +
  9. Emacspeak 47.0 (GentleDog) Unleashed!
  10. +
  11. Emacs Start-Up: Speeding It Up
  12. +
  13. Data-Binding In Emacs Lisp: let-alist When Processing JSON Data
  14. +
  15. Spatial Audio: ALSA Virtual Devices Using LADSPA
  16. +
  17. Emacspeak 46.0 (HelpfulDog) Unleashed
  18. +
  19. Mail On The emacspeak Audio Desktop
  20. +
  21. Emacs: Check Interactive Call For Emacspeak
  22. +
  23. Audio Deja Vu: Audio Formatted Math On The Emacspeak Desktop
  24. +
  25. Fun With TTS (Voxin) And Ladspa
  26. +
  27. Follow-Up: Soundscapes On The Emacspeak Audio Desktop
  28. +
  29. Emacspeak 45.0 (IdealDog) Unleashed!
  30. +
  31. Emacspeak 44.0 (SteadyDog) Unleashed
  32. +
  33. Augmented Headphone Listening On Linux For The Emacspeak Audio Desktop
  34. +
  35. Soundscapes On The Emacspeak Audio Desktop
  36. +
  37. A Ladspa Work-Bench For The Emacspeak Desktop
  38. +
  39. Generating Spatialized Auditory Icons Using MPlayer And Ladspa
  40. +
  41. Listening To Multiple Media Streams On The Emacspeak Audio Desktop
  42. +
  43. Emacspeak 43.0 (SoundDog) Unleashed!
  44. +
  45. Using Multiple TTS Streams On The emacspeak Audio Desktop
  46. +
  47. Smart Actions In Directory Buffers For The Emacspeak Audio Desktop
  48. +
  49. Announcing Emacspeak-Muggles: Keyboard Conveniences For Emacspeak
  50. +
  51. Emacspeak: An Overview Of Voice-Lock Over The Years
  52. +
  53. Emacspeak:Setting up StumpWM as a speech-enabled Window Manager.
  54. +
  55. Setting Up An X Environment For Using With Emacspeak, ChromeVox and StumpWM
  56. +
  57. Announcing Emacspeak 42.0 (AnswerDog)
  58. +
  59. Emacspeak 3.0: Released 20 Years Ago Today!
  60. +
  61. HowTo: Log Speech Server Output To Aid In Developing TTS Servers
  62. +
  63. Emacspeak Development Is Moving To GitHub
  64. +
  65. Enhanced Audio On The Emacspeak Desktop
  66. +
  67. Internet Radio: Tune-In For Emacspeak
  68. +
  69. 3D: A Spatial Auditory Icon Theme Generated Using CSound
  70. +
  71. Announcing Emacspeak 41.0: NiceDog
  72. +
  73. Emacspeak At Twenty: Looking Back, Looking Forward
  74. +
  75. Emacspeak And Company: Complete Anything Front-End For emacspeak
  76. +
  77. Announcing Emacspeak 40.0 AKA WowDog!
  78. +
  79. Emacspeak: EWW Updates For The Complete Audio Desktop
  80. +
  81. Emacspeak Webspace: Glancing At Information On The Audio Desktop
  82. +
  83. Searching GMail Using IMap And GNUS
  84. +
  85. Exploring And Accessing BBC Podcasts and Program Archives
  86. +
  87. Managing And Accessing Feeds On The Emacspeak Audio Desktop
  88. +
  89. Reading Web Content Efficiently
  90. +
  91. Emacspeak 39.0 (BigDog) Unleashed!
  92. +
  93. Emacspeak 38.0 (FreeDog Unleashed
  94. +
  95. GMaps: Google Maps On The Emacspeak Desktop
  96. +
  97. Emacspeak 37.0 (SolidDog) Unleashed
  98. +
  99. Emacspeak 36.0 (EPubDog) Unleashed!
  100. +
  101. Emacspeak 35.0 (HeadDog) Released
  102. +
  103. Welcome Press/Analyst Contact Tilden Labrador
  104. +
  105. In Praise Of Bubbles — Emacspeak 34.0 Unleashed!
  106. +
  107. Hubbell (Bubbles) Labrador Biography --- My + Bubbly Life
  108. +
  109. Epitaph: Saying GoodBye To Our Beloved Press/Analyst Contact
  110. +
  111. Emacspeak: In Praise Of The Bookshare API
  112. +
  113. Silence Is Golden
  114. +
  115. Emacspeak 33.0 (StarDog) Unleashed!
  116. +
  117. Emacspeak 32.0 (LuckyDog) Unleashed
  118. +
  119. AsTeR --- Audio System For Technical Readings
  120. +
  121. Emacspeak 31 (AKA TweetDog) Unleashed!
  122. +
  123. A Google Tool-belt For The Complete Audio Desktop
  124. +
  125. Emacspeak, The World's Fonts And Braille
  126. +
  127. Emacspeak: Google News Suggest For Faster News Search
  128. +
  129. Emacspeak Servers --- Catching Up With Debian And Ubuntu
  130. +
  131. Launching Favorite Media Via Hot Keys
  132. +
  133. Looking Beyond The Screen At Google I/O2009
  134. +
  135. Announcing emacspeak 30.0 --- SocialDog!
  136. +
  137. Toward an Accessible Democracy --- White House Moderator AxsJAXed
  138. +
  139. Announcing Emacspeak 29.0 (AbleDog)
  140. +
  141. Emacspeak Webspace Goodies
  142. +
  143. Emacspeak-WebSpace Just Got A Lot Faster
  144. +
  145. In Praise Of The Google Search AJAX API
  146. +
  147. Tutorial: Enhancing Web 2.0 Usability Using AxsJAX
  148. +
  149. Talk Announcement: Developing Accessible Web-2.0 Applications
  150. +
  151. ProcEd: A Speech-Enabled Task Manager For Emacs
  152. +
  153. Leveraging Web 2.0 Design Patterns For Enhanced Accessibility
  154. +
  155. AxsJAX And Auditory User Interfaces At Google IO
  156. +
  157. Emacspeak On Thinkpad X-61 Running Gutsy (Ubuntu 7.0)
  158. +
  159. Emacspeak-28.0 (PuppyDog) Unleashed!
  160. +
  161. W4A Keynote: Cloud Computing And Equal Access For All
  162. +
  163. Emacspeak Goes Social
  164. +
  165. My Web-2.0 Application Is Feeling Accessible
  166. +
  167. Emacspeak WebSpace --- Interaction-Free Information Access
  168. +
  169. Announcing: The Coming Of Piglets To The Emacspeak Desktop
  170. +
  171. Web Accessibility And Usability: Coming Back To The Basics
  172. +
  173. Directions Using Public Transport From Google Maps
  174. +
  175. Announcing Emacspeak 27.0 AKA FastDog
  176. +
  177. AxsJAX, Speech-Enabled Games And Auditory User Interfaces
  178. +
  179. The Web The Way You Want
  180. +
  181. Podcast Covering Web Accessibility
  182. +
  183. Emacspeak Video Demo: Looking Up The Weather
  184. +
  185. Emacspeak And GMail
  186. +
  187. AMixer And Emacspeak: Controlling The Sound Card
  188. +
  189. The Web The Way You Want
  190. +
  191. Google Suggest: Minibuffer Completion When Googling
  192. +
  193. Emacspeak WebMarks: Online Bookmarks Using Google
  194. +
  195. Web Interaction In Emacspeak
  196. +
  197. Emacs-G-Client: Leveraging New Picasa API Features
  198. +
  199. Emacspeak And Beautiful Code
  200. +
  201. Searching The Emacspeak Knowledge Base
  202. +
  203. Emacs G-Client, Reader, And CSE: Searching Past Articles From Google +Reader
  204. +
  205. Google Books In Emacspeak
  206. +
  207. Making Search Fly: On-The-Fly Custom Search Engines
  208. +
  209. Emacs-G-Client: Uploading Photos To PicasaWeb
  210. +
  211. Multilingual Dictionary Lookup Via Google
  212. +
  213. FireBox: Put The Fox In The Box
  214. +
  215. Emacspeak And Beautiful Code
  216. +
  217. Google Group For Package G-Client
  218. +
  219. An Essay On Eyes-Free Computing
  220. +
  221. Updates To G-Client
  222. +
  223. Web 2.0 And The Emacspeak Audio Webtop
  224. +
  225. Emacspeak 26.0 --- LeadDog Unleashed!
  226. +
  227. See You At CSUN 2007
  228. +
  229. An Emacs Client For Google Services
  230. +
  231. Emacspeak Downloads On GoogleCode
  232. +
  233. IBM Software TTS On Ubuntu 6
  234. +
  235. Web Command Line Tool For Google Patent Search
  236. +
  237. Emacspeak 25.0 (ActiveDog) Unleashed
  238. +
  239. Emacspeak Smart URL For Google Code Search
  240. +
  241. Using Helix Player From Emacspeak
  242. +
  243. Emacspeak, Ubuntu And Software Dectalk
  244. +
  245. Emacspeak 24 On Ubuntu 6
  246. +
  247. Google Archive News Search
  248. +
  249. Update: Emacspeak On Google Code Hosting
  250. +
  251. Emacspeak Codebase Via Subversion From GoogleCode
  252. +
  253. Zipping Through Web Pages
  254. +
  255. Summary Of Emacspeak Features Compared To Other Alternatives
  256. +
  257. Emacspeak And Accessible Search Via Google
  258. +
  259. ALSA And Emacspeak: Closing The Legacy Loop With ALSA-OSS
  260. +
  261. SpeakFreely, Software TTS And ALSA
  262. +
  263. Emacspeak, TTS, Alsa And ASYM
  264. +
  265. ASoundrc Parameters For Reliably Using ALSA Powered Software TTS
  266. +
  267. Listening To The Web Through A Mobile Lens
  268. +
  269. Announcing Emacspeak 24.0 (LiveDog)
  270. +
  271. W3: Minor Patch To Handle Content-Type application/xhtml+xml
  272. +
  273. Blogging From Emacs: Additional Atom-Blogger Documentation
  274. +
  275. Emacspeak: Connecting Lynx And W3
  276. +
  277. Emacspeak, SuDoKu And History
  278. +
  279. Emacspeak And Voice Locking Using Aural CSS
  280. +
  281. Playing SuDoKu Using Auditory Feedback
  282. +
  283. Browsing Sourceforge Download Servers
  284. +
  285. BBC Channels On Emacspeak
  286. +
  287. Emacspeak World Clock For Timezone Travel
  288. +
  289. Emacspeak Web Wizards: Obtaining Context From The Calendar
  290. +
  291. Viewing Atom Feeds Within Emacspeak
  292. +
  293. Viewing Formatted Source Code In Emacs/W3
  294. +
  295. Speech-Enabled ATOM-Blogger
  296. +
  297. Emacspeak And Ruby
  298. +
  299. Emacspeak Wizard: Recording Audio Streams For Later Playback
  300. +
+

Using Emacs Threads To Execute Commands Asynchronously

+
+

Using Emacs Threads To Execute Commands Asynchronously

1 Executive Summary

Emacs 26 has threads for executing functions asynchronously. Emacs
+commands that call an external process and wait for that process to
+finish make a good candidate for asynchronous execution — e.g.,
+smtpmail-send-it for sending mail. The arrival of threads provides
+an interesting option for running such commands asynchronously.
+


+
+

2 First Attempt — Custom Async gnus Command

I initially wrote a custom command for launching gnus asynchronously
+— it was a one-line function that ran the following:
+

(make-thread #'gnus)
+

+

The above worked well — except when command gnus needed user input
+— so I just had to be thoughtful about when I called it. But a few
+weeks later, I wanted the equivalent for function smtpmail-send-it
+for sending mail. I almost wrote myself one more command before
+stepping back to create a more generic solution.
+


+

3 One Command To Thread Them All

I have now defined command emacspeak-wizards-execute-asynchronously
+bound to C-' a.
+Note that this command, though part of module emacspeak-wizards, has
+no emacspeak dependencies.
+


+
(defun emacspeak-wizards-execute-asynchronously (key)
+  "Read key-sequence, then execute its command on a new thread."
+  (interactive (list (read-key-sequence "Key Sequence: ")))
+      (let ((l  (local-key-binding key))
+             (g (global-key-binding key)))
+    (cond
+     ( (commandp l)
+       (make-thread l)
+      (message "Running %s on a new thread." l))
+     ((commandp g)
+      (make-thread g)
+      (message "Running %s on a new thread." g))
+     (t (error "%s is not bound to a command." key)))))
+
+(global-set-key (kbd "C-' a") 'emacspeak-wizards-execute-asynchronously)
+

+

With this command bound to C-' a, I can now get rid of my custom
+gnus-async command and its associated key-binding. I already have
+command gnus bound to C-; g, so I can just press C-' a C-; g to
+fetch news/mail asynchronously.
+


+

Similarly, when sending mail using smtpmail I can press C-' a C-c
+C-c
in the *mail* buffer to send mail without Emacs blocking.
+


+

4 Final Caveats

Like other asynchronous solutions (see package async for instance)
+one needs to make sure that the command being executed asynchronously
+will not require user input. In the case of package async, the
+asynchronous Emacs will block waiting for input; in the case of
+make-thread, Emacs enters a blocking loop with the minibuffer
+continuously displaying
+

No catch for ...
+
+

The only way to come out is to kill Emacs — so make sure to use
+command emacspeak-wizards-execute-asynchronously only when you're
+sure that the command being run asynchronously will not require user
+input.
+

Date: 2018-07-03 Tue 00:00

Author: T.V Raman

Created: 2018-07-03 Tue 14:37

Validate


+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2018-07-03T14:57:00.001-07:00

Effective Suggest And Complete In An Eyes-Free Environment

+
+

Effective Suggest And Complete In An Eyes-Free Environment

1 Executive Summary

Emacs has always provided a wealth of techniques for rapid keyboard
+input (abbrev, dabbrev, hippie-expandand completion come to mind)
+alongside a rich collection of tools for navigating among open
+buffers. And these affordances have significantly increased over the
+last few years with the arrival of packages like ido, company,
+helm etc., each replete with different strategies for rapid task
+completion such as flex and fuzzy matching. This article investigates
+these tools in an eyes-free environment, specifically in the context
+of Emacspeak and rapid task completion. I've not investigated every
+possible package in this space — instead, I've picked a collection
+of packages and techniques that have worked well in an eyes-free
+context. Finally, the ultimate metric I use in each case is the time
+to successful task completion — since at the end of the day, that's
+the only metric that counts when it comes to user productivity.
+


+

2 Terminology

For this article, I will use terms suggestion and completion to
+mean subtly different concepts. I'll also use terms explore and
+filter in describing various phases in user interaction.
+


+
Suggestion
+
Offer the user some suggestions that help explore the space of choices. (metaphor: avoid the blank sheet of paper syndrome).
+
Completion
+
Filter the available choices based on user input with the goal of reaching the target as rapidly as possible.
+
Explore
+
User does not necessarily know what he is looking for, but expects to be able to recognize what he wants from the displayed choices.
+
Target
+
User knows exactly what he wants, e.g., filename, or function-name, but would still like to get there with the fewest possible number of keystrokes, along with the needed memory aids to guide the decision.

+
+

Note that in practice, suggestions and completions work
+hand-in-hand, with the visual display playing a central role in
+guiding the user through the pace of available choices. In a typical
+user interaction session, the space of suggestions gets filtered by
+user input to produce the available completions (choices) for the next
+round of user input — think of this as a
+Suggest/Input/Filter/Target (SIFT) interaction loop. Similarly, explore and
+target type activities typically go hand-in-hand, with explore
+serving as a memory-aid for locating the target.
+


+
+

3 Tasks Where Suggestions And Completions Help Speed Up Task Completion

Here are exemplars of tasks that I perform often and where I require
+all the help that Emacs can provide in completing the task as rapidly
+as possible:
+


+
File Navigation
+
Navigating to and opening a file — either code or prose.
+
Content Navigation
+
Jump to a specific location (section, function, class/method, or pattern-match) in that file.
+
Buffer Navigation
+
Jump to an already open buffer in a long-running Emacs.

If that buffer existed — but has since been killed (by
+midnight for example), then re-open that buffer.
+I do everything in Emacs, so open buffers include a large
+number of ORG and LaTeX documents, Web Pages opened in EWW
+(news sites, documentation, blog articles), IM Chats (I use
+jabber), Mail Buffers — both open folders and previously
+sent messages, and much, much more.
+

Media
+
Easily launch media streams including local and streaming media.
+
EBooks
+
Open (or jump to an already open) EBook to continue reading.
+
Code Completion
+
Complete function/method-name as I type, with an easy affordance to move among the available choices. The Suggest/Input/Filter/Target interaction loop applies here as well.

+
+

Notice that as one performs all of these tasks, every target is an
+Emacs buffer or Emacs buffer location. In the case of completion, the
+target is a string that gets inserted at the current location.
+


+

4 Features Of Eyes-Free Interaction

Using spoken output — as opposed to a rich visual display — has
+the following special features and/or drawbacks:
+


+
  1. A large visual display can offer the user many choices at a time,
    +and the eye's ability to rapidly scan these choices makes for an
    +extremely fast Suggest/Input/Filter/Target loop. As an example, an
    +interface like helm can display a large number of initial
    +choices, with the user filtering these down with a few strategic key-presses.
  2. +
  3. Spoken output takes time — and there is simply no way around
    +this — speeding up speech-rate helps to a point, but speaking
    +50 choices very fast does not help the user in the explore
    +phase. This means that effective filtering and ranking of the available
    +choices takes on added importance.
  4. +
  5. More importantly, picking a Suggest/Input/Filter/Target (SIFT)
    +interaction loop that depends on a large display is sub-optimal
    +for eyes-free interaction.
  6. +
  7. Given (2,3), smart filtering, flex/fuzzy matching, and ranking
    +based on past user behavior take on added importance in an
    +eyes-free environment. As an aside, I have high hopes in this
    +area for package prescient — though in my few days of usage,
    +it has yet to make a difference in my productivity.
  8. +
  9. For many of the tasks enumerated in the previous section, (2, 3
    +and 4) make ido with flex and fuzzy matching extremely
    +effective. In contrast, helm with similar flex and fuzzy
    +matching (via packages helm-flx and helm-fuzzier) adds little
    +extra benefit — and the fractional extra time to compute and
    +display the choices can even lead to a minor productivity hit.
  10. +
  11. When it comes to writing code with completion, package company
    +has proven extremely effective. Notice that when writing code,
    +one rarely if ever resorts to fuzzy matching — this may well
    +be subjective. Speaking for myself, I cannot think of function
    +or method names in the context of fuzzy matching — said
    +differently, it's hard to think xl for function-name
    +next-line — even though in a given filtering context, xl
    +might define the shortest path through the available choices to
    +the target next-line. Given this, emacspeak implements a
    +company front-end that allows the user to navigate through the
    +available choices with succinct spoken feedback, and I use those
    +choices only after I have typed sufficiently many characters to
    +have a manageable number of choices — said differently, though
    +package company is set up to trigger after 3 characters have
    +been typed, I usually end up typing more — and often resort to
    +dabbrev or hippee-expand to input this longer prefix.
  12. +
  13. Some of the shortcomings with eyes-free interaction enumerated
    +above lead to my looking for effective work-arounds that might
    +well work well outside the eyes-free context, e.g. when the
    +available choices are too large to fit on a typical visual
    +display. Interestingly, most of these have also been solved by
    +mainstream Emacs developers in their never-ending/unerring quest for increased
    +productivity — package ido and company are excellent exemplars.
  14. +

+
+
  • Mapping Solutions To Tasks
  • +

+

This section maps the various solutions I use to speed up the tasks
+enumerated earlier in this article.
+


+

4.1 File And Buffer Navigation

I use package ido with add-ons flx-ido and ido-completing-read+
+(formerly ido-ubiquitous) as my primary/only solution for this
+task. I've dabbled with package helm — primarily via command
+helm-mini but have found almost no use-cases where I did better with
+helm. I also use command org-switchb to quickly jump to any of my
+open org buffers – since that automatically filters the choices
+down for me — I can then get to the org-mode buffer I want with
+one or two keystrokes. Notice that in all of these cases, I'm relying
+on the fact that I mostly know what I want, i.e., the explore phase
+does not start with an entirely blank sheet of paper.
+


+

4.2 Content Navigation

Incremental search is your biggest and most effective friend in
+effective eyes-free interaction — this simply cannot be stressed
+enough. That everything in Emacs is searchable via
+incremental-search is a big win for eyes-free interaction. When you
+have a large visual display, the human eye is the search interface of
+first resort – you typically use a search-command only if the
+target is below the fold or far away from the cursor. Because spoken
+output takes time, I use isearch even when the target is one or two
+lines away.
+


+

Structured navigation comes next in my toolbox for navigating content
+— imenu for code, and section navigation for documents (org,
+LaTeX). I also use command occur to advantage since that provides a
+quick way of finding all the desired targets in a document. Given that
+program source-code uses indentation for displaying structure,
+hbuilt-in command selective-display remains one of Emacs' hidden
+treasures with respect to expanding/collapsing source-code.
+


+

Finally, I
+use a combination of isearch and structured navigation in
+org-mode buffres by collapsing the document, and then using
+isearch to reveal the desired content fragment.
+In the case of LaTeX documents, I use package reftex to
+generate a navigation buffer that functions as an interactive table
+of contents.
+


+

4.3 Locating And Playing Media

  1. I keep all my music content organized under ~/mp3.
  2. +
  3. I keep playlist files that contain stream-links to my favorite
    +Internet streams under emacspeak/media.
  4. +
  5. The afore-mentioned techniques using ido enables me to launch
    +local and streaming media with a small number of keystrokes. Once
    +selected, the content is played via package emacspeak-m-player
    +which provides Emacs bindings to all mplayer functionality
    +via that program's slave-mode. In addition, Emacspeak also
    +implements a smart emacspeak-m-player-locate-media which uses
    +Emacs' integration with command locate to turn the located
    +files matching a given pattern into an interactive play-list.
  6. +

+

4.4 EBooks

Jumping to already open ebooks is no different than buffer
+navigation. I organize all my ebooks under a single directory
+tree, and module emacspeak-epub implements a bookshelf that
+allows me to organize and browse my collection along various
+axies. Finally, Emacspeak implements a light-weight bookmark
+facility that works with eww so that I can save my place in an
+ebook across Emacs sessions.
+


+

4.5 Code Completion

As covered earlier, I use company along with dabbrev and
+hippee-expand while writing code. I also use yasnippet to
+generate skeleton code. I use auto-correct-mode to
+automatically correct repeated errors, and add abbrevs for
+commonly occurring typos.
+


+

5 Summary

  1. Emacs' Suggest/Input/Filter/Target (SIFT) interaction loop is just as
    +effective in eyes-free interaction — in fact more so .
  2. +
  3. Fuzzy matching when filtering is a big win when working with spoken
    +output — it leads to faster task completion.
  4. +
  5. Navigating ones computing environment based on the underlying
    +structure and semantics of electronic content is a major win —
    +both when working with a visual or spoken display. The advantages
    +just become evident far sooner in the eyes-free context due to the
    +inherently temporal nature of spoken interaction.
  6. +

Date: 2018-06-22 Fri 00:00

Author: T.V Raman

Created: 2018-06-23 Sat 17:22

Validate

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2018-06-22T14:47:00.001-07:00

Emacspeak 48.0 (ServiceDog) Unleashed!

+
+

Emacspeak 48.0—ServiceDog—Unleashed!

*For Immediate Release:
+


+

San Jose, Calif., (May 04, 2018)
+


+

Emacspeak 48.0 (ServiceDog):
+Redefining Accessibility In The Age Of User-Aware Interfaces
+–Zero cost of Ownership makes priceless software Universally affordable!
+


+

Emacspeak Inc (NASDOG: ESPK) — http://github.com/tvraman/emacspeak
+— announces the immediate world-wide availability of Emacspeak 48.0
+(ServiceDog) — a powerful audio desktop for leveraging today's
+evolving Data, Social and Assistant-Oriented Internet cloud.
+


+

1 Investors Note:

With several prominent tweeters expanding coverage of #emacspeak,
+NASDOG: ESPK has now been consistently trading over the social net at
+levels close to that once attained by DogCom high-fliers—and as of
+May
+2018 is trading at levels close to that achieved by once better known
+stocks in the tech sector.
+


+

2 What Is It?

Emacspeak is a fully functional audio desktop that provides complete
+eyes-free access to all major 32 and 64 bit operating environments. By
+seamlessly blending live access to all aspects of the Internet such as
+ubiquitous assistance, Web-surfing, blogging, social computing and
+electronic messaging into the audio desktop, Emacspeak enables speech
+access to local and remote information with a consistent and
+well-integrated user interface. A rich suite of task-oriented tools
+provides efficient speech-enabled access to the evolving
+assistant-oriented social Internet cloud.
+


+

3 Major Enhancements:

This version requires emacs-25.1 or later.
+

  1. Emacs 26 Support 🤻
  2. +
  1. Locate And Play Media ᭳
  2. +
  3. Updated EPub Support 🕮
  4. +
  5. Updated Outloud TTS Server 💬
  6. +
  7. Espeak-NG support📢
  8. +
  9. Smart TTS Prompts 🙊
  10. +
  11. DBus Integration including screenlock via Gnome-ScreenSaver 🚌
  12. +
  13. MPlayer And Equalizer Presets ≝
  14. +
  15. VLC front-end 🎹
  16. +
  17. Updated URL templates 🕷
  18. +
  19. Updated websearch wizards 🕸
    +


    +

    — And a lot more than will fit this margin. … 🗞
    +

  20. +

+
+

4 Establishing Liberty, Equality And Freedom:

Never a toy system, Emacspeak is voluntarily bundled with all
+major Linux distributions. Though designed to be modular,
+distributors have freely chosen to bundle the fully integrated
+system without any undue pressure—a documented success for
+the integrated innovation embodied by Emacspeak. As the system
+evolves, both upgrades and downgrades continue to be available at
+the same zero-cost to all users. The integrity of the Emacspeak
+codebase is ensured by the reliable and secure Linux platform
+used to develop and distribute the software.
+


+

Extensive studies have shown that thanks to these features, users
+consider Emacspeak to be absolutely priceless. Thanks to this
+wide-spread user demand, the present version remains priceless
+as ever—it is being made available at the same zero-cost as
+previous releases.
+


+

At the same time, Emacspeak continues to innovate in the area of
+eyes-free Assistance and social interaction and carries forward the
+well-established Open Source tradition of introducing user interface
+features that eventually show up in luser environments.
+


+

On this theme, when once challenged by a proponent of a crash-prone
+but well-marketed mousetrap with the assertion "Emacs is a system from
+the 70's", the creator of Emacspeak evinced surprise at the unusual
+candor manifest in the assertion that it would take popular
+idiot-proven interfaces until the year 2070 to catch up to where the
+Emacspeak audio desktop is today. Industry experts welcomed this
+refreshing breath of Courage Certainty and Clarity (CCC) at a time
+when users are reeling from the Fear Uncertainty and Doubt (FUD)
+unleashed by complex software systems backed by even more convoluted
+press releases.
+


+

5 Independent Test Results:

Independent test results have proven that unlike some modern (and
+not so modern) software, Emacspeak can be safely uninstalled without
+adversely affecting the continued performance of the computer. These
+same tests also revealed that once uninstalled, the user stopped
+functioning altogether. Speaking with Aster Labrador, the creator of
+Emacspeak once pointed out that these results re-emphasize the
+user-centric design of Emacspeak; “It is the user –and not the
+computer– that stops functioning when Emacspeak is uninstalled!”.
+


+

5.1 Note from Aster,Bubbles and Tilden:

UnDoctored Videos Inc. is looking for volunteers to star in a
+video demonstrating such complete user failure.
+


+

6 Obtaining Emacspeak:

Emacspeak can be downloaded from GitHub –see
+https://github.com/tvraman/emacspeak you can visit Emacspeak on the
+WWW at http://emacspeak.sf.net. You can subscribe to the emacspeak
+mailing list — emacspeak@cs.vassar.edu — by sending mail to the
+list request address emacspeak-request@cs.vassar.edu. The Emacspeak
+Blog
is a good source for news about recent enhancements and how to
+use them.
+


+

The latest development snapshot of Emacspeak is always available via
+Git from GitHub at
+Emacspeak GitHub .
+


+

7 History:

  • Emacspeak 48.0 (ServiceDog) builds on earlier releases to provide
    +continued end-user value.
  • +
  • Emacspeak 47.0 (GentleDog) goes the next step in being helpful
    +while letting users learn and grow.
  • +
  • Emacspeak 46.0 (HelpfulDog) heralds the coming of Smart Assistants.
  • +
  • Emacspeak 45.0 (IdealDog) is named in recognition of Emacs'
    +excellent integration with various programming language
    +environments — thanks to this, Emacspeak is the IDE of choice
    +for eyes-free software engineering.
  • +
  • Emacspeak 44.0 continues the steady pace of innovation on the
    +audio desktop.
  • +
  • Emacspeak 43.0 brings even more end-user efficiency by leveraging the
    +ability to spatially place multiple audio streams to provide timely
    +auditory feedback.
  • +
  • Emacspeak 42.0 while moving to GitHub from Google Code continues to
    +innovate in the areas of auditory user interfaces and efficient,
    +light-weight Internet access.
  • +
  • Emacspeak 41.0 continues to improve
    +on the desire to provide not just equal, but superior access —
    +technology when correctly implemented can significantly enhance the
    +human ability.
  • +
  • Emacspeak 40.0 goes back to Web basics by enabling
    +efficient access to large amounts of readable Web content.
  • +
  • Emacspeak 39.0 continues the Emacspeak tradition of increasing the breadth of
    +user tasks that are covered without introducing unnecessary
    +bloatware.
  • +
  • Emacspeak 38.0 is the latest in a series of award-winning
    +releases from Emacspeak Inc.
  • +
  • Emacspeak 37.0 continues the tradition of
    +delivering robust software as reflected by its code-name.
  • +
  • Emacspeak 36.0 enhances the audio desktop with many new tools including full
    +EPub support — hence the name EPubDog.
  • +
  • Emacspeak 35.0 is all about
    +teaching a new dog old tricks — and is aptly code-named HeadDog in
    +on of our new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles)
    +established a new beach-head with respect to rapid task completion in
    +an eyes-free environment.
  • +
  • Emacspeak-33.0 AKA StarDog brings
    +unparalleled cloud access to the audio desktop.
  • +
  • Emacspeak 32.0 AKA
    +LuckyDog continues to innovate via open technologies for better
    +access.
  • +
  • Emacspeak 31.0 AKA TweetDog — adds tweeting to the Emacspeak
    +desktop.
  • +
  • Emacspeak 30.0 AKA SocialDog brings the Social Web to the
    +audio desktop—you cant but be social if you speak!
  • +
  • Emacspeak 29.0—AKAAbleDog—is a testament to the resilliance and innovation
    +embodied by Open Source software—it would not exist without the
    +thriving Emacs community that continues to ensure that Emacs remains
    +one of the premier user environments despite perhaps also being one of
    +the oldest.
  • +
  • Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of
    +development evinced by Open Source software.
  • +
  • Emacspeak 27.0—AKA
    +FastDog—is the latest in a sequence of upgrades that make previous
    +releases obsolete and downgrades unnecessary.
  • +
  • Emacspeak 26—AKA
    +LeadDog—continues the tradition of introducing innovative access
    +solutions that are unfettered by the constraints inherent in
    +traditional adaptive technologies.
  • +
  • Emacspeak 25 —AKA ActiveDog
    +—re-activates open, unfettered access to online
    +information.
  • +
  • Emacspeak-Alive —AKA LiveDog —enlivens open, unfettered
    +information access with a series of live updates that once again
    +demonstrate the power and agility of open source software
    +development.
  • +
  • Emacspeak 23.0 — AKA Retriever—went the extra mile in
    +fetching full access.
  • +
  • Emacspeak 22.0 —AKA GuideDog —helps users
    +navigate the Web more effectively than ever before.
  • +
  • Emacspeak 21.0
    +—AKA PlayDog —continued the
    +Emacspeak tradition of relying on enhanced
    +productivity to liberate users.
  • +
  • Emacspeak-20.0 —AKA LeapDog —continues
    +the long established GNU/Emacs tradition of integrated innovation to
    +create a pleasurable computing environment for eyes-free
    +interaction.
  • +
  • emacspeak-19.0 –AKA WorkDog– is designed to enhance
    +user productivity at work and leisure.
  • +
  • Emacspeak-18.0 –code named
    +GoodDog– continued the Emacspeak tradition of enhancing user
    +productivity and thereby reducing total cost of
    +ownership.
  • +
  • Emacspeak-17.0 –code named HappyDog– enhances user
    +productivity by exploiting today's evolving WWW
    +standards.
  • +
  • Emacspeak-16.0 –code named CleverDog– the follow-up to
    +SmartDog– continued the tradition of working better, faster,
    +smarter.
  • +
  • Emacspeak-15.0 –code named SmartDog–followed up on TopDog
    +as the next in a continuing series of award-winning audio desktop
    +releases from Emacspeak Inc.
  • +
  • Emacspeak-14.0 –code named TopDog–was
  • +

the first release of this millennium.
+

  • Emacspeak-13.0 –codenamed
    +YellowLab– was the closing release of the
    +20th. century.
  • +
  • Emacspeak-12.0 –code named GoldenDog– began
    +leveraging the evolving semantic WWW to provide task-oriented speech
    +access to Webformation.
  • +
  • Emacspeak-11.0 –code named Aster– went the
    +final step in making Linux a zero-cost Internet access solution for
    +blind and visually impaired users.
  • +
  • Emacspeak-10.0 –(AKA
    +Emacspeak-2000) code named WonderDog– continued the tradition of
    +award-winning software releases designed to make eyes-free computing a
    +productive and pleasurable experience.
  • +
  • Emacspeak-9.0 –(AKA
    +Emacspeak 99) code named BlackLab– continued to innovate in the areas
    +of speech interaction and interactive accessibility.
  • +
  • Emacspeak-8.0 –(AKA Emacspeak-98++) code named BlackDog– was a major upgrade to
    +the speech output extension to Emacs.
  • +
  • Emacspeak-95 (code named Illinois) was released as OpenSource on
    +the Internet in May 1995 as the first complete speech interface
    +to UNIX workstations. The subsequent release, Emacspeak-96 (code
    +named Egypt) made available in May 1996 provided significant
    +enhancements to the interface. Emacspeak-97 (Tennessee) went
    +further in providing a true audio desktop. Emacspeak-98
    +integrated Internetworking into all aspects of the audio desktop
    +to provide the first fully interactive speech-enabled WebTop.
  • +

+

8 About Emacspeak:

Originally based at Cornell (NY) —
+http://www.cs.cornell.edu/home/raman —home to Auditory User
+Interfaces (AUI) on the WWW, Emacspeak is now maintained on GitHub
+—https://github.com/tvraman/emacspeak. The system is mirrored
+world-wide by an international network of software archives and
+bundled voluntarily with all major Linux distributions. On Monday,
+April 12, 1999, Emacspeak became part of the Smithsonian's Permanent
+Research Collection
on Information Technology at the Smithsonian's
+National Museum of American History.
+


+

The Emacspeak mailing list is archived at Vassar –the home of the
+Emacspeak mailing list– thanks to Greg Priest-Dorman, and provides a
+valuable knowledge base for new users.
+


+

9 Press/Analyst Contact: Tilden Labrador

Going forward, Tilden acknowledges his exclusive monopoly on
+setting the direction of the Emacspeak Audio Desktop, and
+promises to exercise this freedom to innovate and her resulting
+power responsibly (as before) in the interest of all dogs.
+


+

*About This Release:
+



+

Windows-Free (WF) is a favorite battle-cry of The League Against
+Forced Fenestration (LAFF). –see
+http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on
+the ill-effects of Forced Fenestration.
+


+

CopyWrite )C( Aster, Hubbell and Tilden Labrador. All Writes Reserved.
+HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered
+Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to
+their respective owners.
+

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2018-05-03T13:38:00.004-07:00

Updating Voxin TTS Server To Avoid A Possible ALSA Bug

+
+

Updating Voxin TTS Server To Avoid A Possible ALSA Bug

1 Summary

I recently updated to a new Linux laptop running the latest Debian
+(Rodete). The upgrade went smoothly, but when I started using the
+machine, I found that the Emacspeak TTS server for Voxin (Outloud)
+crashed consistently; here, consistently equated to crashing on short
+utterances which made typing or navigating by character an extremely
+frustrating experience.
+


+

I fixed the issue by creating a work-around in the TTS server
+atcleci.cpp::xrun
+— if you run into this issue, make sure to update and rebuild
+atcleci.so from GitHub; alternatively, you'll find an updated
+atcleci.so in the servers/linux-outloud/lib/ directory after a
+git update that you can copy over to your servers/linux-outloud
+directory.
+


+

2 What Was Crashing

I use a DMIX plugin as the default device — and have many ALSA
+virtual devices that are defined in terms of this device — see my
+asoundrc. With this configuration, writing to the ALSA device was
+raising an EPIPE error — normally this error indicates a buffer
+underrun — that's when ALSA is starved of audio data. But in many
+of these cases, the ALSA device was still in a RUNNING rather than
+an XRUN state — this caused the Emacspeak server to
+abort. Curiously, this happened only sporadically — and from my
+experimentation only happened when there were multiple streams of
+audio active on the machine.
+A few Google searches showed threads on the alsa/kernel devel lists
+that indicated that this bug was present in the case of DMIX devices
+— it was hard to tell if the patch that was submitted on the
+alsa-devel list had made it into my installation of Debian.
+


+

3 Fixing The Problem

My original implementation of function xrun had been cloned from
+aplay.c about 15+ years ago — looking at the newest aplay
+implementation, little to nothing had changed there. I finally worked
+around the issue by adding a call to
+

snd_pcm_prepare(AHandle) 
+
+

whenever ALSA raised an EPIPE error during write — with the ALSA
+device state in a RUNNING rather than an XRUN state. This
+appears to fix the issue.
+

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2018-01-08T10:06:00.002-08:00

Emacspeak 47.0 (GentleDog) Unleashed!

+
+

Emacspeak 47.0—GentleDog—Unleashed!

*For Immediate Release:
+


+

San Jose, Calif., (November 22, 2017)
+


+

Emacspeak 47.0 (GentleDog):
+Redefining Accessibility In The Age Of User-Aware Interfaces
+–Zero cost of Ownership makes priceless software Universally affordable!
+


+

Emacspeak Inc (NASDOG: ESPK) — http://github.com/tvraman/emacspeak
+— announces the immediate world-wide availability of Emacspeak 47.0
+(GentleDog) — a powerful audio desktop for leveraging today's
+evolving Data, Social and Assistant-Oriented Internet cloud.
+


+

1 Investors Note:

With several prominent tweeters expanding coverage of #emacspeak,
+NASDOG: ESPK has now been consistently trading over the social net at
+levels close to that once attained by DogCom high-fliers—and as of
+November
+2017 is trading at levels close to that achieved by once better known
+stocks in the tech sector.
+


+

2 What Is It?

Emacspeak is a fully functional audio desktop that provides complete
+eyes-free access to all major 32 and 64 bit operating environments. By
+seamlessly blending live access to all aspects of the Internet such as
+ubiquitous assistance, Web-surfing, blogging, social computing and
+electronic messaging into the audio desktop, Emacspeak enables speech
+access to local and remote information with a consistent and
+well-integrated user interface. A rich suite of task-oriented tools
+provides efficient speech-enabled access to the evolving
+assistant-oriented social Internet cloud.
+


+

3 Major Enhancements:

This version requires emacs-25.1 or later.
+


+
  1. speech-Enable Extensible EVIL — VI Layer: ⸎
  2. +
  3. Bookshare — Support Additional downloads (epub3,mp3): 🕮
  4. +
  5. Bookmark support for EBooks in EWW 📔
  6. +
  7. Speech-Enable VDiff — A Diff tool: ≏
  8. +
  9. Speech-enable Package shx —Shell Extras For Emacs: 🖁
  10. +
  11. Updated IDO Support: ⨼
  12. +
  13. Implemented NOAA Weather API: ☔
  14. +
  15. Speech-Enable Typographic Editting Support: 🖶
  16. +
  17. Speech-Enable Package Origami: 🗀
  18. +
  19. Magit Enhancements for Magitians: 🎛
  20. +
  21. Speech-Enable RipGrep Front-End: ┅
  22. +
  23. Added SmartParen Support: 〙
  24. +
  25. Speech-enabled Minesweeper game: 🤯
    +
    +
    • And a lot more than wil fit this margin. … 🗞
    • +
  26. +

+
+

4 Establishing Liberty, Equality And Freedom:

Never a toy system, Emacspeak is voluntarily bundled with all
+major Linux distributions. Though designed to be modular,
+distributors have freely chosen to bundle the fully integrated
+system without any undue pressure—a documented success for
+the integrated innovation embodied by Emacspeak. As the system
+evolves, both upgrades and downgrades continue to be available at
+the same zero-cost to all users. The integrity of the Emacspeak
+codebase is ensured by the reliable and secure Linux platform
+used to develop and distribute the software.
+


+

Extensive studies have shown that thanks to these features, users
+consider Emacspeak to be absolutely priceless. Thanks to this
+wide-spread user demand, the present version remains priceless
+as ever—it is being made available at the same zero-cost as
+previous releases.
+


+

At the same time, Emacspeak continues to innovate in the area of
+eyes-free Assistance and social interaction and carries forward the
+well-established Open Source tradition of introducing user interface
+features that eventually show up in luser environments.
+


+

On this theme, when once challenged by a proponent of a crash-prone
+but well-marketed mousetrap with the assertion "Emacs is a system from
+the 70's", the creator of Emacspeak evinced surprise at the unusual
+candor manifest in the assertion that it would take popular
+idiot-proven interfaces until the year 2070 to catch up to where the
+Emacspeak audio desktop is today. Industry experts welcomed this
+refreshing breath of Courage Certainty and Clarity (CCC) at a time
+when users are reeling from the Fear Uncertainty and Doubt (FUD)
+unleashed by complex software systems backed by even more convoluted
+press releases.
+


+

5 Independent Test Results:

Independent test results have proven that unlike some modern (and
+not so modern) software, Emacspeak can be safely uninstalled without
+adversely affecting the continued performance of the computer. These
+same tests also revealed that once uninstalled, the user stopped
+functioning altogether. Speaking with Aster Labrador, the creator of
+Emacspeak once pointed out that these results re-emphasize the
+user-centric design of Emacspeak; "It is the user –and not the
+computer– that stops functioning when Emacspeak is uninstalled!".
+


+

5.1 Note from Aster,Bubbles and Tilden:

UnDoctored Videos Inc. is looking for volunteers to star in a
+video demonstrating such complete user failure.
+


+

6 Obtaining Emacspeak:

Emacspeak can be downloaded from GitHub –see
+https://github.com/tvraman/emacspeak you can visit Emacspeak on the
+WWW at http://emacspeak.sf.net. You can subscribe to the emacspeak
+mailing list — emacspeak@cs.vassar.edu — by sending mail to the
+list request address emacspeak-request@cs.vassar.edu. The Emacspeak
+Blog
is a good source for news about recent enhancements and how to
+use them.
+


+

The latest development snapshot of Emacspeak is always available via
+Git from GitHub at
+Emacspeak GitHub .
+


+

7 History:

  • Emacspeak 47.0 (GentleDog) goes the next step in being helpful
    +while letting users learn and grow.
  • +
  • Emacspeak 46.0 (HelpfulDog) heralds the coming of Smart Assistants.
  • +
  • Emacspeak 45.0 (IdealDog) is named in recognition of Emacs'
    +excellent integration with various programming language
    +environments — thanks to this, Emacspeak is the IDE of choice
    +for eyes-free software engineering.
  • +
  • Emacspeak 44.0 continues the steady pace of innovation on the
    +audio desktop.
  • +
  • Emacspeak 43.0 brings even more end-user efficiency by leveraging the
    +ability to spatially place multiple audio streams to provide timely
    +auditory feedback.
  • +
  • Emacspeak 42.0 while moving to GitHub from Google Code continues to
    +innovate in the areas of auditory user interfaces and efficient,
    +light-weight Internet access.
  • +
  • Emacspeak 41.0 continues to improve
    +on the desire to provide not just equal, but superior access —
    +technology when correctly implemented can significantly enhance the
    +human ability.
  • +
  • Emacspeak 40.0 goes back to Web basics by enabling
    +efficient access to large amounts of readable Web content.
  • +
  • Emacspeak 39.0 continues the Emacspeak tradition of increasing the breadth of
    +user tasks that are covered without introducing unnecessary
    +bloatware.
  • +
  • Emacspeak 38.0 is the latest in a series of award-winning
    +releases from Emacspeak Inc.
  • +
  • Emacspeak 37.0 continues the tradition of
    +delivering robust software as reflected by its code-name.
  • +
  • Emacspeak 36.0 enhances the audio desktop with many new tools including full
    +EPub support — hence the name EPubDog.
  • +
  • Emacspeak 35.0 is all about
    +teaching a new dog old tricks — and is aptly code-named HeadDog in
    +on of our new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles)
    +established a new beach-head with respect to rapid task completion in
    +an eyes-free environment.
  • +
  • Emacspeak-33.0 AKA StarDog brings
    +unparalleled cloud access to the audio desktop.
  • +
  • Emacspeak 32.0 AKA
    +LuckyDog continues to innovate via open technologies for better
    +access.
  • +
  • Emacspeak 31.0 AKA TweetDog — adds tweeting to the Emacspeak
    +desktop.
  • +
  • Emacspeak 30.0 AKA SocialDog brings the Social Web to the
    +audio desktop—you cant but be social if you speak!
  • +
  • Emacspeak 29.0—AKAAbleDog—is a testament to the resilliance and innovation
    +embodied by Open Source software—it would not exist without the
    +thriving Emacs community that continues to ensure that Emacs remains
    +one of the premier user environments despite perhaps also being one of
    +the oldest.
  • +
  • Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of
    +development evinced by Open Source software.
  • +
  • Emacspeak 27.0—AKA
    +FastDog—is the latest in a sequence of upgrades that make previous
    +releases obsolete and downgrades unnecessary.
  • +
  • Emacspeak 26—AKA
    +LeadDog—continues the tradition of introducing innovative access
    +solutions that are unfettered by the constraints inherent in
    +traditional adaptive technologies.
  • +
  • Emacspeak 25 —AKA ActiveDog
    +—re-activates open, unfettered access to online
    +information.
  • +
  • Emacspeak-Alive —AKA LiveDog —enlivens open, unfettered
    +information access with a series of live updates that once again
    +demonstrate the power and agility of open source software
    +development.
  • +
  • Emacspeak 23.0 — AKA Retriever—went the extra mile in
    +fetching full access.
  • +
  • Emacspeak 22.0 —AKA GuideDog —helps users
    +navigate the Web more effectively than ever before.
  • +
  • Emacspeak 21.0
    +—AKA PlayDog —continued the
    +Emacspeak tradition of relying on enhanced
    +productivity to liberate users.
  • +
  • Emacspeak-20.0 —AKA LeapDog —continues
    +the long established GNU/Emacs tradition of integrated innovation to
    +create a pleasurable computing environment for eyes-free
    +interaction.
  • +
  • emacspeak-19.0 –AKA WorkDog– is designed to enhance
    +user productivity at work and leisure.
  • +
  • Emacspeak-18.0 –code named
    +GoodDog– continued the Emacspeak tradition of enhancing user
    +productivity and thereby reducing total cost of
    +ownership.
  • +
  • Emacspeak-17.0 –code named HappyDog– enhances user
    +productivity by exploiting today's evolving WWW
    +standards.
  • +
  • Emacspeak-16.0 –code named CleverDog– the follow-up to
    +SmartDog– continued the tradition of working better, faster,
    +smarter.
  • +
  • Emacspeak-15.0 –code named SmartDog–followed up on TopDog
    +as the next in a continuing series of award-winning audio desktop
    +releases from Emacspeak Inc.
  • +
  • Emacspeak-14.0 –code named TopDog–was
  • +

the first release of this millennium.
+

  • Emacspeak-13.0 –codenamed
    +YellowLab– was the closing release of the
    +20th. century.
  • +
  • Emacspeak-12.0 –code named GoldenDog– began
    +leveraging the evolving semantic WWW to provide task-oriented speech
    +access to Webformation.
  • +
  • Emacspeak-11.0 –code named Aster– went the
    +final step in making Linux a zero-cost Internet access solution for
    +blind and visually impaired users.
  • +
  • Emacspeak-10.0 –(AKA
    +Emacspeak-2000) code named WonderDog– continued the tradition of
    +award-winning software releases designed to make eyes-free computing a
    +productive and pleasurable experience.
  • +
  • Emacspeak-9.0 –(AKA
    +Emacspeak 99) code named BlackLab– continued to innovate in the areas
    +of speech interaction and interactive accessibility.
  • +
  • Emacspeak-8.0 –(AKA Emacspeak-98++) code named BlackDog– was a major upgrade to
    +the speech output extension to Emacs.
  • +
  • Emacspeak-95 (code named Illinois) was released as OpenSource on
    +the Internet in May 1995 as the first complete speech interface
    +to UNIX workstations. The subsequent release, Emacspeak-96 (code
    +named Egypt) made available in May 1996 provided significant
    +enhancements to the interface. Emacspeak-97 (Tennessee) went
    +further in providing a true audio desktop. Emacspeak-98
    +integrated Internetworking into all aspects of the audio desktop
    +to provide the first fully interactive speech-enabled WebTop.
  • +

+

8 About Emacspeak:

Originally based at Cornell (NY) —
+http://www.cs.cornell.edu/home/raman —home to Auditory User
+Interfaces (AUI) on the WWW, Emacspeak is now maintained on GitHub
+—https://github.com/tvraman/emacspeak. The system is mirrored
+world-wide by an international network of software archives and
+bundled voluntarily with all major Linux distributions. On Monday,
+April 12, 1999, Emacspeak became part of the Smithsonian's Permanent
+Research Collection
on Information Technology at the Smithsonian's
+National Museum of American History.
+


+

The Emacspeak mailing list is archived at Vassar –the home of the
+Emacspeak mailing list– thanks to Greg Priest-Dorman, and provides a
+valuable knowledge base for new users.
+


+

9 Press/Analyst Contact: Tilden Labrador

Going forward, Tilden acknowledges his exclusive monopoly on
+setting the direction of the Emacspeak Audio Desktop, and
+promises to exercise this freedom to innovate and her resulting
+power responsibly (as before) in the interest of all dogs.
+


+

*About This Release:
+



+

Windows-Free (WF) is a favorite battle-cry of The League Against
+Forced Fenestration (LAFF). –see
+http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on
+the ill-effects of Forced Fenestration.
+


+

CopyWrite )C( Aster, Hubbell and Tilden Labrador. All Writes Reserved.
+HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered
+Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to
+their respective owners.
+

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2017-11-21T14:44:00.000-08:00

Emacs Start-Up: Speeding It Up

+
+

Emacs Start-Up: Speeding It Up

1 TL;DR:

Describes my Emacs start-up file, and what I did to speed it up from
+12 seconds to under 4 seconds.
+

2 Overview Of Steps

  • Byte-compile start-up files.
  • +
  • Temporarily increase gc-cons-threshold during startup.
  • +
  • Load package autoloads (not packages) during start-up.
  • +
  • Use eval-after-load to advantage for post-package setup.
  • +
  • Lexically bind file-name-handler-alist to nil if start-up
    +is split across many files.
  • +
  • Used memoization to avoid network lookup of current location during startup.
  • +

+
+

I have a large number of elpa/melpa packages installed:
+

(length load-path)
+
400
+
+

+

With the above, my emacs (Emacs 26 built from Git) startup time is on
+average 4 seconds. This includes starting up emacspeak (including
+speech servers), as well as launching a number of project-specific
+shell buffers. Given that I rarely restart Emacs, the startup time is
+academic — but speeding up Emacs startup did get me to clean-up my
+Emacs setup.
+


+

3 Introduction

I have now used Emacs for more than 25 years, and my Emacs start-up
+file
has followed the same structure through this time.
+


+
  1. The init file defines a start-up-emacs function that does the
    +bulk of the work.
  2. +
  3. Package-specific configuration is split up into
    +<package>-prepare.el files.
  4. +
  5. All of these files are byte-compiled.
  6. +

+

As a first step, I added code to my start-up file to time the loading
+of various modules.
+


+

4 Load Byte-Compiled Start-Up File

I keep my emacs-startup.el checked into GitHub.
+My Emacs init-file is a symlink to the byte-compiled version of the
+above — this is something that goes back to my time as a
+grad-student at Cornell (when GitHub of course did not exist).
+That is also when I originally learnt the trick of temporarily setting
+gc-cons-threshold to 8MB — Emacs' default is 800K.
+


+

5 Package Autoloads And eval-after-load

Over time, some of the package-specific setup files had come to
+directly load packages — it just made it easier to do
+package-specific setup at the time. As part of the cleanup, I updated
+these to strictly load package-autoload files and wrapped post-package
+setup code in eval-after-load — this is effectively the same as
+using use-package.
+


+
+

6 Loading Files Faster

Emacs has an extremely flexible mechanism for loading files — this
+means you can load compressed, encrypted or remote files without
+having to worry about it. That flexibility comes at a cost — if you
+are sure you dont need this flexibility during start-up, then locally
+binding file-name-handler-alist to nil is a big win — in my
+case, it sped things up by 50%.
+


+

7 Avoid Network Calls During Start-Up

In my case, I set calendar-latitude and calendar-longitude by
+geocoding my address — geocoding is done by calling the Google Maps
+API. The geocoding API is plenty fast that you normally dont notice
+it — but it was adding anywhere from 1–3 seconds during
+startup. Since my address doesn't change that often, I updated module
+gmaps to use a memoized version. My address is set via Customize,
+and the geocoded lat/long is saved to disk automatically.
+


+
+
+
+

8 References

  1. Emacs Speed What got it all started.
  2. +
  3. file-name-handler-alist The article that gave me the most useful
    +tip of them all.
  4. +

+
+

Net
+

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2017-08-21T13:01:00.002-07:00

Data-Binding In Emacs Lisp: let-alist When Processing JSON Data

+
+

Data-Binding In Emacs Lisp: let-alist When Processing JSON Data

1 Summary

Module json-read consumes JSON data structures and transforms them
+into their elisp equivalent, where JSON dictionaries become alists and
+JSON arrays become vectors. Accessing that data from lisp would
+ordinarily require using lisp accessors such as assoc, car and
+cdr. With let-alist, we get data-binding for free — the result
+is elisp code that uses dotted-variables to directly access specific
+slots in a deeply nested data structure. Thus, processing data
+available as JSON via Web APIs is a really good use-case for
+let-alist. Long-standing wish — I wish Emacs' JSON parsing were
+implemented in native code rather than in elisp.
+


+

1.1 A Working Example

I recently implemented myself a NOAA Weather API Client — it pulls
+the NOAA Weather Forecast (weekly and hourly) as JSON objects, and
+produces an org-mode buffer that renders the data.
+Note that though the above is part of a much larger
+emacspeak-wizards module, the above function and its dependencies
+are themselves mostly independent of Emacspeak, except for the last
+two forms in the weather forecast function.
+Here is an annotated version of the function that gets NOAA data and
+leverages let-alist to process the results:
+


+
(defun ems--noaa-get-data (ask)
+  "Internal function that gets NOAA data and returns a results buffer."
+  (declare (special gweb-my-address))
+  (let* ((buffer (get-buffer-create "*NOAA Weather*"))
+         (inhibit-read-only  t)
+         (date nil)
+         (start (point-min))
+         (address (when ask (read-from-minibuffer "Address:")))
+         (geo  (when ask (gmaps-geocode address))))
+    (unless address (setq address gweb-my-address))
+    (with-current-buffer buffer
+      (erase-buffer)
+      (special-mode)
+      (orgstruct-mode)
+      (setq header-line-format (format "NOAA Weather For %s" address))
+      (insert (format "* Weather Forecast For %s\n\n" address))
+;;; produce Daily forecast
+      (let-alist (g-json-from-url (ems--noaa-url geo))
+        (cl-loop
+         for p across .properties.periods do
+         (let-alist p
+           (insert
+            (format
+             "** Forecast For %s: %s\n\n%s\n\n"
+             .name .shortForecast .detailedForecast)))
+         (fill-region start (point)))
+        (insert
+         (format "\nUpdated at %s\n"
+                 (ems--noaa-time "%c" .properties.updated))))
+      (let-alist ;;; Now produce hourly forecast
+          (g-json-from-url (concat (ems--noaa-url geo) "/hourly"))
+        (insert
+         (format "\n* Hourly Forecast:Updated At %s \n"
+                 (ems--noaa-time "%c" .properties.updated)))
+        (cl-loop
+         for p across .properties.periods do
+         (let-alist p
+           (unless (and date (string= date (ems--noaa-time "%x" .startTime)))
+             (insert (format "** %s\n" (ems--noaa-time "%A %X" .startTime)))
+             (setq date (ems--noaa-time "%x" .startTime)))
+           (insert
+            (format
+             "  - %s %s %s:  Wind Speed: %s Wind Direction: %s\n"
+             (ems--noaa-time "%R" .startTime)
+             .shortForecast
+             .temperature .windSpeed .windDirection)))))
+      (goto-char (point-min)))
+    buffer))
+

+
+
  1. In the above_ /gweb-my-address_ is a Lat/Lng pair as returned by
    +gmaps-geocode defined in g-client/gmaps.el. That is used as the
    +default location for which we retrieve the forecast.
  2. +
  3. Parameter ask if non-nil results in the user being prompted
    +for the address — that address is then geocoded using
    +the Google Maps API.
  4. +
  5. The weather forecast display will leverage org-mode for
    +structured navigation; however we dont want that buffer to be
    +editable in general; moreover special-mode gives us nice
    +features such as q for quitting that window. So we use
    +special-mode as the major mode, and orgstruct-mode as a minor
    +mode to get the best of both worlds.
  6. +
  7. The API call to NOAA results in a JSON data structure where
    +result.properties.periods holds an array of forecast
    +objects. Using that result in let-alist gives us data binding
    +for free! Notice the following:
    +
    1. We can use .properties.periods in the cl-loop as the list
      +to iterate over.
    2. +
    3. Within that loop body, a second let-list enables data
      +binding over the forecast object that we are processing in the
      +loop body.
    4. +
    5. Data accesses inside the loop body are again simple given the
      +data binding created by the let-alist.
    6. +
  8. +

+

The code for generating the hourly forecast is similar in spirit —
+the main take-away here is that let-alist saves a lot of
+boiler-plate code that would have been otherwise required to take
+apart the nested list structure we got back with our data.
+

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2017-07-27T14:09:00.001-07:00

Spatial Audio: ALSA Virtual Devices Using LADSPA

+
+

+

Spatial Audio: ALSA Virtual Devices Using LADSPA

1 Overview

I have long wanted to apply HRTF filters to soundscapes on the
+Emacspeak Audio Desktop to produce effects that are better
+spatialized. I just got this working over the weekend using LADSPA
+Plugin ZamHeadX2-ladspa.so from package zam-plugins.
+


+

2 Getting ZAM Plugins

git clone https://github.com/zamaudio/zam-plugins.git 
+

And follow the instructions in the README file.
+


+

Next, do
+

sudo make install
+

to install the plugins.
+


+

Finally, make sure that the install location is on your LADSPA path.
+


+

2.1 Adding HRTF Virtual Devices Via ASOUNDRC

After updating Emacspeak from GitHub,
+open file servers/linux-outloud/asoundrc
+and copy the section marked HRTF to your personal .asoundrc
+this defines a number of virtual devices that use the newly installed
+LADSPA plugin.
+Beware: Back-up your .asoundrc first and make sure you can restore
+it even if you lose speech.
+


+

3 Spatialized Soundscapes

In a running Emacspeak session, invoke command
+

soundscape-restart
+

with an interactive prefix arg and specify one of the available
+devices using standard Emacs completion.
+


+

For use with Soundscapes, I recommend one of the devices that place
+sound directly in front of the listener (azimuth 0) but with a non-0
+elevation.
+


+

The HRTF devices are named with prefix tts because I would like to
+use these with software TTS; but for now the result with TTS is not
+as good as it is with Soundscapes.
+


+

Notice that command soundscape-restart offers a number of virtual
+ALSA devices based on your .asoundrc; see the next section for a
+summary.
+

4 Virtual ALSA Devices For Use As A Soundscape Filter

Here is a list of available LADSPA devices in my setup that can be
+used to add additional effects to Soundscapes:
+


+
  • crossfeed: Apply a BS2B filter.
  • +
  • default: No filters, vanilla audio.
  • +
  • tap-reverb: Reverb filter from package tap-plugins.
  • +
  • reverb-crossfeed: Reverb filter followed by BS2B.
  • +
  • tts-a0-e15: HRTF at (0, 15).
  • +
  • tts-a0-e30: HRTF at (0, 30).
  • +
  • tts-a0-e60: HRTF at (0, 60).
  • +
  • tts-a0-e90: HRTF at (0, 90).
  • +
  • tts-a0-em15: HRTF at (0, -15).
  • +
  • tts-a0-em30: HRTF at (0, -30).
  • +
  • tts-a0-em45: HRTF at (0, -45).
  • +
  • tts-a135-e45: HRTF at (135, 45).
  • +
  • tts-a135-em45: HRTF at (135, -45).
  • +
  • tts-a225-e45: HRTF at (225, 45).
  • +
  • tts-a225-em45: HRTF at (225, -45).
  • +
  • tts-a45-e45: HRTF at (45, 45).
  • +
  • tts-a45-em45: HRTF at (45, -45).
  • +
  • tts-am45-e45: HRTF at (-45, 45).
  • +
  • tts-am45-em45: HRTF at (-45, -45).
  • +

+

5 Other Uses Of HRTF Devices

You can experiment with these devices using aplay e.g.:
+

aplay -Dtts_a0_e0 filename.wav
+

+

You can also apply the HRTF Ladspa plugin from within MPlayer when
+using emacspeak.
+To try this, use C-e ; f and pick the Zam effect when prompted.
+Invoke that command with an interactive prefix arg — C-u C-e ; f
+— to edit the params passed to the Zam filter.
+


+

HRTF filters when playing media are mostly useful to position a
+radio station in 3d space when playing more than one station
+simultaneously.
+

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2017-07-24T18:49:00.002-07:00

Emacspeak 46.0 (HelpfulDog) Unleashed

+
+

Emacspeak 46.0—HelpfulDog—Unleashed!

For Immediate Release:
+


+

San Jose, Calif., (May 1, 2017)
+


+

Emacspeak 46.0 (HelpfulDog): Redefining Accessibility In The Age Of Smart Assistants
+–Zero cost of Ownership makes priceless software Universally affordable!
+


+

Emacspeak Inc (NASDOG: ESPK) — http://github.com/tvraman/emacspeak — announces the
+immediate world-wide availability of Emacspeak 46.0 (HelpfulDog) — a
+powerful audio desktop for leveraging today's evolving data, social
+and service-oriented Internet cloud.
+


+

1 Investors Note:

With several prominent tweeters expanding coverage of
+#emacspeak, NASDOG: ESPK has now been consistently trading over
+the social net at levels close to that once attained by DogCom
+high-fliers—and as of May 2017 is trading at levels close to
+that achieved by once better known stocks in the tech sector.
+


+

2 What Is It?

Emacspeak is a fully functional audio desktop that provides complete
+eyes-free access to all major 32 and 64 bit operating environments. By
+seamlessly blending live access to all aspects of the Internet such as
+Web-surfing, blogging, social computing and electronic messaging into
+the audio desktop, Emacspeak enables speech access to local and remote
+information with a consistent and well-integrated user interface. A
+rich suite of task-oriented tools provides efficient speech-enabled
+access to the evolving service-oriented social Internet cloud.
+


+

3 Major Enhancements:

This version requires emacs-25.1 or later.
+


+
  1. Audio-formatted Mathematics using NodeJS. ⟋🕪
    +
    1. DBus integration for handling DBus events. 🚌
    2. +
    3. Outloud is Easier To Install On 64-Bit Systems. ʕ
    4. +
    5. Managing Shell Buffers across multiple projects. 📽
    6. +
    7. EWW loads EBook settings when opening EPub files. 🕮
    8. +
    9. Bash Utils for power users. 🐚
    10. +
    11. Speech-Enabled Elisp-Refs. 🤞
    12. +
    13. Updated C/C++ Mode Support. ䷢
    14. +
    15. Updated EShell Support. ︹
    16. +
    17. Speach-Enabled Clojure. 𝍏
    18. +
    19. Speech-Enabled Geiser For Scheme Interaction. ♨
    20. +
    21. Speech-Enabled Cider. 🍎
    22. +
    23. Speech-Enable Racket IDE. ƛ
    24. +
    25. Parameterized auditory icons using SoX-Gen. 🔊
    26. +
    27. IHeart Radio wizard. 📻
    28. +
    29. Speech-Enabled Projectile. 🢫
    30. +
    31. Spoken notifications are cached in a special buffer. ⏰
    32. +
    33. Flycheck And Interactive Correction. 𐄂
      +
      +
      • And a lot more than wil fit this margin. … 🗞
      • +
    34. +
  2. +

+
+

4 Establishing Liberty, Equality And Freedom:

Never a toy system, Emacspeak is voluntarily bundled with all
+major Linux distributions. Though designed to be modular,
+distributors have freely chosen to bundle the fully integrated
+system without any undue pressure—a documented success for
+the integrated innovation embodied by Emacspeak. As the system
+evolves, both upgrades and downgrades continue to be available at
+the same zero-cost to all users. The integrity of the Emacspeak
+codebase is ensured by the reliable and secure Linux platform
+used to develop and distribute the software.
+


+

Extensive studies have shown that thanks to these features, users
+consider Emacspeak to be absolutely priceless. Thanks to this
+wide-spread user demand, the present version remains priceless
+as ever—it is being made available at the same zero-cost as
+previous releases.
+


+

At the same time, Emacspeak continues to innovate in the area of
+eyes-free Assistance and social interaction and carries forward the
+well-established Open Source tradition of introducing user interface
+features that eventually show up in luser environments.
+


+

On this theme, when once challenged by a proponent of a crash-prone
+but well-marketed mousetrap with the assertion "Emacs is a system from
+the 70's", the creator of Emacspeak evinced surprise at the unusual
+candor manifest in the assertion that it would take popular
+idiot-proven interfaces until the year 2070 to catch up to where the
+Emacspeak audio desktop is today. Industry experts welcomed this
+refreshing breath of Courage Certainty and Clarity (CCC) at a time
+when users are reeling from the Fear Uncertainty and Doubt (FUD)
+unleashed by complex software systems backed by even more convoluted
+press releases.
+


+

5 Independent Test Results:

Independent test results have proven that unlike some modern (and
+not so modern) software, Emacspeak can be safely uninstalled without
+adversely affecting the continued performance of the computer. These
+same tests also revealed that once uninstalled, the user stopped
+functioning altogether. Speaking with Aster Labrador, the creator of
+Emacspeak once pointed out that these results re-emphasize the
+user-centric design of Emacspeak; "It is the user –and not the
+computer– that stops functioning when Emacspeak is uninstalled!".
+


+

5.1 Note from Aster,Bubbles and Tilden:

UnDoctored Videos Inc. is looking for volunteers to star in a
+video demonstrating such complete user failure.
+


+

6 Obtaining Emacspeak:

Emacspeak can be downloaded from GitHub –see
+https://github.com/tvraman/emacspeak you can visit Emacspeak on the
+WWW at http://emacspeak.sf.net. You can subscribe to the emacspeak
+mailing list — emacspeak@cs.vassar.edu — by sending mail to the
+list request address emacspeak-request@cs.vassar.edu. The Emacspeak
+Blog
is a good source for news about recent enhancements and how to
+use them.
+


+

The latest development snapshot of Emacspeak is always available via
+Git from GitHub at
+Emacspeak GitHub .
+


+

7 History:

  • Emacspeak 46.0 (HelpfulDog) heralds the coming of Smart Assistants.
  • +
  • Emacspeak 45.0 (IdealDog) is named in recognition of Emacs'
    +excellent integration with various programming language
    +environments — thanks to this, Emacspeak is the IDE of choice
    +for eyes-free software engineering.
  • +
  • Emacspeak 44.0 continues the steady pace of innovation on the
    +audio desktop.
  • +
  • Emacspeak 43.0 brings even more end-user efficiency by leveraging the
    +ability to spatially place multiple audio streams to provide timely
    +auditory feedback.
  • +
  • Emacspeak 42.0 while moving to GitHub from Google Code continues to
    +innovate in the areas of auditory user interfaces and efficient,
    +light-weight Internet access.
  • +
  • Emacspeak 41.0 continues to improve
    +on the desire to provide not just equal, but superior access —
    +technology when correctly implemented can significantly enhance the
    +human ability.
  • +
  • Emacspeak 40.0 goes back to Web basics by enabling
    +efficient access to large amounts of readable Web content.
  • +
  • Emacspeak 39.0 continues the Emacspeak tradition of increasing the breadth of
    +user tasks that are covered without introducing unnecessary
    +bloatware.
  • +
  • Emacspeak 38.0 is the latest in a series of award-winning
    +releases from Emacspeak Inc.
  • +
  • Emacspeak 37.0 continues the tradition of
    +delivering robust software as reflected by its code-name.
  • +
  • Emacspeak 36.0 enhances the audio desktop with many new tools including full
    +EPub support — hence the name EPubDog.
  • +
  • Emacspeak 35.0 is all about
    +teaching a new dog old tricks — and is aptly code-named HeadDog in
    +on of our new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles)
    +established a new beach-head with respect to rapid task completion in
    +an eyes-free environment.
  • +
  • Emacspeak-33.0 AKA StarDog brings
    +unparalleled cloud access to the audio desktop.
  • +
  • Emacspeak 32.0 AKA
    +LuckyDog continues to innovate via open technologies for better
    +access.
  • +
  • Emacspeak 31.0 AKA TweetDog — adds tweeting to the Emacspeak
    +desktop.
  • +
  • Emacspeak 30.0 AKA SocialDog brings the Social Web to the
    +audio desktop—you cant but be social if you speak!
  • +
  • Emacspeak 29.0—AKAAbleDog—is a testament to the resilliance and innovation
    +embodied by Open Source software—it would not exist without the
    +thriving Emacs community that continues to ensure that Emacs remains
    +one of the premier user environments despite perhaps also being one of
    +the oldest.
  • +
  • Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of
    +development evinced by Open Source software.
  • +
  • Emacspeak 27.0—AKA
    +FastDog—is the latest in a sequence of upgrades that make previous
    +releases obsolete and downgrades unnecessary.
  • +
  • Emacspeak 26—AKA
    +LeadDog—continues the tradition of introducing innovative access
    +solutions that are unfettered by the constraints inherent in
    +traditional adaptive technologies.
  • +
  • Emacspeak 25 —AKA ActiveDog
    +—re-activates open, unfettered access to online
    +information.
  • +
  • Emacspeak-Alive —AKA LiveDog —enlivens open, unfettered
    +information access with a series of live updates that once again
    +demonstrate the power and agility of open source software
    +development.
  • +
  • Emacspeak 23.0 — AKA Retriever—went the extra mile in
    +fetching full access.
  • +
  • Emacspeak 22.0 —AKA GuideDog —helps users
    +navigate the Web more effectively than ever before.
  • +
  • Emacspeak 21.0
    +—AKA PlayDog —continued the
    +Emacspeak tradition of relying on enhanced
    +productivity to liberate users.
  • +
  • Emacspeak-20.0 —AKA LeapDog —continues
    +the long established GNU/Emacs tradition of integrated innovation to
    +create a pleasurable computing environment for eyes-free
    +interaction.
  • +
  • emacspeak-19.0 –AKA WorkDog– is designed to enhance
    +user productivity at work and leisure.
  • +
  • Emacspeak-18.0 –code named
    +GoodDog– continued the Emacspeak tradition of enhancing user
    +productivity and thereby reducing total cost of
    +ownership.
  • +
  • Emacspeak-17.0 –code named HappyDog– enhances user
    +productivity by exploiting today's evolving WWW
    +standards.
  • +
  • Emacspeak-16.0 –code named CleverDog– the follow-up to
    +SmartDog– continued the tradition of working better, faster,
    +smarter.
  • +
  • Emacspeak-15.0 –code named SmartDog–followed up on TopDog
    +as the next in a continuing series of award-winning audio desktop
    +releases from Emacspeak Inc.
  • +
  • Emacspeak-14.0 –code named TopDog–was
  • +

the first release of this millennium.
+

  • Emacspeak-13.0 –codenamed
    +YellowLab– was the closing release of the
    +20th. century.
  • +
  • Emacspeak-12.0 –code named GoldenDog– began
    +leveraging the evolving semantic WWW to provide task-oriented speech
    +access to Webformation.
  • +
  • Emacspeak-11.0 –code named Aster– went the
    +final step in making Linux a zero-cost Internet access solution for
    +blind and visually impaired users.
  • +
  • Emacspeak-10.0 –(AKA
    +Emacspeak-2000) code named WonderDog– continued the tradition of
    +award-winning software releases designed to make eyes-free computing a
    +productive and pleasurable experience.
  • +
  • Emacspeak-9.0 –(AKA
    +Emacspeak 99) code named BlackLab– continued to innovate in the areas
    +of speech interaction and interactive accessibility.
  • +
  • Emacspeak-8.0 –(AKA Emacspeak-98++) code named BlackDog– was a major upgrade to
    +the speech output extension to Emacs.
  • +
  • Emacspeak-95 (code named Illinois) was released as OpenSource on
    +the Internet in May 1995 as the first complete speech interface
    +to UNIX workstations. The subsequent release, Emacspeak-96 (code
    +named Egypt) made available in May 1996 provided significant
    +enhancements to the interface. Emacspeak-97 (Tennessee) went
    +further in providing a true audio desktop. Emacspeak-98
    +integrated Internetworking into all aspects of the audio desktop
    +to provide the first fully interactive speech-enabled WebTop.
  • +

+

8 About Emacspeak:

Originally based at Cornell (NY) —
+http://www.cs.cornell.edu/home/raman —home to Auditory User
+Interfaces (AUI) on the WWW, Emacspeak is now maintained on GitHub
+—https://github.com/tvraman/emacspeak. The system is mirrored
+world-wide by an international network of software archives and
+bundled voluntarily with all major Linux distributions. On Monday,
+April 12, 1999, Emacspeak became part of the Smithsonian's Permanent
+Research Collection
on Information Technology at the Smithsonian's
+National Museum of American History.
+


+

The Emacspeak mailing list is archived at Vassar –the home of the
+Emacspeak mailing list– thanks to Greg Priest-Dorman, and provides a
+valuable knowledge base for new users.
+


+

9 Press/Analyst Contact: Tilden Labrador

Going forward, Tilden acknowledges his exclusive monopoly on
+setting the direction of the Emacspeak Audio Desktop, and
+promises to exercise this freedom to innovate and her resulting
+power responsibly (as before) in the interest of all dogs.
+


+

*About This Release:
+



+

Windows-Free (WF) is a favorite battle-cry of The League Against
+Forced Fenestration (LAFF). –see
+http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on
+the ill-effects of Forced Fenestration.
+


+

CopyWrite )C( Aster, Hubbell and Tilden Labrador. All Writes Reserved.
+HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered
+Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to
+their respective owners.
+

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2017-04-30T08:12:00.002-07:00

Mail On The emacspeak Audio Desktop

+
+

Email On The Emacspeak Audio Desktop

1 Overview

This question comes up every few months on the emacspeak mailing
+list. In general, see
+Emacspeak Tools to quickly discover available speech-enabled
+applications. This article outlines some of the available email setups
+given the wide degree of variance in this space.
+


+

2 Background

How one puts together an email environment is a function of the
+following:
+


+
  1. How email is retrieved.
  2. +
  3. How email is stored (if storing locally).
  4. +
  5. How email is sent.
  6. +

+

Here is an overview of what is available as viewed from the world of
+Linux in general and Emacs in particular:
+


+
+

2.1 Email Retrieval

Email can be retrieved in a number of ways:
+


+
  • IMap via Emacs This is implemented well in GNUS, and poorly in
    +Emacs/VM. Note that Emacs is single-threaded, and fetching large
    +volumes of email via IMap is painful.
  • +
  • Batch Retrieval: IMap Tools like fetchmail, offlineimap and friends that live
    +outside of Emacs can be used to batch-retrieve email in the
    +background. The retrieved mail gets delivered locally as in the past.
  • +
  • Mail Filtering: UNIX procmail enables filtering of locally
    +delivered email into separate folders for automatically organizing
    +incoming email.
  • +

+
+

2.2 Sending Email

Sending email involves:
+


+
  1. Composing email — typically invoked via key-sequence C-x m
    +(command: compose-mail). Emacs email packages implement
    +specific versions of this command, e.g. vm-mail from package
    +emacs/vm, message-mail from the message package etc.
  2. +
  3. Sending email: This is specific to the email provider being used,
    +e.g., GMail. In the past, UNIX machines could talk SMTP to
    +the Mail Gateway, but this has mostly disappeared over time. For
    +an example of how to configure Emacs to send email via GMail
    +using SMTP , see file tvr/gm-smtp.el in the emacspeak repository.
  4. +

+
+
+

2.3 Local Storage Format

  • UNIX Mail: An email folder is a file of messages. This
    +format is used by clients like Emacs/VM, UNIX Mail etc.
  • +
  • Maildir: A mail folder is a directory, with
    +individual email messages living in files of their
    +own. Sample clients include MH-E (UNIX MH), MU4E.
  • +
  • RMail This is Emacs' original email format.
  • +

+
+

3 Putting It All Together

The next sections show my present email setup put together using the
+building blocks described above.
+


+
  1. I use Linux on all my machines, and Android on my phone.
  2. +
  3. I mostly limit email usage on my phone to get a quick overview of email that might require immediate attention — toward this end, I have a to-mobile GMail label that collects urgent messages.
  4. +
  5. Linux is where I handle email in volume.
  6. +
  7. I use my Inbox as
  8. +

my ToDo list — which means that I leave little or no email in my
+Inbox unless I'm on vacation and disconnected from email.
+


+

3.1 Desktop: Batch Retrieval And Emacs/VM

This is the email setup on my workstation. See next section for the
+email setup while mobile.
+


+
  1. I batch-retrieve email using fetchmail.
  2. +
  3. This email gets filtered through procmail and auto-filed into
    +several folders based on a set of procmail rules. Typical rules
    +include separating out various email lists into their respective folders.
  4. +
  5. Note that this does not preclude using IMap via GNUS to read
    +email while online.
  6. +
  7. Email that is not filtered into separate folders e.g. email that
    +is sent directly to me, email regarding projects that need
    +immediate attention etc., land up in folder ~/mbox.
  8. +
  9. So when I launch emacs/vm on my desktop, the above is all I
    +need to deal with at any given moment.
  10. +
  11. I typically read Auto-filed mailing lists using emacs/vm about once a day or
    +less — I use package mspools to get a quick overview of the
    +state of those mail folders.
  12. +

+

3.2 Mobile AccessOn Laptop: GNUS And IMap

See gnus-prepare.el for my gnus configuration for accessing GMail
+via imap. That configuration is setup to access multiple GMail accounts.
+


+
  1. I see each GMail label as a separate group in GNUS.
  2. +
  3. I only sync high-priority labels — this works well even
    +over slow WIFI connections while on the road. As an example, the
    +afore-mentioned to-mobile GMail label is a high-priority group.
  4. +
  5. Module gm-nnir defines a GNUS/GMail extension that enables
    +one to search GMail using GMail's search operators — that is my
    +prefered means of quickly finding email messages using
    +search. This is very fast since the search happens server-side,
    +and only email headers are retrieved when displaying the search
    +hits.
  6. +
  7. Note that this solution is not laptop/mobile specific — I use
    +this setup for searching GMail from my desktop as well.
  8. +

+

3.3 Composing And Sending EMail

  1. I use compose-mail to compose email.
  2. +
  3. I optionally activate orgtbl-mode and/or orgstruct-mode if
    +editing structured content within the email body.
  4. +
  5. I send email out using the setup in gm-smtp.el.
  6. +

+

4 Conclusion

  1. Email in Linux/Emacs is composed of a set of
    +independent building blocks — this gives maximal flexibility.
  2. +
  3. That flexibility allows one to put together different email
    +workflows depending on the connectivity environment in use.
  4. +
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2017-04-22T20:19:00.004-07:00

Emacs: Check Interactive Call For Emacspeak

+
+

Emacs: Check Interactive Call For Emacspeak

1 Background

Emacspeak uses advice as the means to speech-enable Emacs.
+Emacspeak's advice forms need to check if the function being
+speech-enabled is being called interactively — otherwise one would
+get a lot of chatter as these functions get called from within elisp
+programs, e.g. functions like forward-sexp or kill-sexp, that play
+the dual role of both an interactive command, as well as a convenient
+elisp function.
+


+
+

Until Emacs 24, the solution used was to write code that did the
+following check:
+


+
(when (interactive-p) ...
+

+

In Emacs-24, interactive-p was made obsolete and replaced with
+

(called-interactively-p 'interactive)
+

+

Emacspeak initially used the above form to perform the equivalent
+check. However, around the same time, Emacs' advice implementation
+went through some changes, and there was an attempt to replace
+advice.el with nadvice.el.
+


+

At the end of that round of changes, some problems emerged with the
+new called-interactively-p implementation; specifically, calling
+:called-interactively-p_ within around advice forms resulted in hard
+to debug errors, including one case of infinite recursion involving
+library smie.el when invoked from within ruby-mode.
+


+

After studying the problem in depth in 2014, I decided to create an
+Emacspeak-specific implementation of the is-interactive check.
+


+

The resulting implementation has worked well for the last 30 months;
+this article is here mostly to document how it works, and the reason
+for its existence. Note that Emacspeak uses this custom predicate
+only within advice forms. Further, this predicate has been coded
+to only work within advice forms created by emacspeak. This
+constraint can likely be relaxed, but the tighter implementation is
+less risky.
+


+

2 Implementation — ems-interactive-p

2.1 Overview

Within an advice forms defined by Emacspeak, detect if the enclosing
+function call is the result of explicit user interaction, i.e. by
+pressing a key, or via an explicit call to
+call-interactively. Emacspeak produces auditory feedback only if
+this predicate returns t.
+


+

We first introduce a flag that will be used to record if the enclosing
+(containing) function has an Emacspeak-defined advice on it and is
+called interactively — these are the only cases that our predicate
+needs to test.
+

(defvar ems-called-interactively-p nil
+  "Flag that records if containing function was called interactively."
+

+

Next, we define a function that checks if interactive calls to a
+function should be recorded. We're only interested in functions that
+have an advice form defined by Emacspeak — all Emacspeak-defined
+advice forms have the name emacspeak.
+


+
(defun ems-record-interactive-p (f)
+  "Predicate to test if we need to record interactive calls of
+this function. Memoizes result for future use by placing a
+property 'emacspeak on the function symbol."
+  (cond
+   ((not (symbolp f)) nil)
+   ((get f 'emacspeak) t) ; already memoized
+   ((ad-find-some-advice f 'any  "emacspeak") ; there is an emacspeak advice
+    (put f 'emacspeak t)) ; memoize for future and return true
+   (t nil)))
+

+

This is a memoized function that remembers earlier invocations by
+setting property emacspeak on the function symbol.
+


+

All advice forms created by Emacspeak are named emacspeak, so we
+can test for the presence of such advice forms using the test:
+


+
(ad-find-some-advice f 'any  "emacspeak")
+

+

If this test returns T, we memoize the result and return it.
+


+

Next, we advice function call-interactively to check
+if the function being called interactively is one of the functions
+that has been adviced by Emacspeak. If so, we record the fact in the
+previously declared global flag
+ems-called-interactively-p.
+


+
+
(defadvice call-interactively (around emacspeak  pre act comp)
+  "Set emacspeak  interactive flag if there is an Emacspeak advice 
+on the function being called."
+  (let ((ems-called-interactively-p ems-called-interactively-p)) ; preserve enclosing state
+    (when (ems-record-interactive-p (ad-get-arg 0))
+      (setq ems-called-interactively-p (ad-get-arg 0)))
+    ad-do-it))
+

+

We define an equivalent advice form on function
+funcall-interactively as well. Now, whenever any function that has
+been adviced by Emacspeak is called interactively, that interactive
+call gets recorded in the global flag. In the custom Emacspeak
+predicate we define, we check the value of this flag, and if
+set, consume it, i.e. unset the flag and return T.
+


+
(defsubst ems-interactive-p ()
+  "Check our interactive flag.
+Return T if set and we are called from the advice for the current
+interactive command. Turn off the flag once used."
+  (when ems-called-interactively-p                 ; interactive call
+    (let ((caller (cl-second (backtrace-frame 1))) ; name of containing function
+          (caller-advice  ;advice generated wrapper
+           (ad-get-advice-info-field ems-called-interactively-p  'advicefunname))
+          (result nil))
+      (setq result
+            (or (eq caller caller-advice) ; called from our advice
+                (eq ems-called-interactively-p caller))) ; called from advice wrapper
+      (when result
+        (setq ems-called-interactively-p nil) ; turn off now that we used  it
+        result))))
+

+

The only fragile part of the above predicate is the call to
+backtrace-frame which we use to discover the name of the enclosing
+function. Notice however that this is no more fragile than the current
+implementation of called-interactively-p — which also uses
+backtrace-frame; If there are changes in the byte-compiler, this
+form may need to be updated. The implementation above has the
+advantage of working correctly for Emacspeak's specific use-case.
+

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2017-03-01T09:24:00.001-08:00

Audio Deja Vu: Audio Formatted Math On The Emacspeak Desktop

+
+

+

Audio Deja Vu: Audio Formatted Math On The Emacspeak Desktop

1 Overview

This article previews a new feature in the next Emacspeak release —
+audio-formatted Mathematics using Aural CSS. Volker Sorge worked
+at Google as a Visiting Scientist from Sep 2012 to August 2013, when
+we implemented math
+access in ChromeVox
— see this brief overview. Since leaving
+Google, Volker has refactored and extended his work to create an Open
+Source Speech-Rule-Engine implemented using NodeJS. This
+speech-rule-engine can be used in many different environments;
+Emacspeak leverages that work to enable audio-formatting and
+interactive browsing of math content.
+


+
+

2 Overview Of Functionality

Math access on the Emacspeak desktop is implemented via module
+emacspeak-maths.el — see js/node/Readme.org in the Emacspeak GitHub
+repository for setup instructions.
+


+

Once loaded, module emacspeak-maths provides a Math Navigator that
+implements the user interface for sending Math expressions to the
+Speech-Rule-Engine, and for interactively browsing the resulting
+structure. At each step of the interaction, Emacspeak receives math
+expressions that have been annotated with Aural CSS and produces
+audio-formatted output. The audio-formatted text can itself be
+navigated in a special Spoken Math emacs buffer.
+


+

Module emacspeak-maths.el implements various affordances for
+dispatching mathematical content to the Speech-Rule-Engine — see
+usage examples in the next section.
+


+

3 Usage Examples

3.1 The Emacspeak Maths Navigator

  • The maths navigator can be invoked by pressing S-SPC (hold
    +down Windows key and press SPC) — this runs the command emacspeak-maths-navigator/body.
  • +
  • Once invoked, the /Maths Navigator can be used to enter an
    +expression to read.
  • +
  • Pressing SPC again prompts for the LaTeX math expression.
  • +
  • Pressing RET guesses the expression to read from the current context.
  • +
  • The arrow keys navigate the expression being read.
  • +
  • Pressing o switches to the Spoken Math buffer and exits the
    +navigator.
  • +

+

See the relevant chapter in the online Emacspeak manual for details.
+


+

3.2 Math Content In LaTeX Documents

  1. Open a LaTeX document containing math content.
  2. +
  3. Move point to a line containing mathematical markup.
  4. +
  5. Press S-SPC RET to have that expression audio-formatted.
  6. +
  7. Use arrow keys to navigate the resulting structure.
  8. +
  9. Press any other key to exit the navigator.
  10. +

+

3.3 Math Content On Wikipedia

  1. Open a Wikipedia page in the Emacs Web Wowser (EWW) that has
    +mathematical content.
  2. +
  3. Wikipedia displays math as images, with the alt-text giving the
    +LaTeX representation.
  4. +
  5. Navigate to some math content on the page, then press S-SPC
    +a to speak that content — a is for alt.
  6. +
  7. As an example, navigate to Wikipedia Math Example, locate math expressions on that page, then
    +press S-SPC a.
  8. +

+

3.4 Math Content From The Emacs Calculator

  1. The built-in Emacs Calculator (calc) provides many complex
    +math functions including symbolic algebra.
  2. +
  3. For my personal calc setup, see tvr/calc-prepare.el in the
    +Emacspeak GitHub repo.
  4. +
  5. This setting below sets up the Emacs Calculator to output results
    +as LaTeX: (setq calc-language 'tex)
  6. +
  7. With the above setting in effect, launch the emacs Calculator by
    +pressing M-##.
  8. +
  9. Press ' — to use algebraic mode — and enter sin(x).
  10. +
  11. Press a t to get the Taylor series expansion of the above
    +expression, and press x when prompted for the variable.
  12. +
  13. This displays the Taylor Series expansion up to the desired
    +number of terms — try 7 terms.
  14. +
  15. Now, with Calc having shown the results as TeX, press S-SPC
    +RET to browse this expression using the Maths Navigator.
  16. +

+
+
+

4 And The Best Is Yet To Come

This is intentionally called an early preview because there is still
+much that can be improved:
+


+
  1. Enhance the rule engine to infer and convey more semantics.
  2. +
  3. Improved audio formatting rules to better present the available information.
  4. +
  5. Update/tune the use of Aural CSS properties to best leverage
    +today's TTS engines.
  6. +
  7. Integrate math-reading functionality into more usage contexts in
    +addition to the ones enumerated in this article.
  8. +

+
+

5 References

  1. Youtube Video from early 2013 demonstrating Math Access in Chrome
  2. +
  3. AllThings Digital outlining math access — published June 2013.
  4. +
  5. Assets 2016 publication describing this work.
  6. +
  7. js/node/aster-math-examples.tex Collection of math examples in
    +LaTeX from AsTeR. Used to progressively improve speech-rules and
    +the resulting audio-formatted output
  8. +
  9. Speech-Rule-Engine on github.
  10. +
  11. Speech-Rule-Engine in action: Accessible Maths in all browsers
  12. +

Date: 2017-02-08 Wed 00:00

Author: T.V Raman


+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2017-02-10T11:22:00.000-08:00

Fun With TTS (Voxin) And Ladspa

+
+

Fun With TTS (Voxin) And Ladspa

1 Executive Summary

Voxin 1.6 — AKA ViaVoice Outloud — no longer requires that the
+Emacspeak TTS server be built as a 32-bit binary. This means that
+installing Voxin on 64-bit systems is now significantly easier since
+you no longer need to install 32-bit versions of TCL, TCLX, and the
+dependencies needed by library libibmeci.so. In addition to
+easing the installation process, not needing 32-bit binaries means
+that the Emacspeak Outloud server can now take advantage of audio
+processing such as that provided by LADSPA.
+


+

2 Going 64-Bit: Upgrading To Voxin 1.6

  1. Install Voxin-1.6 or later from Voxin.
  2. +
  3. Update Emacspeak from GitHub (this will be part of the next
    +public release).
  4. +
  5. Rebuild the atcleci.so binary in the servers/linux-outloud
    +directory:
  6. +
cd servers/linux-outloud && make clean && make
+

+

If all goes well, you'll now have a 64-bit version of atcleci.so.
+You can now run the Outloud server as servers/outloud.
+In about a year's time, servers/32-outloud will move to
+servers/obsolete, as will the associated servers/32-speech-server
+and servers/ssh-32-outloud.
+


+
+

3 Applying LADSPA Effects Processing To TTS

With a 64-bit build of atcleci.so in place, we can now call on
+installed LADSPA plugins to apply digital sound processing to TTS
+output. To experiment with the possibilities, see some of the
+virtual sound devices defined in servers/linux-outloud/asoundrc.
+Copy over that file to your ~/.asoundrc after updating it to match
+your sound setup — you'll likely need to change the default
+sound-card to match your setup.
+You can now set environment variable ALSA_DEFAULT to one of the
+tts_<effect> virtual devices — and have the Outloud server apply
+the specified LADSPA effect to the generated TTS. Here is an example:
+


+
cd servers 
+(export ALSA_DEFAULT=tts_reverb; ./outloud)
+tts_selftest
+

+

4 The Best Is Yet To Come …

The possibilities are endless — ALSA with LADSPA provides a rich
+suite of audio processing possibilities.
+


+

5 Acknowledgements

I'd like to acknowledge Gilles Casse for his work over the years on
+ensuring that Linux users have access to good quality TTS. Outloud
+would have been dead a long time ago if it weren't for his continued
+efforts toward keeping the lights on. His newest creation, libvoxin
+that forms the crux of Voxin-1.6 is an excellent piece of engineering
+that is likely to help Outloud survive for the future on modern Linux
+distros. Note that Gilles is also the primary author of the Emacspeak
+ESpeak server.
+

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2017-01-04T11:09:00.001-08:00

Follow-Up: Soundscapes On The Emacspeak Audio Desktop

+
+

Follow-Up: Soundscapes On The Emacspeak Audio Desktop

1 Executive Summary

Nearly a year ago, I blogged here about Soundscapes on the emacspeak
+Audio Desktop. That article ended with this following paragraph:
+


+
I implemented package soundscape to create a platform that would let me experiment
+with different tools that aid in concentration. After using Soundscapes for about a week,
+I have also found that it reduces some of the fatigue that results from having to listen
+to synthetic text-to-speech for extended periods. The true value (if any) of this package
+will be a function of how heavily I find myself using it six months from now --- as a
+metric, complete success might mean that in mid-2016, I still have automatic soundscapes
+turned on.
+

+
+

2 And Nearly A Year Later …

I have not found the need to turn off Soundscapes in Emacspeak. As
+conjectured, it has definitely increased my productivity, specifically
+in terms of staying focused on a given task at hand. Over the year,
+I've also augmented the emacspeak Audio Desktop with support for
+binaural audio — see module sox-gen — which provides a collection of
+binaural themes for use during different times of the day. Binaural
+themes generated by that module overlay Emacspeak Soundscapes to
+provide an ideal auditory environment for use over headphones.
+


+

3 Soundscape Enhancements

Since the publication of the original article, Emacspeak Soundscapes
+have been enhanced with additional sounds from
+Freesound.org. Emacspeak Soundscapes have been updated to take
+advantage of Boodler's limited abilities in the areas of spatial
+positioning. I typically use Soundscapes with one of several virtual
+ALSA devices that have been configured to apply different Ladspa
+effects such as reverb or crossfeed depending on the ambient
+environment where I am working — this significantly improves the
+spatialization of soundscapes being played — see file
+ladspa-asoundrc. Finally, the mapping of Soundscapes to various Emacs
+modes has also been tuned. — see table below.
+


+
+ + +++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Soundscape (Mood)List Of Major Modes
BirdSongsshell term
BlopEchoeselfeed-search
Bonfirecalendar diary
BuddhaLoopcomint
Cavernprog
ChangingLoopsspecial
ChangingLoopsPitcheslisp-interaction
Dripmessage gnus-summary gnus-article gnus-group mspools vm-presentation vm mail twittering jabber-roster jabber-chat erc
LoopStewemacspeak-m-player
NoStormYetfundamental
RainForeverInfo help Man Custom messages-buffer
RainSoundsmagit vc
Stilltext view
SurfWavesw3 eww
TonkSpacetabulated-list
WaterFlowdired

+
+

4 Summary

As outlined in a previous article, sound on Linux provides unending
+possibilities with respect to innovation, here's looking forward to
+better things to come.
+

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2016-11-29T15:01:00.000-08:00

Emacspeak 45.0 (IdealDog) Unleashed!

+
+

Emacspeak 45.0—IdealDog—Unleashed!

For Immediate Release:
+


+

San Jose, Calif., (Nov 21, 2016)
+


+

Emacspeak: Redefining Accessibility In The Era Of (Real)Intelligent Computing
+–Zero cost of Ownership makes priceless software Universally affordable!
+


+

Emacspeak Inc (NASDOG: ESPK) — http://github.com/tvraman/emacspeak — announces the
+immediate world-wide availability of Emacspeak 45.0 (IdealDog) — a
+powerful audio desktop for leveraging today's evolving data, social
+and service-oriented Internet cloud.
+


+

1 Investors Note:

With several prominent tweeters expanding coverage of
+#emacspeak, NASDOG: ESPK has now been consistently trading over
+the social net at levels close to that once attained by DogCom
+high-fliers—and as of Nov 2016 is trading at levels close to
+that achieved by once better known stocks in the tech sector.
+


+

2 What Is It?

Emacspeak is a fully functional audio desktop that provides complete
+eyes-free access to all major 32 and 64 bit operating environments. By
+seamlessly blending live access to all aspects of the Internet such as
+Web-surfing, blogging, social computing and electronic messaging into
+the audio desktop, Emacspeak enables speech access to local and remote
+information with a consistent and well-integrated user interface. A
+rich suite of task-oriented tools provides efficient speech-enabled
+access to the evolving service-oriented social Internet cloud.
+


+

3 Major Enhancements:

  • Speech-enabled tide for typescript development. 🌊
  • +
  • Speech-enabled jade for Javascript WebApp development. ⺩
  • +
  • Improved slime support for Lisp programming. Λ
  • +
  • Support for rst-mode for editting ReST files.🖹
  • +
  • Version control info in modeline.⎔
  • +
  • Speech-enabled elisp-refs to aid in refactoring. ※
  • +
  • GPG integration including pinentry support. 🔐
  • +
  • ElScreen support for window-layout management. 🆜
  • +
  • Updated Librivox client for audio books. 🔊🕮
  • +
  • Updated sound themes. 🔉
  • +
  • Support for Emacs' visual-line-mode. 🎁
  • +
  • Speech-enabled Threes game. 🎮
  • +
  • Updated Google News support. 📰
  • +
  • Binaural audio support including several predefined binaural themes. ℗
    +
    • Updated multilingual support for ESpeak. 󠀁
    • +
  • +
  • Script etc/bootstrap.sh for bootstrapping into Emacspeak on a well-configured Linux system. 👢
  • +
  • And a lot more than wil fit this margin. … 🗞
  • +

+
+

4 Establishing Liberty, Equality And Freedom:

Never a toy system, Emacspeak is voluntarily bundled with all
+major Linux distributions. Though designed to be modular,
+distributors have freely chosen to bundle the fully integrated
+system without any undue pressure—a documented success for
+the integrated innovation embodied by Emacspeak. As the system
+evolves, both upgrades and downgrades continue to be available at
+the same zero-cost to all users. The integrity of the Emacspeak
+codebase is ensured by the reliable and secure Linux platform
+used to develop and distribute the software.
+


+

Extensive studies have shown that thanks to these features, users
+consider Emacspeak to be absolutely priceless. Thanks to this
+wide-spread user demand, the present version remains priceless
+as ever—it is being made available at the same zero-cost as
+previous releases.
+


+

At the same time, Emacspeak continues to innovate in the area of
+eyes-free social interaction and carries forward the
+well-established Open Source tradition of introducing user
+interface features that eventually show up in luser environments.
+


+

On this theme, when once challenged by a proponent of a crash-prone
+but well-marketed mousetrap with the assertion "Emacs is a system from
+the 70's", the creator of Emacspeak evinced surprise at the unusual
+candor manifest in the assertion that it would take popular
+idiot-proven interfaces until the year 2070 to catch up to where the
+Emacspeak audio desktop is today. Industry experts welcomed this
+refreshing breath of Courage Certainty and Clarity (CCC) at a time
+when users are reeling from the Fear Uncertainty and Doubt (FUD)
+unleashed by complex software systems backed by even more convoluted
+press releases.
+


+

5 Independent Test Results:

Independent test results have proven that unlike some modern (and
+not so modern) software, Emacspeak can be safely uninstalled without
+adversely affecting the continued performance of the computer. These
+same tests also revealed that once uninstalled, the user stopped
+functioning altogether. Speaking with Aster Labrador, the creator of
+Emacspeak once pointed out that these results re-emphasize the
+user-centric design of Emacspeak; "It is the user –and not the
+computer– that stops functioning when Emacspeak is uninstalled!".
+


+

5.1 Note from Aster,Bubbles and Tilden:

UnDoctored Videos Inc. is looking for volunteers to star in a
+video demonstrating such complete user failure.
+


+

6 Obtaining Emacspeak:

Emacspeak can be downloaded from GitHub –see
+https://github.com/tvraman/emacspeak you can visit Emacspeak on the
+WWW at http://emacspeak.sf.net. You can subscribe to the emacspeak
+mailing list — emacspeak@cs.vassar.edu — by sending mail to the
+list request address emacspeak-request@cs.vassar.edu. The Emacspeak
+Blog
is a good source for news about recent enhancements and how to
+use them.
+


+

The latest development snapshot of Emacspeak is always available via
+Git from GitHub at
+Emacspeak GitHub .
+


+

7 History:

  • Emacspeak 45.0 (IdealDog) is named in recognition of Emacs'
    +excellent integration with various programming language
    +environments — thanks to this, Emacspeak is the IDE of choice
    +for eyes-free software engineering.
  • +
  • Emacspeak 44.0 continues the steady pace of innovation on the
    +audio desktop.
  • +
  • Emacspeak 43.0 brings even more end-user efficiency by leveraging the
    +ability to spatially place multiple audio streams to provide timely
    +auditory feedback.
  • +
  • Emacspeak 42.0 while moving to GitHub from Google Code continues to
    +innovate in the areas of auditory user interfaces and efficient,
    +light-weight Internet access.
  • +
  • Emacspeak 41.0 continues to improve
    +on the desire to provide not just equal, but superior access —
    +technology when correctly implemented can significantly enhance the
    +human ability.
  • +
  • Emacspeak 40.0 goes back to Web basics by enabling
    +efficient access to large amounts of readable Web content.
  • +
  • Emacspeak 39.0 continues the Emacspeak tradition of increasing the breadth of
    +user tasks that are covered without introducing unnecessary
    +bloatware.
  • +
  • Emacspeak 38.0 is the latest in a series of award-winning
    +releases from Emacspeak Inc.
  • +
  • Emacspeak 37.0 continues the tradition of
    +delivering robust software as reflected by its code-name.
  • +
  • Emacspeak 36.0 enhances the audio desktop with many new tools including full
    +EPub support — hence the name EPubDog.
  • +
  • Emacspeak 35.0 is all about
    +teaching a new dog old tricks — and is aptly code-named HeadDog in
    +on of our new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles)
    +established a new beach-head with respect to rapid task completion in
    +an eyes-free environment.
  • +
  • Emacspeak-33.0 AKA StarDog brings
    +unparalleled cloud access to the audio desktop.
  • +
  • Emacspeak 32.0 AKA
    +LuckyDog continues to innovate via open technologies for better
    +access.
  • +
  • Emacspeak 31.0 AKA TweetDog — adds tweeting to the Emacspeak
    +desktop.
  • +
  • Emacspeak 30.0 AKA SocialDog brings the Social Web to the
    +audio desktop—you cant but be social if you speak!
  • +
  • Emacspeak 29.0—AKAAbleDog—is a testament to the resilliance and innovation
    +embodied by Open Source software—it would not exist without the
    +thriving Emacs community that continues to ensure that Emacs remains
    +one of the premier user environments despite perhaps also being one of
    +the oldest.
  • +
  • Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of
    +development evinced by Open Source software.
  • +
  • Emacspeak 27.0—AKA
    +FastDog—is the latest in a sequence of upgrades that make previous
    +releases obsolete and downgrades unnecessary.
  • +
  • Emacspeak 26—AKA
    +LeadDog—continues the tradition of introducing innovative access
    +solutions that are unfettered by the constraints inherent in
    +traditional adaptive technologies.
  • +
  • Emacspeak 25 —AKA ActiveDog
    +—re-activates open, unfettered access to online
    +information.
  • +
  • Emacspeak-Alive —AKA LiveDog —enlivens open, unfettered
    +information access with a series of live updates that once again
    +demonstrate the power and agility of open source software
    +development.
  • +
  • Emacspeak 23.0 — AKA Retriever—went the extra mile in
    +fetching full access.
  • +
  • Emacspeak 22.0 —AKA GuideDog —helps users
    +navigate the Web more effectively than ever before.
  • +
  • Emacspeak 21.0
    +—AKA PlayDog —continued the
    +Emacspeak tradition of relying on enhanced
    +productivity to liberate users.
  • +
  • Emacspeak-20.0 —AKA LeapDog —continues
    +the long established GNU/Emacs tradition of integrated innovation to
    +create a pleasurable computing environment for eyes-free
    +interaction.
  • +
  • emacspeak-19.0 –AKA WorkDog– is designed to enhance
    +user productivity at work and leisure.
  • +
  • Emacspeak-18.0 –code named
    +GoodDog– continued the Emacspeak tradition of enhancing user
    +productivity and thereby reducing total cost of
    +ownership.
  • +
  • Emacspeak-17.0 –code named HappyDog– enhances user
    +productivity by exploiting today's evolving WWW
    +standards.
  • +
  • Emacspeak-16.0 –code named CleverDog– the follow-up to
    +SmartDog– continued the tradition of working better, faster,
    +smarter.
  • +
  • Emacspeak-15.0 –code named SmartDog–followed up on TopDog
    +as the next in a continuing series of award-winning audio desktop
    +releases from Emacspeak Inc.
  • +
  • Emacspeak-14.0 –code named TopDog–was
  • +

the first release of this millennium.
+

  • Emacspeak-13.0 –codenamed
    +YellowLab– was the closing release of the
    +20th. century.
  • +
  • Emacspeak-12.0 –code named GoldenDog– began
    +leveraging the evolving semantic WWW to provide task-oriented speech
    +access to Webformation.
  • +
  • Emacspeak-11.0 –code named Aster– went the
    +final step in making Linux a zero-cost Internet access solution for
    +blind and visually impaired users.
  • +
  • Emacspeak-10.0 –(AKA
    +Emacspeak-2000) code named WonderDog– continued the tradition of
    +award-winning software releases designed to make eyes-free computing a
    +productive and pleasurable experience.
  • +
  • Emacspeak-9.0 –(AKA
    +Emacspeak 99) code named BlackLab– continued to innovate in the areas
    +of speech interaction and interactive accessibility.
  • +
  • Emacspeak-8.0 –(AKA Emacspeak-98++) code named BlackDog– was a major upgrade to
    +the speech output extension to Emacs.
  • +
  • Emacspeak-95 (code named Illinois) was released as OpenSource on
    +the Internet in May 1995 as the first complete speech interface
    +to UNIX workstations. The subsequent release, Emacspeak-96 (code
    +named Egypt) made available in May 1996 provided significant
    +enhancements to the interface. Emacspeak-97 (Tennessee) went
    +further in providing a true audio desktop. Emacspeak-98
    +integrated Internetworking into all aspects of the audio desktop
    +to provide the first fully interactive speech-enabled WebTop.
  • +

+

8 About Emacspeak:

Originally based at Cornell (NY) —
+http://www.cs.cornell.edu/home/raman —home to Auditory User
+Interfaces (AUI) on the WWW, Emacspeak is now maintained on GitHub
+—https://github.com/tvraman/emacspeak. The system is mirrored
+world-wide by an international network of software archives and
+bundled voluntarily with all major Linux distributions. On Monday,
+April 12, 1999, Emacspeak became part of the Smithsonian's Permanent
+Research Collection
on Information Technology at the Smithsonian's
+National Museum of American History.
+


+

The Emacspeak mailing list is archived at Vassar –the home of the
+Emacspeak mailing list– thanks to Greg Priest-Dorman, and provides a
+valuable knowledge base for new users.
+


+

9 Press/Analyst Contact: Tilden Labrador

Going forward, Tilden acknowledges his exclusive monopoly on
+setting the direction of the Emacspeak Audio Desktop, and
+promises to exercise this freedom to innovate and her resulting
+power responsibly (as before) in the interest of all dogs.
+


+

*About This Release:
+



+

Windows-Free (WF) is a favorite battle-cry of The League Against
+Forced Fenestration (LAFF). –see
+http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on
+the ill-effects of Forced Fenestration.
+


+

CopyWrite )C( Aster, Hubbell and Tilden Labrador. All Writes Reserved.
+HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered
+Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to
+their respective owners.
+

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2016-11-20T08:43:00.001-08:00

Emacspeak 44.0 (SteadyDog) Unleashed

+
+

+

Emacspeak 44.0—SteadyDog—Unleashed!

For Immediate Release:
+


+

San Jose, Calif., (May 1, 2016)
+ Emacspeak: Redefining Accessibility In The Era Of (Real)Intelligent Computing
+ –Zero cost of Ownership makes priceless software Universally affordable!
+


+

Emacspeak Inc (NASDOG: ESPK) --http://emacspeak.sf.net– announces the
+immediate world-wide availability of Emacspeak 44.0 (SteadyDog) –a
+powerful audio desktop for leveraging today's evolving data, social
+and service-oriented Internet cloud.
+


+

1 Investors Note:

With several prominent tweeters expanding coverage of
+#emacspeak, NASDOG: ESPK has now been consistently trading over
+the social net at levels close to that once attained by DogCom
+high-fliers—and as of May 2016 is trading at levels close to
+that achieved by once better known stocks in the tech sector.
+


+

2 What Is It?

Emacspeak is a fully functional audio desktop that provides complete
+eyes-free access to all major 32 and 64 bit operating environments. By
+seamlessly blending live access to all aspects of the Internet such as
+Web-surfing, blogging, social computing and electronic messaging into
+the audio desktop, Emacspeak enables speech access to local and remote
+information with a consistent and well-integrated user interface. A
+rich suite of task-oriented tools provides efficient speech-enabled
+access to the evolving service-oriented social Internet cloud.
+


+

3 Major Enhancements:

  • Enable playing multiple media streams using mplayer. 🔊
  • +
  • Smart Ladspa effects in mplayer, including panning. 🕪
  • +
  • Sound theme chimes has been spatialized to create theme pan-chimes. 🕭-
  • +
  • Package elpy has been speech-enabled. 🐍
  • +
  • Emacspeak now implements automatic soundscapes. 🏙
  • +
  • Speech-enables package helm.𝍎
  • +
  • Emacs EWW: Consume Web content efficiently. 🕷
  • +
  • Updated Info manual 🕮
  • +
  • emacspeak-url-templates: Smart Web access. ♅
  • +
  • emacspeak-websearch.el Find things fast. ♁
  • +
  • And a lot more than wil fit this margin. …
  • +

+

4 Establishing Liberty, Equality And Freedom:

Never a toy system, Emacspeak is voluntarily bundled with all
+major Linux distributions. Though designed to be modular,
+distributors have freely chosen to bundle the fully integrated
+system without any undue pressure—a documented success for
+the integrated innovation embodied by Emacspeak. As the system
+evolves, both upgrades and downgrades continue to be available at
+the same zero-cost to all users. The integrity of the Emacspeak
+codebase is ensured by the reliable and secure Linux platform
+used to develop and distribute the software.
+


+

Extensive studies have shown that thanks to these features, users
+consider Emacspeak to be absolutely priceless. Thanks to this
+wide-spread user demand, the present version remains priceless
+as ever—it is being made available at the same zero-cost as
+previous releases.
+


+

At the same time, Emacspeak continues to innovate in the area of
+eyes-free social interaction and carries forward the
+well-established Open Source tradition of introducing user
+interface features that eventually show up in luser environments.
+


+

On this theme, when once challenged by a proponent of a crash-prone
+but well-marketed mousetrap with the assertion "Emacs is a system from
+the 70's", the creator of Emacspeak evinced surprise at the unusual
+candor manifest in the assertion that it would take popular
+idiot-proven interfaces until the year 2070 to catch up to where the
+Emacspeak audio desktop is today. Industry experts welcomed this
+refreshing breath of Courage Certainty and Clarity (CCC) at a time
+when users are reeling from the Fear Uncertainty and Doubt (FUD)
+unleashed by complex software systems backed by even more convoluted
+press releases.
+


+

5 Independent Test Results:

Independent test results have proven that unlike some modern (and
+not so modern) software, Emacspeak can be safely uninstalled without
+adversely affecting the continued performance of the computer. These
+same tests also revealed that once uninstalled, the user stopped
+functioning altogether. Speaking with Aster Labrador, the creator of
+Emacspeak once pointed out that these results re-emphasize the
+user-centric design of Emacspeak; "It is the user –and not the
+computer– that stops functioning when Emacspeak is uninstalled!".
+


+

5.1 Note from Aster,Bubbles and Tilden:

UnDoctored Videos Inc. is looking for volunteers to star in a
+video demonstrating such complete user failure.
+


+

6 Obtaining Emacspeak:

Emacspeak can be downloaded from GitHub –see
+https://github.com/tvraman/emacspeak you can visit Emacspeak on the
+WWW at http://emacspeak.sf.net. You can subscribe to the emacspeak
+mailing list — emacspeak@cs.vassar.edu — by sending mail to the
+list request address emacspeak-request@cs.vassar.edu. The Emacspeak
+Blog
is a good source for news about recent enhancements and how to
+use them.
+


+

The latest development snapshot of Emacspeak is always available via
+Git from GitHub at
+Emacspeak GitHub .
+


+

7 History:

  • Emacspeak 44.0 continues the steady pace of innovation on the
    +audio desktop.
  • +
  • Emacspeak 43.0 brings even more end-user efficiency by leveraging the
    +ability to spatially place multiple audio streams to provide timely
    +auditory feedback.
  • +
  • Emacspeak 42.0 while moving to GitHub from Google Code continues to
    +innovate in the areas of auditory user interfaces and efficient,
    +light-weight Internet access.
  • +
  • Emacspeak 41.0 continues to improve
    +on the desire to provide not just equal, but superior access —
    +technology when correctly implemented can significantly enhance the
    +human ability.
  • +
  • Emacspeak 40.0 goes back to Web basics by enabling
    +efficient access to large amounts of readable Web content.
  • +
  • Emacspeak 39.0 continues the Emacspeak tradition of increasing the breadth of
    +user tasks that are covered without introducing unnecessary
    +bloatware.
  • +
  • Emacspeak 38.0 is the latest in a series of award-winning
    +releases from Emacspeak Inc.
  • +
  • Emacspeak 37.0 continues the tradition of
    +delivering robust software as reflected by its code-name.
  • +
  • Emacspeak 36.0 enhances the audio desktop with many new tools including full
    +EPub support — hence the name EPubDog.
  • +
  • Emacspeak 35.0 is all about
    +teaching a new dog old tricks — and is aptly code-named HeadDog in
    +on of our new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles)
    +established a new beach-head with respect to rapid task completion in
    +an eyes-free environment.
  • +
  • Emacspeak-33.0 AKA StarDog brings
    +unparalleled cloud access to the audio desktop.
  • +
  • Emacspeak 32.0 AKA
    +LuckyDog continues to innovate via open technologies for better
    +access.
  • +
  • Emacspeak 31.0 AKA TweetDog — adds tweeting to the Emacspeak
    +desktop.
  • +
  • Emacspeak 30.0 AKA SocialDog brings the Social Web to the
    +audio desktop—you cant but be social if you speak!
  • +
  • Emacspeak 29.0—AKAAbleDog—is a testament to the resilliance and innovation
    +embodied by Open Source software—it would not exist without the
    +thriving Emacs community that continues to ensure that Emacs remains
    +one of the premier user environments despite perhaps also being one of
    +the oldest.
  • +
  • Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of
    +development evinced by Open Source software.
  • +
  • Emacspeak 27.0—AKA
    +FastDog—is the latest in a sequence of upgrades that make previous
    +releases obsolete and downgrades unnecessary.
  • +
  • Emacspeak 26—AKA
    +LeadDog—continues the tradition of introducing innovative access
    +solutions that are unfettered by the constraints inherent in
    +traditional adaptive technologies.
  • +
  • Emacspeak 25 —AKA ActiveDog
    +—re-activates open, unfettered access to online
    +information.
  • +
  • Emacspeak-Alive —AKA LiveDog —enlivens open, unfettered
    +information access with a series of live updates that once again
    +demonstrate the power and agility of open source software
    +development.
  • +
  • Emacspeak 23.0 – AKA Retriever—went the extra mile in
    +fetching full access.
  • +
  • Emacspeak 22.0 —AKA GuideDog —helps users
    +navigate the Web more effectively than ever before.
  • +
  • Emacspeak 21.0
    +—AKA PlayDog —continued the
    +Emacspeak tradition of relying on enhanced
    +productivity to liberate users.
  • +
  • Emacspeak-20.0 —AKA LeapDog —continues
    +the long established GNU/Emacs tradition of integrated innovation to
    +create a pleasurable computing environment for eyes-free
    +interaction.
  • +
  • emacspeak-19.0 –AKA WorkDog– is designed to enhance
    +user productivity at work and leisure.
  • +
  • Emacspeak-18.0 –code named
    +GoodDog– continued the Emacspeak tradition of enhancing user
    +productivity and thereby reducing total cost of
    +ownership.
  • +
  • Emacspeak-17.0 –code named HappyDog– enhances user
    +productivity by exploiting today's evolving WWW
    +standards.
  • +
  • Emacspeak-16.0 –code named CleverDog– the follow-up to
    +SmartDog– continued the tradition of working better, faster,
    +smarter.
  • +
  • Emacspeak-15.0 –code named SmartDog–followed up on TopDog
    +as the next in a continuing series of award-winning audio desktop
    +releases from Emacspeak Inc.
  • +
  • Emacspeak-14.0 –code named TopDog–was
  • +

the first release of this millennium.
+

  • Emacspeak-13.0 –codenamed
    +YellowLab– was the closing release of the
    +20th. century.
  • +
  • Emacspeak-12.0 –code named GoldenDog– began
    +leveraging the evolving semantic WWW to provide task-oriented speech
    +access to Webformation.
  • +
  • Emacspeak-11.0 –code named Aster– went the
    +final step in making Linux a zero-cost Internet access solution for
    +blind and visually impaired users.
  • +
  • Emacspeak-10.0 –(AKA
    +Emacspeak-2000) code named WonderDog– continued the tradition of
    +award-winning software releases designed to make eyes-free computing a
    +productive and pleasurable experience.
  • +
  • Emacspeak-9.0 –(AKA
    +Emacspeak 99) code named BlackLab– continued to innovate in the areas
    +of speech interaction and interactive accessibility.
  • +
  • Emacspeak-8.0 –(AKA Emacspeak-98++) code named BlackDog– was a major upgrade to
    +the speech output extension to Emacs.
  • +
  • Emacspeak-95 (code named Illinois) was released as OpenSource on
    +the Internet in May 1995 as the first complete speech interface
    +to UNIX workstations. The subsequent release, Emacspeak-96 (code
    +named Egypt) made available in May 1996 provided significant
    +enhancements to the interface. Emacspeak-97 (Tennessee) went
    +further in providing a true audio desktop. Emacspeak-98
    +integrated Internetworking into all aspects of the audio desktop
    +to provide the first fully interactive speech-enabled WebTop.
  • +

+

8 About Emacspeak:

Originally based at Cornell (NY) —
+http://www.cs.cornell.edu/home/raman —home to Auditory User
+Interfaces (AUI) on the WWW, - Emacspeak is now maintained on GitHub
+—https://github.com/tvraman/emacspeak. The system is mirrored
+world-wide by an international network of software archives and
+bundled voluntarily with all major Linux distributions. On Monday,
+April 12, 1999, Emacspeak became part of the Smithsonian's Permanent
+Research Collection
on Information Technology at the Smithsonian's
+National Museum of American History.
+


+

The Emacspeak mailing list is archived at Vassar –the home of the
+Emacspeak mailing list– thanks to Greg Priest-Dorman, and provides a
+valuable knowledge base for new users.
+


+

9 Press/Analyst Contact: Tilden Labrador

Going forward, Tilden acknowledges his exclusive monopoly on
+setting the direction of the Emacspeak Audio Desktop, and
+promises to exercise this freedom to innovate and her resulting
+power responsibly (as before) in the interest of all dogs.
+


+

*About This Release:
+



+

Windows-Free (WF) is a favorite battle-cry of The League Against
+Forced Fenestration (LAFF). –see
+http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on
+the ill-effects of Forced Fenestration.
+


+

CopyWrite )C( Aster, Hubbell and Tilden Labrador. All Writes Reserved.
+HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered
+Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to
+their respective owners.
+

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2016-04-30T10:51:00.000-07:00

Augmented Headphone Listening On Linux For The Emacspeak Audio Desktop

+
+

Augmented Headphone Listening On Linux For The Emacspeak Audio Desktop

1 Executive Summary

A combination of ALSA, Ladspa and OpenAL can provide an enhanced
+headphone listening experience on Linux — this article summarizes
+various tools and techniques for leveraging these affordances on the
+Emacspeak Audio Desktop.
+


+

2 Glossary

ALSA
Advanced Linux Sound Architecture. This is my prefered +means of controlling audio, and I entirely avoid Pulseaudio on +all my machines.
+
Ladspa
Linux Audio Developer's Simple Plugin API. Enables +the injection of Digital Signal Processing (DSP) when playing +media. It is a layer that sits above ALSA. Ladspa filters +can be used by user-space applications like MPlayer and +SoX when playing media. They can also be used within the +user's ASoundRC to define virtual audio devices that inject +DSP plugins into the media stream.
+
OpenAL
OpenAL is an API for enabling cross-platform 3D +audio. User-space applications like MPlayer can use OpenAL as +the audio output driver — note that OpenAL on Linux writes to +ALSA under the covers.
+

+

3 Playing Media Using MPlayer

  1. With Ladspa and its associated plugins installed — at the minimum
    +I would recommend installing tap-plugins, module
    +emacspeak-m-player provides a number of affordances for
    +interactively applying Ladspa filters. See commands
    +emacspeak-m-player-apply-reverb-preset_(bound to _P in M-Player)
    +and command emacspeak-m-player-add-filter (bound to f in
    +M-Player).
  2. +
  3. Command emacspeak-m-player-apply-reverb-preset lets you pick
    +among a total of 42 reverb presets defined by Ladspa module tap_reverb.
  4. +
  5. Command emacspeak-m-player-add-filter lets you add some of the
    +more commonly used Ladspa effects with smart minibuffer
    +prompts. Use tab completion to discover some of the predefined
    +filters — these are just convenience shortcuts — and you can
    +add any filters you use commonly to this list.
  6. +
  7. Note that mplayer also has its own
    +HRTF filter, but that filter requires that the stream being played is
    +a 48K stream.
  8. +
  9. Command emacspeak-m-player-using-openal bound by default to
    +Hyper ; launches mplayer with OpenAL as the audio output
    +driver — adding the following line
  10. +

to your _~/.alsoftrc~ file will apply a suitable HRTF filter for
+augmented headphone listening.
+

hrtf=true
+

+

4 Defining Virtual Audio Devices For Use With Soundscapes

I use soundscapes to provide a pleasant auditory background as I work
+— see earlier blog article that describes Soundscapes On The
+Emacspeak Audio Desktop
. Defining virtual ALSA devices that inject
+Ladspa plugins into the output processing chain is an elegant means
+for enhancing the auditory experience provided by these
+soundscapes. In this instance, I apply one of the predefined reverb
+effects (Ambiance) from Ladspa module tap-plugins and pass the
+results through a BS2B (Bauer Stereo To Binaural) filter — see file
+scapes/ladspa-asoundrc in the emacspeak Github Repo. Notice that that
+file defines a number of virtual audio devices and can serve as a
+template for injecting any installed Ladspa plugins — you can first
+experiment with filters using Emacspeak's Laudible module to find
+settings that work for you before applying them via a virtual device
+defined in your asoundrc file. Finally, you can customize option
+soundscape-manager-options to add –device <devicename> to have
+the soundscapes use the desired virtual device.
+


+
+

5 Summary

Laptops today have plenty of processing power and some really nice
+audio hardware. Linux has a powerful audio processing stack in ALSA,
+Ladspa and OpenAL. Connecting the dots can be fun and provide an
+enhanced auditory environment.
+

Date: <2016-02-25 Thu>

Author: raman

Created: 2016-02-25 Thu 17:47

Validate

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2016-02-25T17:56:00.001-08:00

Soundscapes On The Emacspeak Audio Desktop

+
+

Soundscapes On The Emacspeak Audio Desktop

1 Executive Summary

Emacspeak module soundscape adds the ability to automatically switch
+Soundscapes based on the current buffer. A Soundscape can be any
+continuously playing stream of audio; in practice, using nature sounds
+that repeat softly in a pseudo-random manner appears to be
+effective. Soundscapes are activated based on the currently active
+Emacs Major Mode and as a consequence directly mirror the user's
+current activity. The present implementation uses Python package
+Boodler to generate soundscapes.
+


+

2 Usage

Note that package soundscape.el does not have any Emacspeak
+dependencies. See the package documentation for details on installing
+and configuring Boodler.
+


+

You can experiment with installed Boodler agents using command
+soundscape and soundscape-stop. You can enable and disable
+automatic soundscapes using command soundscape-toggle. The
+currently active default Soundscape theme can be inspected via command
+soundscape-display — this produces a buffer that lists the
+currently defined /major-mode -> Soundscape mapping.
+


+

Package soundscape.el considers the inheritance relationship among
+Emacs major-modes when computing the set of soundscapes to
+activate.As an example, eww-mode inherits from special-mode — as
+a consequence, two soundscapes (LightWind and BackgroundWaves)
+become active when reading Web content.
+


+

3 Default Major-Mode->Soundscape (Mood) Mapping:

Here is a table showing the mapping of major-mmodes to Soundscape
+moods at the time of writing. For readability, I have stripped out the
+package-name for these soundscapes.
+


+
+ + +++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Soundscape (Mood)List Of Major Modes
BuddhaLoopfundamental
LightStormspecial
RainForeverInfo help Man Custom messages-buffer
LightWindcomint elfeed-search
TonkSpacetabulated-list
Cavernprog
Dripmessage gnus-summary gnus-article gnus-group mspools vm-presentation vm mail twittering jabber-roster jabber-chat erc
Stilltext
Waterdired
Steadycalendar diary
BackgroundWavesw3 eww

+

4 Soundscape Research

I implemented package soundscape.el to create a platform that would
+let me experiment with different tools that aid in
+concentration. After using Soundscapes for about a week, I have also
+found that it reduces some of the fatigue that results from having to
+listen to synthetic text-to-speech for extended periods.
+The true value (if any) of this package will be a function of how heavily
+I find myself using it six months from now — as a metric, complete
+success
might mean that in mid-2016, I still have automatic
+soundscapes turned on.
+As I type this article in Emacs org-mode, I hear the sound of
+water-drops falling softly in the background, and I take note
+that I have not switched tasks for the entire time I have spent
+writing this article.
+


+

Other success metrics — harder to measure — might include how
+effective Soundscapes are in helping the user stay focused on a
+given activity for extended periods of time. In an ever-connected
+world buzzing with a constant stream of distractions ranging from
+incoming email and instant-messages to a flood of twitter updates,
+this is likely the most relevant metric.
+

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-12-18T11:07:00.004-08:00

A Ladspa Work-Bench For The Emacspeak Desktop

+
+

A Ladspa Work-Bench For The Emacspeak Audio Desktop

1 Executive Summary

Module ladspa.el in the Emacspeak GitHub repository implements a
+high-level interface for experimenting with Ladspa Plugins using
+MPlayer and SoX.
+


+

2 Module ladspa.el

This module implements the following functionality:
+


+
  1. Builds up a table of installed Ladspa plugins along with their
    +associated metadata.
  2. +
  3. Command M-x ladspa displays installed Ladspa Plugins in a
    +special *Ladspa* buffer.
  4. +
  5. Plugins can be instantiated by pressing RET.
  6. +
  7. Instantiating a plugin prompts for its arguments and displays the
    +instantiated plugin in a new buffer.
  8. +
  9. This plugin can then be applied to a running MPlayer media
    +stream by pressing a.
  10. +
  11. The effect can be deleted by pressing d.
  12. +
  13. Plugin parameters can be edited by pressing e with point on
    +the parameter to edit.
  14. +

+

3 Interfacing With SoX

Module sox.el implements an Audio Workbench using SoX. Module
+ladspa.el integrates with that module by allowing the addition of
+ladspa as a supported SoX effect. Adding a ladspa effect results
+in a completion interface for picking one of the available Ladspa
+plugin; once selected, that plugin then prompts for its parameters as
+needed.
+

Date: <2015-12-04 Fri>

Author: raman

Created: 2015-12-04 Fri 20:03

Validate


+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-12-04T20:09:00.003-08:00

Generating Spatialized Auditory Icons Using MPlayer And Ladspa

+
+

Generating Spatialized Auditory Icons Using MPlayer And Ladspa

1 Executive Summary

The Emacspeak GitHub repository now includes a new auditory icon theme
+pan-chimes — these are the result of spatializing theme chimes.
+


+

2 Fun With Ladspa, MPlayer and Library tap-plugins

Here is the result of some fun with MPlayer and Ladspa over the
+Thanksgiving weekend. Package tap-plugins provides a number of
+interesting Ladspa plugins; one of these, tap_reverb is used in
+module emacspeak-m-player to provide a variety of predefined
+effects.
+


+

Library tap-plugins also includes Ladspa filter tap_autopan that
+ pans the input audio signal — see that plugin's documentation for
+ details.
+


+

The Linux media player mplayer allows the injection of ladspa
+plugins
in its processing chain.
+Combining these, I have created theme pan-chimes that provides a
+spatialized version of sound-theme chimes.
+


+
+

See script apply-pan.sh in the Github repository to see how this new
+theme was generated.
+

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-11-30T17:21:00.003-08:00

Listening To Multiple Media Streams On The Emacspeak Audio Desktop

+
+

Listening To Multiple Media Streams On The Emacspeak Audio Desktop

1 Executive Summary

The GitHub version of Emacspeak now supports launching and controlling
+multiple media streams. This enables one to listen to the news while
+playing a music stream, or relaxing nature sounds.
+


+

2 Sample Usage

Here are some examples of using this feature:
+


+
  1. Launch your favorite news station — BBC World Service in my
    +case — C-e ; RET.
  2. +
  3. Place the News on the left channel — C-e ; (.
  4. +
  5. Persist the currently playing News stream by invoking command
    +emacspeak-m-player-persist-stream bound to C-e ; \. This lets
    +you launch a second stream via Emacspeak media key C-e ; rather
    +than controlling the currently playing stream.
  6. +
  7. Launch a classical music media-stream — C-e ; lu RET for a lullaby
    +media stream.
  8. +
  9. Now Emacspeak M-Player commands will control the most recently
    +launched stream; you can once again invoke command
    +emacspeak-m-player-persist-stream if you wish.
  10. +
  11. The previously launched (and still playing) News stream is now in a
    +buffer named *Persistent-...*. Command
    +emacspeak-wizards-view-buffers-filtered-by-m-player-mode can be
    +used to list buffers that hold a live m-player instance. It is
    +bound to b in emacspeak-m-player-mode. I also bind this command
    +to C-; ; in my global keymap.
  12. +
  13. You can make an M-Player instance current by switching to its
    +buffer and invoking command emacspeak-m-player-restore-process
    +bound to / in emacspeak-m-player-mode.
  14. +

Share And Enjoy–
+

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-11-23T15:25:00.001-08:00

Emacspeak 43.0 (SoundDog) Unleashed!

+
+

Emacspeak 43.0—SoundDog—Unleashed!

For Immediate Release:
+


+

San Jose, Calif., (Nov 20, 2015)
+Emacspeak: Redefining Accessibility In The Era Of Internet Computing
+–Zero cost of Ownership makes priceless software Universally affordable!
+


+

Emacspeak Inc (NASDOG: ESPK) --http://emacspeak.sf.net/– announces the
+immediate world-wide availability of Emacspeak 43.0 (SoundDog) –a
+powerful audio desktop for leveraging today's evolving data, social
+and service-oriented Internet cloud.
+


+

1 Investors Note:

With several prominent tweeters expanding coverage of
+#emacspeak, NASDOG: ESPK has now been consistently trading over
+the social net at levels close to that once attained by DogCom
+high-fliers—and as of Nov 2015 is trading at levels close to
+that achieved by once better known stocks in the tech sector.
+


+

2 What Is It?

Emacspeak is a fully functional audio desktop that provides
+complete eyes-free access to all major 32 and 64 bit operating
+environments. By seamlessly blending live access to all aspects
+of the Internet such as Web-surfing, blogging, social computing
+and electronic messaging into the audio desktop, Emacspeak
+enables speech access to local and remote information with a
+consistent and well-integrated user interface. A rich suite of
+task-oriented tools provides efficient speech-enabled access to
+the evolving service-oriented social Internet cloud.
+


+

3 Major Enhancements:

  • Multiple spatially located TTS streams for efficient communication. 🕪
  • +
  • Refactored, improved sound themes.℗
  • +
  • Updated org-mode support. 🎶
  • +
  • Speech-enables package helm.𝍎
  • +
  • Speech-enable package yasnippet for smart templates. ䷾
  • +
  • Context-sensitive keyboard shortcuts via package emacspeak-muggles. ⌨
  • +
  • Speech-enables lua-mode for LUA programming. Ÿ
  • +
  • Speech-enable package projectile for software project
  • +

management. 📽
+

  • Speech-enable package slime for Lisp programming. Λ
  • +
  • Updated Librivox support to the new API. 📖
  • +
  • Package XBacklight for controlling LCD brightness. ⎚
  • +
  • Updated NPR client for one-click access to present and past NPR content.📻
  • +
  • BBC radio programs via IPlayer and friends. 📢
  • +
  • Emacs EWW: Consume Web content efficiently. 🕷
  • +
  • Updated Info manual 🕮
  • +
  • Speech-enabled Elfeed, an Emacs Feed Reader 🗞
  • +
  • emacspeak-url-templates: Smart Web access. ♅
  • +
  • emacspeak-websearch.el Find things fast. ♁
  • +
  • And a lot more than wil fit this margin. …
  • +

+

4 Establishing Liberty, Equality And Freedom:

Never a toy system, Emacspeak is voluntarily bundled with all
+major Linux distributions. Though designed to be modular,
+distributors have freely chosen to bundle the fully integrated
+system without any undue pressure—a documented success for
+the integrated innovation embodied by Emacspeak. As the system
+evolves, both upgrades and downgrades continue to be available at
+the same zero-cost to all users. The integrity of the Emacspeak
+codebase is ensured by the reliable and secure Linux platform
+used to develop and distribute the software.
+


+

Extensive studies have shown that thanks to these features, users
+consider Emacspeak to be absolutely priceless. Thanks to this
+wide-spread user demand, the present version remains priceless
+as ever—it is being made available at the same zero-cost as
+previous releases.
+


+

At the same time, Emacspeak continues to innovate in the area of
+eyes-free social interaction and carries forward the
+well-established Open Source tradition of introducing user
+interface features that eventually show up in luser environments.
+


+

On this theme, when once challenged by a proponent of a crash-prone
+but well-marketed mousetrap with the assertion "Emacs is a system from
+the 70's", the creator of Emacspeak evinced surprise at the unusual
+candor manifest in the assertion that it would take popular
+idiot-proven interfaces until the year 2070 to catch up to where the
+Emacspeak audio desktop is today. Industry experts welcomed this
+refreshing breath of Courage Certainty and Clarity (CCC) at a time
+when users are reeling from the Fear Uncertainty and Doubt (FUD)
+unleashed by complex software systems backed by even more convoluted
+press releases.
+


+

5 Independent Test Results:

Independent test results have proven that unlike some modern (and
+not so modern) software, Emacspeak can be safely uninstalled without
+adversely affecting the continued performance of the computer. These
+same tests also revealed that once uninstalled, the user stopped
+functioning altogether. Speaking with Aster Labrador, the creator of
+Emacspeak once pointed out that these results re-emphasize the
+user-centric design of Emacspeak; "It is the user –and not the
+computer– that stops functioning when Emacspeak is uninstalled!".
+


+

5.1 Note from Aster,Bubbles and Tilden:

UnDoctored Videos Inc. is looking for volunteers to star in a
+video demonstrating such complete user failure.
+


+

6 Obtaining Emacspeak:

Emacspeak can be downloaded from GitHub –see
+https://github.com/tvraman/emacspeak you can visit
+Emacspeak on the WWW at http://emacspeak.sf.net/. You can subscribe
+to the emacspeak mailing list emacspeak@cs.vassar.edu by sending
+mail to the list request address
+emacspeak-request@cs.vassar.edu. The
+Emacspeak Blog is a good source
+for news about recent enhancements and how to use them.
+


+

The latest development snapshot of Emacspeak is always available via
+Git from GitHub at
+Emacspeak GitHub .
+


+

7 History:

  • Emacspeak 43.0 brings even more end-user efficiency by leveraging the
    +ability to spatially place multiple audio streams to provide timely
    +auditory feedback.
  • +
  • Emacspeak 42.0 while moving to GitHub from Google Code continues to
    +innovate in the areas of auditory user interfaces and efficient,
    +light-weight Internet access.
  • +
  • Emacspeak 41.0 continues to improve
    +on the desire to provide not just equal, but superior access —
    +technology when correctly implemented can significantly enhance the
    +human ability.
  • +
  • Emacspeak 40.0 goes back to Web basics by enabling
    +efficient access to large amounts of readable Web content.
  • +
  • Emacspeak 39.0 continues the Emacspeak tradition of increasing the breadth of
    +user tasks that are covered without introducing unnecessary
    +bloatware.
  • +
  • Emacspeak 38.0 is the latest in a series of award-winning
    +releases from Emacspeak Inc.
  • +
  • Emacspeak 37.0 continues the tradition of
    +delivering robust software as reflected by its code-name.
  • +
  • Emacspeak 36.0 enhances the audio desktop with many new tools including full
    +EPub support — hence the name EPubDog.
  • +
  • Emacspeak 35.0 is all about
    +teaching a new dog old tricks — and is aptly code-named HeadDog in
    +on of our new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles)
    +established a new beach-head with respect to rapid task completion in
    +an eyes-free environment.
  • +
  • Emacspeak-33.0 AKA StarDog brings
    +unparalleled cloud access to the audio desktop.
  • +
  • Emacspeak 32.0 AKA
    +LuckyDog continues to innovate via open technologies for better
    +access.
  • +
  • Emacspeak 31.0 AKA TweetDog — adds tweeting to the Emacspeak
    +desktop.
  • +
  • Emacspeak 30.0 AKA SocialDog brings the Social Web to the
    +audio desktop—you cant but be social if you speak!
  • +
  • Emacspeak 29.0—AKAAbleDog—is a testament to the resilliance and innovation
    +embodied by Open Source software—it would not exist without the
    +thriving Emacs community that continues to ensure that Emacs remains
    +one of the premier user environments despite perhaps also being one of
    +the oldest.
  • +
  • Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of
    +development evinced by Open Source software.
  • +
  • Emacspeak 27.0—AKA
    +FastDog—is the latest in a sequence of upgrades that make previous
    +releases obsolete and downgrades unnecessary.
  • +
  • Emacspeak 26—AKA
    +LeadDog—continues the tradition of introducing innovative access
    +solutions that are unfettered by the constraints inherent in
    +traditional adaptive technologies.
  • +
  • Emacspeak 25 —AKA ActiveDog
    +—re-activates open, unfettered access to online
    +information.
  • +
  • Emacspeak-Alive —AKA LiveDog —enlivens open, unfettered
    +information access with a series of live updates that once again
    +demonstrate the power and agility of open source software
    +development.
  • +
  • Emacspeak 23.0 – AKA Retriever—went the extra mile in
    +fetching full access.
  • +
  • Emacspeak 22.0 —AKA GuideDog —helps users
    +navigate the Web more effectively than ever before.
  • +
  • Emacspeak 21.0
    +—AKA PlayDog —continued the
    +Emacspeak tradition of relying on enhanced
    +productivity to liberate users.
  • +
  • Emacspeak-20.0 —AKA LeapDog —continues
    +the long established GNU/Emacs tradition of integrated innovation to
    +create a pleasurable computing environment for eyes-free
    +interaction.
  • +
  • emacspeak-19.0 –AKA WorkDog– is designed to enhance
    +user productivity at work and leisure.
  • +
  • Emacspeak-18.0 –code named
    +GoodDog– continued the Emacspeak tradition of enhancing user
    +productivity and thereby reducing total cost of
    +ownership.
  • +
  • Emacspeak-17.0 –code named HappyDog– enhances user
    +productivity by exploiting today's evolving WWW
    +standards.
  • +
  • Emacspeak-16.0 –code named CleverDog– the follow-up to
    +SmartDog– continued the tradition of working better, faster,
    +smarter.
  • +
  • Emacspeak-15.0 –code named SmartDog–followed up on TopDog
    +as the next in a continuing series of award-winning audio desktop
    +releases from Emacspeak Inc.
  • +
  • Emacspeak-14.0 –code named TopDog–was
  • +

the first release of this millennium.
+

  • Emacspeak-13.0 –codenamed
    +YellowLab– was the closing release of the
    +20th. century.
  • +
  • Emacspeak-12.0 –code named GoldenDog– began
    +leveraging the evolving semantic WWW to provide task-oriented speech
    +access to Webformation.
  • +
  • Emacspeak-11.0 –code named Aster– went the
    +final step in making Linux a zero-cost Internet access solution for
    +blind and visually impaired users.
  • +
  • Emacspeak-10.0 –(AKA
    +Emacspeak-2000) code named WonderDog– continued the tradition of
    +award-winning software releases designed to make eyes-free computing a
    +productive and pleasurable experience.
  • +
  • Emacspeak-9.0 –(AKA
    +Emacspeak 99) code named BlackLab– continued to innovate in the areas
    +of speech interaction and interactive accessibility.
  • +
  • Emacspeak-8.0 –(AKA Emacspeak-98++) code named BlackDog– was a major upgrade to
    +the speech output extension to Emacs.
  • +
  • Emacspeak-95 (code named Illinois) was released as OpenSource on
    +the Internet in May 1995 as the first complete speech interface
    +to UNIX workstations. The subsequent release, Emacspeak-96 (code
    +named Egypt) made available in May 1996 provided significant
    +enhancements to the interface. Emacspeak-97 (Tennessee) went
    +further in providing a true audio desktop. Emacspeak-98
    +integrated Internetworking into all aspects of the audio desktop
    +to provide the first fully interactive speech-enabled WebTop.
  • +

+

8 About Emacspeak:

Originally based at Cornell (NY)
+http://www.cs.cornell.edu/home/raman –home to Auditory User
+Interfaces (AUI) on the WWW– Emacspeak is now maintained on
+GitHub --https://github.com/tvraman/emacspeak —and
+Sourceforge —http://emacspeak.sf.net/. The system is mirrored
+world-wide by an international network of software archives and
+bundled voluntarily with all major Linux distributions. On
+Monday, April 12, 1999, Emacspeak became part of the
+Smithsonian's Permanent Research Collection on Information
+Technology at the Smithsonian's National Museum of American
+History.
+


+

The Emacspeak mailing list is archived at Vassar –the home of the
+Emacspeak mailing list– thanks to Greg Priest-Dorman, and provides a
+valuable knowledge base for new users.
+


+

9 Press/Analyst Contact: Tilden Labrador

Going forward, Tilden acknowledges his exclusive monopoly on
+setting the direction of the Emacspeak Audio Desktop, and
+promises to exercise this freedom to innovate and her resulting
+power responsibly (as before) in the interest of all dogs.
+


+

*About This Release:
+



+

Windows-Free (WF) is a favorite battle-cry of The League Against
+Forced Fenestration (LAFF). –see
+http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on
+the ill-effects of Forced Fenestration.
+


+

CopyWrite )C( Aster and Hubbell Labrador. All Writes Reserved.
+HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered
+Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to
+their respective owners.
+


+m
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-11-20T08:59:00.001-08:00

Using Multiple TTS Streams On The emacspeak Audio Desktop

+
+

Using Multiple TTS Streams On The Emacspeak Audio Desktop

1 Executive Summary

Emacspeak now uses multiple text-to-speech streams — as an example,
+this enables spoken notifications that do not interrupt ongoing spoken
+output. To make such notifications more perceivable, Emacspeak places
+notifications to the right of the user by leveraging Linux-ALSA
+features that allow one to scale the amplitude of the left and right
+audio channels.
+


+

2 Background

Until now, Emacspeak has used a single instance of a Text-To-Speech
+(TTS) engine to produce all spoken feedback. An unfortunate
+consequence is that any spoken announcement necessarily interrupts
+ongoing speech; as an example, an incoming instant-message (e.g.,
+Jabber notification) can interrupt what you're currently
+reading.
+


+

Emacs itself produces a large number of asynchronous messages
+depending on the number of processes running within Emacs; at present,
+all Emacs generated messages are equal though there are ongoing
+plans to improve this situation going forward, e.g., using package
+alert. With Emacspeak now able to use multiple TTS streams, arrival
+of package alert within Emacs should facilitate smarter handling of
+different categories of messages over time.
+


+

Playing multiple TTS streams simultaneously can make it hard to
+understand the resulting output; Emacspeak leverages underlying ALSA
+functionality to send notifications to a virtual ALSA device that
+places the auditory output mostly on the right channel. See the
+following paragraphs on setup/configuration. I'm presently using this
+on Linux with the linux-outloud voice — you need to have a copy of
+this TTS engine installed and working — see Voxin for details on
+obtaining that engine. Note: the Emacspeak espeak server does not
+use raw ALSA for its output — consequently, notifications produced
+by espeak play on both left and right channels, making it
+impossible to understand. The mac server may be able to support
+this functionality using something Mac-specific — patches welcome.
+


+

3 Emacspeak Setup

  • Emacspeak now adds user-option
    +emacspeak-tts-use-notify-stream. If this is set to t in the
    +user's initialization file before Emacspeak is loaded, Emacspeak
    +checks to see if the user's selected TTS engine supports multiple
    +instances, and if so launches a second instance of the TTS engine
    +for use as a Notification TTS Stream. See my
    +tvr/emacs-startup.el in the Emacspeak Git Repository for an
    +example setup.
  • +
  • The Notification TTS Stream can be restarted via command
    +dtk-notify-initialize bound to C-e d C-n. You should
    +ordinarily not need to invoke this command.
  • +
  • The Notification TTS Stream can be shut-down using command
    +dtk-notify-shutdown bound to C-e d C-s. When the /Notification
    +TTS Stream is not available, Emacspeak defaults to using a single
    +TTS stream for all spoken output — i.e., no change.
  • +
  • At present, emacspeak tries to use a separate Notification TTS
    +Stream
    when the selected TTS engine is a software TTS
    +running locally.
  • +
  • File servers/linux-outloud/notify-asoundrc contains the
    +.asoundrc that I am using on my thinkpad. To have Emacspeak
    +place the Notification TTS Stream mostly on the right, the
    +contents of that file (suitably modified for your sound card)
    +need to be placed in file $HOME/.asoundrc. Warning: Handle with
    +care — a broken .asoundrc can kill all audio output.
  • +
  • The .asoundrc scales left and right amplitude to place the
    +output mostly on the right — to change this behavior, you can
    +edit the Transformation Table for virtual device tts_mono in
    +the .asoundrc file.
  • +
  • This set-up has not been tested with pulseaudio.
  • +

+

4 Summary

Share and enjoy —
+

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-11-10T18:07:00.000-08:00

Smart Actions In Directory Buffers For The Emacspeak Audio Desktop

+
+

Smart Actions In Directory Buffers For The Emacspeak Audio Desktop

1 Overview

Emacspeak now provides a smart actions feature in Emacs' Directory
+Editor (DirEd) buffers.
+Pressing key Ctrl-RET in DirEd buffers now invokes
+an appropriate Emacspeak action on the current file.
+


+

2 Background

Over time, Emacspeak has come to include a number of smart handlers
+for different file types:
+


+
  • An MPlayer interface for media files.
  • +
  • An EPub reader for electronic books.
  • +
  • A light-weight PDF viewer.
  • +
  • A table browser for csv files.
  • +

+

Command emacspeak-dired-open-this-file bound to Ctrl-RET in
+DirEd buffers unifies this functionality by invoking the appropriate
+Emacspeak action on the file on the current line.
+

3 Extending To *Locate* Buffers

This facility is also available in locate-mode
+buffers. Emacspeak provides two content-specific
+Locate commands:
+


+
  • Command emacspeak-m-player-locate (I have this bound to key
    + ~Super-l
    ) for locating media files that match a pattern.
  • +
  • Command emacspeak-epub-locate-epub bound to l in EPub
    +Interaction
    for locating epub files.
  • +

+

Pressing key Ctrl-RET in the resulting *Locate* buffers invokes
+the afore-mentioned smart action.
+

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-10-16T15:46:00.002-07:00

Announcing Emacspeak-Muggles: Keyboard Conveniences For Emacspeak

+
+

Announcing Emacspeak-Muggles: Keyboard Conveniences For Emacspeak

1 Announcing Emacspeak-Muggles: Keyboard Conveniences For Emacspeak

1.1 Executive Summary:

new module emacspeak-muggles uses package hydra to provide keyboard conveniences.
+


+

1.2 Overview:

Package hydra allows convenient grouping of keyboard commands, see that package's description for details. It can be installed by executing
+


+
M-x package-install hydra
+

+

Module emacspeak-muggles implements a set of convenience hydras that make invoking groups of related commands easy. Here are the Muggles currently implemented:
+


+
Brightness
Control laptop display brightness using xbacklight. +
view-mode
Access view-mode functionality without invoking view-mode explicitly. +
+
org-table-ui
Access Emacspeak Table UI functionality for org-mode tables. +
+
And a lot more to come. +
+

+

+

1.3 Blogger Note:

Going forward, these articles will be published via GitHub – rather than Blogspot — the new Blogspot API requires browser-based authentication that is beyond Emacs.
+

Date: <2015-07-13 Mon>

Author: raman

Created: 2015-07-13 Mon 09:17

Emacs 25.0.50.1 (Org mode 8.2.10)

Validate

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-09-21T11:24:00.000-07:00

Emacspeak: An Overview Of Voice-Lock Over The Years

+
+

Emacspeak: An Overview Of Voice-Lock Over The Years

1 Executive Summary

Audio formatted output is provided via voice-lock in Emacspeak.
+The feature was originally implemented in 1994 and significantly
+overhauled in 2002 (with no change in functionality). Now, in 2015,
+the implementation has been reworked to be once again simpler — but
+with the same functionality.
+


+

2 1994: Original Implementation

Font-lock was a new feature in Emacs 19 — it was introduced right
+around the time the Emacspeak project was started.
+At the time, there were multiple font-lock packages in
+Emacs. Emacspeak implemented voice-lock via a stand-alone module
+that attached property personality to buffer contents. The
+dtk-speak Text-To-Speech module treated strings annotated with
+property personality as an aural display list when producing
+spoken output.
+


+

In the winter of 1995, I implemented Aural CSS in emacspeak, and
+this resulted in module acss.el — that module provides a clean
+abstraction for defining values that can be assigned to property
+personality. Next, the rest of emacspeak was overhauled to
+express all voice-lock features via the ACSS abstraction.
+


+

3 2002 Overhaul

With feature font-lock now mature, Emacs itself converged on a
+single font-lock module with jit-lock.el providing just-in-time font
+locking. This meant that Emacspeak's voice-lock feature could now be
+more easily implemented by attaching appropriate advice to lisp
+functions put-text-property and friends — this led to the deletion
+of module voice-lock.el and the creation of module
+emacspeak-personality.el.
+


+

That module provided multiple options for how faces were mapped to
+personalities:
+


+
  • Cumulative where property personality was either appended or
    +prepended to the list of personalities at any given position.
  • +
  • Simple: where the new personality directly replaced any previously
    +applied personality property.
  • +
  • None: Where faces were not mapped to personalities.
  • +

+

4 2015 Overhaul

And now, in 2015, the code in module dtk-speak.el that implements
+audio-formatting has been overhauled to directly map faces to
+personalities. This implementation can be enabled by setting the
+option emacspeak-personality-voiceify-faces provided in module
+emacspeak-personality.el to All. This means that the new
+implementation can co-exist (at least for a while) with the earlier
+advice-based implementation from module emacspeak-personality.el.
+


+

once deemed to be stable, the new implementation will become the
+default — by changing the default value of
+emacspeak-personality-voiceify-faces to none.
+

5 Summary

From an end-user's perspective, nothing has changed in 21 years. From
+the perspective of implementing voice-lock for Emacs modules, nothing
+has changed — all that an Emacspeak extension for a specific package
+needs to do to enable voice-lock is to set up a face->personality
+mapping as before via function voice-setup-add-map. Note that
+property personality will continue to have higher precedence than
+property face with respect to the audio formatting that gets applied
+i.e. Emacspeak first consults value of property personality, and if
+that is not set, but there is a face property set, then that
+face->personality mapping (if defined) is used as the aural style.
+

Date: <2015-08-18 Tue>

Author: T.V Raman

Created: 2015-08-21 Fri 10:18

Validate

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-09-21T11:22:00.000-07:00

Emacspeak:Setting up StumpWM as a speech-enabled Window Manager.

+
+

+

Emacspeak support for StumpWM

1 Summary:

Describes my Linux X-Windowing setup using lightdm to initialize the desktop and StumpWM configured as a talking Window Manager.
+These files can be found under emacspeak/stumpwm in your Emacspeak installation, or in the source code cloned from https://github.com/tvraman/emacspeak.
+


+

2 Overview

File stumpwmrc is my StumpWM init file that I use to set up
+StumpWM as a talking window manager. With this setup, I run Emacs in
+one window and Chrome+ChromeVox in another window.
+


+

File xsession is my .xsession file — it launches StumpWM once lightdm has finished authentication.
+You can find my lightdm setup files in directory emacspeak/tvr/lightdm.
+


+
+

3 Contents

tts.lisp
Interface to Emacspeak TTS servers.
+
stumpwmrc
Code to insert into personal =.stumpwmr
+
xsession-
My= .xsession= file.
+
xlock
A light-weight screen-lock script.
+

+
+
+

4 Resulting Functionality

To set this up, You should only need to edit the value of
+*emacspeak-dir* in the stumpwmrc file for setup.
+


+
  1. All Keybindings match my usual screen setup, including the window-manager prefix-key.
  2. +
  3. C-\ is the window-manager key.
  4. +
  5. Switching windows speaks the title of the new window.
  6. +
  7. Stumpwm command for displaying window list C-\w also speaks the output.
  8. +
  9. The init file provides a simple lock-screen command bound to C-\d.
  10. +
  11. The above lock command invokes shell script xlock — that script takes care of playing an auditory icon when the desktop is locked or unlocked.
  12. +
  13. Window manager messages speak automatically; this can be toggled with C-\t.
  14. +
  15. If there is a lot of activity in a window that is not focused,
    +you can turn off automatic speaking of messages using C-\t to
    +avoid distraction.
  16. +
  17. StumpWM is set up to deny raise-focus requests — this is so that activity in a window doesn't automatically grab focus.
    +I typically run with only one window displayed at a time.
  18. +

Date: <2015-09-07 Mon>

Author: raman

Created: 2015-09-07 Mon 14:44

Validate

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-09-21T11:20:00.002-07:00

Setting Up An X Environment For Using With Emacspeak, ChromeVox and StumpWM

+
+

+

Setting Up An X Environment For Using With Emacspeak, ChromeVox and StumpWM

1 Executive Summary

This is a follow-up to the article on my Window Manager set-up
+and details the setup of my X environment. This setup is specifically geared around the following use-cases:
+


+
  1. Emacspeak running in a window to provide a local audio desktop.
  2. +
  3. ChromeVox running in a second window to provide access to JS-powered WebApps. Note that for the content-oriented Web, I use Emacs' built-in EWW browser.
  4. +
  5. SSH running in an XTerm to my remote Linux desktop in a third window. The remote desktop runs Emacspeak and produces auditory feedback through a local speech server.
  6. +

+

The setup described below is implemented via my personal .XResources
+file — that file along with my .xsession file that loads it are
+both checked into the GitHub repo under emacspeak/stumpwm along with any needed helper files.
+


+

The remaining sections give a brief descriptive overview of the
+.XResources and .xsession files as they exist at the time of
+writing.
+


+
+

2 Resulting Functionality: What This Gives Us

  1. You can cut-and-paste between the local Chrome and local Emacspeak using standard clipboard copy/paste commands. Make sure Emacs is set up to use the clipboard, and not the primary X selection.
  2. +
  3. Output displayed in the Xterm, e.g., by the remote Emacspeak session, can be brought into the local Emacspeak session by hitting PrintEverything bound to Ctrl-Return in the XTerm window.
  4. +
  5. Contents of the local clipboard, i.e. Chrome, Emacspeak etc., can be pasted into the remote Emacspeak running in the XTerm using key Ctrl-Shift-Space.
  6. +

+
+

3 Initializing X Session Via File .xsession

#!/bin/sh
+#Caps Lock is Control
+setxkbmap -option ctrl:nocaps       
+#load in XResources to customize X environment 
+xrdb -merge $HOME/.Xresources &
+#Display locks after  30 minutes of inactivity
+xautolock -detectsleep -time 30  -locker  "$HOME/bin/xlock" & 
+# Launch Emacs 
+emacs  -title Emacs &
+# XTerm for SSH to remote desktop
+xterm  -title Retriever &
+# StumpWM Setup: Use SBCL 
+export LISP=sbcl
+# Export our  X auth environment 
+${HOME}/bin/export_x_info &
+# Launch StumpWM
+exec  /usr/local/bin/stumpwm
+

+

4 Customizing X Environment Via File .XResources

! Setup Emacs Visual Look And Feel
+Emacs*font:     -adobe-Utopia-normal-normal-normal-*-*-*-*-*-*-0-iso10646-1
+Emacs.FontBackend:      xft,x
+Emacs.menuBar:  off
+Emacs.toolBar:  off
+Emacs.verticalScrollBars:       off
+

:! Setup XTerm Look And Feel:
+


+
XTerm*Background:       black
+XTerm*Foreground:       white
+! Setup XTerm key-bindings to match Emacspeak
+XTerm*VT100.translations:       #override \n\
+Ctrl <Key>semicolon: string(0x18) string("@h") \n\
+Ctrl <Key>comma: string(0x18) string("@a") \n\
+Ctrl <Key>period: string(0x18) string("@s") \n\
+Ctrl <Key>apostrophe: string(0x18) string("@s") \n\
+Shift <Key>Return: string(0x18) string("@s") string(0x0d)\n\
+Ctrl <Key>Return: print-everything()\n\
+Ctrl Shift <Key>space:    insert-selection(CLIPBOARD) 
+

:! Configure rest of XTerm
+

XTerm*eightBitInput:    false
+XTerm*faceName: xft:Inconsolata:pixelsize=14
+XTerm*metaSendsEscape:  true
+

+
! emacs-pipe.pl is under emacspeak/etc in the Emacspeak Git Repository
+! This helps us view XTerm output in a buffer in the locally running Emacspeak
+

+
XTerm.*.printerCommand:     /usr/local/bin/emacs-pipe.pl
+XTerm.*.printAttributes: 0
+

+
!X Font environment
+Xft*antialias:  true
+Xft*dpi:        96
+Xft*hinting:    true
+Xft*hintstyle:  hintfull
+Xft*rgba:       rgb
+

Date: <2015-09-21 Mon>

Author: raman

Created: 2015-09-21 Mon 09:14

Validate

+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-09-21T11:18:00.001-07:00

Announcing Emacspeak 42.0 (AnswerDog)

+
+
+
+
+

Emacspeak 42.0—AnswerDog—Unleashed!

+ +
+

1 Emacspeak-42.0 (AnswerDog) Unleashed!

+
+

+** For Immediate Release: +

+ +

+San Jose, Calif., (May 1, 2015) + Emacspeak: Redefining Accessibility In The Era Of Internet Computing + –Zero cost of upgrades/downgrades makes priceless software affordable! +

+ +

+Emacspeak Inc (NASDOG: ESPK) --http://emacspeak.sf.net– announces the +immediate world-wide availability of Emacspeak 42.0 (AnswerDog) –a +powerful audio desktop for leveraging today's evolving data, social +and service-oriented Internet cloud. +

+
+ +
+

1.1 Investors Note:

+
+

+With several prominent tweeters expanding coverage of +#emacspeak, NASDOG: ESPK has now been consistently trading over +the social net at levels close to that once attained by DogCom +high-fliers—and as of May 2015 is trading at levels close to +that achieved by once better known stocks in the tech sector. +

+
+
+ +
+

1.2 What Is It?

+
+

+Emacspeak is a fully functional audio desktop that provides +complete eyes-free access to all major 32 and 64 bit operating +environments. By seamlessly blending live access to all aspects +of the Internet such as Web-surfing, blogging, social computing +and electronic messaging into the audio desktop, Emacspeak +enables speech access to local and remote information with a +consistent and well-integrated user interface. A rich suite of +task-oriented tools provides efficient speech-enabled access to +the evolving service-oriented social Internet cloud. +

+
+
+ +
+

1.3 Major Enhancements:

+
+
    +
  • Emacs EWW: Consume Web content efficiently. 🕷 +
  • +
  • Updated Info manual 🕮 +
  • +
  • SoX integration for generating auditory feedback ℗ +
  • +
  • Speech-enabled Elfeed, an Emacs Feed Reader 🗞 +
  • +
  • CSound generated 3d Auditory Icons ⟀ +
  • +
  • Audacious — An Audio Workbench using SoX 🝧 +
  • +
  • Audio presets for MPlayer using Ladspa filters ♮ +
  • +
  • emacspeak-url-templates: Smart Web access. ♅ +
  • +
  • Integrated TuneIn Radio search, browse and play 📻 +
  • +
  • emacspeak-websearch.el Find things fast. ♁ +
  • +
  • Calibre integration for searching and viewing epub 📚 📔 +
  • +
  • Complete anything via company integration ∁ +
  • +
  • Emacs 24.4: Supports all new features in Emacs 24.4. 🌚 +
  • +
  • And a lot more than wil fit this margin. … +
  • +
+
+
+ +
+

1.4 Establishing Liberty, Equality And Freedom:

+
+

+ Never a toy system, Emacspeak is voluntarily bundled with all +major Linux distributions. Though designed to be modular, +distributors have freely chosen to bundle the fully integrated +system without any undue pressure—a documented success for +the integrated innovation embodied by Emacspeak. As the system +evolves, both upgrades and downgrades continue to be available at +the same zero-cost to all users. The integrity of the Emacspeak +codebase is ensured by the reliable and secure Linux platform +used to develop and distribute the software. +

+ +

+Extensive studies have shown that thanks to these features, users +consider Emacspeak to be absolutely priceless. Thanks to this +wide-spread user demand, the present version remains priceless +as ever—it is being made available at the same zero-cost as +previous releases. +

+ +

+At the same time, Emacspeak continues to innovate in the area of +eyes-free social interaction and carries forward the +well-established Open Source tradition of introducing user +interface features that eventually show up in luser environments. +

+ +

+On this theme, when once challenged by a proponent of a crash-prone +but well-marketed mousetrap with the assertion "Emacs is a system from +the 70's", the creator of Emacspeak evinced surprise at the unusual +candor manifest in the assertion that it would take popular +idiot-proven interfaces until the year 2070 to catch up to where the +Emacspeak audio desktop is today. Industry experts welcomed this +refreshing breath of Courage Certainty and Clarity (CCC) at a time +when users are reeling from the Fear Uncertainty and Doubt (FUD) +unleashed by complex software systems backed by even more convoluted +press releases. +

+
+
+ +
+

1.5 Independent Test Results:

+
+

+Independent test results have proven that unlike some modern (and +not so modern) software, Emacspeak can be safely uninstalled without +adversely affecting the continued performance of the computer. These +same tests also revealed that once uninstalled, the user stopped +functioning altogether. Speaking with Aster Labrador, the creator of +Emacspeak once pointed out that these results re-emphasize the +user-centric design of Emacspeak; "It is the user –and not the +computer– that stops functioning when Emacspeak is uninstalled!". +

+
+ +
+

1.5.1 Note from Aster,Bubbles and Tilden:

+
+

+UnDoctored Videos Inc. is looking for volunteers to star in a +video demonstrating such complete user failure. +

+
+
+
+ +
+

1.6 Obtaining Emacspeak:

+
+

+Emacspeak can be downloaded from GitHub –see +https://github.com/tvraman/emacspeak you can visit +Emacspeak on the WWW at http://emacspeak.sf.net. You can subscribe +to the emacspeak mailing list emacspeak@cs.vassar.edu by sending +mail to the list request address +emacspeak-request@cs.vassar.edu. The +Emacspeak Blog is a good source + for news about recent enhancements and how to use them. +

+ +

+The latest development snapshot of Emacspeak is always available via +Git from GitHub at +Emacspeak GitHub . +

+
+
+ +
+

1.7 History:

+
+

+Emacspeak 42.0 while moving to GitHub from Google Code continues to +innovate in the areas of auditory user interfaces and efficient, +light-weight Internet access. Emacspeak 41.0 continues to improve +upon the desire to provide not just equal, but superior access — +technology when correctly implemented can significantly enhance the +human ability. Emacspeak 40.0 goes back to Web basics by enabling +efficient access to large amounts of readable Web content. Emacspeak +39.0 continues the Emacspeak tradition of increasing the breadth of +user tasks that are covered without introducing unnecessary +bloatware. Emacspeak 38.0 is the latest in a series of award-winning +releases from Emacspeak Inc. Emacspeak 37.0 continues the tradition of +delivering robust software as reflected by its code-name. Emacspeak +36.0 enhances the audio desktop with many new tools including full +EPub support — hence the name EPubDog. Emacspeak 35.0 is all about +teaching a new dog old tricks — and is aptly code-named HeadDog in +honor of our new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles) +established a new beach-head with respect to rapid task completion in +an eyes-free environment. Emacspeak-33.0 AKA StarDog brings +unparalleled cloud access to the audio desktop. Emacspeak 32.0 AKA +LuckyDog continues to innovate via open technologies for better +access. Emacspeak 31.0 AKA TweetDog — adds tweeting to the Emacspeak +desktop. Emacspeak 30.0 AKA SocialDog brings the Social Web to the +audio desktop—you cant but be social if you speak! Emacspeak +29.0—AKAAbleDog—is a testament to the resilliance and innovation +embodied by Open Source software—it would not exist without the +thriving Emacs community that continues to ensure that Emacs remains +one of the premier user environments despite perhaps also being one of +the oldest. Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of +development evinced by Open Source software. Emacspeak 27.0—AKA +FastDog—is the latest in a sequence of upgrades that make previous +releases obsolete and downgrades unnecessary. Emacspeak 26—AKA +LeadDog—continues the tradition of introducing innovative access +solutions that are unfettered by the constraints inherent in +traditional adaptive technologies. Emacspeak 25 —AKA ActiveDog +—re-activates open, unfettered access to online +information. Emacspeak-Alive —AKA LiveDog —enlivens open, unfettered +information access with a series of live updates that once again +demonstrate the power and agility of open source software +development. Emacspeak 23.0 – AKA Retriever—went the extra mile in +fetching full access. Emacspeak 22.0 —AKA GuideDog —helps users +navigate the Web more effectively than ever before. Emacspeak 21.0 +—AKA PlayDog —continued the Emacspeak tradition of relying on enhanced +productivity to liberate users. Emacspeak-20.0 —AKA LeapDog —continues +the long established GNU/Emacs tradition of integrated innovation to +create a pleasurable computing environment for eyes-free +interaction. emacspeak-19.0 –AKA WorkDog– is designed to enhance +user productivity at work and leisure. Emacspeak-18.0 –code named +GoodDog– continued the Emacspeak tradition of enhancing user +productivity and thereby reducing total cost of +ownership. Emacspeak-17.0 –code named HappyDog– enhances user +productivity by exploiting today's evolving WWW +standards. Emacspeak-16.0 –code named CleverDog– the follow-up to +SmartDog– continued the tradition of working better, faster, +smarter. Emacspeak-15.0 –code named SmartDog–followed up on TopDog +as the next in a continuing a series of award-winning audio desktop +releases from Emacspeak Inc. Emacspeak-14.0 –code named TopDog–was +the first release of this millennium. Emacspeak-13.0 –codenamed +YellowLab– was the closing release of the +20th. century. Emacspeak-12.0 –code named GoldenDog– began +leveraging the evolving semantic WWW to provide task-oriented speech +access to Webformation. Emacspeak-11.0 –code named Aster– went the +final step in making Linux a zero-cost Internet access solution for +blind and visually impaired users. Emacspeak-10.0 –(AKA +Emacspeak-2000) code named WonderDog– continued the tradition of +award-winning software releases designed to make eyes-free computing a +productive and pleasurable experience. Emacspeak-9.0 –(AKA +Emacspeak 99) code named BlackLab– continued to innovate in the areas +of speech interaction and interactive accessibility. Emacspeak-8.0 +–(AKA Emacspeak-98++) code named BlackDog– was a major upgrade to +the speech output extension to Emacs. +

+ +

+Emacspeak-95 (code named Illinois) was released as OpenSource on +the Internet in May 1995 as the first complete speech interface +to UNIX workstations. The subsequent release, Emacspeak-96 (code +named Egypt) made available in May 1996 provided significant +enhancements to the interface. Emacspeak-97 (Tennessee) went +further in providing a true audio desktop. Emacspeak-98 +integrated Internetworking into all aspects of the audio desktop +to provide the first fully interactive speech-enabled WebTop. +

+
+
+ +
+

1.8 About Emacspeak:

+
+

+Originally based at Cornell (NY) +http://www.cs.cornell.edu/home/raman –home to Auditory User +Interfaces (AUI) on the WWW– Emacspeak is now maintained on +GitHub --https://github.com/tvraman/emacspeak —and +Sourceforge —http://emacspeak.sf.net. The system is mirrored +world-wide by an international network of software archives and +bundled voluntarily with all major Linux distributions. On +Monday, April 12, 1999, Emacspeak became part of the +Smithsonian's Permanent Research Collection on Information +Technology at the Smithsonian's National Museum of American +History. +

+ +

+The Emacspeak mailing list is archived at Vassar –the home of the +Emacspeak mailing list– thanks to Greg Priest-Dorman, and provides a +valuable knowledge base for new users. +

+
+
+ +
+

1.9 Press/Analyst Contact: Tilden Labrador

+
+

+Going forward, Tilden acknowledges his exclusive monopoly on +setting the direction of the Emacspeak Audio Desktop, and +promises to exercise this freedom to innovate and her resulting +power responsibly (as before) in the interest of all dogs. +

+ +

+**About This Release: +

+
+ +

+Windows-Free (WF) is a favorite battle-cry of The League Against +Forced Fenestration (LAFF). –see +http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on +the ill-effects of Forced Fenestration. +

+ +

+CopyWrite )C( Aster and Hubbell Labrador. All Writes Reserved. +HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered +Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to +their respective owners. +

+
+
+
+
+
+

Author: T.V Raman

+

Created: 2015-04-30 Thu 15:35

+

Emacs 25.0.50.1 (Org mode 8.2.10)

+

Validate

+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-04-30T15:37:00.001-07:00

Emacspeak 3.0: Released 20 Years Ago Today!

+
+
+
+
+

twenty-years-after

+
+

1 Emacspeak Was Released Twenty Years Ago Today

+
+

+The more things change, the more they remain the same. +

+ +

+Emacspeak was released 20 years ago on April 25, 1995 with this +announcement. The Emacspeak mailing list itself did not exist in its +present form — note that the original announcement talks about a +mailing list at DEC CRL. When Greg started the mailing list at +Vassar, we seeded the list from some/all of the messages from the +archive for the mailing list at DEC.e +

+
+
+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-04-25T09:49:00.001-07:00

HowTo: Log Speech Server Output To Aid In Developing TTS Servers

+
+
+
+
+

HowTo: Log TTS Server Output To Aid In TTS Server Development

+
+

1 HowTo: Log TTS Server Output To Aid In TTS Server Development

+
+

+This is mostly of interest to developers of Emacspeak speech servers. +This article outlines how one can log TTS server output to a file. +The loggeds record all commands send by Emacspeak to the TTS server. +It is best to generate the logs in an Emacs session that is separate +from the Emacs session where you are developping your code. +This keeps the logs short, and makes isolating problems much easier. +

+
+ +
+

1.1 How It Works

+
+

+The emacspeak/servers directory now contains log_<tts-name> +servers for the various supported speech servers. When selected, +these log-speech servers produce no speech output; instead, they +output the speech server commands received from Emacspeak to a file in +/tmp named tts-log-$$. +Once you're done logging, you can examine this file from the primary Emacs session. +

+
+
+
+

1.2 Typical Workflow

+
+

+Assume you want to see the speech-server commands sent by Emacs when you perform a specific action, in this instance, pressing C-e m to execute command emacspeak-speak-mode-line. +

+ +
    +
  1. In a separate Linux console or X-Window, launch Emacs with Emacspeak loaded — this is separate from your primary Emacs session. +
  2. +
  3. In this Emacs session, use C-e d d (command dtk-select-server) and select log-<tts-name> as the speech server, where tts-name corresponds to the speech engine you're testing. +
  4. +
  5. Emacspeak will now start the logging server, and fall silent; all commands sent by Emacspeak to the speech-server will be logged to a file in /tmp. +
  6. +
  7. Press C-e m – to produce the log output you want to see. +
  8. +
  9. Use command _emacspeak-emergency-tts-restart to get speech back. +
  10. +
  11. Open a dired buffer on /tmp, press s to sort files by date, and find your generated log output at the top of the list. +
  12. +
  13. Note: It is useful to configure your default speech engine via Custom – see user option emacspeak-emergency-tts-server. It provides a quick-fire means to get speech back if you ever switch to a speech-server that fails for some reason. +
  14. +
+

+Share And Enjoy +

+
+
+
+
+
+

Date: <2015-04-15 Wed>

+

Author: raman

+

Created: 2015-04-15 Wed 17:33

+

Emacs 25.0.50.1 (Org mode 8.2.10)

+

Validate

+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-04-15T17:37:00.001-07:00

Emacspeak Development Is Moving To GitHub

+
+
+
+
+

Emacspeak Development Is Moving To GitHub

+
+

1 Summary:

+
+

+Emacspeak development is moving from Google Code Hosting to GitHub. +If you have been running from the SVN repository, I recommend you +switch to the GitHub version by executing: +

+ +
 
+git clone https://github.com/tvraman/emacspeak.git 
+make config 
+make -j 
+
+
    +
  • If using Outloud TTS: +
  • +
+
 
+cd servers/linux-outloud  &&  make 
+
+
    +
  • If using Espeak TTS: +
  • +
+
 
+cd servers/linux-espeak && make 
+
+
    +
  • After this, all you should need to stay up to date is a periodic +
  • +
+
 
+git pull; make config; make  
+
+
+
+ +
+

2 A Brief History

+
+
    +
  • The first five years of Emacspeak development used a local RCS +repository on my home machine (1994 –1999). +
  • +
  • The first few releases of Emacspeak were distributed through the +Web site and FTP server at Digital Research; they were also +mirrored at Cornell. +
  • +
  • After moving to Adobe Systems in the fall of 1995, Emacspeak was +distributed exclusively through my Web page on the Cornell CS +Department Web server, which also hosted my personal Web site. +
  • +
  • In 2000, I created Emacspeak On SourceForge +
  • +
+

+and used that site for both hosting the Emacspeak source code as +well as the Web site — coincidentally, I lost the ability to +update my Web site at Cornell CS around the same time. +

+
    +
  • Over time it became harder and harder to publish new Emacspeak +releases through the SourceForge interface. Luckily, Google Code +Hosting came along a few months after I joined Google, and moving +the source code repository to Google Code SVN was a no-brainer. +
  • +
  • My friend and colleague Fitz helped me migrate the 5+ years of CVS +history to SVN; this meant that the source code repository on +Google Code also recorded all of the development history that had +been built up on Sourceforge. +
  • +
  • Now, it's time to move to GitHub. I've been using Git for most of +my work the last few years, but was simply too lazy to move +Emacspeak development from SVN to Git on GoogleCode. +
  • +
  • But over time, the advantages present in Git as a source control +system and GitHub as a hosting service have increased — primary +among these — a rich set of Emacs tools that have been written +to leverage the GitHub API. +
  • +
  • For Git integration in Emacs, my personal preference is package +Magit available through Elpa — +
  • +
+
 
+M-x package-install magit in Emacs. 
+
+
    +
  • The GitHub Web site itself is fairly heavy-weight in terms of its +use of scripting, i.e. performing all operations through the +github.com Web site from within Emacs is fairly unpleasant. But +the afore-mentioned GitHub API makes this a non-issue at this +point with respect to the type of workflow I prefer. +
  • +
  • So this week, I did the work to migrate Emacspeak development to +Emacspeak On GitHub. +
  • +
+
+
+ +
+

3 Status Of Migration

+
+
    +
  • With help from some of the kind folk at Google Code Hosting, I've +successfully migrated the source code repository including all +release tags to GitHub. +
  • +
  • I am now checking in changes into GitHub; the SVN repository on +Google Code Hosting is now frozen, and I do not plan to make any +commits there. +
  • +
  • I presently have no immediate plans to start using features of +GitHub like the Issue Tracker; for now we will continue to use the +Emacspeak mailing list which has served us well for 20 years. +
  • +
  • I have also taken this opportunity to prune out legacy portions of +the Emacspeak codebase by moving modules to obsolete at each +level of the directory tree. +
  • +
  • Since starting the Emacspeak Blog in late 2005, I have published a +sequence of articles describing Emacspeak features and usage +patterns; I felt that having these articles for local reference +made a useful supplement to the emacspeak online +documentation. Toward this end, I have downloaded all articles +published so far and checked in both XML and HTML versions into +sub-directory blogs. +
  • +
  • Note that newer articles are also available as .org files under sub-directory announcements. +
  • +
+
+
+ +
+

4 Next Steps

+
+
    +
  • I still need to learn how to do software releases on GitHub. +
  • +
+ + + + +

+Share And Enjoy! +

+
+
+
+
+

Date: <2015-03-06 Fri>

+

Author: raman

+

Created: 2015-03-07 Sat 08:12

+

Emacs 25.0.50.1 (Org mode 8.2.10)

+

Validate

+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-03-09T08:39:00.001-07:00

Enhanced Audio On The Emacspeak Desktop

+
+
+
+
+

Enhanced Audio On The Emacspeak Desktop

+
+

1 Enhanced Audio On The Emacspeak Desktop

+
+

+I recently added a set of modules to Emacspeak to leverage some +of the high-end audio functionality available on Linux machines +on modern hardware. As an example, applying effects such as 3D +spatialization, high-end reverb effects etc. once consumed +CPU cycles to the extent where it was not possible to play with +these in realtime. All these now take less than 1–5% of the CPU, +and that when my laptop is running in power-save mode! +

+
+ +
+

1.1 An Audio Workbench Using SoX

+
+

+Sound Exchange (SoX), described as the Swiss army knife of sound +processing, has been around since the time I was a graduate +student. Today it provides a versatile set of tools for editing +and manipulating both wave and mp3 files. Module sox.el +implements a simple Audio Workbench for the Emacspeak desktop. +

+
+
+

1.1.1 Pre-Requisites

+
+

+SoX with all available auxillary packages for adding support for +various filetypes such as mp3. +The various Ladspa related packages for installing additional +audio effect filters. +

+
+
+ +
+

1.1.2 Usage Instructions For SoX.el

+
+
    +
  • Launch the Audio Workbench via by executing M-x sox. +
  • +
  • Use f to open a wave or mp3 file you wish to manipulate. +
  • +
  • Add any of the supported effects using e. +
  • +
  • Use upper-case E to add more than one effect. +
  • +
  • Hit p to play the result, s to save the result to a new +file. +
  • +
+ +

+At present sox.el supports a few effects such as trim for +clipping files, reverb for adding a reverb etc., with more to +come as I use it. +

+
+
+
+ + +
+

1.2 Adding High-End Reverb When Playing Media Streams

+
+

+I use mplayer to play both local and network media +streams. MPlayer can apply a wide range of filters to the audio +stream; more interestingly it can also apply effects implemented +as Ladspa plugins. Package tap-plugins implements a large +number of high-quality Ladspa filters, including a versatile +Reverb filter. +

+ +

+Once you have package tap-plugins and its dependencies +installed, and a relatively new version of MPlayer (with support +for Ladspa plugins), you can now apply various Reverb Presets +to your media streams via Emacspeak MPlayer command +emacspeak-m-player-apply-reverb-preset bound to P in +Emacspeak MPlayer. Package tap-plugins defines a total of 42 +Reverb Presets, experiment with these when wearing headsets. +Once you have applied a Reverb Preset, you can edit its current +settings via command emacspeak-m-player-edit-reverb bound to R +in Emacspeak MPlayer. +Alternatively, you can pick a default effect to use via Emacs' +custom interface; see option emacspeak-m-player-reverb-filter. +

+
+
+ + + +
+

1.3 Defining Convenient MPLayer Shortcuts

+
+

+Finally, You can now bind shortcut keys for launching Emacspeak +MPlayer from specific locations where you store media, e.g., +you can have separate shortcuts for Music vs Audio Books – +see command emacspeak-m-player-accelerator. +This is best used by customizing Emacspeak option +emacspeak-media-location-bindings — just use the Customize +interface to specify pairs of shortcut keys and media locations. +

+
+
+
+
+
+

Date: <2015-02-17 Tue>

+

Author: raman

+

Created: 2015-02-17 Tue 17:37

+

Emacs 25.0.50.1 (Org mode 8.2.10)

+

Validate

+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-02-17T17:40:00.001-08:00

Internet Radio: Tune-In For Emacspeak

+
+
+
+
+

Internet Radio: Tune-In For Emacspeak

+
+

1 Internet Radio: Tune-In For Emacspeak

+
+

+I just checked in the ability to browse, search and play +radio-stations from TuneIn on the Emacspeak Audio Desktop. +

+
+ +
+

1.1 Pre-Requisites

+
+
    +
  1. xsltproc for xsl stylesheet processing. +
  2. +
  3. Linux mplayer for playing streams, preferably the latest version +
  4. +
+
+
+
+ + +
+

2 Simple Usage Summary

+
+
    +
  • M-x emacspeak-wizards-tune-in-radio-browse brings up the +browse interface. +
  • +
  • M-x emacspeak-wizards-tune-in-radio-search prompts for a +query and brings up search results. +
  • +
  • Both browse and search get the results back as an OPML +feed, which gets displayed as a simple Web page within the +Emacs Web Browser (EWW if using 24.4). +
  • +
  • Items identified as (link) are themselves OPML feeds and +can be opened via command emacspeak-feeds-opml-display. +
  • +
  • The initial browse buffer is set up to use opml-display +when you click on link items. +
  • +
  • You can play (audio) links by invoking command +emacspeak-webutils-play-media-at-point — this command is +bound to _; in EWW. +
  • +
  • You need to provide an interactive prefix argument to the +above command to indicate that it is a playlist — so you +actually press C-u ; on audio links. +
  • +
  • Many of the audio links do not return a playlist – they +instead return a link that is a pointer to a playlist. Newer +versions of mplayer will throw a security error — you can +tell mplayer to follow them by invoking the earlier command +with two prefix args so C-u C-u ;. +
  • +
  • All this works about 90% of the time. In some cases – +depending on whether the server failed to generate the right +
  • +
+

+mimetype for the play URL etc, you may need to run +

+
+curl --silent <url> 
+
+

+where <url> is the URL of the audio link, then pass that +resulting URL to command emacspeak-m-player-url. +

+ +

+Share And Enjoy! +

+
+
+
+
+

Date: <2015-02-17 Tue>

+

Author: T.V Raman

+

Created: 2015-02-17 Tue 16:41

+

Emacs 25.0.50.1 (Org mode 8.2.10)

+

Validate

+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-02-17T16:49:00.001-08:00

3D: A Spatial Auditory Icon Theme Generated Using CSound

+
+
+
+
+

Using CSound To Generate Auditory Icons

+
+

1 Auditory Icon Theme: 3d

+
+

+CSound is a sophisticated music sound synthesis system with a +strong community of developers. I've played off and on with +CSound ever since the early 90's and have always been intrigued +by the possibility of algorithmically creating new auditory icon themes for +Emacspeak using CSound. +

+ +

+Over the holidays last December, I finally got around to creating +my first complete CSound-generated auditory icon theme – it is +now checked into Emacspeak SVN as theme 3d. This theme is best +experienced with headphones — many of the generated icons use +spatial audio to good effect. +

+
+
+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2015-01-06T09:15:00.001-08:00

Announcing Emacspeak 41.0: NiceDog

+
+
+
+
+

Emacspeak 41.0—NiceDog—Unleashed!

+ +
+

1 Emacspeak-41.0 (NiceDog) Unleashed!

+
+

+** For Immediate Release: +

+ +

+San Jose, Calif., (Nov 26, 2014) + Emacspeak: Redefining Accessibility In The Era Of Web Computing + –Zero cost of upgrades/downgrades makes priceless software affordable! +

+ +

+Emacspeak Inc (NASDOG: ESPK) --http://emacspeak.sf.net– +announces the immediate world-wide availability of Emacspeak 41.0 +(NiceDog) –a powerful audio desktop for leveraging today's +evolving data, social and service-oriented Web cloud. +

+
+ +
+

1.1 Investors Note:

+
+

+With several prominent tweeters expanding coverage of +#emacspeak, NASDOG: ESPK has now been consistently trading over +the social net at levels close to that once attained by DogCom +high-fliers—and as of November 2014 is trading at levels close to +that achieved by once better known stocks in the tech sector. +

+
+
+ +
+

1.2 What Is It?

+
+

+Emacspeak is a fully functional audio desktop that provides +complete eyes-free access to all major 32 and 64 bit operating +environments. By seamlessly blending live access to all aspects +of the Internet such as Web-surfing, blogging, social computing +and electronic messaging into the audio desktop, Emacspeak +enables speech access to local and remote information with a +consistent and well-integrated user interface. A rich suite of +task-oriented tools provides efficient speech-enabled access to +the evolving service-oriented social Web cloud. +

+
+
+ +
+

1.3 Major Enhancements:

+
+
    +
  • Emacs EWW: Consume Web content efficiently. 📚 +
  • +
  • emacspeak-url-templates: Smart Web access. ♅ +
  • +
  • emacspeak-websearch.el Find things fast. ♁ +
  • +
  • emacspeak-google.el: Improved Google integration. ⁈ +
  • +
  • Calibre integration for searching and viewing epub 📚 +
  • +
  • Complete anything via company integration 🗜 +
  • +
  • Speech-enabled 2048 🂠 +
  • +
  • Emacspeak At Twenty -Historical Overview ⛬ +
  • +
  • gmaps.el: Find places, read reviews, get there. 🌐 +
  • +
  • Feed Browser Consume feeds post Google-Reader. ␌ +
  • +
  • Freebase Search: Explore freebase knowledge base. 🆓 +
  • +
  • Emacs 24.4: Supports all new features in Emacs 24.4. 🌚 +
  • +
  • And a lot more than wil fit this margin. … +
  • +
+
+
+ +
+

1.4 Establishing Liberty, Equality And Freedom:

+
+

+ Never a toy system, Emacspeak is voluntarily bundled with all +major Linux distributions. Though designed to be modular, +distributors have freely chosen to bundle the fully integrated +system without any undue pressure—a documented success for +the integrated innovation embodied by Emacspeak. As the system +evolves, both upgrades and downgrades continue to be available at +the same zero-cost to all users. The integrity of the Emacspeak +codebase is ensured by the reliable and secure Linux platform +used to develop and distribute the software. +

+ +

+Extensive studies have shown that thanks to these features, users +consider Emacspeak to be absolutely priceless. Thanks to this +wide-spread user demand, the present version remains priceless +as ever—it is being made available at the same zero-cost as +previous releases. +

+ +

+At the same time, Emacspeak continues to innovate in the area of +eyes-free social interaction and carries forward the +well-established Open Source tradition of introducing user +interface features that eventually show up in luser environments. +

+ +

+On this theme, when once challenged by a proponent of a +crash-prone but well-marketed mousetrap with the assertion +"Emacs is a system from the 70's", the creator of Emacspeak +evinced surprise at the unusual candor manifest in the assertion +that it would take popular idiot-proven interfaces until the year +2070 to catch up to where the Emacspeak audio desktop is +today. Industry experts welcomed this refreshing breath of +Courage Certainty and Clarity (CCC) at a time when users are +reeling from the Fear Uncertainty and Doubt (FUD) unleashed by +complex software systems backed by even more convoluted press +releases. +

+
+
+ +
+

1.5 Independent Test Results:

+
+

+Independent test results have proven that unlike some modern (and +not so modern) software, Emacspeak can be safely uninstalled without +adversely affecting the continued performance of the computer. These +same tests also revealed that once uninstalled, the user stopped +functioning altogether. Speaking with Aster Labrador, the creator of +Emacspeak once pointed out that these results re-emphasize the +user-centric design of Emacspeak; "It is the user –and not the +computer– that stops functioning when Emacspeak is uninstalled!". +

+
+ +
+

1.5.1 Note from Aster,Bubbles and Tilden:

+
+

+UnDoctored Videos Inc. is looking for volunteers to star in a +video demonstrating such complete user failure. +

+
+
+
+ +
+

1.6 Obtaining Emacspeak:

+
+

+Emacspeak can be downloaded from Google Code –see +http://code.google.com/p/emacspeak/ You can visit +Emacspeak on the WWW at http://emacspeak.sf.net. You can subscribe +to the emacspeak mailing list emacspeak@cs.vassar.edu by sending +mail to the list request address +emacspeak-request@cs.vassar.edu. The +Emacspeak Blog is a good source + for news about recent enhancements and how to use them. +The WowDog release is at +http://emacspeak.googlecode.com/svn/wiki/downloads/emacspeak-41.0.tar.bz2. +The latest development snapshot of Emacspeak is always available via +Subversion from Google Code at +http://emacspeak.googlecode.com/svn/trunk/ +

+
+
+
+

1.7 History:

+
+

+Emacspeak 41.0 continues to improve upon the desire to provide +not just equal, but superior access — technology +when correctly implemented can significantly enhance the human +ability. Emacspeak 40.0 goes back to Web basics by enabling +efficient access to large amounts of readable Web +content. Emacspeak 39.0 continues the Emacspeak tradition of +increasing the breadth of user tasks that are covered without +introducing unnecessary bloatware. Emacspeak 38.0 is the latest +in a series of award-winning releases from Emacspeak +Inc. Emacspeak 37.0 continues the tradition of delivering robust +software as reflected by its code-name. Emacspeak 36.0 enhances +the audio desktop with many new tools including full EPub support +— hence the name EPubDog. Emacspeak 35.0 is all about teaching +a new dog old tricks — and is aptly code-named HeadDog in honor +of our new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles) +established a new beach-head with respect to rapid task +completion in an eyes-free environment. Emacspeak-33.0 AKA +StarDog brings unparalleled cloud access to the audio +desktop. Emacspeak 32.0 AKA LuckyDog continues to innovate via +open technologies for better access. Emacspeak 31.0 AKA TweetDog +— adds tweeting to the Emacspeak desktop. Emacspeak 30.0 AKA +SocialDog brings the Social Web to the audio desktop—you cant but +be social if you speak! Emacspeak 29.0—AKAAbleDog—is a testament +to the resilliance and innovation embodied by Open Source +software—it would not exist without the thriving Emacs community +that continues to ensure that Emacs remains one of the premier +user environments despite perhaps also being one of the +oldest. Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of +development evinced by Open Source software. Emacspeak 27.0—AKA +FastDog—is the latest in a sequence of upgrades that make +previous releases obsolete and downgrades unnecessary. Emacspeak +26—AKA LeadDog—continues the tradition of introducing innovative +access solutions that are unfettered by the constraints inherent +in traditional adaptive technologies. Emacspeak 25 —AKA ActiveDog +—re-activates open, unfettered access to online +information. Emacspeak-Alive —AKA LiveDog —enlivens open, +unfettered information access with a series of live updates that +once again demonstrate the power and agility of open source +software development. Emacspeak 23.0 – AKA Retriever—went the +extra mile in fetching full access. Emacspeak 22.0 —AKA GuideDog +—helps users navigate the Web more effectively than ever +before. Emacspeak 21.0 —AKA PlayDog —continued the Emacspeak +tradition of relying on enhanced productivity to liberate +users. Emacspeak-20.0 —AKA LeapDog —continues the long +established GNU/Emacs tradition of integrated innovation to +create a pleasurable computing environment for eyes-free +interaction. emacspeak-19.0 –AKA WorkDog– is designed to +enhance user productivity at work and leisure. Emacspeak-18.0 +–code named GoodDog– continued the Emacspeak tradition of +enhancing user productivity and thereby reducing total cost of +ownership. Emacspeak-17.0 –code named HappyDog– enhances user +productivity by exploiting today's evolving WWW +standards. Emacspeak-16.0 –code named CleverDog– the follow-up +to SmartDog– continued the tradition of working better, faster, +smarter. Emacspeak-15.0 –code named SmartDog–followed up on +TopDog as the next in a continuing a series of award-winning +audio desktop releases from Emacspeak Inc. Emacspeak-14.0 –code +named TopDog–was the first release of this +millennium. Emacspeak-13.0 –codenamed YellowLab– was the +closing release of the 20th. century. Emacspeak-12.0 –code named +GoldenDog– began leveraging the evolving semantic WWW to provide +task-oriented speech access to Webformation. Emacspeak-11.0 +–code named Aster– went the final step in making Linux a +zero-cost Internet access solution for blind and visually +impaired users. Emacspeak-10.0 –(AKA Emacspeak-2000) code named +WonderDog– continued the tradition of award-winning software +releases designed to make eyes-free computing a productive and +pleasurable experience. Emacspeak-9.0 –(AKA Emacspeak 99) code +named BlackLab– continued to innovate in the areas of speech +interaction and interactive accessibility. Emacspeak-8.0 –(AKA +Emacspeak-98++) code named BlackDog– was a major upgrade to the +speech output extension to Emacs. +

+ +

+Emacspeak-95 (code named Illinois) was released as OpenSource on +the Internet in May 1995 as the first complete speech interface +to UNIX workstations. The subsequent release, Emacspeak-96 (code +named Egypt) made available in May 1996 provided significant +enhancements to the interface. Emacspeak-97 (Tennessee) went +further in providing a true audio desktop. Emacspeak-98 +integrated Internetworking into all aspects of the audio desktop +to provide the first fully interactive speech-enabled WebTop. +

+ +

+About Emacspeak: +

+
+ +

+Originally based at Cornell (NY) +http://www.cs.cornell.edu/home/raman –home to Auditory User +Interfaces (AUI) on the WWW– Emacspeak is now maintained on +GoogleCode --http://code.google.com/p/emacspeak —and +Sourceforge —http://emacspeak.sf.net. The system is mirrored +world-wide by an international network of software archives and +bundled voluntarily with all major Linux distributions. On +Monday, April 12, 1999, Emacspeak became part of the +Smithsonian's Permanent Research Collection on Information +Technology at the Smithsonian's National Museum of American +History. +

+ +

+The Emacspeak mailing list is archived at Vassar –the home of the +Emacspeak mailing list– thanks to Greg Priest-Dorman, and provides a +valuable knowledge base for new users. +

+
+
+ +
+

1.8 Press/Analyst Contact: Tilden Labrador

+
+

+Going forward, Tilden acknowledges his exclusive monopoly on +setting the direction of the Emacspeak Audio Desktop, and +promises to exercise this freedom to innovate and her resulting +power responsibly (as before) in the interest of all dogs. +

+ +

+**About This Release: +

+
+ +

+Windows-Free (WF) is a favorite battle-cry of The League Against +Forced Fenestration (LAFF). –see +http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on +the ill-effects of Forced Fenestration. +

+ +

+CopyWrite )C( Aster and Hubbell Labrador. All Writes Reserved. +HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered +Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to +their respective owners. +

+
+
+
+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2014-11-26T07:09:00.001-08:00

Emacspeak At Twenty: Looking Back, Looking Forward

+
+
+
+
+

Emacspeak At Twenty: Looking Back, Looking Forward

+ +
+

1 Introduction

+
+

+One afternoon in the third week of September 1994, I started +writing myself a small Emacs extension using Lisp Advice to make +Emacs speak to me so I could use a Linux laptop. As Emacspeak +turns twenty, this article is both a quick look back over the +twenty years of lessons learned, as well as a glimpse into what +might be possible as we evolve to a world of connected, +ubiquitous computing. This article draws on Learning To Program +In 10 Years by Peter Norvig for some of its inspiration. +

+
+
+ +
+

2 Using UNIX With Speech Output — 1994

+
+

+As a graduate student at Cornell, I accessed my Unix workstation +(SunOS) from an Intel 486 PC running IBM Screen-Reader. There + was no means of directly using a UNIX box at the time; after + graduating, I continued doing the same for about six months at + Digital Research in Cambridge — the only difference being that + my desktop workstation was now a DEC-Alpha. Throughout this + time, Emacs was my environment of choice for everything from + software development and Internet access to writing documents. +

+ + +

+In fall of 1994, I wanted to start using a laptop running Linux; +a colleague (Dave Wecker) was retiring his 386mhz laptop that +already had Linux on it and I decided to inherit it. But there +was only one problem — until then I had always accessed a UNIX +machine from a secondary PC running a screen-reader — something +that would clearly make no sense with a laptop! +

+ +

+Another colleague, Win Treese, had pointed out the interesting +possibilities presented by package advice in Emacs 19.23 — a +few weeks earlier, he had sent around a small snippet of code +that magically modified Emacs' version-control primitive to first +create an RCS directory if none existed before adding a file to +version control. When I speculated about using the Linux laptop, +Dave remarked — you live in Emacs anyway — why dont you just make +it talk! +

+ +

+Connecting the dots, I decided to write myself a tool that +augmented Emacs' default behavior to speak — within about 4 +hours, version 0.01 of Emacspeak was up and running. +

+
+
+ + +
+

3 Key Enabler — Emacs And Lisp Advice

+
+

+It took me a couple of weeks to fully recognize the potential of +what I had built with Emacs Lisp Advice. Until then, I had used +screen-readers to listen to the contents of the visual display — +but Lisp Advice let me do a lot more — it enabled Emacspeak to +generate highly context-specific spoken feedback, augmented by a +set of auditory icons. I later formalized this design under the +name speech-enabled applications. For a detailed overview of the +architecture of Emacspeak, see the chapter on Emacspeak in the +book Beautiful Code from O'Reilly. +

+
+
+ +
+

4 Key Component — Text To Speech (TTS)

+
+

+Emacspeak is a speech-subsystem for Emacs; it depends on an +external Text-To-Speech (TTS) engine to produce speech. In 1994, +Digital Equipment released what would turn out to be the last in +the line of hardware DECTalk synthesizers, the DECTalk +Express. This was essentially an Intel 386with 1mb of flash +memory that ran a version of the DECTalk TTS software — to date, +it still remains my favorite Text-To-Speech engine. At the time, +I also had a software version of the same engine running on my +DEC-Alpha workstation; the desire to use either a software or +hardware solution to produce speech output defined the Emacspeak +speech-server architecture. +

+ +

+I went to IBM Research in 1999; this coincided with IBM releasing +a version of the Eloquennce TTS engine on Linux under the name +ViaVoice Outloud. My colleague Jeffrey Sorenson implemented an +early version of the Emacspeak speech-server for this engine +using the OSS API; I later updated it to use the ALSA library +while on a flight back to SFO from Boston in 2001. That is still +the TTS engine that is speaking as I type this article on my +laptop. +

+ +

+20 years on, TTS continues to be the weakest link on Linux; the +best available solution in terms of quality continues to be the +Linux port of Eloquence TTS available from Voxin in Europe for a +small price. Looking back across 20 years, the state of TTS on +Linux in particular and across all platforms in general continues +to be a disappointment; most of today's newer TTS engines are +geared toward mainstream use-cases where naturalness of the +voice tends to supersede intelligibility at higher +speech-rates. Ironically, modern TTS engines also give +applications far less control over the generated output — as a +case in point, I implemented +Audio System For Technical Readings (AsTeR) in 1994 using the +DECTalk; 20 years later, we implemented MathML support in +ChromeVox using Google TTS. In 2013, it turned out to be +difficult or impossible to implement the type of audio renderings +that were possible with the admittedly less-natural sounding +DECTalk! +

+
+
+ +
+

5 Emacspeak And Software Development

+
+

+Version 0.01 of Emacspeak was written using IBM Screen-Reader on +a PC with a terminal emulator accessing a UNIX workstation. But +in about 2 weeks, Emacspeak was already a better environment for +developing Emacspeak in particular and software development in +general. Here are a few highlights in 1994 that made Emacspeak a +good software development environment, present-day users of +Emacspeak will see that that was just scratching the surface. +

+ +
    +
  • Audio formatting using voice-lock to provide aural syntax +highlighting. +
  • +
  • Succinct auditory icons to provide efficient feedback. +
  • +
  • Emacs' ability to navigate code structurally — +
  • +
+

+as opposed to moving around by plain-text units such as + characters, lines and words. S-Expressions are a major win! +

+
    +
  • Emacs' ability to specialize behavior based on major and +minor modes. +
  • +
  • Ability to browse program code using tags, and getting +fluent spoken feedback. +
  • +
  • Completion everywhere. +
  • +
  • Everything is searchable — this is a huge win when you +cannot see the screen. +
  • +
  • Interactive spell-checking using ISpell with continuous +spoken feedback augmented by aural highlights. +
  • +
  • Running code compilation and being able to jump to errors +with spoken feedback. +
  • +
  • Ability to move through diff chunks when working with source +code and source control systems; refined diffs as provided by +the ediff package when speech-enabled is a major +productivity win. +
  • +
  • Ability to easily move between email, document authoring and +programming — though this may appear trivial, it continues to +be one of Emacs' biggest wins. +
  • +
+ + +

+Long-term Emacs users will recognize all of the above as being +among the reasons why they do most things inside Emacs — there is +little that is Emacspeak specific in the above list — except that +Emacspeak was able to provide fluent, well-integrated contextual +feedback for all of these tasks. And that was a game-changer +given what I had had before Emacspeak. As a case in point, I did +not dare program in Python before I speech-enabled Emacs' +Python-Mode; the fact that white space is significant in Python +made it difficult to program using a plain screen-reader that was +unaware of the semantics of the underlying content being +accessed. +

+
+
+

5.1 Programming Defensively

+
+

+As an aside, note that all of Emacspeak has been developed over +the last 20 years with Emacspeak being the only adaptive +technology on my system. This has led to some interesting design +consequences, primary among them being a strong education in +programming defensively. Here are some other key features of +the Emacspeak code-base: +

+ +
    +
  1. The code-base is extremely bushy rather than deeply +hierarchical — this means that when a module breaks, it does +not affect the rest of the system. +
  2. +
  3. Separation of concerns with respect to the various layers, a +tightly knit core speech library interfaces with any one +of many speech servers running as an external process. +
  4. +
  5. Audio formatting is abstracted by using the formalism +defined in Aural CSS. +
  6. +
  7. Emacspeak integrates with Emacs' user interface conventions +by taking over a single prefix key C-e with all +Emacspeak commands accessed through that single keymap. +This helps embedding Emacspeak functionality into a large +variety of third party modules without any loss of functionality. +
  8. +
+
+
+
+ + +
+

6 Emacspeak And Authoring Documents

+
+

+In 1994, my preferred environment for authoring all documents +was LaTeX using the Auctex package. Later I started writing +either LaTeX or HTML using the appropriate support modes; today I +use org-mode to do most of my content authoring. Personally, I +have never been a fan of What You See Is What You Get (WYSIWYG) +authoring tools — in my experience that places an undue burden on +the author by drawing attention away from the content to focus on +the final appearance. An added benefit of creating content in +Emacs in the form of light-weight markup is that the content is +long-lived — I can still usefully process and re-use things I +have written 25 years ago. +

+ +

+Emacs, with Emacspeak providing audio formatting and +context-specific feedback remains my environment of choice for +writing all forms of content ranging from simple email messages +to polished documents for print publishing. And it is worth +repeating that I never need to focus on what the content is +going to look like — that job is best left to the computer. +

+ +

+As an example of producing high-fidelity visual content, see this +write-up on +Polyhedral +Geometry that I published in 2000; all of the content, +including the drawings were created by me using Emacs. +

+
+
+ +
+

7 Emacspeak And The Early Days Of The Web

+
+

+Right around the time that I was writing version 0.01 of +emacspeak, a far more significant software movement was under way +— the World Wide Web was moving from the realms of academia to +the mainstream world with the launch of NCSA Mosaic — and in late +1994 by the first commercial Web browser in Netscape +Navigator. Emacs had always enabled integrated access to FTP +archives via package ange-ftp; in late 1993, William Perry +released Emacs-W3, a Web browser for Emacs written entirely in +Emacs Lisp. W3 was one of the first large packages to be +speech-enabled by Emacspeak — later it was the browser on which I +implemented the first draft of the +Aural CSS +specification. Emacs-W3 enabled many early innovations in the +context of providing non-visual access to Web content, including +audio formatting and structured content navigation; in summer of +1995, Dave Raggett and I outlined a few extensions to HTML Forms, +including the label element as a means of associating metadata +with interactive form controls in HTML, and many of these ideas +were prototyped in Emacs-W3 at the time. Over the years, Emacs-W3 +fell behind the times — especially as the Web moved away from +cleanly structured HTML to a massive soup of unmatched tags. This +made parsing and error-correcting badly-formed HTML markup +expensive to do in Emacs-Lisp — and performance suffered. To add +to this, mainstream users moved away because Emacs' rendering +engine at the time was not rich enough to provide the type of +visual renderings that users had come to expect. The advent of +DHTML, and JavaScript based Web Applications finally killed off +Emacs-W3 as far as most Emacs users were concerned. +

+ +

+But Emacs-W3 went through a revival on the emacspeak audio +desktop in late 1999 with the arrival of XSLT, and Daniel +Veillard's excellent implementation via the libxml2 and +libxslt packages. With these in hand, Emacspeak was able to +hand-off the bulk of HTML error correction to the xsltproc +tool. The lack of visual fidelity didn't matter much for an +eyes-free environment; so Emacs-W3 continued to be a useful tool +for consuming large amounts of Web content that did not require +JavaScript support. +

+ +

+During the last 24 months, libxml2 has been built into Emacs; +this means that you can now parse arbitrary HTML as found in the +wild without incurring a performance hit. This functionality was +leveraged first by package shr (Simple HTML Renderer) within +the gnus package for rendering HTML email. Later, the author of +gnus and shr created a new light-weight HTML viewer called +eww that is now part of Emacs 24. With improved support for +variable pitch fonts and image embedding, Emacs is once again +able to provide visual renderings for a large proportion of +text-heavy Web content where it becomes useful for mainstream +Emacs users to view at least some Web content within Emacs; +during the last year, I have added support within emacspeak to +extend package eww with support for DOM filtering and quick +content navigation. +

+
+
+ +
+

8 Audio Formatting — Generalizing Aural CSS

+
+

+A key idea in Audio System For Technical Readings (AsTeR) was the +use of various voice properties in combination with non-speech +auditory icons to create rich aural renderings. When I +implemented Emacspeak, I brought over the notion of audio +formatting to all buffers in Emacs by creating a voice-lock +module that paralleled Emacs' font-lock module. The visual +medium is far richer in terms of available fonts and colors as +compared to voice parameters available on TTS engines — +consequently, it did not make sense to directly map Emacs' face +properties to voice parameters. To aid in projecting visual +formatting onto auditory space, I created property personality +analogous to Emacs' face property that could be applied to +content displayed in Emacs; module voice-lock applied that +property appropriately, and the Emacspeak core handled the +details of mapping personality values to the underlying TTS +engine. +

+ +

+The values used in property personality were abstract, i.e., +they were independent of any given speech engine. Later in the +fall of 1995, I re-expressed these set of abstract voice +properties in terms of Aural CSS; the work was published as a +first draft toward the end of 1995, and implemented in Emacs-W3 +in early 1996. Aural CSS was an appendix in the CSS-1.0 +specification; later, it graduated to being its own module within +CSS-2.0. +

+ +

+Later in 1996, all of Emacs' voice-lock functionality was +re-implemented in terms of Aural CSS; the implementation has +stood the test of time in that as I added support for more TTS +engines, I was able to implement engine-specific mappings of +Aural-CSS values. This meant that the rest of Emacspeak could +define various types of voices for use in specific contexts +without having to worry about individual TTS +engines. Conceptually, property personality can be thought of +as holding an aural display list — various parts of the system +can annotate pieces of text with relevant properties that finally +get rendered in the aggregate. This model also works well with +the notion of Emacs overlays where a moving overlay is used to +temporarily highlight text that has other context-specific +properties applied to it. +

+ + +

+Audio formatting as implemented in Emacspeak is extremely +effective when working with all types of content ranging from +richly structured mark-up documents (LaTeX, org-mode) and +formatted Web pages to program source code. Perceptually, +switching to audio formatted output feels like switching from a +black-and-white monitor to a rich color display. Today, +Emacspeak's audio formatted output is the only way I can +correctly write else if vs elsif in various programming +languages! +

+
+
+ +
+

9 Conversational Gestures For The Audio Desktop

+
+

+By 1996, Emacspeak was the only piece of adaptive technology I +used; in fall of 1995, I had moved to Adobe Systems from DEC +Research to focus on enhancing the Portable Document Format (PDF) +to make PDF content repurposable. Between 1996 and 1998, I was +primarily focused on electronic document formats — I took this +opportunity to step back and evaluate what I had built as an +auditory interface within Emacspeak. This retrospect proved +extremely useful in gaining a sense of perspective and led to +formalizing the high-level concept of Conversational Gestures +and structured browsing/searching as a means of thinking about +user interfaces. +

+ +

+By now, Emacspeak was a complete environment — I formalized what +it provided under the moniker Complete Audio Desktop. The fully +integrated user experience allowed me to move forward with +respect to defining interaction models that were highly optimized +to eyes-free interaction — as an example, see how Emacspeak +interfaces with modes like dired (Directory Editor) for +browsing and manipulating the filesystem, or proced (Process +Editor) for browsing and manipulating running processes. Emacs' +integration with ispell for spell checking, as well as its +various completion facilities ranging from minibuffer completion +to other forms of dynamic completion while typing text provided +more opportunities for creating innovative forms of eyes-free +interaction. With respect to what had gone before (and is still +par for the course as far as traditional screen-readers are +concerned), these types of highly dynamic interfaces present a +challenge. For example, consider handling a completion interface +using a screen-reader that is speaking the visual display. There +is a significant challenge in deciding what to speak e.g., when +presented with a list of completions, the currently typed text, +and the default completion, which of these should you speak, and +in what order? The problem gets harder when you consider that the +underlying semantics of these items is generally not available +from examining the visual presentation in a consistent manner. By +having direct access to the underlying information being +presented, Emacspeak had a leg up with respect to addressing the +higher-level question — when you do have access to this +information, how do you present it effectively in an eyes-free +environment? For this and many other cases of dynamic +interaction, a combination of audio formatting, auditory icons, +and the ability to synthesize succinct messages from a +combination of information items — rather than having to forcibly +speak each item as it is rendered visually provided for highly +efficient eyes-free interaction. +

+ + +

+This was also when I stepped back to build out Emacspeak's table +browsing facilities — see the online Emacspeak documentation for +details on Emacspeak's table browsing functionality which +continues to remain one of the richest collection of end-user +affordances for working with two-dimensional data. +

+
+ +
+

9.1 Speech-Enabling Interactive Games

+
+

+So in 1997, I went the next step in asking — given access to the +underlying infromation, is it possible to build effective +eyes-free interaction to highly interactive tasks? I picked +Tetris as a means of exploring this space, the result was an +Emacspeak extension to speech-enable module tetris.el. The +details of what was learned were published as a paper in Assets +98, and expanded as a chapter on Conversational Gestures in my +book on Auditory Interfaces; that book was in a sense a +culmination of stepping back and gaining a sense of perspective +of what I had build during this period. The work on +Conversational Gestures also helped in formalizing the abstract +user interface layer that formed part of the +XForms work at the W3C. +

+ +

+Speech-enabling games for effective eyes-free interaction has +proven highly educational. Interactive games are typically built +to challenge the user, and if the eyes-free interface is +inefficient, you just wont play the game — contrast this with a +task that you must perform, where you're likely to make do with +a sub-optimal interface. Over the years, Emacspeak has come to +include eyes-free interfaces to several games including Tetris, +Sudoku, and of late the popular 2048 game. Each of these have in +turn contributed to enhancing the interaction model in Emacspeak, +and those innovations typically make their way to the rest of the +environment. +

+
+
+
+ + +
+

10 Accessing Media Streams

+
+

+Streaming real-time audio on the Internet became a reality with +the advent of RealAudio in 1995; soon there were a large number +of media streams available on the Internet ranging from music +streams to live radio stations. But there was an interesting +twist — for the most part, all of these media streams expected +one to look at the screen, even though the primary content was +purely audio (streaming video hadn't arrived yet!). Starting in +1996, Emacspeak started including a variety of eyes-free +front-ends for accessing media streams. Initially, this was +achieved by building a wrapper around trplayer — a headless +version of RealPlayer; later I built Emacspeak module +emacspeak-m-player for interfacing with package mplayer. A +key aspect of streaming media integration in emacspeak is that +one can launch and control streams without ever switching away +from one's primary task; thus, you can continue to type email or +edit code while seamlessly launching and controlling media +streams. Over the years, Emacspeak has come to integrate with +Emacs packages like emms as well as providing wrappers for +mplayer and alsaplayer — collectively, these let you +efficiently launch all types of media streams, including +streaming video, without having to explicitly switch context. +

+ + +

+In the mid-90's, Emacspeak started including a directory of media +links to some of the more popular radio stations — primarily as a +means of helping users getting started — Emacs' ability to +rapidly complete directory and file-names turned out to be the +most effective means of quickly launching everything from +streaming radio stations to audio books. And even better — as the +Emacs community develops better and smarter ways of navigating +the filesystem using completions, e.g., package ido, these +types of actions become even more efficient! +

+
+
+ +
+

11 EBooks— Ubiquitous Access To Books

+
+

+AsTeR — was motivated by the increasing availability of technical +material as online electronic documents. While AsTeR processed +the TeX family of markup languages, more general ebooks came in a +wide range of formats, ranging from plain text generated from +various underlying file formats to structured EBooks, with +Project Gutenberg leading the way. During the mid-90's, I had +access to a wide range of electronic materials from sources such +as O'Reilly Publishing and various electronic journals — The Perl +Journal (TPJ) is one that I still remember fondly. +

+ +

+Emacspeak provided fairly light-weight but efficient access to +all of the electronic books I had on my local disk — Emacs' +strengths with respect to browsing textual documents meant that I +needed to build little that was specific to Emacspeak. The late +90's saw the arival of Daisy as an XML-based format for +accessible electronic books. The last decade has seen the rapid +convergence to epub as a distribution format of choice for +electronic books. Emacspeak provides interaction modes that make +organizing, searching and reading these materials on the +Emacspeak Audio Desktop a pleasant experience. Emacspeak also +provides an OCR-Mode — this enables one to call out to an +external OCR program and read the content efficiently. +

+ +

+The somewhat informal process used by publishers like O'Reilly to +make technical material available to users with print impairments +was later formalized by BookShare — today, qualified users can +obtain a large number of books and periodicals initially as +Daisy-3 and increasingly as EPub. BookShare provides a RESTful +API for searching and downloading books; Emacspeak module +emacspeak-bookshare implements this API to create a client for +browsing the BookShare library, downloading and organizing books +locally, and an integrated ebook reading mode to round off the +experience. +

+ +

+A useful complement to this suite of tools is the Calibre package +for organizing ones ebook collection; Emacspeak now implements an +EPub Interaction mode that leverages Calibre (actually sqlite3) +to search and browse books, along with an integrated EPub mode +for reading books. +

+
+
+ +
+

12 Leveraging Computational Tools — From SQL And R To IPython Notebooks

+
+

+The ability to invoke external processes and interface with them +via a simple read-eval-loop (REPL) is perhaps one of Emacs' +strongest extension points. This means that a wide variety of +computational tools become immediately available for embedding +within the Emacs environment — a facility that has been widely +exploited by the Emacs community. Over the years, Emacspeak has +leveraged many of these facilities to provide a well-integrated +auditory interface. +

+ +

+Starting from a tight code, eval, test form of iterative +programming as encouraged by Lisp. Applied to languages like +Python and Ruby to explorative computational tools such as R for +data analysis and SQL for database interaction, the Emacspeak +Audio Desktop has come to encompass a collection of rich +computational tools that provide an efficient eyes-free +experience. +

+ + +

+In this context, module ein — Emacs IPython Notebooks — +provides another excellent example of an Emacs tool that helps +interface seamlessly with others in the technical domain. IPython +Notebooks provide an easy means of reaching a large audience when +publishing technical material with interactive computational +content; module ein brings the power and convenience of Emacs ' +editting facilities when developing the content. Speech-enabling +package ein is a major win since editting program source code +in an eyes-free environment is far smoother in Emacs than in a +browser-based editor. +

+
+
+ +
+

13 Social Web — EMail, Instant Messaging, Blogging And Tweeting Using Open Protocols

+
+

+The ability to process large amounts of email and electronic news +has always been a feature of Emacs. I started using package vm +for email in 1990, along with gnus for Usenet access many years +before developing Emacspeak. So these were the first major +packages that Emacspeak speech-enabled. Being able to access the +underlying data structures used to visually render email messages +and Usenet articles enabled Emacspeak to produce rich, succinct +auditory output — this vastly increased my ability to consume and +organize large amounts of information. Toward the turn of the +century, instant messaging arrived in the mainstream — package +tnt provided an Emacs implementation of a chat client that +could communicate with users on the then popular AOL Instant +Messenger platform. At the time, I worked at IBM Research, and +inspired by package tnt, I created an Emacs client called +ChatterBox using the Lotus Sametime API — this enabled me to +communicate with colleagues at work from the comfort of +Emacs. Packages like vm, gnus, tnt and ChatterBox provide +an interesting example of how availability of a clean underlying +API to a specific service or content stream can encourage the +creation of efficient (and different) user interfaces. The +touchstone of such successful implementations is a simple test — +can the user of a specific interface tell if the person whom he +is communicating with is also using the same interface? In each +of the examples enumerated above, a user at one end of the +communication chain cannot tell, and in fact shouldn't be able to +tell what client the user at the other end is using. Contrast +this with closed services that have an inherent lock-in model +e.g., proprietary word processors that use undocumented +serialization formats — for a fun read, see this write-up on +Universe Of Fancy Colored Paper. +

+ + +

+Today, my personal choice for instant messaging is the open +Jabber platform. I connect to Jabber via Emacs package +emacs-jabber and with Emacspeak providing a light-weight +wrapper for generating the eyes-free interface, I can communicate +seamlessly with colleagues and friends around the world. +

+ +

+As the Web evolved to encompass ever-increasing swathes of +communication functionality that had already been available on +the Internet, we saw the world move from Usenet groups to Blogs +— I remember initially dismissing the blogging phenomenon as just +a re-invention of Usenet in the early days. However, mainstream +users flocked to Blogging, and I later realized that blogging as +a publishing platform brought along interesting features that +made communicating and publishing information much easier. In +2005, I joined Google; during the winter holidays that year, I +implemented a light-weight client for Blogger that became the +start of Emacs package g-client — this package provides Emacs +wrappers for Google services that provide a RESTful API. +

+
+
+ + +
+

14 The RESTful Web — Web Wizards And URL Templates For Faster Access

+
+

+Today, the Web, based on URLs and HTTP-style protocols is widely +recognized as a platform in its own right. This platform emerged +over time — to me, Web APIs arrived in the late 90's when I +observed the following with respect to my own behavior on many +popular sites: +

+ +
    +
  1. I opened a Web page that took a while to load (remember, I +was still using Emacs-W3), +
  2. +
  3. I then searched through the page to find a form-field that +I filled out, e.g., start and end destinations on Yahoo +Maps, +
  4. +
  5. I hit submit, and once again waited for a heavy-weight +HTML page to load, +
  6. +
  7. And finally, I hunted through the rendered content to find +what I was looking for. +
  8. +
+ +

+This pattern repeated across a wide-range of interactive Web +sites ranging from AltaVista for search (this was pre-Google), +Yahoo Maps for directions, and Amazon for product searches to +name but a few. So I decided to automate away the pain by +creating Emacspeak module emacspeak-websearch that did the +following: +

+ +
    +
  1. Prompt via the minibuffer for the requisite fields, +
  2. +
  3. Consed up an HTTP GET URL, +
  4. +
  5. Retrieved this URL, +
  6. +
  7. And filtered out the specific portion of the HTML DOM that +held the generated response. +
  8. +
+ +

+Notice that the above implementation hard-wires the CGI parameter +names used by a given Web application into the code implemented +in module emacspeak-websearch. REST as a design pattern had not +yet been recognized, leave alone formalized, and module +emacspeak-websearch was initially decryed as being fragile. +

+ +

+However, over time, the CGI parameter names remained fixed — the + only things that have required updating in the Emacspeak + code-base are the content filtering rules that extract the + response — for popular services, this has averaged about one to + two times a year. +

+ + +

+I later codified these filtering rules in terms of XPath, and +also integrated XSLT-based pre-processing of incoming HTML +content before it got handed off to Emacs-W3 — and yes, +Emacs/Advice once again came in handy with respect to injecting +XSLT pre-processing into Emacs-W3! +

+ +

+Later, in early 2000, I created companion module +emacspeak-url-templates — partially inspired by Emacs' +webjump module. URL templates in Emacspeak leveraged the +recognized REST interaction pattern to provide a large collection +of Web widgets that could be quickly invoked to provide rapid +access to the right pieces of information on the Web. +

+ +

+The final icing on the cake was the arrival of RSS and Atom feeds +and the consequent deep-linking into content-rich sites — this +meant that Emacspeak could provide audio renderings of useful +content without having to deal with complex visual navigation! +While Google Reader existed, Emacspeak provided a light-weight +greader client for managing ones feed subscriptions; with the +demise of Google Reader, I implemented module emacspeak-feeds +for organizing feeds on the Emacspeak desktop. A companion +package emacspeak-webspace implements additional goodies +including a continuously updating ticker of headlines taken from +the user's collection of subscribed feeds. +

+
+
+ + +
+

15 Mashing It Up — Leveraging Evolving Web APIs

+
+

+The next step in this evolution came with the arrival of richer +Web APIs — especially ones that defined a clean client/server +separation. In this respect, the world of Web APIs is a somewhat +mixed bag in that many Web sites equate a Web API with a JS-based +API that can be exclusively invoked from within a Web-Browser +run-time. The issue with that type of API binding is that the +only runtime that is supported is a full-blown Web browser; but +the arrival of native mobile apps has actually proven a net +positive in encouraging sites to create a cleaner +separation. Emacspeak has leveraged these APIs to create +Emacspeak front-ends to many useful services, here are a few: +

+ +
    +
  1. Minibuffer completion for Google Search using Google Suggest +to provide completions. +
  2. +
  3. Librivox for browsing and playing free audio books. +
  4. +
  5. NPR for browsing and playing NPR archived programs. +
  6. +
  7. BBC for playing a wide variety of streaming content +available from the BBC. +
  8. +
  9. A Google Maps front-end that provides instantaneous access +to directions and Places search. +
  10. +
  11. Access to Twitter via package twittering-mode. +
  12. +
+ + +

+And a lot more than will fit this margin! This is an example of +generalizing the concept of a mashup as seen on the Web with +respect to creating hybrid applications by bringing together a +collection of different Web APIs. Another way to think of such +separation is to view an application as a head and a body — +where the head is a specific user interface, with the body +implementing the application logic. A cleanly defined separation +between the head and body allows one to attach different +user interfaces i.e., heads to the given body without any +loss of functionality, or the need to re-implement the entire +application. Modern platforms like Android enable such separation +via an +Intent +mechanism. The Web platform as originally defined around URLs is +actually well-suited to this type of separation — though the full +potential of this design pattern remains to be fully realized +given today's tight association of the Web to the Web Browser. +

+
+
+ +
+

16 Conclusion

+
+

+In 1996, I wrote an article entitled +User +Interface — A Means To An End pointing out that the size and +shape of computers were determined by the keyboard and +display. This is even more true in today's world of tablets, +phablets and large-sized phones — with the only difference that +the keyboard has been replaced by a touch screen. The next +generation in the evolution of personal devices is that they +will become truly personal by being wearables — this once again +forces a separation of the user interface peripherals from the +underlying compute engine. Imagine a variety of wearables that +collectively connect to ones cell phone, which itself connects to +the cloud for all its computational and information needs. Such +an environment is rich in possibilities for creating a wide +variety of user experiences to a single underlying body of +information; Eyes-Free interfaces as pioneered by systems like +Emacspeak will come to play an increasingly vital role alongside +visual interaction when this comes to pass. +

+ + + +

+–T.V. Raman, San Jose, CA, September 12, 2014 +

+
+
+ + + + + + +
+

17 References

+
+ +
+
+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2014-09-15T14:11:00.001-07:00

Emacspeak And Company: Complete Anything Front-End For emacspeak

+
+
+
+
+

Emacspeak And Company: Complete Anything Front-End For Emacspeak

+
+

1 Emacspeak And Company: Complete Anything Front-End For Emacspeak

+
+

+Module emacspeak-company speech-enables package +Company — a flexible complete-anything extension for Emacs. +Package company gains much of its flexibility by providing an +extensible framework for both back-ends and front-ends; back-ends +are responsible for language-specific support e.g., C++ vs +Emacs Lisp; front-ends can provide different visualizations +of the available completions. +

+ +

+I started using package company as I taught myself to program +in Go over the last couple of weeks, and package +emacspeak-company was one of the bi-products. +

+
+ +
+

1.1 Using Company With Emacspeak

+
+

+You can turn on company-mode in dividual buffers; you can also +turn it on globally. Company comes pre-packaged with backend +support for many programming languages; for programming in Go, I +use module company-go in conjunction with the GoCode tool. +

+ +

+See customization group company to customize package +company; +Emacspeak loads package emacspeak-company when package +company is loaded, and that automatically sets up the +Emacspeak front-end. +

+ +

+Once activated, package company shows available completions +where available once you type a prescribed number of +characters. Available candidates are displayed visually via an +overlay and can be traversed using either the up/down arrows or +keys M-n and M-p. You can also search and filter the +available completions, see documentation for command +company-mode. The available visual front-ends also display +relevant metadata for the current candidate in the echo +area. +

+ +

+Front-end emacspeak-company performs the following additional +actions: +

+ +
    +
  • Speaks current candidate along with the relevant metadata. +
  • +
  • The metadata is spoken using voice-annotate. +
  • +
  • Auditory icon help indicates that completion has started. +
  • +
  • pressing F1 during completion displays documentation for +the current candidate. +
  • +
  • You can choose the current candidate by pressing RET; this +
  • +
+

+speaks the selected candidate. +

+
    +
  • Auditory icon close-object indicates that completion has finished. +
  • +
+
+
+ + +
+

1.2 Insights From Speech-Enabling Company

+
+

+Company uses a fluid visual interface to display completions +without the user having to switch contexts — it achieves this by +using overlays that appear briefly in the form of a conceptual +tooltip. These pseudo tooltips are created and destroyed via a +timer; keyboard interaction causes these to be updated — +including hiding the tooltip where appropriate. +

+ +

+Module emacspeak-company speech-enables this interface by +examining the underlying information used to create the +visualization to produce an effective audio-formatted representation. +The net effect is that you can write code with completion helping +you along the way; you do not need to switch tasks to lookup +details as to what completions are available. +

+
+
+
+

1.3 Acknowledgements

+
+

+Thanks again to the authors of package company for a really +nice tool — it's a real productivity winner — especially when +learning a new language and its built-in packages. +

+ +

+I found these articles really helpful while learning to write +package emacspeak-company. +

+ + + +

+Learning Go was a pleasure (it's still a pleasure — I'm still +learning:-)) +and the documentation on GoLang is excellent. As an added bonus, +that entire site uses clean, well-formed HTML without any +unnecessary artifacts that make so much of today's Web a giant +mess; I have been able to use Emacs/EWW exclusively while working +with golang.org — a real bonus for someone programming heavily +in Emacs. +

+
+
+
+
+
+

Date: <2014-05-27 Tue>

+

Author: T.V Raman

+

Created: 2014-05-27 Tue 08:51

+

Emacs 24.3.91.1 (Org mode 8.2.6)

+

Validate

+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2014-05-27T08:54:00.001-07:00

Announcing Emacspeak 40.0 AKA WowDog!

+
+
+ +
+

Emacspeak 40.0—WowDog—Unleashed!

+ +
+

1 Emacspeak-40.0 (WowDog) Unleashed!

+
+

+ ** For Immediate Release: +

+ +

+ San Jose, Calif., (May 13, 2014) + Emacspeak: Redefining Accessibility In The Era Of Web Computing + –Zero cost of upgrades/downgrades makes priceless software affordable! +

+ +

+ Emacspeak Inc (NASDOG: ESPK) --http://emacspeak.sf.net– + announces the immediate world-wide availability of Emacspeak 40.0 + (WowDog) –a powerful audio desktop for leveraging today's + evolving data, social and service-oriented Web cloud. +

+
+ +
+

1.1 Investors Note:

+
+

+ With several prominent tweeters expanding coverage of + #emacspeak, NASDOG: ESPK has now been consistently trading over + the social net at levels close to that once attained by DogCom + high-fliers—and as of November 2013 is trading at levels close to + that achieved by once better known stocks in the tech sector. +

+
+
+
+

1.2 What Is It?

+
+

+ Emacspeak is a fully functional audio desktop that provides + complete eyes-free access to all major 32 and 64 bit operating + environments. By seamlessly blending live access to all aspects + of the Internet such as Web-surfing, blogging, social computing + and electronic messaging into the audio desktop, Emacspeak + enables speech access to local and remote information with a + consistent and well-integrated user interface. A rich suite of + task-oriented tools provides efficient speech-enabled access to + the evolving service-oriented social Web cloud. +

+
+
+
+

1.3 Major Enhancements:

+
+
    +
  • Emacs EWW: Consume Web content efficiently. 📚 +
  • +
  • emacspeak-url-templates: Smart Web access. ♅ +
  • +
  • emacspeak-websearch.el Find things fast. ♁ +
  • +
  • gmaps.el: Find places, read reviews, get there. 🌐 +
  • +
  • Feed Browser Consume feeds post Google-Reader. ␌ +
  • +
  • Freebase Search: Explore freebase knowledge base. 🆓 +
  • +
  • Emacs 24.4: Supports all new features in Emacs 24.4. 🌚 +
  • +
  • And a lot more than wil fit this margin. … +
  • +
+
+
+
+

1.4 Establishing Liberty, Equality And Freedom:

+
+

+ Never a toy system, Emacspeak is voluntarily bundled with all + major Linux distributions. Though designed to be modular, + distributors have freely chosen to bundle the fully integrated + system without any undue pressure—a documented success for + the integrated innovation embodied by Emacspeak. As the system + evolves, both upgrades and downgrades continue to be available at + the same zero-cost to all users. The integrity of the Emacspeak + codebase is ensured by the reliable and secure Linux platform + used to develop and distribute the software. +

+ +

+ Extensive studies have shown that thanks to these features, users + consider Emacspeak to be absolutely priceless. Thanks to this + wide-spread user demand, the present version remains priceless + as ever—it is being made available at the same zero-cost as + previous releases. +

+ +

+ At the same time, Emacspeak continues to innovate in the area of + eyes-free social interaction and carries forward the + well-established Open Source tradition of introducing user + interface features that eventually show up in luser environments. +

+ +

+ On this theme, when once challenged by a proponent of a + crash-prone but well-marketed mousetrap with the assertion + "Emacs is a system from the 70's", the creator of Emacspeak + evinced surprise at the unusual candor manifest in the assertion + that it would take popular idiot-proven interfaces until the year + 2070 to catch up to where the Emacspeak audio desktop is + today. Industry experts welcomed this refreshing breath of + Courage Certainty and Clarity (CCC) at a time when users are + reeling from the Fear Uncertainty and Doubt (FUD) unleashed by + complex software systems backed by even more convoluted press + releases. +

+
+
+
+

1.5 Independent Test Results:

+
+

+ Independent test results have proven that unlike some modern (and + not so modern) software, Emacspeak can be safely uninstalled without + adversely affecting the continued performance of the computer. These + same tests also revealed that once uninstalled, the user stopped + functioning altogether. Speaking with Aster Labrador, the creator of + Emacspeak once pointed out that these results re-emphasize the + user-centric design of Emacspeak; "It is the user –and not the + computer– that stops functioning when Emacspeak is uninstalled!". +

+
+ +
+

1.5.1 Note from Aster,Bubbles and Tilden:

+
+

+ UnDoctored Videos Inc. is looking for volunteers to star in a + video demonstrating such complete user failure. +

+
+
+
+
+

1.6 Obtaining Emacspeak:

+
+

+ Emacspeak can be downloaded from Google Code –see + http://code.google.com/p/emacspeak/ You can visit + Emacspeak on the WWW at http://emacspeak.sf.net. You can subscribe + to the emacspeak mailing list emacspeak@cs.vassar.edu by sending + mail to the list request address + emacspeak-request@cs.vassar.edu. The + Emacspeak Blog is a good source + for news about recent enhancements and how to use them. + The WowDog release is at + http://emacspeak.googlecode.com/svn/wiki/downloads/emacspeak-40.0.tar.bz2. + The latest development snapshot of Emacspeak is always available via + Subversion from Google Code at + http://emacspeak.googlecode.com/svn/trunk/ +

+
+
+ +
+

1.7 History:

+
+

+ Emacspeak 40.0 goes back to Web basics by enabling efficient + access to large amounts of readable Web content. Emacspeak 39.0 + continues the Emacspeak tradition of increasing the breadth of + user tasks that are covered without introducing unnecessary + bloatware. Emacspeak 38.0 is the latest in a series of + award-winning releases from Emacspeak Inc. Emacspeak 37.0 + continues the tradition of delivering robust software as + reflected by its code-name. Emacspeak 36.0 enhances the audio + desktop with many new tools including full EPub support — hence + the name EPubDog. Emacspeak 35.0 is all about teaching a new dog + old tricks — and is aptly code-named HeadDog in honor of our + new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles) + established a new beach-head with respect to rapid task + completion in an eyes-free environment. Emacspeak-33.0 AKA + StarDog brings unparalleled cloud access to the audio + desktop. Emacspeak 32.0 AKA LuckyDog continues to innovate via + open technologies for better access. Emacspeak 31.0 AKA TweetDog + — adds tweeting to the Emacspeak desktop. Emacspeak 30.0 AKA + SocialDog brings the Social Web to the audio desktop—you cant but + be social if you speak! Emacspeak 29.0—AKAAbleDog—is a testament + to the resilliance and innovation embodied by Open Source + software—it would not exist without the thriving Emacs community + that continues to ensure that Emacs remains one of the premier + user environments despite perhaps also being one of the + oldest. Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of + development evinced by Open Source software. Emacspeak 27.0—AKA + FastDog—is the latest in a sequence of upgrades that make + previous releases obsolete and downgrades unnecessary. Emacspeak + 26—AKA LeadDog—continues the tradition of introducing innovative + access solutions that are unfettered by the constraints inherent + in traditional adaptive technologies. Emacspeak 25 —AKA ActiveDog + —re-activates open, unfettered access to online + information. Emacspeak-Alive —AKA LiveDog —enlivens open, + unfettered information access with a series of live updates that + once again demonstrate the power and agility of open source + software development. Emacspeak 23.0 – AKA Retriever—went the + extra mile in fetching full access. Emacspeak 22.0 —AKA GuideDog + —helps users navigate the Web more effectively than ever + before. Emacspeak 21.0 —AKA PlayDog —continued the Emacspeak + tradition of relying on enhanced productivity to liberate + users. Emacspeak-20.0 —AKA LeapDog —continues the long + established GNU/Emacs tradition of integrated innovation to + create a pleasurable computing environment for eyes-free + interaction. emacspeak-19.0 –AKA WorkDog– is designed to + enhance user productivity at work and leisure. Emacspeak-18.0 + –code named GoodDog– continued the Emacspeak tradition of + enhancing user productivity and thereby reducing total cost of + ownership. Emacspeak-17.0 –code named HappyDog– enhances user + productivity by exploiting today's evolving WWW + standards. Emacspeak-16.0 –code named CleverDog– the follow-up + to SmartDog– continued the tradition of working better, faster, + smarter. Emacspeak-15.0 –code named SmartDog–followed up on + TopDog as the next in a continuing a series of award-winning + audio desktop releases from Emacspeak Inc. Emacspeak-14.0 –code + named TopDog–was the first release of this + millennium. Emacspeak-13.0 –codenamed YellowLab– was the + closing release of the 20th. century. Emacspeak-12.0 –code named + GoldenDog– began leveraging the evolving semantic WWW to provide + task-oriented speech access to Webformation. Emacspeak-11.0 + –code named Aster– went the final step in making Linux a + zero-cost Internet access solution for blind and visually + impaired users. Emacspeak-10.0 –(AKA Emacspeak-2000) code named + WonderDog– continued the tradition of award-winning software + releases designed to make eyes-free computing a productive and + pleasurable experience. Emacspeak-9.0 –(AKA Emacspeak 99) code + named BlackLab– continued to innovate in the areas of speech + interaction and interactive accessibility. Emacspeak-8.0 –(AKA + Emacspeak-98++) code named BlackDog– was a major upgrade to the + speech output extension to Emacs. +

+ +

+ Emacspeak-95 (code named Illinois) was released as OpenSource on + the Internet in May 1995 as the first complete speech interface + to UNIX workstations. The subsequent release, Emacspeak-96 (code + named Egypt) made available in May 1996 provided significant + enhancements to the interface. Emacspeak-97 (Tennessee) went + further in providing a true audio desktop. Emacspeak-98 + integrated Internetworking into all aspects of the audio desktop + to provide the first fully interactive speech-enabled WebTop. +

+ +

+ About Emacspeak: +

+
+ +

+ Originally based at Cornell (NY) + http://www.cs.cornell.edu/home/raman –home to Auditory User + Interfaces (AUI) on the WWW– Emacspeak is now maintained on + GoogleCode --http://code.google.com/p/emacspeak —and + Sourceforge —http://emacspeak.sf.net. The system is mirrored + world-wide by an international network of software archives and + bundled voluntarily with all major Linux distributions. On + Monday, April 12, 1999, Emacspeak became part of the + Smithsonian's Permanent Research Collection on Information + Technology at the Smithsonian's National Museum of American + History. +

+ +

+ The Emacspeak mailing list is archived at Vassar –the home of the + Emacspeak mailing list– thanks to Greg Priest-Dorman, and provides a + valuable knowledge base for new users. +

+
+
+
+

1.8 Press/Analyst Contact: Tilden Labrador

+
+

+ Going forward, Tilden acknowledges his exclusive monopoly on + setting the direction of the Emacspeak Audio Desktop, and + promises to exercise this freedom to innovate and her resulting + power responsibly (as before) in the interest of all dogs. +

+ +

+ **About This Release: +

+
+ +

+ Windows-Free (WF) is a favorite battle-cry of The League Against + Forced Fenestration (LAFF). –see + http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on + the ill-effects of Forced Fenestration. +

+ +

+ CopyWrite )C( Aster and Hubbell Labrador. All Writes Reserved. + HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered + Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to + their respective owners. +

+
+
+
+
+
+

Author: T.V Raman

+

Created: 2014-05-09 Fri 08:44

+

Emacs 24.4.50.2 (Org mode 8.2.6)

+

Validate

+
+ +
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2014-05-12T07:52:00.001-07:00

Emacspeak: EWW Updates For The Complete Audio Desktop

+
+
+
+ +
+

Emacspeak EWW Updates

+
+

1 Emacspeak EWW Updates

+
+

+Within a few weeks, EWW has become my prefered way of consuming +large amounts of Web content — except for simple fill-out +forms, it has entirely replaced Emacs/W3 for me. Goes without +saying that I still use ChromeVox for Js-heavy Web sites. +

+ +

+This article summarizes some of the major enhancements to EWW +implemented in module emacspeak-eww; See the online +documentation and key-binding help for complete details. +

+
+ +
+

1.1 EWW And Masquerade Mode

+
+

+You can now have EWW masquerade as modern browsers; note that +some sites might serve you more feature-rich content in this +mode. +

+
+
+
+

1.2 Smart Google Searches

+
+

+All of the features from module emacspeak-google have been +integrated to work with EWW. In addition, if running in +masquerade-mode, you can quickly access knowledge cards if +available on the current results page. +

+
+
+
+

1.3 Rich DOM Filtering

+
+

+The suite of DOM filtered views has been enhanced to support +filtering by class, id, role, or element-list. In addition, you +can also invert these filters. +

+
+
+
+

1.4 Structure Navigation

+
+

+Emacspeak now supports structured navigation in pages rendered by +EWW, see the key-bindings for details. +

+
+
+
+

1.5 Integration With URL-Templates And Feeds

+
+

+EWW is now fully integrated with Emacspeak WebSearch, +URL-Templates and Feeds. This means that hitting g in an EWW +buffer does the right thing with respect to updating the +rendered buffer: +

+ +
    +
  • If viewing a feed, the feed is reloaded before it is rendered +as HTML. +
  • +
  • If viewing a url-template, the template is re-opened, +prompting for user-input if needed. +
  • +
+
+
+ +
+

1.6 XSLT Integration

+
+

+Most of the functionality provided by module emacspeak-xslt for +filtering the DOM in the world of Emacs/W3 is achieved more +effectively via the DOM filtering commands in emacspeak-eww +—that said, XSLT pre-processing is fully integrated with EWW via +supporting modules emacspeak-ew and emacspeak-webutils. +

+
+
+
+

1.7 Other Fun Things To Do

+
+

+Here are some more fun things that might be worth doing: +

+ +
    +
  • Integrate PhantomJS with EWW to load content that is +rendered via JS document.write. +
  • +
  • Integrate with CasperJS to enable interaction with +light-weight WebApps. +
  • +
  • Integrate with Chrome over the debugger API to access the +live DOM within Chrome. +
  • +
+ +

+Share And Enjoy +

+
+
+
+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2014-05-01T17:30:00.001-07:00

Emacspeak Webspace: Glancing At Information On The Audio Desktop

+
+
+
+
+

A Web News Ticker For Emacs

+
+

1 WebSpace: A Web News Ticker For Emacs

+
+

+Module Emacspeak-Webspace provides a rolling ticker of +information that is automatically retrieved, cached and +maintained by Emacspeak. Using this functionality, you can set +up specific buffers to have interesting tidbits of information +displayed automatically in the header-line; Emacspeak speaks +these items of information as you switch contexts. This article +explains the usage model and underlying design of Emacspeak +Webspaces. +

+
+
+

1.1 Background

+
+

+The Emacspeak Webspace module was originally created in early +Interaction +Free Information Access (2008) +because I wanted the audio equivalent of being able to +quickly glance at information. Here are some aspects of visual +interaction that I wanted to emulate: +

+
    +
  • You can quickly glance at something while switching contexts, +and ignore it if it is not important. +
  • +
  • The object that you glance at while switching contexts does +not become an object of attention ie, the casual task remains +casual, as opposed to becoming the primary task. Email is +the antithesis to this model — where if you start glancing +at email, it's a sufficiently strong distraction that you'll +start doing email — as opposed to what you were supposed +to be doing. +
  • +
  • If the item you glanced at deserves further attention, you +can come back to it later — and the system gives you +sufficient confidence in your ability to come back to it +later — note that this is essential to ensure the +previous requirement. +
  • +
  • Items are cached but get pushed out by newer items — this +makes sure you dont feel pressured to read everything or +have to explicitly catch-up — in prior systems including +email and Google Reader, I always found the task of hitting +catch-up without reading everything a fairly stressful experience. +
  • +
  • Applied to information updates, think hallway conversations +outside your office — you mostly ignore them, but sometime +get drawn because you hear some specific keywords and/or +concepts that draw your attention. +
  • +
+
+
+
+

1.2 Early Implementation In 2009

+
+

+I used the WebSpace functionality in Emacspeak for news and +weather updates starting 2009; at some time in late 2009, I cut +it over to get updates from my Google Reader stream. It was +extremely effective for my usage pattern — I typically +activated the functionality in all shell buffers. In my work +style where I switch among the primary tasks of engineering +(writing/reviewing code), writing/reviewing design documents, +and doing email to facilitate the previous two tasks, the shell +buffer is where I switch to while context-switching e.g., +launching a build after writing code as an example. Having the +Webspace functionality say something interesting at those times +was optimal. +

+
+
+
+

1.3 Initial Implementation And Design

+
+

+The information to be pulled in the rolling header line is pulled +from a cache — in 2009, this cache was populated from my Google +Reader stream. The cache was maintained in a ring with older +items falling off the end. You could optionally switch to a +buffer displaying all of the currently cached items — this +functionality assured me that I could always later find an item +that had caught my attention while I was in the process of +context switching amongst tasks. Notice that if I didn't go back +and check for that item within a day, it would fall off the +ring-buffer cache — and this usually would mean that it likely +wasn't that important after all. +

+
+
+
+

1.4 Life After Google Reader

+
+

+With the passing of Google Reader last year, I started +implementing the feed-reading functionality I needed in Emacspeak +independent of Google Reader; see the earlier article in this +blog titled Managing And Accessing Feeds On The Emacspeak Audio +Desktop. +Next, I updated the Emacspeak WebSpace functionality to build its +cache from the set of feeds in emacspeakfeeds. +

+
+
+
+

1.5 Usage Pattern

+
+

+This section details my own usage pattern and set-up — this is +by no means the only way to use this functionality. +

+
    +
  1. Emacspeak binds Webspace functionality to Hyper Space as +a prefix key. +
  2. +
  3. Hyper Space h invokes command +emacspeak-webspace-headlines — this command +initializes the feed-store cache, and sets up the +header-line in the current buffer to display a rolling +ticker. Note that you can invoke this command in multiple +buffers; those buffers will share a common headlines cache. +
  4. +
  5. The feed-store is updated during Emacs idle-time; I often +invoke the elisp form +(emacspeak-webspace-headlines-populate) to populate the +cache initially. Note that depending on your network, and +the number of feeds you have in emacspeak-feeds, this can +block emacs for a couple of minutes. +
  6. +
  7. Command emacspeak-webspace-headlines-browse displays an +interactive buffer containing the current set of cached +headlines — this is where you go to track down a headline +you heard in passing. I bind this to Super h by +customizing emacspeak-super-keys. +
  8. +
  9. You can set up other types of information in your rolling +header — something I initially used it for was weather +— see command emacspeak-webspace-weather personally, +I 've not found this as useful in CA given how consistently +good the weather is here. +
  10. +
  11. For related work in Emacs, see Emacs package newsticker. +That package works well with Emacspeak, but in using it +earlier, I found that I could not prevent myself from +starting to read content i.e., it failed to meet the +glance and continue requirement. +
  12. +
+
+
+
+
+
+

Date: <2014-03-24 Mon>

+

Author: T.V Raman

+

Created: 2014-03-24 Mon 18:00

+

Emacs 24.3.50.2 (Org mode 8.2.5c)

+

Validate

+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2014-03-24T17:51:00.001-07:00

Searching GMail Using IMap And GNUS

+
+
+
+
+

Searching GMail Using IMap and GNUS

+
+

1 Searching GMail Using IMap and GNUS

+
+

+Emacs package GNUS provides a very efficient interface for +consuming large amounts of email. +You can access GMail using GNUS' IMap interface, for my own +configuration for doing this, see file tvr/gnus-prepare.el in +the Emacspeak SVN repository. +Module gm-nnir.el in package g-client implements some +convenience hooks to enable efficient searching of GMail. Module +emacspeak-gnus has been updated to bind commands from module +gm-nnir.el to ? and / in the Group buffer. +

+
+ +
+

1.1 Basic Usage

+
+

+Assuming you already have GNUS configured to read GMail via IMap, +you can: +

+ +
    +
  • Press / in the groups buffer to search your mail. This +command accepts all GMail queries, so for example, +
  • +
+
+after: 2014/02/01 to: me
+
+

+Will find all messages received after February 1, 2014 and +addressed to you. +

+
+label: foo after: 2014/01/01
+
+

+Will find messages with label foo and received after January +1, 2014. +

+
    +
  • Press ? in the Group buffer to execute a more extensive +search command; this accepts both IMap query specifications +(per RFC 3501) as well as GMail query specifications. The +command provides smart completion, follow the prompts to +build up complex queries. In general, there is almost +nothing you cannot do with the GMail query language, so this +command is mostly there as a backup. +
  • +
+
+
+
+

1.2 The Technical Details

+
+

+The GMail query language is exposed to IMap via custom search key +X-GM-RAW; commands gm-nnir-group-make-gmail-group and +gm-nnir-group-make-nnir-group use this functionality to +construct ephemeral groups that hold the search results. +

+
+
+
+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2014-02-08T17:00:00.001-08:00

Exploring And Accessing BBC Podcasts and Program Archives

+
+
+
+
+

Exploring BBC Podcasts And Program Archives

+
+

1 Exploring BBC Podcasts And Program Archives

+
+
+

1.1 Summary

+
+

+A short overview of tools on the emacspeak desktop for easily +exploring and accessing BBC program content. +

+
+
+
+

1.2 Background

+
+

+The BBC offers a wealth of audio content from both domestic BBC +Radio as well as BBC World Service. +Much of this content is available as Podcasts for a week after it +has been broadcast; in some instances, content is archived and +available for more than a week. +

+ + +

+The primary gateway to this content is BBC IPlayer. In +addition, one can subscribe to RSS feeds for BBC Podcasts. +

+
+
+ +
+

1.3 Accessing BBC Content From Emacspeak

+
+

+Here are some of the tools I use on the Emacspeak desktop to +quickly find and access content from the BBC: +

+ +
    +
  • The BBC publishes a continuously updated directory of + RSS feeds; Emacspeak url template BBC Podcast Directory +can be used to open this directory of feeds. +
  • +
  • With the above directory of feeds at hand, it is easy to +subscribe to oft-accessed feeds via emacspeak-feeds — see +Managing And Accessing Feeds. +
  • +
  • In addition to the directory of feeds covered above, the BBC +publishes a detailed program guide as XML; Emacspeak url +template BBC Program Guide accesses the program guide. +
  • +
  • The program guide described above gives access to RSS feeds +for both current programs as +
  • +
+

+ well as past archives. The program guide is a wealth of +information that makes all the information available in one +location, unlike the BBC IPlayer site. +

+
    +
  • A note for UK users; the program guide above is presently set +up to only show content that is available world-wide; if +you're in the UK, you may want to remove the test for +
  • +
+
+region='all'
+
+

+in the XSL stylesheet emacspeak/xsl/bbc-ppg.xsl. +

+
    +
  • You can find the XML feed for the BBC Program Guide, as well +as the associated XML Schema definition on the BBC's Web +site. +
  • +
  • Finally, you can access the BBC IPlayer page for any given +BBC channel via Emacspeak url template BBC IPlayer. +
  • +
+ +

+Share And Enjoy! And Hear's Wishing Everyone A Very Happy 2014! +

+
+
+
+
+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2014-01-01T08:51:00.001-08:00

Managing And Accessing Feeds On The Emacspeak Audio Desktop

+
+
+
+
+

Managing And Accessing Feeds On The Emacspeak Audio Desktop

+
+

1 Managing And Accessing Feeds On The Emacspeak Audio Desktop

+
+
+

1.1 Summary

+
+

+Feature emacspeak-feeds enables rapid access to managing and +accessing Atom, RSS and OPML feeds. Feeds can be browsed from a +dedicated buffer, or accessed via minibuffer completion for +oft-accessed feeds. Feeds are stored as a user customizable +option, and can be added and deleted either via Emacs' customize +interface or directly via interactive Emacs commands. +

+
+
+
+

1.2 How It Works

+
+

+The list of subscribed feeds is stored in variable +emacspeak-feeds which is managed via Emacs' customize +interface. Each entry this list contains a label for the feed, +the feed URL, and the type of the feed (rss_, atom, or +opml). +

+ +

+Interactive command emacspeak-webspace-feed-reader opens a +buffer containing the list of subscribed feeds; feeds can be +opened by pressing enter on the relevant feed. +

+ +

+Oft-accessed feeds can be opened directly via command +emacspeak-feed-browse bound to C-e C-u — this command prompts +for a feed label with minibuffer completion. +

+ +

+Feeds can be added or deleted by customizing emacspeak-feeds +via Emacs' M-x customize-variable — bound by default in +emacspeak to C-h V. Alternatively, interactive command +emacspeak-feed-add-feed bound to C-e M-u can be used to +subscribe to feeds. Note that both methods result in the +subscribed feed being stored in emacspeak-feeds. +

+
+
+
+
+
+

Date: <2013-12-29 Sun>

+

Author: T.V Raman

+

Created: 2013-12-29 Sun 08:34

+

Emacs 24.3.50.2 (Org mode 8.2.3a)

+

Validate

+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2013-12-29T08:35:00.001-08:00

Reading Web Content Efficiently

+
+
+
+ +
+ +
+ +
+

reading-web-content.org

+ + +
+

1 Reading Web Content

+
+ + + + +
+ +
+

1.1 Background

+
+ + +

+I still find reading Web content in emacs to be way more +efficient than in modern browsers like Chrome with ChromeVox +enabled. +Chrome+ChromeVox is what I use for rich Web Applications; +but when it comes down to reading straight content ranging from +technical documentation to news and current affairs, I find that +I can read a lot more content in a fixed amount of time with +Emacs+Emacspeak than I can with the Chrome+ChromeVox combination. +

+ +
+ +
+ +
+

1.2 Welcome EWW: Emacs Web Wowser

+
+ + +

+The author of GNUS recently added package +EWW (Emacs Web Wowser) to The Emacs repository — + see his +announcement. +Emacspeak 37.0 included a small addition called shr-url that +leveraged his earlier shr package; I've now added support for +EWW in the Emacspeak source tree. Note that EWW is in the Emacs +source tree, i.e. it will be part of Emacs 24.4, but you can use +it now if you build your own version of Emacs, or obtain an +Emacs that is build from the Emacs source repository. +

+

+EWW and SHR are interesting because they both leverage +libxml2 to parse the incoming HTML. This is way faster than +the native elisp browsing used in Emacs/W3. In my personal +opinion, it also opens up more possibilities than Emacs/W3M with +respect to manipulating and filtering content from elisp --- +something that helps create a better reading experience when +using Emacspeak. +

+
+ +
+ +
+

1.3 EWW Tips And Tricks

+
+ + +

+I've mailed out a small patch to package eww that facilitates +implementing such higher-level commands; for now, you can find +that patch in emacspeak/lisp/patches in the Emacspeak svn +repository. With that patch in place, you can do the following to +efficiently filter popular news sites such as the New York Times +(I use http://mobile.nytimes.com) or CNN +(http://cnn.com). +

+

+When visiting these and other content-heavy sites, try: +

+
+
A
Filter by attributes, +
+
E
Filter by elements +
+
R
Restore original contents +
+
+ + +

+To flexibly obtain multiple views of a Web site. +

+
+
+
+ +
+

Date: 2013-11-27 Wed

+

Author: T.V Raman

+

Org version 7.9.3f with Emacs version 24

+Validate XHTML 1.0 + +
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2013-11-27T14:48:00.001-08:00

Emacspeak 39.0 (BigDog) Unleashed!

+
+
+
+ + +
+ +
+ +
+

Emacspeak 39.0—BigDog—Unleashed!

+ + +
+

1 Emacspeak-39.0 (BigDog) Unleashed!

+
+ +

** For Immediate Release: +

+

+San Jose, Calif., (November 27, 2013)
+ Emacspeak: Redefining Accessibility In The Era Of Social Cloud Computing
+ – Zero cost of upgrades/downgrades makes priceless software affordable! +

+

+Emacspeak Inc (NASDOG: ESPK) --http://emacspeak.sf.net-- +announces the immediate world-wide availability of Emacspeak 39.0 +(BigDog) – a powerful audio desktop for leveraging today's +evolving data, social and service-oriented Web cloud. +

+ +
+ +
+

1.1 Investors Note:

+
+ + + +

+With several prominent tweeters expanding coverage of +#emacspeak, NASDOG: ESPK has now been consistently trading over +the social net at levels close to that once attained by DogCom +high-fliers—and as of November 2013 is trading at levels close to +that achieved by once better known stocks in the tech sector. +

+
+ +
+ +
+

1.2 What Is It?

+
+ +

Emacspeak is a fully functional audio desktop that provides +complete eyes-free access to all major 32 and 64 bit operating +environments. By seamlessly blending live access to all aspects +of the Internet such as Web-surfing, blogging, social computing +and electronic messaging into the audio desktop, Emacspeak +enables speech access to local and remote information with a +consistent and well-integrated user interface. A rich suite of +task-oriented tools provides efficient speech-enabled access to +the evolving service-oriented social Web cloud. +

+
+ +
+ +
+

1.3 Major Enhancements:

+
+ +
    +
  • Speech-Enables Ipython Notebook interaction via package EIN. 🐍 +
  • +
  • Speech-enables Chrome/Firefox integration via package JSS. ⱒ +
  • +
  • Improved Chrome debugging via package Kite. ⾶ +
  • +
  • Updated search wizards for rapid Web access. ♄ +
  • +
  • Updated URL templates for instant Web access. ♅ +
  • +
  • Improved Emacs 24.3 support. 🌑 +
  • +
  • And a lot more than wil fit this margin. … +
  • +
+ + +
+ +
+ +
+

1.4 Establishing Liberty, Equality And Freedom:

+
+ + + +

+ Never a toy system, Emacspeak is voluntarily bundled with all +major Linux distributions. Though designed to be modular, +distributors have freely chosen to bundle the fully integrated +system without any undue pressure—a documented success for +the integrated innovation embodied by Emacspeak. As the system +evolves, both upgrades and downgrades continue to be available at +the same zero-cost to all users. The integrity of the Emacspeak +codebase is ensured by the reliable and secure Linux platform +used to develop and distribute the software. +

+

+Extensive studies have shown that thanks to these features, users +consider Emacspeak to be absolutely priceless. Thanks to this +wide-spread user demand, the present version remains priceless +as ever—it is being made available at the same zero-cost as +previous releases. +

+

+At the same time, Emacspeak continues to innovate in the area of +eyes-free social interaction and carries forward the +well-established Open Source tradition of introducing user +interface features that eventually show up in luser environments. +

+

+On this theme, when once challenged by a proponent of a +crash-prone but well-marketed mousetrap with the assertion +"Emacs is a system from the 70's", the creator of Emacspeak +evinced surprise at the unusual candor manifest in the assertion +that it would take popular idiot-proven interfaces until the year +2070 to catch up to where the Emacspeak audio desktop is +today. Industry experts welcomed this refreshing breath of +Courage Certainty and Clarity (CCC) at a time when users are +reeling from the Fear Uncertainty and Doubt (FUD) unleashed by +complex software systems backed by even more convoluted press +releases. +

+
+ +
+ +
+

1.5 Independent Test Results:

+
+ + + +

+Independent test results have proven that unlike some modern (and +not so modern) software, Emacspeak can be safely uninstalled without +adversely affecting the continued performance of the computer. These +same tests also revealed that once uninstalled, the user stopped +functioning altogether. Speaking with Aster Labrador, the creator of +Emacspeak once pointed out that these results re-emphasize the +user-centric design of Emacspeak; "It is the user – and not the +computer – that stops functioning when Emacspeak is uninstalled!". +

+ +
+ +
+

1.5.1 Note from Aster,Bubbles and Tilden:

+
+ + + +

+UnDoctored Videos Inc. is looking for volunteers to star in a +video demonstrating such complete user failure. +

+
+
+ +
+ +
+

1.6 Obtaining Emacspeak:

+
+ + + +

+Emacspeak can be downloaded from Google Code Hosting – see +http://code.google.com/p/emacspeak/ You can visit +Emacspeak on the WWW at http://emacspeak.sf.net. You can subscribe +to the emacspeak mailing list emacspeak@cs.vassar.edu by sending +mail to the list request address emacspeak-request@cs.vassar.edu. +The BigDog release is at +http://emacspeak.googlecode.com/files/emacspeak-39.0.tar.bz2. +The latest development snapshot of Emacspeak is always available via +Subversion from Google Code at +http://emacspeak.googlecode.com/svn/trunk/ +

+ +
+ +
+

1.7 History:

+
+ + +

+Emacspeak 39.0 continues the Emacspeak tradition of increasing +the breadth of user tasks that are covered without introducing +unnecessary bloatware. Emacspeak 38.0 is the latest in a series +of award-winning releases from Emacspeak Inc. Emacspeak 37.0 +continues the tradition of delivering robust software as +reflected by its code-name. Emacspeak 36.0 enhances the audio +desktop with many new tools including full EPub support — hence +the name EPubDog. Emacspeak 35.0 is all about teaching a new dog +old tricks — and is aptly code-named HeadDog in honor of our +new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles) +established a new beach-head with respect to rapid task +completion in an eyes-free environment. Emacspeak-33.0 AKA +StarDog brings unparalleled cloud access to the audio +desktop. Emacspeak 32.0 AKA LuckyDog continues to innovate via +open technologies for better access. Emacspeak 31.0 AKA TweetDog + — adds tweeting to the Emacspeak desktop. Emacspeak 30.0 AKA +SocialDog brings the Social Web to the audio desktop—you cant but +be social if you speak! Emacspeak 29.0—AKAAbleDog—is a testament +to the resilliance and innovation embodied by Open Source +software—it would not exist without the thriving Emacs community +that continues to ensure that Emacs remains one of the premier +user environments despite perhaps also being one of the +oldest. Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of +development evinced by Open Source software. Emacspeak 27.0—AKA +FastDog—is the latest in a sequence of upgrades that make +previous releases obsolete and downgrades unnecessary. Emacspeak +26—AKA LeadDog—continues the tradition of introducing innovative +access solutions that are unfettered by the constraints inherent +in traditional adaptive technologies. Emacspeak 25 —AKA ActiveDog +—re-activates open, unfettered access to online +information. Emacspeak-Alive —AKA LiveDog —enlivens open, +unfettered information access with a series of live updates that +once again demonstrate the power and agility of open source +software development. Emacspeak 23.0 – AKA Retriever—went the +extra mile in fetching full access. Emacspeak 22.0 —AKA GuideDog +—helps users navigate the Web more effectively than ever +before. Emacspeak 21.0 —AKA PlayDog —continued the Emacspeak +tradition of relying on enhanced productivity to liberate +users. Emacspeak-20.0 —AKA LeapDog —continues the long +established GNU/Emacs tradition of integrated innovation to +create a pleasurable computing environment for eyes-free +interaction. emacspeak-19.0 – AKA WorkDog – is designed to +enhance user productivity at work and leisure. Emacspeak-18.0 + – code named GoodDog – continued the Emacspeak tradition of +enhancing user productivity and thereby reducing total cost of +ownership. Emacspeak-17.0 – code named HappyDog – enhances user +productivity by exploiting today's evolving WWW +standards. Emacspeak-16.0 – code named CleverDog – the follow-up +to SmartDog – continued the tradition of working better, faster, +smarter. Emacspeak-15.0 – code named SmartDog – followed up on +TopDog as the next in a continuing a series of award-winning +audio desktop releases from Emacspeak Inc. Emacspeak-14.0 – code +named TopDog – was the first release of this +millennium. Emacspeak-13.0 – codenamed YellowLab – was the +closing release of the 20th. century. Emacspeak-12.0 – code named +GoldenDog – began leveraging the evolving semantic WWW to provide +task-oriented speech access to Webformation. Emacspeak-11.0 + – code named Aster – went the final step in making Linux a +zero-cost Internet access solution for blind and visually +impaired users. Emacspeak-10.0 – (AKA Emacspeak-2000) code named +WonderDog – continued the tradition of award-winning software +releases designed to make eyes-free computing a productive and +pleasurable experience. Emacspeak-9.0 – (AKA Emacspeak 99) code +named BlackLab – continued to innovate in the areas of speech +interaction and interactive accessibility. Emacspeak-8.0 – (AKA +Emacspeak-98++) code named BlackDog – was a major upgrade to the +speech output extension to Emacs. +

+

+Emacspeak-95 (code named Illinois) was released as OpenSource on +the Internet in May 1995 as the first complete speech interface +to UNIX workstations. The subsequent release, Emacspeak-96 (code +named Egypt) made available in May 1996 provided significant +enhancements to the interface. Emacspeak-97 (Tennessee) went +further in providing a true audio desktop. Emacspeak-98 +integrated Internetworking into all aspects of the audio desktop +to provide the first fully interactive speech-enabled WebTop. +

+

+About Emacspeak: + +

+
+ +

+Originally based at Cornell (NY) +http://www.cs.cornell.edu/home/raman – home to Auditory User +Interfaces (AUI) on the WWW – Emacspeak is now maintained on +GoogleCode --http://code.google.com/p/emacspeak —and +Sourceforge —http://emacspeak.sf.net. The system is mirrored +world-wide by an international network of software archives and +bundled voluntarily with all major Linux distributions. On +Monday, April 12, 1999, Emacspeak became part of the +Smithsonian's Permanent Research Collection on Information +Technology at the Smithsonian's National Museum of American +History. +

+

+The Emacspeak mailing list is archived at Vassar – the home of the +Emacspeak mailing list – thanks to Greg Priest-Dorman, and provides a +valuable knowledge base for new users. +

+
+ +
+ +
+

1.8 Press/Analyst Contact: Tilden Labrador

+
+ + +

+Going forward, Tilden acknowledges his exclusive monopoly on +setting the direction of the Emacspeak Audio Desktop, and +promises to exercise this freedom to innovate and her resulting +power responsibly (as before) in the interest of all dogs. +

+

+**About This Release: + +

+
+ +

+Windows-Free (WF) is a favorite battle-cry of The League Against +Forced Fenestration (LAFF). – see +http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on +the ill-effects of Forced Fenestration. +

+

+CopyWrite )C( Aster and Hubbell Labrador. All Writes Reserved. +HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered +Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to +their respective owners. +

+ +
+
+
+
+ +
+

Date: 2013-11-23T08:26-0800

+

Author: T.V Raman

+

Org version 7.9.3f with Emacs version 24

+Validate XHTML 1.0 + +
+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2013-11-26T15:56:00.001-08:00

Emacspeak 38.0 (FreeDog Unleashed

+
+
+
+
+

Emacspeak 38.0—FreeDog—Unleashed!

+ + +
+

1 Emacspeak-38.0 (FreeDog) Unleashed!

+
+ +

** For Immediate Release: +

+

+ San Jose, Calif., (May 13, 2013) + Emacspeak: Redefining Accessibility In The Era Of Cloud Computing + –Zero cost of upgrades/downgrades makes priceless software affordable! +

+

+ Emacspeak Inc (NASDOG: ESPK) --http://emacspeak.sf.net-- + announces the immediate world-wide availability of Emacspeak 38.0 + (FreeDog) –a powerful audio desktop for leveraging today's + evolving data, social and service-oriented Web cloud. +

+ +
+ +
+

1.1 Investors Note:

+
+ + + +

+ With several prominent tweeters expanding coverage of + #emacspeak, NASDOG: ESPK has now been consistently trading over + the social net at levels close to that once attained by DogCom + high-fliers—and as of May 2013 is trading at levels close to + that achieved by once better known stocks in the tech sector. +

+
+ +
+ +
+

1.2 What Is It?

+
+ +

Emacspeak is a fully functional audio desktop that provides + complete eyes-free access to all major 32 and 64 bit operating + environments. By seamlessly blending live access to all aspects + of the Internet such as Web-surfing, blogging, social computing + and electronic messaging into the audio desktop, Emacspeak + enables speech access to local and remote information with a + consistent and well-integrated user interface. A rich suite of + task-oriented tools provides efficient speech-enabled access to + the evolving service-oriented social Web cloud. +

+
+ +
+ +
+

1.3 Major Enhancements:

+
+ + +
    +
  1. Get directions and find Places via Google Maps. ⛯ +
  2. +
  3. Preliminary support for Eclipse integration via Eclim. ⛅ +
  4. +
  5. Speech-enabled GTags (Global) for code browsing. 🌐 +
  6. +
  7. Updated to work with advice implementation in Emacs 24.3. 🌚 +
  8. +
  9. Updated Web search wizards ꩜ +
  10. +
  11. Updated URL templates ♅ +
  12. +
+ + + +

+ Plus many more changes too numerous to fit in this margin ∞ +

+
+ +
+ +
+

1.4 Establishing Liberty, Equality And Freedom:

+
+ + + +

+ Never a toy system, Emacspeak is voluntarily bundled with all + major Linux distributions. Though designed to be modular, + distributors have freely chosen to bundle the fully integrated + system without any undue pressure—a documented success for + the integrated innovation embodied by Emacspeak. As the system + evolves, both upgrades and downgrades continue to be available at + the same zero-cost to all users. The integrity of the Emacspeak + codebase is ensured by the reliable and secure Linux platform + used to develop and distribute the software. +

+

+ Extensive studies have shown that thanks to these features, users + consider Emacspeak to be absolutely priceless. Thanks to this + wide-spread user demand, the present version remains priceless + as ever—it is being made available at the same zero-cost as + previous releases. +

+

+ At the same time, Emacspeak continues to innovate in the area of + eyes-free social interaction and carries forward the + well-established Open Source tradition of introducing user + interface features that eventually show up in luser environments. +

+

+ On this theme, when once challenged by a proponent of a + crash-prone but well-marketed mousetrap with the assertion + "Emacs is a system from the 70's", the creator of Emacspeak + evinced surprise at the unusual candor manifest in the assertion + that it would take popular idiot-proven interfaces until the year + 2070 to catch up to where the Emacspeak audio desktop is + today. Industry experts welcomed this refreshing breath of + Courage Certainty and Clarity (CCC) at a time when users are + reeling from the Fear Uncertainty and Doubt (FUD) unleashed by + complex software systems backed by even more convoluted press + releases. +

+
+ +
+ +
+

1.5 Independent Test Results:

+
+ + + +

+ Independent test results have proven that unlike some modern (and + not so modern) software, Emacspeak can be safely uninstalled without + adversely affecting the continued performance of the computer. These + same tests also revealed that once uninstalled, the user stopped + functioning altogether. Speaking with Aster Labrador, the creator of + Emacspeak once pointed out that these results re-emphasize the + user-centric design of Emacspeak; "It is the user –and not the + computer– that stops functioning when Emacspeak is uninstalled!". +

+ +
+ +
+

1.5.1 Note from Aster,Bubbles and Tilden:

+
+ + + +

+ UnDoctored Videos Inc. is looking for volunteers to star in a + video demonstrating such complete user failure. +

+
+
+ +
+ +
+

1.6 Obtaining Emacspeak:

+
+ + + +

+ Emacspeak can be downloaded from Google Code Hosting –see + http://code.google.com/p/emacspeak/ You can visit + Emacspeak on the WWW at http://emacspeak.sf.net. You can subscribe + to the emacspeak mailing list emacspeak@cs.vassar.edu by sending + mail to the list request address emacspeak-request@cs.vassar.edu. + The FreeDog release is at + http://emacspeak.googlecode.com/files/emacspeak-38.0.tar.bz2. + The latest development snapshot of Emacspeak is always available via + Subversion from Google Code at + http://emacspeak.googlecode.com/svn/trunk/ +

+ +
+ +
+

1.7 History:

+
+ + +

+ Emacspeak 38.0 is the latest in a series of award-winning + releases from Emacspeak Inc. + Emacspeak 37.0 continues the tradition of delivering robust + software as reflected by its code-name. Emacspeak 36.0 enhances + the audio desktop with many new tools including full EPub support + — hence the name EPubDog. Emacspeak 35.0 is all about teaching + a new dog old tricks — and is aptly code-named HeadDog in honor + of our new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles) + established a new beach-head with respect to rapid task + completion in an eyes-free environment. Emacspeak-33.0 AKA + StarDog brings unparalleled cloud access to the audio + desktop. Emacspeak 32.0 AKA LuckyDog continues to innovate via + open technologies for better access. Emacspeak 31.0 AKA TweetDog + — adds tweeting to the Emacspeak desktop. Emacspeak 30.0 AKA + SocialDog brings the Social Web to the audio desktop—you cant but + be social if you speak! Emacspeak 29.0—AKAAbleDog—is a testament + to the resilliance and innovation embodied by Open Source + software—it would not exist without the thriving Emacs community + that continues to ensure that Emacs remains one of the premier + user environments despite perhaps also being one of the + oldest. Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of + development evinced by Open Source software. Emacspeak 27.0—AKA + FastDog—is the latest in a sequence of upgrades that make + previous releases obsolete and downgrades unnecessary. Emacspeak + 26—AKA LeadDog—continues the tradition of introducing innovative + access solutions that are unfettered by the constraints inherent + in traditional adaptive technologies. Emacspeak 25 —AKA ActiveDog + —re-activates open, unfettered access to online + information. Emacspeak-Alive —AKA LiveDog —enlivens open, + unfettered information access with a series of live updates that + once again demonstrate the power and agility of open source + software development. Emacspeak 23.0 – AKA Retriever—went the + extra mile in fetching full access. Emacspeak 22.0 —AKA GuideDog + —helps users navigate the Web more effectively than ever + before. Emacspeak 21.0 —AKA PlayDog —continued the Emacspeak + tradition of relying on enhanced productivity to liberate + users. Emacspeak-20.0 —AKA LeapDog —continues the long + established GNU/Emacs tradition of integrated innovation to + create a pleasurable computing environment for eyes-free + interaction. emacspeak-19.0 –AKA WorkDog– is designed to + enhance user productivity at work and leisure. Emacspeak-18.0 + –code named GoodDog– continued the Emacspeak tradition of + enhancing user productivity and thereby reducing total cost of + ownership. Emacspeak-17.0 –code named HappyDog– enhances user + productivity by exploiting today's evolving WWW + standards. Emacspeak-16.0 –code named CleverDog– the follow-up + to SmartDog– continued the tradition of working better, faster, + smarter. Emacspeak-15.0 –code named SmartDog–followed up on + TopDog as the next in a continuing a series of award-winning + audio desktop releases from Emacspeak Inc. Emacspeak-14.0 –code + named TopDog–was the first release of this + millennium. Emacspeak-13.0 –codenamed YellowLab– was the + closing release of the 20th. century. Emacspeak-12.0 –code named + GoldenDog– began leveraging the evolving semantic WWW to provide + task-oriented speech access to Webformation. Emacspeak-11.0 + –code named Aster– went the final step in making Linux a + zero-cost Internet access solution for blind and visually + impaired users. Emacspeak-10.0 –(AKA Emacspeak-2000) code named + WonderDog– continued the tradition of award-winning software + releases designed to make eyes-free computing a productive and + pleasurable experience. Emacspeak-9.0 –(AKA Emacspeak 99) code + named BlackLab– continued to innovate in the areas of speech + interaction and interactive accessibility. Emacspeak-8.0 –(AKA + Emacspeak-98++) code named BlackDog– was a major upgrade to the + speech output extension to Emacs. +

+

+ Emacspeak-95 (code named Illinois) was released as OpenSource on + the Internet in May 1995 as the first complete speech interface + to UNIX workstations. The subsequent release, Emacspeak-96 (code + named Egypt) made available in May 1996 provided significant + enhancements to the interface. Emacspeak-97 (Tennessee) went + further in providing a true audio desktop. Emacspeak-98 + integrated Internetworking into all aspects of the audio desktop + to provide the first fully interactive speech-enabled WebTop. +

+

+ About Emacspeak: + +

+
+ +

+ Originally based at Cornell (NY) + http://www.cs.cornell.edu/home/raman –home to Auditory User + Interfaces (AUI) on the WWW– Emacspeak is now maintained on + GoogleCode --http://code.google.com/p/emacspeak —and + Sourceforge —http://emacspeak.sf.net. The system is mirrored + world-wide by an international network of software archives and + bundled voluntarily with all major Linux distributions. On + Monday, April 12, 1999, Emacspeak became part of the + Smithsonian's Permanent Research Collection on Information + Technology at the Smithsonian's National Museum of American + History. +

+

+ The Emacspeak mailing list is archived at Vassar –the home of the + Emacspeak mailing list– thanks to Greg Priest-Dorman, and provides a + valuable knowledge base for new users. +

+
+ +
+ +
+

1.8 Press/Analyst Contact: Tilden Labrador

+
+ + +

+ Going forward, Tilden acknowledges his exclusive monopoly on + setting the direction of the Emacspeak Audio Desktop, and + promises to exercise this freedom to innovate and her resulting + power responsibly (as before) in the interest of all dogs. +

+

+ **About This Release: + +

+
+ +

+ Windows-Free (WF) is a favorite battle-cry of The League Against + Forced Fenestration (LAFF). –see + http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on + the ill-effects of Forced Fenestration. +

+

+ CopyWrite )C( Aster and Hubbell Labrador. All Writes Reserved. + HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered + Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to + their respective owners. +

+ +
+
+
+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2013-05-12T08:13:00.001-07:00

GMaps: Google Maps On The Emacspeak Desktop

+
+
+
+ + +
+

GMaps: A Google Maps Client For The Emacspeak Desktop

+ + +
+

1 GMaps: A Google Maps Client For The Emacspeak Desktop

+
+ + +

+Google Maps provides a powerful service-oriented Directions API +and an experimental Places API. module GMaps (part of +g-client) implements a new specialized interaction mode that lets +you quickly get directions and perform Map searches. +

+ +
+ +
+

1.1 Overview

+
+ + +

+Module GMaps is now in the Emacspeak svn repository and will be +part of the next Emacspeak release. If you are running from +SVN, you can start using GMaps today after updating; make sure +to +

 
+make config; make  
+
+ +

before trying to use it. +

+ +
+ +
+

1.1.1 Usage:

+
+ + +

+Run command M-x gmaps to bring up the maps interaction buffer. +This buffer provides many special commands for talking to Google +Maps – use C-h b in emacs to get a list of +key-bindings. Here is a brief summary of how things work: +

+
    +
  • You can get directions (walking, driving, by cycling, or + public transit) via keystrokes w, d, b, or t. These + commands prompt for start and end addresses. +
  • +
  • You can set your current location by hitting c — ; this + will be used for Places Search. +
  • +
  • You can specify the radius for Places Search by pressing r + and specifying the radius e.g. 500 for 500m. +
  • +
  • You can set up an optional filter for your Places Search by pressing f. +
  • +
  • Pressing n at this point will show you places in your + vicinity that match your filter criteria. +
  • +
  • Pressing 'space' on a Place displays details for that place. +
  • +
  • Place details when expanded provide buttons that link you to + hours-of-business, Web-site for that place, and the place's + G+ page if any. +
  • +
+ + +

+Note that module GMaps replaces the now obsolete Emapspeak +functionality that has been available on C-e?e since +early 2005. +

+ +
+
+
+
+
+ +
+

Date: 2013-02-28 Thu

+

Author: T.V Raman

+

Org version 7.9.3d with Emacs version 24

+Validate XHTML 1.0 + +
+ + + +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2013-02-28T12:47:00.001-08:00

Emacspeak 37.0 (SolidDog) Unleashed

+
+
+
+ +
+ +
+ +
+

Emacspeak 37.0—SolidDog—Unleashed!

+ + +
+

1 Emacspeak-37.0 (SolidDog) Unleashed!

+
+ + + + +
+ +
+

1.1 For Immediate Release:

+
+ + +

+San Jose, Calif., (December 21, 2012) + Emacspeak: Redefining Accessibility In The Era Of Cloud Computing + –Zero cost of upgrades/downgrades makes priceless software affordable! +

+

+Emacspeak Inc (NASDOG: ESPK) --http://emacspeak.sf.net-- +announces the immediate world-wide availability of Emacspeak +37.0 (SolidDog) –a powerful audio desktop for leveraging today's evolving +data, social and service-oriented Web cloud. +

+
+ +
+ +
+

1.2 Investors Note:

+
+ + + +

+With several prominent tweeters expanding coverage of +#emacspeak, NASDOG: ESPK has now been consistently trading over +the net at levels close to that once attained by DogCom +high-fliers—and as of October 2009 is trading at levels close to +that achieved by once better known stocks in the tech sector. +

+
+ +
+ +
+

1.3 What Is It?

+
+ + + +

+Emacspeak is a fully functional audio desktop that provides +complete eyes-free access to all major 32 and 64 bit operating +environments. By seamlessly blending live access to all aspects +of the Internet such as Web-surfing, blogging, social computing +and electronic messaging into the audio desktop, Emacspeak +enables speech access to local and remote information with a +consistent and well-integrated user interface. A rich suite of +task-oriented tools provides efficient speech-enabled access to +the evolving service-oriented social Web cloud. +

+
+ +
+ +
+

1.4 Major Enhancements:

+
+ + +
    +
  • Full EPub support: 📑 +
  • +
  • Websearch enhancements and wizards: 🐚 +
  • +
  • Updated support git interaction via magit: ℣ +
  • +
  • Speech-enables module Kite for debugging Web Apps in Chrome ⛳ +
  • +
  • TTS enhancements: 🙊 +
  • +
  • Updated url templates for task-oriented web actions: ♅ +
  • +
  • SSH port forwarding support for TTS servers🔉 +
  • +
  • Tested against Emacs 23 on stock Ubuntu Lucid..Precise. +
  • +
  • Emacs 24 Support Updated support for the forthcoming Emacs + 24 release. +
  • +
+ + +

+Plus many more changes too numerous to fit in this margin ∞ +

+
+ +
+ +
+

1.5 Establishing Liberty, Equality And Freedom:

+
+ + + +

+ Never a toy system, Emacspeak is voluntarily bundled with all +major Linux distributions. Though designed to be modular, +distributors have freely chosen to bundle the fully integrated +system without any undue pressure—a documented success for +the integrated innovation embodied by Emacspeak. As the system +evolves, both upgrades and downgrades continue to be available at +the same zero-cost to all users. The integrity of the Emacspeak +codebase is ensured by the reliable and secure Linux platform +used to develop and distribute the software. +

+

+Extensive studies have shown that thanks to these features, users +consider Emacspeak to be absolutely priceless. Thanks to this +wide-spread user demand, the present version remains priceless +as ever—it is being made available at the same zero-cost as +previous releases. +

+

+At the same time, Emacspeak continues to innovate in the area of +eyes-free social interaction and carries forward the +well-established Open Source tradition of introducing user +interface features that eventually show up in luser environments. +

+

+On this theme, when once challenged by a proponent of a +crash-prone but well-marketed mousetrap with the assertion +"Emacs is a system from the 70's", the creator of Emacspeak +evinced surprise at the unusual candor manifest in the assertion +that it would take popular idiot-proven interfaces until the year +2070 to catch up to where the Emacspeak audio desktop is +today. Industry experts welcomed this refreshing breath of +Courage Certainty and Clarity (CCC) at a time when users are +reeling from the Fear Uncertainty and Doubt (FUD) unleashed by +complex software systems backed by even more convoluted press +releases. +

+
+ +
+ +
+

1.6 Independent Test Results:

+
+ + + +

+Independent test results have proven that unlike some modern (and +not so modern) software, Emacspeak can be safely uninstalled without +adversely affecting the continued performance of the computer. These +same tests also revealed that once uninstalled, the user stopped +functioning altogether. Speaking with Aster Labrador, the creator of +Emacspeak once pointed out that these results re-emphasize the +user-centric design of Emacspeak; "It is the user –and not the +computer– that stops functioning when Emacspeak is uninstalled!". +

+ +
+ +
+

1.6.1 Note from Aster,Bubbles and Tilden:

+
+ + + +

+UnDoctored Videos Inc. is looking for volunteers to star in a +video demonstrating such complete user failure. +

+
+
+ +
+ +
+

1.7 Obtaining Emacspeak:

+
+ + + +

+Emacspeak can be downloaded from Google Code Hosting –see +http://code.google.com/p/emacspeak/ You can visit +Emacspeak on the WWW at http://emacspeak.sf.net. You can subscribe +to the emacspeak mailing list emacspeak@cs.vassar.edu by sending +mail to the list request address emacspeak-request@cs.vassar.edu. +The HeadDog release is at +http://emacspeak.googlecode.com/files/emacspeak-35.0.tar.bz2. +The latest development snapshot of Emacspeak is available via +Subversion from Google Code Hosting at +http://emacspeak.googlecode.com/svn/trunk/ +

+
+ +
+ +
+

1.8 History:

+
+ +

Emacspeak 37.0 continues the tradition of delivering robust +software as reflected by its code-name. Emacspeak 36.0 enhances +the audio desktop with many new tools including full EPub support +— hence the name EPubDog. Emacspeak 35.0 is all about teaching +a new dog old tricks — and is aptly code-named HeadDog in honor +of our new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles) +established a new beach-head with respect to rapid task +completion in an eyes-free environment. Emacspeak-33.0 AKA +StarDog brings unparalleled cloud access to the audio +desktop. Emacspeak 32.0 AKA LuckyDog continues to innovate via +open technologies for better access. Emacspeak 31.0 AKA TweetDog +— adds tweeting to the Emacspeak desktop. Emacspeak 30.0 AKA +SocialDog brings the Social Web to the audio desktop—you cant but +be social if you speak! Emacspeak 29.0—AKAAbleDog—is a testament +to the resilliance and innovation embodied by Open Source +software—it would not exist without the thriving Emacs community +that continues to ensure that Emacs remains one of the premier +user environments despite perhaps also being one of the +oldest. Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of +development evinced by Open Source software. Emacspeak 27.0—AKA +FastDog—is the latest in a sequence of upgrades that make +previous releases obsolete and downgrades unnecessary. Emacspeak +26—AKA LeadDog—continues the tradition of introducing innovative +access solutions that are unfettered by the constraints inherent +in traditional adaptive technologies. Emacspeak 25 —AKA ActiveDog +—re-activates open, unfettered access to online +information. Emacspeak-Alive —AKA LiveDog —enlivens open, +unfettered information access with a series of live updates that +once again demonstrate the power and agility of open source +software development. Emacspeak 23.0 – AKA Retriever—went the +extra mile in fetching full access. Emacspeak 22.0 —AKA GuideDog +—helps users navigate the Web more effectively than ever +before. Emacspeak 21.0 —AKA PlayDog —continued the Emacspeak +tradition of relying on enhanced productivity to liberate +users. Emacspeak-20.0 —AKA LeapDog —continues the long +established GNU/Emacs tradition of integrated innovation to +create a pleasurable computing environment for eyes-free +interaction. emacspeak-19.0 –AKA WorkDog– is designed to +enhance user productivity at work and leisure. Emacspeak-18.0 +–code named GoodDog– continued the Emacspeak tradition of +enhancing user productivity and thereby reducing total cost of +ownership. Emacspeak-17.0 –code named HappyDog– enhances user +productivity by exploiting today's evolving WWW +standards. Emacspeak-16.0 –code named CleverDog– the follow-up +to SmartDog– continued the tradition of working better, faster, +smarter. Emacspeak-15.0 –code named SmartDog–followed up on +TopDog as the next in a continuing a series of award-winning +audio desktop releases from Emacspeak Inc. Emacspeak-14.0 –code +named TopDog–was the first release of this +millennium. Emacspeak-13.0 –codenamed YellowLab– was the +closing release of the 20th. century. Emacspeak-12.0 –code named +GoldenDog– began leveraging the evolving semantic WWW to provide +task-oriented speech access to Webformation. Emacspeak-11.0 +–code named Aster– went the final step in making Linux a +zero-cost Internet access solution for blind and visually +impaired users. Emacspeak-10.0 –(AKA Emacspeak-2000) code named +WonderDog– continued the tradition of award-winning software +releases designed to make eyes-free computing a productive and +pleasurable experience. Emacspeak-9.0 –(AKA Emacspeak 99) code +named BlackLab– continued to innovate in the areas of speech +interaction and interactive accessibility. Emacspeak-8.0 –(AKA +Emacspeak-98++) code named BlackDog– was a major upgrade to the +speech output extension to Emacs. +

+

+Emacspeak-95 (code named Illinois) was released as OpenSource on +the Internet in May 1995 as the first complete speech interface +to UNIX workstations. The subsequent release, Emacspeak-96 (code +named Egypt) made available in May 1996 provided significant +enhancements to the interface. Emacspeak-97 (Tennessee) went +further in providing a true audio desktop. Emacspeak-98 +integrated Internetworking into all aspects of the audio desktop +to provide the first fully interactive speech-enabled WebTop. +

+

+About Emacspeak: + +

+
+ +

+Originally based at Cornell (NY) +http://www.cs.cornell.edu/home/raman –home to Auditory User +Interfaces (AUI) on the WWW– Emacspeak is now maintained on +GoogleCode --http://code.google.com/p/emacspeak —and +Sourceforge —http://emacspeak.sf.net. The system is mirrored +world-wide by an international network of software archives and +bundled voluntarily with all major Linux distributions. On +Monday, April 12, 1999, Emacspeak became part of the +Smithsonian's Permanent Research Collection on Information +Technology at the Smithsonian's National Museum of American +History. +

+

+The Emacspeak mailing list is archived at Vassar –the home of the +Emacspeak mailing list– thanks to Greg Priest-Dorman, and provides a +valuable knowledge base for new users. +

+
+
+ +
+ +
+

2 Press/Analyst Contact: Tilden Labrador

+
+ + +

+Going forward, Tilden acknowledges his exclusive monopoly on +setting the direction of the Emacspeak Audio Desktop, and +promises to exercise this freedom to innovate and her resulting +power responsibly (as before) in the interest of all dogs. +

+

+**About This Release: + +

+
+ +

+Windows-Free (WF) is a favorite battle-cry of The League Against +Forced Fenestration (LAFF). –see +http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on +the ill-effects of Forced Fenestration. +

+

+CopyWrite )C( Aster and Hubbell Labrador. All Writes Reserved. +HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered +Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to +their respective owners. +

+ +
+
+
+ +
+

Date: 2012-12-21 11:16:59 PST

+

Author: T.V Raman

+

Org version 7.8.11 with Emacs version 24

+Validate XHTML 1.0 + +
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2012-12-21T11:53:00.001-08:00

Emacspeak 36.0 (EPubDog) Unleashed!

+
+
+
+
+
+
+
+

Emacspeak 36.0—EPubDog—Unleashed!

+
+

1 Emacspeak-36.0 (EPubDog) Unleashed!

+
+
+
+

1.1 For Immediate Release:

+
+

+San Jose, Calif., (May 4, 2011) + Emacspeak: Redefining Accessibility In The Era Of Cloud Computing + —Zero cost of upgrades/downgrades makes priceless software affordable! +

+

+Emacspeak Inc (NASDOG: ESPK) --http://emacspeak.sf.net-- +announces the immediate world-wide availability of Emacspeak +36.0 (EPubDog) —a powerful audio desktop for leveraging today's evolving +data, social and service-oriented Web cloud. +

+
+
+
+

1.2 Investors Note:

+
+

+With several prominent tweeters expanding coverage of +#emacspeak, NASDOG: ESPK has now been consistently trading over +the net at levels close to that once attained by DogCom +high-fliers—and as of October 2009 is trading at levels close to +that achieved by once better known stocks in the tech sector. +

+
+
+
+

1.3 What Is It?

+
+

+Emacspeak is a fully functional audio desktop that provides +complete eyes-free access to all major 32 and 64 bit operating +environments. By seamlessly blending live access to all aspects +of the Internet such as Web-surfing, blogging, social computing +and electronic messaging into the audio desktop, Emacspeak +enables speech access to local and remote information with a +consistent and well-integrated user interface. A rich suite of +task-oriented tools provides efficient speech-enabled access to +the evolving service-oriented social Web cloud. +

+
+
+
+

1.4 Major Enhancements:

+
+
    +
  • Full EPub support: 📑 +
  • +
  • Websearch enhancements and wizards: 🐚 +
  • +
  • Speech-enables git interaction via magit: ℣ +
  • +
  • Speech-enabled support for finding things fast: 🚤 +
  • +
  • TTS enhancements: 🙊 +
  • +
  • Updated url templates for task-oriented web actions: ♅ +
  • +
  • SSH port forwarding support for TTS servers🔉 +
  • +
  • Updated support for the forthcoming Emacs + 24 release. +
  • +
+

+Plus many more changes too numerous to fit in this margin ∞ +

+
+
+
+

1.5 Establishing Liberty, Equality And Freedom:

+
+

+ Never a toy system, Emacspeak is voluntarily bundled with all +major Linux distributions. Though designed to be modular, +distributors have freely chosen to bundle the fully integrated +system without any undue pressure—a documented success for +the integrated innovation embodied by Emacspeak. As the system +evolves, both upgrades and downgrades continue to be available at +the same zero-cost to all users. The integrity of the Emacspeak +codebase is ensured by the reliable and secure Linux platform +used to develop and distribute the software. +

+

+Extensive studies have shown that thanks to these features, users +consider Emacspeak to be absolutely priceless. Thanks to this +wide-spread user demand, the present version remains priceless +as ever—it is being made available at the same zero-cost as +previous releases. +

+

+At the same time, Emacspeak continues to innovate in the area of +eyes-free social interaction and carries forward the +well-established Open Source tradition of introducing user +interface features that eventually show up in luser environments. +

+

+On this theme, when once challenged by a proponent of a +crash-prone but well-marketed mousetrap with the assertion +"Emacs is a system from the 70's", the creator of Emacspeak +evinced surprise at the unusual candor manifest in the assertion +that it would take popular idiot-proven interfaces until the year +2070 to catch up to where the Emacspeak audio desktop is +today. Industry experts welcomed this refreshing breath of +Courage Certainty and Clarity (CCC) at a time when users are +reeling from the Fear Uncertainty and Doubt (FUD) unleashed by +complex software systems backed by even more convoluted press +releases. +

+
+
+
+

1.6 Independent Test Results:

+
+

+Independent test results have proven that unlike some modern (and +not so modern) software, Emacspeak can be safely uninstalled without +adversely affecting the continued performance of the computer. These +same tests also revealed that once uninstalled, the user stopped +functioning altogether. Speaking with Aster Labrador, the creator of +Emacspeak once pointed out that these results re-emphasize the +user-centric design of Emacspeak; "It is the user —and not the +computer— that stops functioning when Emacspeak is uninstalled!". +

+
+
+

1.6.1 Note from Aster,Bubbles and Tilden:

+
+

+UnDoctored Videos Inc. is looking for volunteers to star in a +video demonstrating such complete user failure. +

+
+
+
+
+

1.7 Obtaining Emacspeak:

+
+

+Emacspeak can be downloaded from Google Code Hosting —see +http://code.google.com/p/emacspeak/ You can visit +Emacspeak on the WWW at http://emacspeak.sf.net. You can subscribe +to the emacspeak mailing list emacspeak@cs.vassar.edu by sending +mail to the list request address emacspeak-request@cs.vassar.edu. +The EPubDog release is at +http://emacspeak.googlecode.com/files/emacspeak-35.0.tar.bz2. +The latest development snapshot of Emacspeak is available via +Subversion from Google Code Hosting at +http://emacspeak.googlecode.com/svn/trunk/ +

+
+
+
+

1.8 History:

+
+

+Emacspeak 36.0 enhances the audio desktop with many new tools +including full EPub support — hence the name EPubDog. Emacspeak +35.0 is all about teaching a new dog old tricks — and is aptly +code-named HeadDog in honor of our new Press/Analyst +contact. emacspeak-34.0 (AKA Bubbles) established a new +beach-head with respect to rapid task completion in an eyes-free +environment. Emacspeak-33.0 AKA StarDog brings unparalleled cloud +access to the audio desktop. Emacspeak 32.0 AKA LuckyDog +continues to innovate via open technologies for better +access. Emacspeak 31.0 AKA TweetDog — adds tweeting to the +Emacspeak desktop. Emacspeak 30.0 AKA SocialDog brings the Social +Web to the audio desktop—you cant but be social if you speak! +Emacspeak 29.0—AKAAbleDog—is a testament to the resilliance and +innovation embodied by Open Source software—it would not exist +without the thriving Emacs community that continues to ensure +that Emacs remains one of the premier user environments despite +perhaps also being one of the oldest. Emacspeak 28.0—AKA +PuppyDog—exemplifies the rapid pace of development evinced by +Open Source software. Emacspeak 27.0—AKA FastDog—is the latest in +a sequence of upgrades that make previous releases obsolete and +downgrades unnecessary. Emacspeak 26—AKA LeadDog—continues the +tradition of introducing innovative access solutions that are +unfettered by the constraints inherent in traditional adaptive +technologies. Emacspeak 25 —AKA ActiveDog —re-activates open, +unfettered access to online information. Emacspeak-Alive —AKA +LiveDog —enlivens open, unfettered information access with a +series of live updates that once again demonstrate the power and +agility of open source software development. Emacspeak 23.0 -- +AKA Retriever—went the extra mile in fetching full +access. Emacspeak 22.0 —AKA GuideDog —helps users navigate the +Web more effectively than ever before. Emacspeak 21.0 —AKA +PlayDog —continued the Emacspeak tradition of relying on enhanced +productivity to liberate users. Emacspeak-20.0 —AKA LeapDog +—continues the long established GNU/Emacs tradition of integrated +innovation to create a pleasurable computing environment for +eyes-free interaction. emacspeak-19.0 —AKA WorkDog— is designed +to enhance user productivity at work and leisure. Emacspeak-18.0 +—code named GoodDog— continued the Emacspeak tradition of +enhancing user productivity and thereby reducing total cost of +ownership. Emacspeak-17.0 —code named HappyDog— enhances user +productivity by exploiting today's evolving WWW +standards. Emacspeak-16.0 —code named CleverDog— the follow-up +to SmartDog— continued the tradition of working better, faster, +smarter. Emacspeak-15.0 —code named SmartDog—followed up on +TopDog as the next in a continuing a series of award-winning +audio desktop releases from Emacspeak Inc. Emacspeak-14.0 —code +named TopDog—was the first release of this +millennium. Emacspeak-13.0 —codenamed YellowLab— was the +closing release of the 20th. century. Emacspeak-12.0 —code named +GoldenDog— began leveraging the evolving semantic WWW to provide +task-oriented speech access to Webformation. Emacspeak-11.0 +—code named Aster— went the final step in making Linux a +zero-cost Internet access solution for blind and visually +impaired users. Emacspeak-10.0 —(AKA Emacspeak-2000) code named +WonderDog— continued the tradition of award-winning software +releases designed to make eyes-free computing a productive and +pleasurable experience. Emacspeak-9.0 —(AKA Emacspeak 99) code +named BlackLab— continued to innovate in the areas of speech +interaction and interactive accessibility. Emacspeak-8.0 —(AKA +Emacspeak-98++) code named BlackDog— was a major upgrade to the +speech output extension to Emacs. +

+

+Emacspeak-95 (code named Illinois) was released as OpenSource on +the Internet in May 1995 as the first complete speech interface +to UNIX workstations. The subsequent release, Emacspeak-96 (code +named Egypt) made available in May 1996 provided significant +enhancements to the interface. Emacspeak-97 (Tennessee) went +further in providing a true audio desktop. Emacspeak-98 +integrated Internetworking into all aspects of the audio desktop +to provide the first fully interactive speech-enabled WebTop. +

+

+About Emacspeak: +

+
+

+Originally based at Cornell (NY) +http://www.cs.cornell.edu/home/raman —home to Auditory User +Interfaces (AUI) on the WWW— Emacspeak is now maintained on +GoogleCode --http://code.google.com/p/emacspeak —and +Sourceforge —http://emacspeak.sf.net. The system is mirrored +world-wide by an international network of software archives and +bundled voluntarily with all major Linux distributions. On +Monday, April 12, 1999, Emacspeak became part of the +Smithsonian's Permanent Research Collection on Information +Technology at the Smithsonian's National Museum of American +History. +

+

+The Emacspeak mailing list is archived at Vassar —the home of the +Emacspeak mailing list— thanks to Greg Priest-Dorman, and provides a +valuable knowledge base for new users. +

+
+
+
+
+

2 Press/Analyst Contact: Tilden Labrador

+
+

+Going forward, Tilden acknowledges his exclusive monopoly on +setting the direction of the Emacspeak Audio Desktop, and +promises to exercise this freedom to innovate and her resulting +power responsibly (as before) in the interest of all dogs. +

+

+**About This Release: +

+
+

+Windows-Free (WF) is a favorite battle-cry of The League Against +Forced Fenestration (LAFF). —see +http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on +the ill-effects of Forced Fenestration. +

+

+CopyWrite )C( Aster and Hubbell Labrador. All Writes Reserved. +HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered +Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to +their respective owners. +

+
+
+
+
+

Date: 2012-05-02 14:21:43 PDT

+

Author: T.V Raman

+

Org version 7.8.09 with Emacs version 24

+Validate XHTML 1.0 +
+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2012-05-03T17:16:00.001-07:00

Emacspeak 35.0 (HeadDog) Released

+
+
+
+
+
+ +
+ +
+

Emacspeak 35.0—HeadDog—Unleashed!

+ + +
+

1 Emacspeak-35.0 (HeadDog) Unleashed!

+
+ + + + +
+ +
+

1.1 For Immediate Release:

+
+ + +

+San Jose, Calif., (November 23, 2011) + Emacspeak: Redefining Accessibility In The Era Of Cloud Computing + –Zero cost of upgrades/downgrades makes priceless software affordable! +

+

+Emacspeak Inc (NASDOG: ESPK) --http://emacspeak.sf.net-- +announces the immediate world-wide availability of Emacspeak +35.0 (HeadDog) –a powerful audio desktop for leveraging today's evolving +data, social and service-oriented Web cloud. +

+
+ +
+ +
+

1.2 Investors Note:

+
+ + + +

+With several prominent tweeters expanding coverage of +#emacspeak, NASDOG: ESPK has now been consistently trading over +the net at levels close to that once attained by DogCom +high-fliers—and as of October 2009 is trading at levels close to +that achieved by once better known stocks in the tech sector. +

+
+ +
+ +
+

1.3 What Is It?

+
+ + + +

+Emacspeak is a fully functional audio desktop that provides +complete eyes-free access to all major 32 and 64 bit operating +environments. By seamlessly blending live access to all aspects +of the Internet such as Web-surfing, blogging, social computing +and electronic messaging into the audio desktop, Emacspeak +enables speech access to local and remote information with a +consistent and well-integrated user interface. A rich suite of +task-oriented tools provides efficient speech-enabled access to +the evolving service-oriented social Web cloud. +

+
+ +
+ +
+

1.4 Major Enhancements:

+
+ + + +
+
emacspeak-websearch.el
Improved search wizards including efficient Google search. +
+
emacspeak-epub.el
Preliminary EPub support. +
+
emacspeak-magit.el
Support for git interaction. +
+
emacspeak-pianobar.el
Pandora radio for the Emacspeak desktop. +
+
emacspeak-dbus.el
DBus integration to receive network notifications. +
+
emacspeak-woman.el
Speech-enable Emacs' built-in Man page interface. +
+
Emacspeak-npr.el
API client for NPR interaction. +
+
emacspeak-librivox.el
API Client For Free Audio Books + from Librivox. +
+
emacspeak-url-templates
Updated URL templates for efficient Web interaction. +
+
emacspeak-bookshare.el
Bookshare API Client Updated Bookshare client. +
+
servers/mac
Support For Mac TTS +
+
Emacs 24 Support
Updated support for the forthcoming Emacs + 24 release. +
+
+ + +

+Plus many more changes too numerous to fit in this margin 󠇿… ∞ +

+
+ +
+ +
+

1.5 Establishing Liberty, Equality And Freedom:

+
+ + + +

+ Never a toy system, Emacspeak is voluntarily bundled with all +major Linux distributions. Though designed to be modular, +distributors have freely chosen to bundle the fully integrated +system without any undue pressure—a documented success for +the integrated innovation embodied by Emacspeak. As the system +evolves, both upgrades and downgrades continue to be available at +the same zero-cost to all users. The integrity of the Emacspeak +codebase is ensured by the reliable and secure Linux platform +used to develop and distribute the software. +

+

+Extensive studies have shown that thanks to these features, users +consider Emacspeak to be absolutely priceless. Thanks to this +wide-spread user demand, the present version remains priceless +as ever—it is being made available at the same zero-cost as +previous releases. +

+

+At the same time, Emacspeak continues to innovate in the area of +eyes-free social interaction and carries forward the +well-established Open Source tradition of introducing user +interface features that eventually show up in luser environments. +

+

+On this theme, when once challenged by a proponent of a +crash-prone but well-marketed mousetrap with the assertion +"Emacs is a system from the 70's", the creator of Emacspeak +evinced surprise at the unusual candor manifest in the assertion +that it would take popular idiot-proven interfaces until the year +2070 to catch up to where the Emacspeak audio desktop is +today. Industry experts welcomed this refreshing breath of +Courage Certainty and Clarity (CCC) at a time when users are +reeling from the Fear Uncertainty and Doubt (FUD) unleashed by +complex software systems backed by even more convoluted press +releases. +

+
+ +
+ +
+

1.6 Independent Test Results:

+
+ + + +

+Independent test results have proven that unlike some modern (and +not so modern) software, Emacspeak can be safely uninstalled without +adversely affecting the continued performance of the computer. These +same tests also revealed that once uninstalled, the user stopped +functioning altogether. Speaking with Aster Labrador, the creator of +Emacspeak once pointed out that these results re-emphasize the +user-centric design of Emacspeak; "It is the user –and not the +computer– that stops functioning when Emacspeak is uninstalled!". +

+ +
+ +
+

1.6.1 Note from Aster,Bubbles and Tilden:

+
+ + + +

+UnDoctored Videos Inc. is looking for volunteers to star in a +video demonstrating such complete user failure. +

+
+
+ +
+ +
+

1.7 Obtaining Emacspeak:

+
+ + + +

+Emacspeak can be downloaded from Google Code Hosting –see +http://code.google.com/p/emacspeak/ You can visit +Emacspeak on the WWW at http://emacspeak.sf.net. You can subscribe +to the emacspeak mailing list emacspeak@cs.vassar.edu by sending +mail to the list request address emacspeak-request@cs.vassar.edu. +The HeadDog release is at +http://emacspeak.googlecode.com/files/emacspeak-34.0.tar.bz2. +The latest development snapshot of Emacspeak is available via +Subversion from Google Code Hosting at +http://emacspeak.googlecode.com/svn/trunk/ +

+
+ +
+ +
+

1.8 History:

+
+ +

Emacspeak 35.0 is all about teaching a new dog old tricks — and +is aptly code-named HeadDog in honor of our new Press/Analyst +contact. emacspeak-34.0 (AKA Bubbles) established a new +beach-head with respect to rapid task completion in an eyes-free +environment. Emacspeak-33.0 AKA StarDog brings unparalleled cloud +access to the audio desktop. Emacspeak 32.0 AKA LuckyDog +continues to innovate via open technologies for better +access. Emacspeak 31.0 AKA TweetDog — adds tweeting to the +Emacspeak desktop. Emacspeak 30.0 AKA SocialDog brings the Social +Web to the audio desktop—you cant but be social if you speak! +Emacspeak 29.0—AKAAbleDog—is a testament to the resilliance and +innovation embodied by Open Source software—it would not exist +without the thriving Emacs community that continues to ensure +that Emacs remains one of the premier user environments despite +perhaps also being one of the oldest. Emacspeak 28.0—AKA +PuppyDog—exemplifies the rapid pace of development evinced by +Open Source software. Emacspeak 27.0—AKA FastDog—is the latest in +a sequence of upgrades that make previous releases obsolete and +downgrades unnecessary. Emacspeak 26—AKA LeadDog—continues the +tradition of introducing innovative access solutions that are +unfettered by the constraints inherent in traditional adaptive +technologies. Emacspeak 25 —AKA ActiveDog —re-activates open, +unfettered access to online information. Emacspeak-Alive —AKA +LiveDog —enlivens open, unfettered information access with a +series of live updates that once again demonstrate the power and +agility of open source software development. Emacspeak 23.0 -- +AKA Retriever—went the extra mile in fetching full +access. Emacspeak 22.0 —AKA GuideDog —helps users navigate the +Web more effectively than ever before. Emacspeak 21.0 —AKA +PlayDog —continued the Emacspeak tradition of relying on enhanced +productivity to liberate users. Emacspeak-20.0 —AKA LeapDog +—continues the long established GNU/Emacs tradition of integrated +innovation to create a pleasurable computing environment for +eyes-free interaction. emacspeak-19.0 –AKA WorkDog– is designed +to enhance user productivity at work and leisure. Emacspeak-18.0 +–code named GoodDog– continued the Emacspeak tradition of +enhancing user productivity and thereby reducing total cost of +ownership. Emacspeak-17.0 –code named HappyDog– enhances user +productivity by exploiting today's evolving WWW +standards. Emacspeak-16.0 –code named CleverDog– the follow-up +to SmartDog– continued the tradition of working better, faster, +smarter. Emacspeak-15.0 –code named SmartDog–followed up on +TopDog as the next in a continuing a series of award-winning +audio desktop releases from Emacspeak Inc. Emacspeak-14.0 –code +named TopDog–was the first release of this +millennium. Emacspeak-13.0 –codenamed YellowLab– was the +closing release of the 20th. century. Emacspeak-12.0 –code named +HeadDog– began leveraging the evolving semantic WWW to provide +task-oriented speech access to Webformation. Emacspeak-11.0 +–code named Aster– went the final step in making Linux a +zero-cost Internet access solution for blind and visually +impaired users. Emacspeak-10.0 –(AKA Emacspeak-2000) code named +WonderDog– continued the tradition of award-winning software +releases designed to make eyes-free computing a productive and +pleasurable experience. Emacspeak-9.0 –(AKA Emacspeak 99) code +named BlackLab– continued to innovate in the areas of speech +interaction and interactive accessibility. Emacspeak-8.0 –(AKA +Emacspeak-98++) code named BlackDog– was a major upgrade to the +speech output extension to Emacs. +

+

+Emacspeak-95 (code named Illinois) was released as OpenSource on +the Internet in May 1995 as the first complete speech interface +to UNIX workstations. The subsequent release, Emacspeak-96 (code +named Egypt) made available in May 1996 provided significant +enhancements to the interface. Emacspeak-97 (Tennessee) went +further in providing a true audio desktop. Emacspeak-98 +integrated Internetworking into all aspects of the audio desktop +to provide the first fully interactive speech-enabled WebTop. +

+

+About Emacspeak: + +

+
+ +

+Originally based at Cornell (NY) +http://www.cs.cornell.edu/home/raman –home to Auditory User +Interfaces (AUI) on the WWW– Emacspeak is now maintained on +GoogleCode --http://code.google.com/p/emacspeak —and +Sourceforge —http://emacspeak.sf.net. The system is mirrored +world-wide by an international network of software archives and +bundled voluntarily with all major Linux distributions. On +Monday, April 12, 1999, Emacspeak became part of the +Smithsonian's Permanent Research Collection on Information +Technology at the Smithsonian's National Museum of American +History. +

+

+The Emacspeak mailing list is archived at Vassar –the home of the +Emacspeak mailing list– thanks to Greg Priest-Dorman, and provides a +valuable knowledge base for new users. +

+
+
+ +
+ +
+

2 Press/Analyst Contact: Tilden Labrador

+
+ + +

+Going forward, Tilden acknowledges his exclusive monopoly on +setting the direction of the Emacspeak Audio Desktop, and +promises to exercise this freedom to innovate and her resulting +power responsibly (as before) in the interest of all dogs. +

+

+**About This Release: + +

+
+ +

+Windows-Free (WF) is a favorite battle-cry of The League Against +Forced Fenestration (LAFF). –see +http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on +the ill-effects of Forced Fenestration. +

+

+CopyWrite )C( Aster and Hubbell Labrador. All Writes Reserved. +HeadDog (DM), LiveDog (DM), HeadDog (DM), BlackDog (DM) etc., are Registered +Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to +their respective owners. +

+ +
+
+
+ +
+

Date: 2011-11-23 08:44:19 PST

+

Author: T.V Raman

+

Org version 7.7 with Emacs version 24

+Validate XHTML 1.0 + +
+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2011-11-23T09:33:00.001-08:00

Welcome Press/Analyst Contact Tilden Labrador

+
+
+For Immediate Release: +Monday, August 1, 2011
+
+

+ +Emacspeak Inc. Appoints New Press/Analyst Contact

+
+Tilden Labrador
+
+Tilden Labrador, a young, energetic male yellow Labrador, has + accepted the position of Press/Analyst contact for Emacspeak + Inc. --- in addition to his primary responsibility of being + a fulltime guide-dog.
+Hand-picked from an exclusive pool of high-quality caninedates, Tilden brings +a large and level head to this position of +responsibility. Tilden grew up in Monroe Ct, before going to +school at Guiding Eyes For The Blind (GEB), NY. +He graduated from GEB's Action program after excelling at +obstacle avoidance and path planning in Yorktown Heights, +peekskill and White Plains. He rounded out his education with a +one-week practicum on the Google campus in Mountain View CA.
+Tilden brings a fresh perspective to his new job --- he is the +first male Labrador to take on the role of Emacspeak Inc.'s +press/analyst contact. Asked how he felt about this unique +distinction, he pointed out:
+"On the Internet no one knows you're a dog, leave alone what +gender you are".
+Tilden promises to steer Emacspeak in a manner that would do +his predecessors Aster +Labrador and Hubbell +Labrador proud.
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2011-08-01T17:29:00.001-07:00

In Praise Of Bubbles — Emacspeak 34.0 Unleashed!

+
+
+
+
+ +

Emacspeak 34.0—Bubbles—Unleashed!

+ + +
+

1 Emacspeak-34.0 (Bubbles) Unleashed!

+
+ + + + +
+ +
+

1.1 For Immediate Release:

+
+ + +

+San Jose, Calif., (May 13, 2011) +Emacspeak: Redefining Accessibility In The Era Of Cloud Computing +–Zero cost of upgrades/downgrades makes priceless software affordable! +

+

+Emacspeak Inc (NASDOG: ESPK) --http://emacspeak.sf.net-- +announces the immediate world-wide availability of Emacspeak +34.0 (Bubbles) –a powerful audio desktop for leveraging today's evolving +data, social and service-oriented Web cloud. +

+ +
+ +
+

1.2 Code Name Note

+
+ + +

+After 11+ years of loyal service, Hubbell Labrador retired from +active duty as a guide-dog on April 4,2011; she stayed on as +Emacspeak's press contact for another week before finally leaving +us on April 11, 2011 +— Epitaph. This release is code named Bubbles in honour of her +unflagging service over these last 11 years. +

+
+ +
+ +
+

1.3 Investors Note:

+
+ + + +

+With several prominent tweeters expanding coverage of #emacspeak, NASDOG: ESPK +has now been consistently trading over the net at levels close +to that once attained by DogCom high-fliers—and as of +October 2009 is trading at levels close to that achieved by +once better known stocks in the tech sector. +

+
+ +
+ +
+

1.4 What Is It?

+
+ + + +

+Emacspeak is a fully functional audio desktop that provides +complete eyes-free access to all major 32 and 64 bit operating +environments. By seamlessly blending live access to all aspects +of the Internet such as Web-surfing, blogging, social computing +and electronic messaging into the audio desktop, Emacspeak +enables speech access to local and remote information with a +consistent and well-integrated user interface. A rich suite of +task-oriented tools provides efficient speech-enabled access to +the evolving service-oriented social Web cloud. +

+
+ +
+ +
+

1.5 Major Enhancements:

+
+ + +
    +
  1. +Updated URL Templates for rapid Web access. ♁ +
  2. +
  3. +Support for twittering-mode—including logins using OAuth. ● +
  4. +
  5. +API Client for NPR programming. 🔘 +
  6. +
  7. +Librivox API client. 📚 +
  8. +
  9. +Emacs 24 support ♺ +
  10. +
  11. +Speech server support for Mac OS. + + + +
  12. +
+ +

Plus many more changes too numerous to fit in this margin ∞ +

+
+ +
+ +
+

1.6 Establishing Liberty, Equality And Freedom:

+
+ + + +

+Never a toy system, Emacspeak is voluntarily bundled with all +major Linux distributions. Though designed to be modular, +distributors have freely chosen to bundle the fully integrated +system without any undue pressure—a documented success for +the integrated innovation embodied by Emacspeak. As the system +evolves, both upgrades and downgrades continue to be available at +the same zero-cost to all users. The integrity of the Emacspeak +codebase is ensured by the reliable and secure Linux platform +used to develop and distribute the software. +

+

+Extensive studies have shown that thanks to these features, users +consider Emacspeak to be absolutely priceless. Thanks to this +wide-spread user demand, the present version remains priceless +as ever—it is being made available at the same zero-cost as +previous releases. +

+

+At the same time, Emacspeak continues to innovate in the area of +eyes-free social interaction and carries forward the +well-established Open Source tradition of introducing user +interface features that eventually show up in luser environments. +

+

+On this theme, when once challenged by a proponent of a +crash-prone but well-marketed mousetrap with the assertion +"Emacs is a system from the 70's", the creator of Emacspeak +evinced surprise at the unusual candor manifest in the assertion +that it would take popular idiot-proven interfaces until the year +2070 to catch up to where the Emacspeak audio desktop is +today. Industry experts welcomed this refreshing breath of +Courage Certainty and Clarity (CCC) at a time when users are +reeling from the Fear Uncertainty and Doubt (FUD) unleashed by +complex software systems backed by even more convoluted press +releases. +

+
+ +
+ +
+

1.7 Independent Test Results:

+
+ + + +

+Independent test results have proven that unlike some modern (and +not so modern) software, Emacspeak can be safely uninstalled without +adversely affecting the continued performance of the computer. These +same tests also revealed that once uninstalled, the user stopped +functioning altogether. Speaking with Aster Labrador, the creator of +Emacspeak once pointed out that these results re-emphasize the +user-centric design of Emacspeak; "It is the user –and not the +computer– that stops functioning when Emacspeak is uninstalled!". +

+ +
+ +
+

1.7.1 Note from Aster and Bubbles:

+
+ + + +

+UnDoctored Videos Inc. is looking for volunteers to star in a +video demonstrating such complete user failure. +

+
+
+ +
+ +
+

1.8 Obtaining Emacspeak:

+
+ + + +

+Emacspeak can be downloaded from Google Code Hosting –see +http://code.google.com/p/emacspeak/ You can visit +Emacspeak on the WWW at http://emacspeak.sf.net. You can subscribe +to the emacspeak mailing list emacspeak@cs.vassar.edu by sending +mail to the list request address emacspeak-request@cs.vassar.edu. +The StarDog release is at +http://emacspeak.googlecode.com/files/emacspeak-34.0.tar.bz2. +The latest development snapshot of Emacspeak is available via +Subversion from Google Code Hosting at +http://emacspeak.googlecode.com/svn/trunk/ +

+
+ +
+ +
+

1.9 History:

+
+ +

Emacspeak-33.0 AKA StarDog brings unparalleled cloud access to the +audio desktop. +Emacspeak 32.0 AKA LuckyDog continues to innovate via open +technologies for better access. Emacspeak 31.0 AKA TweetDog --- +adds tweeting to the Emacspeak desktop. Emacspeak 30.0 AKA +SocialDog brings the Social Web to the audio desktop—you cant +but be social if you speak! Emacspeak 29.0—AKAAbleDog—is +a testament to the resilliance and innovation embodied by Open +Source software—it would not exist without the thriving Emacs +community that continues to ensure that Emacs remains one of the +premier user environments despite perhaps also being one of the +oldest. Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid +pace of development evinced by Open Source software. Emacspeak +27.0—AKA FastDog—is the latest in a sequence of upgrades +that make previous releases obsolete and downgrades +unnecessary. Emacspeak 26—AKA LeadDog—continues the +tradition of introducing innovative access solutions that are +unfettered by the constraints inherent in traditional adaptive +technologies. Emacspeak 25 —AKA ActiveDog —re-activates open, +unfettered access to online information. Emacspeak-Alive —AKA +LiveDog —enlivens open, unfettered information access with a +series of live updates that once again demonstrate the power and +agility of open source software development. Emacspeak 23.0 -- +AKA Retriever—went the extra mile in fetching full +access. Emacspeak 22.0 —AKA GuideDog —helps users navigate +the Web more effectively than ever before. Emacspeak 21.0 —AKA +PlayDog —continued the Emacspeak tradition of relying on +enhanced productivity to liberate users. Emacspeak-20.0 —AKA +LeapDog —continues the long established GNU/Emacs tradition of +integrated innovation to create a pleasurable computing +environment for eyes-free interaction. emacspeak-19.0 –AKA +WorkDog– is designed to enhance user productivity at work and +leisure. Emacspeak-18.0 –code named GoodDog– continued the +Emacspeak tradition of enhancing user productivity and thereby +reducing total cost of ownership. Emacspeak-17.0 –code named +HappyDog– enhances user productivity by exploiting today's +evolving WWW standards. Emacspeak-16.0 –code named CleverDog-- +the follow-up to SmartDog– continued the tradition of working +better, faster, smarter. Emacspeak-15.0 –code named +SmartDog–followed up on TopDog as the next in a continuing a +series of award-winning audio desktop releases from Emacspeak +Inc. Emacspeak-14.0 –code named TopDog–was the first release of +this millennium. Emacspeak-13.0 –codenamed YellowLab– was the +closing release of the 20th. century. Emacspeak-12.0 –code named +GoldenDog– began leveraging the evolving semantic WWW to provide +task-oriented speech access to Webformation. Emacspeak-11.0 +–code named Aster– went the final step in making Linux a +zero-cost Internet access solution for blind and visually +impaired users. Emacspeak-10.0 –(AKA Emacspeak-2000) code named +WonderDog– continued the tradition of award-winning software +releases designed to make eyes-free computing a productive and +pleasurable experience. Emacspeak-9.0 –(AKA Emacspeak 99) code +named BlackLab– continued to innovate in the areas of speech +interaction and interactive accessibility. Emacspeak-8.0 –(AKA +Emacspeak-98++) code named BlackDog– was a major upgrade to the +speech output extension to Emacs. +

+

+Emacspeak-95 (code named Illinois) was released as OpenSource on +the Internet in May 1995 as the first complete speech interface +to UNIX workstations. The subsequent release, Emacspeak-96 (code +named Egypt) made available in May 1996 provided significant +enhancements to the interface. Emacspeak-97 (Tennessee) went +further in providing a true audio desktop. Emacspeak-98 +integrated Internetworking into all aspects of the audio desktop +to provide the first fully interactive speech-enabled WebTop. +

+

+About Emacspeak: + +

+
+ +

+Originally based at Cornell (NY) +http://www.cs.cornell.edu/home/raman –home to Auditory User +Interfaces (AUI) on the WWW– Emacspeak is now maintained on +GoogleCode --http://code.google.com/p/emacspeak —and +Sourceforge —http://emacspeak.sf.net. The system is mirrored +world-wide by an international network of software archives and +bundled voluntarily with all major Linux distributions. On +Monday, April 12, 1999, Emacspeak became part of the +Smithsonian's Permanent Research Collection on Information +Technology at the Smithsonian's National Museum of American +History. +

+

+The Emacspeak mailing list is archived at Vassar –the home of the +Emacspeak mailing list– thanks to Greg Priest-Dorman, and provides a +valuable knowledge base for new users. +

+
+
+ +
+ +
+

2 Press/Analyst Contact: Hubbell Labrador

+
+ + +

+Going forward, BubbleDog acknowledges her exclusive monopoly on +setting the direction of the Emacspeak Audio Desktop, and +promises to exercise this freedom to innovate and her resulting +power responsibly (as before) in the interest of all dogs. +

+

+**About This Release: + +

+
+ +

+Windows-Free (WF) is a favorite battle-cry of The League Against +Forced Fenestration (LAFF). –see +http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on +the ill-effects of Forced Fenestration. +

+

+CopyWrite )C( Aster and Hubbell Labrador. All Writes Reserved. +LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered +Dogmarks of Aster and Hubbell Labrador. All other dogs belong to +their respective owners. +

+
+
+ +
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2011-05-13T11:24:00.001-07:00

Hubbell (Bubbles) Labrador Biography --- My + Bubbly Life

+
+
+
+

Hubbell (Bubbles) Labrador Biography — My Bubbly Life

+

You can read Bubbles +life story +entitled My Bubbly Life. +The story is being written from the perspective of an energetic +Labrador, full of enthusiasm for life. Linking the blog in here +in honor of Emacspeak's Press/Analyst contact for the last 11 years.

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2011-04-20T08:46:00.001-07:00

Epitaph: Saying GoodBye To Our Beloved Press/Analyst Contact

+
+
+
+

After guiding me for 11 years and 2 months, and setting +Emacspeak's direction at every step for over 11 years, I Had to +say a final goodbye to our beloved mascot and Press/Analyst +contact Bubbles +went to sleep April 11, 2011 for the final time. +

+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2011-04-15T19:16:00.001-07:00

Emacspeak: In Praise Of The Bookshare API

+
+
+
+

Bookshare recently released a light-weight API that enables +one to implement custom Bookshare clients. Though Bookshare is +fully accessible using either Emacs/W3 or Emacs/W3M from within +the Emacspeak desktop, browser based interaction often involves +more clicks than are absolutely necessary to finish the task at +hand.

+ +

Welcome module emacspeak-bookshare, a fully +integrated Bookshare client for the Emacspeak desktop. +Module emacspeak-bookshare provides a special +Bookshare Interaction mode that provides single +keystroke commands for searching, downloading and viewing +Bookshare materials from within the comfort of the Emacspeak +desktop.

+ +

Module Emacspeak-bookshare is now checked into SVN, +and will be bundled as part of the next Emacspeak release.To +learn how to use Bookshare Interaction on the audio desktop, see +command emacspeak-bookshare; to view the help for +Bookshare Interaction, +invoke command describe-mode within the Bookshare +Interaction buffer.

+ +

Read and Enjoy!

+is +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2011-02-07T08:20:00.001-08:00

Silence Is Golden

+
+
+
+

Speech is silvern --- but silence is golden! +In the spirit of the above, I just added command +emacspeak-silence to Emacspeak. You can bind this +command to your favorite key for silencing all audio output on +the complete audio desktop --- including any active media +streams.

+

What This Does

+ +

Command emacspeak-silence stops speech by calling +dtk-stop. It then runs commands placed on +emacspeak-silence-hook. +Each media player defined by Emacspeak updates hook +emacspeak-silence-hook with an appropriate action +that pauses or resumes that player.

+ +

I've also updated the keymaps in +tvr/console-keymaps to set up the +windows key on the console to produce +[silence], and bound command +emacspeak-silence to [silence] in +emacspeak-keymap.el.

+ +

+The net effect is that if you use those console maps, you can +just hit the windows key whenever you want to +silence all audio output; pressing it again will resume any media +streams you had active.

+ +

Share And Enjoy --- and here's wishing our Press/Analyst +contact a very Happy 13th Birthday --- mark it with a palindromic +moment at 010212212010 +i.e., Tue Dec 21 01:02:15 PST 2010 +

+ + +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2010-12-21T09:54:00.001-08:00

Emacspeak 33.0 (StarDog) Unleashed!

+
+
+
+
+ +

Emacspeak 33.0 --- StarDog --- Unleashed!

+ + +
+

1 Emacspeak-33.0 (StarDog) Unleashed!

+
+ + + + +
+ +
+

1.1 For Immediate Release:

+
+ + +

+San Jose, Calif., (Nov 24, 2010) +Emacspeak: Bringing Cloud Access From The Stars + -- Zero cost of upgrades/downgrades makes priceless software affordable! +

+

+Emacspeak Inc (NASDOG: ESPK) --http://emacspeak.sf.net-- +announces the immediate world-wide availability of Emacspeak +33.0 (StarDog) -- a powerful audio desktop for leveraging today's evolving +data, social and service-oriented Web cloud. +

+
+ +
+ +
+

1.2 Investors Note:

+
+ + + +

+With several prominent tweeters expanding coverage, NASDOG: ESPK +has now been consistently trading over the net at levels close +to that once attained by DogCom high-fliers --- and as of +October 2009 is trading at levels close to that achieved by +once better known stocks in the tech sector. +

+
+ +
+ +
+

1.3 What Is It?

+
+ + + +

+Emacspeak is a fully functional audio desktop that provides +complete eyes-free access to all major 32 and 64 bit operating +environments. By seamlessly blending live access to all aspects +of the Internet such as Web-surfing, blogging, social computing +and electronic messaging into the audio desktop, Emacspeak +enables speech access to local and remote information with a +consistent and well-integrated user interface. A rich suite of +task-oriented tools provides efficient speech-enabled access to +the evolving service-oriented Web cloud. +

+
+ +
+ +
+

1.4 Major Enhancements:

+
+ + + + +
    +
  1. +Updated URL Templates for rapid Web access. ♁ + +
  2. +
  3. +Support for twittering-mode --- including logins using OAuth. ● + +
  4. +
  5. +Updated Google docs support enables publishing from org-mode. ○ +
  6. +
  7. +Enhanced BBC iPlayer support ☢ +
  8. +
  9. +Emacs 24 support ♺ + +
  10. +
+ +

Plus many more changes too numerous to fit in this margin ∞ +

+
+ +
+ +
+

1.5 Establishing Liberty, Equality And Freedom:

+
+ + + +

+Never a toy system, Emacspeak is voluntarily bundled with all +major Linux distributions. Though designed to be modular, +distributors have freely chosen to bundle the fully integrated +system without any undue pressure --- a documented success for +the integrated innovation embodied by Emacspeak. As the system +evolves, both upgrades and downgrades continue to be available at +the same zero-cost to all users. The integrity of the Emacspeak +codebase is ensured by the reliable and secure Linux platform +used to develop and distribute the software. +

+

+Extensive studies have shown that thanks to these features, users +consider Emacspeak to be absolutely priceless. Thanks to this +wide-spread user demand, the present version remains priceless +as ever --- it is being made available at the same zero-cost as +previous releases. +

+

+At the same time, Emacspeak continues to innovate in the area of +eyes-free social interaction and carries forward the +well-established Open Source tradition of introducing user +interface features that eventually show up in luser environments. +

+

+On this theme, when once challenged by a proponent of a +crash-prone but well-marketed mousetrap with the assertion +"Emacs is a system from the 70's", the creator of Emacspeak +evinced surprise at the unusual candor manifest in the assertion +that it would take popular idiot-proven interfaces until the year +2070 to catch up to where the Emacspeak audio desktop is +today. Industry experts welcomed this refreshing breath of +Courage Certainty and Clarity (CCC) at a time when users are +reeling from the Fear Uncertainty and Doubt (FUD) unleashed by +complex software systems backed by even more convoluted press +releases. +

+
+ +
+ +
+

1.6 Independent Test Results:

+
+ + + +

+Independent test results have proven that unlike some modern (and +not so modern) software, Emacspeak can be safely uninstalled without +adversely affecting the continued performance of the computer. These +same tests also revealed that once uninstalled, the user stopped +functioning altogether. Speaking with Aster Labrador, the creator of +Emacspeak once pointed out that these results re-emphasize the +user-centric design of Emacspeak; "It is the user -- and not the +computer -- that stops functioning when Emacspeak is uninstalled!". +

+ +
+ +
+

1.6.1 Note from Aster and Bubbles:

+
+ + + +

+UnDoctored Videos Inc. is looking for volunteers to star in a +video demonstrating such complete user failure. +

+
+
+ +
+ +
+

1.7 Obtaining Emacspeak:

+
+ + + +

+Emacspeak can be downloaded from Google Code Hosting -- see +http://code.google.com/p/emacspeak/ You can visit +Emacspeak on the WWW at http://emacspeak.sf.net. You can subscribe +to the emacspeak mailing list emacspeak@cs.vassar.edu by sending +mail to the list request address emacspeak-request@cs.vassar.edu. +The StarDog release is at +http://emacspeak.googlecode.com/files/emacspeak-33.0.tar.bz2. +The latest development snapshot of Emacspeak is available via +Subversion from Google Code Hosting at +http://emacspeak.googlecode.com/svn/trunk/ +

+
+ +
+ +
+

1.8 History:

+
+ +

Emacspeak-33.0 AKA StarDog brings unparalleled cloud access to the +audio desktop. +Emacspeak 32.0 AKA LuckyDog continues to innovate via open +technologies for better access. Emacspeak 31.0 AKA TweetDog --- +adds tweeting to the Emacspeak desktop. Emacspeak 30.0 AKA +SocialDog brings the Social Web to the audio desktop --- you cant +but be social if you speak! Emacspeak 29.0 --- AKAAbleDog --- is +a testament to the resilliance and innovation embodied by Open +Source software --- it would not exist without the thriving Emacs +community that continues to ensure that Emacs remains one of the +premier user environments despite perhaps also being one of the +oldest. Emacspeak 28.0 --- AKA PuppyDog --- exemplifies the rapid +pace of development evinced by Open Source software. Emacspeak +27.0 --- AKA FastDog --- is the latest in a sequence of upgrades +that make previous releases obsolete and downgrades +unnecessary. Emacspeak 26 --- AKA LeadDog --- continues the +tradition of introducing innovative access solutions that are +unfettered by the constraints inherent in traditional adaptive +technologies. Emacspeak 25 -- AKA ActiveDog -- re-activates open, +unfettered access to online information. Emacspeak-Alive -- AKA +LiveDog -- enlivens open, unfettered information access with a +series of live updates that once again demonstrate the power and +agility of open source software development. Emacspeak 23.0 -- +AKA Retriever --- went the extra mile in fetching full +access. Emacspeak 22.0 -- AKA GuideDog -- helps users navigate +the Web more effectively than ever before. Emacspeak 21.0 -- AKA +PlayDog -- continued the Emacspeak tradition of relying on +enhanced productivity to liberate users. Emacspeak-20.0 -- AKA +LeapDog -- continues the long established GNU/Emacs tradition of +integrated innovation to create a pleasurable computing +environment for eyes-free interaction. emacspeak-19.0 -- AKA +WorkDog -- is designed to enhance user productivity at work and +leisure. Emacspeak-18.0 -- code named GoodDog -- continued the +Emacspeak tradition of enhancing user productivity and thereby +reducing total cost of ownership. Emacspeak-17.0 -- code named +HappyDog -- enhances user productivity by exploiting today's +evolving WWW standards. Emacspeak-16.0 -- code named CleverDog-- +the follow-up to SmartDog -- continued the tradition of working +better, faster, smarter. Emacspeak-15.0 -- code named +SmartDog -- followed up on TopDog as the next in a continuing a +series of award-winning audio desktop releases from Emacspeak +Inc. Emacspeak-14.0 -- code named TopDog -- was the first release of +this millennium. Emacspeak-13.0 -- codenamed YellowLab -- was the +closing release of the 20th. century. Emacspeak-12.0 -- code named +GoldenDog -- began leveraging the evolving semantic WWW to provide +task-oriented speech access to Webformation. Emacspeak-11.0 + -- code named Aster -- went the final step in making Linux a +zero-cost Internet access solution for blind and visually +impaired users. Emacspeak-10.0 -- (AKA Emacspeak-2000) code named +WonderDog -- continued the tradition of award-winning software +releases designed to make eyes-free computing a productive and +pleasurable experience. Emacspeak-9.0 -- (AKA Emacspeak 99) code +named BlackLab -- continued to innovate in the areas of speech +interaction and interactive accessibility. Emacspeak-8.0 -- (AKA +Emacspeak-98++) code named BlackDog -- was a major upgrade to the +speech output extension to Emacs. +

+

+Emacspeak-95 (code named Illinois) was released as OpenSource on +the Internet in May 1995 as the first complete speech interface +to UNIX workstations. The subsequent release, Emacspeak-96 (code +named Egypt) made available in May 1996 provided significant +enhancements to the interface. Emacspeak-97 (Tennessee) went +further in providing a true audio desktop. Emacspeak-98 +integrated Internetworking into all aspects of the audio desktop +to provide the first fully interactive speech-enabled WebTop. +

+

+About Emacspeak: + +

+
+ +

+Originally based at Cornell (NY) +http://www.cs.cornell.edu/home/raman -- home to Auditory User +Interfaces (AUI) on the WWW -- Emacspeak is now maintained on +GoogleCode --http://code.google.com/p/emacspeak -- and +Sourceforge -- http://emacspeak.sf.net. The system is mirrored +world-wide by an international network of software archives and +bundled voluntarily with all major Linux distributions. On +Monday, April 12, 1999, Emacspeak became part of the +Smithsonian's Permanent Research Collection on Information +Technology at the Smithsonian's National Museum of American +History. +

+

+The Emacspeak mailing list is archived at Vassar -- the home of the +Emacspeak mailing list -- thanks to Greg Priest-Dorman, and provides a +valuable knowledge base for new users. +

+
+
+ +
+ +
+

2 Press/Analyst Contact: Hubbell Labrador

+
+ + +

+Going forward, BubbleDog acknowledges her exclusive monopoly on +setting the direction of the Emacspeak Audio Desktop, and +promises to exercise this freedom to innovate and her resulting +power responsibly (as before) in the interest of all dogs. +

+

+**About This Release: + +

+
+ +

+Windows-Free (WF) is a favorite battle-cry of The League Against +Forced Fenestration (LAFF). -- see +http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on +the ill-effects of Forced Fenestration. +

+

+CopyWrite )C( Aster and Hubbell Labrador. All Writes Reserved. +LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered +Dogmarks of Aster and Hubbell Labrador. All other dogs belong to +their respective owners. +

+
+
+
+

Author: T.V Raman +

+

Date: 2010-11-24 08:43:55 PST

+

HTML generated by org-mode 7.01 in emacs 24

+
+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2010-11-24T10:53:00.001-08:00

Emacspeak 32.0 (LuckyDog) Unleashed

+
+
+
+
+

Emacspeak 32.0 --- LuckyDog --- Unleashed!

+
+

1 Emacspeak-32.0 (LuckyDog) Unleashed!

+
+
+
+

1.1 For Immediate Release:

+
+

+San Jose, Calif., (May 13, 2010) +Emacspeak: Bringing tweet Access For social beings + -- ;Zero cost of upgrades/downgrades makes priceless software affordable! +

+

+Emacspeak Inc (NASDOG: ESPK) --http://emacspeak.sf.net-- +announces the immediate world-wide availability of Emacspeak +32.0 (LuckyDog) -- ;a powerful audio desktop for leveraging today's evolving +data, social and service-oriented Web cloud. +

+
+
+
+

1.2 Investors Note:

+
+

+With several prominent tweeters expanding coverage, NASDOG: ESPK +has now been consistently trading over the net at levels close +to that once attained by DogCom high-fliers --- and as of +October 2009 is trading at levels close to that achieved by +once better known stocks in the tech sector. +

+
+
+
+

1.3 What Is It?

+
+

+Emacspeak is a fully functional audio desktop that provides +complete eyes-free access to all major 32 and 64 bit operating +environments. By seamlessly blending live access to all aspects +of the Internet such as Web-surfing, blogging, social computing +and electronic messaging into the audio desktop, Emacspeak +enables speech access to local and remote information with a +consistent and well-integrated user interface. A rich suite of +task-oriented tools provides efficient speech-enabled access to +the evolving service-oriented Web cloud. +

+
+
+
+

1.4 Major Enhancements:

+
+
    +
  1. +Updated URL Templates for rapid Web access. ♁ +
  2. +
  3. +BBC iPlayer support ☢ +
  4. +
  5. +Updated EPub support ✍ +
  6. +
  7. +Emacs 24 support ♺ +
  8. +
+

Plus many more changes too numerous to fit in this margin ∞ +

+
+
+
+

1.5 Establishing Liberty, Equality And Freedom:

+
+

+Never a toy system, Emacspeak is voluntarily bundled with all +major Linux distributions. Though designed to be modular, +distributors have freely chosen to bundle the fully integrated +system without any undue pressure --- a documented success for +the integrated innovation embodied by Emacspeak. As the system +evolves, both upgrades and downgrades continue to be available at +the same zero-cost to all users. The integrity of the Emacspeak +codebase is ensured by the reliable and secure Linux platform +used to develop and distribute the software. +

+

+Extensive studies have shown that thanks to these features, users +consider Emacspeak to be absolutely priceless. Thanks to this +wide-spread user demand, the present version remains priceless +as ever --- it is being made available at the same zero-cost as +previous releases. +

+

+At the same time, Emacspeak continues to innovate in the area of +eyes-free social interaction and carries forward the +well-established Open Source tradition of introducing user +interface features that eventually show up in luser environments. +

+

+On this theme, when once challenged by a proponent of a +crash-prone but well-marketed mousetrap with the assertion +"Emacs is a system from the 70's", the creator of Emacspeak +evinced surprise at the unusual candor manifest in the assertion +that it would take popular idiot-proven interfaces until the year +2070 to catch up to where the Emacspeak audio desktop is +today. Industry experts welcomed this refreshing breath of +Courage Certainty and Clarity (CCC) at a time when users are +reeling from the Fear Uncertainty and Doubt (FUD) unleashed by +complex software systems backed by even more convoluted press +releases. +

+
+
+
+

1.6 Independent Test Results:

+
+

+Independent test results have proven that unlike some modern (and +not so modern) software, Emacspeak can be safely uninstalled without +adversely affecting the continued performance of the computer. These +same tests also revealed that once uninstalled, the user stopped +functioning altogether. Speaking with Aster Labrador, the creator of +Emacspeak once pointed out that these results re-emphasize the +user-centric design of Emacspeak; "It is the user -- ;and not the +computer -- ; that stops functioning when Emacspeak is uninstalled!". +

+
+
+

1.6.1 Note from Aster and Bubbles:

+
+

+UnDoctored Videos Inc. is looking for volunteers to star in a +video demonstrating such complete user failure. +

+
+
+
+
+

1.7 Obtaining Emacspeak:

+
+

+Emacspeak can be downloaded from Google Code Hosting -- ;see +http://code.google.com/p/emacspeak/ You can visit +Emacspeak on the WWW at http://emacspeak.sf.net. You can subscribe +to the emacspeak mailing list emacspeak@cs.vassar.edu by sending +mail to the list request address emacspeak-request@cs.vassar.edu. +The LuckyDog release is at +http://emacspeak.googlecode.com/files/emacspeak-32.0.tar.bz2. +The latest development snapshot of Emacspeak is available via +Subversion from Google Code Hosting at +http://emacspeak.googlecode.com/svn/trunk/ +

+
+
+
+

1.8 History:

+
+

+Emacspeak 32.0 AKA LuckyDog continues to innovate via open +technologies for better access. Emacspeak 31.0 AKA TweetDog --- +adds tweeting to the Emacspeak desktop. Emacspeak 30.0 AKA +SocialDog brings the Social Web to the audio desktop --- you cant +but be social if you speak! Emacspeak 29.0 --- AKAAbleDog --- is +a testament to the resilliance and innovation embodied by Open +Source software --- it would not exist without the thriving Emacs +community that continues to ensure that Emacs remains one of the +premier user environments despite perhaps also being one of the +oldest. Emacspeak 28.0 --- AKA PuppyDog --- exemplifies the rapid +pace of development evinced by Open Source software. Emacspeak +27.0 --- AKA FastDog --- is the latest in a sequence of upgrades +that make previous releases obsolete and downgrades +unnecessary. Emacspeak 26 --- AKA LeadDog --- continues the +tradition of introducing innovative access solutions that are +unfettered by the constraints inherent in traditional adaptive +technologies. Emacspeak 25 -- ; AKA ActiveDog -- ; re-activates open, +unfettered access to online information. Emacspeak-Alive -- ; AKA +LiveDog -- ; enlivens open, unfettered information access with a +series of live updates that once again demonstrate the power and +agility of open source software development. Emacspeak 23.0 -- +AKA Retriever --- went the extra mile in fetching full +access. Emacspeak 22.0 -- ; AKA GuideDog -- ; helps users navigate +the Web more effectively than ever before. Emacspeak 21.0 -- ; AKA +PlayDog -- ; continued the Emacspeak tradition of relying on +enhanced productivity to liberate users. Emacspeak-20.0 -- ; AKA +LeapDog -- ; continues the long established GNU/Emacs tradition of +integrated innovation to create a pleasurable computing +environment for eyes-free interaction. emacspeak-19.0 -- ;AKA +WorkDog -- ; is designed to enhance user productivity at work and +leisure. Emacspeak-18.0 -- ;code named GoodDog -- ; continued the +Emacspeak tradition of enhancing user productivity and thereby +reducing total cost of ownership. Emacspeak-17.0 -- ;code named +HappyDog -- ; enhances user productivity by exploiting today's +evolving WWW standards. Emacspeak-16.0 -- ;code named CleverDog-- +the follow-up to SmartDog -- ; continued the tradition of working +better, faster, smarter. Emacspeak-15.0 -- ;code named +SmartDog -- ;followed up on TopDog as the next in a continuing a +series of award-winning audio desktop releases from Emacspeak +Inc. Emacspeak-14.0 -- ;code named TopDog -- ;was the first release of +this millennium. Emacspeak-13.0 -- ;codenamed YellowLab -- ; was the +closing release of the 20th. century. Emacspeak-12.0 -- ;code named +GoldenDog -- ; began leveraging the evolving semantic WWW to provide +task-oriented speech access to Webformation. Emacspeak-11.0 + -- ;code named Aster -- ; went the final step in making Linux a +zero-cost Internet access solution for blind and visually +impaired users. Emacspeak-10.0 -- ;(AKA Emacspeak-2000) code named +WonderDog -- ; continued the tradition of award-winning software +releases designed to make eyes-free computing a productive and +pleasurable experience. Emacspeak-9.0 -- ;(AKA Emacspeak 99) code +named BlackLab -- ; continued to innovate in the areas of speech +interaction and interactive accessibility. Emacspeak-8.0 -- ;(AKA +Emacspeak-98++) code named BlackDog -- ; was a major upgrade to the +speech output extension to Emacs. +

+

+Emacspeak-95 (code named Illinois) was released as OpenSource on +the Internet in May 1995 as the first complete speech interface +to UNIX workstations. The subsequent release, Emacspeak-96 (code +named Egypt) made available in May 1996 provided significant +enhancements to the interface. Emacspeak-97 (Tennessee) went +further in providing a true audio desktop. Emacspeak-98 +integrated Internetworking into all aspects of the audio desktop +to provide the first fully interactive speech-enabled WebTop. +

+

+About Emacspeak: +

+
+

+Originally based at Cornell (NY) +http://www.cs.cornell.edu/home/raman -- ;home to Auditory User +Interfaces (AUI) on the WWW -- ; Emacspeak is now maintained on +GoogleCode --http://code.google.com/p/emacspeak -- ; and +Sourceforge -- ; http://emacspeak.sf.net. The system is mirrored +world-wide by an international network of software archives and +bundled voluntarily with all major Linux distributions. On +Monday, April 12, 1999, Emacspeak became part of the +Smithsonian's Permanent Research Collection on Information +Technology at the Smithsonian's National Museum of American +History. +

+

+The Emacspeak mailing list is archived at Vassar -- ;the home of the +Emacspeak mailing list -- ; thanks to Greg Priest-Dorman, and provides a +valuable knowledge base for new users. +

+
+
+
+
+

2 Press/Analyst Contact: Hubbell Labrador

+
+

+Going forward, BubbleDog acknowledges her exclusive monopoly on +setting the direction of the Emacspeak Audio Desktop, and +promises to exercise this freedom to innovate and her resulting +power responsibly (as before) in the interest of all dogs. +

+

+**About This Release: +

+
+

+Windows-Free (WF) is a favorite battle-cry of The League Against +Forced Fenestration (LAFF). -- ;see +http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm for details on +the ill-effects of Forced Fenestration. +

+

+CopyWrite )C( Aster and Hubbell Labrador. All Writes Reserved. +LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered +Dogmarks of Aster and Hubbell Labrador. All other dogs belong to +their respective owners. +

+
+
+
+

Author: T.V Raman +

+

Date: 2010-05-10 17:37:06 PDT

+

HTML generated by org-mode 6.35i in emacs 24

+
+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2010-05-12T17:38:00.001-07:00

AsTeR --- Audio System For Technical Readings

+
+
+
+

Almost exactly 16 years to the date after presenting AsTeR +--- Audio System For Technical Readings --- +to the CS Faculty at Cornell for my PhD, I released the source +code as Open Source --- thanks to Prof. David Gries at Cornell +for approving this release.

+

The sources are checked into GoogleCode project +aster-math --- +unfortunately, the name AsTeR was unavailable since there is an +unrelated project of the same name at SourceForge.

+

So you might well ask: why 16 years later, and why now? The +honest answer is No good reason, except that after +graduating from Cornell, I decided that I would work on newer +projects, and consequently had no cycles to support the AsTeR +code base. Nothing has changed in that context, nor is it likely +to change in the coming future; however I get requests off and on +from different parts of the Web from teachers and students alike +who have seen my PhD thesis, played with the demos, and wish to +study the sources.

+

What You'll Find In The Sources

+

The code has not been actively developed since I finished my +work at Cornell; however, over the years, I 've ensured that the +system starts up and runs on Linux using the Open Source CLisp +environment. +The only text-to-speech engine that is supported is the hardware +DECTalk --- though it should be a small matter of programming to +support the various Emacspeak speech servers. If you do checkout +the source code, start by looking at the +README +file which contains brief instructions on getting started. Feel +free to use the Emacspeak mailing list for now if you wish to +discuss the code --- if the traffic justifies it, we can later +create a project-specific list.

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2010-01-26T08:41:00.001-08:00

Emacspeak 31 (AKA TweetDog) Unleashed!

+
+
+
+

Emacspeak 31.0 - TweetDog - Unleashed!

+ + +
+

1 Emacspeak-31.0 (TweetDog) Unleashed!

+
+ +

+


+

+
+ +
+ +
+

2 For Immediate Release:

+
+ + +

+San Jose, Calif., (Nov 26, 2009) +Emacspeak: Bringing tweet Access For social beings + - Zero cost of upgrades/downgrades makes priceless software affordable! +

+

+Emacspeak Inc (NASDOG: ESPK) --http://emacspeak.sf.net-- +announces the immediate world-wide availability of Emacspeak +31.0 (TweetDog) - a powerful audio desktop for leveraging today's evolving +data, social and service-oriented Web cloud. +

+ + + + + + + + + + + + + + + + + +
Downloads ReferenceInstallation Usage TipsTools Support
+ EMACSPEAK Logo
About the author + + SourceForge +
+
+ +
+

2.1 Investors Note:

+
+ +

+


+

+

+With several prominent tweeters expanding coverage, NASDOG: ESPK +has now been consistently trading over the net at levels close +to that once attained by DogCom high-fliers - and as of +October 2009 is trading at levels close to that achieved by +once better known stocks in the tech sector. +

+
+ +
+ +
+

2.2 What Is It?

+
+ +

+


+

+

+Emacspeak is a fully functional audio desktop that provides +complete eyes-free access to all major 32 and 64 bit operating +environments. By seamlessly blending live access to all aspects +of the Internet such as Web-surfing, blogging, social computing +and electronic messaging into the audio desktop, Emacspeak +enables speech access to local and remote information with a +consistent and well-integrated user interface. A rich suite of +task-oriented tools provides efficient speech-enabled access to +the evolving service-oriented Web cloud. +

+
+ +
+ +
+

2.3 Major Enhancements:

+
+ +

+


+

+
    +
  1. +Speech-enables Twitter. ✹ +
  2. +
  3. +Unicode support for enabling the world's various charsets.♁ +
  4. +
  5. +Emacs front-end to popular Google AJAX APIs. ⚤ +
  6. +
  7. +Updated g-client with preliminary support for Google +Docs. ✏ +
  8. +
  9. +Updated URL Templates for rapid Web access. ♅ +
  10. +
  11. +Updated WebSearch wizards for enhanced productivity.♄ + +
  12. +
+ +

Plus many more changes too numerous to fit in this margin ... ⚭ +

+
+ +
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2009-11-25T17:22:00.001-08:00

A Google Tool-belt For The Complete Audio Desktop

+
+
+
+
+

Introducing The Emacspeak Google Tool-belt

+ +

Module emacspeak-google.el +implements a suite of Google tools collectively refered to + as The Google Tool-Belt. These tools let you slice and + dice your result set using the various search operators + provided by Google --- the functionality is similar to that -- + --offered by the Google results page via -- + --user interface control Show -- + --Options.

+ +

The table below summarizes the tools that are presently + available on the Emacspeak Google Tool-belt. +For convenience, the tool-belt is bound to + prefix-key Control-t in Emacs/W3 buffers.

+ ++ + + + + + + + + + + + + + + + + + + + + + + + + +
+
keybinding
C-t C-bemacspeak-google-toolbelt-change-books-viewability
C-t Aemacspeak-websearch-accessible-google
C-t Bemacspeak-google-toolbelt-change-books
C-t Hemacspeak-google-toolbelt-change-web-history-not-visited
C-t Temacspeak-google-toolbelt-change-timeline
C-t aemacspeak-websearch-google
C-t bemacspeak-google-toolbelt-change-blog
C-t cemacspeak-google-toolbelt-change-commercial
C-t demacspeak-google-toolbelt-change-sort-by-date
C-t femacspeak-google-toolbelt-change-forums
C-t hemacspeak-google-toolbelt-change-web-history-visited
C-t iemacspeak-google-toolbelt-change-images
C-t lemacspeak-google-toolbelt-change-non-commercial
C-t nemacspeak-google-toolbelt-change-news
C-t pemacspeak-google-toolbelt-change-commercial-prices
C-t remacspeak-google-toolbelt-change-recent
C-t semacspeak-google-toolbelt-change-structured-snippets
C-t temacspeak-google-toolbelt-change-books-type
C-t vemacspeak-google-toolbelt-change-video
+

Share And Enjoy!

+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2009-10-13T08:57:00.001-07:00

Emacspeak, The World's Fonts And Braille

+
+
+
+

Emacspeak has supported the editing of Unicode text for +over a year now --- thanks to the patches fromLukas. +With the support now mature, I have now retired option +emacspeak-unibyte --- Emacspeak no longer supports +running Emacs in unibyte mode. Note that this aligns +Emacspeak with Emacs 23.2 which obsoletes unibyte +mode.

+ +

When you edit text containing Unicode characters, +Emacspeak uses the name of the character as found in the +description file from the Unicode consortium --- you will need to +download and install that data file as documented in Emacs:

+
+describe-char-unicodedata-file is a variable defined in `descr-text.el'.
+Its value is 
+"/usr/local/share/unicode/UnicodeData.txt"
+
+Documentation:
+Location of Unicode data file.
+This is the UnicodeData.txt file from the Unicode Consortium, used for
+diagnostics.  If it is non-nil `describe-char' will print data
+looked up from it.  This facility is mostly of use to people doing
+multilingual development.
+
+This is a fairly large file, not typically present on GNU systems.
+At the time of writing it is at the URL
+`http://www.unicode.org/Public/UNIDATA/UnicodeData.txt'.
+
+You can customize this variable.
+
+This variable was introduced, or its default value was changed, in
+version 22.1 of Emacs.
+
+
+

With the Unicode data file in place, Emacspeak can announce +names of characters from all of the world's fonts --- +this includes Braille. +As an added convenience, I have integrated package +toy-braille.el found on the Emacs wiki into the +Emacs codebase and defined a new interactive command +emacspeak-wizards-braille --- if you find yourself +using it often, you can bind it to a key of your choice. +Command emacspeak-wizards-braille prompts for the +string to Braille and produces a Grade-1 representation of the +specified string using the appropriate Unicode characters. +

+

+⠠⠃⠗⠁⠊⠇⠇⠑⠀⠠⠁⠝⠙⠀⠠⠑⠝⠚⠕⠽

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2009-09-21T08:49:00.001-07:00

Emacspeak: Google News Suggest For Faster News Search

+
+
+
+

Google News now provides search suggestions --- this feature -- + --has been present in Google + WebSearch for a few years. +As in the case of WebSearch, Emacspeak now leverages Google News' + suggest feature to provide + minibuffer completion when + performing news searches on + Google. To try the feature, + try:

+ + +

Search and Enjoy

+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2009-09-15T08:16:00.001-07:00

Emacspeak Servers --- Catching Up With Debian And Ubuntu

+
+
+
+

Over the last couple of years, the TCL world has moved on from +TCL8.3 to TCL8.4 --- this introduces a set of needed +changes to how Emacspeak servers such as Espeak and +ViaVoice-Outloud work. +I have finally decided to break backward compatibility with +TCL8.3 and move things forward to TCL8.4, now that all the Linux +distributions have settled on TCL8.4.

+

Also, sometime in 2005, I transitioned all of the server +Makefiles to use libtool --- at the time, it made compilation of +the servers somewhat easier. However, this has tended to make +things more complex over time, thanks to changes in libtool. I've +now dropped the libtool dependency in favor of using simpler +Makefiles --- thanks William Hubbs of Gentoo!

+ +

ViaVoice Outloud Server For Emacspeak

+

The Voxin package from Guilles continues to be the easiest +means of obtaining high-quality text-to-speech on Linux. +Installation of that package went smoothly on Hardy; however on +Jaunty, things did not go so well, see notes below for things to +watch out for on Jaunty or later.

+ + +

ESpeak And Emacspeak

+ +

The ESpeak server does not get affected by the above +problem. However, unless you install package alsa-oss +and invoke that server as +:aoss tcl espeak +the server will fail to start if some other application is using +the audio device.

+ +

Software Dectalk And Emacspeak

+ +

This still needs testing under newer Linux distributions --- +I've not used it in a long time and dont have the libs installed +any more.

+ + +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2009-08-27T08:28:00.001-07:00

Launching Favorite Media Via Hot Keys

+
+
+
+

Launching Oft-Played Media On The Complete Audio Desktop

+

Command emacspeak-multimedia lets you launch all +forms of local and remote media. However this stil requires you +to specify the media location --- and this requires a bunch of +keystrokes that you end up repeating for selecting media that you +play often, e.g., from your private music collection. No more +extra keystrokes, you can now have Emacspeak automatically assign +suitable hotkeys for launching emacspeak-media on +your favorite audio collections.

+

How It Works

+ +

In my own case, I have favorites defined on +hyper-<n> so I can define upto 10 hotkey +assignments for media locations.Once launched, Emacspeak +automatically switches to the media player buffer; note that this +is different from how emacspeak-multimedia normally +works. The justification: this hotkey interface is +ideally suited to remote controls, joysticks, and any other +peripheral via which you can deliver input to Emacs.

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2009-06-29T10:48:00.001-07:00

Looking Beyond The Screen At Google I/O2009

+
+
+
+

+Come join me and Charles +Chen +at +Google I/O2009 +at our session on +Looking +Beyond The Screen (YouTube Preview +where we will describe some of our work on eyes-free interaction +on Android. We'll be around during most of Google I/O, so if you +are interested in eyes-free interaction ranging from Emacspeak to +Fire-Vox, or anything else eyes-free, feel free to grab us in the +hallways. +Looking forward to seeing you there!

+

Abstract: Looking Beyond The Screen

+
+

Looking Beyond The Screen

+
+ + +

+Project Eyes-Free aims to enable fluent eyes-free use of mobile +devices running Android. Target uses range from eyes-busy +environments like in-car use to users who are unwilling to or +incapable of looking at the visual display --- see For The Blind, Technology Does What A Guide Dog Can't, NYTimes, January +4, 2009, for a high-level overview. As described in that article, +we are releasing components from project Eyes-Free as they become +ready for end-user deployment. This announcement marks the first +public release of the eyes-free shell on the Android +Marketplace, though the underlying source code has been available +for some time from the code repository at Google Code Hosting. +

+

+Here is a brief overview of the end-user affordances provided in +this release: +

+ +
    +
  1. +An Eyes-Free Shell for conveniently launching talking applications. +
  2. +
  3. +A collection of useful talking applications that turn an +Android phone into an eyes-free communication device --- see +subsequent sections for an overview of these +applications. Note that thes eapplications have been written +to be both useful to end-users as well as to help the +developper community to come up to speed with developing +eyes-free applications for Android. + +
  4. +
+ +

We will be uploading video tutorials demonstrating the use of +these applications to YouTube --- please see the project +Web site for these links as they become available. +

+ +
+ +
+

Talking Dialer

+
+ + +

+A key innovation is the use of the touch screen to enable +one-handed, eyes-free dialing of phone numbers using the touch +screen --- see Miguel Helft's NY Times article cited above for a good +layman's description of the technique. The talking dialer comes +with a talking phone-book that enables users to quickly select a +desired contact using the touch screen. +

+
+ +
+ +
+

Knowing Your Location

+
+ + +

+This mini-application announces your present location based on +information acquired via GPS and the cell network. It speaks your +current heading using the built-in magnetic compass, looks up the +current location on Google Maps, and announces the location in +terms of a nearby address and street intersection. +

+
+ +
+ +
+

Device State

+
+ + +

+This mini-application announces useful information such as +battery state, signal +strength, and availability of WiFi networks. +

+
+ +
+ +
+

Date And Time

+
+ + +

+This mini-application provides single-touch access to current +date and time. +

+ + + + + +
+
+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2009-05-22T09:04:00.001-07:00

Announcing emacspeak 30.0 --- SocialDog!

+
+
+
+

Emacspeak-30.0 (SocialDog) Unleashed!

+ +

For Immediate Release

+

+ San Jose, CA, (May 11, 2009)
+ Emacspeak: --- Bringing friendly Access For social beings
+ --Zero cost of upgrade/downgrades makes priceless software affordable! +

+ + + + + + + + + + + + + + + + + + + + +
Downloads ReferenceInstallation Usage TipsTools Support
+ EMACSPEAK Logo
About the author + + SourceForge +
+ + + +

+ + Emacspeak Inc (NASDOG: ESPK) announces the immediate + world-wide availability of Emacspeak-30 --a powerful audio + desktop for leveraging today's evolving data and service-oriented social Web cloud. +

+

Investors Note

+

+ With several prominent analysts initiating coverage, + NASDOG: ESPK continues to trade over the net at levels close to that + once attained by the DogCom high-fliers of yester-years +and as of + October 2008 is trading at levels close to that achieved by + better known stocks in the tech sector. +

+ + +

What Is It?

+

+ Emacspeak is a fully functional audio desktop that provides + complete eyes-free access to all major 32 and 64 bit operating + environments. By seamlessly blending all aspects of the Internet + such as Web-surfing and electronic messaging into the audio + desktop, Emacspeak enables speech access to local and remote + information with a consistent and well-integrated user + interface. A rich suite of task-oriented + tools provides efficient speech-enabled access to the + evolving service-oriented Web cloud. +

+

Major Enhancements

+ +
    +
  1. Speech-enables Twitter.
  2. +
  3. +Unicode support for enabling the world's various charsets. +
  4. +
  5. +Emacs front-end to popular Google AJAX APIs. +
  6. +
  7. +Updated g-client with preliminary support for Google Docs. +
  8. +
  9. +Updated URL Templates for rapid Web access. +
  10. +
  11. +Updated WebSearch wizards for enhanced productivity. +
  12. +
  13. +Emacs 23 support. + +
  14. +
+

See the NEWS file for additional details.

+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2009-05-11T13:43:00.001-07:00

Toward an Accessible Democracy --- White House Moderator AxsJAXed

+
+
+
+
+

Toward An Accessible Democracy --- White House Moderator +AxsJAXed!

+

This is not directly Emacspeak related --- except that it is +useful for emacspeak users. +Project AxsJAX, combined with Fire-Vox does for Web-2.0 +applications what Emacspeak does for applications written within +Emacs. +Charles and I just announced AxsJAX +For White House Moderator +--- an AxsJAX extension that applies W3C ARIA to the White +House Moderator.I'll append the article below:

+
+

An ARIA For The White House Moderator

+
+

+Google-AxsJAX was launched in late 2007 as a library for +access-enabling Web-2.0 applications. +Since then, we have released accessibility enhancements for many +Web-2.0 applications via the AxsJAX site as early experiments +that have eventually graduated into the products being extended. +Today, we are happy to announce an early AxsJAX extension for Google +Moderator that enables fluent eyes-free use of Google Moderator +as seen on the White House site. +

+
+
+

HowTo: Brief Overview.

+
+

+For details on installing and using AxsJAX extensions, see the +AxsJAX FAQ. Briefly, you need Firefox 3.0 and a screenreader that +supports W3C ARIA. Users who do not have a screenreader installed +can most easily experience the results by installing Fire Vox, a +freely available self-voicing extension for Firefox. +

+

+With the AxsJAX extension in place, you can use Google Moderator +via the keyboard, with all user interaction producing spoken +feedback via W3C ARIA. Here is a brief overview of the user +experience: +

+
    +
  1. +The user interface is divided into logical panes --- one +listing topic areas, and the other listing questions in a +given topic. At times, e.g., before a meeting, you may find +an additional Featured Question pane that shows a randomly +selected question that you can vote on. +
  2. +
  3. +Users can ask new questions under a given topic, or give a +thumbs-up/down to questions that have already been asked. +
  4. +
  5. +Use the left and right arrow keys to switch between the two +panes. You hear the title of the selected pane as +you switch. +
  6. +
  7. +Use up and down arrows to navigate among the items in +the selected pane. As you navigate, you hear the current +item. +
  8. +
  9. +Hit enter to select the current item. +
  10. +
  11. +The current item can be magnified by repeated presses of the ++ (or =) key. To reduce magnification, press the - +key. +
  12. +
  13. +When navigating the questions in a given topic, hit y or +n to vote a question up or down. +
  14. +
  15. +When navigating items in the topic pane, hit a to ask a +question. Once you confirm your request to post the +question, it will show up in the list of questions for that +topic so that others can vote that question up or down. +
  16. +
+

Please use Google Group Accessible for providing feedback on +this AxsJAX extension. +

+

+Share And Enjoy-- +

+

+Raman and Charles. +

+
+
+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2009-03-26T10:06:00.001-07:00

Announcing Emacspeak 29.0 (AbleDog)

+
+
+
+ + + + + + + + + + + + + + + + + +
Downloads ReferenceInstallation Usage TipsTools Support
+ EMACSPEAK Logo
About the author + + SourceForge +
+ + + +

+ + Emacspeak Inc (NASDOG: ESPK) announces the immediate + world-wide availability of Emacspeak-29 --a powerful audio + desktop for leveraging today's evolving data and service-oriented Web cloud. +

+

Investors Note

+

+ With several prominent analysts initiating coverage, + NASDOG: ESPK continues to trade over the net at levels close to that + once attained by the DogCom high-fliers of yester-years + and as of + October 2008 is trading at levels close to that achieved by + better known stocks in the tech sector. +

+ + + + +

Major Enhancements

+ +
    +
  1. + Speech-enables proced --- a new task manager.
  2. +
  3. + Emacspeak-Webspace for rapid access to content feeds. +
  4. +
  5. + Unicode support for enabling the world's various charsets. +
  6. +
  7. + Emacs front-end to popular Google AJAX APIs. +
  8. +
  9. + Updated g-client with preliminary support for Google Docs. +
  10. +
  11. + Updated URL Templates for rapid Web access. +
  12. +
  13. + Updated WebSearch wizards for enhanced productivity. +
  14. +
  15. + One-shot Google Search with suggestions for word under point. +
  16. +
  17. + Emacs 23 support. + +
  18. +
+ + +

See the NEWS file for additional details.

+ + + + + + + + + + + +

Harnessing Emacspeak

+ +

+ You can visit Emacspeak at + SourceForge. + The latest development snapshot of + Emacspeak is available via subversion from + Google Code Hosting. + You can subscribe to the emacspeak mailing list + emacspeak@cs.vassar.edu by sending mail to the list + request address emacspeak-request@cs.vassar.edu.

+ +

+ Press/Analyst Contact: Hubbell Labrador
+ + Going forward, BubbleDog acknowledges her exclusive monopoly on setting the + direction the the Emacspeak Audio desktop, and promises to exercise + this freedom to innovate and her resulting power responsibly (as + before) in the interest of all dogs.
+

+ + + + + + + + Emacspeak-28.0
+ + + +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2008-11-26T16:31:00.001-08:00

Emacspeak Webspace Goodies

+
+
+
+

Module emacspeak-webspace has a few new goodies +on offer. +If you activate WebSpace Headlines to obtain a +continuously updating ticker of headlines, you may also at times + want to find one of the headlines you heard go by and +read the relevant article. +Command emacspeak-webspace-headlines-view bound by +default to C-RET pops up a special +Headlines buffer that lists all the currently available +headlines. This is a regular Emacs buffer that uses a special +major mode called emacspeak-webspace-mode. This mode +provides special commands to open a feed at point, follow +hyperlinks etc.; use Emacs' online help facilities to learn how +this buffer works.

+

Mode emacspeak-webspace-mode is also used to +advantage in browsing information retrieved via the Google AJAX +APIs described in the previous set of articles on this blog. +Google Reader subscribers can now view the subscription list in a +Webspace buffer via command +emacspeak-webspace-reader. +Additionally, command emacspeak-webspace-google provides +a more convenient interface to command +gweb-google-at-point --- in addition to speaking the +snippet from the first search hit, this command places the first +four results in a special Search Results buffer +that is put in Webspace mode.

+Search And Enjoy! + + +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2008-09-09T17:40:00.001-07:00

Emacspeak-WebSpace Just Got A Lot Faster

+
+
+
+
+

In Praise Of Google AJAX APIS

+

New module gfeeds.el (part of Library g-client) now implements a Lisp interface +to the Google AJAX FeedSearch API. +An immediate consequence of this is that module +Emacspeak-WebSpace just got orders of magnitude +faster --- not that it was slow to start with:-)

+

Feed And Enjoy!

+ +
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2008-08-20T07:12:00.001-07:00

In Praise Of The Google Search AJAX API

+
+
+
+
+ +

In Praise Of The Google AJAX Search API

+

Emacspeak has always provided Google Search with a single +keystroke from anywhere on the audio desktop. +But with the +coming of the Google AJAX Search API +it becomes possible to integrate Google Search at a far deeper +level into your fingertips! +The AJAX API demonstrates the true speed of Google Search, since +you dont need to wait for an HTML page to download and render --- +results are served as a light-weight +JSON data structure.

+ +

What You Can Now Do

+ +

+Module gsearch (part of the g-client +package) +provides an interactive command +gsearch-google-at-point --- I have this bound to key +hyper-/ in Emacs. +Executing this command from anywhere inside Emacs does the +following:

+
    +
  • Grabs word under point, and prompts in the minibuffer for a +search-term --- with the word we just grabbed as the +default.
  • +
  • Fetches other relevant search terms in the background via +Google Suggest, and makes these available via Emacs' minibuffer +history mechanism. Use keys M-n and M-p +to cycle through these if needed.
  • +
  • Hitting ENTER performs a Google Search using the +AJAX API, and displays the title and content snippet for the +first search result.
  • +
  • Executing command gsearch-google-at-point +subsequently at the same location opens the first search +result.
  • +
+

Search And Enjoy!

+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2008-08-14T16:51:00.001-07:00

Tutorial: Enhancing Web 2.0 Usability Using AxsJAX

+
+
+
+

You can watch a +video of the tutorial Charles and I gave as part of the +Google Open Source series on July 14. +Emacspeak users can play the video by pressing e e +on the above link and specifying +emacspeak-m-player-youtube-player when prompted.

+

Abstract

+

+Google is the Web's premier creator of user-friendly Web 2.0 +applications, and I have long viewed it as part of our mission to +do for users in the long tail (AKA users with special needs) what +we've achieved for the mainstream user. + Accessibility 2.0 is now a hot topic on the Web +--- and we would like to move from a world where AJAX +applications were a straight No-No with respect to blind users to +a world where these same technologies are used to enhance their +usability for everyone. +

+

+Google-AxsJAX is an Open Source framework for injecting +accessibility for users with special needs --- and more +generally, usability enhancements --- into Web 2.0 applications. +In this TechTalk, Charles Chen and I +give a hands-on tutorial on using AxsJAX to enhance the usability +of Web 2.0 applications. The tutorial covers the following: +

+ +

This tutorial focuses on solutions we've already built and +deployed both within shipping products and as early end-user +experiments. Google products that we will cover include: +

+ +

And time permitting, we might even demonstrate how I now make up +for all the time I save thanks to an efficient +eyes-free auditory user interface by playing JawBreaker and +reading XKCD via their AxsJAXed versions. +

+

+Note that writing AxsJAX enhancements to Web applications can +help you win bragging rights and cool swag! The goal of this +hands-on tutorial is to help you get there faster! +

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2008-08-01T08:07:00.001-07:00

Talk Announcement: Developing Accessible Web-2.0 Applications

+
+
+
+

For those of you in Silicon Valley, Charles Chen and I will +be giving a talk on developing accessible Web 2.0 applications as +part of the Google Open Source Series --- see details below. +This will be a hands-on tutorial on ARIA-enhancing Web 2.0 +applications using Google +AxsJAX, and is a follow-up to the talk given at +Google I/O +. +A video of this talk will be posted later on the Web. +

+

Open Source Developers @ Google Speaker Series: Charles Chen & T.V. Raman

+

+ +Want to learn more about creating accessible Web 2.0 applications from the creators of +Fire Vox + and +Emacspeak +? If you are nearby +Google's Mountain View, California, USA Headquarters + on Monday, July 14th, please join us for Charles Chen and T.V. Raman's presentation Enhancing Web 2.0 Accessibility via AxsJAX. They will take you through a hands on tutorial on +Google-AxsJax +, an Open Source framework for injecting usability enhancements into Web 2.0 applications. Among other topics, Charles and T.V. will cover an overview of AxsJAX's developer tools, enabling eyes-free interaction for web applications and iterative design processes for accessibility improvements. They will also let you know the secret to getting a cool t-shirt with the Google logo printed in Braille. +
+
Like all sessions of the Open Source Developers @ Google Speaker Series, this session will be open to the public. Doors open at 6:30 PM and light refreshments will be served. All are welcome and encouraged to attend; guests should plan to sign in at Building 43 reception upon arrival. For those of you who cannot join us in person, the presentation will be taped and published along with all public Google Tech Talks. +
+ + + + + + + + + + + + + + + +

+ + + +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2008-07-14T08:17:00.001-07:00

ProcEd: A Speech-Enabled Task Manager For Emacs

+
+
+
+

For the last 10 years or so, view-process-mode +has been my task manager of choice for monitoring and controlling +the state of processes on the Emacspeak audio desktop. +As of Emacs 23, AKA Emacs from CVS, that module does not work +anymore --- in fact it has not been updated for several years. +On the positive side, Emacs now bundles module ProcEd +--- a task manager that does for processes what module +DirEd does for files and directories. +As of this morning, proced.el is fully speech-enabled by +Emacspeak. +You can install module ProcEd for Emacs 22 by obtaining +the file from the Web --- +you can easily find it +via +Google. +

+

Share And Enjoy ... And have a great July 4th Holiday!

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2008-07-03T07:36:00.001-07:00

Leveraging Web 2.0 Design Patterns For Enhanced Accessibility

+
+
+
+

As promised, here is a link to the Youtube video of +the talk on Leveraging Web +2.0 Patterns For Accessibility +given during Google I/O on May 28, 2008 in San Francisco. +Emacspeak users can play the video by hitting e e +on the link, and specifying +emacspeak-m-player-youtube-player when prompted. +You can find the downloadable slides used +during the talk along with other session material on the +Google +I/O page for this session.

+ +

Talk Details

+ +

Leveraging Web 2.0 Design Patterns For Enhanced Accessibility +T. V. Raman (Google) +

+

+HTML DOM+ JavaScript constitutes the assembly language of Web Applications. Access To Rich Internet Applications --- ARIA --- adds in a couple of additional op-codes for helping Web applications better communicate with adaptive technologies such as screenreaders. How do we now push the envelope with respect +to Web applications and adaptive technologies such as screenreaders and self-voicing browsers in a manner similar to what we as Web developers have collectively achieved for the mainstream user? + +This session will demonstrate programming techniques that help Web developers experiment with and build in the latest accessibility techniques into their Web applications. We will base this session on project Google-AxsJAX. + +Developers should know JavaScript, but session doesn't require deep AJAX hackery.

+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2008-06-12T15:30:00.001-07:00

AxsJAX And Auditory User Interfaces At Google IO

+
+
+
+

For those of you interested in Auditory User Interfaces and + attending +Google + IO 2008 +in San Francisco today, +I'll be giving a talk on AxsJAX and Auditory User Interfaces, + and be around the rest of the two days to talk about Google's + work on access-enabling Web-2.0 applications. +Look forward to seeing you there! +

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2008-05-28T07:23:00.001-07:00

Emacspeak On Thinkpad X-61 Running Gutsy (Ubuntu 7.0)

+
+
+
+

I recently upgraded to a Thinkpad X-61 running Gutsy --- +here are some brief notes on the move. In summary, all is well, +and I like Gutsy running on the X-61.

+

Here are things to be aware of both from a hardware and +software perspective. All of this is with X and GNOME turned +off; note that some of the tips e.g. turning off the display as +described here, will cause havoc with X.

+ + +

All in all, the upgrade to Gutsy was mostly painless --- other +than having to figure out the usual nits about the new hardware. +The /proc/acpi/ibm support is further along but not +yet complete--- as an example /proc/acpi/ibm/video +does not yet control the state of the LCD --- and you cannot +query the state of the display reliably through that interface.

+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2008-05-16T13:40:00.001-07:00

Emacspeak-28.0 (PuppyDog) Unleashed!

+
+
+
+

Emacspeak-28.0 (PuppyDog) Unleashed!

+ +

For Immediate Release

+

+ San Jose, CA, (May. 16, 2007)
+ Emacspeak: --- Bringing Cutting-Edge Access For Keen Users
+ --Zero cost of upgrade/downgrades makes priceless software affordable! +

+ + + +

+ + Emacspeak Inc (NASDOG: ESPK) announces the immediate + world-wide availability of Emacspeak-27 --a powerful audio + desktop for leveraging today's evolving data and service-oriented semantic Web. +

+ +

+ +Emacspeak can be downloaded from Google Code Hosting --see +GoogleCode + You can visit +Emacspeak on the WWW at http://emacspeak.sf.net. You can subscribe +to the emacspeak mailing list emacspeak@cs.vassar.edu by sending +mail to the list request address emacspeak-request@cs.vassar.edu. +The PuppyDog release is +here. +The latest development snapshot of Emacspeak is available via +Subversion from Google Code Hosting at +http://emacspeak.googlecode.com/svn/trunk/ +

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2008-05-15T19:04:00.001-07:00

W4A Keynote: Cloud Computing And Equal Access For All

+
+
+
+

I'll be giving the opening keynote at the upcoming +W4A 2008 +conference in Beijing on April 21. You can find an online version +of the paper along with the slides +here: Cloud + Computing And Equal Access For All. +Coincidentally, another excellent Web 2.0 accessibility event is +happening on the same day in London --- +see Accessibility + 2.0 --- it's unfortunate +one cannot be in multiple places at opposite corners of the +globe at the same time!

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2008-04-12T13:07:00.001-07:00

Emacspeak Goes Social

+
+
+
+

Leveraging The Benefits Of Free Speech!

+

For Immediate Release:
+April 1, 2008

+

Live From San Jose ... Emacspeak Goes Social!

+

Investors and users alike welcomed today's announcement that +Emacspeak (NASDOG:ESPK) +would be going social --- Going Social is +better than Going Postal!

+

+As a pioneer in the space of eyes-free information access, +and a firm believer in free speech and free software, +Emacspeak will now help users go social speech-free +--- all users need do is to use the system. When in use, the +free-social features of Emacspeak will talk to others on your +behalf, answer inane questions, and contribute to the community +by in its turn asking even more inane questions of everyone +else. In a repeat of the network effect that has led to +the resounding success of systems like the World Wide Web and The +Blogosphere, +these viral features in Emacspeak are expected to win ones +running instance many social connections. +The longer one uses these features, the deeper +one's social graph +--- going forward, the information encapsulated in these social +graphs will be converted to ever-increasing stacks of small +pieces of green paper.

+

Coming Soon!

As these features are launched over the +next few weeks, expect Emacspeak generated conversation streams +to show up everywhere ranging from Twitter streams to random email +messages that you can usefully use to forward to spammers. This +innovative approach to communication finally adds value to spam +--- and is being hailed as the next biggest business model to hit +the ether. By making such content available on the Internet, the +system will foster the long term human goal of organizing and +searching all the world's ignorance to make it universally +accessible --- thereby bringing ignorance on par with +knowledge!

+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2008-04-01T07:04:00.001-07:00

My Web-2.0 Application Is Feeling Accessible

+
+
+
+

If you feel up to Web hackery and want to win a cool T-shirt +in the bargain, see +My +Web-2.0 Application Is Feeling Accessible!. +You can see examples of what you can achieve with this framework +in the AxsJAX showcase.

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2008-03-28T20:45:00.001-07:00

Emacspeak WebSpace --- Interaction-Free Information Access

+
+
+
+

A few months ago, I started an Emacspeak module called +emacspeak-webspace that is now ready for wider use. +The goal of this module is to unobtrusively fetch useful +information from the Web and communicate it at those times that +one is context-switching among tasks. +I gave a talk on user interaction at the last +Hackers Conference in +November; in the same session, there was another talk whose gist +was a plea for less human-computer interaction --- +motivation: User Interfaces are nice, but wouldn't it be nice if +one didn't have to explicitly interact with the machine +to get information? +The speaker coined the term Zen interfaces in that +context, something that stuck in memory long after the talk. +

+ +

I built that thought into module +emacspeak-webspace. +Conceptually, it consists of smart fetchers that fetch +information asynchronously from the Web, and smart +displayers +that communicate this information at appropriate times. +These are detailed below. +

+

Fetchers

+

There are two fetchers at present:

+
+
Weather
+
Fetches current weather conditions for your location.
+
News
+
Fetches headlines from a customizable collection of ATOM and +RSS feeds.
+
+ +

Note that this module is not intended to be an RSS or ATOM +feed-reader; for that, use module greader --- an +API-based Google Reader client that is bundled with +Emacspeak.

+ +

Communicating Useful Information Usefully

+

With the information in hand, the next question is +how does one communicate this information usefully, +and what does at the appropriate time mean? Things to +avoid: +

+
+
Interaction-Free
+
Do not require explicit user action to hear the +information.
+
Avoid Chatter
+
Avoid creating an auditory user interface that chatters at +the user all the time.
+
+ +

These are conflicting constraints. Notice that in a visual +interface, one can meet the interaction-free +requirement by displaying the information in a toolbar or +sidebar and allow the user to ignore or absorb the information at +will.

+

Emacspeak uses Emacs' header-line to display the +continuously updating information. +This meets the interaction-free requirement. +The header line updates every time Emacs updates its display, and +automatically speaking it would produce too much feedback. +But Emacspeak doesn't automatically speak the header-line; it +only speaks it when there is a context-switch.

+ +

How To Use

+ +

Here is how I am using emacspeak-webspace at +present:

+ +
+
Weather
+
Activate weather display in the calendar and +scratch buffers.
+
News
+
Activate feed headlines in selected shell +buffers.
+
+

You hear the updated information when switching to buffers +where the webspace display is active. +

+

Activating WebSpace Displays

+

Webspace displays are activated via the following commands; +all Webspace displays will be placed by default on prefix key +hyper-space

+ +

Share And Enjoy, And May The Source Be With You!

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2008-03-06T07:25:00.001-08:00

Announcing: The Coming Of Piglets To The Emacspeak Desktop

+
+
+
+

This is to announce a new emacspeak module called +Piglets that brings together Emacs and Firefox to create +a powerful framework for authoring Web interaction wizards.

+

Why Piglets?

+ +

You might well ask Why Piglets?, +and might conjecture that PIGLETS might stand for +Powerful Internet Gadgets for a Light-Weight Talking +System. +You might conjecture that the Emacspeak mascot likes pig-ears; or +you might even think of attributing it to the fact that my +friend and colleague Charles Chen and creator +of Fire Vox was born in the year of the pig. +But you'd be mostly wrong in all of the above.

+

Piglets on the Emacspeak desktop are the result of having two +large (and powerful) software pigs connect over a socket. A few +months ago, I blogged here about MozREPL and how it +allows me to Put +The Fox In A Box. Piglets mark the completion of the +Emacs/Firefox integration that started with Firebox. Once you +install Fire Vox, the +free self-voicing extension for Firefox, piglets become a +versatile means to leverage the self-voicing Fire-Vox/Firefox DOM from the comfort of +the emacspeak environment.

+ +

What You Need

+ +

Caveat: ALL of this is early experimental +software --- and you'll need to tweak things for your environment +to get things working.

+ + +

Loading And Running Piglets

+ +

The Piglets framework is implemented in module +emacspeak-piglets.el. There is a Fire-Vox binding in +module emacspeak-firevox.el and a binding to the JawBreaker +game in emacspeak-jawbreaker.el. +

+ +

How Does It Work?

+ +

When you get the various pieces configured and working, here +is how things work:

+ +

ToDos:

+ +

These are some todos that I plan to get to eventually --- if +you have coding cycles to contribute, feel free to work on +these.

+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2008-01-03T10:45:00.001-08:00

Web Accessibility And Usability: Coming Back To The Basics

+
+
+
+

+The Nielsen Norman Group has made available a detailed report on +accessibility, which includes the results of several usability +tests +--- see Going Beyond + Alt Text. +It's a very good read, and though its conclusions might be +depressing to people coming to this area from the outside --- +they should be no surprize to users who have been trying to use +the Web via spoken output over the last 10 years. +From the perspective of the Emacspeak user who lives in a +specialized browsing environment that is optimized for performing +oft-repeated tasks, there are several interesting take-aways from +this report:

+ + + +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-12-20T14:49:00.001-08:00

Directions Using Public Transport From Google Maps

+
+
+
+
+

In the spirit of adding a smart URL template to +enhance the Emacspeak Web Command Line +for useful tools I discover ...

+ +

I just checked in a Public Transit Via Google +Maps +tool into the Emacspeak SVN repository. +You specify trip details in the form start to +destination +e.g., 2715 +La Terrace Circle 95123 to San Jose Airport +and get back a filtered view that shows the information you +want. Note that clicking on the link in this blog will give you +the entire page, +which is fairly easy to navigate. +But having a smart filter in Emacspeak makes it that much more +efficient to use. +

+ +

Share And Enjoy,

+
+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-11-28T07:45:00.001-08:00

Announcing Emacspeak 27.0 AKA FastDog

+
+
+
+

For Immediate Release

+

+ San Jose, CA, (Nov. 24, 2007)
+ Emacspeak: --- Bringing Cutteng-Edge Access For Sharp Users
+ --Zero cost of upgrade/downgrades makes priceless software affordable! +

+ + + + + + + + + + + + + + + + + + + + + +
Downloads ReferenceInstallation Usage TipsTools Support
+ EMACSPEAK Logo
About the author + + SourceForge +
+ + +

+ + Emacspeak Inc (NASDOG: ESPK) announces the immediate + world-wide availability of Emacspeak-27 --a powerful audio + desktop for leveraging today's evolving data and service-oriented semantic Web. +

+

Major Enhancements

+ + + + + + + +
    +
  1. + emacspeak-web: Updated Web interaction. +
  2. +
  3. + emacspeak-ess: Speech-enables Emacs Statistics Interface +
  4. +
  5. + Header Line Support: +
  6. +
  7. +Windows Key Now Stops Speech +
  8. +
  9. +Smarter mode-line output: +
  10. +
  11. + Google Suggest provides completion for search queries. +
  12. +
  13. + Integrated Support For Google Services +
  14. +
  15. +emacspeak-moz: Firefox integration. +
  16. +
  17. +Emacspeak-webmarks: Online bookmarks. +
  18. +
+ +

And others too numerous for this margin ...

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-11-23T18:17:00.001-08:00

AxsJAX, Speech-Enabled Games And Auditory User Interfaces

+
+
+
+

This is not part of Emacspeak, but is relevant to emacspeak +users given that:

+ + +

Charles Chen and I recently released a JavaScript powered +framework for access-enabling AJAX applications +--- see AxsJAX. +Along with access-enabling useful applications such as Google +WebSearch and Google Reader, we also access-enabled JawBreaker, a +popular game much in the spirit of Tetris --- but without a +ticking clock. +See AxsJAX +showcase for pointer to this and other Web-2.0 applications +that have been AxsJaxed.

+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-11-16T14:53:00.001-08:00

The Web The Way You Want

+
+
+
+

+I gave a talk last week at University of Washington entitled +The +Web The Way You Want; +it should be of general interest to users interested in flexible +access to the Web.

+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-10-08T16:33:00.001-07:00

Podcast Covering Web Accessibility

+
+
+
+

I recorded this +Accessibility +Podcast +a few weeks ago for the Google Developer Blog. +It focuses on the overall topic of Web Accessibility and covers +some of what I have been building with respect to custom clients +for Google Services, alongside a broad range of issues around +developing usable applications.

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-09-24T16:01:00.001-07:00

Emacspeak Video Demo: Looking Up The Weather

+
+
+
+

In the first of a sequence of posts demonstrating live +emacspeak user interaction, +I'll give an overview of what it feels like to use Emacspeak's +powerful Web Command Line provided by its rich collection of web +gadgets made up of search wizards and smart url +templates

+

Here are a few things to note about this and all the +subsequent video demos in this series:

+ +

Looking Up The Weather

+

Looking up current weather is a sufficiently common action +where browsing to a weather site, typing in ones +zip-code and reviewing the resulting page is three steps too +many. +This is also why most modern desktop environments provide +gadgets that display such live information with minimal +user intervention. +This first video shows Emacspeak smart url RSS +Weather From Wundergroundin action. +

+

Here is the RSS +Weather Demo. +This is an OGG/Theora video and should play with tools like +mplayer. +The table below shows a brief description of each user action +and its effect.

+ ++ + + + + + + + + + +
ActionKeyEffect
Access GadgetsC-e uPrompts for gadget
Pick Weather Gadgetrss tabpartial input completes to RSS Weather From Wunderground
Pick Default LocationreturnCA/SanJose
Speaks weather forecast
QuitqStops speech, dismisses weather forecast, and speaks current context. In this case the shell becomes current and you hear the relevant information.
+

A Transcript Of What You Hear

+ +

Users who could see the video half of this demo but were not +frequent text-to-speech users reported that it would be useful to +see a transcript of what is being spoken. +I'm revising this entry to have an annotated transcript. +Note that the transcript may not be accurate to the last word, +since I'm typing it in by hand; however it should give one a +sense of what information emacspeak chooses to speak.

+
+
Access Gadgets
+
The spoken prompt is Resource:.
+
Pick Gadget
+
You hear me type RS and then you hear Emacspeak +completing my input to RSSWeather. +Half way through that utterance, I know it's found the right +gadget, so I hit enter, and that stops the utterance +RSSWeather half-way through and speaks the next prompt. +Notice that you also hear auditory icons to indicate that a +prompt input area just opened.
+
Location
+
With the gadget now selected, you hear the +City/State prompt generated by the weather gadget. +It also produces a default location of CA/San_Jose. +In the demo, you hear the State/City prompt, along with +the default value. I hit enter midway through that utterance, +again the speech flushes immediately. +The gadget now has enough information to do its work; it pulls +the RSS feed from Wunderground, converts it to XHTML (using XSLT) +and displays the page using Emacs/W3. Once displayed, it starts +speak the forecast you see on the screen.
+
Forecast
+
Here is a rough transcript of what you hear as the weather +forecast is spoken. The forecast starts with the words: +Conditions 73 degrees F Partly cloudy 4:50pm PDT August 18 ... +This is in a lower-pitched (deeper) voice since it was +generated from the title of the corresponding RSS item. Emacspeak +uses Aural CSS to produce such audio formatted information. +The contents of the item are spoken in the default voice starting +with the utterance Temperature 73 degrees F 23 degrees C ... Conditions partly cloudy ... +When I've heard enough, I hit q to quit.
+
Quit
+
When I quit the weather gadget, a number of things happen. +
    +
  • You hear auditory icon close-object to indicate the +weather forecast being dismissed.
  • +
  • You hear context information indicating that the Emacs +shell buffer has now become current.
  • +
  • For this context information, you hear it speak the working +directory of the shell buffer and the word shell
  • +
+
+
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-09-04T07:23:00.001-07:00

Emacspeak And GMail

+
+
+
+

+See this +article +by my Google colleague Srinivas Annam that outlines the +availability of GMail Filters from the basic HTML interface. +This was the final piece that remained to convince me to use my +GMail account for email --- now, keeping the GMail Inbox clean +and free of clutter +has become a snap.

+

To go with this, I've added a few smart URL templates to +Emacspeak's Web Command Line. +Once you've signed in, you can use +template GMail Search +to type a search term, and find matching mesages. +Note that GMail uses CSS class msg +to tag the actual contents of a message. You can use this to +advantage by hitting e c +on a message link, and specifying msg as the class +value to filter the message.

+

At some point I'll add a couple of Emacspeak wizards for +creating filters; the present HTML interface is still a bit too +click intensive for my liking. +But cudos to Srinivas for doing the hard work that lets me +discover the pain points in the HTML interface; until now these +were completely invisible to me since I couldn't +use GMail from +the Emacspeak environment.

+

Emacs/W3 note: Note that signing in to GMail from the main +GMail screen defeats W3. +An easy work-around, and something that is more efficient anyway +is to use +the glogin.xml form found in Emacspeak --- use + +C-e ?/ in Emacspeak to pick that form. +Once you're signed in to Google, you can: +

+ + +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-08-31T17:47:00.001-07:00

AMixer And Emacspeak: Controlling The Sound Card

+
+
+
+

In the days of OSS, Emacspeak had a nice Emacs-interface to +aumix +and it is a piece of functionality that I have missed even more +under ALSA, +given that one can do many more sophisticated tweaks to one's +sound-card. +Tool alsamixer --- a full-screen terminal +application is bewilderingly confusing (at least to me), +and amixer though usable required me to go find out +how it worked each time I needed to do something new. +The final straw came last weekend when I tried to record some +Emacspeak demos using recordmydesktop +and needed to configure ALSA so that it would capture sound +directly from the PCM output, rather than the microphone.

+

To cut a short story even shorter, +I ended up writing an Emacs wrapper around amixer +called --- well, you guessed it, amixer. +The code is checked in as +amixer.el. +The Emacspeak keybinding C-e ( formerly used to +manipulate aumix is now ALSA-aware +and will intelligently default to using the new +amixer tool if +/usr/bin/amixer is available. +

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-08-17T17:24:00.001-07:00

The Web The Way You Want

+
+
+
+

While working on miscellaneous Web related things +including:

+ +

I also wrote a +draft chapter on specialized Web browsing. +Given the set of things I have been working on, the end result is +to point out that given the architecture and underlying design +principles of the Web as embodied by HTTP, URIs and HTML, +specialized Web browsing is in fact not so specialized after all. +

+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-08-07T07:37:00.001-07:00

Google Suggest: Minibuffer Completion When Googling

+
+
+
+

Google Suggest has been available until now as a Firefox +extension --- it +displays a dynamically generated list of completions as one does +Google searches in Firefox. +The prefered way of Googling on the Emacspeak audio desktop +--- using Emacspeak's Websearch facility available via C-e ? +is now Google-Suggest enabled. This means that when +doing Google searches via +C-e ?g, you can type a partial query, and hit TAB +to get a list of possible completions for the query. +

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-08-02T07:27:00.001-07:00

Emacspeak WebMarks: Online Bookmarks Using Google

+
+
+
+

Emacspeak module emacspeak-webmarks +adds support for adding, viewing and finding Google Bookmarks. +Google Bookmarks allows you to store your bookmarks at Google; +this module adds support similar to that provided by Firefox +Bookmarklets for Google Bookmarks implemented in JavaScript. +Note that this module though relatively small was one of the +motivators for the code refactoring described in +Web +Interaction in Emacspeak.

+

Usage Tips

+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-07-24T07:42:00.001-07:00

Web Interaction In Emacspeak

+
+
+
+

Users running out of SVN will have noticed that the emacspeak +codebase has seen a significant number of updates over the last +couple of weeks. +During this time, I've refactored the Web interaction code in +Emacspeak to meet the following goals:

+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-07-24T07:32:00.001-07:00

Emacs-G-Client: Leveraging New Picasa API Features

+
+
+
+

+The Google Picasa team announced a set of +useful +additions +to the Picasa Web API yesterday. I've added support for most of +these new features in module gphoto +that is part of my Emacs G-Client package.

+

You can get the latest version of package +Emacs-G-Client +via SVN. +Note that this development version +of package Emacs-G-Client also includes a light-weight +client for finding and playing YouTube videos.

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-07-24T07:20:00.001-07:00

Emacspeak And Beautiful Code

+
+
+
+ +

+In the fall of 2006, I was invited by O'Reilly Media to +participate in an innovative book project called Beautiful +Code. +The project put together a set of chapters that focused on +capturing the collected insight from creating real +software. A particularly attractive aspect of this book was that +it focused on code +--- unlike many book projects in the field of software +engineering, here the goal was to explicitly +focus on real code and how it could be made beautiful. +

+

The final +book is now available in print. +The chapter on Emacspeak is being published on this Web site +under a Creative Common Licence +--- this HTML version +includes Chapter 31: Emacspeak --- The Complete Audio +Desktop +and the Afterword section from the book.

+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-07-19T09:52:00.001-07:00

Searching The Emacspeak Knowledge Base

+
+
+
+

Information about Emacspeak and its use is available from a +collection of Web sites, +and being able to restrict the search to these authoritative +sources +is a good way of quickly finding the right document, without +being distracted by the numerous hits one finds when doing a +search across the whole Web. +You can now search the Emacspeak Knowledge Base +by using search form emacspeak-search.html; +access it via Emacspeak command emacspeak-websearch +and specify /to bring up the list of available +forms. +This form is also the default search form on the Emacspeak Web +site.

+

HowTo: Implement Emacspeak Knowledge Base Search

+

+Implementing the above using CSE is trivial --- +all I needed to do was:

+
    +
  1. Checked in an HTML file into the Emacspeak repository at +Knowledge +Base.
  2. +
  3. Create a CSE that uses the above document.
  4. +
+ + +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-07-06T17:53:00.001-07:00

Emacs G-Client, Reader, And CSE: Searching Past Articles From Google +Reader

+
+
+
+

So I use module greader (part of package G-Client +to read a large number of ATOM and RSS feeds. I have long missed +the ability to search for articles I remember having read a few +weeks or months ago; +though I typically find it with an appropriately phrased Google +Search, +I've always wanted to have the ability to restrict the search to +the feeds I subscribe to --- this makes formulating the query +much easier.

+

The advent of CSEs --- see my earlier blog post +entitled On +The Fly Custom Search +combined with Google Reader's ability to export ones subscription +list as an OPML file gives me exactly what I needed.

+ +

HowTo: Enable Searching Of Past Articles From Google +Reader

+ + + +

Now, you can use Emacspeak url template +reader subscription search from the Emacspeak Web +Command Line to search articles you remember having seen in your +Google Reader. This is also an excellent means of finding +articles of interest that one might have missed in the past. +As an example, I recently became interested in Selenium --- an +extremely powerful Web application testing framework. +Finding articles from the past that I ought to have read +but hadn't was a snap using the feature describe here.

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-07-06T17:45:00.001-07:00

Google Books In Emacspeak

+
+
+
+

To coincide with today's announcement of +gull-text +access to public domain works +from Google Books, I've updated the corresponding emacspeak Web Command-Line +wizard. Use C-e u to invoke URL templates +and type google books to access it.

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-07-03T16:28:00.001-07:00

Making Search Fly: On-The-Fly Custom Search Engines

+
+
+
+

+The Custom Search Engine team at Google recently released +CSE +On The Fly +a truly amazing feature. Incidentally Google Custom Search is the +same piece of magic that brought us +Accessible +Search last year.

+

So in the spirit of continuing to enhance the Web Command Line +in Emacspeak for every smart Web tool that becomes available, +I've checked in two new url templates +that demonstrate how one can leverage this to be smart and +selective about what one reads.

+
+
Searching Favorite Feeds
+
So I read a lot of Blogs, my current Blog Reader is Google +Reader via --- you guessed it -- Emacs module +GReader +(part of the Emacs G-Client package). +But I often feel the need to search my favorite feeds. +URL-template Reader Subscriptions +lets you do this; what's more it's not specific to Google +Reader. All you need do is to publish an OPML file listing your +favorite feeds and customize Emacs variable +emacspeak-url-template-reading-list-opml +to point to that location.
+
Official GoogleBlog Search
+
Google has a large number of Google-specific Blogs --- I +usually read them through this aggregated feed: +All + GoogleBlog Stream +Emacspeak wizard Official GoogleBlog Search builds a +CSE from this feed to let you search articles from all of +Google's blogs.
+
+

Eventually, I'll also add a meta search wizard that +lets one construct any CSE on the fly --- with Lisp such +meta-programming is a snap!

+

Later yesterday evening, I checked in a third +url-template +called On The Fly CSE that prompts for a search term and +the URL for the feed of feeds that specifies the content to search.

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-06-28T16:58:00.001-07:00

Emacs-G-Client: Uploading Photos To PicasaWeb

+
+
+
+

The SVN version of package Emacs-G-Client +at +g-client now includes a new module gphoto.el +that can create albums and upload photos to Google's PicasaWeb +site --- as an example, see my photo +gallery. +Emacspeak users are likely to find the RSS and ATOM feeds for +photo albums more useful in general; package +gphoto +provides easy access to previewing these feeds +as well as viewing/editting the metadata that goes along with +the pictures. +As an example of such a feed, here is +Hubbell +Labrador's Graduation album.

+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-06-26T07:32:00.001-07:00

Multilingual Dictionary Lookup Via Google

+
+
+
+

From the every useful Google tool deserves a Web Command +-line equivalent ...

+ +

+I just checked in an Emacspeak url-template +for accessing +multilingual dictionary lookup via Google. +Invoke it like any other url-template using +C-e u and type mult tab. +Specify the word to look up, and the source-target language pair +using two letter codes --- this is analogous to how the Emacspeak +Translation Via Google +tool works. +And remember, if there is something you find yourself doing often +on the Web, there is most likely an Emacspeak +Web +Command Line +gadget for it --- well, at least that is true for the things I +find myself doing often;-)

+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-06-26T07:11:00.001-07:00

FireBox: Put The Fox In The Box

+
+
+
+

+ I've finally found the right development environment for myself + for writing and debugging Web Applications that use JavaScript to + implement client-side interaction. +It turns out that it wasn't just me who found the thought of +programming inside the Web browser a painful experience --- +pleasant though the final end-user interaction that those results +deliver might be for the final user. +I discovered +MozRepl +--- a read-eval-print +loop for Firefox. MozRepl is a Firefox extension that allows you +to open a connection to a running Firefox session and gain access +to a JavaScript interpreter context that can access all aspects +of the Firefox runtime.

+

This is quite neat, I can now use the power of Emacs to write +and debug end-user JavaScript applications. +But wait, there is more. So in general, as someone who doesn't +need to suffer from the hit on cycles and memory that running an X +environment involves, +I usually dont start GDM --- the graphical desktop +--- on my Linux box. Believe me, running just at the console, +especially with the LCD turned off makes my laptop run a lot +longer. +So challenge: How do you take the fox's head off Firefox? +How do you run a headless Firefox?

+

Turns out that the original X Windows developers didn't always +have access to all the displays that they were developing X +applications for --- so they created XVFB --- the X +Virtual Frame Buffer server. +Like all good things in the Open Source world, XVFB continues to +survive --- even though today, X developers hardly if ever resort +to XVFB. +But in the fine UNIX tradition of +Get out of my way or I'll turn you into a shell +script +XVFB also turns out to be just what I needed in order to run +FireFox as a headless application.

+

So in summary: I'm typing this blog on the shuttle bus riding +home, with the monitor turned off, +and Firefox running headless as I debug some of the code I've +been writing. +If you want to put the fox's head in a box yourself, here is a +pointer to +FireBox +-- share and enjoy! +

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-06-22T17:28:00.001-07:00

Emacspeak And Beautiful Code

+
+
+
+

+Beautiful +Code + is a collection of essays on software design, with all proceeds + going to Amnesty International. +It includes a chapter on the use of Lisp advice +to speech-enable Emacs --- AKA Emacspeak. +I'll eventually publish an HTML version of my article on the +emacspeak Web site. In the meantime, I highly recommend the complete book --- +which if you need an accessible version can probably be obtained +from organizations like BookShare.

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-06-14T11:50:00.001-07:00

Google Group For Package G-Client

+
+
+
+

I've created a Google Group for package G-Client here: +Emacs-G-Client. +If you are using package G-Client you can use this +group to discuss your experiences with other users. +Note that the codebase for this package is evolving actively +under SVN at +lisp/g-client +. +

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-05-23T16:24:00.001-07:00

An Essay On Eyes-Free Computing

+
+
+
+
+

I just posted an essay on +eyes-free computing +to my +MathZomeblog. +This essay highlights the relevance of +ZomeTool +in teaching +mathematical concepts to students who are visually impaired. More +generally, it describes my experiences as a mathematician who +cannot see. I'm posting the abstract here; the + + complete essay can be found on my Web site.

+

The experiences described in this essay have influenced the + software I have built and use on a daily basis; it should be + of interest to:

+
    +
  • Emacspeak users wishing +to understand why things look like the way they do in +Emacspeak.
  • +
  • Students with visual impairments who are entering the field +of mathematics.
  • +
  • Teachers working with visually impaired students.
  • +
  • And the generally curious mathematician who wishes to view +the world from a different perspective.
  • +
+ +

Abstract

+

+ This essay outlines some of my experiences as a mathematician + who cannot see. Note that I transitioned to being a Computer + Scientist during Graduate School. However I strongly believe in + the edict Once a mathematician, always a mathematician! + — my training in mathematics continues to influence the + way I think. +

+

+ I've been unable to see since the age of 14, which means that + I've studied and practiced mathematics predominantly in an + eyes-free environment. This essay is my first conscious attempt + at asking the question What is involved in doing mathematics + when you cannot see? I hope that some of the + experiences outlined here will prove insightful to + mathematicians at large. At its heart, mathematics is about + understanding the underlying structure inherent in a given area + of interest — and where no such structure exists — to + define the minimal structure that is needed to make forward + progress. +

+

+ The general perception that mathematics might be hard to do in + an eyes-free environment probably traces itself to the common + view of mathematics as a field where one performs copious + calculations on paper. I'll illustrate some of the habits and + abilities one evolves over time to compensate for the lack of + ready access to scratch memory provided by pencil and + paper when working in an eyes-free environment. In this essay, + I hope to demonstrate that mathematics in its essence is + something far bigger. By being bigger than calculations on + paper, not being able to see rarely if ever proves an + obstacle when it comes to doing mathematics; the challenges one + needs to overcome are primarily centered around gaining access + to mathematical material, and communicating ones insights with + fellow mathematicians. Thus, a large portion of this essay + focuses on solutions to the challenges inherent in mathematical + communication. +

+ +
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-05-19T11:29:00.001-07:00

Updates To G-Client

+
+
+
+

If you use g-client within Emacspeak to access +Google Services, you might want to read +G-Client Updates.

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-05-16T07:41:00.001-07:00

Web 2.0 And The Emacspeak Audio Webtop

+
+
+
+

Blogging while at WWW 2007. +I attended the W3C AC meeting the first two days of the week. The +highlight for me from the AC (Advisory Committee meeting was a +panel consisting of TimBL and Tim OReilly at the end of the day +yesterday. It was fun to hear Tim OReilly define Web-2.0 --- he +is credited with originally coining the term, but in the last +year, Web 2.0 has often been lightly equated to +dynamic Web applications that use JavaScript to the extent that +many assume that anything that doesn't use JavaScript is not +Web-2.0!

+

The gist of Tim O's definition of Web-2.0 was +to point out that once the Web had gained sufficient coverage +and scale, it became possible to build application services on +this Web that drew their value from aggregating the data on the +Web; his examples ranged from Google to Amazon. +His comments were insightful --- my own view now is that Web-2.0 +should have been called Web^2 i.e. this current revolution is +about applying the power of the Web to itself. +

+

The other amusing piece while running around at the conference +and observing what everyone is working on is to realize that now +that Web Gadgets and the like are popular, it's now +considered a fine idea to write light-weight site-specific +tools. Notice that Emacspeak has had this since the late 90's in +the form of first the websearch module, to be later +joined by url-templates. I believe these innovations +arrived earlier on the Emacspeak Webtop as compared to the rest +of the Web for the following reasons:

+ + +

Incidentally when I showed others working in the field of +accessibility these Emacspeak tools during their early days, they +were promptly dismissed as site-specific hacks that wouldn't +scale in the face of generic screenreaders that would handle +every web page. +With the visual Web getting too busy for everyone +mainstream users now have access to productivity solutions such +as Apple's Dashboard Widgets, IGoogle modules that can be placed +on a Web page or the desktop, and other comparable tools. It will +be interesting to see how much longer blind users saddled with +commercial screenreaders will have to wait before seeing similar +tools emerge in their world --- just remember, when that does +arrive, Emacspeak had them in 2000!

+
+ +
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-05-09T13:12:00.001-07:00

Emacspeak 26.0 --- LeadDog Unleashed!

+
+
+
+

+ + Emacspeak Inc (NASDOG: ESPK) + announces the immediate world-wide availability of Emacspeak-26 + --a powerful audio desktop for leveraging today's evolving + data and service-oriented semantic Web. +

+

Major Enhancements

+ +
    +
  1. Added support for ESpeak -- a freely available TTS engine.
  2. +
  3. Added support for Ocropus -- a freely available OCR engine.
  4. +
  5. Updated Websearch tools.
  6. +
  7. Updated URL templates to enhance the Web Command Line.
  8. +
  9. Support for Google Services like Blogger via package G-Client.
  10. +
  11. Updated productivity tools in the wizards package.
  12. +
  13. Fully tested against the upcoming Emacs22.
  14. +
  15. Better integration between W3 and W3M.
  16. +
+

+ This release contains many user contributed patches including: +

+ + +

+ You can visit Emacspeak at + SourceForge. + The latest development snapshot of + Emacspeak is available via subversion from +Google Code Hosting. + You can subscribe to the emacspeak mailing list + emacspeak@cs.vassar.edu by sending mail to the list + request address emacspeak-request@cs.vassar.edu.

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-05-03T18:51:00.001-07:00

See You At CSUN 2007

+
+
+
+

After a gap of 7 years, I will once again attend +CSUN in LA +this year. +This will also be Bubbles' first CSUN --- I attended CSUN 6 years +in a row with Aster between 1994 and 1999. +Anyway, if you're an Emacspeak user and are coming to CSUN this +year, look for me at the Google booth. +This is also Google's first year at CSUN; I will be there with +other Googlers working on accessibility. +I arrive Wed morning and leave early Friday morning --- look +forward to seeing you there. +

+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-03-20T06:57:00.001-07:00

An Emacs Client For Google Services

+
+
+
+

1 An Emacs Interface To Google Services

+ + +

+Google offers a number of services using a Google account. Many +of these services also expose a Web API. this package provides a +set of Emacs modules for accessing these services from inside +Emacs. These modules are designed with an Emacs-centric, rather +than a Web-browser centered view of the world. Where necessary +Emacs package browse-url is used to invoke the Web browser of +choice. +

+

+The current distribution can be downloaded from Google Code Hosting and the source code is available via Subversion. Note +that this is still work in progress. I'm releasing it as part of +the Emacspeak project since I believe the package already has +sufficiently useful functionality for users who spend a large +amount of their time inside Emacs. There is no dependency on +Emacspeak, and all clients provided here can be used without +Emacspeak loaded. +

+ +

1.1 Installation

+ + +

+These are needed only if installing package g-client +stand-alone, i.e. outside of Emacspeak. +

+ +

1.2 How It Works

+ + +

+Clients are implemented using Google APIs based on Atom +Publishing Protocol APP and Google Data APIs (GData). We use curl +to retrieve content via HTTPS and xsltproc to transform the +retrieved content to browsable HTML. +

+

+Clients sign you in the first time you invoke commands that require +authentication. Once signed in, the session cookie is cached for future +use. Session cookies presently expire in 30 minutes, and clients check for +expired cookies when authentication is needed. If the cookie has expired, +clients retrieve a fresh cookie using the authentication credentials provided +earlier. Note that authorization tokens etc are specific to a +given service. +

+ +

1.3 Top-level Customizations

+ + +

+All clients in this package use Emacs' customize interface to +set user preferences. +The most commonly used ones are enumerated below. +

+ +

1.4 Google Blogger gblogger

+ + +

+This client implements posting, editting and deleting of blog +entries using the new Blogger API --- it replaces the now +obsolete atom-blogger that implemented similar functionality +using the old Blogger API. It uses value of customization option +g-user-email by default; this can be overridden via option +gblogger-user-email. See Blogger GData API for the underlying +APIs used. For editing posts, I recommend installing nxml-mode. +

+ +

1.5 Google Calendar gcal

+ + +

+This client can be used to view, add or delete events from the +Google Calendar for the authenticated user. It uses value of +customization option g-user-email by default; this can be +overridden via option gcal-user-email. Commands that display +calendar items optionally accept the feed url of the calendar to +view; this can be used to view calendars to which the +authenticated user has read access. See GData Calendar API for +the underlying APIs used. +

+ +

1.6 Google Reader greader

+ + +

+This client allows the authenticated user to read, browse and +subscribe/unsubscribe to feeds. +It uses value of customization option g-user-email by +default; this can be overridden via option g-user-email. +

+ +

Author: T.V Raman +<raman@cs.cornell.edu>> +

+

Date: 2007/03/02 10:36:07

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-03-02T10:59:00.001-08:00

Emacspeak Downloads On GoogleCode

+
+
+
+

+I've now made all Emacspeak releases available from the download +area on Googlecode. +Going forward, all Emacspeak releases will be made at the +GoogleCode site --- not SourceForge. This is because uploading +code to GoogleCode is significantly easier than making +releases on SourceForge.

+ +

But even more importantly, once uploaded, grabbing a release +from GoogleCode is significantly easier than on SourceForge's +release mechanisms. +You can always find a link to the latest releases from Emacspeak +on GoogleCode +by starting from the +Emacspeak +GoogleCode page. +Follow the link labeled Featured Downloads to download +the newest release. I've also made all past releases from the +download area --- follow the link labeled downloads on +the Emacspeak GoogleCode page.

+ +

Here is a brief summary of why I chose to start making +releases on GoogleCode, it can be viewed as a short summary of +the positives in making the switch.

+ + + +

Share And Enjoy --- and let's hope we never have download +sites that say Glad to be of service +as they close behind you with a sigh of a job well done.

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2007-02-12T16:45:00.001-08:00

IBM Software TTS On Ubuntu 6

+
+
+

+I had earlier reported the IBM TTS engine segfaulting on my home +Ubuntu 6 machine; I'm still to fix that problem. +Surprizingly though, I tried it on a different Ubuntu 6 machine, +and there, installing +

+sudo apt-get install libstdc++2.10-glibc2.2
+
+on top of the regular Ubuntu install was enough to get the TTS +working. +The segfault on my home machine occurs inside libc, and as best I +can tell the two machines have identical libc installs. +So on the positive front, it's only my home machine that appears +broken; on the negative side, the fact that the breakage is hard +to explain and hence fix doesn't inspire confidence in +upgrading. +Others have reported not having any problems on Edgy -- so the +problem is hopefully transitory. +

+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-12-22T08:41:00.000-08:00

Web Command Line Tool For Google Patent Search

+
+
+

From the every new Google search tool gets a corresponding +Emacspeak wizard dept:

+

Google just introduced Patent Search +an easy to use search interface for US patents. +In the spirit of the +Web Command Line, +Emacspeak now sports a Patent Search From Google + +smart URL +like other smart URLs on the Emacspeak Audio Desktop, this places +executing patent searches just a few keystrokes away. +To use this new wizard, do the following: +

+ + + +

happy inventing ---

+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-12-14T07:22:00.000-08:00

Emacspeak 25.0 (ActiveDog) Unleashed

+
+
+
+

I released Emacspeak 25.0 (ActiveDog) yesterday. +Here are the release +notes.

+

While trying to release it on Sourceforge I ran into a couple +of show-stoppers --- first off the SourceForge download mechanism +has changed yet again and it's now gotten sufficiently +convoluted that software released via SourceForge's file release +system is becoming well-nigh impossible to download except for +the most motivated user. Worse, as I released the file, upload +services on SourceForge hung, with a consequence that it created +a 0 sized emacspeak-25.tar.bz2 file --- the +SourceForge mechanism made it well-nigh impossible to clean up +the 0-sized file.

+

Given this mess, I decided to keep things simple by placing +the release on +the Emacspeak site directly -- this suffers from the +disadvantage of the release not getting mirrored on the various +Sourceforge download archives; it has the advantage of allowing +users to grab the release with one click.

+ +

The other thing to note about this release is that there are +no RPMs built --- a first in 7 years. I've now switched to +Ubuntu on my home machine and dont have the ability to build RPMs +so I'll leave this to individual distributions. I've also not +built Debian packages this time around, mostly because I've not +gotten around to understanding Debian's packaging system +sufficiently well to do this. Moreover I prefer minimalistic +packaging solutions --- and in general though Debian's packaging +is nice, it still feels a little too heavy-weight for something +like the Emacspeak source tarball which needs a simple +make; sudo make install to get set up. +So for now, I'll rely on folks like Jim Van Zandt to build +downstream Debian +packages for incorporating with the various distributions like +Debian and Ubuntu --- this way, packages can be built to match +particular distributions.

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-11-24T09:52:00.000-08:00

Emacspeak Smart URL For Google Code Search

+
+
+

Every useful Web tool deserves a Web short-cut. +Google just announced a new service called Code Search +that lets you search the codebases of Open Source +projects. It's a great way of finding source code relevant to +ones programming projects.

+ +

I just checked in a corresponding URL Template +--- as a reminder, url templates in Emacspeak are +smart URLs that provide web short-cuts to create a + conceptual Smart Web Command Line. +To use: +

+ + + +
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-10-05T14:47:00.000-07:00

Using Helix Player From Emacspeak

+
+
+

In the spirit of You can never have sufficiently many +media players, I now have Helix Player working under +Emacspeak i.e., +I can now run Helix Player without having to start up X. This is +useful because there are still media streams on the Web that +sometimes fail with mplayer, and from the minimal +testing I've done so far, Helix Player is successful in those +cases.

+ +

What Is It?

+

HelixPlayer --- installable on modern Linux +distributions as hxplay from package +HelixPlayer is the community-supported version of +RealPlayer 10. The well-distributed and documented client, +hxplay +is capable of playing a wide variety of audio and video formats +over HTTP and RTSP/RTP, and specifically, can handle RealPlayer10 +formats which includes support for 5.1 audio.

+ +

A lesser known set of tools available from Helix --- +Helix DNA Client is a bare-bones UI-less player which can be +used effectively at the shell. You can download pre-built +binaries for your flavor of Linux (GCC3.2 or later vs GCC 2.95 +based systems) +note that these are +nightly builds. You can also download a source zip archive. Note +that all of these requires you to accept a + End Users License Agreement (EULA) +before being taken to the download link.

+

The links on the page above can be confusing; Here are +pointers to the specific packages you need to grab if you want a +player that has all of the functionality described above.

+
+
Binary
+
+Sep 26, 2006 build for Linux GCC 3.2
+
Sources
+
Source +archive from September 27, 2006
+
+ +

Using The Binary Distribution

+ +

Here is what I did you set up the binary distribution on my +Ubuntu 6.0.6 (Dapper) machine

+ + +

With this setup, you can launch one or more media streams +(both local, as well as remote HTTP/RTSP/RTP streams) +from a shell. +This player successfully plays the BBC Radio4 LW +stream, something mplayer +fails to play on my Ubuntu box.

+ +
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-09-28T07:32:00.000-07:00

Emacspeak, Ubuntu And Software Dectalk

+
+
+

On the positive side with respect to software synthesis, the +Software Dectalk does +work out of the box on Ubuntu --- out of the box that +is if you first install alsa-oss the ALSA->OSS +compatibility layer. +I've updated the Emacspeak speech server for Software Dectalk to +use alsa-oss where available; performance is not as +responsive as the Emacspeak Viavoice server using the native ALSA +APIs, but it's a good backup option.

+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-09-12T20:27:00.000-07:00

Emacspeak 24 On Ubuntu 6

+
+
+

I upgraded my home FC3 machine to Ubuntu 6.0.6 (Dapper) over +the weekend. Here is a short summary for things to watch out for +as an emacspeak user.

+

The Good, The Bad, And The Painful

+ +
+
Good
+
One of my friends helped with the install and it is +remarkably quick when everything works (in my case the Ubuntu LTS +6.0.6 installer had trouble with the NVidea display card and +came up correctly at the third attempt).
+
Bad
+
A one CD install is nice -- but after it you have remarkably +little installed from the perspective of an emacspeak user. You +end up with a very nice GUI but very little else --- the +reasoning being that the average user wont need much more, and +the savvy user can always run apt-get.
+
Bad
+
Worse, Ubuntu does not install openssh-server +--- it limits itself to installing +openssh-client. This means that you cannot bootstrap +yourself by logging in from another machine until you install +openssh-server off the network. If there was one +thing I would ask the Ubuntu maintainers, it would be to rectify +this situation.
+
Painful
+
In my case, the apt suite of tools appeared to +have a problem --- they died saying +/var/lib/dpkg/available: no such file or +directory. Googling showed this to be a known problem with +apt and the fix is to run dselect +update -- but if you're new to Debian/ubuntu, this is +less than obvious.
+
Good
+
Once you overcome the above, apt-get got me +emacspeak-17.0 which was sufficient to let me bootstrap the rest +of the process on my own using my trusted Dectalk Express to +produce speech.
+
Painful
+
Note that you should install tcl8.3 and +tclx8.3 --- rather than the newest (8.4) versions of +these packages. +This is because as of 8.4, the maintainers of those packages no +longer build a stand-alone tcl (extended TCL) +shell. This is something that will have to be handled by +Emacspeak in the future.
+
Good
+
I was able to get everything I needed (and more) installed +using a combination of apt-get and +aptitude.
+
Bad
+
The IBM TTS engine no longer works --- under FC3 and friends, +you needed to install package libstdc++-compat to +get it to work. Well, there is no corresponding package for +Ubuntu/Debian from what I could find out, and pulling in the RPM +for libstdc++-compat, +converting it via alien and installing the result +produces a segfault when you run the TTS engine.
+
Bad
+
For the same reason, the old command-line +trplayer will also not work on Ubuntu 6.0. +This is not as painful --- since mplayer works --- though I had +to build mplayer from source. +It would be nice to create a command-line player on top of the +HelixPlayer code base. +At present, the missing trplayer means that the +etc/rivo.pl provided by emacspeak no longer works. +You can use mplayer to convert +realaudio to mp3; however mplayerdoes +not have a command-line option to specify the duration of +playback, +something that script etc/rivo.pl needs.
+ +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-09-11T07:38:00.000-07:00

Google Archive News Search

+
+
+

To mark the arrival of Google News Archive search, I checked +in a Archive News Search +url-template yesterday morning. To use it, hit +C-e u followed by arc tab and specify +your search term. +

+

The above is checked into the SVN repository at Emacspeak +GoogleCode. +

+ +
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-09-07T10:42:00.000-07:00

Update: Emacspeak On Google Code Hosting

+
+
+

The initial experiment of moving emacspeak development to +Subversion at Google Code Hosting has been largely +successful. After a few bumps along the road, mostly a +consequence of my being new to SVN, things are looking good, and +I have stopped updating the CVS repository on SourceForge.

+

+Some additional goodies as a consequence of the move to SVN:

+ +
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-08-25T17:33:00.000-07:00

Emacspeak Codebase Via Subversion From GoogleCode

+
+
+

+I've checked in the Emacspeak codebase into the Subversion +repository provided by Google Project Hosting +. +The project page is Emacspeak at GoogleCode. +You can find Emacspeak --- complete with its code history going +back to the point where I started using CVS at +Emacspeak SVN +Repository.

+ +

For now, the Emacspeak Web site will continue to live at +Sourceforge; The Emacspeak mailing list will continue to live at +Vassar as before. +To checkout the code from SVN, follow the instructions on + +Emacspeak SVN. +If you run into any hitches in checking out the code, please +report it on the Emacspeak mailing list. Note that you can +anonymous checkout the code from the above location entirely from +the shell command-line without ever having to point a browser at +anything.

+

Emacspeak users presently running out of SourceForge CVS might +want to do an SVN checkout in a separate directory and make sure +things work, in preparation for a permanent switch-over to +svn. Here are the minimal steps you need to perform: +

+ +

Note that +reading these is not a replacement for learning about SVN --- +there is an excellent on-line book available at +SVN Manual.

+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-08-13T17:23:00.000-07:00

Zipping Through Web Pages

+
+
+

Zipping Through Web Pages With Emacspeak/W3

+ +

+I just added an experimental zip through Web pages +shortcut to emacspeak-w3. +The command is called emacspeak-w3-speak-next-block +and is bound to z in all W3 buffers. +It is useful for quickly moving through Web pages that have +logically separate content units in separate blocks +where a block is one of:

+ +

In general this provides an effective means of skimming many +large Web pages.

+ +
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-08-10T07:11:00.000-07:00

Summary Of Emacspeak Features Compared To Other Alternatives

+
+
+
+

Introduction

+

I've received a number of queries asking about the differences +between Emacspeak and Speechdel ---especially given some of the +somewhat confusing assertions made in recent Speechdel release +announcements. I'm posting this article in the hope of clearing +up some of this confusion. +

+

+1 Emacspeak And Speechdel -*- mode:org -*- +

+

+1.1 Background +

+

+Emacspeak speech-enables Emacs by advising core emacs +functionality. Speech services are provided by a simple +Emacspeak speech-server. Additionally, Emacspeak implements +speech-extensions for popular emacs modules --- see the +speech-enabled applications list. +

+

+Emacspeak was first released in 1995, and then (as now), there +was limited speech access to the Linux GUI. Therefore, to be +useful as a complete access solution, Emacspeak has always needed +to enable the user to do everything from within Emacs, not just +regular editing operations. As a case in point, emacspeak users +are probably one of the last remaining communities that use Emacs +for browsing the Web. +

+

+1.2 Speech Dispatcher (SpeechD) +

+

+The idea of SpeechD --- peech Dispatcher as an intermediate layer +between speech clients and TTS engines was first floated sometime +in the late 90's. Such a common layer is a laudible goal but is +something that takes time and effort to get right. Additionally, +you have the challenge of geting existing software e.g., +emacspeak, to abandon their own speech abstraction and +re-implement against a supposedly more generic, but completely +untested and untried intermediate layer. +

+

+The developers of SpeechD initially incorporated some of the +Emacspeak code into an Emacs wrapper (speechdel) that called +SpeechD, but later decided to go their own way -- and present +speechdel is the result. +

+

+Like Emacspeak, speechdel uses Emacs Lisp's advice facility to +add spoken feedback to core editing commands; speech output is +produced by calling out to speech-dispatcher. +

+

+The summary of feature differences between Emacspeak and speechdel in the +next section is from examining the speechdel code-base; I have +not run speechdel since its dependency chain resulting from +speechd was difficult to resolve on my FC3 64bit machine. +

+

+1.3 Emacspeak Features Not Found In SpeechDel +

+
    +
  1. +Emacspeak implements Aural CSS ACSS, and uses it to provides +the aural analog of font-lock. +
  2. +
  3. +Emacspeak provides pronunciation +dictionaries. Pronunciations can be defined on a per-mode, +per-buffer or per-directory basis. Directory and mode +specific pronunciations are persisted across sessions. This +allows Emacspeak to leverage Emacs' intelligence about the +semantics of a given application; thus, you can have +it say "p arrow x" for "p->x" when editing C +code. Per-directory pronunciations are useful for reading +electronic books. Per-buffer pronunciations are useful for +succinctly speaking long lines of shell output e.g. when +compiling complex software. +
  4. +
  5. +By advising core Emacs functionality, Emacs modes work out +of the box with Emacspeak. But in most cases, Emacspeak goes +one step further by providing light-weight speech-modules +that specialize spoken output for a given mode. As an +example, advising next-line to speak the current line is +sufficient to use dired-mode --- but having to listen to +the entire line of dired output is not a pleasant +experience. The dired-specific module in Emacspeak advises +all interactive dired commands to speak the "right" +information. As an another example, GUD interaction +automatically speaks the line of source-code without leaving +the Gud buffer. +
  6. +
  7. +Emacspeak comes with many "Emacs Applets" for performing +tasks that most users would perform outside of +Emacs. Examples include playing CDs, playing multimedia +streams etc. Fortunately, I have not had to write too many +of these since there are always Emacs users other than +myself who also create such Emacs applications --- so where +Emacs applications already exist, I merely speech-enable +them with a small set of advice definitions, and in some +cases add a few additional interactive commands. +
  8. +
  9. +Emacs applications are plentiful for most tasks; one +exception is the Web. Since emacs/w3 development was +abandoned sometime around 1998, I have added significant Web +interaction functionality to Emacspeak using Emacs/W3 as the +basis. Today, a lot of this has also been ported to +Emacs/W3M thanks to other enthusiasts on the Emacspeak +mailing list. Examples include: +
      +
    1. +WebSearch module --- prompts for query and processes +response to focus on the results. +
    2. +
    3. +XSLT pre-processing: Allows pre-processing of complex +pages before rendering via W3. Used to enable smart +screen-scrapers using XPath. +
    4. +
    5. +URL-Tempaltes: Originally motivated by webjump.el, this +provides url templates that enable easy access to a +variety of Web tasks rangig from looking up flight times +to listening to your favorite NPR or BBc show. Think early +cut at a "Web Command Line in the minibuffer". +
    6. +
    +
  10. +
  11. +Customization via Custom, including additional +keymaps. Comes with additional keymap files for the Linux +console to enable hyper, super, and alt prefix +keymaps. +
  12. +
  13. +Module emacspeak-wizards iplements a large collection of +Emacs wizards that enable common tasks that you would +otherwise perform at the shell e.g., checking display status +on a laptop. The additional prefix keymaps come in handy! +
  14. +
+8)Finally, note that all modules (except the core) are loaded +on demand.All code is compiled with byte-compile-dynamic set to +=T= and individual application-specific modules are kept +completely independent of one another. Given the size of the +Emacspeak codebase, this is a pre-requisite for both efficiency +and developer sanity. +

Author: TV Raman +<raman@users.sf.net> +

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-07-23T17:41:00.000-07:00

Emacspeak And Accessible Search Via Google

+
+
+

Google has released an early experiment that favours easy to +read Web content --- +checkout +the relevant Blog post here. +Emacspeak has always had a set of Google Websearch tools --- and +this set has now been enhanced with a shortcut to Accessible Search. +Below, I'll summarize the set of Google Websearch tools in +Emacspeak.

+ +

All Emacspeak Websearch tools are reached via the key-sequence +C-e?. Specific search tools are selected by +single-letter keystrokes following C-e? --- I'll +enumerate some of these below.

+ +
+
i
+
Accessible Search --- Google Web Search that favors +accessible content.
+
g
+
Vanila Google Search.
+
space
+
Google I'm Feeling Lucky --- takes you directly to +the first search hit.
+
n
+
Google News Search.
+
e
+
EmapSpeak Via Google Maps.
+
u
+
Google Usenet Search.
+
+ +

Note that in addition, module +emacspeak-url-template provides a number of Google +tools as smart URLs.

+ +
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-07-20T11:02:00.000-07:00

ALSA And Emacspeak: Closing The Legacy Loop With ALSA-OSS

+
+
+

And now, with ALSA working well with software TTS and +cooperating with ALSA_aware streaming applications +such as mplayer it's time to close the legacy loop +for those few applications that still have the old +OSS API hard-wired.

+

One such useful application is trplayer --- the +command-line real player that has not been updated in +over 4 years. +For the most part, the functionality provided by +trplayer is subsumed by the newer --- and actively +maintained --- mplayer but it's still useful to have +trplayer for times when mplayer hits +gliches with slow-responding RTSP streams.

+

The ALSA way of handling such legacy applications is through +the ALSA OSS emulation layer; Emacspeak now contains a +script etc/atrplayer that invokes +trplayer via aoss. Incidentally for +the more observant Emacspeak user running out of CVS, script +atrplayer is not new; it has been around for about a +year, but until now it used command vsound to stream +the converted audio to command aplay. I needed to do +this until ALSA 1.0.11 since trplayer used to fail +sporadically if run through the AOSS emulation +layer. But those problems now seem to be in the past with the +upgrade to ALSA 1.0.11. As usual with cutting edge technology +like ALSA, your mileage with all of this will vary; so +let me end with the usual disclaimer --- if it breaks, you get to +keep both pieces.

+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-06-23T22:28:00.000-07:00

SpeakFreely, Software TTS And ALSA

+
+
+

+In ALSA +and ASYM +I mentioned that speakfreely appeared to have +stopped working. +As it turns out, this had nothing to do with the switch to +ASYM. I believe that in the past I had run speakfreely by first +killing software TTS --- since by default +speakfreely uses OSS.

+

Getting speakfreely working with ALSA without +losing software TTS required the following steps;

+
    +
  1. Retrieve the latest tarball +speak_freely-7.6a.tar.gz
  2. +
  3. Uncomment the ALSA specific line in its +Makefile
  4. +
  5. In file audio_alsa.c, change the default audio +device from plughw:0,0 to default. +Without this change, speakfreely will try to access the sound +card directly; setting it to default +on line 41: +
    +char *devAudioOutput = "default";
    +
    +matches things up with the pcm.default that was +configured in the .asoundrc.
  6. +
+ +

With this, you can now talk using speakfreely and +continue to use software TTS. +

+ + +
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-06-19T07:04:00.000-07:00

Emacspeak, TTS, Alsa And ASYM

+
+
+

+This is a continuation of the earlier thread about using ALSA for +software TTS using DMix --- +see ASoundrc +And Emacspeak.

+ +

I've now updated the CVS version of ASoundRC to +use the ASYM +plugin for the default ALSA device. +The ASYM plugin allows you to configure both the +playback and capture device, which removes the annoyance of +having to specify an ALSA device when calling +arecord --- as used to be the case when using +DMIX in the pcm.default device.

+ +

Possible Caveats: +I am having trouble getting speakfreely to work +reliably --- I've used it with ALSA in the past --- though I'm +not sure if the ASYM plugin is the culprit.

+ + +
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-06-06T17:17:00.000-07:00

ASoundrc Parameters For Reliably Using ALSA Powered Software TTS

+
+
+

+Advanced Linux Sound Architecture + +ALSA is a boon for software TTS users --- you can now use +your soundcard to produce spoken output while not losing +audio output from other applications such as music players and +streaming radio stations.

+

Emacspeak implements an ALSA-enabled TTS server for the IBM +ViaVoice engine --- +using this server effectively requires appropriately tuning the +parameters in the user's asoundrc file to:

+ + +

Depending on how well your sound-card is supported by ALSA, +the above can be either trivially simple or a tedious process of +trial and error. I'm writing this up to:

+ +

For the above, works effectively means the +following:

+ + +

At the end of this entry, you can find the relevant section +from the asoundrc file from the Emacspeak +distribution, with comments indicating which sound cards perform +well. +An example of a card that does not work well with these +settings is the Audigy-LS from Creative; the TTS engine works on +that card, but performs degrades: +

+ +
+  Id: asoundrc,v 1.3 2006/05/23 00:22:16 raman Exp $
+#these numbers work on the following:
+# aplay -l | head 1
+# I82801DBICH4 [Intel 82801DB-ICH4] (IBM Thinkpads)
+# ICH6 [Intel ICH6],
+
+#  default device is a mixer
+
+pcm.!default {
+    type plug
+    slave.pcm "dmixer"
+}
+
+pcm.dmixer  {
+    type dmix
+    ipc_key 1024
+    slave {
+        pcm "hw:0,0"
+        format s16_LE
+        period_time 0
+        period_size 1024
+        buffer_size 4096
+        rate 44100
+    }
+    bindings {
+        0 0
+        1 1
+    }
+}
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-05-22T17:40:00.000-07:00

Listening To The Web Through A Mobile Lens

+
+
+

+The similarities between Web access issues faced +by mobile users and those confronting eyes-free Web browsing are +striking, and these similarities have often been used to advocate +the creation of well-structured, accessible Web content. As an +example of mobile-friendly content +being a blessing for eyes-free spoken access to WebFormation, +Emacspeak provides a +mobile lens via the + +Google Mobile transcoder.

+

+Here are a few convenient means of using the above within the +Emacspeak Audio Desktop:

+ + + +

I use this tool on a regular basis while commuting to work to +browse mainstream news sites, it provides speech-friendly content +that has the added benefit of downloading fast over a wireless +link --- after all, this is Mobile +content. +

+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-05-03T07:38:00.000-07:00

Announcing Emacspeak 24.0 (LiveDog)

+
+
+For Immediate Release +

+ San Jose, CA, (May 3, 2006)
+ Emacspeak-Alive: --- Bringing Live Access For Enlightened Users
+ --Zero cost of ownership makes priceless software + affordable!

+ +

Major Enhancements

+
    +
  1. emacspeak-muse: Speech-enabled Muse Mode
  2. +
  3. emacspeak-ruby: Speech-enabled Ruby Mode
  4. +
  5. emacspeak-m-player: Updated for new MPlayer
  6. +
  7. emacspeak-sudoku.el: Speech-enabled SuDoKu
  8. +
  9. New Option: tts-strip-octals
  10. +
  11. emacspeak-keymap.el Updated keybindings
  12. +
  13. lisp/atom-blogger.el Light-weight blogging tool
  14. +
  15. emacspeak-atom-blogger: Speech-enables above
  16. +
  17. voice-setup.el Custom support
  18. +
  19. Multispeech related patches
  20. +
  21. User contributed patches
  22. +
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-05-02T21:04:00.000-07:00

W3: Minor Patch To Handle Content-Type application/xhtml+xml

+
+
+

+Here is a minor patch to w3.el to allow it to handle content-type +application/xhtml+xml. +For all practical purposes (at least as far as W3 is concerned), +this can be handled by the html parser/renderer; however since that +content-type did not exist at the time W3 was written, it offers +to download/save documents of that type. +The attached patch fixes this, and also adds a fix to a minor +irritant with decoding of multimedia attachments.

+
+Index: w3.el
+===================================================================
+RCS file: /cvsroot/w3/w3/lisp/w3.el,v
+retrieving revision 1.32
+diff -b -c -r1.32 w3.el
+*** w3.el	12 Jan 2003 22:10:25 -0000	1.32
+--- w3.el	11 Mar 2006 02:24:52 -0000
+***************
+*** 34,39 ****
+--- 34,40 ----
+  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+  
+  (require 'w3-sysdp)
++ (eval-when-compile (require 'mm-decode))
+  (require 'w3-cfg)
+  
+  (or (featurep 'efs)
+***************
+*** 325,331 ****
+  				  (mm-handle-media-type handle)))))
+        ;; Fixme: can handle be null?
+        (cond
+!        ((equal (mm-handle-media-type handle) "text/html")
+  	;; Special case text/html if it comes through w3-fetch
+  	(set-buffer (generate-new-buffer " *w3-html*"))
+  	(mm-disable-multibyte)
+--- 326,333 ----
+  				  (mm-handle-media-type handle)))))
+        ;; Fixme: can handle be null?
+        (cond
+!        ((or (equal (mm-handle-media-type handle) "application/xhtml+xml")
+!          (equal (mm-handle-media-type handle) "text/html"))
+  	;; Special case text/html if it comes through w3-fetch
+  	(set-buffer (generate-new-buffer " *w3-html*"))
+  	(mm-disable-multibyte)
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-03-10T18:30:00.000-08:00

Blogging From Emacs: Additional Atom-Blogger Documentation

+
+
+

Thanks to Jason Dunsmore +for writing up some additional + +step-by-step documentation +on using atom-blogger. +

+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-03-08T18:26:00.000-08:00

Emacspeak: Connecting Lynx And W3

+
+
+

Emacs/W3 is still the best Web page rendering option inside +Emacspeak given the ability to apply XSL transforms, as well as +obtaining aural styling via ACSS. +However W3's url handling layer often breaks when faced with +multiple redirects, especially when some of these happen through +the Host: HTTP header. Additionally, +HTTPS authentication sometimes fails mysteriously in +the presence of redirects.

+ +

In many of these cases, lynx happily fetches the +pages correctly; however you're then stuck using a fairly weak +auditory interface in that Emacspeak degrades to being +aterminal level screenreader.

+ +

An effective solution to this problem is to use +lynx within an Emacs terminal, and after finding the +content that is worth reading, handing off that content to +Emacs/W3. The next few paragraphs show how.

+ +

The lynx-site.cfg File

+ +

This is where you add site-specific configurations. +Here are the lines I have in my lynx-site.cfg to +integrate lynx and Emacs. +Before you use any of this, make sure you have executed M-x +server-start in your running Emacs, and make sure that all +is well by experimenting with emacsclient to ensure +that external programs can hand-off editting tasks to the +currently running Emacs.

+ + +
+#site defaults
+#for bookshare:
+DOWNLOADER:BKS Unpack:bks.pl  %s %s:TRUE 
+PRINTER:Edit:emacsclient %s:TRUE
+KEYMAP:???:EDITTEXTAREA	# use external editor to edit a form textarea
+PRETTYSRC:TRUE
+SOURCE_CACHE:MEMORY
+SAVE_SPACE:~/.wget/
+BOLD_HEADERS:TRUE
+PRINTER:W3:emacsclient -e '(w3-open-local "%s")':TRUE
+
+

Below, I'll describe what each of the above lines do:

+ + + +

Script bks-unpack.pl

+
+#!/usr/bin/perl -w
+#$Id: bks.pl,v 1.1 2003/07/04 15:41:55 tvraman Exp tvraman $
+#Description: Bookshare downloader for Lynx
+use strict;
+my $location="$ENV{HOME}/books/book-share";
+my $password = 'xxxxxxx';
+my $grabbed = shift;
+my $target = shift;
+my $dir =qx(basename $target .bks);
+chomp $dir;
+my $where = "$location/$dir";
+qx(mkdir -p $where);
+qx(mv $grabbed  $where/$target);
+chdir $where;
+qx(echo $password | bks-unpack -q $target 1>&- 2>&- &);
+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-02-23T18:58:00.000-08:00

Emacspeak, SuDoKu And History

+
+
+

Here is a small enhancement to playing +SuDoKu in Emacspeak. +The feature is probably generally useful i.e., it's not specific +to eyes-free interaction, +but its presence encourages one to try different solution +strategies.

+

Commands emacspeak-sudoku-history-push bound to +m and emacspeak-sudoku-history-pop +bound to M allow one to mark interesting +states in the game and return to these prior states with a single +keystroke. This means that when one is confronted with one of +two choices, with no apparent additional information on which +route to take, it becomes possible to push that state on to the +history stack, try one of the alternatives and backtrack if necessary.

+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-02-21T18:29:00.000-08:00

Emacspeak And Voice Locking Using Aural CSS

+
+
+ +

This is slightly reformatted from what was posted to the +Emacspeak mailing list as separate message.

+
    +
  1. Emacspeak defines a number of voice overlays such as +voice-bolden, and voice-lighten that can be applied to a +given voice to change what it sounds like.
  2. + +
  3. Voice overlays are defined in terms of Aural CSS (ACSS) to +keep them independent of a specific TTS engine.
  4. + +
  5. For each such overlay there is a corresponding +<overlay-name>-settings variable that can be customized via +custom.
  6. + +
  7. The numbers in voice-bolden-settings as an example:
  8. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SettingValue
familynil
average-pitch1
pitch-range6
stress6
richnessnil
punctuationnil
+Unset values (nil) show up as "unspecified" in the customize +interface. + +
    +
  1. Do not directly customize voice-bolden and friends, instead +customize the corresponding voice-bolden-settings, since that +ensures that all voices that are defined in terms of +voice-bolden get correctly updated.
  2. + +
  3. Discovering what to customize:
  4. +
+ +

Command emacspeak-show-personality-at-point (bound by default +to C-e M-v) will show you the value of properties personality and +face at point. A recent update I implemented last weekend makes +this more useful, so make sure you do a CVS update; earlier this +command used to display the ACSS setting --- now it displays the +abstract name. Describe-variable on these names should tell you +what to customize; so as an example:

+ +

Put point on a comment line, and hit C-e M-v: +you will hear

+ +
+Personality emacspeak-voice-lock-comment-personality
+Face font-lock-comment-delimiter-face
+
+ +

Describe-variable of emacspeak-voice-lock-comment-personality gives:

+ +
+emacspeak-voice-lock-comment-personality's value is acss-p0-s0-all
+
+Documentation:
+Personality used for font-lock-comment-face
+This personality uses  voice-monotone whose  effect can be changed globally by customizing voice-monotone-settings.
+
+
+ + +

How It All Works

+ +

Here is a brief explanation of the connection between +voice-bolden and its associated voice-bolden-settings.

+ + +
    +
  1. Voice settings are initially in voice-bolden-settings which is a list +of numbers.
  2. + +
  3. That list of numbers needs to be translated to appropriate +device-specific codes to send to the TTS engine.
  4. + +
  5. You do not want to do this translation each time you +speak something.
  6. + +
  7. So when voice-bolden is defined, the definition happens in +two steps:
  8. +
+ + + + +

What this gives is:

+ +
    +
  1. The ability to customize the voice via custom by editting +the list of numbers in voice-bolden-settings
  2. + +
  3. When that list is editted, voice-bolden is arranged to be +updated automatically.
  4. +
+

Other Useful Commands

+

In addition, commands +emacspeak-wizards-generate-voice-sampler can be +useful in generating a buffer that shows what the various ACSS +settings sound like. +Command emacspeak-wizards-voice-sampler can be used +to apply a specific voice to a region of text while experimenting +with the various settings.

+ +
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-02-20T17:46:00.000-08:00

Playing SuDoKu Using Auditory Feedback

+
+
+

Emacspeak speech-enables SuDoKu implemented by sudoku.el. +Speech-enabling games is an effective means of discovering what +additions one needs to make to an auditory interface for +working effectively in an eyes-free environment --- this was +aptly demonstrated a few years ago by identifying interesting +conversational gestures by speech-enabling the game of +Tetris --- see Conversational +Gestures For The Audio Desktop from Assets 1998.

+ + +

Advicing Interactive Commands

+

As with speech-enabling any Emacs module, +emacspeak-sudoku advices all interactive +commands to produce spoken feedback. +In addition to speaking the cell moved to, all navigation +commands produce an auditory icon that is a function of whether +the cell value is mutable --- original values cannot be changed +and this is indicated with a distinctive icon.

+ +

Additional Interactive Commands

+ +

Playing SuDoKu effectively requires one to build a good mental +image of the state of the board as well as the ability to +effectively query the game for currently active constraints. The +eye's ability to quickly move around the board and perceive row, +column and sub-square constraints needs to be compensated for in +an eyes-free environment. As an example, it is too difficult to +build the necessary mental model by just listening to the board +spoken aloud, or by listening to idnividual cells by navigating +to them.

+ +

Here are the set of additional interactive commands that +needed to be added in order to be able to play the game +effectively.

+ +
+
r
+
Speak current row.
+
c
+
Speak current column
+
s
+
Speak current sub-square.
+
R
+
Speak number of remaining cells in current row.
+
C
+
Speak number of remaining cells in current column.
+
S
+
Speak number of remaining cells in current sub-square.
+
d
+
Move to the sub-square below the current sub-square.
+
u
+
Move to the sub-square above the current sub-square.
+
n
+
Move to the next sub-square.
+
p
+
Move to the previous sub-square.
+
a
+
Move to the beginning of current row.
+
e
+
Move to the end of the current row.
+
t
+
Move to the top of the current column.
+
b
+
Move to the bottom of the current column.
+
,
+
Speaks information about the overall distribution of +numbers on the board. +
    +
  • d --- Conveys how many instances of each digit +have been filled in.
  • +
  • s --- Conveys number of remaining cells in each +sub-square.
  • +
  • r --- Conveys number of remaining cells in each +row.
  • +
  • c --- Conveys number of remaining cells in each +column.
  • +
+
+
/
+
Speaks number of remaining cells in the current board.
+
.
+
Speaks value in current cell.
+
+ +

Notes on how invormation is spoken:

+ + +

Effectiveness Of The Resulting Interface

+ +

With the above interface in place, the simpler levels of the +game are a breeze, levels difficult and evil +are sufficiently challenging to be fun.

+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-02-11T18:04:00.000-08:00

Browsing Sourceforge Download Servers

+
+
+

Sourceforge is a nice service, but it can also be painful to +use because of the heavy-weight Web page design, and the need to +repeatedly click before you get the download you want.

+

The most irksome of these is the download mechanism provided +by Sourceforge --- where you first need to browse a list of +download servers, pick a mirror, and then download what you +want. +Emacspeak implements a Smart URL that enables one to +download from Sourceforge in a single step.

+

By default, this uses a North American mirror; the behavior +can be customized if outside the US. +Use smart URL Sourceforge Browse Mirror and +specify the name of a SF hosted project when prompted. +This brings up the index page for the project's download area, +sorted by date. Move to the bottom of the page and hit +b to move to the latest available download.

+

The smart URL sets up the W3 buffer with a +context-sensitive download function; when on a download link, hit +C-d +to start downloading. This command will prompt for the URL; +rather than hitting return (which would bring you to +the browse mirrors page, hit M-p to get the +download URL for your SF mirror. +Note that this wizard uses GNU wget to perform the +download +via Emacs module w3-wget.

+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-01-27T20:52:00.000-08:00

BBC Channels On Emacspeak

+
+
+

Since the BBC's various channels are what I listen to the +most, launching BBC channels has always been a couple of +keystrokes in Emacspeak. As a first step, directory +realaudio/radio contains shortcut files for +launching live streams from the various BBC channels.

+

+In addition, module emacspeak-url-template defines a +number of Smart URLs for single-click access to BBC +programs. The ones I use the most are:

+ + +

+These smart URLs prompt for the channel or genre +respectively and bring up a Web page that lists the various shows +that are available --- note that the BBC archives shows for a +whole week. +The resulting Web page is easy to browse in W3; the most +effective way to skim the buffer is to repeatedly hit +i which moves through the various items on the page. +Hitting e e (that's the letter e +twice) while on a hyperlink will launch the +corresponding media stream by calling a context-aware +command that knows about transforming the URL to one that +accesses the program stream; --- note that simply following the +hyperlink will get you first to a page about the program, rather +than to the program stream itself.

+

To find out what channels and genres are available, browse the +BBC Web site --- channel and genre names are not hard-wired into +Emacspeak since these can change over time with channels and +genres being added or renamed.

+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-01-27T20:43:00.000-08:00

Emacspeak World Clock For Timezone Travel

+
+
+

Command emacspeak-speak-time bound to C-e +t speaks the current time. +An additional convenience offered by this keystroke is to get the +time at a specified time zone using Emacs' completion +facility.

+

To use this feature, simply precede the keystroke with an +interactive prefix arg i.e., use C-u C-e +t. +This will prompt for the timezone in the minibuffer. Using two +C-u C-u will set the default timezone after +speaking the time --- a useful way of avoiding jet-lag as you travel.

+ +
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-01-26T18:28:00.000-08:00

Emacspeak Web Wizards: Obtaining Context From The Calendar

+
+
+

Emacspeak implements a number of smart URLs in +module emacspeak-url-template.el --- see earlier +post on Web +Command Line. Many of these smart URLs prompt +the user for the date, e.g. you can use smart URL +NPR On Demand to play archived NPR shows. +

+

The most intuitive means of specifying a date is of course +using a calendar that functions as a +date-picker, and Emacs has a very powerful built-in +calendar. Emacspeak ties these two together by arranging for +commands that prompt for a date to use the current date +in the Emacs Calendar as the default. So the easiest way to play +NPR Morning Edition for Monday, January 2, 2006 +is to do the following: +

+ + +
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-01-22T11:06:00.000-08:00

Viewing Atom Feeds Within Emacspeak

+
+
+

The most effective way of viewing Atom Feeds in Emacspeak is +to use command emacspeak-atom-display and specifying +the URL of the feed when prompted. Thus, M-x +emacspeak-atom-display RET +http://emacspeak.blogspot.com/atom.xml displays a Web page +generated from the Emacspeak Blog.

+

Notice the following in the generated Web page:

+ +

The above links help you easily create and edit posts to the +Blog if you have write access using commands provided by module +atom-blogger. +Eventually, I may add commands to these hyperlinks to +automatically invoke the appropriate command from +atom-blogger; for now, I find it sufficiently +convenient to copy the URL under point to the +kill-ring and later yank it back into the minibuffer +when prompted by atom-blogger.

+

Finally, note that this and subsequent posts to this Blog will +show up automatically on the Emacspeak +Mailing List at Vassar.

+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-01-17T18:39:00.000-08:00

Viewing Formatted Source Code In Emacs/W3

+
+
+
+

While reading online texts on programming in Python and Ruby, +I noticed that Emacspeak was not announcing indented lines in +preformatted source-code examples, even with audio +indentation turned on. +The reason is that many of these texts use an HTML non-breaking +space for indentation, and though W3 was rendering these +correctly, the default syntax table in W3 had not defined the +resulting octal 240 to be of class +white-space. Consequently, Emacspeak's audio indentation code was +not treating the non-breaking space as white space.

+

I've checked in a patch to emacspeak-w3.el that +modifies the syntax table in w3-mode +by adding the appropriate lines to w3-mode-hook. +

+
+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-01-17T12:30:00.000-08:00

Speech-Enabled ATOM-Blogger

+
+
+

+Module atom-blogger is a light-weight Emacs client +for creating or editting blogger posts using ATOM. +Emacspeak bundles atom-blogger and speech-enables it +via module emacspeak-atom-blogger. +

+

Module emacspeak-setup.el has been updated to set +up the Emacs' load-path to locate package +atom-blogger, so if correctly installed, Emacspeak +users should be able to launch and use atom-blogger +with no further configuration.

+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-01-14T11:46:00.000-08:00

Emacspeak And Ruby

+
+
+

Emacspeak now speech-enables ruby-mode to support developing +Web applications using Ruby On Rails. +I presently use nxml-mode for editing the +.rhtml files, but am looking for an alternative to +using multi-mode or its variants when editing the embedded Ruby +code. +Sadly, one has to turn off nxml-mode's validity +checking while editing .rhtml files --- otherwise it +complains about the <% directives. +

+
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-01-12T06:22:00.000-08:00

Emacspeak Wizard: Recording Audio Streams For Later Playback

+
+
+

+ Emacspeak includes a large collection of wizards implemented in + module emacspeak-wizards.el + One of these ---emacspeak-wizrds-rivo works + hand-in-hand with script etc/rivo.pl + to provide a simple record for later playback + facility that can be used to record live realaudio streams for + future playback. This is useful for listening to live broadcasts + at a more convenient time.

+

Wizard emacspeak-wizrds-rivo prompts for the time + at which to record, the length of the recording, the stream to + record, and the location in which the recording is to be stored. + It then uses command trplayer (text-mode RealPlayer) + with command vsound + to capture the audio stream, and converts the result to MP3 + using command lame. + ToDo: With mplayer now able to play RealAudio + streams, the etc/rivo.pl script should be updated to + use mplayer since this will :

+ +
+ + + + +
[Edit][Self][HTML]
+

T. V. Raman at

2006-01-02T09:49:00.000-08:00

+


T. V. Raman

+

Feed-Level Links

+ + + + + +
[feed][Self][HTML][]
+ + diff -pruN 47.0+dfsg-6/blog-archive/Makefile 49.0+dfsg-1/blog-archive/Makefile --- 47.0+dfsg-6/blog-archive/Makefile 1970-01-01 00:00:00.000000000 +0000 +++ 49.0+dfsg-1/blog-archive/Makefile 2018-05-07 16:55:37.000000000 +0000 @@ -0,0 +1,11 @@ +articles.html: raw.xml + xsltproc ../xsl/atom-view.xsl raw.xml >articles.html + +raw.xml: + wget -O raw.xml 'http://emacspeak.blogspot.com/feeds/posts/default?max-results=1000' + +articles.xml: raw.xml + xmllint raw.xml > articles.xml + +raw: + wget -O raw.xml 'http://emacspeak.blogspot.com/feeds/posts/default?max-results=1000' diff -pruN 47.0+dfsg-6/blog-archive/raw.xml 49.0+dfsg-1/blog-archive/raw.xml --- 47.0+dfsg-6/blog-archive/raw.xml 1970-01-01 00:00:00.000000000 +0000 +++ 49.0+dfsg-1/blog-archive/raw.xml 2018-09-17 08:53:46.000000000 +0000 @@ -0,0 +1,13390 @@ +tag:blogger.com,1999:blog-202800422018-09-17T01:53:46.102-07:00EMACSPEAK The Complete Audio DesktopHere is where I plan to Blog Emacspeak tricks and introduce new features as I implement them.T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comBlogger15611000tag:blogger.com,1999:blog-20280042.post-26292486066263284392018-07-03T14:57:00.001-07:002018-07-03T14:57:26.593-07:00Using Emacs Threads To Execute Commands Asynchronously <div id="content"><h1 class="title">Using Emacs Threads To Execute Commands Asynchronously</h1><div id="outline-container-org817c562" class="outline-2"><h2 id="org817c562"><span class="section-number-2">1</span> Executive Summary</h2><div class="outline-text-2" id="text-1"><p>Emacs 26 has threads for executing functions asynchronously. Emacs<br /> +commands that call an external process and wait for that process to<br /> +finish make a good candidate for asynchronous execution &#x2014; e.g.,<br /> +<code>smtpmail-send-it</code> for sending mail. The arrival of threads provides<br /> +an interesting option for running such commands asynchronously.<br /> +</p></div></div><br /> +<br /> +<div id="outline-container-org3175966" class="outline-2"><h2 id="org3175966"><span class="section-number-2">2</span> First Attempt &#x2014; Custom Async <code>gnus</code> Command</h2><div class="outline-text-2" id="text-2"><p>I initially wrote a custom command for launching <code>gnus</code> asynchronously<br /> +&#x2014; it was a one-line function that ran the following:<br /> +</p><div class="org-src-container"><pre class="src src-emacs-lisp">(make-thread #'gnus) +</pre></div><br /> +<p>The above worked well &#x2014; except when command <code>gnus</code> needed user input<br /> +&#x2014; so I just had to be thoughtful about when I called it. But a few<br /> +weeks later, I wanted the equivalent for function <code>smtpmail-send-it</code><br /> +for sending mail. I almost wrote myself one more command before<br /> +stepping back to create a more generic solution.<br /> +</p></div></div><br /> +<div id="outline-container-org2bc6dcb" class="outline-2"><h2 id="org2bc6dcb"><span class="section-number-2">3</span> One Command To Thread Them All</h2><div class="outline-text-2" id="text-3"><p>I have now defined command <code>emacspeak-wizards-execute-asynchronously</code><br /> +bound to <code>C-' a</code>.<br /> +Note that this command, though part of module <code>emacspeak-wizards</code>, has<br /> +no emacspeak dependencies.<br /> +</p><br /> +<div class="org-src-container"><pre class="src src-emacs-lisp">(<span style="color: #a020f0;">defun</span> <span style="color: #0000ff;">emacspeak-wizards-execute-asynchronously</span> (key) + <span style="color: #8b2252;">"Read key-sequence, then execute its command on a new thread."</span> + (<span style="color: #a020f0;">interactive</span> (list (read-key-sequence <span style="color: #8b2252;">"Key Sequence: "</span>))) + (<span style="color: #a020f0;">let</span> ((l (local-key-binding key)) + (g (global-key-binding key))) + (<span style="color: #a020f0;">cond</span> + ( (commandp l) + (make-thread l) + (message <span style="color: #8b2252;">"Running %s on a new thread."</span> l)) + ((commandp g) + (make-thread g) + (message <span style="color: #8b2252;">"Running %s on a new thread."</span> g)) + (t (<span style="color: #ff0000; font-weight: bold;">error</span> <span style="color: #8b2252;">"%s is not bound to a command."</span> key))))) + +(global-set-key (kbd <span style="color: #8b2252;">"C-' a"</span>) 'emacspeak-wizards-execute-asynchronously) +</pre></div><br /> +<p>With this command bound to <code>C-' a</code>, I can now get rid of my custom<br /> +<code>gnus-async</code> command and its associated key-binding. I already have<br /> +command <code>gnus</code> bound to <code>C-; g</code>, so I can just press <code>C-' a C-; g</code> to<br /> +fetch news/mail asynchronously. <br /> +</p><br /> +<p>Similarly, when sending mail using <code>smtpmail</code> I can press <code>C-' a C-c<br /> +C-c</code> in the <code>*mail*</code> buffer to send mail without Emacs blocking.<br /> +</p></div></div><br /> +<div id="outline-container-orge8a6d79" class="outline-2"><h2 id="orge8a6d79"><span class="section-number-2">4</span> Final Caveats</h2><div class="outline-text-2" id="text-4"><p>Like other asynchronous solutions (see package <code>async</code> for instance)<br /> +one needs to make sure that the command being executed asynchronously<br /> +will not require user input. In the case of package <code>async</code>, the<br /> +asynchronous Emacs will block waiting for input; in the case of<br /> +<code>make-thread</code>, Emacs enters a blocking loop with the minibuffer<br /> +continuously displaying<br /> +</p><pre class="example">No catch for ... + +</pre><p>The only way to come out is to kill Emacs &#x2014; so make sure to use<br /> +command <code>emacspeak-wizards-execute-asynchronously</code> only when you're<br /> +sure that the command being run asynchronously will not require user <br /> +input.<br /> +</p></div></div></div><div id="postamble" class="status"><p class="date">Date: 2018-07-03 Tue 00:00</p><p class="author">Author: T.V Raman</p><p class="date">Created: 2018-07-03 Tue 14:37</p><p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p></div></body><br /> +</html><br /> +T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-28676978572455956942018-06-22T14:47:00.001-07:002018-06-25T08:55:34.131-07:00Effective Suggest And Complete In An Eyes-Free Environment <div id="content"><h1 class="title">Effective Suggest And Complete In An Eyes-Free Environment</h1><div id="outline-container-orgf9cdbd5" class="outline-2"><h2 id="orgf9cdbd5"><span class="section-number-2">1</span> Executive Summary</h2><div class="outline-text-2" id="text-1"><p>Emacs has always provided a wealth of techniques for rapid keyboard<br /> +input (abbrev, dabbrev, hippie-expandand completion come to mind)<br /> +alongside a rich collection of tools for navigating among open<br /> +buffers. And these affordances have significantly increased over the<br /> +last few years with the arrival of packages like <code>ido</code>, <code>company</code>,<br /> +<code>helm</code> etc., each replete with different strategies for rapid task<br /> +completion such as flex and fuzzy matching. This article investigates<br /> +these tools in an eyes-free environment, specifically in the context<br /> +of Emacspeak and rapid task completion. I've not investigated every<br /> +possible package in this space &#x2014; instead, I've picked a collection<br /> +of packages and techniques that have worked well in an eyes-free<br /> +context. Finally, the ultimate metric I use in each case is the time<br /> +to successful task completion &#x2014; since at the end of the day, that's<br /> +the only metric that counts when it comes to user productivity.<br /> +</p></div></div><br /> +<div id="outline-container-org03a5b2e" class="outline-2"><h2 id="org03a5b2e"><span class="section-number-2">2</span> Terminology</h2><div class="outline-text-2" id="text-2"><p>For this article, I will use terms <i>suggestion</i> and <i>completion</i> to<br /> +mean subtly different concepts. I'll also use terms <i>explore</i> and<br /> +<i>filter</i> in describing various phases in user interaction.<br /> +</p><br /> +<dl class="org-dl"><dt>Suggestion</dt> +<dd>Offer the user some <i>suggestions</i> that help explore the space of choices. (metaphor: avoid the blank sheet of paper syndrome).</dd> +<dt>Completion </dt> +<dd>Filter the available choices based on user input with the goal of reaching the target as rapidly as possible.</dd> +<dt>Explore </dt> +<dd>User does not necessarily know what he is looking for, but expects to be able to <i>recognize</i> what he wants from the displayed choices.</dd> +<dt>Target </dt> +<dd>User knows exactly what he wants, e.g., filename, or function-name, but would still like to get there with the fewest possible number of keystrokes, along with the needed memory aids to guide the decision.</dd> </dl><br /> +<br /> +<p>Note that in practice, <i>suggestions</i> and <i>completions</i> work<br /> +hand-in-hand, with the visual display playing a central role in<br /> +guiding the user through the pace of available choices. In a typical<br /> +user interaction session, the space of suggestions gets filtered by<br /> +user input to produce the available completions (choices) for the next<br /> +round of user input &#x2014; think of this as a<br /> +<b>Suggest/Input/Filter/Target</b> (SIFT) interaction loop. Similarly, <i>explore</i> and<br /> +<i>target</i> type activities typically go hand-in-hand, with <i>explore</i><br /> +serving as a memory-aid for locating the <i>target</i>.<br /> +</p></div></div><br /> +<br /> +<div id="outline-container-org5333515" class="outline-2"><h2 id="org5333515"><span class="section-number-2">3</span> Tasks Where Suggestions And Completions Help Speed Up Task Completion</h2><div class="outline-text-2" id="text-3"><p>Here are exemplars of tasks that I perform often and where I require<br /> +all the help that Emacs can provide in completing the task as rapidly<br /> +as possible:<br /> +</p><br /> +<dl class="org-dl"><dt>File Navigation </dt> +<dd>Navigating to and opening a file &#x2014; either code or prose.</dd> +<dt>Content Navigation</dt> +<dd>Jump to a specific location (section, function, class/method, or pattern-match) in that file.</dd> +<dt>Buffer Navigation</dt> +<dd>Jump to an already open buffer in a long-running Emacs.</dd> </dl><p>If that buffer existed &#x2014; but has since been killed (by<br /> +<code>midnight</code> for example), then re-open that buffer.<br /> +I do <b>everything</b> in Emacs, so open buffers include a large<br /> +number of ORG and LaTeX documents, Web Pages opened in EWW <br /> +(news sites, documentation, blog articles), IM Chats (I use<br /> +<code>jabber</code>), Mail Buffers &#x2014; both open folders and previously<br /> +sent messages, and much, much more.<br /> +</p><dl class="org-dl"><dt>Media</dt> +<dd>Easily launch media streams including local and streaming media.</dd> +<dt>EBooks</dt> +<dd>Open (or jump to an already open) EBook to continue reading.</dd> +<dt>Code Completion</dt> +<dd>Complete function/method-name as I type, with an easy affordance to move among the available choices. The <b>Suggest/Input/Filter/Target</b> interaction loop applies here as well.</dd> </dl><br /> +<br /> +<p>Notice that as one performs all of these tasks, <b>every target</b> is an<br /> +Emacs buffer or Emacs buffer location. In the case of completion, the<br /> +target is a string that gets inserted at the current location.<br /> +</p></div></div><br /> +<div id="outline-container-org63d149a" class="outline-2"><h2 id="org63d149a"><span class="section-number-2">4</span> Features Of Eyes-Free Interaction</h2><div class="outline-text-2" id="text-4"><p>Using spoken output &#x2014; as opposed to a rich visual display &#x2014; has<br /> +the following special features and/or drawbacks:<br /> +</p><br /> +<ol class="org-ol"><li>A large visual display can offer the user many choices at a time,<br /> +and the eye's ability to rapidly scan these choices makes for an<br /> +extremely fast <b>Suggest/Input/Filter/Target</b> loop. As an example, an<br /> +interface like <code>helm</code> can display a large number of initial<br /> +choices, with the user filtering these down with a few strategic key-presses.</li> +<li>Spoken output takes time &#x2014; and there is simply no way around<br /> +this &#x2014; speeding up speech-rate helps to a point, but speaking<br /> +50 choices very fast does not help the user in the <i>explore</i><br /> +phase. This means that effective filtering and ranking of the available<br /> +choices takes on added importance.</li> +<li>More importantly, picking a <b>Suggest/Input/Filter/Target</b> (SIFT)<br /> +interaction loop that depends on a large display is sub-optimal<br /> +for eyes-free interaction.</li> +<li>Given (2,3), smart filtering, flex/fuzzy matching, and ranking<br /> +based on past user behavior take on added importance in an<br /> +eyes-free environment. As an aside, I have high hopes in this<br /> +area for package <code>prescient</code> &#x2014; though in my few days of usage,<br /> +it has yet to make a difference in my productivity.</li> +<li>For many of the tasks enumerated in the previous section, (2, 3<br /> +and 4) make <code>ido</code> with flex and fuzzy matching extremely<br /> +effective. In contrast, <code>helm</code> with similar flex and fuzzy<br /> +matching (via packages <code>helm-flx</code> and <code>helm-fuzzier</code>) adds little<br /> +extra benefit &#x2014; and the fractional extra time to compute and<br /> +display the choices can even lead to a minor productivity hit.</li> +<li>When it comes to writing code with completion, package <code>company</code><br /> +has proven extremely effective. Notice that when writing code,<br /> +one rarely if ever resorts to <b>fuzzy</b> matching &#x2014; this may well<br /> +be subjective. Speaking for myself, I cannot think of function<br /> +or method names in the context of fuzzy matching &#x2014; said<br /> +differently, it's hard to think <code>xl</code> for function-name<br /> +<code>next-line</code> &#x2014; even though in a given filtering context, <code>xl</code><br /> +might define the shortest path through the available choices to<br /> +the target <code>next-line</code>. Given this, emacspeak implements a<br /> +<code>company front-end</code> that allows the user to navigate through the<br /> +available choices with succinct spoken feedback, and I use those<br /> +choices only after I have typed sufficiently many characters to<br /> +have a manageable number of choices &#x2014; said differently, though<br /> +package <code>company</code> is set up to trigger after 3 characters have<br /> +been typed, I usually end up typing more &#x2014; and often resort to<br /> +<code>dabbrev</code> or <code>hippee-expand</code> to input this longer prefix.</li> +<li>Some of the shortcomings with eyes-free interaction enumerated<br /> +above lead to my looking for effective work-arounds that might<br /> +well work well outside the eyes-free context, e.g. when the<br /> +available choices are too large to fit on a typical visual<br /> +display. Interestingly, most of these have also been solved by<br /> +mainstream Emacs developers in their never-ending/unerring quest for increased<br /> +productivity &#x2014; package <code>ido</code> and <code>company</code> are excellent exemplars.</li> +</ol><br /> +<br /> +<ul class="org-ul"><li>Mapping Solutions To Tasks</li> +</ul><br /> +<p>This section maps the various solutions I use to speed up the tasks<br /> +enumerated earlier in this article.<br /> +</p></div><br /> +<div id="outline-container-org35ff442" class="outline-3"><h3 id="org35ff442"><span class="section-number-3">4.1</span> File And Buffer Navigation</h3><div class="outline-text-3" id="text-4-1"><p>I use package <code>ido</code> with add-ons <code>flx-ido</code> and <code>ido-completing-read+</code><br /> +(formerly <code>ido-ubiquitous</code>) as my primary/only solution for this<br /> +task. I've dabbled with package <code>helm</code> &#x2014; primarily via command<br /> +<code>helm-mini</code> but have found almost no use-cases where I did better with<br /> +<code>helm</code>. I also use command <code>org-switchb</code> to quickly jump to any of my<br /> +open <code>org</code> buffers &#x2013; since that automatically filters the choices<br /> +down for me &#x2014; I can then get to the <code>org-mode</code> buffer I want with<br /> +one or two keystrokes. Notice that in all of these cases, I'm relying<br /> +on the fact that I mostly know what I want, i.e., the <i>explore</i> phase<br /> +does not start with an entirely blank sheet of paper.<br /> +</p></div></div><br /> +<div id="outline-container-org99ad4ed" class="outline-3"><h3 id="org99ad4ed"><span class="section-number-3">4.2</span> Content Navigation</h3><div class="outline-text-3" id="text-4-2"><p>Incremental search is your biggest and most effective friend in<br /> +effective eyes-free interaction &#x2014; this simply cannot be stressed<br /> +enough. That <b>everything</b> in Emacs is <i>searchable</i> via<br /> +incremental-search is a big win for eyes-free interaction. When you<br /> +have a large visual display, the human eye is the search interface of<br /> +first resort &#x2013; you typically use a <i>search-command</i> only if the<br /> +target is <i>below the fold</i> or far away from the cursor. Because spoken<br /> +output takes time, I use <i>isearch</i> even when the target is one or two<br /> +lines away.<br /> +</p><br /> +<p>Structured navigation comes next in my toolbox for navigating content<br /> +&#x2014; <code>imenu</code> for code, and section navigation for documents (org,<br /> +LaTeX). I also use command <code>occur</code> to advantage since that provides a<br /> +quick way of finding all the desired targets in a document. Given that<br /> +program source-code uses indentation for displaying structure,<br /> +hbuilt-in command <code>selective-display</code> remains one of Emacs' hidden<br /> +treasures with respect to expanding/collapsing source-code.<br /> +</p><br /> +<p>Finally, I<br /> +use a combination of <code>isearch</code> and <code>structured navigation</code> in<br /> +<code>org-mode</code> buffres by collapsing the document, and then using<br /> +<code>isearch</code> to reveal the desired content fragment.<br /> +In the case of <code>LaTeX</code> documents, I use package <code>reftex</code> to<br /> +generate a <i>navigation</i> buffer that functions as an interactive table<br /> +of contents. <br /> +</p></div></div><br /> +<div id="outline-container-org0537c43" class="outline-3"><h3 id="org0537c43"><span class="section-number-3">4.3</span> Locating And Playing Media</h3><div class="outline-text-3" id="text-4-3"><ol class="org-ol"><li>I keep all my music content organized under <code>~/mp3</code>.</li> +<li>I keep playlist files that contain stream-links to my favorite<br /> +Internet streams under <code>emacspeak/media</code>.</li> +<li>The afore-mentioned techniques using <code>ido</code> enables me to launch<br /> +local and streaming media with a small number of keystrokes. Once<br /> +selected, the content is played via package <code>emacspeak-m-player</code><br /> +which provides Emacs bindings to all <code>mplayer</code> functionality<br /> +via that program's <code>slave-mode</code>. In addition, Emacspeak also<br /> +implements a smart <code>emacspeak-m-player-locate-media</code> which uses<br /> +Emacs' integration with command <code>locate</code> to turn the located<br /> +files matching a given pattern into an interactive play-list.</li> +</ol></div></div><br /> +<div id="outline-container-org7595f5c" class="outline-3"><h3 id="org7595f5c"><span class="section-number-3">4.4</span> EBooks</h3><div class="outline-text-3" id="text-4-4"><p>Jumping to already open ebooks is no different than buffer<br /> +navigation. I organize all my ebooks under a single directory<br /> +tree, and module <code>emacspeak-epub</code> implements a <i>bookshelf</i> that<br /> +allows me to organize and browse my collection along various<br /> +axies. Finally, Emacspeak implements a light-weight bookmark<br /> +facility that works with <code>eww</code> so that I can save my place in an<br /> +ebook across Emacs sessions.<br /> +</p></div></div><br /> +<div id="outline-container-org17ce1a8" class="outline-3"><h3 id="org17ce1a8"><span class="section-number-3">4.5</span> Code Completion</h3><div class="outline-text-3" id="text-4-5"><p>As covered earlier, I use <code>company</code> along with <code>dabbrev</code> and<br /> +<code>hippee-expand</code> while writing code. I also use <code>yasnippet</code> to<br /> +generate skeleton code. I use <code>auto-correct-mode</code> to<br /> +automatically correct repeated errors, and add abbrevs for<br /> +commonly occurring typos. <br /> +</p></div></div></div><br /> +<div id="outline-container-org039aec8" class="outline-2"><h2 id="org039aec8"><span class="section-number-2">5</span> Summary</h2><div class="outline-text-2" id="text-5"><ol class="org-ol"><li>Emacs' <b>Suggest/Input/Filter/Target</b> (SIFT) interaction loop is just as<br /> +effective in eyes-free interaction &#x2014; in fact more so .</li> +<li>Fuzzy matching when filtering is a big win when working with spoken<br /> +output &#x2014; it leads to faster task completion.</li> +<li>Navigating ones computing environment based on the underlying<br /> +structure and semantics of electronic content is a major win &#x2014;<br /> +both when working with a visual or spoken display. The advantages<br /> +just become evident far sooner in the eyes-free context due to the<br /> +inherently temporal nature of spoken interaction.</li> +</ol></div></div></div><div id="postamble" class="status"><p class="date">Date: 2018-06-22 Fri 00:00</p><p class="author">Author: T.V Raman</p><p class="date">Created: 2018-06-23 Sat 17:22</p><p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p></div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-14660000854217332222018-05-03T13:38:00.004-07:002018-05-03T13:38:58.991-07:00Emacspeak 48.0 (ServiceDog) Unleashed!<div id="content"><h1 class="title">Emacspeak 48.0—ServiceDog—Unleashed!</h1><p>*For Immediate Release:<br /> +</p><br /> +<p>San Jose, Calif., (May 04, 2018)<br /> +</p><br /> +<p>Emacspeak 48.0 (ServiceDog): <br /> +Redefining Accessibility In The Age Of User-Aware Interfaces<br /> +&#x2013;Zero cost of Ownership makes priceless software Universally affordable!<br /> +</p><br /> +<p>Emacspeak Inc (NASDOG: ESPK) &#x2014; <a href="http://github.com/tvraman/emacspeak">http://github.com/tvraman/emacspeak</a><br /> +&#x2014; announces the immediate world-wide availability of <a href="https://github.com/tvraman/emacspeak/releases/download/44.0/emacspeak-45.0.tar.bz2">Emacspeak 48.0</a><br /> +(ServiceDog) &#x2014; a powerful audio desktop for leveraging today's<br /> +evolving Data, Social and Assistant-Oriented Internet cloud.<br /> +</p><br /> +<div id="outline-container-org11dddeb" class="outline-2"><h2 id="org11dddeb"><span class="section-number-2">1</span> Investors Note:</h2><div class="outline-text-2" id="text-1"><p>With several prominent tweeters expanding coverage of <span class="underline">#emacspeak</span>,<br /> +NASDOG: ESPK has now been consistently trading over the social net at<br /> +levels close to that once attained by DogCom high-fliers—and as of<br /> +May <br /> +2018 is trading at levels close to that achieved by once better known<br /> +stocks in the tech sector.<br /> +</p></div></div><br /> +<div id="outline-container-orgb7d03b7" class="outline-2"><h2 id="orgb7d03b7"><span class="section-number-2">2</span> What Is It?</h2><div class="outline-text-2" id="text-2"><p>Emacspeak is a fully functional audio desktop that provides complete<br /> +eyes-free access to all major 32 and 64 bit operating environments. By<br /> +seamlessly blending live access to all aspects of the Internet such as<br /> +ubiquitous assistance, Web-surfing, blogging, social computing and<br /> +electronic messaging into the audio desktop, Emacspeak enables speech<br /> +access to local and remote information with a consistent and<br /> +well-integrated user interface. A rich suite of task-oriented tools<br /> +provides efficient speech-enabled access to the evolving<br /> +assistant-oriented social Internet cloud.<br /> +</p></div></div><br /> +<div id="outline-container-org4c48116" class="outline-2"><h2 id="org4c48116"><span class="section-number-2">3</span> Major Enhancements:</h2><div class="outline-text-2" id="text-3"><p>This version <b>requires</b> emacs-25.1 or later. <br /> +</p><ol class="org-ol"><li>Emacs 26 Support 🤻</li> +</ol><ol class="org-ol"><li>Locate And Play Media ᭳</li> +<li>Updated EPub Support 🕮</li> +<li>Updated Outloud TTS Server 💬</li> +<li>Espeak-NG support📢</li> +<li>Smart TTS Prompts 🙊</li> +<li>DBus Integration including screenlock via Gnome-ScreenSaver 🚌</li> +<li>MPlayer And Equalizer Presets ≝</li> +<li>VLC front-end 🎹</li> +<li>Updated URL templates 🕷</li> +<li><p>Updated websearch wizards 🕸<br /> +</p><br /> +<p>— And a lot more than will fit this margin. … 🗞<br /> +</p></li> +</ol></div></div><br /> +<br /> +<div id="outline-container-org4103fc9" class="outline-2"><h2 id="org4103fc9"><span class="section-number-2">4</span> Establishing Liberty, Equality And Freedom:</h2><div class="outline-text-2" id="text-4"><p> Never a toy system, Emacspeak is voluntarily bundled with all<br /> +major Linux distributions. Though designed to be modular,<br /> +distributors have freely chosen to bundle the fully integrated<br /> +system without any undue pressure—a documented success for<br /> +the integrated innovation embodied by Emacspeak. As the system<br /> +evolves, both upgrades and downgrades continue to be available at<br /> +the same zero-cost to all users. The integrity of the Emacspeak<br /> +codebase is ensured by the reliable and secure Linux platform<br /> +used to develop and distribute the software.<br /> +</p><br /> +<p>Extensive studies have shown that thanks to these features, users<br /> +consider Emacspeak to be absolutely priceless. Thanks to this<br /> +wide-spread user demand, the present version remains priceless<br /> +as ever—it is being made available at the same zero-cost as<br /> +previous releases.<br /> +</p><br /> +<p>At the same time, Emacspeak continues to innovate in the area of<br /> +eyes-free Assistance and social interaction and carries forward the<br /> +well-established Open Source tradition of introducing user interface<br /> +features that eventually show up in luser environments.<br /> +</p><br /> +<p>On this theme, when once challenged by a proponent of a crash-prone<br /> +but well-marketed mousetrap with the assertion "Emacs is a system from<br /> +the 70's", the creator of Emacspeak evinced surprise at the unusual<br /> +candor manifest in the assertion that it would take popular<br /> +idiot-proven interfaces until the year 2070 to catch up to where the<br /> +Emacspeak audio desktop is today. Industry experts welcomed this<br /> +refreshing breath of Courage Certainty and Clarity (CCC) at a time<br /> +when users are reeling from the Fear Uncertainty and Doubt (FUD)<br /> +unleashed by complex software systems backed by even more convoluted<br /> +press releases.<br /> +</p></div></div><br /> +<div id="outline-container-orgac4d362" class="outline-2"><h2 id="orgac4d362"><span class="section-number-2">5</span> Independent Test Results:</h2><div class="outline-text-2" id="text-5"><p>Independent test results have proven that unlike some modern (and<br /> +not so modern) software, Emacspeak can be safely uninstalled without<br /> +adversely affecting the continued performance of the computer. These<br /> +same tests also revealed that once uninstalled, the user stopped<br /> +functioning altogether. Speaking with Aster Labrador, the creator of<br /> +Emacspeak once pointed out that these results re-emphasize the<br /> +user-centric design of Emacspeak; “It is the user &#x2013;and not the<br /> +computer&#x2013; that stops functioning when Emacspeak is uninstalled!”.<br /> +</p></div><br /> +<div id="outline-container-orgdbf9c39" class="outline-3"><h3 id="orgdbf9c39"><span class="section-number-3">5.1</span> Note from Aster,Bubbles and Tilden:</h3><div class="outline-text-3" id="text-5-1"><p>UnDoctored Videos Inc. is looking for volunteers to star in a<br /> +video demonstrating such complete user failure.<br /> +</p></div></div></div><br /> +<div id="outline-container-orgd1155b1" class="outline-2"><h2 id="orgd1155b1"><span class="section-number-2">6</span> Obtaining Emacspeak:</h2><div class="outline-text-2" id="text-6"><p>Emacspeak can be downloaded from GitHub &#x2013;see<br /> +<a href="https://github.com/tvraman/emacspeak">https://github.com/tvraman/emacspeak</a> you can visit Emacspeak on the<br /> +WWW at <a href="http://emacspeak.sf.net">http://emacspeak.sf.net</a>. You can subscribe to the emacspeak<br /> +mailing list — emacspeak@cs.vassar.edu — by sending mail to the<br /> +list request address emacspeak-request@cs.vassar.edu. The <a href="http://emacspeak.blogspot.com">Emacspeak<br /> +Blog</a> is a good source for news about recent enhancements and how to<br /> +use them.<br /> +</p><br /> +<p>The latest development snapshot of Emacspeak is always available via<br /> +Git from GitHub at <br /> +<a href="https://github.com/tvraman/emacspeak">Emacspeak GitHub </a>.<br /> +</p></div></div><br /> +<div id="outline-container-org04a81b9" class="outline-2"><h2 id="org04a81b9"><span class="section-number-2">7</span> History:</h2><div class="outline-text-2" id="text-7"><ul class="org-ul"><li>Emacspeak 48.0 (ServiceDog) builds on earlier releases to provide<br /> +continued end-user value.</li> +<li>Emacspeak 47.0 (GentleDog) goes the next step in being helpful<br /> +while letting users learn and grow.</li> +<li>Emacspeak 46.0 (HelpfulDog) heralds the coming of Smart Assistants.</li> +<li>Emacspeak 45.0 (IdealDog) is named in recognition of Emacs'<br /> +excellent integration with various programming language<br /> +environments &#x2014; thanks to this, Emacspeak is the IDE of choice<br /> +for eyes-free software engineering.</li> +<li>Emacspeak 44.0 continues the steady pace of innovation on the<br /> +audio desktop.</li> +<li>Emacspeak 43.0 brings even more end-user efficiency by leveraging the<br /> +ability to spatially place multiple audio streams to provide timely<br /> +auditory feedback.</li> +<li>Emacspeak 42.0 while moving to GitHub from Google Code continues to<br /> +innovate in the areas of auditory user interfaces and efficient,<br /> +light-weight Internet access.</li> +<li>Emacspeak 41.0 continues to improve <br /> +on the desire to provide not just equal, but superior access —<br /> +technology when correctly implemented can significantly enhance the<br /> +human ability.</li> +<li>Emacspeak 40.0 goes back to Web basics by enabling<br /> +<a href="http://emacspeak.blogspot.com/2013/11/reading-web-content-efficiently.html">efficient access</a> to large amounts of readable Web content.</li> +<li>Emacspeak 39.0 continues the Emacspeak tradition of increasing the breadth of<br /> +user tasks that are covered without introducing unnecessary<br /> +bloatware.</li> +<li>Emacspeak 38.0 is the latest in a series of award-winning<br /> +releases from Emacspeak Inc.</li> +<li>Emacspeak 37.0 continues the tradition of<br /> +delivering robust software as reflected by its code-name.</li> +<li>Emacspeak 36.0 enhances the audio desktop with many new tools including full<br /> +EPub support — hence the name EPubDog.</li> +<li>Emacspeak 35.0 is all about<br /> +teaching a new dog old tricks — and is aptly code-named HeadDog in<br /> +on of our new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles)<br /> +established a new beach-head with respect to rapid task completion in<br /> +an eyes-free environment.</li> +<li>Emacspeak-33.0 AKA StarDog brings<br /> +unparalleled cloud access to the audio desktop.</li> +<li>Emacspeak 32.0 AKA<br /> +LuckyDog continues to innovate via open technologies for better<br /> +access.</li> +<li>Emacspeak 31.0 AKA TweetDog — adds tweeting to the Emacspeak<br /> +desktop.</li> +<li>Emacspeak 30.0 AKA SocialDog brings the Social Web to the<br /> +audio desktop—you cant but be social if you speak!</li> +<li>Emacspeak 29.0—AKAAbleDog—is a testament to the resilliance and innovation<br /> +embodied by Open Source software—it would not exist without the<br /> +thriving Emacs community that continues to ensure that Emacs remains<br /> +one of the premier user environments despite perhaps also being one of<br /> +the oldest.</li> +<li>Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of<br /> +development evinced by Open Source software.</li> +<li>Emacspeak 27.0—AKA<br /> +FastDog—is the latest in a sequence of upgrades that make previous<br /> +releases obsolete and downgrades unnecessary.</li> +<li>Emacspeak 26—AKA<br /> +LeadDog—continues the tradition of introducing innovative access<br /> +solutions that are unfettered by the constraints inherent in<br /> +traditional adaptive technologies.</li> +<li>Emacspeak 25 —AKA ActiveDog<br /> +—re-activates open, unfettered access to online<br /> +information.</li> +<li>Emacspeak-Alive —AKA LiveDog —enlivens open, unfettered<br /> +information access with a series of live updates that once again<br /> +demonstrate the power and agility of open source software<br /> +development.</li> +<li>Emacspeak 23.0 &#x2014; AKA Retriever—went the extra mile in<br /> +fetching full access.</li> +<li>Emacspeak 22.0 —AKA GuideDog —helps users<br /> +navigate the Web more effectively than ever before.</li> +<li>Emacspeak 21.0<br /> +—AKA PlayDog —continued the <br /> +Emacspeak tradition of relying on enhanced<br /> +productivity to liberate users.</li> +<li>Emacspeak-20.0 —AKA LeapDog —continues<br /> +the long established GNU/Emacs tradition of integrated innovation to<br /> +create a pleasurable computing environment for eyes-free<br /> +interaction.</li> +<li>emacspeak-19.0 &#x2013;AKA WorkDog&#x2013; is designed to enhance<br /> +user productivity at work and leisure.</li> +<li>Emacspeak-18.0 &#x2013;code named<br /> +GoodDog&#x2013; continued the Emacspeak tradition of enhancing user<br /> +productivity and thereby reducing total cost of<br /> +ownership.</li> +<li>Emacspeak-17.0 &#x2013;code named HappyDog&#x2013; enhances user<br /> +productivity by exploiting today's evolving WWW<br /> +standards.</li> +<li>Emacspeak-16.0 &#x2013;code named CleverDog&#x2013; the follow-up to<br /> +SmartDog&#x2013; continued the tradition of working better, faster,<br /> +smarter.</li> +<li>Emacspeak-15.0 &#x2013;code named SmartDog&#x2013;followed up on TopDog<br /> +as the next in a continuing series of award-winning audio desktop<br /> +releases from Emacspeak Inc.</li> +<li>Emacspeak-14.0 &#x2013;code named TopDog&#x2013;was</li> +</ul><p>the first release of this millennium. <br /> +</p><ul class="org-ul"><li>Emacspeak-13.0 &#x2013;codenamed<br /> +YellowLab&#x2013; was the closing release of the<br /> +20th. century.</li> +<li>Emacspeak-12.0 &#x2013;code named GoldenDog&#x2013; began<br /> +leveraging the evolving semantic WWW to provide task-oriented speech<br /> +access to Webformation.</li> +<li>Emacspeak-11.0 &#x2013;code named Aster&#x2013; went the<br /> +final step in making Linux a zero-cost Internet access solution for<br /> +blind and visually impaired users.</li> +<li>Emacspeak-10.0 &#x2013;(AKA<br /> +Emacspeak-2000) code named WonderDog&#x2013; continued the tradition of<br /> +award-winning software releases designed to make eyes-free computing a<br /> +productive and pleasurable experience.</li> +<li>Emacspeak-9.0 &#x2013;(AKA<br /> +Emacspeak 99) code named BlackLab&#x2013; continued to innovate in the areas<br /> +of speech interaction and interactive accessibility.</li> +<li>Emacspeak-8.0 &#x2013;(AKA Emacspeak-98++) code named BlackDog&#x2013; was a major upgrade to<br /> +the speech output extension to Emacs.</li> +<li>Emacspeak-95 (code named Illinois) was released as OpenSource on<br /> +the Internet in May 1995 as the first complete speech interface<br /> +to UNIX workstations. The subsequent release, Emacspeak-96 (code<br /> +named Egypt) made available in May 1996 provided significant<br /> +enhancements to the interface. Emacspeak-97 (Tennessee) went<br /> +further in providing a true audio desktop. Emacspeak-98<br /> +integrated Internetworking into all aspects of the audio desktop<br /> +to provide the first fully interactive speech-enabled WebTop.</li> +</ul></div></div><br /> +<div id="outline-container-org4e5aa96" class="outline-2"><h2 id="org4e5aa96"><span class="section-number-2">8</span> About Emacspeak:</h2><div class="outline-text-2" id="text-8"><p>Originally based at Cornell (NY) —<br /> +<a href="http://www.cs.cornell.edu/home/raman">http://www.cs.cornell.edu/home/raman</a> —home to Auditory User<br /> +Interfaces (AUI) on the WWW, Emacspeak is now maintained on GitHub<br /> +—<a href="https://github.com/tvraman/emacspeak">https://github.com/tvraman/emacspeak</a>. The system is mirrored<br /> +world-wide by an international network of software archives and<br /> +bundled voluntarily with all major Linux distributions. On Monday,<br /> +April 12, 1999, Emacspeak became part of the <a href="http://tvraman.github.io/emacspeak/blog/smithsonian-study.html">Smithsonian's Permanent<br /> +Research Collection</a> on Information Technology at the Smithsonian's<br /> +National Museum of American History.<br /> +</p><br /> +<p>The Emacspeak mailing list is archived at Vassar &#x2013;the home of the<br /> +Emacspeak mailing list&#x2013; thanks to Greg Priest-Dorman, and provides a<br /> +valuable knowledge base for new users.<br /> +</p></div></div><br /> +<div id="outline-container-org3991921" class="outline-2"><h2 id="org3991921"><span class="section-number-2">9</span> Press/Analyst Contact: Tilden Labrador</h2><div class="outline-text-2" id="text-9"><p>Going forward, Tilden acknowledges his exclusive monopoly on<br /> +setting the direction of the Emacspeak Audio Desktop, and<br /> +promises to exercise this freedom to innovate and her resulting<br /> +power responsibly (as before) in the interest of all dogs.<br /> +</p><br /> +<p>*About This Release:<br /> +</p><hr /><br /> +<p>Windows-Free (WF) is a favorite battle-cry of The League Against<br /> +Forced Fenestration (LAFF). &#x2013;see<br /> +<a href="http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm">http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm</a> for details on<br /> +the ill-effects of Forced Fenestration.<br /> +</p><br /> +<p>CopyWrite )C( Aster, Hubbell and Tilden Labrador. All Writes Reserved.<br /> +HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered<br /> +Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to<br /> +their respective owners.<br /> +</p></div></div></div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-47867873802011976192018-01-08T10:06:00.002-08:002018-01-08T10:06:32.834-08:00Updating Voxin TTS Server To Avoid A Possible ALSA Bug <div dir="ltr" style="text-align: left;" trbidi="on"><div id="content"><h1 class="title">Updating Voxin TTS Server To Avoid A Possible ALSA Bug</h1><div id="outline-container-org1c076f2" class="outline-2"><h2 id="org1c076f2"><span class="section-number-2">1</span> Summary</h2><div class="outline-text-2" id="text-1"><p>I recently updated to a new Linux laptop running the latest Debian<br /> +(Rodete). The upgrade went smoothly, but when I started using the<br /> +machine, I found that the Emacspeak TTS server for Voxin (Outloud)<br /> +crashed consistently; here, consistently equated to crashing on short<br /> +utterances which made typing or navigating by character an extremely<br /> +frustrating experience.<br /> +</p><br /> +<p>I fixed the issue by creating a work-around in the TTS server <br /> +<a href="https://github.com/tvraman/emacspeak/blob/master/servers/linux-outloud/atcleci.cpp#255">atcleci.cpp::xrun</a><br /> +&#x2014; if you run into this issue, make sure to update and rebuild<br /> +atcleci.so from GitHub; alternatively, you'll find an updated<br /> +<code>atcleci.so</code> in the <code>servers/linux-outloud/lib/</code> directory after a<br /> +<span class="underline">git update</span> that you can copy over to your <code>servers/linux-outloud</code><br /> +directory.<br /> +</p></div></div><br /> +<div id="outline-container-org5f59b01" class="outline-2"><h2 id="org5f59b01"><span class="section-number-2">2</span> What Was Crashing</h2><div class="outline-text-2" id="text-2"><p>I use a DMIX plugin as the default device &#x2014; and have many ALSA<br /> +virtual devices that are defined in terms of this device &#x2014; see my <br /> +<a href="https://github.com/tvraman/emacspeak/blob/master/servers/linux-outloud/asoundrc">asoundrc</a>. With this configuration, writing to the ALSA device was<br /> +raising an <span class="underline">EPIPE</span> error &#x2014; normally this error indicates a buffer<br /> +underrun &#x2014; that's when ALSA is starved of audio data. But in many<br /> +of these cases, the ALSA device was still in a <span class="underline">RUNNING</span> rather than<br /> +an <span class="underline">XRUN</span> state &#x2014; this caused the Emacspeak server to<br /> +abort. Curiously, this happened only sporadically &#x2014; and from my<br /> +experimentation only happened when there were multiple streams of<br /> +audio active on the machine.<br /> +A few Google searches showed threads on the alsa/kernel devel lists<br /> +that indicated that this bug was present in the case of DMIX devices<br /> +&#x2014; it was hard to tell if the patch that was submitted on the<br /> +alsa-devel list had made it into my installation of Debian.<br /> +</p></div></div><br /> +<div id="outline-container-orga9fcbcd" class="outline-2"><h2 id="orga9fcbcd"><span class="section-number-2">3</span> Fixing The Problem</h2><div class="outline-text-2" id="text-3"><p>My original implementation of function <span class="underline">xrun</span> had been cloned from<br /> +<span class="underline">aplay.c</span> about 15+ years ago &#x2014; looking at the newest <span class="underline">aplay</span><br /> +implementation, little to nothing had changed there. I finally worked<br /> +around the issue by adding a call to <br /> +</p><pre class="example">snd_pcm_prepare(AHandle) + +</pre><p>whenever ALSA raised an <span class="underline">EPIPE</span> error during write &#x2014; with the ALSA<br /> +device state in a <span class="underline">RUNNING</span> rather than an <span class="underline">XRUN</span> state. This<br /> +appears to fix the issue.<br /> +</p></div></div></div></div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-69499488236519142022017-11-21T14:44:00.000-08:002017-11-21T16:42:12.024-08:00Emacspeak 47.0 (GentleDog) Unleashed! <div dir="ltr" style="text-align: left;" trbidi="on"><div id="content"><h1 class="title">Emacspeak 47.0—GentleDog—Unleashed!</h1><p>*For Immediate Release:<br /> +</p><br /> +<p>San Jose, Calif., (November 22, 2017)<br /> +</p><br /> +<p>Emacspeak 47.0 (GentleDog): <br /> +Redefining Accessibility In The Age Of User-Aware Interfaces<br /> +&#x2013;Zero cost of Ownership makes priceless software Universally affordable!<br /> +</p><br /> +<p>Emacspeak Inc (NASDOG: ESPK) &#x2014; <a href="http://github.com/tvraman/emacspeak">http://github.com/tvraman/emacspeak</a><br /> +&#x2014; announces the immediate world-wide availability of <a href="https://github.com/tvraman/emacspeak/releases/download/44.0/emacspeak-45.0.tar.bz2">Emacspeak 47.0</a><br /> +(GentleDog) &#x2014; a powerful audio desktop for leveraging today's<br /> +evolving Data, Social and Assistant-Oriented Internet cloud.<br /> +</p><br /> +<div id="outline-container-org1130765" class="outline-2"><h2 id="org1130765"><span class="section-number-2">1</span> Investors Note:</h2><div class="outline-text-2" id="text-1"><p>With several prominent tweeters expanding coverage of <span class="underline">#emacspeak</span>,<br /> +NASDOG: ESPK has now been consistently trading over the social net at<br /> +levels close to that once attained by DogCom high-fliers—and as of<br /> +November <br /> +2017 is trading at levels close to that achieved by once better known<br /> +stocks in the tech sector.<br /> +</p></div></div><br /> +<div id="outline-container-org4319532" class="outline-2"><h2 id="org4319532"><span class="section-number-2">2</span> What Is It?</h2><div class="outline-text-2" id="text-2"><p>Emacspeak is a fully functional audio desktop that provides complete<br /> +eyes-free access to all major 32 and 64 bit operating environments. By<br /> +seamlessly blending live access to all aspects of the Internet such as<br /> +ubiquitous assistance, Web-surfing, blogging, social computing and<br /> +electronic messaging into the audio desktop, Emacspeak enables speech<br /> +access to local and remote information with a consistent and<br /> +well-integrated user interface. A rich suite of task-oriented tools<br /> +provides efficient speech-enabled access to the evolving<br /> +assistant-oriented social Internet cloud.<br /> +</p></div></div><br /> +<div id="outline-container-org5980f13" class="outline-2"><h2 id="org5980f13"><span class="section-number-2">3</span> Major Enhancements:</h2><div class="outline-text-2" id="text-3"><p>This version <b>requires</b> emacs-25.1 or later. <br /> +</p><br /> +<ol class="org-ol"><li>speech-Enable Extensible EVIL &#x2014; VI Layer: ⸎</li> +<li>Bookshare &#x2014; Support Additional downloads (epub3,mp3): 🕮</li> +<li>Bookmark support for EBooks in EWW 📔</li> +<li>Speech-Enable VDiff &#x2014; A Diff tool: ≏</li> +<li>Speech-enable Package shx &#x2014;Shell Extras For Emacs: 🖁</li> +<li>Updated IDO Support: ⨼</li> +<li>Implemented NOAA Weather API: ☔</li> +<li>Speech-Enable Typographic Editting Support: 🖶</li> +<li>Speech-Enable Package Origami: 🗀</li> +<li>Magit Enhancements for Magitians: 🎛</li> +<li>Speech-Enable RipGrep Front-End: ┅</li> +<li>Added SmartParen Support: 〙</li> +<li>Speech-enabled Minesweeper game: 🤯<br /> +<br /> +<ul class="org-ul"><li>And a lot more than wil fit this margin. … 🗞</li> +</ul></li> +</ol></div></div><br /> +<br /> +<div id="outline-container-orgfef8928" class="outline-2"><h2 id="orgfef8928"><span class="section-number-2">4</span> Establishing Liberty, Equality And Freedom:</h2><div class="outline-text-2" id="text-4"><p>Never a toy system, Emacspeak is voluntarily bundled with all<br /> +major Linux distributions. Though designed to be modular,<br /> +distributors have freely chosen to bundle the fully integrated<br /> +system without any undue pressure—a documented success for<br /> +the integrated innovation embodied by Emacspeak. As the system<br /> +evolves, both upgrades and downgrades continue to be available at<br /> +the same zero-cost to all users. The integrity of the Emacspeak<br /> +codebase is ensured by the reliable and secure Linux platform<br /> +used to develop and distribute the software.<br /> +</p><br /> +<p>Extensive studies have shown that thanks to these features, users<br /> +consider Emacspeak to be absolutely priceless. Thanks to this<br /> +wide-spread user demand, the present version remains priceless<br /> +as ever—it is being made available at the same zero-cost as<br /> +previous releases.<br /> +</p><br /> +<p>At the same time, Emacspeak continues to innovate in the area of<br /> +eyes-free Assistance and social interaction and carries forward the<br /> +well-established Open Source tradition of introducing user interface<br /> +features that eventually show up in luser environments.<br /> +</p><br /> +<p>On this theme, when once challenged by a proponent of a crash-prone<br /> +but well-marketed mousetrap with the assertion "Emacs is a system from<br /> +the 70's", the creator of Emacspeak evinced surprise at the unusual<br /> +candor manifest in the assertion that it would take popular<br /> +idiot-proven interfaces until the year 2070 to catch up to where the<br /> +Emacspeak audio desktop is today. Industry experts welcomed this<br /> +refreshing breath of Courage Certainty and Clarity (CCC) at a time<br /> +when users are reeling from the Fear Uncertainty and Doubt (FUD)<br /> +unleashed by complex software systems backed by even more convoluted<br /> +press releases.<br /> +</p></div></div><br /> +<div id="outline-container-orga1020c4" class="outline-2"><h2 id="orga1020c4"><span class="section-number-2">5</span> Independent Test Results:</h2><div class="outline-text-2" id="text-5"><p>Independent test results have proven that unlike some modern (and<br /> +not so modern) software, Emacspeak can be safely uninstalled without<br /> +adversely affecting the continued performance of the computer. These<br /> +same tests also revealed that once uninstalled, the user stopped<br /> +functioning altogether. Speaking with Aster Labrador, the creator of<br /> +Emacspeak once pointed out that these results re-emphasize the<br /> +user-centric design of Emacspeak; "It is the user &#x2013;and not the<br /> +computer&#x2013; that stops functioning when Emacspeak is uninstalled!".<br /> +</p></div><br /> +<div id="outline-container-org0756eb5" class="outline-3"><h3 id="org0756eb5"><span class="section-number-3">5.1</span> Note from Aster,Bubbles and Tilden:</h3><div class="outline-text-3" id="text-5-1"><p>UnDoctored Videos Inc. is looking for volunteers to star in a<br /> +video demonstrating such complete user failure.<br /> +</p></div></div></div><br /> +<div id="outline-container-org71b6bb2" class="outline-2"><h2 id="org71b6bb2"><span class="section-number-2">6</span> Obtaining Emacspeak:</h2><div class="outline-text-2" id="text-6"><p>Emacspeak can be downloaded from GitHub &#x2013;see<br /> +<a href="https://github.com/tvraman/emacspeak">https://github.com/tvraman/emacspeak</a> you can visit Emacspeak on the<br /> +WWW at <a href="http://emacspeak.sf.net">http://emacspeak.sf.net</a>. You can subscribe to the emacspeak<br /> +mailing list — emacspeak@cs.vassar.edu — by sending mail to the<br /> +list request address emacspeak-request@cs.vassar.edu. The <a href="http://emacspeak.blogspot.com">Emacspeak<br /> +Blog</a> is a good source for news about recent enhancements and how to<br /> +use them.<br /> +</p><br /> +<p>The latest development snapshot of Emacspeak is always available via<br /> +Git from GitHub at <br /> +<a href="https://github.com/tvraman/emacspeak">Emacspeak GitHub </a>.<br /> +</p></div></div><br /> +<div id="outline-container-orga382cfc" class="outline-2"><h2 id="orga382cfc"><span class="section-number-2">7</span> History:</h2><div class="outline-text-2" id="text-7"><ul class="org-ul"><li>Emacspeak 47.0 (GentleDog) goes the next step in being helpful<br /> +while letting users learn and grow.</li> +<li>Emacspeak 46.0 (HelpfulDog) heralds the coming of Smart Assistants.</li> +<li>Emacspeak 45.0 (IdealDog) is named in recognition of Emacs'<br /> +excellent integration with various programming language<br /> +environments &#x2014; thanks to this, Emacspeak is the IDE of choice<br /> +for eyes-free software engineering.</li> +<li>Emacspeak 44.0 continues the steady pace of innovation on the<br /> +audio desktop.</li> +<li>Emacspeak 43.0 brings even more end-user efficiency by leveraging the<br /> +ability to spatially place multiple audio streams to provide timely<br /> +auditory feedback.</li> +<li>Emacspeak 42.0 while moving to GitHub from Google Code continues to<br /> +innovate in the areas of auditory user interfaces and efficient,<br /> +light-weight Internet access.</li> +<li>Emacspeak 41.0 continues to improve <br /> +on the desire to provide not just equal, but superior access —<br /> +technology when correctly implemented can significantly enhance the<br /> +human ability.</li> +<li>Emacspeak 40.0 goes back to Web basics by enabling<br /> +<a href="http://emacspeak.blogspot.com/2013/11/reading-web-content-efficiently.html">efficient access</a> to large amounts of readable Web content.</li> +<li>Emacspeak 39.0 continues the Emacspeak tradition of increasing the breadth of<br /> +user tasks that are covered without introducing unnecessary<br /> +bloatware.</li> +<li>Emacspeak 38.0 is the latest in a series of award-winning<br /> +releases from Emacspeak Inc.</li> +<li>Emacspeak 37.0 continues the tradition of<br /> +delivering robust software as reflected by its code-name.</li> +<li>Emacspeak 36.0 enhances the audio desktop with many new tools including full<br /> +EPub support — hence the name EPubDog.</li> +<li>Emacspeak 35.0 is all about<br /> +teaching a new dog old tricks — and is aptly code-named HeadDog in<br /> +on of our new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles)<br /> +established a new beach-head with respect to rapid task completion in<br /> +an eyes-free environment.</li> +<li>Emacspeak-33.0 AKA StarDog brings<br /> +unparalleled cloud access to the audio desktop.</li> +<li>Emacspeak 32.0 AKA<br /> +LuckyDog continues to innovate via open technologies for better<br /> +access.</li> +<li>Emacspeak 31.0 AKA TweetDog — adds tweeting to the Emacspeak<br /> +desktop.</li> +<li>Emacspeak 30.0 AKA SocialDog brings the Social Web to the<br /> +audio desktop—you cant but be social if you speak!</li> +<li>Emacspeak 29.0—AKAAbleDog—is a testament to the resilliance and innovation<br /> +embodied by Open Source software—it would not exist without the<br /> +thriving Emacs community that continues to ensure that Emacs remains<br /> +one of the premier user environments despite perhaps also being one of<br /> +the oldest.</li> +<li>Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of<br /> +development evinced by Open Source software.</li> +<li>Emacspeak 27.0—AKA<br /> +FastDog—is the latest in a sequence of upgrades that make previous<br /> +releases obsolete and downgrades unnecessary.</li> +<li>Emacspeak 26—AKA<br /> +LeadDog—continues the tradition of introducing innovative access<br /> +solutions that are unfettered by the constraints inherent in<br /> +traditional adaptive technologies.</li> +<li>Emacspeak 25 —AKA ActiveDog<br /> +—re-activates open, unfettered access to online<br /> +information.</li> +<li>Emacspeak-Alive —AKA LiveDog —enlivens open, unfettered<br /> +information access with a series of live updates that once again<br /> +demonstrate the power and agility of open source software<br /> +development.</li> +<li>Emacspeak 23.0 &#x2014; AKA Retriever—went the extra mile in<br /> +fetching full access.</li> +<li>Emacspeak 22.0 —AKA GuideDog —helps users<br /> +navigate the Web more effectively than ever before.</li> +<li>Emacspeak 21.0<br /> +—AKA PlayDog —continued the <br /> +Emacspeak tradition of relying on enhanced<br /> +productivity to liberate users.</li> +<li>Emacspeak-20.0 —AKA LeapDog —continues<br /> +the long established GNU/Emacs tradition of integrated innovation to<br /> +create a pleasurable computing environment for eyes-free<br /> +interaction.</li> +<li>emacspeak-19.0 &#x2013;AKA WorkDog&#x2013; is designed to enhance<br /> +user productivity at work and leisure.</li> +<li>Emacspeak-18.0 &#x2013;code named<br /> +GoodDog&#x2013; continued the Emacspeak tradition of enhancing user<br /> +productivity and thereby reducing total cost of<br /> +ownership.</li> +<li>Emacspeak-17.0 &#x2013;code named HappyDog&#x2013; enhances user<br /> +productivity by exploiting today's evolving WWW<br /> +standards.</li> +<li>Emacspeak-16.0 &#x2013;code named CleverDog&#x2013; the follow-up to<br /> +SmartDog&#x2013; continued the tradition of working better, faster,<br /> +smarter.</li> +<li>Emacspeak-15.0 &#x2013;code named SmartDog&#x2013;followed up on TopDog<br /> +as the next in a continuing series of award-winning audio desktop<br /> +releases from Emacspeak Inc.</li> +<li>Emacspeak-14.0 &#x2013;code named TopDog&#x2013;was</li> +</ul><p>the first release of this millennium. <br /> +</p><ul class="org-ul"><li>Emacspeak-13.0 &#x2013;codenamed<br /> +YellowLab&#x2013; was the closing release of the<br /> +20th. century.</li> +<li>Emacspeak-12.0 &#x2013;code named GoldenDog&#x2013; began<br /> +leveraging the evolving semantic WWW to provide task-oriented speech<br /> +access to Webformation.</li> +<li>Emacspeak-11.0 &#x2013;code named Aster&#x2013; went the<br /> +final step in making Linux a zero-cost Internet access solution for<br /> +blind and visually impaired users.</li> +<li>Emacspeak-10.0 &#x2013;(AKA<br /> +Emacspeak-2000) code named WonderDog&#x2013; continued the tradition of<br /> +award-winning software releases designed to make eyes-free computing a<br /> +productive and pleasurable experience.</li> +<li>Emacspeak-9.0 &#x2013;(AKA<br /> +Emacspeak 99) code named BlackLab&#x2013; continued to innovate in the areas<br /> +of speech interaction and interactive accessibility.</li> +<li>Emacspeak-8.0 &#x2013;(AKA Emacspeak-98++) code named BlackDog&#x2013; was a major upgrade to<br /> +the speech output extension to Emacs.</li> +<li>Emacspeak-95 (code named Illinois) was released as OpenSource on<br /> +the Internet in May 1995 as the first complete speech interface<br /> +to UNIX workstations. The subsequent release, Emacspeak-96 (code<br /> +named Egypt) made available in May 1996 provided significant<br /> +enhancements to the interface. Emacspeak-97 (Tennessee) went<br /> +further in providing a true audio desktop. Emacspeak-98<br /> +integrated Internetworking into all aspects of the audio desktop<br /> +to provide the first fully interactive speech-enabled WebTop.</li> +</ul></div></div><br /> +<div id="outline-container-orgcd47764" class="outline-2"><h2 id="orgcd47764"><span class="section-number-2">8</span> About Emacspeak:</h2><div class="outline-text-2" id="text-8"><p>Originally based at Cornell (NY) —<br /> +<a href="http://www.cs.cornell.edu/home/raman">http://www.cs.cornell.edu/home/raman</a> —home to Auditory User<br /> +Interfaces (AUI) on the WWW, Emacspeak is now maintained on GitHub<br /> +—<a href="https://github.com/tvraman/emacspeak">https://github.com/tvraman/emacspeak</a>. The system is mirrored<br /> +world-wide by an international network of software archives and<br /> +bundled voluntarily with all major Linux distributions. On Monday,<br /> +April 12, 1999, Emacspeak became part of the <a href="http://tvraman.github.io/emacspeak/blog/smithsonian-study.html">Smithsonian's Permanent<br /> +Research Collection</a> on Information Technology at the Smithsonian's<br /> +National Museum of American History.<br /> +</p><br /> +<p>The Emacspeak mailing list is archived at Vassar &#x2013;the home of the<br /> +Emacspeak mailing list&#x2013; thanks to Greg Priest-Dorman, and provides a<br /> +valuable knowledge base for new users.<br /> +</p></div></div><br /> +<div id="outline-container-org004e542" class="outline-2"><h2 id="org004e542"><span class="section-number-2">9</span> Press/Analyst Contact: Tilden Labrador</h2><div class="outline-text-2" id="text-9"><p>Going forward, Tilden acknowledges his exclusive monopoly on<br /> +setting the direction of the Emacspeak Audio Desktop, and<br /> +promises to exercise this freedom to innovate and her resulting<br /> +power responsibly (as before) in the interest of all dogs.<br /> +</p><br /> +<p>*About This Release:<br /> +</p><hr /><br /> +<p>Windows-Free (WF) is a favorite battle-cry of The League Against<br /> +Forced Fenestration (LAFF). &#x2013;see<br /> +<a href="http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm">http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm</a> for details on<br /> +the ill-effects of Forced Fenestration.<br /> +</p><br /> +<p>CopyWrite )C( Aster, Hubbell and Tilden Labrador. All Writes Reserved.<br /> +HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered<br /> +Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to<br /> +their respective owners.<br /> +</p></div></div></div></div> T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-43414400978424086422017-08-21T13:01:00.002-07:002017-08-21T13:01:46.948-07:00Emacs Start-Up: Speeding It Up<div dir="ltr" style="text-align: left;" trbidi="on"><div id="content"><h1 class="title">Emacs Start-Up: Speeding It Up</h1><div id="outline-container-orgc53dd52" class="outline-2"><h2 id="orgc53dd52"><span class="section-number-2">1</span> TL;DR:</h2><div class="outline-text-2" id="text-1"><p>Describes my Emacs start-up file, and what I did to speed it up from<br /> +12 seconds to under 4 seconds.<br /> +</p></div></div><div id="outline-container-org7b5a545" class="outline-2"><h2 id="org7b5a545"><span class="section-number-2">2</span> Overview Of Steps</h2><div class="outline-text-2" id="text-2"><ul class="org-ul"><li>Byte-compile start-up files.</li> +<li>Temporarily increase <span class="underline">gc-cons-threshold</span> during startup.</li> +<li>Load package autoloads (not packages) during start-up.</li> +<li>Use <span class="underline">eval-after-load</span> to advantage for post-package setup.</li> +<li>Lexically bind <span class="underline">file-name-handler-alist</span> to <span class="underline">nil</span> if start-up<br /> +is split across many files.</li> +<li>Used memoization to avoid network lookup of current location during startup.</li> +</ul><br /> +<br /> +<p>I have a large number of elpa/melpa packages installed:<br /> +</p><div class="org-src-container"><pre class="src src-emacs-lisp">(length load-path) +</pre></div><pre class="example">400 + +</pre><br /> +<p>With the above, my emacs (Emacs 26 built from Git) startup time is on<br /> +average 4 seconds. This includes starting up emacspeak (including<br /> +speech servers), as well as launching a number of project-specific<br /> +shell buffers. Given that I rarely restart Emacs, the startup time is<br /> +academic &#x2014; but speeding up Emacs startup did get me to clean-up my<br /> +Emacs setup.<br /> +</p></div></div><br /> +<div id="outline-container-orgb1a8215" class="outline-2"><h2 id="orgb1a8215"><span class="section-number-2">3</span> Introduction</h2><div class="outline-text-2" id="text-3"><p>I have now used Emacs for more than 25 years, and my <a href="https://github.com/tvraman/emacspeak/blob/master/tvr/emacs-startup.el#L1">Emacs start-up<br /> +file</a> has followed the same structure through this time.<br /> +</p><br /> +<ol class="org-ol"><li>The init file defines a <code>start-up-emacs</code> function that does the<br /> +bulk of the work.</li> +<li>Package-specific configuration is split up into<br /> +<code>&lt;package&gt;-prepare.el</code> files.</li> +<li>All of these files are byte-compiled.</li> +</ol><br /> +<p>As a first step, I added code to my start-up file to time the loading<br /> +of various modules.<br /> +</p></div></div><br /> +<div id="outline-container-org2a2afbe" class="outline-2"><h2 id="org2a2afbe"><span class="section-number-2">4</span> Load Byte-Compiled Start-Up File</h2><div class="outline-text-2" id="text-4"><p>I keep my <code>emacs-startup.el</code> checked into GitHub.<br /> +My Emacs init-file is a symlink to the byte-compiled version of the<br /> +above &#x2014; this is something that goes back to my time as a<br /> +grad-student at Cornell (when GitHub of course did not exist).<br /> +That is also when I originally learnt the trick of temporarily setting<br /> +<span class="underline">gc-cons-threshold</span> to 8MB &#x2014; Emacs' default is 800K.<br /> +</p></div></div><br /> +<div id="outline-container-org7451279" class="outline-2"><h2 id="org7451279"><span class="section-number-2">5</span> Package Autoloads And <code>eval-after-load</code></h2><div class="outline-text-2" id="text-5"><p>Over time, some of the package-specific setup files had come to<br /> +directly load packages &#x2014; it just made it easier to do<br /> +package-specific setup at the time. As part of the cleanup, I updated<br /> +these to strictly load package-autoload files and wrapped post-package<br /> +setup code in <code>eval-after-load</code> &#x2014; this is effectively the same as<br /> +using <code>use-package</code>.<br /> +</p></div></div><br /> +<br /> +<div id="outline-container-org90a1e86" class="outline-2"><h2 id="org90a1e86"><span class="section-number-2">6</span> Loading Files Faster</h2><div class="outline-text-2" id="text-6"><p>Emacs has an extremely flexible mechanism for loading files &#x2014; this<br /> +means you can load compressed, encrypted or remote files without<br /> +having to worry about it. That flexibility comes at a cost &#x2014; if you<br /> +are sure you dont need this flexibility during start-up, then locally<br /> +binding <code>file-name-handler-alist</code> to <code>nil</code> is a big win &#x2014; in my<br /> +case, it sped things up by 50%.<br /> +</p></div></div><br /> +<div id="outline-container-org2a7c3a1" class="outline-2"><h2 id="org2a7c3a1"><span class="section-number-2">7</span> Avoid Network Calls During Start-Up</h2><div class="outline-text-2" id="text-7"><p>In my case, I set <code>calendar-latitude</code> and <code>calendar-longitude</code> by<br /> +geocoding my address &#x2014; geocoding is done by calling the Google Maps<br /> +API. The geocoding API is plenty fast that you normally dont notice<br /> +it &#x2014; but it was adding anywhere from 1&#x2013;3 seconds during<br /> +startup. Since my address doesn't change that often, I updated module<br /> +<a href="https://github.com/tvraman/emacspeak/blob/master/lisp/g-client/gmaps.el#L1">gmaps</a> to use a memoized version. My address is set via <code>Customize</code>,<br /> +and the geocoded lat/long is saved to disk automatically.<br /> +</p></div></div><br /> +<br /> +<br /> +<br /> +<div id="outline-container-org049dfc4" class="outline-2"><h2 id="org049dfc4"><span class="section-number-2">8</span> References</h2><div class="outline-text-2" id="text-8"><ol class="org-ol"><li><a href="https://anuragpeshne.github.io/essays/emacsSpeed.html">Emacs Speed</a> What got it all started.</li> +<li><a href="https://www.reddit.com/r/emacs/comments/3kqt6e/2_easy_little_known_steps_to_speed_up_emacs_start/">file-name-handler-alist</a> The article that gave me the most useful<br /> +tip of them all.</li> +</ol><br /> +<br /> +<p>Net <br /> +</p></div></div></div></div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-19368527909428368772017-07-27T14:09:00.001-07:002017-07-27T14:09:16.226-07:00Data-Binding In Emacs Lisp: let-alist When Processing JSON Data<div dir="ltr" style="text-align: left;" trbidi="on"><div id="content"><h1 class="title">Data-Binding In Emacs Lisp: let-alist When Processing JSON Data</h1><div id="outline-container-org6cb1d80" class="outline-2"><h2 id="org6cb1d80"><span class="section-number-2">1</span> Summary</h2><div class="outline-text-2" id="text-1"><p>Module <i>json-read</i> consumes JSON data structures and transforms them<br /> +into their elisp equivalent, where JSON dictionaries become alists and<br /> +JSON arrays become vectors. Accessing that data from lisp would<br /> +ordinarily require using lisp accessors such as <span class="underline">assoc</span>, <span class="underline">car</span> and<br /> +<span class="underline">cdr</span>. With <i>let-alist</i>, we get data-binding for free &#x2014; the result<br /> +is elisp code that uses dotted-variables to directly access specific<br /> +slots in a deeply nested data structure. Thus, processing data<br /> +available as JSON via Web APIs is a really good use-case for<br /> +<i>let-alist</i>. Long-standing wish &#x2014; I wish Emacs' JSON parsing were<br /> +implemented in native code rather than in elisp.<br /> +</p></div><br /> +<div id="outline-container-orgf8ed66d" class="outline-3"><h3 id="orgf8ed66d"><span class="section-number-3">1.1</span> A Working Example</h3><div class="outline-text-3" id="text-1-1"><p>I recently implemented myself a <a href="https://github.com/tvraman/emacspeak/blob/master/lisp/emacspeak-wizards.el#L3494">NOAA Weather API Client</a> &#x2014; it pulls<br /> +the NOAA Weather Forecast (weekly and hourly) as JSON objects, and<br /> +produces an <i>org-mode</i> buffer that renders the data.<br /> +Note that though the above is part of a much larger<br /> +<i>emacspeak-wizards</i> module, the above function and its dependencies<br /> +are themselves mostly independent of Emacspeak, except for the last<br /> +two forms in the weather forecast function.<br /> +Here is an annotated version of the function that gets NOAA data and<br /> +leverages <i>let-alist</i> to process the results:<br /> +</p><br /> +<div class="org-src-container"><pre class="src src-emacs-lisp">(defun ems--noaa-get-data (ask) + "Internal function that gets NOAA data and returns a results buffer." + (declare (special gweb-my-address)) + (let* ((buffer (get-buffer-create "*NOAA Weather*")) + (inhibit-read-only t) + (date nil) + (start (point-min)) + (address (when ask (read-from-minibuffer "Address:"))) + (geo (when ask (gmaps-geocode address)))) + (unless address (setq address gweb-my-address)) + (with-current-buffer buffer + (erase-buffer) + (special-mode) + (orgstruct-mode) + (setq header-line-format (format "NOAA Weather For %s" address)) + (insert (format "* Weather Forecast For %s\n\n" address)) +;;; produce Daily forecast + (let-alist (g-json-from-url (ems--noaa-url geo)) + (cl-loop + for p across .properties.periods do + (let-alist p + (insert + (format + "** Forecast For %s: %s\n\n%s\n\n" + .name .shortForecast .detailedForecast))) + (fill-region start (point))) + (insert + (format "\nUpdated at %s\n" + (ems--noaa-time "%c" .properties.updated)))) + (let-alist ;;; Now produce hourly forecast + (g-json-from-url (concat (ems--noaa-url geo) "/hourly")) + (insert + (format "\n* Hourly Forecast:Updated At %s \n" + (ems--noaa-time "%c" .properties.updated))) + (cl-loop + for p across .properties.periods do + (let-alist p + (unless (and date (string= date (ems--noaa-time "%x" .startTime))) + (insert (format "** %s\n" (ems--noaa-time "%A %X" .startTime))) + (setq date (ems--noaa-time "%x" .startTime))) + (insert + (format + " - %s %s %s: Wind Speed: %s Wind Direction: %s\n" + (ems--noaa-time "%R" .startTime) + .shortForecast + .temperature .windSpeed .windDirection))))) + (goto-char (point-min))) + buffer)) +</pre></div><br /> +<br /> +<ol class="org-ol"><li>In the above_ /gweb-my-address_ is a Lat/Lng pair as returned by<br /> +<span class="underline">gmaps-geocode</span> defined in <a href="https://github.com/tvraman/emacspeak/blob/master/lisp/g-client/gmaps.el#L89">g-client/gmaps.el</a>. That is used as the<br /> +default location for which we retrieve the forecast.</li> +<li>Parameter <span class="underline">ask</span> if non-nil results in the user being prompted<br /> +for the address &#x2014; that address is then geocoded using<br /> +the Google Maps API.</li> +<li>The weather forecast display will leverage <span class="underline">org-mode</span> for<br /> +structured navigation; however we dont want that buffer to be<br /> +editable in general; moreover <span class="underline">special-mode</span> gives us nice<br /> +features such as <span class="underline">q</span> for quitting that window. So we use<br /> +<span class="underline">special-mode</span> as the major mode, and <span class="underline">orgstruct-mode</span> as a minor<br /> +mode to get the best of both worlds.</li> +<li>The API call to NOAA results in a JSON data structure where<br /> +<span class="underline">result.properties.periods</span> holds an array of forecast<br /> +objects. Using that result in <i>let-alist</i> gives us data binding<br /> +for free! Notice the following:<br /> +<ol class="org-ol"><li>We can use <span class="underline">.properties.periods</span> in the <span class="underline">cl-loop</span> as the list<br /> +to iterate over.</li> +<li>Within that loop body, a second <i>let-list</i> enables data<br /> +binding over the forecast object that we are processing in the<br /> +loop body.</li> +<li>Data accesses inside the loop body are again simple given the<br /> +data binding created by the <i>let-alist</i>.</li> +</ol></li> +</ol><br /> +<p>The code for generating the hourly forecast is similar in spirit &#x2014;<br /> +the main take-away here is that <i>let-alist</i> saves a lot of<br /> +boiler-plate code that would have been otherwise required to take<br /> +apart the nested list structure we got back with our data.<br /> +</p></div></div></div></div></div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-28259011123173704822017-07-24T18:49:00.002-07:002017-07-24T18:49:57.381-07:00Spatial Audio: ALSA Virtual Devices Using LADSPA<br /> +<div dir="ltr" style="text-align: left;" trbidi="on"><div id="content"><h1 class="title">Spatial Audio: ALSA Virtual Devices Using LADSPA</h1><div id="outline-container-org6e5a6af" class="outline-2"><h2 id="org6e5a6af"><span class="section-number-2">1</span> Overview</h2><div class="outline-text-2" id="text-1"><p>I have long wanted to apply HRTF filters to <a href="https://emacspeak.blogspot.com/2015/12/soundscapes-on-emacspeak-audio-desktop.html">soundscapes</a> on the<br /> +Emacspeak Audio Desktop to produce effects that are better<br /> +spatialized. I just got this working over the weekend using LADSPA<br /> +Plugin <i>ZamHeadX2-ladspa.so</i> from package <a href="https://github.com/zamaudio/zam-plugins.git">zam-plugins</a>.<br /> +</p></div></div><br /> +<div id="outline-container-org25e9a57" class="outline-2"><h2 id="org25e9a57"><span class="section-number-2">2</span> Getting ZAM Plugins</h2><div class="outline-text-2" id="text-2"><pre class="example">git clone https://github.com/zamaudio/zam-plugins.git +</pre><p>And follow the instructions in the README file.<br /> +</p><br /> +<p>Next, do <br /> +</p><pre class="example">sudo make install +</pre><p>to install the plugins.<br /> +</p><br /> +<p>Finally, make sure that the install location is on your LADSPA path.<br /> +</p></div><br /> +<div id="outline-container-org55c948b" class="outline-3"><h3 id="org55c948b"><span class="section-number-3">2.1</span> Adding HRTF Virtual Devices Via ASOUNDRC</h3><div class="outline-text-3" id="text-2-1"><p>After updating Emacspeak from GitHub,<br /> +open file <a href="https://github.com/tvraman/emacspeak//blob/2d93e0f92427e4f64064aa75e380fa66bbb87fcf/servers/linux-outloud/asoundrc">servers/linux-outloud/asoundrc</a> <br /> +and copy the section marked <i>HRTF</i> to your personal <span class="underline">.asoundrc</span> &#x2014;<br /> +this defines a number of virtual devices that use the newly installed<br /> +LADSPA plugin.<br /> +<b>Beware</b>: Back-up your <span class="underline">.asoundrc</span> first and make sure you can restore<br /> +it even if you lose speech.<br /> +</p></div></div></div><br /> +<div id="outline-container-orga3aa9b3" class="outline-2"><h2 id="orga3aa9b3"><span class="section-number-2">3</span> Spatialized Soundscapes</h2><div class="outline-text-2" id="text-3"><p>In a running Emacspeak session, invoke command <br /> +</p><pre class="example">soundscape-restart +</pre><p>with an interactive prefix arg and specify one of the available<br /> +devices using standard Emacs completion.<br /> +</p><br /> +<p>For use with Soundscapes, I recommend one of the devices that place<br /> +sound directly in front of the listener (azimuth 0) but with a non-0<br /> +elevation.<br /> +</p><br /> +<p>The HRTF devices are named with prefix <span class="underline">tts</span> because I would like to<br /> +use these with software TTS; but for now the result with TTS is not<br /> +as good as it is with Soundscapes.<br /> +</p><br /> +<p>Notice that command <span class="underline">soundscape-restart</span> offers a number of virtual<br /> +ALSA devices based on your <span class="underline">.asoundrc</span>; see the next section for a<br /> +summary. <br /> +</p></div></div><div id="outline-container-org8553b23" class="outline-2"><h2 id="org8553b23"><span class="section-number-2">4</span> Virtual ALSA Devices For Use As A Soundscape Filter</h2><div class="outline-text-2" id="text-4"><p>Here is a list of available LADSPA devices in my setup that can be<br /> +used to add additional effects to Soundscapes:<br /> +</p><br /> +<ul class="org-ul"><li>crossfeed: Apply a BS2B filter.</li> +<li>default: No filters, vanilla audio.</li> +<li>tap-reverb: Reverb filter from package tap-plugins.</li> +<li>reverb-crossfeed: Reverb filter followed by BS2B.</li> +<li>tts-a0-e15: HRTF at (0, 15).</li> +<li>tts-a0-e30: HRTF at (0, 30).</li> +<li>tts-a0-e60: HRTF at (0, 60).</li> +<li>tts-a0-e90: HRTF at (0, 90).</li> +<li>tts-a0-em15: HRTF at (0, -15).</li> +<li>tts-a0-em30: HRTF at (0, -30).</li> +<li>tts-a0-em45: HRTF at (0, -45).</li> +<li>tts-a135-e45: HRTF at (135, 45).</li> +<li>tts-a135-em45: HRTF at (135, -45).</li> +<li>tts-a225-e45: HRTF at (225, 45).</li> +<li>tts-a225-em45: HRTF at (225, -45).</li> +<li>tts-a45-e45: HRTF at (45, 45).</li> +<li>tts-a45-em45: HRTF at (45, -45).</li> +<li>tts-am45-e45: HRTF at (-45, 45).</li> +<li>tts-am45-em45: HRTF at (-45, -45).</li> +</ul></div></div><br /> +<div id="outline-container-org2a41e7f" class="outline-2"><h2 id="org2a41e7f"><span class="section-number-2">5</span> Other Uses Of HRTF Devices</h2><div class="outline-text-2" id="text-5"><p>You can experiment with these devices using aplay e.g.:<br /> +</p><pre class="example">aplay -Dtts_a0_e0 filename.wav +</pre><br /> +<p>You can also apply the HRTF Ladspa plugin from within <i>MPlayer</i> when<br /> +using emacspeak.<br /> +To try this, use <span class="underline">C-e ; f</span> and pick the Zam effect when prompted.<br /> +Invoke that command with an interactive prefix arg &#x2014; <span class="underline">C-u C-e ; f</span><br /> +&#x2014; to edit the params passed to the Zam filter.<br /> +</p><br /> +<p>HRTF filters when playing media are mostly useful to position a<br /> +radio station in 3d space when playing more than one station<br /> +simultaneously.<br /> +</p></div></div></div></div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-69001927073230488972017-04-30T08:12:00.002-07:002017-04-30T08:12:17.073-07:00Emacspeak 46.0 (HelpfulDog) Unleashed<div dir="ltr" style="text-align: left;" trbidi="on"><div id="content"><h1 class="title">Emacspeak 46.0—HelpfulDog—Unleashed!</h1><p><b>For Immediate Release:</b><br /> +</p><br /> +<p>San Jose, Calif., (May 1, 2017)<br /> +</p><br /> +<p>Emacspeak 46.0 (HelpfulDog): Redefining Accessibility In The Age Of Smart Assistants<br /> +&#x2013;Zero cost of Ownership makes priceless software Universally affordable!<br /> +</p><br /> +<p>Emacspeak Inc (NASDOG: ESPK) &#x2014; <a href="http://github.com/tvraman/emacspeak">http://github.com/tvraman/emacspeak</a> &#x2014; announces the<br /> +immediate world-wide availability of <a href="https://github.com/tvraman/emacspeak/releases/download/44.0/emacspeak-45.0.tar.bz2">Emacspeak 46.0</a> (HelpfulDog) &#x2014; a<br /> +powerful audio desktop for leveraging today's evolving data, social<br /> +and service-oriented Internet cloud.<br /> +</p><br /> +<div id="outline-container-org04068a8" class="outline-2"><h2 id="org04068a8"><span class="section-number-2">1</span> Investors Note:</h2><div class="outline-text-2" id="text-1"><p>With several prominent tweeters expanding coverage of<br /> +<span class="underline">#emacspeak</span>, NASDOG: ESPK has now been consistently trading over<br /> +the social net at levels close to that once attained by DogCom<br /> +high-fliers—and as of May 2017 is trading at levels close to<br /> +that achieved by once better known stocks in the tech sector.<br /> +</p></div></div><br /> +<div id="outline-container-org788f812" class="outline-2"><h2 id="org788f812"><span class="section-number-2">2</span> What Is It?</h2><div class="outline-text-2" id="text-2"><p>Emacspeak is a fully functional audio desktop that provides complete<br /> +eyes-free access to all major 32 and 64 bit operating environments. By<br /> +seamlessly blending live access to all aspects of the Internet such as<br /> +Web-surfing, blogging, social computing and electronic messaging into<br /> +the audio desktop, Emacspeak enables speech access to local and remote<br /> +information with a consistent and well-integrated user interface. A<br /> +rich suite of task-oriented tools provides efficient speech-enabled<br /> +access to the evolving service-oriented social Internet cloud.<br /> +</p></div></div><br /> +<div id="outline-container-orgc43ee98" class="outline-2"><h2 id="orgc43ee98"><span class="section-number-2">3</span> Major Enhancements:</h2><div class="outline-text-2" id="text-3"><p>This version <b>requires</b> emacs-25.1 or later. <br /> +</p><br /> +<ol class="org-ol"><li>Audio-formatted Mathematics using NodeJS. ⟋🕪<br /> +<ol class="org-ol"><li>DBus integration for handling DBus events. 🚌</li> +<li>Outloud is Easier To Install On 64-Bit Systems. ʕ</li> +<li>Managing Shell Buffers across multiple projects. 📽</li> +<li>EWW loads EBook settings when opening EPub files. 🕮</li> +<li>Bash Utils for power users. 🐚</li> +<li>Speech-Enabled Elisp-Refs. 🤞</li> +<li>Updated C/C++ Mode Support. ䷢</li> +<li>Updated EShell Support. ︹</li> +<li>Speach-Enabled Clojure. 𝍏</li> +<li>Speech-Enabled Geiser For Scheme Interaction. ♨</li> +<li>Speech-Enabled Cider. 🍎</li> +<li>Speech-Enable Racket IDE. ƛ</li> +<li>Parameterized auditory icons using SoX-Gen. 🔊</li> +<li>IHeart Radio wizard. 📻</li> +<li>Speech-Enabled Projectile. 🢫</li> +<li>Spoken notifications are cached in a special buffer. ⏰</li> +<li>Flycheck And Interactive Correction. 𐄂<br /> +<br /> +<ul class="org-ul"><li>And a lot more than wil fit this margin. … 🗞</li> +</ul></li> +</ol></li> +</ol></div></div><br /> +<br /> +<div id="outline-container-org74928bf" class="outline-2"><h2 id="org74928bf"><span class="section-number-2">4</span> Establishing Liberty, Equality And Freedom:</h2><div class="outline-text-2" id="text-4"><p> Never a toy system, Emacspeak is voluntarily bundled with all<br /> +major Linux distributions. Though designed to be modular,<br /> +distributors have freely chosen to bundle the fully integrated<br /> +system without any undue pressure—a documented success for<br /> +the integrated innovation embodied by Emacspeak. As the system<br /> +evolves, both upgrades and downgrades continue to be available at<br /> +the same zero-cost to all users. The integrity of the Emacspeak<br /> +codebase is ensured by the reliable and secure Linux platform<br /> +used to develop and distribute the software.<br /> +</p><br /> +<p>Extensive studies have shown that thanks to these features, users<br /> +consider Emacspeak to be absolutely priceless. Thanks to this<br /> +wide-spread user demand, the present version remains priceless<br /> +as ever—it is being made available at the same zero-cost as<br /> +previous releases.<br /> +</p><br /> +<p>At the same time, Emacspeak continues to innovate in the area of<br /> +eyes-free Assistance and social interaction and carries forward the<br /> +well-established Open Source tradition of introducing user interface<br /> +features that eventually show up in luser environments.<br /> +</p><br /> +<p>On this theme, when once challenged by a proponent of a crash-prone<br /> +but well-marketed mousetrap with the assertion "Emacs is a system from<br /> +the 70's", the creator of Emacspeak evinced surprise at the unusual<br /> +candor manifest in the assertion that it would take popular<br /> +idiot-proven interfaces until the year 2070 to catch up to where the<br /> +Emacspeak audio desktop is today. Industry experts welcomed this<br /> +refreshing breath of Courage Certainty and Clarity (CCC) at a time<br /> +when users are reeling from the Fear Uncertainty and Doubt (FUD)<br /> +unleashed by complex software systems backed by even more convoluted<br /> +press releases.<br /> +</p></div></div><br /> +<div id="outline-container-orge5e01ec" class="outline-2"><h2 id="orge5e01ec"><span class="section-number-2">5</span> Independent Test Results:</h2><div class="outline-text-2" id="text-5"><p>Independent test results have proven that unlike some modern (and<br /> +not so modern) software, Emacspeak can be safely uninstalled without<br /> +adversely affecting the continued performance of the computer. These<br /> +same tests also revealed that once uninstalled, the user stopped<br /> +functioning altogether. Speaking with Aster Labrador, the creator of<br /> +Emacspeak once pointed out that these results re-emphasize the<br /> +user-centric design of Emacspeak; "It is the user &#x2013;and not the<br /> +computer&#x2013; that stops functioning when Emacspeak is uninstalled!".<br /> +</p></div><br /> +<div id="outline-container-org067df87" class="outline-3"><h3 id="org067df87"><span class="section-number-3">5.1</span> Note from Aster,Bubbles and Tilden:</h3><div class="outline-text-3" id="text-5-1"><p>UnDoctored Videos Inc. is looking for volunteers to star in a<br /> +video demonstrating such complete user failure.<br /> +</p></div></div></div><br /> +<div id="outline-container-org44d04f8" class="outline-2"><h2 id="org44d04f8"><span class="section-number-2">6</span> Obtaining Emacspeak:</h2><div class="outline-text-2" id="text-6"><p>Emacspeak can be downloaded from GitHub &#x2013;see<br /> +<a href="https://github.com/tvraman/emacspeak">https://github.com/tvraman/emacspeak</a> you can visit Emacspeak on the<br /> +WWW at <a href="http://emacspeak.sf.net">http://emacspeak.sf.net</a>. You can subscribe to the emacspeak<br /> +mailing list — emacspeak@cs.vassar.edu — by sending mail to the<br /> +list request address emacspeak-request@cs.vassar.edu. The <a href="http://emacspeak.blogspot.com">Emacspeak<br /> +Blog</a> is a good source for news about recent enhancements and how to<br /> +use them.<br /> +</p><br /> +<p>The latest development snapshot of Emacspeak is always available via<br /> +Git from GitHub at <br /> +<a href="https://github.com/tvraman/emacspeak">Emacspeak GitHub </a>.<br /> +</p></div></div><br /> +<div id="outline-container-org40c328f" class="outline-2"><h2 id="org40c328f"><span class="section-number-2">7</span> History:</h2><div class="outline-text-2" id="text-7"><ul class="org-ul"><li>Emacspeak 46.0 (HelpfulDog) heralds the coming of Smart Assistants.</li> +<li>Emacspeak 45.0 (IdealDog) is named in recognition of Emacs'<br /> +excellent integration with various programming language<br /> +environments &#x2014; thanks to this, Emacspeak is the IDE of choice<br /> +for eyes-free software engineering.</li> +<li>Emacspeak 44.0 continues the steady pace of innovation on the<br /> +audio desktop.</li> +<li>Emacspeak 43.0 brings even more end-user efficiency by leveraging the<br /> +ability to spatially place multiple audio streams to provide timely<br /> +auditory feedback.</li> +<li>Emacspeak 42.0 while moving to GitHub from Google Code continues to<br /> +innovate in the areas of auditory user interfaces and efficient,<br /> +light-weight Internet access.</li> +<li>Emacspeak 41.0 continues to improve <br /> +on the desire to provide not just equal, but superior access —<br /> +technology when correctly implemented can significantly enhance the<br /> +human ability.</li> +<li>Emacspeak 40.0 goes back to Web basics by enabling<br /> +<a href="http://emacspeak.blogspot.com/2013/11/reading-web-content-efficiently.html">efficient access</a> to large amounts of readable Web content.</li> +<li>Emacspeak 39.0 continues the Emacspeak tradition of increasing the breadth of<br /> +user tasks that are covered without introducing unnecessary<br /> +bloatware.</li> +<li>Emacspeak 38.0 is the latest in a series of award-winning<br /> +releases from Emacspeak Inc.</li> +<li>Emacspeak 37.0 continues the tradition of<br /> +delivering robust software as reflected by its code-name.</li> +<li>Emacspeak 36.0 enhances the audio desktop with many new tools including full<br /> +EPub support — hence the name EPubDog.</li> +<li>Emacspeak 35.0 is all about<br /> +teaching a new dog old tricks — and is aptly code-named HeadDog in<br /> +on of our new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles)<br /> +established a new beach-head with respect to rapid task completion in<br /> +an eyes-free environment.</li> +<li>Emacspeak-33.0 AKA StarDog brings<br /> +unparalleled cloud access to the audio desktop.</li> +<li>Emacspeak 32.0 AKA<br /> +LuckyDog continues to innovate via open technologies for better<br /> +access.</li> +<li>Emacspeak 31.0 AKA TweetDog — adds tweeting to the Emacspeak<br /> +desktop.</li> +<li>Emacspeak 30.0 AKA SocialDog brings the Social Web to the<br /> +audio desktop—you cant but be social if you speak!</li> +<li>Emacspeak 29.0—AKAAbleDog—is a testament to the resilliance and innovation<br /> +embodied by Open Source software—it would not exist without the<br /> +thriving Emacs community that continues to ensure that Emacs remains<br /> +one of the premier user environments despite perhaps also being one of<br /> +the oldest.</li> +<li>Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of<br /> +development evinced by Open Source software.</li> +<li>Emacspeak 27.0—AKA<br /> +FastDog—is the latest in a sequence of upgrades that make previous<br /> +releases obsolete and downgrades unnecessary.</li> +<li>Emacspeak 26—AKA<br /> +LeadDog—continues the tradition of introducing innovative access<br /> +solutions that are unfettered by the constraints inherent in<br /> +traditional adaptive technologies.</li> +<li>Emacspeak 25 —AKA ActiveDog<br /> +—re-activates open, unfettered access to online<br /> +information.</li> +<li>Emacspeak-Alive —AKA LiveDog —enlivens open, unfettered<br /> +information access with a series of live updates that once again<br /> +demonstrate the power and agility of open source software<br /> +development.</li> +<li>Emacspeak 23.0 &#x2014; AKA Retriever—went the extra mile in<br /> +fetching full access.</li> +<li>Emacspeak 22.0 —AKA GuideDog —helps users<br /> +navigate the Web more effectively than ever before.</li> +<li>Emacspeak 21.0<br /> +—AKA PlayDog —continued the <br /> +Emacspeak tradition of relying on enhanced<br /> +productivity to liberate users.</li> +<li>Emacspeak-20.0 —AKA LeapDog —continues<br /> +the long established GNU/Emacs tradition of integrated innovation to<br /> +create a pleasurable computing environment for eyes-free<br /> +interaction.</li> +<li>emacspeak-19.0 &#x2013;AKA WorkDog&#x2013; is designed to enhance<br /> +user productivity at work and leisure.</li> +<li>Emacspeak-18.0 &#x2013;code named<br /> +GoodDog&#x2013; continued the Emacspeak tradition of enhancing user<br /> +productivity and thereby reducing total cost of<br /> +ownership.</li> +<li>Emacspeak-17.0 &#x2013;code named HappyDog&#x2013; enhances user<br /> +productivity by exploiting today's evolving WWW<br /> +standards.</li> +<li>Emacspeak-16.0 &#x2013;code named CleverDog&#x2013; the follow-up to<br /> +SmartDog&#x2013; continued the tradition of working better, faster,<br /> +smarter.</li> +<li>Emacspeak-15.0 &#x2013;code named SmartDog&#x2013;followed up on TopDog<br /> +as the next in a continuing series of award-winning audio desktop<br /> +releases from Emacspeak Inc.</li> +<li>Emacspeak-14.0 &#x2013;code named TopDog&#x2013;was</li> +</ul><p>the first release of this millennium. <br /> +</p><ul class="org-ul"><li>Emacspeak-13.0 &#x2013;codenamed<br /> +YellowLab&#x2013; was the closing release of the<br /> +20th. century.</li> +<li>Emacspeak-12.0 &#x2013;code named GoldenDog&#x2013; began<br /> +leveraging the evolving semantic WWW to provide task-oriented speech<br /> +access to Webformation.</li> +<li>Emacspeak-11.0 &#x2013;code named Aster&#x2013; went the<br /> +final step in making Linux a zero-cost Internet access solution for<br /> +blind and visually impaired users.</li> +<li>Emacspeak-10.0 &#x2013;(AKA<br /> +Emacspeak-2000) code named WonderDog&#x2013; continued the tradition of<br /> +award-winning software releases designed to make eyes-free computing a<br /> +productive and pleasurable experience.</li> +<li>Emacspeak-9.0 &#x2013;(AKA<br /> +Emacspeak 99) code named BlackLab&#x2013; continued to innovate in the areas<br /> +of speech interaction and interactive accessibility.</li> +<li>Emacspeak-8.0 &#x2013;(AKA Emacspeak-98++) code named BlackDog&#x2013; was a major upgrade to<br /> +the speech output extension to Emacs.</li> +<li>Emacspeak-95 (code named Illinois) was released as OpenSource on<br /> +the Internet in May 1995 as the first complete speech interface<br /> +to UNIX workstations. The subsequent release, Emacspeak-96 (code<br /> +named Egypt) made available in May 1996 provided significant<br /> +enhancements to the interface. Emacspeak-97 (Tennessee) went<br /> +further in providing a true audio desktop. Emacspeak-98<br /> +integrated Internetworking into all aspects of the audio desktop<br /> +to provide the first fully interactive speech-enabled WebTop.</li> +</ul></div></div><br /> +<div id="outline-container-orgb7e4e38" class="outline-2"><h2 id="orgb7e4e38"><span class="section-number-2">8</span> About Emacspeak:</h2><div class="outline-text-2" id="text-8"><p>Originally based at Cornell (NY) —<br /> +<a href="http://www.cs.cornell.edu/home/raman">http://www.cs.cornell.edu/home/raman</a> —home to Auditory User<br /> +Interfaces (AUI) on the WWW, Emacspeak is now maintained on GitHub<br /> +—<a href="https://github.com/tvraman/emacspeak">https://github.com/tvraman/emacspeak</a>. The system is mirrored<br /> +world-wide by an international network of software archives and<br /> +bundled voluntarily with all major Linux distributions. On Monday,<br /> +April 12, 1999, Emacspeak became part of the <a href="http://tvraman.github.io/emacspeak/blog/smithsonian-study.html">Smithsonian's Permanent<br /> +Research Collection</a> on Information Technology at the Smithsonian's<br /> +National Museum of American History.<br /> +</p><br /> +<p>The Emacspeak mailing list is archived at Vassar &#x2013;the home of the<br /> +Emacspeak mailing list&#x2013; thanks to Greg Priest-Dorman, and provides a<br /> +valuable knowledge base for new users.<br /> +</p></div></div><br /> +<div id="outline-container-org3c51d59" class="outline-2"><h2 id="org3c51d59"><span class="section-number-2">9</span> Press/Analyst Contact: Tilden Labrador</h2><div class="outline-text-2" id="text-9"><p>Going forward, Tilden acknowledges his exclusive monopoly on<br /> +setting the direction of the Emacspeak Audio Desktop, and<br /> +promises to exercise this freedom to innovate and her resulting<br /> +power responsibly (as before) in the interest of all dogs.<br /> +</p><br /> +<p>*About This Release:<br /> +</p><hr /><br /> +<p>Windows-Free (WF) is a favorite battle-cry of The League Against<br /> +Forced Fenestration (LAFF). &#x2013;see<br /> +<a href="http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm">http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm</a> for details on<br /> +the ill-effects of Forced Fenestration.<br /> +</p><br /> +<p>CopyWrite )C( Aster, Hubbell and Tilden Labrador. All Writes Reserved.<br /> +HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered<br /> +Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to<br /> +their respective owners.<br /> +</p></div></div></div></div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-79314477152470662012017-04-22T20:19:00.004-07:002017-04-22T20:19:38.429-07:00Mail On The emacspeak Audio Desktop <div id="content"><h1 class="title">Email On The Emacspeak Audio Desktop</h1><div id="outline-container-orgc57f2b7" class="outline-2"><h2 id="orgc57f2b7"><span class="section-number-2">1</span> Overview</h2><div class="outline-text-2" id="text-1"><p>This question comes up every few months on the emacspeak mailing<br /> +list. In general, see<br /> +<a href="https://tvraman.github.io/emacspeak/applications.html">Emacspeak Tools</a> to quickly discover available speech-enabled<br /> +applications. This article outlines some of the available email setups<br /> +given the wide degree of variance in this space.<br /> +</p></div></div><br /> +<div id="outline-container-org472e202" class="outline-2"><h2 id="org472e202"><span class="section-number-2">2</span> Background</h2><div class="outline-text-2" id="text-2"><p>How one puts together an email environment is a function of the<br /> +following:<br /> +</p><br /> +<ol class="org-ol"><li>How email is retrieved.</li> +<li>How email is stored (if storing locally).</li> +<li>How email is sent.</li> +</ol><br /> +<p>Here is an overview of what is available as viewed from the world of<br /> +Linux in general and Emacs in particular: <br /> +</p></div><br /> +<br /> +<div id="outline-container-org6bfd003" class="outline-3"><h3 id="org6bfd003"><span class="section-number-3">2.1</span> Email Retrieval</h3><div class="outline-text-3" id="text-2-1"><p>Email can be retrieved in a number of ways:<br /> +</p><br /> +<ul class="org-ul"><li>IMap via Emacs This is implemented well in GNUS, and poorly in<br /> +Emacs/VM. Note that Emacs is single-threaded, and fetching large<br /> +volumes of email via IMap is painful.</li> +<li>Batch Retrieval: IMap Tools like <span class="underline">fetchmail</span>, <span class="underline">offlineimap</span> and friends that live<br /> +outside of Emacs can be used to batch-retrieve email in the<br /> +background. The retrieved mail gets delivered <i>locally</i> as in the past.</li> +<li>Mail Filtering: UNIX <span class="underline">procmail</span> enables filtering of locally<br /> +delivered email into separate folders for automatically organizing<br /> +incoming email.</li> +</ul></div></div><br /> +<br /> +<div id="outline-container-orgc17c2ee" class="outline-3"><h3 id="orgc17c2ee"><span class="section-number-3">2.2</span> Sending Email</h3><div class="outline-text-3" id="text-2-2"><p>Sending email involves:<br /> +</p><br /> +<ol class="org-ol"><li>Composing email &#x2014; typically invoked via key-sequence <span class="underline">C-x m</span><br /> +(command: <i>compose-mail</i>). Emacs email packages implement<br /> +specific versions of this command, e.g. <i>vm-mail</i> from package<br /> +<span class="underline">emacs/vm</span>, <i>message-mail</i> from the <span class="underline">message</span> package etc.</li> +<li>Sending email: This is specific to the email provider being used,<br /> +e.g., <i>GMail</i>. In the past, UNIX machines could talk <i>SMTP</i> to<br /> +the Mail Gateway, but this has mostly disappeared over time. For<br /> +an example of how to configure Emacs to send email via GMail<br /> +using SMTP , see file <a href="https://github.com/tvraman/emacspeak/blob/master/tvr/gm-smtp.el#L1">tvr/gm-smtp.el</a> in the emacspeak repository.</li> +</ol></div></div><br /> +<br /> +<br /> +<div id="outline-container-orgc45b6b3" class="outline-3"><h3 id="orgc45b6b3"><span class="section-number-3">2.3</span> Local Storage Format</h3><div class="outline-text-3" id="text-2-3"><ul class="org-ul"><li>UNIX Mail: An email folder is a file of messages. This<br /> +format is used by clients like Emacs/VM, UNIX Mail etc.</li> +<li>Maildir: A mail folder is a directory, with<br /> +individual email messages living in files of their<br /> +own. Sample clients include MH-E (UNIX MH), MU4E.</li> +<li>RMail This is Emacs' original email format.</li> +</ul></div></div></div><br /> +<br /> +<div id="outline-container-org49386ea" class="outline-2"><h2 id="org49386ea"><span class="section-number-2">3</span> Putting It All Together</h2><div class="outline-text-2" id="text-3"><p>The next sections show my present email setup put together using the<br /> +building blocks described above. <br /> +</p><br /> +<ol class="org-ol"><li>I use Linux on all my machines, and Android on my phone.</li> +<li>I mostly limit email usage on my phone to get a quick overview of email that might require immediate attention &#x2014; toward this end, I have a <i>to-mobile</i> GMail label that collects urgent messages.</li> +<li>Linux is where I handle email in volume.</li> +<li>I use my <i>Inbox</i> as</li> +</ol><p>my ToDo list &#x2014; which means that I leave little or no email in my<br /> +<i>Inbox</i> unless I'm on vacation and disconnected from email.<br /> +</p></div><br /> +<div id="outline-container-orge0a9247" class="outline-3"><h3 id="orge0a9247"><span class="section-number-3">3.1</span> Desktop: Batch Retrieval And Emacs/VM</h3><div class="outline-text-3" id="text-3-1"><p>This is the email setup on my workstation. See next section for the<br /> +email setup while mobile.<br /> +</p><br /> +<ol class="org-ol"><li>I batch-retrieve email using <span class="underline">fetchmail</span>.</li> +<li>This email gets filtered through <span class="underline">procmail</span> and auto-filed into<br /> +several folders based on a set of procmail rules. Typical rules<br /> +include separating out various email lists into their respective folders.</li> +<li>Note that this does not preclude using <span class="underline">IMap</span> via GNUS to read<br /> +email while online.</li> +<li>Email that is not filtered into separate folders e.g. email that<br /> +is sent directly to me, email regarding projects that need<br /> +immediate attention etc., land up in folder <span class="underline">~/mbox</span>.</li> +<li>So when I launch <span class="underline">emacs/vm</span> on my desktop, the above is all I<br /> +need to deal with at any given moment.</li> +<li>I typically read Auto-filed mailing lists using <span class="underline">emacs/vm</span> about once a day or<br /> +less &#x2014; I use package <span class="underline">mspools</span> to get a quick overview of the<br /> +state of those mail folders.</li> +</ol></div></div><br /> +<div id="outline-container-orgd7ebcf5" class="outline-3"><h3 id="orgd7ebcf5"><span class="section-number-3">3.2</span> Mobile AccessOn Laptop: GNUS And IMap</h3><div class="outline-text-3" id="text-3-2"><p>See <a href="https://github.com/tvraman/emacspeak/blob/master/tvr/gnus-prepare.el#L1">gnus-prepare.el</a> for my <span class="underline">gnus</span> configuration for accessing GMail<br /> +via <span class="underline">imap</span>. That configuration is setup to access multiple GMail accounts.<br /> +</p><br /> +<ol class="org-ol"><li>I see each GMail label as a separate group in <span class="underline">GNUS</span>.</li> +<li>I only sync high-priority labels &#x2014; this works well even<br /> +over slow WIFI connections while on the road. As an example, the<br /> +afore-mentioned <i>to-mobile</i> GMail label is a high-priority group.</li> +<li>Module <span class="underline">gm-nnir</span> defines a <span class="underline">GNUS/GMail</span> extension that enables<br /> +one to search GMail using GMail's search operators &#x2014; that is my<br /> +prefered means of quickly finding email messages using<br /> +search. This is very fast since the search happens server-side,<br /> +and only email headers are retrieved when displaying the search<br /> +hits.</li> +<li>Note that this solution is not laptop/mobile specific &#x2014; I use<br /> +this setup for searching GMail from my desktop as well.</li> +</ol></div></div><br /> +<div id="outline-container-orgea285cc" class="outline-3"><h3 id="orgea285cc"><span class="section-number-3">3.3</span> Composing And Sending EMail</h3><div class="outline-text-3" id="text-3-3"><ol class="org-ol"><li>I use <i>compose-mail</i> to compose email.</li> +<li>I optionally activate <span class="underline">orgtbl-mode</span> and/or <span class="underline">orgstruct-mode</span> if<br /> +editing structured content within the email body.</li> +<li>I send email out using the setup in <a href="https://github.com/tvraman/emacspeak/blob/master/tvr/gm-smtp.el#L1">gm-smtp.el</a>.</li> +</ol></div></div></div><br /> +<div id="outline-container-org9b97991" class="outline-2"><h2 id="org9b97991"><span class="section-number-2">4</span> Conclusion</h2><div class="outline-text-2" id="text-4"><ol class="org-ol"><li>Email in Linux/Emacs is composed of a set of<br /> +independent building blocks &#x2014; this gives maximal flexibility.</li> +<li>That flexibility allows one to put together different email<br /> +workflows depending on the connectivity environment in use.</li> +</ol></div></div></div></div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-39297770565158855962017-03-01T09:24:00.001-08:002017-03-01T09:24:56.402-08:00Emacs: Check Interactive Call For Emacspeak<div id="content"><h1 class="title">Emacs: Check Interactive Call For Emacspeak</h1><div id="outline-container-org56178b1" class="outline-2"><h2 id="org56178b1"><span class="section-number-2">1</span> Background</h2><div class="outline-text-2" id="text-1"><p>Emacspeak uses advice as the means to speech-enable Emacs.<br /> +Emacspeak's <b>advice</b> forms need to check if the function being<br /> +speech-enabled is being called interactively &#x2014; otherwise one would<br /> +get a lot of chatter as these functions get called from within elisp<br /> +programs, e.g. functions like <span class="underline">forward-sexp</span> or <span class="underline">kill-sexp</span>, that play<br /> +the dual role of both an interactive command, as well as a convenient<br /> +elisp function.<br /> +</p><br /> +<br /> +<p>Until Emacs 24, the solution used was to write code that did the<br /> +following check:<br /> +</p><br /> +<pre class="example">(when (interactive-p) ... +</pre><br /> +<p>In Emacs-24, <span class="underline">interactive-p</span> was made obsolete and replaced with <br /> +</p><pre class="example">(called-interactively-p 'interactive) +</pre><br /> +<p>Emacspeak initially used the above form to perform the equivalent<br /> +check. However, around the same time, Emacs' <b>advice</b> implementation<br /> +went through some changes, and there was an attempt to replace<br /> +<b>advice.el</b> with <b>nadvice.el</b>.<br /> +</p><br /> +<p>At the end of that round of changes, some problems emerged with the<br /> +new <span class="underline">called-interactively-p</span> implementation; specifically, calling<br /> +:called-interactively-p_ within <span class="underline">around</span> advice forms resulted in hard<br /> +to debug errors, including one case of infinite recursion involving<br /> +library <b>smie.el</b> when invoked from within <span class="underline">ruby-mode</span>.<br /> +</p><br /> +<p>After studying the problem in depth in 2014, I decided to create an<br /> +Emacspeak-specific implementation of the <span class="underline">is-interactive</span> check.<br /> +</p><br /> +<p>The resulting implementation has worked well for the last 30 months;<br /> +this article is here mostly to document how it works, and the reason<br /> +for its existence. Note that Emacspeak uses this custom predicate<br /> +<b>only</b> within <span class="underline">advice</span> forms. Further, this predicate has been coded<br /> +to only work within <span class="underline">advice</span> forms created by <span class="underline">emacspeak</span>. This<br /> +constraint can likely be relaxed, but the tighter implementation is<br /> +less risky.<br /> +</p></div></div><br /> +<div id="outline-container-orgbf6c7c7" class="outline-2"><h2 id="orgbf6c7c7"><span class="section-number-2">2</span> Implementation &#x2014; <span class="underline">ems-interactive-p</span></h2><div class="outline-text-2" id="text-2"></div><div id="outline-container-orge4c53de" class="outline-3"><h3 id="orge4c53de"><span class="section-number-3">2.1</span> Overview</h3><div class="outline-text-3" id="text-2-1"><p>Within an <span class="underline">advice</span> forms defined by Emacspeak, detect if the enclosing<br /> +function call is the result of explicit user interaction, i.e. by<br /> +pressing a key, or via an explicit call to<br /> +<span class="underline">call-interactively</span>. Emacspeak produces auditory feedback only if<br /> +this predicate returns <span class="underline">t</span>.<br /> +</p><br /> +<p>We first introduce a flag that will be used to record if the enclosing<br /> +(containing) function has an Emacspeak-defined advice on it and is<br /> +called interactively &#x2014; these are the only cases that our predicate<br /> +needs to test.<br /> +</p><pre class="example">(defvar ems-called-interactively-p nil + "Flag that records if containing function was called interactively." +</pre><br /> +<p>Next, we define a function that checks if interactive calls to a<br /> +function should be recorded. We're only interested in functions that<br /> +have an <span class="underline">advice</span> form defined by Emacspeak &#x2014; all Emacspeak-defined<br /> +advice forms have the name <span class="underline">emacspeak</span>.<br /> +</p><br /> +<pre class="example">(defun ems-record-interactive-p (f) + "Predicate to test if we need to record interactive calls of +this function. Memoizes result for future use by placing a +property 'emacspeak on the function symbol." + (cond + ((not (symbolp f)) nil) + ((get f 'emacspeak) t) ; already memoized + ((ad-find-some-advice f 'any "emacspeak") ; there is an emacspeak advice + (put f 'emacspeak t)) ; memoize for future and return true + (t nil))) +</pre><br /> +<p>This is a memoized function that remembers earlier invocations by<br /> +setting property <span class="underline">emacspeak</span> on the function symbol.<br /> +</p><br /> +<p>All <span class="underline">advice</span> forms created by Emacspeak are named <span class="underline">emacspeak</span>, so we<br /> +can test for the presence of such advice forms using the test:<br /> +</p><br /> +<pre class="example">(ad-find-some-advice f 'any "emacspeak") +</pre><br /> +<p>If this test returns <span class="underline">T</span>, we memoize the result and return it.<br /> +</p><br /> +<p>Next, we advice function <span class="underline">call-interactively</span> to check <br /> +if the function being called interactively is one of the functions<br /> +that has been adviced by Emacspeak. If so, we record the fact in the<br /> +previously declared global flag <br /> +<span class="underline">ems-called-interactively-p</span>.<br /> +</p><br /> +<br /> +<pre class="example">(defadvice call-interactively (around emacspeak pre act comp) + "Set emacspeak interactive flag if there is an Emacspeak advice +on the function being called." + (let ((ems-called-interactively-p ems-called-interactively-p)) ; preserve enclosing state + (when (ems-record-interactive-p (ad-get-arg 0)) + (setq ems-called-interactively-p (ad-get-arg 0))) + ad-do-it)) +</pre><br /> +<p>We define an equivalent advice form on function<br /> +<span class="underline">funcall-interactively</span> as well. Now, whenever any function that has<br /> +been adviced by Emacspeak is called interactively, that interactive<br /> +call gets recorded in the global flag. In the custom Emacspeak<br /> +predicate we define, we check the value of this flag, and if<br /> +set, consume it, i.e. unset the flag and return <span class="underline">T</span>.<br /> +</p><br /> +<pre class="example">(defsubst ems-interactive-p () + "Check our interactive flag. +Return T if set and we are called from the advice for the current +interactive command. Turn off the flag once used." + (when ems-called-interactively-p ; interactive call + (let ((caller (cl-second (backtrace-frame 1))) ; name of containing function + (caller-advice ;advice generated wrapper + (ad-get-advice-info-field ems-called-interactively-p 'advicefunname)) + (result nil)) + (setq result + (or (eq caller caller-advice) ; called from our advice + (eq ems-called-interactively-p caller))) ; called from advice wrapper + (when result + (setq ems-called-interactively-p nil) ; turn off now that we used it + result)))) +</pre><br /> +<p>The only fragile part of the above predicate is the call to<br /> +<span class="underline">backtrace-frame</span> which we use to discover the name of the enclosing<br /> +function. Notice however that this is no more fragile than the current<br /> +implementation of <span class="underline">called-interactively-p</span> &#x2014; which also uses<br /> +<span class="underline">backtrace-frame</span>; If there are changes in the byte-compiler, this<br /> +form may need to be updated. The implementation above has the<br /> +advantage of working correctly for Emacspeak's specific use-case.<br /> +</p></div></div></div></div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-12997131743303537152017-02-10T11:22:00.000-08:002017-02-10T11:22:27.544-08:00Audio Deja Vu: Audio Formatted Math On The Emacspeak Desktop<div dir="ltr" style="text-align: left;" trbidi="on"><br /> +<div id="content"><h1 class="title">Audio Deja Vu: Audio Formatted Math On The Emacspeak Desktop</h1><div id="outline-container-orge11e00b" class="outline-2"><h2 id="orge11e00b"><span class="section-number-2">1</span> Overview</h2><div class="outline-text-2" id="text-1"><p>This article previews a new feature in the next Emacspeak release — <br /> +audio-formatted Mathematics using Aural CSS. <a href="http://www.cs.bham.ac.uk/~vxs"> Volker Sorge</a> worked<br /> +at Google as a Visiting Scientist from Sep 2012 to August 2013, when<br /> +we implemented <a href="https://www.youtube.com/watch?v=YyWu9HB9QtU">math<br /> +access in ChromeVox</a> — see <a href="http://allthingsd.com/20130604/t-v-ramans-audio-deja-vu-from-google-a-math-reading-system-for-the-web/">this brief overview</a>. Since leaving<br /> +Google, Volker has refactored and extended his work to create an Open<br /> +Source <a href="https://github.com/zorkow/speech-rule-engine">Speech-Rule-Engine</a> implemented using NodeJS. This<br /> +speech-rule-engine can be used in many different environments;<br /> +Emacspeak leverages that work to enable audio-formatting and<br /> +interactive browsing of math content.<br /> +</p></div></div><br /> +<br /> +<div id="outline-container-org077db06" class="outline-2"><h2 id="org077db06"><span class="section-number-2">2</span> Overview Of Functionality</h2><div class="outline-text-2" id="text-2"><p>Math access on the Emacspeak desktop is implemented via module<br /> +<a href="https://github.com/tvraman/emacspeak/blob/master/lisp/emacspeak-maths.el#L558">emacspeak-maths.el</a> — see <a href="https://github.com/tvraman/emacspeak/blob/master/js/node/Readme.org#L40">js/node/Readme.org</a> in the Emacspeak GitHub<br /> +repository for setup instructions. <br /> +</p><br /> +<p>Once loaded, module <code>emacspeak-maths</code> provides a <i>Math Navigator</i> that<br /> +implements the user interface for sending Math expressions to the<br /> +Speech-Rule-Engine, and for interactively browsing the resulting<br /> +structure. At each step of the interaction, Emacspeak receives math<br /> +expressions that have been annotated with Aural CSS and produces<br /> +audio-formatted output. The audio-formatted text can itself be<br /> +navigated in a special <i><b>Spoken Math</b></i> emacs buffer.<br /> +</p><br /> +<p>Module <code>emacspeak-maths.el</code> implements various affordances for<br /> +dispatching mathematical content to the Speech-Rule-Engine — see<br /> +usage examples in the next section.<br /> +</p></div></div><br /> +<div id="outline-container-org01ccc81" class="outline-2"><h2 id="org01ccc81"><span class="section-number-2">3</span> Usage Examples</h2><div class="outline-text-2" id="text-3"></div><div id="outline-container-org902c07f" class="outline-3"><h3 id="org902c07f"><span class="section-number-3">3.1</span> The Emacspeak Maths Navigator</h3><div class="outline-text-3" id="text-3-1"><ul class="org-ul"><li>The <i>maths navigator</i> can be invoked by pressing <span class="underline">S-SPC</span> (hold<br /> +down Windows key and press SPC) — this runs the command <span class="underline">emacspeak-maths-navigator/body</span>.</li> +<li>Once invoked, the /Maths Navigator can be used to enter an<br /> +expression to read.</li> +<li>Pressing <span class="underline">SPC</span> again prompts for the LaTeX math expression.</li> +<li>Pressing <span class="underline">RET</span> guesses the expression to read from the current context.</li> +<li>The arrow keys navigate the expression being read.</li> +<li>Pressing <span class="underline">o</span> switches to the <i><b>Spoken Math</b></i> buffer and exits the<br /> +navigator.</li> +</ul><br /> +<p>See the <a href="http://tvraman.github.io/emacspeak/manual/emacspeak_002dmaths.html#emacspeak_002dmaths">relevant chapter</a> in the online Emacspeak manual for details.<br /> +</p></div></div><br /> +<div id="outline-container-org1a9896c" class="outline-3"><h3 id="org1a9896c"><span class="section-number-3">3.2</span> Math Content In LaTeX Documents</h3><div class="outline-text-3" id="text-3-2"><ol class="org-ol"><li>Open a LaTeX document containing math content.</li> +<li>Move point to a line containing mathematical markup.</li> +<li>Press <span class="underline">S-SPC</span> <span class="underline">RET</span> to have that expression audio-formatted.</li> +<li>Use arrow keys to navigate the resulting structure.</li> +<li>Press any other key to exit the navigator.</li> +</ol></div></div><br /> +<div id="outline-container-org2a619d9" class="outline-3"><h3 id="org2a619d9"><span class="section-number-3">3.3</span> Math Content On Wikipedia</h3><div class="outline-text-3" id="text-3-3"><ol class="org-ol"><li>Open a Wikipedia page in the Emacs Web Wowser (EWW) that has<br /> +mathematical content.</li> +<li>Wikipedia displays math as images, with the alt-text giving the<br /> +LaTeX representation.</li> +<li>Navigate to some math content on the page, then press <span class="underline">S-SPC</span><br /> +<span class="underline">a</span> to speak that content — <span class="underline">a</span> is for alt.</li> +<li>As an example, navigate to <a href="https://en.wikipedia.org/wiki/Derangement">Wikipedia Math Example</a>, locate math expressions on that page, then<br /> +press <span class="underline">S-SPC a</span>.</li> +</ol></div></div><br /> +<div id="outline-container-org89e3330" class="outline-3"><h3 id="org89e3330"><span class="section-number-3">3.4</span> Math Content From The Emacs Calculator</h3><div class="outline-text-3" id="text-3-4"><ol class="org-ol"><li>The built-in Emacs Calculator (<code>calc</code>) provides many complex<br /> +math functions including symbolic algebra.</li> +<li>For my personal <code>calc</code> setup, see <a href="https://github.com/tvraman/emacspeak/blob/master/tvr/calc-prepare.el#L25">tvr/calc-prepare.el</a> in the<br /> +Emacspeak GitHub repo.</li> +<li>This setting below sets up the Emacs Calculator to output results<br /> +as LaTeX: <span class="underline">(setq calc-language 'tex)</span></li> +<li>With the above setting in effect, launch the emacs Calculator by<br /> +pressing <span class="underline">M-##</span>.</li> +<li>Press <span class="underline">'</span> — to use algebraic mode — and enter <code>sin(x)</code>.</li> +<li>Press <span class="underline">a t</span> to get the Taylor series expansion of the above<br /> +expression, and press <span class="underline">x</span> when prompted for the variable.</li> +<li>This displays the Taylor Series expansion up to the desired<br /> +number of terms — try <span class="underline">7</span> terms.</li> +<li>Now, with Calc having shown the results as TeX, press <span class="underline">S-SPC</span><br /> +<span class="underline">RET</span> to browse this expression using the <i>Maths Navigator</i>.</li> +</ol></div></div></div><br /> +<br /> +<br /> +<div id="outline-container-org2deefc5" class="outline-2"><h2 id="org2deefc5"><span class="section-number-2">4</span> And The Best Is Yet To Come</h2><div class="outline-text-2" id="text-4"><p>This is intentionally called an <i>early preview</i> because there is still<br /> +much that can be improved:<br /> +</p><br /> +<ol class="org-ol"><li>Enhance the rule engine to infer and convey more semantics.</li> +<li>Improved audio formatting rules to better present the available information.</li> +<li>Update/tune the use of Aural CSS properties to best leverage<br /> +today's TTS engines.</li> +<li>Integrate math-reading functionality into more usage contexts in<br /> +addition to the ones enumerated in this article.</li> +</ol></div></div><br /> +<br /> +<div id="outline-container-org5287b6e" class="outline-2"><h2 id="org5287b6e"><span class="section-number-2">5</span> References</h2><div class="outline-text-2" id="text-5"><ol class="org-ol"><li><a href="https://www.youtube.com/watch?v=YyWu9HB9QtU">Youtube Video from early 2013 demonstrating Math Access in Chrome</a></li> +<li><a href="http://allthingsd.com/20130604/t-v-ramans-audio-deja-vu-from-google-a-math-reading-system-for-the-web/">AllThings Digital</a> outlining math access — published June 2013.</li> +<li><a href="https://github.com/zorkow/emacs-math-speak/blob/master/paper/assets16.tex">Assets 2016</a> publication describing this work.</li> +<li><a href="https://github.com/tvraman/emacspeak/blob/master/js/node/aster-math-examples.tex">js/node/aster-math-examples.tex</a> Collection of math examples in<br /> +LaTeX from AsTeR. Used to progressively improve speech-rules and<br /> +the resulting audio-formatted output</li> +<li><a href="https://github.com/zorkow/speech-rule-engine">Speech-Rule-Engine</a> on github.</li> +<li>Speech-Rule-Engine in action: <a href="https://www.mathjax.org/mathjax-accessibility-extensions-v1-now-available/">Accessible Maths in all browsers</a></li> +</ol></div></div></div><div id="postamble" class="status"><p class="date">Date: 2017-02-08 Wed 00:00</p><p class="author">Author: T.V Raman</p></div><br /> +</div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-53337310544059769192017-01-04T11:09:00.001-08:002017-01-04T11:13:59.260-08:00Fun With TTS (Voxin) And Ladspa<div dir="ltr" style="text-align: left;" trbidi="on"><div id="content"><h1 class="title">Fun With TTS (Voxin) And Ladspa</h1><div id="outline-container-org2e8f78d" class="outline-2"><h2 id="org2e8f78d"><span class="section-number-2">1</span> Executive Summary</h2><div class="outline-text-2" id="text-1"><p>Voxin 1.6 &#x2014; AKA ViaVoice Outloud &#x2014; no longer requires that the<br /> +Emacspeak TTS server be built as a 32-bit binary. This means that<br /> +installing Voxin on 64-bit systems is now significantly easier since<br /> +you no longer need to install 32-bit versions of TCL, TCLX, and the<br /> +dependencies needed by library <span class="underline">libibmeci.so</span>. In addition to<br /> +easing the installation process, not needing 32-bit binaries means<br /> +that the Emacspeak Outloud server can now take advantage of audio<br /> +processing such as that provided by LADSPA.<br /> +</p></div></div><br /> +<div id="outline-container-org5150d58" class="outline-2"><h2 id="org5150d58"><span class="section-number-2">2</span> Going 64-Bit: Upgrading To Voxin 1.6</h2><div class="outline-text-2" id="text-2"><ol class="org-ol"><li>Install Voxin-1.6 or later from <a href="https://voxin.oralux.net/update/voxin-update-1.6.tgz">Voxin</a>.</li> +<li>Update Emacspeak from GitHub (this will be part of the next<br /> +public release).</li> +<li>Rebuild the <span class="underline">atcleci.so</span> binary in the <span class="underline">servers/linux-outloud</span><br /> +directory:</li> +</ol><pre class="example">cd servers/linux-outloud &amp;&amp; make clean &amp;&amp; make +</pre><br /> +<p>If all goes well, you'll now have a 64-bit version of <span class="underline">atcleci.so</span>.<br /> +You can now run the Outloud server as <span class="underline">servers/outloud</span>.<br /> +In about a year's time, <span class="underline">servers/32-outloud</span> will move to<br /> +<span class="underline">servers/obsolete</span>, as will the associated <span class="underline">servers/32-speech-server</span><br /> +and <span class="underline">servers/ssh-32-outloud</span>.<br /> +</p></div></div><br /> +<br /> +<div id="outline-container-org9a57fc2" class="outline-2"><h2 id="org9a57fc2"><span class="section-number-2">3</span> Applying LADSPA Effects Processing To TTS</h2><div class="outline-text-2" id="text-3"><p>With a 64-bit build of <span class="underline">atcleci.so</span> in place, we can now call on<br /> +installed LADSPA plugins to apply digital sound processing to TTS<br /> +output. To experiment with the possibilities, see some of the<br /> +virtual sound devices defined in <span class="underline">servers/linux-outloud/asoundrc</span>.<br /> +Copy over that file to your <span class="underline">~/.asoundrc</span> after updating it to match<br /> +your sound setup &#x2014; you'll likely need to change the default<br /> +sound-card to match your setup.<br /> +You can now set environment variable <code>ALSA_DEFAULT</code> to one of the<br /> +<code>tts_&lt;effect&gt;</code> virtual devices &#x2014; and have the Outloud server apply<br /> +the specified LADSPA effect to the generated TTS. Here is an example:<br /> +</p><br /> +<pre class="example">cd servers +(export ALSA_DEFAULT=tts_reverb; ./outloud) +tts_selftest +</pre></div></div><br /> +<div id="outline-container-orgad06121" class="outline-2"><h2 id="orgad06121"><span class="section-number-2">4</span> The Best Is Yet To Come &#x2026;</h2><div class="outline-text-2" id="text-4"><p>The possibilities are endless &#x2014; ALSA with LADSPA provides a rich<br /> +suite of audio processing possibilities.<br /> +</p></div></div><br /> +<div id="outline-container-org8489d49" class="outline-2"><h2 id="org8489d49"><span class="section-number-2">5</span> Acknowledgements</h2><div class="outline-text-2" id="text-5"><p>I'd like to acknowledge <a href="https://github.com/Oralux/libvoxin">Gilles Casse </a> for his work over the years on<br /> +ensuring that Linux users have access to good quality TTS. Outloud<br /> +would have been dead a long time ago if it weren't for his continued<br /> +efforts toward keeping the lights on. His newest creation, <span class="underline">libvoxin</span><br /> +that forms the crux of Voxin-1.6 is an excellent piece of engineering<br /> +that is likely to help Outloud survive for the future on modern Linux<br /> +distros. Note that Gilles is also the primary author of the Emacspeak<br /> +ESpeak server.<br /> +</p></div></div></div></div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-75068354086390258402016-11-29T15:01:00.000-08:002016-11-29T15:06:20.859-08:00Follow-Up: Soundscapes On The Emacspeak Audio Desktop<div dir="ltr" style="text-align: left;" trbidi="on"><div id="content"><h1 class="title">Follow-Up: Soundscapes On The Emacspeak Audio Desktop</h1><div id="outline-container-orgf3ef09d" class="outline-2"><h2 id="orgf3ef09d"><span class="section-number-2">1</span> Executive Summary</h2><div class="outline-text-2" id="text-1"><p>Nearly a year ago, I <a href="http://emacspeak.blogspot.com/2015/12/soundscapes-on-emacspeak-audio-desktop.html">blogged here</a> about Soundscapes on the emacspeak<br /> +Audio Desktop. That article ended with this following paragraph:<br /> +</p><br /> +<pre class="example">I implemented package soundscape to create a platform that would let me experiment +with different tools that aid in concentration. After using Soundscapes for about a week, +I have also found that it reduces some of the fatigue that results from having to listen +to synthetic text-to-speech for extended periods. The true value (if any) of this package +will be a function of how heavily I find myself using it six months from now --- as a +metric, complete success might mean that in mid-2016, I still have automatic soundscapes +turned on. +</pre></div></div><br /> +<br /> +<div id="outline-container-org69a9232" class="outline-2"><h2 id="org69a9232"><span class="section-number-2">2</span> And Nearly A Year Later &#x2026;</h2><div class="outline-text-2" id="text-2"><p>I have not found the need to turn off Soundscapes in Emacspeak. As<br /> +conjectured, it has definitely increased my productivity, specifically<br /> +in terms of staying focused on a given task at hand. Over the year,<br /> +I've also augmented the emacspeak Audio Desktop with support for<br /> +binaural audio — see module <code>sox-gen</code> — which provides a collection of<br /> +binaural themes for use during different times of the day. Binaural<br /> +themes generated by that module overlay Emacspeak Soundscapes to<br /> +provide an ideal auditory environment for use over headphones.<br /> +</p></div></div><br /> +<div id="outline-container-org18030cb" class="outline-2"><h2 id="org18030cb"><span class="section-number-2">3</span> Soundscape Enhancements</h2><div class="outline-text-2" id="text-3"><p>Since the publication of the original article, Emacspeak Soundscapes<br /> +have been enhanced with additional sounds from<br /> +<a href="http://freesound.org">Freesound.org</a>. Emacspeak Soundscapes have been updated to take<br /> +advantage of Boodler's limited abilities in the areas of spatial<br /> +positioning. I typically use <code>Soundscapes</code> with one of several virtual<br /> +ALSA devices that have been configured to apply different Ladspa<br /> +effects such as <i>reverb</i> or <i>crossfeed</i> depending on the ambient<br /> +environment where I am working &#x2014; this significantly improves the<br /> +spatialization of soundscapes being played &#x2014; see file<br /> +<a href="https://github.com/tvraman/emacspeak/blob/master/scapes/ladspa-asoundrc#L1">ladspa-asoundrc</a>. Finally, the mapping of Soundscapes to various Emacs<br /> +modes has also been tuned. &#x2014; see table below.<br /> +</p><br /> +<br /> +<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> + +<colgroup> +<col class="org-left" /> + +<col class="org-left" /> +</colgroup> +<tbody> +<tr> +<td class="org-left">Soundscape (Mood)</td> +<td class="org-left">List Of Major Modes</td> +</tr> + +<tr> +<td class="org-left">BirdSongs</td> +<td class="org-left">shell term</td> +</tr> + +<tr> +<td class="org-left">BlopEchoes</td> +<td class="org-left">elfeed-search</td> +</tr> + +<tr> +<td class="org-left">Bonfire</td> +<td class="org-left">calendar diary</td> +</tr> + +<tr> +<td class="org-left">BuddhaLoop</td> +<td class="org-left">comint</td> +</tr> + +<tr> +<td class="org-left">Cavern</td> +<td class="org-left">prog</td> +</tr> + +<tr> +<td class="org-left">ChangingLoops</td> +<td class="org-left">special</td> +</tr> + +<tr> +<td class="org-left">ChangingLoopsPitches</td> +<td class="org-left">lisp-interaction</td> +</tr> + +<tr> +<td class="org-left">Drip</td> +<td class="org-left">message gnus-summary gnus-article gnus-group mspools vm-presentation vm mail twittering jabber-roster jabber-chat erc</td> +</tr> + +<tr> +<td class="org-left">LoopStew</td> +<td class="org-left">emacspeak-m-player</td> +</tr> + +<tr> +<td class="org-left">NoStormYet</td> +<td class="org-left">fundamental</td> +</tr> + +<tr> +<td class="org-left">RainForever</td> +<td class="org-left">Info help Man Custom messages-buffer</td> +</tr> + +<tr> +<td class="org-left">RainSounds</td> +<td class="org-left">magit vc</td> +</tr> + +<tr> +<td class="org-left">Still</td> +<td class="org-left">text view</td> +</tr> + +<tr> +<td class="org-left">SurfWaves</td> +<td class="org-left">w3 eww</td> +</tr> + +<tr> +<td class="org-left">TonkSpace</td> +<td class="org-left">tabulated-list</td> +</tr> + +<tr> +<td class="org-left">WaterFlow</td> +<td class="org-left">dired</td> +</tr> +</tbody> +</table></div></div><br /> +<br /> +<div id="outline-container-org2da2aea" class="outline-2"><h2 id="org2da2aea"><span class="section-number-2">4</span> Summary</h2><div class="outline-text-2" id="text-4"><p>As outlined in a previous article, <a href="http://emacspeak.blogspot.com/2016/02/augmented-headphone-listening-on-linux.html"> sound on Linux</a> provides unending<br /> +possibilities with respect to innovation, here's looking forward to<br /> +better things to come.<br /> +</p></div></div></div></div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-54607776000469344162016-11-20T08:43:00.001-08:002016-11-20T08:43:03.277-08:00Emacspeak 45.0 (IdealDog) Unleashed!<div id="content"><h1 class="title">Emacspeak 45.0—IdealDog—Unleashed!</h1><p><b>For Immediate Release:</b><br /> +</p><br /> +<p>San Jose, Calif., (Nov 21, 2016)<br /> +</p><br /> +<p>Emacspeak: Redefining Accessibility In The Era Of (Real)Intelligent Computing <br /> +&#x2013;Zero cost of Ownership makes priceless software Universally affordable!<br /> +</p><br /> +<p>Emacspeak Inc (NASDOG: ESPK) &#x2014; <a href="http://github.com/tvraman/emacspeak">http://github.com/tvraman/emacspeak</a> &#x2014; announces the<br /> +immediate world-wide availability of <a href="https://github.com/tvraman/emacspeak/releases/download/44.0/emacspeak-45.0.tar.bz2">Emacspeak 45.0</a> (IdealDog) &#x2014; a<br /> +powerful audio desktop for leveraging today's evolving data, social<br /> +and service-oriented Internet cloud.<br /> +</p><br /> +<div id="outline-container-org2d710c6" class="outline-2"><h2 id="org2d710c6"><span class="section-number-2">1</span> Investors Note:</h2><div class="outline-text-2" id="text-1"><p>With several prominent tweeters expanding coverage of<br /> +<span class="underline">#emacspeak</span>, NASDOG: ESPK has now been consistently trading over<br /> +the social net at levels close to that once attained by DogCom<br /> +high-fliers—and as of Nov 2016 is trading at levels close to<br /> +that achieved by once better known stocks in the tech sector.<br /> +</p></div></div><br /> +<div id="outline-container-orgb45aece" class="outline-2"><h2 id="orgb45aece"><span class="section-number-2">2</span> What Is It?</h2><div class="outline-text-2" id="text-2"><p>Emacspeak is a fully functional audio desktop that provides complete<br /> +eyes-free access to all major 32 and 64 bit operating environments. By<br /> +seamlessly blending live access to all aspects of the Internet such as<br /> +Web-surfing, blogging, social computing and electronic messaging into<br /> +the audio desktop, Emacspeak enables speech access to local and remote<br /> +information with a consistent and well-integrated user interface. A<br /> +rich suite of task-oriented tools provides efficient speech-enabled<br /> +access to the evolving service-oriented social Internet cloud.<br /> +</p></div></div><br /> +<div id="outline-container-org19ce274" class="outline-2"><h2 id="org19ce274"><span class="section-number-2">3</span> Major Enhancements:</h2><div class="outline-text-2" id="text-3"><ul class="org-ul"><li>Speech-enabled <code>tide</code> for typescript development. 🌊</li> +<li>Speech-enabled <code>jade</code> for Javascript WebApp development. ⺩</li> +<li>Improved <code>slime</code> support for Lisp programming. Λ</li> +<li>Support for rst-mode for editting ReST files.🖹</li> +<li>Version control info in modeline.⎔</li> +<li>Speech-enabled <code>elisp-refs</code> to aid in refactoring. ※</li> +<li>GPG integration including pinentry support. 🔐</li> +<li>ElScreen support for window-layout management. 🆜</li> +<li>Updated Librivox client for audio books. 🔊🕮</li> +<li>Updated sound themes. 🔉</li> +<li>Support for Emacs' visual-line-mode. 🎁</li> +<li>Speech-enabled Threes game. 🎮</li> +<li>Updated Google News support. 📰</li> +<li>Binaural audio support including several predefined binaural themes. ℗<br /> +<ul class="org-ul"><li>Updated multilingual support for ESpeak. 󠀁</li> +</ul></li> +<li><a href="https://gist.github.com/08046e9befd9755dc05282ae5c8d32f5">Script etc/bootstrap.sh</a> for bootstrapping into Emacspeak on a well-configured Linux system. 👢</li> +<li>And a lot more than wil fit this margin. … 🗞</li> +</ul></div></div><br /> +<br /> +<div id="outline-container-org3d817b7" class="outline-2"><h2 id="org3d817b7"><span class="section-number-2">4</span> Establishing Liberty, Equality And Freedom:</h2><div class="outline-text-2" id="text-4"><p>Never a toy system, Emacspeak is voluntarily bundled with all<br /> +major Linux distributions. Though designed to be modular,<br /> +distributors have freely chosen to bundle the fully integrated<br /> +system without any undue pressure—a documented success for<br /> +the integrated innovation embodied by Emacspeak. As the system<br /> +evolves, both upgrades and downgrades continue to be available at<br /> +the same zero-cost to all users. The integrity of the Emacspeak<br /> +codebase is ensured by the reliable and secure Linux platform<br /> +used to develop and distribute the software.<br /> +</p><br /> +<p>Extensive studies have shown that thanks to these features, users<br /> +consider Emacspeak to be absolutely priceless. Thanks to this<br /> +wide-spread user demand, the present version remains priceless<br /> +as ever—it is being made available at the same zero-cost as<br /> +previous releases.<br /> +</p><br /> +<p>At the same time, Emacspeak continues to innovate in the area of<br /> +eyes-free social interaction and carries forward the<br /> +well-established Open Source tradition of introducing user<br /> +interface features that eventually show up in luser environments.<br /> +</p><br /> +<p>On this theme, when once challenged by a proponent of a crash-prone<br /> +but well-marketed mousetrap with the assertion "Emacs is a system from<br /> +the 70's", the creator of Emacspeak evinced surprise at the unusual<br /> +candor manifest in the assertion that it would take popular<br /> +idiot-proven interfaces until the year 2070 to catch up to where the<br /> +Emacspeak audio desktop is today. Industry experts welcomed this<br /> +refreshing breath of Courage Certainty and Clarity (CCC) at a time<br /> +when users are reeling from the Fear Uncertainty and Doubt (FUD)<br /> +unleashed by complex software systems backed by even more convoluted<br /> +press releases.<br /> +</p></div></div><br /> +<div id="outline-container-org7205772" class="outline-2"><h2 id="org7205772"><span class="section-number-2">5</span> Independent Test Results:</h2><div class="outline-text-2" id="text-5"><p>Independent test results have proven that unlike some modern (and<br /> +not so modern) software, Emacspeak can be safely uninstalled without<br /> +adversely affecting the continued performance of the computer. These<br /> +same tests also revealed that once uninstalled, the user stopped<br /> +functioning altogether. Speaking with Aster Labrador, the creator of<br /> +Emacspeak once pointed out that these results re-emphasize the<br /> +user-centric design of Emacspeak; "It is the user &#x2013;and not the<br /> +computer&#x2013; that stops functioning when Emacspeak is uninstalled!".<br /> +</p></div><br /> +<div id="outline-container-orgdd4d5fe" class="outline-3"><h3 id="orgdd4d5fe"><span class="section-number-3">5.1</span> Note from Aster,Bubbles and Tilden:</h3><div class="outline-text-3" id="text-5-1"><p>UnDoctored Videos Inc. is looking for volunteers to star in a<br /> +video demonstrating such complete user failure.<br /> +</p></div></div></div><br /> +<div id="outline-container-orgd2bf09f" class="outline-2"><h2 id="orgd2bf09f"><span class="section-number-2">6</span> Obtaining Emacspeak:</h2><div class="outline-text-2" id="text-6"><p>Emacspeak can be downloaded from GitHub &#x2013;see<br /> +<a href="https://github.com/tvraman/emacspeak">https://github.com/tvraman/emacspeak</a> you can visit Emacspeak on the<br /> +WWW at <a href="http://emacspeak.sf.net">http://emacspeak.sf.net</a>. You can subscribe to the emacspeak<br /> +mailing list — emacspeak@cs.vassar.edu — by sending mail to the<br /> +list request address emacspeak-request@cs.vassar.edu. The <a href="http://emacspeak.blogspot.com">Emacspeak<br /> +Blog</a> is a good source for news about recent enhancements and how to<br /> +use them.<br /> +</p><br /> +<p>The latest development snapshot of Emacspeak is always available via<br /> +Git from GitHub at <br /> +<a href="https://github.com/tvraman/emacspeak">Emacspeak GitHub </a>.<br /> +</p></div></div><br /> +<div id="outline-container-orged73986" class="outline-2"><h2 id="orged73986"><span class="section-number-2">7</span> History:</h2><div class="outline-text-2" id="text-7"><ul class="org-ul"><li>Emacspeak 45.0 (IdealDog) is named in recognition of Emacs'<br /> +excellent integration with various programming language<br /> +environments &#x2014; thanks to this, Emacspeak is the IDE of choice<br /> +for eyes-free software engineering.</li> +<li>Emacspeak 44.0 continues the steady pace of innovation on the<br /> +audio desktop.</li> +<li>Emacspeak 43.0 brings even more end-user efficiency by leveraging the<br /> +ability to spatially place multiple audio streams to provide timely<br /> +auditory feedback.</li> +<li>Emacspeak 42.0 while moving to GitHub from Google Code continues to<br /> +innovate in the areas of auditory user interfaces and efficient,<br /> +light-weight Internet access.</li> +<li>Emacspeak 41.0 continues to improve <br /> +on the desire to provide not just equal, but superior access —<br /> +technology when correctly implemented can significantly enhance the<br /> +human ability.</li> +<li>Emacspeak 40.0 goes back to Web basics by enabling<br /> +<a href="http://emacspeak.blogspot.com/2013/11/reading-web-content-efficiently.html">efficient access</a> to large amounts of readable Web content.</li> +<li>Emacspeak 39.0 continues the Emacspeak tradition of increasing the breadth of<br /> +user tasks that are covered without introducing unnecessary<br /> +bloatware.</li> +<li>Emacspeak 38.0 is the latest in a series of award-winning<br /> +releases from Emacspeak Inc.</li> +<li>Emacspeak 37.0 continues the tradition of<br /> +delivering robust software as reflected by its code-name.</li> +<li>Emacspeak 36.0 enhances the audio desktop with many new tools including full<br /> +EPub support — hence the name EPubDog.</li> +<li>Emacspeak 35.0 is all about<br /> +teaching a new dog old tricks — and is aptly code-named HeadDog in<br /> +on of our new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles)<br /> +established a new beach-head with respect to rapid task completion in<br /> +an eyes-free environment.</li> +<li>Emacspeak-33.0 AKA StarDog brings<br /> +unparalleled cloud access to the audio desktop.</li> +<li>Emacspeak 32.0 AKA<br /> +LuckyDog continues to innovate via open technologies for better<br /> +access.</li> +<li>Emacspeak 31.0 AKA TweetDog — adds tweeting to the Emacspeak<br /> +desktop.</li> +<li>Emacspeak 30.0 AKA SocialDog brings the Social Web to the<br /> +audio desktop—you cant but be social if you speak!</li> +<li>Emacspeak 29.0—AKAAbleDog—is a testament to the resilliance and innovation<br /> +embodied by Open Source software—it would not exist without the<br /> +thriving Emacs community that continues to ensure that Emacs remains<br /> +one of the premier user environments despite perhaps also being one of<br /> +the oldest.</li> +<li>Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of<br /> +development evinced by Open Source software.</li> +<li>Emacspeak 27.0—AKA<br /> +FastDog—is the latest in a sequence of upgrades that make previous<br /> +releases obsolete and downgrades unnecessary.</li> +<li>Emacspeak 26—AKA<br /> +LeadDog—continues the tradition of introducing innovative access<br /> +solutions that are unfettered by the constraints inherent in<br /> +traditional adaptive technologies.</li> +<li>Emacspeak 25 —AKA ActiveDog<br /> +—re-activates open, unfettered access to online<br /> +information.</li> +<li>Emacspeak-Alive —AKA LiveDog —enlivens open, unfettered<br /> +information access with a series of live updates that once again<br /> +demonstrate the power and agility of open source software<br /> +development.</li> +<li>Emacspeak 23.0 &#x2014; AKA Retriever—went the extra mile in<br /> +fetching full access.</li> +<li>Emacspeak 22.0 —AKA GuideDog —helps users<br /> +navigate the Web more effectively than ever before.</li> +<li>Emacspeak 21.0<br /> +—AKA PlayDog —continued the <br /> +Emacspeak tradition of relying on enhanced<br /> +productivity to liberate users.</li> +<li>Emacspeak-20.0 —AKA LeapDog —continues<br /> +the long established GNU/Emacs tradition of integrated innovation to<br /> +create a pleasurable computing environment for eyes-free<br /> +interaction.</li> +<li>emacspeak-19.0 &#x2013;AKA WorkDog&#x2013; is designed to enhance<br /> +user productivity at work and leisure.</li> +<li>Emacspeak-18.0 &#x2013;code named<br /> +GoodDog&#x2013; continued the Emacspeak tradition of enhancing user<br /> +productivity and thereby reducing total cost of<br /> +ownership.</li> +<li>Emacspeak-17.0 &#x2013;code named HappyDog&#x2013; enhances user<br /> +productivity by exploiting today's evolving WWW<br /> +standards.</li> +<li>Emacspeak-16.0 &#x2013;code named CleverDog&#x2013; the follow-up to<br /> +SmartDog&#x2013; continued the tradition of working better, faster,<br /> +smarter.</li> +<li>Emacspeak-15.0 &#x2013;code named SmartDog&#x2013;followed up on TopDog<br /> +as the next in a continuing series of award-winning audio desktop<br /> +releases from Emacspeak Inc.</li> +<li>Emacspeak-14.0 &#x2013;code named TopDog&#x2013;was</li> +</ul><p>the first release of this millennium. <br /> +</p><ul class="org-ul"><li>Emacspeak-13.0 &#x2013;codenamed<br /> +YellowLab&#x2013; was the closing release of the<br /> +20th. century.</li> +<li>Emacspeak-12.0 &#x2013;code named GoldenDog&#x2013; began<br /> +leveraging the evolving semantic WWW to provide task-oriented speech<br /> +access to Webformation.</li> +<li>Emacspeak-11.0 &#x2013;code named Aster&#x2013; went the<br /> +final step in making Linux a zero-cost Internet access solution for<br /> +blind and visually impaired users.</li> +<li>Emacspeak-10.0 &#x2013;(AKA<br /> +Emacspeak-2000) code named WonderDog&#x2013; continued the tradition of<br /> +award-winning software releases designed to make eyes-free computing a<br /> +productive and pleasurable experience.</li> +<li>Emacspeak-9.0 &#x2013;(AKA<br /> +Emacspeak 99) code named BlackLab&#x2013; continued to innovate in the areas<br /> +of speech interaction and interactive accessibility.</li> +<li>Emacspeak-8.0 &#x2013;(AKA Emacspeak-98++) code named BlackDog&#x2013; was a major upgrade to<br /> +the speech output extension to Emacs.</li> +<li>Emacspeak-95 (code named Illinois) was released as OpenSource on<br /> +the Internet in May 1995 as the first complete speech interface<br /> +to UNIX workstations. The subsequent release, Emacspeak-96 (code<br /> +named Egypt) made available in May 1996 provided significant<br /> +enhancements to the interface. Emacspeak-97 (Tennessee) went<br /> +further in providing a true audio desktop. Emacspeak-98<br /> +integrated Internetworking into all aspects of the audio desktop<br /> +to provide the first fully interactive speech-enabled WebTop.</li> +</ul></div></div><br /> +<div id="outline-container-org57e89f5" class="outline-2"><h2 id="org57e89f5"><span class="section-number-2">8</span> About Emacspeak:</h2><div class="outline-text-2" id="text-8"><p>Originally based at Cornell (NY) —<br /> +<a href="http://www.cs.cornell.edu/home/raman">http://www.cs.cornell.edu/home/raman</a> —home to Auditory User<br /> +Interfaces (AUI) on the WWW, Emacspeak is now maintained on GitHub<br /> +—<a href="https://github.com/tvraman/emacspeak">https://github.com/tvraman/emacspeak</a>. The system is mirrored<br /> +world-wide by an international network of software archives and<br /> +bundled voluntarily with all major Linux distributions. On Monday,<br /> +April 12, 1999, Emacspeak became part of the <a href="http://tvraman.github.io/emacspeak/blog/smithsonian-study.html">Smithsonian's Permanent<br /> +Research Collection</a> on Information Technology at the Smithsonian's<br /> +National Museum of American History.<br /> +</p><br /> +<p>The Emacspeak mailing list is archived at Vassar &#x2013;the home of the<br /> +Emacspeak mailing list&#x2013; thanks to Greg Priest-Dorman, and provides a<br /> +valuable knowledge base for new users.<br /> +</p></div></div><br /> +<div id="outline-container-orgffc8bbd" class="outline-2"><h2 id="orgffc8bbd"><span class="section-number-2">9</span> Press/Analyst Contact: Tilden Labrador</h2><div class="outline-text-2" id="text-9"><p>Going forward, Tilden acknowledges his exclusive monopoly on<br /> +setting the direction of the Emacspeak Audio Desktop, and<br /> +promises to exercise this freedom to innovate and her resulting<br /> +power responsibly (as before) in the interest of all dogs.<br /> +</p><br /> +<p>*About This Release:<br /> +</p><hr /><br /> +<p>Windows-Free (WF) is a favorite battle-cry of The League Against<br /> +Forced Fenestration (LAFF). &#x2013;see<br /> +<a href="http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm">http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm</a> for details on<br /> +the ill-effects of Forced Fenestration.<br /> +</p><br /> +<p>CopyWrite )C( Aster, Hubbell and Tilden Labrador. All Writes Reserved.<br /> +HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered<br /> +Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to<br /> +their respective owners.<br /> +</p></div></div></div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-61595759098496646272016-04-30T10:51:00.000-07:002016-04-30T10:51:00.652-07:00Emacspeak 44.0 (SteadyDog) Unleashed<div dir="ltr" style="text-align: left;" trbidi="on"><br /> +<div id="content"><h1 class="title">Emacspeak 44.0—SteadyDog—Unleashed!</h1><p><b>For Immediate Release:</b><br /> +</p><br /> +<p>San Jose, Calif., (May 1, 2016)<br /> + Emacspeak: Redefining Accessibility In The Era Of (Real)Intelligent Computing <br /> + &#x2013;Zero cost of Ownership makes priceless software Universally affordable!<br /> +</p><br /> +<p>Emacspeak Inc (NASDOG: ESPK) --<a href="http://emacspeak.sf.net">http://emacspeak.sf.net</a>&#x2013; announces the<br /> +immediate world-wide availability of <a href="https://github.com/tvraman/emacspeak/releases/download/44.0/emacspeak-44.0.tar.bz2">Emacspeak 44.0</a> (SteadyDog) &#x2013;a<br /> +powerful audio desktop for leveraging today's evolving data, social<br /> +and service-oriented Internet cloud.<br /> +</p><br /> +<div id="outline-container-orgheadline1" class="outline-2"><h2 id="orgheadline1"><span class="section-number-2">1</span> Investors Note:</h2><div class="outline-text-2" id="text-1"><p>With several prominent tweeters expanding coverage of<br /> +<span class="underline">#emacspeak</span>, NASDOG: ESPK has now been consistently trading over<br /> +the social net at levels close to that once attained by DogCom<br /> +high-fliers—and as of May 2016 is trading at levels close to<br /> +that achieved by once better known stocks in the tech sector.<br /> +</p></div></div><br /> +<div id="outline-container-orgheadline2" class="outline-2"><h2 id="orgheadline2"><span class="section-number-2">2</span> What Is It?</h2><div class="outline-text-2" id="text-2"><p>Emacspeak is a fully functional audio desktop that provides complete<br /> +eyes-free access to all major 32 and 64 bit operating environments. By<br /> +seamlessly blending live access to all aspects of the Internet such as<br /> +Web-surfing, blogging, social computing and electronic messaging into<br /> +the audio desktop, Emacspeak enables speech access to local and remote<br /> +information with a consistent and well-integrated user interface. A<br /> +rich suite of task-oriented tools provides efficient speech-enabled<br /> +access to the evolving service-oriented social Internet cloud.<br /> +</p></div></div><br /> +<div id="outline-container-orgheadline3" class="outline-2"><h2 id="orgheadline3"><span class="section-number-2">3</span> Major Enhancements:</h2><div class="outline-text-2" id="text-3"><ul class="org-ul"><li>Enable playing multiple media streams using <b>mplayer</b>. 🔊</li> +<li>Smart Ladspa effects in <b>mplayer</b>, including panning. 🕪</li> +<li>Sound theme <b>chimes</b> has been spatialized to create theme <b>pan-chimes</b>. 🕭-</li> +<li>Package <b>elpy</b> has been speech-enabled. 🐍</li> +<li>Emacspeak now implements automatic soundscapes. 🏙</li> +<li>Speech-enables package <code>helm</code>.𝍎</li> +<li>Emacs EWW: Consume Web content efficiently. 🕷</li> +<li>Updated Info manual 🕮</li> +<li>emacspeak-url-templates: Smart Web access. ♅</li> +<li>emacspeak-websearch.el Find things fast. ♁</li> +<li>And a lot more than wil fit this margin. …</li> +</ul></div></div><br /> +<div id="outline-container-orgheadline4" class="outline-2"><h2 id="orgheadline4"><span class="section-number-2">4</span> Establishing Liberty, Equality And Freedom:</h2><div class="outline-text-2" id="text-4"><p> Never a toy system, Emacspeak is voluntarily bundled with all<br /> +major Linux distributions. Though designed to be modular,<br /> +distributors have freely chosen to bundle the fully integrated<br /> +system without any undue pressure—a documented success for<br /> +the integrated innovation embodied by Emacspeak. As the system<br /> +evolves, both upgrades and downgrades continue to be available at<br /> +the same zero-cost to all users. The integrity of the Emacspeak<br /> +codebase is ensured by the reliable and secure Linux platform<br /> +used to develop and distribute the software.<br /> +</p><br /> +<p>Extensive studies have shown that thanks to these features, users<br /> +consider Emacspeak to be absolutely priceless. Thanks to this<br /> +wide-spread user demand, the present version remains priceless<br /> +as ever—it is being made available at the same zero-cost as<br /> +previous releases.<br /> +</p><br /> +<p>At the same time, Emacspeak continues to innovate in the area of<br /> +eyes-free social interaction and carries forward the<br /> +well-established Open Source tradition of introducing user<br /> +interface features that eventually show up in luser environments.<br /> +</p><br /> +<p>On this theme, when once challenged by a proponent of a crash-prone<br /> +but well-marketed mousetrap with the assertion "Emacs is a system from<br /> +the 70's", the creator of Emacspeak evinced surprise at the unusual<br /> +candor manifest in the assertion that it would take popular<br /> +idiot-proven interfaces until the year 2070 to catch up to where the<br /> +Emacspeak audio desktop is today. Industry experts welcomed this<br /> +refreshing breath of Courage Certainty and Clarity (CCC) at a time<br /> +when users are reeling from the Fear Uncertainty and Doubt (FUD)<br /> +unleashed by complex software systems backed by even more convoluted<br /> +press releases.<br /> +</p></div></div><br /> +<div id="outline-container-orgheadline6" class="outline-2"><h2 id="orgheadline6"><span class="section-number-2">5</span> Independent Test Results:</h2><div class="outline-text-2" id="text-5"><p>Independent test results have proven that unlike some modern (and<br /> +not so modern) software, Emacspeak can be safely uninstalled without<br /> +adversely affecting the continued performance of the computer. These<br /> +same tests also revealed that once uninstalled, the user stopped<br /> +functioning altogether. Speaking with Aster Labrador, the creator of<br /> +Emacspeak once pointed out that these results re-emphasize the<br /> +user-centric design of Emacspeak; "It is the user &#x2013;and not the<br /> +computer&#x2013; that stops functioning when Emacspeak is uninstalled!".<br /> +</p></div><br /> +<div id="outline-container-orgheadline5" class="outline-3"><h3 id="orgheadline5"><span class="section-number-3">5.1</span> Note from Aster,Bubbles and Tilden:</h3><div class="outline-text-3" id="text-5-1"><p>UnDoctored Videos Inc. is looking for volunteers to star in a<br /> +video demonstrating such complete user failure.<br /> +</p></div></div></div><br /> +<div id="outline-container-orgheadline7" class="outline-2"><h2 id="orgheadline7"><span class="section-number-2">6</span> Obtaining Emacspeak:</h2><div class="outline-text-2" id="text-6"><p>Emacspeak can be downloaded from GitHub &#x2013;see<br /> +<a href="https://github.com/tvraman/emacspeak">https://github.com/tvraman/emacspeak</a> you can visit Emacspeak on the<br /> +WWW at <a href="http://emacspeak.sf.net">http://emacspeak.sf.net</a>. You can subscribe to the emacspeak<br /> +mailing list — emacspeak@cs.vassar.edu — by sending mail to the<br /> +list request address emacspeak-request@cs.vassar.edu. The <a href="http://emacspeak.blogspot.com">Emacspeak<br /> +Blog</a> is a good source for news about recent enhancements and how to<br /> +use them.<br /> +</p><br /> +<p>The latest development snapshot of Emacspeak is always available via<br /> +Git from GitHub at <br /> +<a href="https://github.com/tvraman/emacspeak">Emacspeak GitHub </a>.<br /> +</p></div></div><br /> +<div id="outline-container-orgheadline8" class="outline-2"><h2 id="orgheadline8"><span class="section-number-2">7</span> History:</h2><div class="outline-text-2" id="text-7"><ul class="org-ul"><li>Emacspeak 44.0 continues the steady pace of innovation on the<br /> +audio desktop.</li> +<li>Emacspeak 43.0 brings even more end-user efficiency by leveraging the<br /> +ability to spatially place multiple audio streams to provide timely<br /> +auditory feedback.</li> +<li>Emacspeak 42.0 while moving to GitHub from Google Code continues to<br /> +innovate in the areas of auditory user interfaces and efficient,<br /> +light-weight Internet access.</li> +<li>Emacspeak 41.0 continues to improve <br /> +on the desire to provide not just equal, but superior access —<br /> +technology when correctly implemented can significantly enhance the<br /> +human ability.</li> +<li>Emacspeak 40.0 goes back to Web basics by enabling<br /> +<a href="http://emacspeak.blogspot.com/2013/11/reading-web-content-efficiently.html">efficient access</a> to large amounts of readable Web content.</li> +<li>Emacspeak 39.0 continues the Emacspeak tradition of increasing the breadth of<br /> +user tasks that are covered without introducing unnecessary<br /> +bloatware.</li> +<li>Emacspeak 38.0 is the latest in a series of award-winning<br /> +releases from Emacspeak Inc.</li> +<li>Emacspeak 37.0 continues the tradition of<br /> +delivering robust software as reflected by its code-name.</li> +<li>Emacspeak 36.0 enhances the audio desktop with many new tools including full<br /> +EPub support — hence the name EPubDog.</li> +<li>Emacspeak 35.0 is all about<br /> +teaching a new dog old tricks — and is aptly code-named HeadDog in<br /> +on of our new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles)<br /> +established a new beach-head with respect to rapid task completion in<br /> +an eyes-free environment.</li> +<li>Emacspeak-33.0 AKA StarDog brings<br /> +unparalleled cloud access to the audio desktop.</li> +<li>Emacspeak 32.0 AKA<br /> +LuckyDog continues to innovate via open technologies for better<br /> +access.</li> +<li>Emacspeak 31.0 AKA TweetDog — adds tweeting to the Emacspeak<br /> +desktop.</li> +<li>Emacspeak 30.0 AKA SocialDog brings the Social Web to the<br /> +audio desktop—you cant but be social if you speak!</li> +<li>Emacspeak 29.0—AKAAbleDog—is a testament to the resilliance and innovation<br /> +embodied by Open Source software—it would not exist without the<br /> +thriving Emacs community that continues to ensure that Emacs remains<br /> +one of the premier user environments despite perhaps also being one of<br /> +the oldest.</li> +<li>Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of<br /> +development evinced by Open Source software.</li> +<li>Emacspeak 27.0—AKA<br /> +FastDog—is the latest in a sequence of upgrades that make previous<br /> +releases obsolete and downgrades unnecessary.</li> +<li>Emacspeak 26—AKA<br /> +LeadDog—continues the tradition of introducing innovative access<br /> +solutions that are unfettered by the constraints inherent in<br /> +traditional adaptive technologies.</li> +<li>Emacspeak 25 —AKA ActiveDog<br /> +—re-activates open, unfettered access to online<br /> +information.</li> +<li>Emacspeak-Alive —AKA LiveDog —enlivens open, unfettered<br /> +information access with a series of live updates that once again<br /> +demonstrate the power and agility of open source software<br /> +development.</li> +<li>Emacspeak 23.0 &#x2013; AKA Retriever—went the extra mile in<br /> +fetching full access.</li> +<li>Emacspeak 22.0 —AKA GuideDog —helps users<br /> +navigate the Web more effectively than ever before.</li> +<li>Emacspeak 21.0<br /> +—AKA PlayDog —continued the <br /> +Emacspeak tradition of relying on enhanced<br /> +productivity to liberate users.</li> +<li>Emacspeak-20.0 —AKA LeapDog —continues<br /> +the long established GNU/Emacs tradition of integrated innovation to<br /> +create a pleasurable computing environment for eyes-free<br /> +interaction.</li> +<li>emacspeak-19.0 &#x2013;AKA WorkDog&#x2013; is designed to enhance<br /> +user productivity at work and leisure.</li> +<li>Emacspeak-18.0 &#x2013;code named<br /> +GoodDog&#x2013; continued the Emacspeak tradition of enhancing user<br /> +productivity and thereby reducing total cost of<br /> +ownership.</li> +<li>Emacspeak-17.0 &#x2013;code named HappyDog&#x2013; enhances user<br /> +productivity by exploiting today's evolving WWW<br /> +standards.</li> +<li>Emacspeak-16.0 &#x2013;code named CleverDog&#x2013; the follow-up to<br /> +SmartDog&#x2013; continued the tradition of working better, faster,<br /> +smarter.</li> +<li>Emacspeak-15.0 &#x2013;code named SmartDog&#x2013;followed up on TopDog<br /> +as the next in a continuing series of award-winning audio desktop<br /> +releases from Emacspeak Inc.</li> +<li>Emacspeak-14.0 &#x2013;code named TopDog&#x2013;was</li> +</ul><p>the first release of this millennium. <br /> +</p><ul class="org-ul"><li>Emacspeak-13.0 &#x2013;codenamed<br /> +YellowLab&#x2013; was the closing release of the<br /> +20th. century.</li> +<li>Emacspeak-12.0 &#x2013;code named GoldenDog&#x2013; began<br /> +leveraging the evolving semantic WWW to provide task-oriented speech<br /> +access to Webformation.</li> +<li>Emacspeak-11.0 &#x2013;code named Aster&#x2013; went the<br /> +final step in making Linux a zero-cost Internet access solution for<br /> +blind and visually impaired users.</li> +<li>Emacspeak-10.0 &#x2013;(AKA<br /> +Emacspeak-2000) code named WonderDog&#x2013; continued the tradition of<br /> +award-winning software releases designed to make eyes-free computing a<br /> +productive and pleasurable experience.</li> +<li>Emacspeak-9.0 &#x2013;(AKA<br /> +Emacspeak 99) code named BlackLab&#x2013; continued to innovate in the areas<br /> +of speech interaction and interactive accessibility.</li> +<li>Emacspeak-8.0 &#x2013;(AKA Emacspeak-98++) code named BlackDog&#x2013; was a major upgrade to<br /> +the speech output extension to Emacs.</li> +<li>Emacspeak-95 (code named Illinois) was released as OpenSource on<br /> +the Internet in May 1995 as the first complete speech interface<br /> +to UNIX workstations. The subsequent release, Emacspeak-96 (code<br /> +named Egypt) made available in May 1996 provided significant<br /> +enhancements to the interface. Emacspeak-97 (Tennessee) went<br /> +further in providing a true audio desktop. Emacspeak-98<br /> +integrated Internetworking into all aspects of the audio desktop<br /> +to provide the first fully interactive speech-enabled WebTop.</li> +</ul></div></div><br /> +<div id="outline-container-orgheadline9" class="outline-2"><h2 id="orgheadline9"><span class="section-number-2">8</span> About Emacspeak:</h2><div class="outline-text-2" id="text-8"><p>Originally based at Cornell (NY) —<br /> +<a href="http://www.cs.cornell.edu/home/raman">http://www.cs.cornell.edu/home/raman</a> —home to Auditory User<br /> +Interfaces (AUI) on the WWW, - Emacspeak is now maintained on GitHub<br /> +—<a href="https://github.com/tvraman/emacspeak">https://github.com/tvraman/emacspeak</a>. The system is mirrored<br /> +world-wide by an international network of software archives and<br /> +bundled voluntarily with all major Linux distributions. On Monday,<br /> +April 12, 1999, Emacspeak became part of the <a href="http://tvraman.github.io/emacspeak/blog/smithsonian-study.html">Smithsonian's Permanent<br /> +Research Collection</a> on Information Technology at the Smithsonian's<br /> +National Museum of American History.<br /> +</p><br /> +<p>The Emacspeak mailing list is archived at Vassar &#x2013;the home of the<br /> +Emacspeak mailing list&#x2013; thanks to Greg Priest-Dorman, and provides a<br /> +valuable knowledge base for new users.<br /> +</p></div></div><br /> +<div id="outline-container-orgheadline10" class="outline-2"><h2 id="orgheadline10"><span class="section-number-2">9</span> Press/Analyst Contact: Tilden Labrador</h2><div class="outline-text-2" id="text-9"><p>Going forward, Tilden acknowledges his exclusive monopoly on<br /> +setting the direction of the Emacspeak Audio Desktop, and<br /> +promises to exercise this freedom to innovate and her resulting<br /> +power responsibly (as before) in the interest of all dogs.<br /> +</p><br /> +<p>*About This Release:<br /> +</p><hr /><br /> +<p>Windows-Free (WF) is a favorite battle-cry of The League Against<br /> +Forced Fenestration (LAFF). &#x2013;see<br /> +<a href="http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm">http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm</a> for details on<br /> +the ill-effects of Forced Fenestration.<br /> +</p><br /> +<p>CopyWrite )C( Aster, Hubbell and Tilden Labrador. All Writes Reserved.<br /> +HeadDog (DM), LiveDog (DM), GoldenDog (DM), BlackDog (DM) etc., are Registered<br /> +Dogmarks of Aster, Hubbell and Tilden Labrador. All other dogs belong to<br /> +their respective owners.<br /> +</p></div></div></div></div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-84856197542527786202016-02-25T17:56:00.001-08:002016-02-25T17:56:25.651-08:00Augmented Headphone Listening On Linux For The Emacspeak Audio Desktop<div dir="ltr" style="text-align: left;" trbidi="on"><div id="content"><h1 class="title">Augmented Headphone Listening On Linux For The Emacspeak Audio Desktop</h1><div id="outline-container-orgheadline1" class="outline-2"><h2 id="orgheadline1"><span class="section-number-2">1</span> Executive Summary</h2><div class="outline-text-2" id="text-1"><p>A combination of <b>ALSA</b>, <b>Ladspa</b> and <b>OpenAL</b> can provide an enhanced<br /> +headphone listening experience on Linux &#x2014; this article summarizes<br /> +various tools and techniques for leveraging these affordances on the<br /> +Emacspeak Audio Desktop.<br /> +</p></div></div><br /> +<div id="outline-container-orgheadline2" class="outline-2"><h2 id="orgheadline2"><span class="section-number-2">2</span> Glossary</h2><div class="outline-text-2" id="text-2"><dl class="org-dl"><dt>ALSA</dt><dd>Advanced Linux Sound Architecture. This is my prefered +means of controlling audio, and I entirely avoid Pulseaudio on +all my machines.</dd> +<dt>Ladspa </dt><dd>Linux Audio Developer's Simple Plugin API. Enables +the injection of Digital Signal Processing (DSP) when playing +media. It is a layer that sits above <b>ALSA</b>. <b>Ladspa</b> filters +can be used by user-space applications like <b>MPlayer</b> and +<b>SoX</b> when playing media. They can also be used within the +user's <b>ASoundRC</b> to define virtual audio devices that inject +DSP plugins into the media stream.</dd> +<dt>OpenAL</dt><dd>OpenAL is an API for enabling cross-platform 3D +audio. User-space applications like <b>MPlayer</b> can use OpenAL as +the audio output driver &#x2014; note that OpenAL on Linux writes to +<b>ALSA</b> under the covers.</dd> +</dl></div></div><br /> +<div id="outline-container-orgheadline3" class="outline-2"><h2 id="orgheadline3"><span class="section-number-2">3</span> Playing Media Using MPlayer</h2><div class="outline-text-2" id="text-3"><ol class="org-ol"><li>With Ladspa and its associated plugins installed &#x2014; at the minimum<br /> +I would recommend installing <code>tap-plugins</code>, module<br /> +<code>emacspeak-m-player</code> provides a number of affordances for<br /> +interactively applying Ladspa filters. See commands<br /> +<span class="underline">emacspeak-m-player-apply-reverb-preset_(bound to _P</span> in <code>M-Player</code>)<br /> +and command <span class="underline">emacspeak-m-player-add-filter</span> (bound to <span class="underline">f</span> in<br /> +<code>M-Player</code>).</li> +<li>Command <span class="underline">emacspeak-m-player-apply-reverb-preset</span> lets you pick<br /> +among a total of 42 reverb presets defined by Ladspa module <code>tap_reverb</code>.</li> +<li>Command <span class="underline">emacspeak-m-player-add-filter</span> lets you add some of the<br /> +more commonly used Ladspa effects with smart minibuffer<br /> +prompts. Use tab completion to discover some of the predefined<br /> +filters &#x2014; these are just convenience shortcuts &#x2014; and you can<br /> +add any filters you use commonly to this list.</li> +<li>Note that <code>mplayer</code> also has its own<br /> +HRTF filter, but that filter requires that the stream being played is<br /> +a 48K stream.</li> +<li>Command <span class="underline">emacspeak-m-player-using-openal</span> bound by default to<br /> +<span class="underline">Hyper ;</span> launches <code>mplayer</code> with <span class="underline">OpenAL</span> as the audio output<br /> +driver &#x2014; adding the following line</li> +</ol><p>to your _~/.alsoftrc~ file will apply a suitable HRTF filter for<br /> +augmented headphone listening. <br /> +</p><pre class="example">hrtf=true +</pre></div></div><br /> +<div id="outline-container-orgheadline4" class="outline-2"><h2 id="orgheadline4"><span class="section-number-2">4</span> Defining Virtual Audio Devices For Use With Soundscapes</h2><div class="outline-text-2" id="text-4"><p>I use soundscapes to provide a pleasant auditory background as I work<br /> +&#x2014; see earlier blog article that describes <a href="http://emacspeak.blogspot.com/2015/12/soundscapes-on-emacspeak-audio-desktop.html">Soundscapes On The<br /> +Emacspeak Audio Desktop</a>. Defining virtual ALSA devices that inject<br /> +Ladspa plugins into the output processing chain is an elegant means<br /> +for enhancing the auditory experience provided by these<br /> +soundscapes. In this instance, I apply one of the predefined reverb<br /> +effects (Ambiance) from Ladspa module <code>tap-plugins</code> and pass the<br /> +results through a BS2B (Bauer Stereo To Binaural) filter &#x2014; see file<br /> +<a href="https://github.com/tvraman/emacspeak/blob/master/scapes/ladspa-asoundrc">scapes/ladspa-asoundrc</a> in the emacspeak Github Repo. Notice that that<br /> +file defines a number of virtual audio devices and can serve as a<br /> +template for injecting any installed Ladspa plugins &#x2014; you can first<br /> +experiment with filters using Emacspeak's <a href="http://emacspeak.blogspot.com/2015/12/a-ladspa-work-bench-for-emacspeak.html">Laudible</a> module to find<br /> +settings that work for you before applying them via a virtual device<br /> +defined in your <code>asoundrc</code> file. Finally, you can customize option<br /> +<code>soundscape-manager-options</code> to add <span class="underline">&#x2013;device &lt;devicename&gt;</span> to have<br /> +the soundscapes use the desired virtual device.<br /> +</p></div></div><br /> +<br /> +<div id="outline-container-orgheadline5" class="outline-2"><h2 id="orgheadline5"><span class="section-number-2">5</span> Summary</h2><div class="outline-text-2" id="text-5"><p>Laptops today have plenty of processing power and some really nice<br /> +audio hardware. Linux has a powerful audio processing stack in ALSA,<br /> +Ladspa and OpenAL. Connecting the dots can be fun and provide an<br /> +enhanced auditory environment.<br /> +</p></div></div></div><div id="postamble" class="status"><p class="date">Date: <span class="timestamp-wrapper"><span class="timestamp">&lt;2016-02-25 Thu&gt;</span></span></p><p class="author">Author: raman</p><p class="date">Created: 2016-02-25 Thu 17:47</p><p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p></div></div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-17434439092245404272015-12-18T11:07:00.004-08:002015-12-18T11:07:51.853-08:00Soundscapes On The Emacspeak Audio Desktop<div dir="ltr" style="text-align: left;" trbidi="on"><div id="content"><h1 class="title">Soundscapes On The Emacspeak Audio Desktop</h1><div id="outline-container-orgheadline1" class="outline-2"><h2 id="orgheadline1"><span class="section-number-2">1</span> Executive Summary</h2><div class="outline-text-2" id="text-1"><p>Emacspeak module <a href="http://tvraman.github.io/emacspeak/manual/soundscape.html">soundscape</a> adds the ability to automatically switch<br /> +<b>Soundscapes</b> based on the current buffer. A <b>Soundscape</b> can be any<br /> +continuously playing stream of audio; in practice, using nature sounds<br /> +that repeat softly in a pseudo-random manner appears to be<br /> +effective. Soundscapes are activated based on the currently active<br /> +<i>Emacs Major Mode</i> and as a consequence directly mirror the user's<br /> +current activity. The present implementation uses Python package<br /> +<a href="http://boodler.org/">Boodler</a> to generate soundscapes.<br /> +</p></div></div><br /> +<div id="outline-container-orgheadline2" class="outline-2"><h2 id="orgheadline2"><span class="section-number-2">2</span> Usage</h2><div class="outline-text-2" id="text-2"><p>Note that package <code>soundscape.el</code> does not have any Emacspeak<br /> +dependencies. See the <a href="http://tvraman.github.io/emacspeak/manual/soundscape">package documentation</a> for details on installing<br /> +and configuring <a href="http://boodler.org/">Boodler</a>. <br /> +</p><br /> +<p>You can experiment with installed Boodler agents using command<br /> +<code>soundscape</code> and <code>soundscape-stop</code>. You can enable and disable<br /> +<i>automatic soundscapes</i> using command <code>soundscape-toggle</code>. The<br /> +currently active default Soundscape theme can be inspected via command<br /> +<code>soundscape-display</code> &#x2014; this produces a buffer that lists the<br /> +currently defined /major-mode -&gt; Soundscape mapping. <br /> +</p><br /> +<p>Package <code>soundscape.el</code> considers the inheritance relationship among<br /> +Emacs major-modes when computing the set of <i>soundscapes</i> to<br /> +activate.As an example, <span class="underline">eww-mode</span> inherits from <span class="underline">special-mode</span> &#x2014; as<br /> +a consequence, two soundscapes (<i>LightWind</i> and <i>BackgroundWaves</i>)<br /> +become active when reading Web content.<br /> +</p></div></div><br /> +<div id="outline-container-orgheadline3" class="outline-2"><h2 id="orgheadline3"><span class="section-number-2">3</span> Default Major-Mode-&gt;Soundscape (Mood) Mapping:</h2><div class="outline-text-2" id="text-3"><p>Here is a table showing the mapping of major-mmodes to Soundscape<br /> +moods at the time of writing. For readability, I have stripped out the<br /> +<span class="underline">package-name</span> for these soundscapes.<br /> +</p><br /> +<br /> +<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> + +<colgroup> +<col class="org-left" /> + +<col class="org-left" /> +</colgroup> +<tbody> +<tr> +<td class="org-left">Soundscape (Mood)</td> +<td class="org-left">List Of Major Modes</td> +</tr> + +<tr> +<td class="org-left">BuddhaLoop</td> +<td class="org-left">fundamental</td> +</tr> + +<tr> +<td class="org-left">LightStorm</td> +<td class="org-left">special</td> +</tr> + +<tr> +<td class="org-left">RainForever</td> +<td class="org-left">Info help Man Custom messages-buffer</td> +</tr> + +<tr> +<td class="org-left">LightWind</td> +<td class="org-left">comint elfeed-search</td> +</tr> + +<tr> +<td class="org-left">TonkSpace</td> +<td class="org-left">tabulated-list</td> +</tr> + +<tr> +<td class="org-left">Cavern</td> +<td class="org-left">prog</td> +</tr> + +<tr> +<td class="org-left">Drip</td> +<td class="org-left">message gnus-summary gnus-article gnus-group mspools vm-presentation vm mail twittering jabber-roster jabber-chat erc</td> +</tr> + +<tr> +<td class="org-left">Still</td> +<td class="org-left">text</td> +</tr> + +<tr> +<td class="org-left">Water</td> +<td class="org-left">dired</td> +</tr> + +<tr> +<td class="org-left">Steady</td> +<td class="org-left">calendar diary</td> +</tr> + +<tr> +<td class="org-left">BackgroundWaves</td> +<td class="org-left">w3 eww</td> +</tr> +</tbody> +</table></div></div><br /> +<div id="outline-container-orgheadline4" class="outline-2"><h2 id="orgheadline4"><span class="section-number-2">4</span> Soundscape Research</h2><div class="outline-text-2" id="text-4"><p>I implemented package <code>soundscape.el</code> to create a platform that would<br /> +let me experiment with different tools that aid in<br /> +concentration. After using Soundscapes for about a week, I have also<br /> +found that it reduces some of the fatigue that results from having to<br /> +listen to synthetic text-to-speech for extended periods.<br /> +The true value (if any) of this package will be a function of how heavily<br /> +I find myself using it six months from now &#x2014; as a metric, <i>complete<br /> +success</i> might mean that in mid-2016, I still have automatic<br /> +soundscapes turned on.<br /> +As I type this article in Emacs <span class="underline">org-mode</span>, I hear the sound of<br /> +water-drops falling softly in the background, and I take note<br /> +that I have not switched tasks for the entire time I have spent<br /> +writing this article.<br /> +</p><br /> +<p>Other success metrics &#x2014; harder to measure &#x2014; might include how<br /> +effective Soundscapes are in helping the user stay focused on a<br /> +given activity for extended periods of time. In an ever-connected<br /> +world buzzing with a constant stream of distractions ranging from<br /> +incoming email and instant-messages to a flood of twitter updates,<br /> +this is likely the most relevant metric.<br /> +</p></div></div></div></div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-69146150057591132312015-12-04T20:09:00.003-08:002015-12-04T20:09:41.132-08:00A Ladspa Work-Bench For The Emacspeak Desktop <div dir="ltr" style="text-align: left;" trbidi="on"><div id="content"><h1 class="title">A Ladspa Work-Bench For The Emacspeak Audio Desktop</h1><div id="outline-container-orgheadline1" class="outline-2"><h2 id="orgheadline1"><span class="section-number-2">1</span> Executive Summary</h2><div class="outline-text-2" id="text-1"><p>Module <code>ladspa.el</code> in the Emacspeak GitHub repository implements a<br /> +high-level interface for experimenting with Ladspa Plugins using<br /> +<code>MPlayer</code> and <code>SoX</code>.<br /> +</p></div></div><br /> +<div id="outline-container-orgheadline2" class="outline-2"><h2 id="orgheadline2"><span class="section-number-2">2</span> Module <code>ladspa.el</code></h2><div class="outline-text-2" id="text-2"><p>This module implements the following functionality:<br /> +</p><br /> +<ol class="org-ol"><li>Builds up a table of installed Ladspa plugins along with their<br /> +associated metadata.</li> +<li>Command <code>M-x ladspa</code> displays installed Ladspa Plugins in a<br /> +special <code>*Ladspa*</code> buffer.</li> +<li>Plugins can be instantiated by pressing <code>RET</code>.</li> +<li>Instantiating a plugin prompts for its arguments and displays the<br /> +instantiated plugin in a new buffer.</li> +<li>This plugin can then be applied to a running <code>MPlayer</code> media<br /> +stream by pressing <code>a</code>.</li> +<li>The effect can be deleted by pressing <code>d</code>.</li> +<li>Plugin parameters can be edited by pressing <code>e</code> with point on<br /> +the parameter to edit.</li> +</ol></div></div><br /> +<div id="outline-container-orgheadline3" class="outline-2"><h2 id="orgheadline3"><span class="section-number-2">3</span> Interfacing With SoX</h2><div class="outline-text-2" id="text-3"><p>Module <code>sox.el</code> implements an <b>Audio Workbench</b> using <code>SoX</code>. Module<br /> +<code>ladspa.el</code> integrates with that module by allowing the addition of<br /> +<code>ladspa</code> as a supported SoX effect. Adding a <code>ladspa</code> effect results<br /> +in a completion interface for picking one of the available Ladspa<br /> +plugin; once selected, that plugin then prompts for its parameters as<br /> +needed.<br /> +</p></div></div></div><div id="postamble" class="status"><p class="date">Date: <span class="timestamp-wrapper"><span class="timestamp">&lt;2015-12-04 Fri&gt;</span></span></p><p class="author">Author: raman</p><p class="date">Created: 2015-12-04 Fri 20:03</p><p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p></div><br /> +</div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-32412219964648080702015-11-30T17:21:00.003-08:002015-11-30T17:21:56.651-08:00Generating Spatialized Auditory Icons Using MPlayer And Ladspa<div dir="ltr" style="text-align: left;" trbidi="on"><div id="content"><h1 class="title">Generating Spatialized Auditory Icons Using MPlayer And Ladspa</h1><div id="outline-container-orgheadline1" class="outline-2"><h2 id="orgheadline1"><span class="section-number-2">1</span> Executive Summary</h2><div class="outline-text-2" id="text-1"><p>The Emacspeak GitHub repository now includes a new auditory icon theme<br /> +<code>pan-chimes</code> &#x2014; these are the result of spatializing theme <code>chimes</code>.<br /> +</p></div></div><br /> +<div id="outline-container-orgheadline2" class="outline-2"><h2 id="orgheadline2"><span class="section-number-2">2</span> Fun With Ladspa, MPlayer and Library <code>tap-plugins</code></h2><div class="outline-text-2" id="text-2"><p>Here is the result of some fun with MPlayer and Ladspa over the<br /> +Thanksgiving weekend. Package <code>tap-plugins</code> provides a number of<br /> +interesting Ladspa plugins; one of these, <code>tap_reverb</code> is used in<br /> +module <code>emacspeak-m-player</code> to provide a variety of predefined<br /> +effects.<br /> +</p><br /> +<p>Library <code>tap-plugins</code> also includes Ladspa filter <code>tap_autopan</code> that<br /> + pans the input audio signal &#x2014; see that plugin's documentation for<br /> + details.<br /> +</p><br /> +<p>The Linux media player <code>mplayer</code> allows the injection of <code>ladspa<br /> +plugins</code> in its processing chain.<br /> +Combining these, I have created theme <code>pan-chimes</code> that provides a<br /> +spatialized version of sound-theme <code>chimes</code>.<br /> +</p><br /> +<br /> +<p>See script <code>apply-pan.sh</code> in the Github repository to see how this new<br /> +theme was generated.<br /> +</p></div></div></div></div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-76060505815585314352015-11-23T15:25:00.001-08:002015-11-23T15:25:28.520-08:00Listening To Multiple Media Streams On The Emacspeak Audio Desktop <div dir="ltr" style="text-align: left;" trbidi="on"><div id="content"><h1 class="title">Listening To Multiple Media Streams On The Emacspeak Audio Desktop</h1><div id="outline-container-orgheadline1" class="outline-2"><h2 id="orgheadline1"><span class="section-number-2">1</span> Executive Summary</h2><div class="outline-text-2" id="text-1"><p>The GitHub version of Emacspeak now supports launching and controlling<br /> +multiple media streams. This enables one to listen to the news while<br /> +playing a music stream, or relaxing nature sounds.<br /> +</p></div></div><br /> +<div id="outline-container-orgheadline2" class="outline-2"><h2 id="orgheadline2"><span class="section-number-2">2</span> Sample Usage</h2><div class="outline-text-2" id="text-2"><p>Here are some examples of using this feature:<br /> +</p><br /> +<ol class="org-ol"><li>Launch your favorite news station &#x2014; BBC World Service in my<br /> +case &#x2014; <span class="underline">C-e ; RET</span>.</li> +<li>Place the News on the left channel &#x2014; <span class="underline">C-e ; (</span>.</li> +<li>Persist the currently playing News stream by invoking command<br /> +<span class="underline">emacspeak-m-player-persist-stream</span> bound to <span class="underline">C-e ; \</span>. This lets<br /> +you launch a second stream via Emacspeak media key <span class="underline">C-e ;</span> rather<br /> +than controlling the currently playing stream.</li> +<li>Launch a classical music media-stream &#x2014; <span class="underline">C-e ; lu RET</span> for a lullaby<br /> +media stream.</li> +<li>Now Emacspeak M-Player commands will control the most recently<br /> +launched stream; you can once again invoke command<br /> +<span class="underline">emacspeak-m-player-persist-stream</span> if you wish.</li> +<li>The previously launched (and still playing) News stream is now in a<br /> +buffer named <code>*Persistent-...*</code>. Command<br /> +<span class="underline">emacspeak-wizards-view-buffers-filtered-by-m-player-mode</span> can be<br /> +used to list buffers that hold a live <code>m-player</code> instance. It is<br /> +bound to <span class="underline">b</span> in <code>emacspeak-m-player-mode</code>. I also bind this command<br /> +to <span class="underline">C-; ;</span> in my global keymap.</li> +<li>You can make an M-Player instance <b>current</b> by switching to its<br /> +buffer and invoking command <span class="underline">emacspeak-m-player-restore-process</span><br /> +bound to <span class="underline">/</span> in <code>emacspeak-m-player-mode</code>.</li> +</ol><p>Share And Enjoy&#x2013;<br /> +</p></div></div></div></div>T. V. Ramanhttp://www.blogger.com/profile/03589687652590194428noreply@blogger.comtag:blogger.com,1999:blog-20280042.post-92109478515346960072015-11-20T08:59:00.001-08:002015-11-20T10:07:08.626-08:00Emacspeak 43.0 (SoundDog) Unleashed!<div dir="ltr" style="text-align: left;" trbidi="on"><div id="content"><h1 class="title">Emacspeak 43.0—SoundDog—Unleashed!</h1><p><b>For Immediate Release:</b><br /> +</p><br /> +<p>San Jose, Calif., (Nov 20, 2015)<br /> +Emacspeak: Redefining Accessibility In The Era Of Internet Computing <br /> +&#x2013;Zero cost of Ownership makes priceless software Universally affordable!<br /> +</p><br /> +<p>Emacspeak Inc (NASDOG: ESPK) --<a href="http://emacspeak.sf.net/">http://emacspeak.sf.net/</a>&#x2013; announces the<br /> +immediate world-wide availability of <a href="https://github.com/tvraman/emacspeak/releases/download/43.0/emacspeak-43.0.tar.bz2">Emacspeak 43.0</a> (SoundDog) &#x2013;a<br /> +powerful audio desktop for leveraging today's evolving data, social<br /> +and service-oriented Internet cloud.<br /> +</p><br /> +<div id="outline-container-orgheadline1" class="outline-2"><h2 id="orgheadline1"><span class="section-number-2">1</span> Investors Note:</h2><div class="outline-text-2" id="text-1"><p>With several prominent tweeters expanding coverage of<br /> +<span class="underline">#emacspeak</span>, NASDOG: ESPK has now been consistently trading over<br /> +the social net at levels close to that once attained by DogCom<br /> +high-fliers—and as of Nov 2015 is trading at levels close to<br /> +that achieved by once better known stocks in the tech sector.<br /> +</p></div></div><br /> +<div id="outline-container-orgheadline2" class="outline-2"><h2 id="orgheadline2"><span class="section-number-2">2</span> What Is It?</h2><div class="outline-text-2" id="text-2"><p>Emacspeak is a fully functional audio desktop that provides<br /> +complete eyes-free access to all major 32 and 64 bit operating<br /> +environments. By seamlessly blending live access to all aspects<br /> +of the Internet such as Web-surfing, blogging, social computing<br /> +and electronic messaging into the audio desktop, Emacspeak<br /> +enables speech access to local and remote information with a<br /> +consistent and well-integrated user interface. A rich suite of<br /> +task-oriented tools provides efficient speech-enabled access to<br /> +the evolving service-oriented social Internet cloud.<br /> +</p></div></div><br /> +<div id="outline-container-orgheadline3" class="outline-2"><h2 id="orgheadline3"><span class="section-number-2">3</span> Major Enhancements:</h2><div class="outline-text-2" id="text-3"><ul class="org-ul"><li>Multiple spatially located TTS streams for efficient communication. 🕪</li> +<li>Refactored, improved sound themes.℗</li> +<li>Updated org-mode support. 🎶</li> +<li>Speech-enables package <code>helm</code>.𝍎</li> +<li>Speech-enable package <code>yasnippet</code> for smart templates. ䷾</li> +<li>Context-sensitive keyboard shortcuts via package <code>emacspeak-muggles</code>. ⌨</li> +<li>Speech-enables <code>lua-mode</code> for LUA programming. Ÿ</li> +<li>Speech-enable package <code>projectile</code> for software project</li> +</ul><p>management. 📽<br /> +</p><ul class="org-ul"><li>Speech-enable package <code>slime</code> for Lisp programming. Λ</li> +<li>Updated Librivox support to the new API. 📖</li> +<li>Package <code>XBacklight</code> for controlling LCD brightness. ⎚</li> +<li>Updated NPR client for one-click access to present and past NPR content.📻</li> +<li>BBC radio programs via IPlayer and friends. 📢</li> +<li>Emacs EWW: Consume Web content efficiently. 🕷</li> +<li>Updated Info manual 🕮</li> +<li>Speech-enabled Elfeed, an Emacs Feed Reader 🗞</li> +<li>emacspeak-url-templates: Smart Web access. ♅</li> +<li>emacspeak-websearch.el Find things fast. ♁</li> +<li>And a lot more than wil fit this margin. …</li> +</ul></div></div><br /> +<div id="outline-container-orgheadline4" class="outline-2"><h2 id="orgheadline4"><span class="section-number-2">4</span> Establishing Liberty, Equality And Freedom:</h2><div class="outline-text-2" id="text-4"><p>Never a toy system, Emacspeak is voluntarily bundled with all<br /> +major Linux distributions. Though designed to be modular,<br /> +distributors have freely chosen to bundle the fully integrated<br /> +system without any undue pressure—a documented success for<br /> +the integrated innovation embodied by Emacspeak. As the system<br /> +evolves, both upgrades and downgrades continue to be available at<br /> +the same zero-cost to all users. The integrity of the Emacspeak<br /> +codebase is ensured by the reliable and secure Linux platform<br /> +used to develop and distribute the software.<br /> +</p><br /> +<p>Extensive studies have shown that thanks to these features, users<br /> +consider Emacspeak to be absolutely priceless. Thanks to this<br /> +wide-spread user demand, the present version remains priceless<br /> +as ever—it is being made available at the same zero-cost as<br /> +previous releases.<br /> +</p><br /> +<p>At the same time, Emacspeak continues to innovate in the area of<br /> +eyes-free social interaction and carries forward the<br /> +well-established Open Source tradition of introducing user<br /> +interface features that eventually show up in luser environments.<br /> +</p><br /> +<p>On this theme, when once challenged by a proponent of a crash-prone<br /> +but well-marketed mousetrap with the assertion "Emacs is a system from<br /> +the 70's", the creator of Emacspeak evinced surprise at the unusual<br /> +candor manifest in the assertion that it would take popular<br /> +idiot-proven interfaces until the year 2070 to catch up to where the<br /> +Emacspeak audio desktop is today. Industry experts welcomed this<br /> +refreshing breath of Courage Certainty and Clarity (CCC) at a time<br /> +when users are reeling from the Fear Uncertainty and Doubt (FUD)<br /> +unleashed by complex software systems backed by even more convoluted<br /> +press releases.<br /> +</p></div></div><br /> +<div id="outline-container-orgheadline6" class="outline-2"><h2 id="orgheadline6"><span class="section-number-2">5</span> Independent Test Results:</h2><div class="outline-text-2" id="text-5"><p>Independent test results have proven that unlike some modern (and<br /> +not so modern) software, Emacspeak can be safely uninstalled without<br /> +adversely affecting the continued performance of the computer. These<br /> +same tests also revealed that once uninstalled, the user stopped<br /> +functioning altogether. Speaking with Aster Labrador, the creator of<br /> +Emacspeak once pointed out that these results re-emphasize the<br /> +user-centric design of Emacspeak; "It is the user &#x2013;and not the<br /> +computer&#x2013; that stops functioning when Emacspeak is uninstalled!".<br /> +</p></div><br /> +<div id="outline-container-orgheadline5" class="outline-3"><h3 id="orgheadline5"><span class="section-number-3">5.1</span> Note from Aster,Bubbles and Tilden:</h3><div class="outline-text-3" id="text-5-1"><p>UnDoctored Videos Inc. is looking for volunteers to star in a<br /> +video demonstrating such complete user failure.<br /> +</p></div></div></div><br /> +<div id="outline-container-orgheadline7" class="outline-2"><h2 id="orgheadline7"><span class="section-number-2">6</span> Obtaining Emacspeak:</h2><div class="outline-text-2" id="text-6"><p>Emacspeak can be downloaded from GitHub &#x2013;see<br /> +<a href="https://github.com/tvraman/emacspeak">https://github.com/tvraman/emacspeak</a> you can visit <br /> +Emacspeak on the WWW at <a href="http://emacspeak.sf.net/">http://emacspeak.sf.net/</a>. You can subscribe<br /> +to the emacspeak mailing list emacspeak@cs.vassar.edu by sending<br /> +mail to the list request address<br /> +emacspeak-request@cs.vassar.edu. The<br /> +<a href="http://emacspeak.blogspot.com/">Emacspeak Blog</a> is a good source<br /> +for news about recent enhancements and how to use them.<br /> +</p><br /> +<p>The latest development snapshot of Emacspeak is always available via<br /> +Git from GitHub at <br /> +<a href="https://github.com/tvraman/emacspeak">Emacspeak GitHub </a>.<br /> +</p></div></div><br /> +<div id="outline-container-orgheadline8" class="outline-2"><h2 id="orgheadline8"><span class="section-number-2">7</span> History:</h2><div class="outline-text-2" id="text-7"><ul class="org-ul"><li>Emacspeak 43.0 brings even more end-user efficiency by leveraging the<br /> +ability to spatially place multiple audio streams to provide timely<br /> +auditory feedback.</li> +<li>Emacspeak 42.0 while moving to GitHub from Google Code continues to<br /> +innovate in the areas of auditory user interfaces and efficient,<br /> +light-weight Internet access.</li> +<li>Emacspeak 41.0 continues to improve <br /> +on the desire to provide not just equal, but superior access —<br /> +technology when correctly implemented can significantly enhance the<br /> +human ability.</li> +<li>Emacspeak 40.0 goes back to Web basics by enabling<br /> +<a href="http://emacspeak.blogspot.com/2013/11/reading-web-content-efficiently.html">efficient access</a> to large amounts of readable Web content.</li> +<li>Emacspeak 39.0 continues the Emacspeak tradition of increasing the breadth of<br /> +user tasks that are covered without introducing unnecessary<br /> +bloatware.</li> +<li>Emacspeak 38.0 is the latest in a series of award-winning<br /> +releases from Emacspeak Inc.</li> +<li>Emacspeak 37.0 continues the tradition of<br /> +delivering robust software as reflected by its code-name.</li> +<li>Emacspeak 36.0 enhances the audio desktop with many new tools including full<br /> +EPub support &#x2014; hence the name EPubDog.</li> +<li>Emacspeak 35.0 is all about<br /> +teaching a new dog old tricks &#x2014; and is aptly code-named HeadDog in<br /> +on of our new Press/Analyst contact. emacspeak-34.0 (AKA Bubbles)<br /> +established a new beach-head with respect to rapid task completion in<br /> +an eyes-free environment.</li> +<li>Emacspeak-33.0 AKA StarDog brings<br /> +unparalleled cloud access to the audio desktop.</li> +<li>Emacspeak 32.0 AKA<br /> +LuckyDog continues to innovate via open technologies for better<br /> +access.</li> +<li>Emacspeak 31.0 AKA TweetDog &#x2014; adds tweeting to the Emacspeak<br /> +desktop.</li> +<li>Emacspeak 30.0 AKA SocialDog brings the Social Web to the<br /> +audio desktop—you cant but be social if you speak!</li> +<li>Emacspeak 29.0—AKAAbleDog—is a testament to the resilliance and innovation<br /> +embodied by Open Source software—it would not exist without the<br /> +thriving Emacs community that continues to ensure that Emacs remains<br /> +one of the premier user environments despite perhaps also being one of<br /> +the oldest.</li> +<li>Emacspeak 28.0—AKA PuppyDog—exemplifies the rapid pace of<br /> +development evinced by Open Source software.</li> +<li>Emacspeak 27.0—AKA<br /> +FastDog—is the latest in a sequence of upgrades that make previous<br /> +releases obsolete and downgrades unnecessary.</li> +<li>Emacspeak 26—AKA<br /> +LeadDog—continues the tradition of introducing innovative access<br /> +solutions that are unfettered by the constraints inherent in<br /> +traditional adaptive technologies.</li> +<li>Emacspeak 25 —AKA ActiveDog<br /> +—re-activates open, unfettered access to online<br /> +information.</li> +<li>Emacspeak-Alive —AKA LiveDog —enlivens open, unfettered<br /> +information access with a series of live updates that once again<br /> +demonstrate the power and agility of open source software<br /> +development.</li> +<li>Emacspeak 23.0 &#x2013; AKA Retriever—went the extra mile in<br /> +fetching full access.</li> +<li>Emacspeak 22.0 —AKA GuideDog —helps users<br /> +navigate the Web more effectively than ever before.</li> +<li>Emacspeak 21.0<br /> +—AKA PlayDog —continued the <br /> +Emacspeak tradition of relying on enhanced<br /> +productivity to liberate users.</li> +<li>Emacspeak-20.0 —AKA LeapDog —continues<br /> +the long established GNU/Emacs tradition of integrated innovation to<br /> +create a pleasurable computing environment for eyes-free<br /> +interaction.</li> +<li>emacspeak-19.0 &#x2013;AKA WorkDog&#x2013; is designed to enhance<br /> +user productivity at work and leisure.</li> +<li>Emacspeak-18.0 &#x2013;code named<br /> +GoodDog&#x2013; continued the Emacspeak tradition of enhancing user<br /> +productivity and thereby reducing total cost of<br /> +ownership.</li> +<li>Emacspeak-17.0 &#x2013;code named HappyDog&#x2013; enhances user<br /> +productivity by exploiting today's evolving WWW<br /> +standards.</li> +<li>Emacspeak-16.0 &#x2013;code named CleverDog&#x2013; the follow-up to<br /> +SmartDog&#x2013; continued the tradition of working better, faster,<br /> +smarter.</li> +<li>Emacspeak-15.0 &#x2013;code named SmartDog&#x2013;followed up on TopDog<br /> +as the next in a continuing series of award-winning audio desktop<br /> +releases from Emacspeak Inc.</li> +<li>Emacspeak-14.0 &#x2013;code named TopDog&#x2013;was</li> +</ul><p>the first release of this millennium. <br /> +</p><ul class="org-ul"><li>Emacspeak-13.0 &#x2013;codenamed<br /> +YellowLab&#x2013; was the closing release of the<br /> +20th. century.</li> +<li>Emacspeak-12.0 &#x2013;code named GoldenDog&#x2013; began<br /> +leveraging the evolving semantic WWW to provide task-oriented speech<br /> +access to Webformation.</li> +<li>Emacspeak-11.0 &#x2013;code named Aster&#x2013; went the<br /> +final step in making Linux a zero-cost Internet access solution for<br /> +blind and visually impaired users.</li> +<li>Emacspeak-10.0 &#x2013;(AKA<br /> +Emacspeak-2000) code named WonderDog&#x2013; continued the tradition of<br /> +award-winning software releases designed to make eyes-free computing a<br /> +productive and pleasurable experience.</li> +<li>Emacspeak-9.0 &#x2013;(AKA<br /> +Emacspeak 99) code named BlackLab&#x2013; continued to innovate in the areas<br /> +of speech interaction and interactive accessibility.</li> +<li>Emacspeak-8.0 &#x2013;(AKA Emacspeak-98++) code named BlackDog&#x2013; was a major upgrade to<br /> +the speech output extension to Emacs.</li> +<li>Emacspeak-95 (code named Illinois) was released as OpenSource on<br /> +the Internet in May 1995 as the first complete speech interface<br /> +to UNIX workstations. The subsequent release, Emacspeak-96 (code<br /> +named Egypt) made available in May 1996 provided significant<br /> +enhancements to the interface. Emacspeak-97 (Tennessee) went<br /> +further in providing a true audio desktop. Emacspeak-98<br /> +integrated Internetworking into all aspects of the audio desktop<br /> +to provide the first fully interactive speech-enabled WebTop.</li> +</ul></div></div><br /> +<div id="outline-container-orgheadline9" class="outline-2"><h2 id="orgheadline9"><span class="section-number-2">8</span> About Emacspeak:</h2><div class="outline-text-2" id="text-8"><p>Originally based at Cornell (NY)<br /> +<a href="http://www.cs.cornell.edu/home/raman">http://www.cs.cornell.edu/home/raman</a> &#x2013;home to Auditory User<br /> +Interfaces (AUI) on the WWW&#x2013; Emacspeak