<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-20280042</id><updated>2011-11-23T09:33:15.309-08:00</updated><title type='text'>EMACSPEAK  The Complete Audio Desktop</title><subtitle type='html'>Here is where I plan to Blog Emacspeak tricks and introduce new features as I implement them.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://emacspeak.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default?start-index=101&amp;max-results=100'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>106</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-20280042.post-3084012817801392916</id><published>2011-11-23T09:33:00.001-08:00</published><updated>2011-11-23T09:33:15.364-08:00</updated><title type='text'>Emacspeak 35.0 (HeadDog) Released</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;div&gt;
&lt;div id='preamble'&gt;

&lt;/div&gt;

&lt;div id='content'&gt;
&lt;h1 class='title'&gt;Emacspeak 35.0—HeadDog—Unleashed!&lt;/h1&gt;


&lt;div class='outline-2' id='outline-container-1'&gt;
&lt;h2 id='sec-1'&gt;&lt;span class='section-number-2'&gt;1&lt;/span&gt; Emacspeak-35.0 (HeadDog) Unleashed! &lt;/h2&gt;
&lt;div id='text-1' class='outline-text-2'&gt;




&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1-1'&gt;
&lt;h3 id='sec-1-1'&gt;&lt;span class='section-number-3'&gt;1.1&lt;/span&gt; For Immediate Release: &lt;/h3&gt;
&lt;div id='text-1-1' class='outline-text-3'&gt;


&lt;p&gt;
San Jose, Calif., (November 23, 2011)
    Emacspeak:  Redefining Accessibility In The Era Of Cloud Computing
    –Zero cost of upgrades/downgrades makes priceless software affordable!
&lt;/p&gt;
&lt;p&gt;
Emacspeak Inc (NASDOG: ESPK) --&lt;a href='http://emacspeak.sf.net'&gt;http://emacspeak.sf.net&lt;/a&gt;--
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.
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1-2'&gt;
&lt;h3 id='sec-1-2'&gt;&lt;span class='section-number-3'&gt;1.2&lt;/span&gt; Investors Note: &lt;/h3&gt;
&lt;div id='text-1-2' class='outline-text-3'&gt;



&lt;p&gt;
With several prominent tweeters expanding coverage of
&lt;span style='text-decoration:underline;'&gt;#emacspeak&lt;/span&gt;, 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.
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1-3'&gt;
&lt;h3 id='sec-1-3'&gt;&lt;span class='section-number-3'&gt;1.3&lt;/span&gt; What Is It? &lt;/h3&gt;
&lt;div id='text-1-3' class='outline-text-3'&gt;



&lt;p&gt;
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.
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1-4'&gt;
&lt;h3 id='sec-1-4'&gt;&lt;span class='section-number-3'&gt;1.4&lt;/span&gt; Major Enhancements: &lt;/h3&gt;
&lt;div id='text-1-4' class='outline-text-3'&gt;



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


&lt;p&gt;
Plus many more changes too numerous to fit in this margin 󠇿… ∞
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1-5'&gt;
&lt;h3 id='sec-1-5'&gt;&lt;span class='section-number-3'&gt;1.5&lt;/span&gt; Establishing Liberty, Equality And Freedom: &lt;/h3&gt;
&lt;div id='text-1-5' class='outline-text-3'&gt;



&lt;p&gt;
  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.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1-6'&gt;
&lt;h3 id='sec-1-6'&gt;&lt;span class='section-number-3'&gt;1.6&lt;/span&gt; Independent Test Results: &lt;/h3&gt;
&lt;div id='text-1-6' class='outline-text-3'&gt;



&lt;p&gt;
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!".
&lt;/p&gt;

&lt;/div&gt;

&lt;div class='outline-4' id='outline-container-1-6-1'&gt;
&lt;h4 id='sec-1-6-1'&gt;&lt;span class='section-number-4'&gt;1.6.1&lt;/span&gt; Note from Aster,Bubbles and Tilden: &lt;/h4&gt;
&lt;div id='text-1-6-1' class='outline-text-4'&gt;



&lt;p&gt;
UnDoctored Videos Inc. is looking for volunteers to star in a
video demonstrating such complete user failure.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1-7'&gt;
&lt;h3 id='sec-1-7'&gt;&lt;span class='section-number-3'&gt;1.7&lt;/span&gt; Obtaining Emacspeak: &lt;/h3&gt;
&lt;div id='text-1-7' class='outline-text-3'&gt;



&lt;p&gt;
Emacspeak can be downloaded from Google Code Hosting –see
&lt;a href='http://code.google.com/p/emacspeak/'&gt;http://code.google.com/p/emacspeak/&lt;/a&gt; You can visit
Emacspeak on the WWW at &lt;a href='http://emacspeak.sf.net'&gt;http://emacspeak.sf.net&lt;/a&gt;.  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 
&lt;a href='http://emacspeak.googlecode.com/files/emacspeak-35.0.tar.bz2'&gt;http://emacspeak.googlecode.com/files/emacspeak-34.0.tar.bz2&lt;/a&gt;.
The latest development snapshot of Emacspeak is available via
Subversion from Google Code Hosting at 
&lt;a href='http://emacspeak.googlecode.com/svn/trunk/'&gt;http://emacspeak.googlecode.com/svn/trunk/&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1-8'&gt;
&lt;h3 id='sec-1-8'&gt;&lt;span class='section-number-3'&gt;1.8&lt;/span&gt; History: &lt;/h3&gt;
&lt;div id='text-1-8' class='outline-text-3'&gt;

&lt;p&gt;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.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
About Emacspeak:

&lt;/p&gt;
&lt;hr/&gt;

&lt;p&gt;
Originally based at Cornell (NY)
&lt;a href='http://www.cs.cornell.edu/home/raman'&gt;http://www.cs.cornell.edu/home/raman&lt;/a&gt; –home to Auditory User
Interfaces (AUI) on the WWW– Emacspeak is now maintained on
GoogleCode --&lt;a href='http://code.google.com/p/emacspeak'&gt;http://code.google.com/p/emacspeak&lt;/a&gt; —and
Sourceforge —&lt;a href='http://emacspeak.sf.net'&gt;http://emacspeak.sf.net&lt;/a&gt;. 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.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-2' id='outline-container-2'&gt;
&lt;h2 id='sec-2'&gt;&lt;span class='section-number-2'&gt;2&lt;/span&gt; Press/Analyst Contact: Tilden Labrador &lt;/h2&gt;
&lt;div id='text-2' class='outline-text-2'&gt;


&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
**About This Release:

&lt;/p&gt;
&lt;hr/&gt;

&lt;p&gt;
Windows-Free (WF) is a favorite battle-cry of The League Against
Forced Fenestration (LAFF).  –see
&lt;a href='http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm'&gt;http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm&lt;/a&gt; for details on
the ill-effects of Forced Fenestration.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id='postamble'&gt;
&lt;p class='date'&gt;Date: 2011-11-23 08:44:19 PST&lt;/p&gt;
&lt;p class='author'&gt;Author: T.V Raman&lt;/p&gt;
&lt;p class='creator'&gt;Org version 7.7 with Emacs version 24&lt;/p&gt;
&lt;a href='http://validator.w3.org/check?uri=referer'&gt;Validate XHTML 1.0&lt;/a&gt;

&lt;/div&gt;
    &lt;/div&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-3084012817801392916?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/3084012817801392916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/3084012817801392916'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2011/11/emacspeak-350-headdog-released.html' title='Emacspeak 35.0 (HeadDog) Released'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-7346123054934766410</id><published>2011-08-01T17:29:00.001-07:00</published><updated>2011-08-01T18:19:02.640-07:00</updated><title type='text'>Welcome Press/Analyst Contact Tilden Labrador</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;strong&gt;For Immediate Release:&lt;/strong&gt;
&lt;em&gt;Monday, August 1, 2011&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;

Emacspeak Inc. Appoints New Press/Analyst Contact&lt;/h2&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://emacspeak.sourceforge.net/raman/tilden-labrador/tilden-bandana.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="Tilden Labrador" height="640" src="http://emacspeak.sourceforge.net/raman/tilden-labrador/tilden-bandana.jpg" width="404" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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.&lt;br /&gt;
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:&lt;br /&gt;
"On the Internet no one knows you're a dog, leave alone what
gender you are".&lt;br /&gt;
Tilden promises to steer Emacspeak in a manner that would do
his predecessors &lt;a href="http://emacspeak.sf.net/raman/aster-labrador"&gt;Aster
Labrador&lt;/a&gt; and &lt;a href="http://emacspeak.sf.net/raman/hubbell-labrador"&gt;Hubbell
Labrador&lt;/a&gt; proud.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-7346123054934766410?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/7346123054934766410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/7346123054934766410'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2011/08/welcome-pressanalyst-contact-tilden.html' title='Welcome Press/Analyst Contact Tilden Labrador'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-1897244149616239418</id><published>2011-05-13T11:24:00.001-07:00</published><updated>2011-05-13T11:24:23.602-07:00</updated><title type='text'>In Praise Of Bubbles — Emacspeak 34.0 Unleashed!</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;div id='content'&gt;

&lt;h1 class='title'&gt;Emacspeak 34.0—Bubbles—Unleashed!&lt;/h1&gt;


&lt;div class='outline-2' id='outline-container-1'&gt;
&lt;h2 id='sec-1'&gt;1 Emacspeak-34.0 (Bubbles) Unleashed! &lt;/h2&gt;
&lt;div id='text-1'&gt;




&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1.1'&gt;
&lt;h3 id='sec-1.1'&gt;1.1 For Immediate Release: &lt;/h3&gt;
&lt;div id='text-1.1'&gt;


&lt;p&gt;
San Jose, Calif., (May 13, 2011)
Emacspeak:  Redefining Accessibility In The Era Of Cloud Computing
–Zero cost of upgrades/downgrades makes priceless software affordable!
&lt;/p&gt;
&lt;p&gt;
Emacspeak Inc (NASDOG: ESPK) --&lt;a href='http://emacspeak.sf.net--'&gt;http://emacspeak.sf.net--&lt;/a&gt;
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.
&lt;/p&gt;&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1.2'&gt;
&lt;h3 id='sec-1.2'&gt;1.2 Code Name Note &lt;/h3&gt;
&lt;div id='text-1.2'&gt;


&lt;p&gt;
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
— &lt;a href='http://emacspeak.sf.net/raman/hubbell-labrador/epitaph.html'&gt;Epitaph&lt;/a&gt;. This release is code named Bubbles  in honour of her
unflagging service over these last 11 years.
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1.3'&gt;
&lt;h3 id='sec-1.3'&gt;1.3 Investors Note: &lt;/h3&gt;
&lt;div id='text-1.3'&gt;



&lt;p&gt;
With several prominent tweeters expanding coverage of &lt;span style='text-decoration:underline;'&gt;#emacspeak&lt;/span&gt;, 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.
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1.4'&gt;
&lt;h3 id='sec-1.4'&gt;1.4 What Is It? &lt;/h3&gt;
&lt;div id='text-1.4'&gt;



&lt;p&gt;
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.
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1.5'&gt;
&lt;h3 id='sec-1.5'&gt;1.5 Major Enhancements: &lt;/h3&gt;
&lt;div id='text-1.5'&gt;


&lt;ol&gt;
&lt;li&gt;
Updated URL Templates for rapid Web access. ♁
&lt;/li&gt;
&lt;li&gt;
Support for twittering-mode—including logins using OAuth.    ●
&lt;/li&gt;
&lt;li&gt;
API  Client for NPR programming. 🔘
&lt;/li&gt;
&lt;li&gt;
Librivox API  client. 📚
&lt;/li&gt;
&lt;li&gt;
Emacs 24 support ♺
&lt;/li&gt;
&lt;li&gt;
Speech server support for Mac OS.



&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Plus many more changes too numerous to fit in this margin  ∞
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1.6'&gt;
&lt;h3 id='sec-1.6'&gt;1.6 Establishing Liberty, Equality And Freedom: &lt;/h3&gt;
&lt;div id='text-1.6'&gt;



&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1.7'&gt;
&lt;h3 id='sec-1.7'&gt;1.7 Independent Test Results: &lt;/h3&gt;
&lt;div id='text-1.7'&gt;



&lt;p&gt;
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!".
&lt;/p&gt;

&lt;/div&gt;

&lt;div class='outline-4' id='outline-container-1.7.1'&gt;
&lt;h4 id='sec-1.7.1'&gt;1.7.1 Note from Aster and Bubbles: &lt;/h4&gt;
&lt;div id='text-1.7.1'&gt;



&lt;p&gt;
UnDoctored Videos Inc. is looking for volunteers to star in a
video demonstrating such complete user failure.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1.8'&gt;
&lt;h3 id='sec-1.8'&gt;1.8 Obtaining Emacspeak: &lt;/h3&gt;
&lt;div id='text-1.8'&gt;



&lt;p&gt;
Emacspeak can be downloaded from Google Code Hosting –see
&lt;a href='http://code.google.com/p/emacspeak/'&gt;http://code.google.com/p/emacspeak/&lt;/a&gt; You can visit
Emacspeak on the WWW at &lt;a href='http://emacspeak.sf.net'&gt;http://emacspeak.sf.net&lt;/a&gt;.  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 
&lt;a href='http://emacspeak.googlecode.com/files/emacspeak-34.0.tar.bz2'&gt;http://emacspeak.googlecode.com/files/emacspeak-34.0.tar.bz2&lt;/a&gt;.
The latest development snapshot of Emacspeak is available via
Subversion from Google Code Hosting at 
&lt;a href='http://emacspeak.googlecode.com/svn/trunk/'&gt;http://emacspeak.googlecode.com/svn/trunk/&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1.9'&gt;
&lt;h3 id='sec-1.9'&gt;1.9 History: &lt;/h3&gt;
&lt;div id='text-1.9'&gt;

&lt;p&gt;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.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
About Emacspeak:

&lt;/p&gt;
&lt;hr/&gt;

&lt;p&gt;
Originally based at Cornell (NY)
&lt;a href='http://www.cs.cornell.edu/home/raman'&gt;http://www.cs.cornell.edu/home/raman&lt;/a&gt; –home to Auditory User
Interfaces (AUI) on the WWW– Emacspeak is now maintained on
GoogleCode --&lt;a href='http://code.google.com/p/emacspeak'&gt;http://code.google.com/p/emacspeak&lt;/a&gt; —and
Sourceforge —&lt;a href='http://emacspeak.sf.net'&gt;http://emacspeak.sf.net&lt;/a&gt;. 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.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-2' id='outline-container-2'&gt;
&lt;h2 id='sec-2'&gt;2 Press/Analyst Contact: Hubbell Labrador &lt;/h2&gt;
&lt;div id='text-2'&gt;


&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
**About This Release:

&lt;/p&gt;
&lt;hr/&gt;

&lt;p&gt;
Windows-Free (WF) is a favorite battle-cry of The League Against
Forced Fenestration (LAFF).  –see
&lt;a href='http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm'&gt;http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm&lt;/a&gt; for details on
the ill-effects of Forced Fenestration.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id='postamble'&gt;&lt;p class='author'&gt; Author: T.V Raman
&lt;a href='mailto:tv.raman.tv@gmail.com#+DATE:      2009-11-25 Wed'&gt;&amp;lt;tv.raman.tv@gmail.com#+DATE:      2009-11-25 Wed&amp;gt;&lt;/a&gt;
&lt;/p&gt;

    &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-1897244149616239418?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/1897244149616239418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/1897244149616239418'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2011/05/in-praise-of-bubbles-emacspeak-340.html' title='In Praise Of Bubbles — Emacspeak 34.0 Unleashed!'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-4997150303021985803</id><published>2011-04-20T08:46:00.001-07:00</published><updated>2011-04-20T15:53:11.407-07:00</updated><title type='text'>Hubbell (Bubbles) Labrador  Biography --- My
  Bubbly Life</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;h2&gt;Hubbell (Bubbles) Labrador Biography — My Bubbly Life&lt;/h2&gt;
&lt;p&gt;You can read &lt;a href='http://treatrt.blogspot.com/'&gt;Bubbles
life story&lt;/a&gt;  
entitled &lt;em&gt;My Bubbly Life&lt;/em&gt;.
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.&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-4997150303021985803?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4997150303021985803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4997150303021985803'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2011/04/bubbles-life-story-in-her-own-words.html' title='Hubbell (Bubbles) Labrador  Biography --- My&#xA;  Bubbly Life'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-2711131965029639430</id><published>2011-04-15T19:16:00.001-07:00</published><updated>2011-04-15T19:16:39.088-07:00</updated><title type='text'>Epitaph: Saying GoodBye To Our Beloved Press/Analyst Contact</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;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 &lt;a href='http://emacspeak.sf.net/raman/hubbell-labrador/epitaph.html'&gt;Bubbles
went to sleep April 11, 2011&lt;/a&gt; for the final time.
&lt;/p&gt;

    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-2711131965029639430?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/2711131965029639430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/2711131965029639430'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2011/04/epitaph-saying-goodbye-to-our-beloved.html' title='Epitaph: Saying GoodBye To Our Beloved Press/Analyst Contact'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-6332752551037993069</id><published>2011-02-07T08:20:00.001-08:00</published><updated>2011-02-07T08:20:19.686-08:00</updated><title type='text'>Emacspeak: In Praise Of The Bookshare API</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;  
&lt;p&gt;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.&lt;/p&gt;  
  
&lt;p&gt;Welcome module &lt;em&gt;emacspeak-bookshare&lt;/em&gt;, a fully  
integrated Bookshare client for  the Emacspeak desktop.  
Module &lt;em&gt;emacspeak-bookshare&lt;/em&gt; provides  a special  
&lt;code&gt;Bookshare Interaction&lt;/code&gt; mode  that provides single  
keystroke commands for searching, downloading and viewing  
Bookshare materials from within the comfort of the Emacspeak  
desktop.&lt;/p&gt;  
  
&lt;p&gt;Module &lt;em&gt;Emacspeak-bookshare&lt;/em&gt; 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 &lt;code&gt;emacspeak-bookshare&lt;/code&gt;; to view the help for  
Bookshare Interaction,  
invoke command &lt;code&gt;describe-mode&lt;/code&gt; within the Bookshare  
Interaction buffer.&lt;/p&gt;  
  
&lt;p&gt;Read and Enjoy!&lt;/p&gt;  
is   
    &lt;/div&gt;  
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-6332752551037993069?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/6332752551037993069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/6332752551037993069'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2011/02/emacspeak-in-praise-of-bookshare-api.html' title='Emacspeak: In Praise Of The Bookshare API'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-4240598391795903129</id><published>2010-12-21T09:54:00.001-08:00</published><updated>2010-12-21T09:54:23.271-08:00</updated><title type='text'>Silence Is Golden</title><content type='html'>   
 &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;   
&lt;p&gt;Speech is silvern --- but silence is golden!   
In the spirit of the above, I just added command   
&lt;code&gt;emacspeak-silence&lt;/code&gt; 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.&lt;/p&gt;   
&lt;h2&gt;What This Does&lt;/h2&gt;   
   
&lt;p&gt;Command &lt;code&gt;emacspeak-silence&lt;/code&gt; stops speech by calling   
&lt;code&gt;dtk-stop&lt;/code&gt;. It then runs commands placed on   
&lt;code&gt;emacspeak-silence-hook&lt;/code&gt;.   
Each media player defined by Emacspeak  updates hook   
&lt;code&gt;emacspeak-silence-hook&lt;/code&gt; with an appropriate action   
that pauses or resumes  that player.&lt;/p&gt;   
   
&lt;p&gt;I've also updated the keymaps in   
&lt;code&gt;tvr/console-keymaps&lt;/code&gt; to set up the   
&lt;code&gt;windows&lt;/code&gt; key on the console to produce   
&lt;code&gt;[silence]&lt;/code&gt;, and bound command   
&lt;code&gt;emacspeak-silence&lt;/code&gt; to &lt;code&gt;[silence]&lt;/code&gt; in   
&lt;code&gt;emacspeak-keymap.el&lt;/code&gt;.&lt;/p&gt;   
   
&lt;p&gt;   
The net effect is that if you use those console maps, you can   
just hit the &lt;code&gt;windows&lt;/code&gt; key whenever you want to   
silence all audio output; pressing it again will resume any media   
streams you had active.&lt;/p&gt;   
   
&lt;p&gt;Share And Enjoy --- and here's  wishing our Press/Analyst   
contact a very Happy 13th Birthday --- mark it with a palindromic   
moment at  &lt;code&gt;010212212010&lt;/code&gt;   
i.e., &lt;code&gt;Tue Dec 21 01:02:15 PST 2010&lt;/code&gt;   
&lt;/p&gt;   
   
   
    &lt;/div&gt;   
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-4240598391795903129?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4240598391795903129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4240598391795903129'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2010/12/silence-is-golden.html' title='Silence Is Golden'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-204658359808048204</id><published>2010-11-24T10:53:00.001-08:00</published><updated>2010-11-24T10:53:26.154-08:00</updated><title type='text'>Emacspeak 33.0 (StarDog) Unleashed!</title><content type='html'> 
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt; 
&lt;div id='content'&gt; 
 
&lt;h1 class='title'&gt;Emacspeak 33.0  ---  StarDog  ---  Unleashed!&lt;/h1&gt; 
 
 
&lt;div class='outline-2' id='outline-container-1'&gt; 
&lt;h2 id='sec-1'&gt;&lt;span class='section-number-2'&gt;1&lt;/span&gt; Emacspeak-33.0 (StarDog) Unleashed! &lt;/h2&gt; 
&lt;div id='text-1' class='outline-text-2'&gt; 
 
 
 
 
&lt;/div&gt; 
 
&lt;div class='outline-3' id='outline-container-1_1'&gt; 
&lt;h3 id='sec-1_1'&gt;&lt;span class='section-number-3'&gt;1.1&lt;/span&gt; For Immediate Release: &lt;/h3&gt; 
&lt;div id='text-1_1' class='outline-text-3'&gt; 
 
 
&lt;p&gt; 
San Jose, Calif., (Nov 24, 2010) 
Emacspeak: Bringing Cloud Access From The    Stars 
 -- Zero cost of upgrades/downgrades makes priceless software affordable! 
&lt;/p&gt; 
&lt;p&gt; 
Emacspeak Inc (NASDOG: ESPK) --&lt;a href='http://emacspeak.sf.net'&gt;http://emacspeak.sf.net&lt;/a&gt;-- 
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. 
&lt;/p&gt; 
&lt;/div&gt; 
 
&lt;/div&gt; 
 
&lt;div class='outline-3' id='outline-container-1_2'&gt; 
&lt;h3 id='sec-1_2'&gt;&lt;span class='section-number-3'&gt;1.2&lt;/span&gt; Investors Note: &lt;/h3&gt; 
&lt;div id='text-1_2' class='outline-text-3'&gt; 
 
 
 
&lt;p&gt; 
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. 
&lt;/p&gt; 
&lt;/div&gt; 
 
&lt;/div&gt; 
 
&lt;div class='outline-3' id='outline-container-1_3'&gt; 
&lt;h3 id='sec-1_3'&gt;&lt;span class='section-number-3'&gt;1.3&lt;/span&gt; What Is It? &lt;/h3&gt; 
&lt;div id='text-1_3' class='outline-text-3'&gt; 
 
 
 
&lt;p&gt; 
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. 
&lt;/p&gt; 
&lt;/div&gt; 
 
&lt;/div&gt; 
 
&lt;div class='outline-3' id='outline-container-1_4'&gt; 
&lt;h3 id='sec-1_4'&gt;&lt;span class='section-number-3'&gt;1.4&lt;/span&gt; Major Enhancements: &lt;/h3&gt; 
&lt;div id='text-1_4' class='outline-text-3'&gt; 
 
 
 
 
&lt;ol&gt; 
&lt;li&gt; 
Updated URL Templates for rapid Web access. ♁ 
 
&lt;/li&gt; 
&lt;li&gt; 
Support for twittering-mode  ---  including logins using OAuth.    ● 
 
&lt;/li&gt; 
&lt;li&gt; 
Updated Google docs support enables publishing from org-mode.   ○ 
&lt;/li&gt; 
&lt;li&gt; 
Enhanced BBC iPlayer support ☢ 
&lt;/li&gt; 
&lt;li&gt; 
Emacs 24 support ♺ 
 
&lt;/li&gt; 
&lt;/ol&gt; 
 
&lt;p&gt;Plus many more changes too numerous to fit in this margin   ∞ 
&lt;/p&gt; 
&lt;/div&gt; 
 
&lt;/div&gt; 
 
&lt;div class='outline-3' id='outline-container-1_5'&gt; 
&lt;h3 id='sec-1_5'&gt;&lt;span class='section-number-3'&gt;1.5&lt;/span&gt; Establishing Liberty, Equality And Freedom: &lt;/h3&gt; 
&lt;div id='text-1_5' class='outline-text-3'&gt; 
 
 
 
&lt;p&gt; 
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. 
&lt;/p&gt; 
&lt;p&gt; 
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. 
&lt;/p&gt; 
&lt;p&gt; 
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. 
&lt;/p&gt; 
&lt;p&gt; 
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. 
&lt;/p&gt; 
&lt;/div&gt; 
 
&lt;/div&gt; 
 
&lt;div class='outline-3' id='outline-container-1_6'&gt; 
&lt;h3 id='sec-1_6'&gt;&lt;span class='section-number-3'&gt;1.6&lt;/span&gt; Independent Test Results: &lt;/h3&gt; 
&lt;div id='text-1_6' class='outline-text-3'&gt; 
 
 
 
&lt;p&gt; 
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!". 
&lt;/p&gt; 
 
&lt;/div&gt; 
 
&lt;div class='outline-4' id='outline-container-1_6_1'&gt; 
&lt;h4 id='sec-1_6_1'&gt;&lt;span class='section-number-4'&gt;1.6.1&lt;/span&gt; Note from Aster and Bubbles: &lt;/h4&gt; 
&lt;div id='text-1_6_1' class='outline-text-4'&gt; 
 
 
 
&lt;p&gt; 
UnDoctored Videos Inc. is looking for volunteers to star in a 
video demonstrating such complete user failure. 
&lt;/p&gt; 
&lt;/div&gt; 
&lt;/div&gt; 
 
&lt;/div&gt; 
 
&lt;div class='outline-3' id='outline-container-1_7'&gt; 
&lt;h3 id='sec-1_7'&gt;&lt;span class='section-number-3'&gt;1.7&lt;/span&gt; Obtaining Emacspeak: &lt;/h3&gt; 
&lt;div id='text-1_7' class='outline-text-3'&gt; 
 
 
 
&lt;p&gt; 
Emacspeak can be downloaded from Google Code Hosting  -- see 
&lt;a href='http://code.google.com/p/emacspeak/'&gt;http://code.google.com/p/emacspeak/&lt;/a&gt; You can visit 
Emacspeak on the WWW at &lt;a href='http://emacspeak.sf.net'&gt;http://emacspeak.sf.net&lt;/a&gt;.  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  
&lt;a href='http://emacspeak.googlecode.com/files/emacspeak-33.0.tar.bz2'&gt;http://emacspeak.googlecode.com/files/emacspeak-33.0.tar.bz2&lt;/a&gt;. 
The latest development snapshot of Emacspeak is available via 
Subversion from Google Code Hosting at  
&lt;a href='http://emacspeak.googlecode.com/svn/trunk/'&gt;http://emacspeak.googlecode.com/svn/trunk/&lt;/a&gt; 
&lt;/p&gt; 
&lt;/div&gt; 
 
&lt;/div&gt; 
 
&lt;div class='outline-3' id='outline-container-1_8'&gt; 
&lt;h3 id='sec-1_8'&gt;&lt;span class='section-number-3'&gt;1.8&lt;/span&gt; History: &lt;/h3&gt; 
&lt;div id='text-1_8' class='outline-text-3'&gt; 
 
&lt;p&gt;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. 
&lt;/p&gt; 
&lt;p&gt; 
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. 
&lt;/p&gt; 
&lt;p&gt; 
About Emacspeak: 
 
&lt;/p&gt; 
&lt;hr/&gt; 
 
&lt;p&gt; 
Originally based at Cornell (NY) 
&lt;a href='http://www.cs.cornell.edu/home/raman'&gt;http://www.cs.cornell.edu/home/raman&lt;/a&gt;  -- home to Auditory User 
Interfaces (AUI) on the WWW --  Emacspeak is now maintained on 
GoogleCode --&lt;a href='http://code.google.com/p/emacspeak'&gt;http://code.google.com/p/emacspeak&lt;/a&gt;  --  and 
Sourceforge  --  &lt;a href='http://emacspeak.sf.net'&gt;http://emacspeak.sf.net&lt;/a&gt;. 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. 
&lt;/p&gt; 
&lt;p&gt; 
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. 
&lt;/p&gt; 
&lt;/div&gt; 
&lt;/div&gt; 
 
&lt;/div&gt; 
 
&lt;div class='outline-2' id='outline-container-2'&gt; 
&lt;h2 id='sec-2'&gt;&lt;span class='section-number-2'&gt;2&lt;/span&gt; Press/Analyst Contact: Hubbell Labrador &lt;/h2&gt; 
&lt;div id='text-2' class='outline-text-2'&gt; 
 
 
&lt;p&gt; 
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. 
&lt;/p&gt; 
&lt;p&gt; 
**About This Release: 
 
&lt;/p&gt; 
&lt;hr/&gt; 
 
&lt;p&gt; 
Windows-Free (WF) is a favorite battle-cry of The League Against 
Forced Fenestration (LAFF).   -- see 
&lt;a href='http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm'&gt;http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm&lt;/a&gt; for details on 
the ill-effects of Forced Fenestration. 
&lt;/p&gt; 
&lt;p&gt; 
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. 
&lt;/p&gt; 
&lt;/div&gt; 
&lt;/div&gt; 
&lt;div id='postamble'&gt; 
&lt;p class='author'&gt; Author: T.V Raman 
&lt;/p&gt; 
&lt;p class='date'&gt; Date: 2010-11-24 08:43:55 PST&lt;/p&gt; 
&lt;p class='creator'&gt;HTML generated by org-mode 7.01 in emacs 24&lt;/p&gt; 
&lt;/div&gt; 
&lt;/div&gt; 
    &lt;/div&gt; 
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-204658359808048204?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/204658359808048204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/204658359808048204'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2010/11/emacspeak-330-stardog-unleashed.html' title='Emacspeak 33.0 (StarDog) Unleashed!'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-5033630278890460887</id><published>2010-05-12T17:38:00.001-07:00</published><updated>2010-05-14T13:34:32.048-07:00</updated><title type='text'>Emacspeak 32.0 (LuckyDog) Unleashed</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;div id='article'&gt;
&lt;h1 class='title'&gt;Emacspeak 32.0  ---  LuckyDog  ---  Unleashed!&lt;/h1&gt;
&lt;div id='outline-container-1' class='outline-2'&gt;
&lt;h2 id='sec-1'&gt;&lt;span class='section-number-2'&gt;1&lt;/span&gt; Emacspeak-32.0 (LuckyDog) Unleashed! &lt;/h2&gt;
&lt;div class='outline-text-2' id='text-1'&gt;
&lt;/div&gt;
&lt;div id='outline-container-1.1' class='outline-3'&gt;
&lt;h3 id='sec-1.1'&gt;&lt;span class='section-number-3'&gt;1.1&lt;/span&gt; For Immediate Release: &lt;/h3&gt;
&lt;div class='outline-text-3' id='text-1.1'&gt;
&lt;p&gt;
San Jose, Calif., (May 13, 2010)
Emacspeak: Bringing tweet Access For   social beings
 -- ;Zero cost of upgrades/downgrades makes priceless software affordable!
&lt;/p&gt;
&lt;p&gt;
Emacspeak Inc (NASDOG: ESPK) --&lt;a href='http://emacspeak.sf.net'&gt;http://emacspeak.sf.net&lt;/a&gt;--
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.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id='outline-container-1.2' class='outline-3'&gt;
&lt;h3 id='sec-1.2'&gt;&lt;span class='section-number-3'&gt;1.2&lt;/span&gt; Investors Note: &lt;/h3&gt;
&lt;div class='outline-text-3' id='text-1.2'&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id='outline-container-1.3' class='outline-3'&gt;
&lt;h3 id='sec-1.3'&gt;&lt;span class='section-number-3'&gt;1.3&lt;/span&gt; What Is It? &lt;/h3&gt;
&lt;div class='outline-text-3' id='text-1.3'&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id='outline-container-1.4' class='outline-3'&gt;
&lt;h3 id='sec-1.4'&gt;&lt;span class='section-number-3'&gt;1.4&lt;/span&gt; Major Enhancements: &lt;/h3&gt;
&lt;div class='outline-text-3' id='text-1.4'&gt;
&lt;ol&gt;
&lt;li&gt;
Updated URL Templates for rapid Web access. ♁
&lt;/li&gt;
&lt;li&gt;
BBC iPlayer support ☢
&lt;/li&gt;
&lt;li&gt;
Updated EPub support ✍
&lt;/li&gt;
&lt;li&gt;
Emacs 24 support ♺
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Plus many more changes too numerous to fit in this margin  ∞
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id='outline-container-1.5' class='outline-3'&gt;
&lt;h3 id='sec-1.5'&gt;&lt;span class='section-number-3'&gt;1.5&lt;/span&gt; Establishing Liberty, Equality And Freedom: &lt;/h3&gt;
&lt;div class='outline-text-3' id='text-1.5'&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id='outline-container-1.6' class='outline-3'&gt;
&lt;h3 id='sec-1.6'&gt;&lt;span class='section-number-3'&gt;1.6&lt;/span&gt; Independent Test Results: &lt;/h3&gt;
&lt;div class='outline-text-3' id='text-1.6'&gt;
&lt;p&gt;
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!".
&lt;/p&gt;
&lt;/div&gt;
&lt;div id='outline-container-1.6.1' class='outline-4'&gt;
&lt;h4 id='sec-1.6.1'&gt;&lt;span class='section-number-4'&gt;1.6.1&lt;/span&gt; Note from Aster and Bubbles: &lt;/h4&gt;
&lt;div class='outline-text-4' id='text-1.6.1'&gt;
&lt;p&gt;
UnDoctored Videos Inc. is looking for volunteers to star in a
video demonstrating such complete user failure.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id='outline-container-1.7' class='outline-3'&gt;
&lt;h3 id='sec-1.7'&gt;&lt;span class='section-number-3'&gt;1.7&lt;/span&gt; Obtaining Emacspeak: &lt;/h3&gt;
&lt;div class='outline-text-3' id='text-1.7'&gt;
&lt;p&gt;
Emacspeak can be downloaded from Google Code Hosting  -- ;see
&lt;a href='http://code.google.com/p/emacspeak/'&gt;http://code.google.com/p/emacspeak/&lt;/a&gt; You can visit
Emacspeak on the WWW at &lt;a href='http://emacspeak.sf.net'&gt;http://emacspeak.sf.net&lt;/a&gt;.  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 
&lt;a href='http://emacspeak.googlecode.com/files/emacspeak-32.0.tar.bz2'&gt;http://emacspeak.googlecode.com/files/emacspeak-32.0.tar.bz2&lt;/a&gt;.
The latest development snapshot of Emacspeak is available via
Subversion from Google Code Hosting at 
&lt;a href='http://emacspeak.googlecode.com/svn/trunk/'&gt;http://emacspeak.googlecode.com/svn/trunk/&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id='outline-container-1.8' class='outline-3'&gt;
&lt;h3 id='sec-1.8'&gt;&lt;span class='section-number-3'&gt;1.8&lt;/span&gt; History: &lt;/h3&gt;
&lt;div class='outline-text-3' id='text-1.8'&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
About Emacspeak:
&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;
Originally based at Cornell (NY)
&lt;a href='http://www.cs.cornell.edu/home/raman'&gt;http://www.cs.cornell.edu/home/raman&lt;/a&gt;  -- ;home to Auditory User
Interfaces (AUI) on the WWW -- ; Emacspeak is now maintained on
GoogleCode --&lt;a href='http://code.google.com/p/emacspeak'&gt;http://code.google.com/p/emacspeak&lt;/a&gt;  -- ; and
Sourceforge  -- ; &lt;a href='http://emacspeak.sf.net'&gt;http://emacspeak.sf.net&lt;/a&gt;. 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.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id='outline-container-2' class='outline-2'&gt;
&lt;h2 id='sec-2'&gt;&lt;span class='section-number-2'&gt;2&lt;/span&gt; Press/Analyst Contact: Hubbell Labrador &lt;/h2&gt;
&lt;div class='outline-text-2' id='text-2'&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
**About This Release:
&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;
Windows-Free (WF) is a favorite battle-cry of The League Against
Forced Fenestration (LAFF).   -- ;see
&lt;a href='http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm'&gt;http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm&lt;/a&gt; for details on
the ill-effects of Forced Fenestration.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id='postamble'&gt;
&lt;p class='author'&gt; Author: T.V Raman
&lt;/p&gt;
&lt;p class='date'&gt; Date: 2010-05-10 17:37:06 PDT&lt;/p&gt;
&lt;p class='creator'&gt;HTML generated by org-mode 6.35i in emacs 24&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-5033630278890460887?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/5033630278890460887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/5033630278890460887'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2010/05/emacspeak-320-luckydog-unleashed.html' title='Emacspeak 32.0 (LuckyDog) Unleashed'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-2482514192131547324</id><published>2010-01-26T08:41:00.001-08:00</published><updated>2010-01-26T09:03:52.705-08:00</updated><title type='text'>AsTeR --- Audio System For Technical Readings</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;Almost exactly 16 years to the date after presenting AsTeR
--- &lt;a href='http://www.cs.cornell.edu/home/raman/aster/aster-toplevel.html'&gt;Audio System For Technical Readings&lt;/a&gt; --- 
to the CS Faculty at Cornell for my &lt;a href='http://www.cs.cornell.edu/home/raman/phd-thesis/index.html'&gt;PhD&lt;/a&gt;, I released the source
code as Open Source --- thanks to Prof. David Gries at Cornell
for approving this release.&lt;/p&gt;
&lt;p&gt;The sources are checked into GoogleCode project 
&lt;a href='http://aster-math.googlecode.com'&gt;aster-math&lt;/a&gt; ---
unfortunately, the name AsTeR was unavailable since there is an
unrelated project of the same name at SourceForge.&lt;/p&gt;
&lt;p&gt;So you might well ask: why 16 years later, and why now? The
honest answer is &lt;q&gt;No good reason,&lt;/q&gt; 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.&lt;/p&gt;
&lt;h2&gt;What You'll Find In The Sources&lt;/h2&gt;
&lt;p&gt;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 
&lt;a href='http://aster-math.googlecode.com/svn/trunk/README'&gt;README&lt;/a&gt;
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.&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-2482514192131547324?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/2482514192131547324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/2482514192131547324'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2010/01/aster-audio-system-for-technical.html' title='AsTeR --- Audio System For Technical Readings'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-5583569647483114898</id><published>2009-11-25T17:22:00.001-08:00</published><updated>2009-11-25T17:22:04.471-08:00</updated><title type='text'>Emacspeak 31 (AKA TweetDog) Unleashed!</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;h1 class='title'&gt;Emacspeak 31.0  -  TweetDog  -  Unleashed!&lt;/h1&gt;


&lt;div class='outline-2' id='outline-container-1'&gt;
&lt;h2 id='sec-1'&gt;1 Emacspeak-31.0 (TweetDog) Unleashed!&lt;/h2&gt;
&lt;div id='text-1'&gt;

&lt;p&gt;
&lt;hr/&gt;
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-2' id='outline-container-2'&gt;
&lt;h2 id='sec-2'&gt;2 For Immediate Release:&lt;/h2&gt;
&lt;div id='text-2'&gt;


&lt;p&gt;
San Jose, Calif., (Nov 26, 2009)
Emacspeak: Bringing tweet Access For   social beings
 - Zero cost of upgrades/downgrades makes priceless software affordable!
&lt;/p&gt;
&lt;p&gt;
Emacspeak Inc (NASDOG: ESPK) --&lt;a href='http://emacspeak.sf.net--'&gt;http://emacspeak.sf.net--&lt;/a&gt;
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.
&lt;/p&gt;
&lt;table cellpadding='5' cellspacing='1' rules='all' border='1' summary='navigation bar' role='navigation'&gt;
      &lt;tr style='background: yellow; text-color: navy; font-weight: bold'&gt;
        &lt;td&gt;&lt;a href='http://emacspeak.googlecode.com/files/emacspeak-31.0.tar.bz2'&gt;Downloads&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt;&lt;a href='../info/emacspeak.html'&gt; Reference&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt;&lt;a href='../install-guide/'&gt;Installation&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt; &lt;a href='../user-guide/'&gt;Usage&lt;/a&gt; &lt;/td&gt;
        &lt;td&gt;&lt;a href='../tips.html'&gt;Tips&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt;&lt;a href='../applications.html'&gt;Tools&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt; &lt;a href='http://www.cs.vassar.edu/~priestdo/emacspeak/'&gt;Support&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td colspan='7'&gt;
          &lt;img alt='EMACSPEAK Logo' height='216' width='150' src='emacspeak.jpg'/&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td colspan='4'&gt;&lt;a href='raman/'&gt;About the author&lt;/a&gt;&lt;/td&gt;
        &lt;td colspan='3'&gt;
          &lt;a href='http://sourceforge.net/projects/emacspeak'&gt;
            &lt;img alt='SourceForge' border='0' height='31' width='88' src='http://sourceforge.net/sflogo.php?group_id=2238'/&gt;
        &lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-2.1'&gt;
&lt;h3 id='sec-2.1'&gt;2.1 Investors Note:&lt;/h3&gt;
&lt;div id='text-2.1'&gt;

&lt;p&gt;
&lt;hr/&gt;
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-2.2'&gt;
&lt;h3 id='sec-2.2'&gt;2.2 What Is It?&lt;/h3&gt;
&lt;div id='text-2.2'&gt;

&lt;p&gt;
&lt;hr/&gt;
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-2.3'&gt;
&lt;h3 id='sec-2.3'&gt;2.3 Major Enhancements:&lt;/h3&gt;
&lt;div id='text-2.3'&gt;

&lt;p&gt;
&lt;hr/&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Speech-enables Twitter. ✹
&lt;/li&gt;
&lt;li&gt;
Unicode support for enabling the world's various charsets.♁
&lt;/li&gt;
&lt;li&gt;
Emacs front-end to popular Google AJAX APIs. ⚤
&lt;/li&gt;
&lt;li&gt;
Updated g-client with preliminary support for Google
Docs. ✏
&lt;/li&gt;
&lt;li&gt;
Updated URL Templates for rapid Web access. ♅
&lt;/li&gt;
&lt;li&gt;
Updated WebSearch wizards for enhanced productivity.♄

&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Plus many more changes too numerous to fit in this margin  ...  ⚭
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-5583569647483114898?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/5583569647483114898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/5583569647483114898'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2009/11/emacspeak-31-aka-tweetdog-unleashed.html' title='Emacspeak 31 (AKA TweetDog) Unleashed!'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-3455142340996047146</id><published>2009-10-13T08:57:00.001-07:00</published><updated>2009-10-13T08:57:38.039-07:00</updated><title type='text'>A Google Tool-belt For The Complete Audio Desktop</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;div&gt;
&lt;h2&gt;Introducing The Emacspeak Google Tool-belt&lt;/h2&gt;

&lt;p&gt;Module &lt;code&gt;emacspeak-google.el&lt;/code&gt;
implements a suite of Google tools collectively refered to
  as &lt;em&gt;The Google Tool-Belt&lt;/em&gt;. 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 &lt;em&gt;Show --
                     --Options&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;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 &lt;code&gt;Control-t&lt;/code&gt; in Emacs/W3 buffers.&lt;/p&gt;
&lt;table frame='hsides' rules='groups' cellpadding='6' cellspacing='0' border='2'&gt;
&lt;caption/&gt;
&lt;colgroup&gt;&lt;col align='left'/&gt;&lt;col align='left'/&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th scope='col'&gt;key&lt;/th&gt;&lt;th scope='col'&gt;binding&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;C-t C-b&lt;/td&gt;&lt;td&gt;emacspeak-google-toolbelt-change-books-viewability&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t A&lt;/td&gt;&lt;td&gt;emacspeak-websearch-accessible-google&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t B&lt;/td&gt;&lt;td&gt;emacspeak-google-toolbelt-change-books&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t H&lt;/td&gt;&lt;td&gt;emacspeak-google-toolbelt-change-web-history-not-visited&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t T&lt;/td&gt;&lt;td&gt;emacspeak-google-toolbelt-change-timeline&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t a&lt;/td&gt;&lt;td&gt;emacspeak-websearch-google&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t b&lt;/td&gt;&lt;td&gt;emacspeak-google-toolbelt-change-blog&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t c&lt;/td&gt;&lt;td&gt;emacspeak-google-toolbelt-change-commercial&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t d&lt;/td&gt;&lt;td&gt;emacspeak-google-toolbelt-change-sort-by-date&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t f&lt;/td&gt;&lt;td&gt;emacspeak-google-toolbelt-change-forums&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t h&lt;/td&gt;&lt;td&gt;emacspeak-google-toolbelt-change-web-history-visited&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t i&lt;/td&gt;&lt;td&gt;emacspeak-google-toolbelt-change-images&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t l&lt;/td&gt;&lt;td&gt;emacspeak-google-toolbelt-change-non-commercial&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t n&lt;/td&gt;&lt;td&gt;emacspeak-google-toolbelt-change-news&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t p&lt;/td&gt;&lt;td&gt;emacspeak-google-toolbelt-change-commercial-prices&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t r&lt;/td&gt;&lt;td&gt;emacspeak-google-toolbelt-change-recent&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t s&lt;/td&gt;&lt;td&gt;emacspeak-google-toolbelt-change-structured-snippets&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t t&lt;/td&gt;&lt;td&gt;emacspeak-google-toolbelt-change-books-type&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;C-t v&lt;/td&gt;&lt;td&gt;emacspeak-google-toolbelt-change-video&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Share And Enjoy!&lt;/p&gt;
    &lt;/div&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-3455142340996047146?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/3455142340996047146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/3455142340996047146'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2009/10/google-tool-belt-for-complete-audio.html' title='A Google Tool-belt For The Complete Audio Desktop'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-1588065823364899714</id><published>2009-09-21T08:49:00.001-07:00</published><updated>2009-09-21T08:49:42.955-07:00</updated><title type='text'>Emacspeak, The World's Fonts And Braille</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;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
&lt;code&gt;emacspeak-unibyte&lt;/code&gt; --- Emacspeak no longer supports
running Emacs in &lt;code&gt;unibyte&lt;/code&gt; mode. Note that this aligns
Emacspeak with Emacs 23.2 which obsoletes &lt;code&gt;unibyte&lt;/code&gt;
mode.&lt;/p&gt;

&lt;p&gt;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:&lt;/p&gt;
&lt;pre&gt;
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.

&lt;/pre&gt;
&lt;p&gt;With the Unicode data file in place, Emacspeak can announce
names of characters  from &lt;em&gt;all&lt;/em&gt; of the world's fonts ---
this includes Braille.
As an added convenience, I have integrated package
&lt;code&gt;toy-braille.el&lt;/code&gt; found on the Emacs wiki into the
Emacs codebase and defined a new interactive command
&lt;code&gt;emacspeak-wizards-braille&lt;/code&gt; --- if you find yourself
using it often, you can bind it to a key of your choice.
Command &lt;code&gt;emacspeak-wizards-braille&lt;/code&gt; prompts for the
string to Braille and produces a Grade-1 representation of  the
specified string using the appropriate Unicode characters.  
&lt;/p&gt;
&lt;p&gt;
⠠⠃⠗⠁⠊⠇⠇⠑⠀⠠⠁⠝⠙⠀⠠⠑⠝⠚⠕⠽&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-1588065823364899714?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/1588065823364899714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/1588065823364899714'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2009/09/emacspeak-world-fonts-and-braille.html' title='Emacspeak, The World&amp;#39;s Fonts And Braille'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-5458623656889758886</id><published>2009-09-15T08:16:00.001-07:00</published><updated>2009-09-15T08:16:11.866-07:00</updated><title type='text'>Emacspeak: Google News Suggest For Faster News Search</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Press &lt;code&gt;C-e?n&lt;/code&gt; to invoke &lt;em&gt;News Search&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Type &lt;code&gt;Oba&lt;/code&gt; and hit &lt;code&gt;TAB&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Search and Enjoy&lt;/strong&gt;&lt;/p&gt;

    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-5458623656889758886?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/5458623656889758886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/5458623656889758886'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2009/09/emacspeak-google-news-suggest-for.html' title='Emacspeak: Google News Suggest For Faster News Search'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-731401833831161183</id><published>2009-08-27T08:28:00.001-07:00</published><updated>2009-08-27T08:28:51.236-07:00</updated><title type='text'>Emacspeak Servers --- Catching Up With Debian And Ubuntu</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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!&lt;/p&gt;

&lt;h3&gt;ViaVoice Outloud Server For Emacspeak&lt;/h3&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The libstdc++ compat libraries ended up not getting installed
on Jaunty. Consequence, ViaVoice produces a warning asking you to
install the ViaVoice RTK, even though it's already installed. I
ended up rescueing the compat libs from my Hardy build. Perhaps
we should put up a simple tar.gz file that drops those libs into
/usr/lib?&lt;/li&gt;
&lt;li&gt;Alsa is configured to use pulseaudio on Jaunty. 
An unfortunate consequence is that when ViaVoice runs, it sounds
like a stereo channel played as mono, i.e. the speech slows down
and the voice sounds wrong. The fix is to create a  .asoundrc  
file in your home directory --- you can use the sample in
 linux-outloud/ASOUNDRC  as a starting point. To see if
pulseaudio is intervening in your setup, do
:aplay -v  wav file 
--- to see the set of alsa plugins that are participating in
audio output. &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;ESpeak And Emacspeak&lt;/h3&gt;

&lt;p&gt; 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.&lt;/p&gt;

&lt;h3&gt;Software Dectalk And Emacspeak&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;


    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-731401833831161183?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/731401833831161183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/731401833831161183'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2009/08/emacspeak-servers-catching-up-with.html' title='Emacspeak Servers --- Catching Up With Debian And Ubuntu'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-6645202840710833780</id><published>2009-06-29T10:48:00.001-07:00</published><updated>2009-06-29T10:53:19.877-07:00</updated><title type='text'>Launching Favorite Media Via Hot Keys</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;h2&gt;Launching Oft-Played Media On The Complete Audio Desktop&lt;/h2&gt;
&lt;p&gt;Command &lt;code&gt;emacspeak-multimedia&lt;/code&gt; 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 &lt;code&gt;emacspeak-media&lt;/code&gt; on
your favorite audio collections.&lt;/p&gt;
&lt;h2&gt;How It Works&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Customize Emacspeak option
&lt;code&gt;emacspeak-media-location-bindings&lt;/code&gt; using Emacs'
Custom interface:
&lt;pre&gt;
M-x customize-variable --- 
&lt;/pre&gt;
press &lt;code&gt;C-H V&lt;/code&gt; in emacspeak.
&lt;/li&gt;
&lt;li&gt;Click &lt;code&gt;ins&lt;/code&gt; to insert a  key/location pair. &lt;/li&gt;
&lt;li&gt;Click &lt;code&gt;save&lt;/code&gt; to persist the binding.&lt;/li&gt;
&lt;li&gt;pressing the assigned hotkey will automatically launch
&lt;code&gt;emacspeak-multimedia&lt;/code&gt; on the predefined location ---
emacs will prompt you with regular filename completion for media
resources found in that directory.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In my own case, I have favorites defined on
&lt;code&gt;hyper-&amp;lt;n&amp;gt;&lt;/code&gt;  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 &lt;code&gt;emacspeak-multimedia&lt;/code&gt; 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. &lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-6645202840710833780?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/6645202840710833780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/6645202840710833780'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2009/06/launching-favorite-media-via-hot-keys.html' title='Launching Favorite Media Via Hot Keys'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-8771579527311127674</id><published>2009-05-22T09:04:00.001-07:00</published><updated>2009-05-22T09:04:10.032-07:00</updated><title type='text'>Looking Beyond The Screen At Google I/O2009</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;
Come join me and &lt;a href='http://www.clcworld.net'&gt;Charles
Chen&lt;/a&gt;
at  
&lt;a href='http://code.google.com/events/io/'&gt;Google I/O2009&lt;/a&gt;
at our session on 
&lt;a href='http://www.youtube.com/watch?v=X9jVV5PGf_w'&gt;Looking
Beyond The Screen (YouTube Preview&lt;/a&gt;
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!&lt;/p&gt;
&lt;h2&gt;Abstract: Looking Beyond The Screen&lt;/h2&gt;
&lt;div class='outline-2' id='outline-container-1'&gt;
&lt;h2 id='sec-1'&gt;Looking Beyond The Screen&lt;/h2&gt;
&lt;div id='text-1'&gt;


&lt;p&gt;
Project &lt;a href='http://eyes-free.googlecode.com'&gt;Eyes-Free&lt;/a&gt; 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  &lt;a href='http://www.nytimes.com/2009/01/04/business/04blind.html?pagewanted=1&amp;amp;_r=1&amp;amp;ref=business'&gt;For The Blind, Technology Does What A Guide Dog Can't&lt;/a&gt;, 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 &lt;i&gt;eyes-free shell&lt;/i&gt; on the Android
Marketplace, though the underlying source code has been available
for some time from the code repository at &lt;a href='http://eyes-free.googlecode.com'&gt;Google Code Hosting&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Here is a brief overview of the end-user affordances provided in
this release:
&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
An &lt;i&gt;Eyes-Free Shell&lt;/i&gt; for conveniently launching talking applications.
&lt;/li&gt;
&lt;li&gt;
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.

&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;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.
&lt;/p&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1.1'&gt;
&lt;h3 id='sec-1.1'&gt;Talking Dialer &lt;/h3&gt;
&lt;div id='text-1.1'&gt;


&lt;p&gt;
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. 
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1.2'&gt;
&lt;h3 id='sec-1.2'&gt;Knowing Your Location &lt;/h3&gt;
&lt;div id='text-1.2'&gt;


&lt;p&gt;
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.
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1.3'&gt;
&lt;h3 id='sec-1.3'&gt;Device State&lt;/h3&gt;
&lt;div id='text-1.3'&gt;


&lt;p&gt;
This mini-application announces useful information such as
battery state, signal
strength, and availability of WiFi networks.
&lt;/p&gt;
&lt;/div&gt;

&lt;/div&gt;

&lt;div class='outline-3' id='outline-container-1.4'&gt;
&lt;h3 id='sec-1.4'&gt;Date And Time&lt;/h3&gt;
&lt;div id='text-1.4'&gt;


&lt;p&gt;
This mini-application provides single-touch access to current
date and time.
&lt;/p&gt;





&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-8771579527311127674?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8771579527311127674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8771579527311127674'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2009/05/looking-beyond-screen-at-google-io2009.html' title='Looking Beyond The Screen At Google I/O2009'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-8862551794456516199</id><published>2009-05-11T13:43:00.001-07:00</published><updated>2009-05-11T13:43:15.252-07:00</updated><title type='text'>Announcing emacspeak 30.0 --- SocialDog!</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;h1&gt;Emacspeak-30.0 (SocialDog) Unleashed!&lt;/h1&gt;
    
    &lt;h2&gt;For Immediate Release&lt;/h2&gt;
    &lt;p&gt;
      San Jose, CA, (May 11, 2009)&lt;br/&gt;
      Emacspeak:   --- Bringing friendly Access For   social beings  &lt;br/&gt;
      --Zero cost of upgrade/downgrades makes priceless software affordable!
    &lt;/p&gt;
    
     
    
    &lt;table cellpadding='5' cellspacing='1' rules='all' border='1' summary='navigation bar' role='navigation'&gt;
      &lt;tr style='background: yellow; text-color: navy; font-weight: bold'&gt;
        &lt;td&gt;&lt;a href='http://emacspeak.googlecode.com/files/emacspeak-30 .0.tar.bz2'&gt;Downloads&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt;&lt;a href='../info/emacspeak.html'&gt; Reference&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt;&lt;a href='../install-guide/'&gt;Installation&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt; &lt;a href='../user-guide/'&gt;Usage&lt;/a&gt; &lt;/td&gt;
        &lt;td&gt;&lt;a href='../tips.html'&gt;Tips&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt;&lt;a href='../applications.html'&gt;Tools&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt; &lt;a href='http://www.cs.vassar.edu/~priestdo/emacspeak/'&gt;Support&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td colspan='7'&gt;
          &lt;img alt='EMACSPEAK Logo' height='216' width='150' src='emacspeak.jpg'/&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td colspan='4'&gt;&lt;a href='raman/'&gt;About the author&lt;/a&gt;&lt;/td&gt;
        &lt;td colspan='3'&gt;
          &lt;a href='http://sourceforge.net/projects/emacspeak'&gt;
            &lt;img alt='SourceForge' border='0' height='31' width='88' src='http://sourceforge.net/sflogo.php?group_id=2238'/&gt;
        &lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
    
    
    
    &lt;p&gt;
      
      Emacspeak Inc &lt;a href='http://emacspeak.sourceforge.net'&gt;(NASDOG: ESPK)&lt;/a&gt; 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.
    &lt;/p&gt;
    &lt;h2&gt;Investors Note&lt;/h2&gt;
    &lt;p&gt;
      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.
    &lt;/p&gt;
    
    
    &lt;h2&gt;What Is It?&lt;/h2&gt;
    &lt;p&gt;
      Emacspeak is a fully functional audio desktop that provides &lt;em&gt;
      complete eyes-free&lt;/em&gt; 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.  
    &lt;/p&gt;
    &lt;h2&gt;Major Enhancements&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Speech-enables Twitter.&lt;/li&gt;
&lt;li&gt;
Unicode support for enabling the world's various charsets.
&lt;/li&gt;
&lt;li&gt;
Emacs front-end to popular Google AJAX APIs.
&lt;/li&gt;
&lt;li&gt;
Updated g-client with preliminary support for Google Docs.
&lt;/li&gt;
&lt;li&gt;
Updated URL Templates for rapid Web access.
&lt;/li&gt;
&lt;li&gt;
Updated WebSearch wizards for enhanced productivity.
&lt;/li&gt;
&lt;li&gt;
Emacs 23 support.

&lt;/li&gt;
&lt;/ol&gt;
    &lt;p&gt;See the NEWS file  for additional details. &lt;/p&gt;
    
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-8862551794456516199?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8862551794456516199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8862551794456516199'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2009/05/announcing-emacspeak-300-socialdog.html' title='Announcing emacspeak 30.0 --- SocialDog!'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-636508770988364233</id><published>2009-03-26T10:06:00.001-07:00</published><updated>2009-03-26T11:56:34.490-07:00</updated><title type='text'>Toward an Accessible Democracy --- White House Moderator AxsJAXed</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;div&gt;
&lt;h2&gt;Toward  An Accessible Democracy --- White House Moderator
AxsJAXed!&lt;/h2&gt;
&lt;p&gt;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 &lt;a href='http://groups.google.com/group/accessible/t/5a0c716c9f064b62'&gt;AxsJAX
For White House Moderator&lt;/a&gt;
--- an AxsJAX  extension that applies W3C  ARIA  to the &lt;em&gt;White
House Moderator&lt;/em&gt;.I'll append the article below:&lt;/p&gt;
&lt;div id='outline-container-1' class='outline-2'&gt;
&lt;h2 id='sec-1'&gt;An ARIA  For The White House Moderator&lt;/h2&gt;
&lt;div id='text-1'&gt;
&lt;p&gt;
&lt;a href='http://google-axsjax.googlecode.com'&gt;Google-AxsJAX&lt;/a&gt; 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.
&lt;/p&gt;
&lt;/div&gt;
&lt;div id='outline-container-1.1' class='outline-3'&gt;
&lt;h3 id='sec-1.1'&gt;HowTo: Brief Overview.&lt;/h3&gt;
&lt;div id='text-1.1'&gt;
&lt;p&gt;
For details on installing and using AxsJAX extensions, see the
&lt;a href='http://google-axsjax.googlecode.com/svn/trunk/docs/faq.html'&gt;AxsJAX FAQ&lt;/a&gt;. 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 &lt;a href='http:///www.clcworld.net'&gt;Fire Vox&lt;/a&gt;, a
freely available self-voicing extension for Firefox.
&lt;/p&gt;
&lt;p&gt;
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:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
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 &lt;i&gt;Featured Question&lt;/i&gt; pane that shows a randomly
selected question that you can vote on.
&lt;/li&gt;
&lt;li&gt;
Users can ask new questions under a given topic, or  give a
thumbs-up/down to questions that have already been asked.
&lt;/li&gt;
&lt;li&gt;
Use the &lt;u&gt;left&lt;/u&gt; and &lt;u&gt;right&lt;/u&gt; arrow keys to switch between the two
panes. You hear the  title of  the selected pane as
you switch.
&lt;/li&gt;
&lt;li&gt;
Use &lt;u&gt;up&lt;/u&gt; and &lt;u&gt;down&lt;/u&gt; arrows to navigate among the items in
the selected pane. As you navigate, you hear the current
item.
&lt;/li&gt;
&lt;li&gt;
Hit &lt;u&gt;enter&lt;/u&gt; to select the current item.
&lt;/li&gt;
&lt;li&gt;
The current item can be magnified by repeated presses of the
&lt;u&gt;+&lt;/u&gt; (or &lt;u&gt;=&lt;/u&gt;) key. To reduce magnification, press the &lt;u&gt;-&lt;/u&gt;
key.
&lt;/li&gt;
&lt;li&gt;
When navigating the questions in a given topic, hit &lt;u&gt;y&lt;/u&gt; or
&lt;u&gt;n&lt;/u&gt; to vote a question up or down.
&lt;/li&gt;
&lt;li&gt;
When navigating items in the topic pane, hit &lt;u&gt;a&lt;/u&gt; 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.
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Please use &lt;a href='http://groups.google.com/group/accessible'&gt;Google Group Accessible&lt;/a&gt; for providing feedback on 
this AxsJAX extension.
&lt;/p&gt;
&lt;p&gt;
Share And Enjoy--
&lt;/p&gt;
&lt;p&gt;
Raman and Charles.
&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
    &lt;/div&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-636508770988364233?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/636508770988364233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/636508770988364233'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2009/03/toward-accessible-democracy-white-house.html' title='Toward an Accessible Democracy --- White House Moderator AxsJAXed'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-8109949379954051916</id><published>2008-11-26T16:31:00.001-08:00</published><updated>2008-11-26T16:31:50.393-08:00</updated><title type='text'>Announcing Emacspeak 29.0 (AbleDog)</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
      &lt;table cellpadding='5' cellspacing='1' rules='all' border='1' summary='navigation bar' role='navigation'&gt;
        &lt;tr style='background: yellow; text-color: navy; font-weight: bold'&gt;
          &lt;td&gt;&lt;a href='http://emacspeak.googlecode.com/files/emacspeak-29.0.tar.bz2'&gt;Downloads&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a href='../info/emacspeak.html'&gt; Reference&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a href='../install-guide/'&gt;Installation&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt; &lt;a href='../user-guide/'&gt;Usage&lt;/a&gt; &lt;/td&gt;
          &lt;td&gt;&lt;a href='../tips.html'&gt;Tips&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a href='../applications.html'&gt;Tools&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt; &lt;a href='http://www.cs.vassar.edu/~priestdo/emacspeak/'&gt;Support&lt;/a&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
          &lt;td colspan='7'&gt;
            &lt;img alt='EMACSPEAK Logo' height='216' width='150' src='emacspeak.jpg'/&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
          &lt;td colspan='4'&gt;&lt;a href='raman/'&gt;About the author&lt;/a&gt;&lt;/td&gt;
          &lt;td colspan='3'&gt;
            &lt;a href='http://sourceforge.net/projects/emacspeak'&gt;
              &lt;img alt='SourceForge' border='0' height='31' width='88' src='http://sourceforge.net/sflogo.php?group_id=2238'/&gt;
          &lt;/a&gt;&lt;/td&gt;
        &lt;/tr&gt;
      &lt;/table&gt;
      
      
      
      &lt;p&gt;
        
        Emacspeak Inc &lt;a href='http://emacspeak.sourceforge.net'&gt;(NASDOG: ESPK)&lt;/a&gt; announces  the immediate
        world-wide availability of Emacspeak-29 --a powerful audio
        desktop for leveraging today's evolving data and service-oriented Web cloud.
      &lt;/p&gt;
      &lt;h2&gt;Investors Note&lt;/h2&gt;
      &lt;p&gt;
        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.
      &lt;/p&gt;
      
      
      
      
      &lt;h2&gt;Major Enhancements&lt;/h2&gt;

      &lt;ol&gt;
        &lt;li&gt;
        Speech-enables proced  ---  a new task manager.&lt;/li&gt;
        &lt;li&gt;
          Emacspeak-Webspace for rapid access to content feeds.
        &lt;/li&gt;
        &lt;li&gt;
          Unicode support for enabling the world's various charsets.
        &lt;/li&gt;
        &lt;li&gt;
          Emacs front-end to popular Google AJAX APIs.
        &lt;/li&gt;
        &lt;li&gt;
          Updated g-client with preliminary support for Google Docs.
        &lt;/li&gt;
        &lt;li&gt;
          Updated URL Templates for rapid Web access.
        &lt;/li&gt;
        &lt;li&gt;
          Updated WebSearch wizards for enhanced productivity.
        &lt;/li&gt;
        &lt;li&gt;
          One-shot Google Search with suggestions for word under point.
        &lt;/li&gt;
        &lt;li&gt;
          Emacs 23 support.

        &lt;/li&gt;
      &lt;/ol&gt;


      &lt;p&gt;See the NEWS file  for additional details. &lt;/p&gt;
      
      
      
      
      
      
      
      
      
      
      
      &lt;h2&gt;Harnessing  Emacspeak&lt;/h2&gt;
      
      &lt;p&gt;
        You can visit  Emacspeak at 
        &lt;a href='http://emacspeak.sf.net'&gt;SourceForge&lt;/a&gt;.
        The latest development snapshot of
        Emacspeak is available via subversion  from 
        &lt;a href='http://emacspeak.googlecode.com/svn/trunk'&gt;Google Code Hosting&lt;/a&gt;.
        You can subscribe to the emacspeak mailing list &lt;em&gt;
        emacspeak@cs.vassar.edu&lt;/em&gt; by sending mail to the list
        request address &lt;a href='mailto:emacspeak-request@cs.vassar.edu'&gt;emacspeak-request@cs.vassar.edu&lt;/a&gt;.  &lt;/p&gt;
        
        &lt;p&gt;
          &lt;strong&gt;Press/Analyst Contact: &lt;a href='hubbell.jpg'&gt;Hubbell Labrador&lt;/a&gt;&lt;br/&gt; 
          
          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.&lt;/strong&gt;
        &lt;/p&gt;
        
        
        
        
        
        
        
        &lt;a href='release-28.0.html'&gt;Emacspeak-28.0&lt;/a&gt; &lt;hr/&gt;
        
        
        
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-8109949379954051916?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8109949379954051916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8109949379954051916'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2008/11/announcing-emacspeak-290-abledog.html' title='Announcing Emacspeak 29.0 (AbleDog)'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-6635709760768346180</id><published>2008-09-09T17:40:00.001-07:00</published><updated>2008-09-09T17:40:54.189-07:00</updated><title type='text'>Emacspeak Webspace Goodies</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;Module &lt;code&gt;emacspeak-webspace&lt;/code&gt; has a few new goodies
on offer.
If you activate &lt;em&gt;WebSpace Headlines &lt;/em&gt; 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  &lt;code&gt;emacspeak-webspace-headlines-view&lt;/code&gt; bound by
default to &lt;code&gt;C-RET&lt;/code&gt; pops up a special
&lt;em&gt;Headlines&lt;/em&gt; buffer that lists all the currently available
headlines. This is a regular Emacs buffer that uses a special 
major mode called  &lt;em&gt;emacspeak-webspace-mode&lt;/em&gt;. 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.&lt;/p&gt;
&lt;p&gt;Mode &lt;em&gt;emacspeak-webspace-mode&lt;/em&gt; 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
&lt;em&gt;Webspace&lt;/em&gt; buffer via command
&lt;code&gt;emacspeak-webspace-reader&lt;/code&gt;.
Additionally, command &lt;em&gt;emacspeak-webspace-google&lt;/em&gt; provides
a more convenient interface to command
&lt;code&gt;gweb-google-at-point&lt;/code&gt; --- in addition to speaking the
snippet from the first search hit, this command places the first
four results in a special &lt;em&gt;Search Results&lt;/em&gt; buffer 
that is put in &lt;em&gt;Webspace&lt;/em&gt; mode.&lt;/p&gt;
&lt;strong&gt;Search And Enjoy!&lt;/strong&gt;


    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-6635709760768346180?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/6635709760768346180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/6635709760768346180'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2008/09/emacspeak-webspace-goodies.html' title='Emacspeak Webspace Goodies'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-8490053477945022162</id><published>2008-08-20T07:12:00.001-07:00</published><updated>2008-08-20T07:12:33.788-07:00</updated><title type='text'>Emacspeak-WebSpace Just Got A Lot Faster</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;div&gt;
&lt;h3&gt;In Praise Of Google AJAX APIS&lt;/h3&gt;
&lt;p&gt;New module &lt;code&gt;gfeeds.el&lt;/code&gt; (part of Library &lt;code&gt;g-client&lt;/code&gt;) now implements  a Lisp interface
to the Google AJAX FeedSearch API.
An immediate consequence of this is that module
&lt;code&gt;Emacspeak-WebSpace&lt;/code&gt; just got orders of magnitude
faster --- not that it was slow to start with:-)&lt;/p&gt;
&lt;p&gt;Feed And Enjoy!&lt;/p&gt;

    &lt;/div&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-8490053477945022162?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8490053477945022162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8490053477945022162'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2008/08/emacspeak-webspace-just-got-lot-faster.html' title='Emacspeak-WebSpace Just Got A Lot Faster'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-8030748561890638945</id><published>2008-08-14T16:51:00.001-07:00</published><updated>2008-08-14T16:51:44.359-07:00</updated><title type='text'>In Praise Of The Google Search AJAX API</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;div&gt;

&lt;h2&gt;In Praise Of The Google AJAX Search API&lt;/h2&gt;
&lt;p&gt;Emacspeak has always provided Google Search with a single
keystroke from anywhere on the audio desktop.
But with the 
coming of the &lt;a href='http://code.google.com/apis/ajaxsearch/'&gt;Google AJAX Search API &lt;/a&gt;
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 
&lt;a href='http://json.org/'&gt;JSON&lt;/a&gt; data structure.&lt;/p&gt;

&lt;h2&gt;What You Can Now Do&lt;/h2&gt;

&lt;p&gt;
Module &lt;code&gt;gsearch&lt;/code&gt; (part of the &lt;code&gt;g-client&lt;/code&gt;
package)
provides an interactive command
&lt;code&gt;gsearch-google-at-point&lt;/code&gt; --- I have this bound to key
&lt;code&gt;hyper-/&lt;/code&gt; in Emacs.
Executing this command from anywhere inside Emacs does the
following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Grabs word under point, and prompts in the minibuffer for a
search-term --- with the word we just grabbed as the
default.&lt;/li&gt;
&lt;li&gt;Fetches other relevant search terms in the background via
Google Suggest, and makes these available via Emacs' minibuffer
history mechanism. Use keys &lt;code&gt;M-n&lt;/code&gt; and &lt;code&gt;M-p&lt;/code&gt;
to cycle through these if needed.&lt;/li&gt;
&lt;li&gt;Hitting &lt;code&gt;ENTER&lt;/code&gt; performs a Google Search using the
AJAX API, and displays the  title and content snippet for the
first search result.&lt;/li&gt;
&lt;li&gt;Executing command &lt;code&gt;gsearch-google-at-point&lt;/code&gt;
subsequently at the same location opens the first search
result.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Search And Enjoy!&lt;/p&gt;
    &lt;/div&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-8030748561890638945?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8030748561890638945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8030748561890638945'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2008/08/in-praise-of-google-search-ajax-api.html' title='In Praise Of The Google Search AJAX API'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-5847282220001233762</id><published>2008-08-01T08:07:00.001-07:00</published><updated>2008-08-04T09:19:31.483-07:00</updated><title type='text'>Tutorial: Enhancing Web 2.0 Usability Using AxsJAX</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;You can &lt;a href='http://www.youtube.com/watch?v=nF3yhZrtLRw'&gt;watch a
video&lt;/a&gt; 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 &lt;code&gt;e e&lt;/code&gt;
on the above link and specifying
&lt;code&gt;emacspeak-m-player-youtube-player&lt;/code&gt; when prompted.&lt;/p&gt;
&lt;h3&gt;Abstract&lt;/h3&gt;
&lt;p&gt;
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.
 &lt;a href='http://www.abilitynet.org.uk/accessibility2/'&gt;Accessibility 2.0&lt;/a&gt; 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.
&lt;/p&gt;
&lt;p&gt;
&lt;a href='http://code.google.com/p/axsjax'&gt;Google-AxsJAX&lt;/a&gt; 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:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
A brief introduction to the additional &lt;i&gt;opcodes&lt;/i&gt; introduced
by W3C ARIA  to the assembly language of the Web (AKA HTML+JavaScript).
&lt;/li&gt;
&lt;li&gt;
AxsJAX library abstractions built on the above that  help Web
developers generate relevant feedback via the user's adaptive
technology of choice.
&lt;/li&gt;
&lt;li&gt;
Steps in creating fluent eyes-free interaction to Web
applications, including enabling rapid access to parts of a
complex Web page.
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;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:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Google WebSearch
&lt;/li&gt;
&lt;li&gt;
Google Reader
&lt;/li&gt;
&lt;li&gt;
Google Books
&lt;/li&gt;
&lt;li&gt;
GMail and Google Talk
&lt;/li&gt;
&lt;li&gt;
Google Scholar
&lt;/li&gt;
&lt;li&gt;
Google Sky
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;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. 
&lt;/p&gt;
&lt;p&gt;
Note that writing AxsJAX enhancements to Web applications can
help you win &lt;a href='/home/build/google3/javascript/axsjax/THANKS.html'&gt;bragging rights and cool swag&lt;/a&gt;! The goal of this
hands-on tutorial is to help you get there faster!
&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-5847282220001233762?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/5847282220001233762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/5847282220001233762'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2008/08/tutorial-enhancing-web-20-usability.html' title='Tutorial: Enhancing Web 2.0 Usability Using AxsJAX'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-8158867466246239607</id><published>2008-07-14T08:17:00.001-07:00</published><updated>2008-07-14T08:17:45.219-07:00</updated><title type='text'>Talk Announcement: Developing Accessible Web-2.0 Applications</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;For those of you in  Silicon Valley, Charles Chen and I will
be giving a talk on developing &lt;a href='http://feeds.feedburner.com/~r/GoogleOpenSourceBlog/~3/329965796/open-source-developers-google-speaker.html'&gt;accessible Web 2.0 applications&lt;/a&gt; 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 &lt;a href='http://google-axsjax.google.googlecode.com/'&gt;Google
AxsJAX&lt;/a&gt;, and is a follow-up to the talk given at 
&lt;a href='http://www.youtube.com/watch?v=K4xuitAzIEk'&gt;Google I/O
&lt;/a&gt;.
A video of this talk will be posted later on the Web.
&lt;/p&gt;
&lt;h3&gt;&lt;a id='id2245361'&gt;Open Source Developers @ Google Speaker Series: Charles Chen &amp;amp; T.V. Raman&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;

Want to learn more about creating accessible Web 2.0 applications from the creators of 
&lt;a href='http://firevox.clcworld.net/about.html'&gt;Fire Vox
&lt;/a&gt; and 
&lt;a href='http://emacspeak.sourceforge.net/'&gt;Emacspeak
&lt;/a&gt;? If you are nearby 
&lt;a href='http://code.google.com/events/visitors/'&gt;Google's Mountain View, California, USA Headquarters
&lt;/a&gt; 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 
&lt;a href='http://code.google.com/p/axsjax'&gt;Google-AxsJax
&lt;/a&gt;, 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.
&lt;br/&gt;
&lt;br/&gt;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.
&lt;br/&gt;















&lt;/p&gt;


    
&lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-8158867466246239607?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8158867466246239607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8158867466246239607'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2008/07/talk-announcement-developing-accessible.html' title='Talk Announcement: Developing Accessible Web-2.0 Applications'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-5405233355746155695</id><published>2008-07-03T07:36:00.001-07:00</published><updated>2008-07-03T07:36:03.541-07:00</updated><title type='text'>ProcEd: A Speech-Enabled Task Manager For Emacs</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;For the last 10 years or so, &lt;em&gt;view-process-mode&lt;/em&gt;
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   &lt;em&gt;module ProcEd&lt;/em&gt;
--- a task manager that  does for processes what module
&lt;em&gt;DirEd&lt;/em&gt; does for files and directories.
As of this morning, &lt;em&gt;proced.el&lt;/em&gt; is fully speech-enabled by
Emacspeak.
You can install module &lt;em&gt;ProcEd&lt;/em&gt; for Emacs 22 by obtaining
the file from the Web ---
you can easily find it 
&lt;a href='http://www.google.com/search?q=proced%2Eel+emacs'&gt;via
Google&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;Share And Enjoy ... And have a great July 4th Holiday!&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-5405233355746155695?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/5405233355746155695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/5405233355746155695'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2008/07/proced-speech-enabled-task-manager-for.html' title='ProcEd: A Speech-Enabled Task Manager For Emacs'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-8883792143826726043</id><published>2008-06-12T15:30:00.001-07:00</published><updated>2008-06-12T15:30:13.072-07:00</updated><title type='text'>Leveraging Web 2.0 Design Patterns For Enhanced Accessibility</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;As promised, here is a link to the Youtube video of 
the talk on &lt;a href='http://www.youtube.com/watch?v=K4xuitAzIEk'&gt;Leveraging Web
2.0 Patterns For Accessibility&lt;/a&gt;
given during Google I/O on May 28, 2008 in San Francisco.
Emacspeak users can play the video by hitting &lt;code&gt;e e&lt;/code&gt;
on the link, and specifying
&lt;code&gt;emacspeak-m-player-youtube-player&lt;/code&gt; when prompted.
You can find the downloadable slides used 
during the talk along with other session material on the 
&lt;a href='http://sites.google.com/site/io/leveraging-web-20-design-patterns-for-enhanced-accessibility'&gt;Google
I/O&lt;/a&gt; page for this session.&lt;/p&gt;

&lt;h2&gt;Talk Details&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Leveraging Web 2.0 Design Patterns For Enhanced Accessibility&lt;/strong&gt;
&lt;em&gt;T. V. Raman (Google)&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
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.&lt;/p&gt;

    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-8883792143826726043?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8883792143826726043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8883792143826726043'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2008/06/leveraging-web-20-design-patterns-for.html' title='Leveraging Web 2.0 Design Patterns For Enhanced Accessibility'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-7852157026205372816</id><published>2008-05-28T07:23:00.001-07:00</published><updated>2008-05-28T07:23:28.205-07:00</updated><title type='text'>AxsJAX And Auditory User Interfaces At Google IO</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;For those of you interested in Auditory User Interfaces and
  attending 
&lt;a href='http://code.google.com/events/io/speakers.html'&gt;Google
  IO 2008&lt;/a&gt;
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!
&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-7852157026205372816?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/7852157026205372816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/7852157026205372816'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2008/05/axsjax-and-auditory-user-interfaces-at.html' title='AxsJAX And Auditory User Interfaces At Google IO'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-7677718718523091025</id><published>2008-05-16T13:40:00.001-07:00</published><updated>2008-05-16T13:40:37.647-07:00</updated><title type='text'>Emacspeak On Thinkpad X-61 Running Gutsy (Ubuntu 7.0)</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The X-61 display can be turned off using &lt;code&gt;vbetool&lt;/code&gt; &lt;br/&gt;
&lt;pre&gt;vbetool dpms off&lt;/pre&gt;&lt;br/&gt;
for turning off the display, and &lt;br/&gt;
&lt;pre&gt;vbetool dpms on&lt;/pre&gt;&lt;br/&gt;
for turning it back on again.&lt;/li&gt;
&lt;li&gt;If you suspend to memory etc., make sure to add the
appropriate &lt;code&gt;vbetool&lt;/code&gt; command to the relevant script
in &lt;code&gt;/etc/acpi/resume.d&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Gutsy is running ALSA 1.0.15, and to date, I've not had any
trouble with the ViaVoice Outloud TTS  engine in this
environment.
Make sure to play with &lt;code&gt;amixer&lt;/code&gt; --specifically run
command &lt;br/&gt;
&lt;pre&gt;amixer controls&lt;/pre&gt;&lt;br/&gt;
to understand all the various switches and controls exposed by
the audio hardware on the X61. 
Here are some of the things that were noticeably different that
are worth mentioning:
&lt;ol&gt;
&lt;li&gt;The PC  speaker can now be manipulated via ALSA.&lt;/li&gt;
&lt;li&gt;The X-61 has two input sources. If you plug in an external
mike, make sure to set &lt;em&gt;both&lt;/em&gt; input sources   to the
microphone --- as opposed to leaving one or both of them to be
either &lt;code&gt;internal mic&lt;/code&gt; or
&lt;code&gt;mix&lt;/code&gt;. Specifically, plugging in an external mike
&lt;em&gt;does not&lt;/em&gt; disable the internal microphone.&lt;/li&gt;
&lt;li&gt;For some bizarre reason, it's possible to turn off the
headphone output--- but you cannot control its gain.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Kernels later than 2.6.21 do much better with respect to
power management, and this really shows on the X-61. With the LCD
off, my X61 claims it'll run for 7.5 hours; if you turn off the
wireless and USB1.1 as well, it claims it can go for over 8.5
hours.&lt;/li&gt;
&lt;li&gt;Emacs versions: I'm running out of CVS  AKA Emacs 23--- but
the &lt;code&gt;emacs-snapshot&lt;/code&gt; or &lt;code&gt;emacs22&lt;/code&gt; Ubuntu
packages appear to mostly work as well.
One irritation with some of the prepackaged  bundles of Emacs
under Ubuntu is that they dont install the Emacs Lisp sources,
and this will bite if you try compiling packages like
Emacs/W3.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All in all, the upgrade to Gutsy was mostly painless --- other
than having to figure out the usual nits about the new hardware.
The &lt;code&gt;/proc/acpi/ibm&lt;/code&gt; support is further along but not
yet complete--- as an example &lt;code&gt;/proc/acpi/ibm/video &lt;/code&gt;
does not yet control the state of the LCD --- and you cannot
query the state of the display reliably through that interface.&lt;/p&gt;

    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-7677718718523091025?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/7677718718523091025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/7677718718523091025'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2008/05/emacspeak-on-thinkpad-x-61-running.html' title='Emacspeak On Thinkpad X-61 Running Gutsy (Ubuntu 7.0)'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-7862948740598998838</id><published>2008-05-15T19:04:00.001-07:00</published><updated>2008-05-15T19:04:36.710-07:00</updated><title type='text'>Emacspeak-28.0 (PuppyDog) Unleashed!</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;h1&gt;Emacspeak-28.0 (PuppyDog) Unleashed!&lt;/h1&gt;
    
    &lt;h2&gt;For Immediate Release&lt;/h2&gt;
    &lt;p&gt;
      San Jose, CA, (May. 16,  2007)&lt;br/&gt;
      Emacspeak:   --- Bringing   Cutting-Edge Access For  Keen Users&lt;br/&gt;
      --Zero cost of upgrade/downgrades makes priceless software affordable!
    &lt;/p&gt;
    
    
    
    &lt;p&gt;
      
      Emacspeak Inc &lt;a href='http://emacspeak.sourceforge.net'&gt;(NASDOG: ESPK)&lt;/a&gt; announces  the immediate
      world-wide availability of Emacspeak-27 --a powerful audio
      desktop for leveraging today's evolving data and service-oriented semantic Web.
    &lt;/p&gt;
    
&lt;p&gt;

Emacspeak can be downloaded from Google Code Hosting --see
&lt;a href='http://code.google.com/p/emacspeak'&gt;GoogleCode&lt;/a&gt;
 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 
&lt;a href='http://emacspeak.googlecode.com/files/emacspeak-28.0.tar.bz2'&gt;here&lt;/a&gt;.
The latest development snapshot of Emacspeak is available via
Subversion from Google Code Hosting at 
http://emacspeak.googlecode.com/svn/trunk/
&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-7862948740598998838?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/7862948740598998838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/7862948740598998838'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2008/05/emacspeak-280-puppydog-unleashed.html' title='Emacspeak-28.0 (PuppyDog) Unleashed!'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-1241847437667751477</id><published>2008-04-12T13:07:00.001-07:00</published><updated>2008-04-12T13:07:46.431-07:00</updated><title type='text'>W4A Keynote: Cloud Computing And Equal Access For All</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;I'll be giving the opening keynote at the upcoming 
&lt;a href='http://www.w4a.info/2008/keynotes.shtml'&gt;W4A 2008&lt;/a&gt;
conference in Beijing on April 21. You can find an online version
of the paper along with the slides
here: &lt;a href='http://emacspeak.sourceforge.net/raman/publications/w4a-2008/'&gt;Cloud
  Computing And Equal Access For All&lt;/a&gt;.
Coincidentally, another excellent Web 2.0 accessibility event is
happening on the same day in London ---
see &lt;a href='http://www.abilitynet.org.uk/accessibility2/'&gt;Accessibility
  2.0&lt;/a&gt; --- it's unfortunate 
one cannot be in  multiple  places at opposite corners of the
globe at the same time!&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-1241847437667751477?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/1241847437667751477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/1241847437667751477'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2008/04/w4a-keynote-cloud-computing-and-equal.html' title='W4A Keynote: Cloud Computing And Equal Access For All'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-4828301403037560320</id><published>2008-04-01T07:04:00.001-07:00</published><updated>2008-04-01T10:47:33.192-07:00</updated><title type='text'>Emacspeak Goes Social</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;h2&gt;Leveraging The Benefits Of Free Speech!&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;For Immediate Release:&lt;/strong&gt;&lt;br/&gt;
April 1, 2008&lt;/p&gt;
&lt;h2&gt;Live From San Jose ... Emacspeak Goes Social!&lt;/h2&gt;
&lt;p&gt;Investors and users alike welcomed today's announcement that
Emacspeak (NASDOG:ESPK)
would be going social ---  &lt;em&gt;Going Social is
better than Going Postal&lt;/em&gt;!&lt;/p&gt;
&lt;p&gt;
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 &lt;em&gt;network effect&lt;/em&gt; 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 &lt;em&gt;deeper&lt;/em&gt;
one's &lt;em&gt;social graph&lt;/em&gt;
--- going forward,  the information encapsulated in these social
graphs will be converted to ever-increasing stacks of small
pieces of green paper.&lt;/p&gt;
&lt;h2&gt;Coming Soon!&lt;/h2&gt; &lt;p&gt;As these features are launched over the
next few weeks, expect Emacspeak generated conversation streams
to show up everywhere ranging from &lt;a href='http://www.twitter.com'&gt;Twitter&lt;/a&gt; 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!&lt;/p&gt; &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-4828301403037560320?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4828301403037560320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4828301403037560320'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2008/04/emacspeak-goes-social.html' title='Emacspeak Goes Social'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-9084042252149744337</id><published>2008-03-28T20:45:00.001-07:00</published><updated>2008-03-28T20:45:30.570-07:00</updated><title type='text'>My Web-2.0 Application Is Feeling Accessible</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;If you feel up to Web  hackery and want to win a cool T-shirt
in the bargain, see 
&lt;a href='http://google-opensource.blogspot.com/2008/03/axsjax-my-web-20-application-is-feeling.html'&gt;My
Web-2.0 Application Is Feeling Accessible!&lt;/a&gt;.
You can see examples of what you can achieve with this framework
in the AxsJAX showcase. &lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-9084042252149744337?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/9084042252149744337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/9084042252149744337'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2008/03/my-web-20-application-is-feeling.html' title='My Web-2.0 Application Is Feeling Accessible'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-618980891425495491</id><published>2008-03-06T07:25:00.001-08:00</published><updated>2008-03-06T07:25:58.735-08:00</updated><title type='text'>Emacspeak WebSpace --- Interaction-Free Information Access</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;A few months ago, I started an Emacspeak module called
&lt;code&gt;emacspeak-webspace&lt;/code&gt; 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 
&lt;a href='http://www.think.org'&gt;Hackers Conference&lt;/a&gt; in
November; in the same session, there was another talk  whose gist
was a plea for &lt;em&gt;less&lt;/em&gt; human-computer interaction ---
motivation: User Interfaces are nice, but wouldn't it be nice if
one didn't have to &lt;em&gt;explicitly&lt;/em&gt; interact with the machine
to get  information?
The speaker coined the term &lt;em&gt;Zen interfaces&lt;/em&gt; in that
context, something that stuck in memory long after the talk.
&lt;/p&gt;

&lt;p&gt;I built that thought into module
&lt;code&gt;emacspeak-webspace&lt;/code&gt;.
Conceptually, it consists of &lt;em&gt;smart fetchers&lt;/em&gt; that fetch
information  asynchronously from the Web, and &lt;em&gt;smart
displayers&lt;/em&gt;
that communicate this information at &lt;em&gt;appropriate&lt;/em&gt; times.
These are detailed below.
&lt;/p&gt;
&lt;h3&gt;Fetchers&lt;/h3&gt;
&lt;p&gt;There are two  fetchers  at present:&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Weather&lt;/dt&gt;
&lt;dd&gt;Fetches current weather conditions for your location.&lt;/dd&gt;
&lt;dt&gt;News&lt;/dt&gt;
&lt;dd&gt;Fetches headlines from a customizable collection of ATOM and
RSS feeds.&lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;Note that this module is not intended to be an RSS or ATOM 
feed-reader; for that, use module &lt;code&gt;greader&lt;/code&gt; --- an
API-based Google Reader client that is bundled with
Emacspeak.&lt;/p&gt;

&lt;h3&gt;Communicating Useful Information Usefully&lt;/h3&gt;
&lt;p&gt;With the information in hand, the next question is 
how does one communicate this information &lt;em&gt;usefully&lt;/em&gt;, 
and what does &lt;em&gt;at the appropriate time&lt;/em&gt; mean? Things to
avoid:
&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Interaction-Free&lt;/dt&gt;
&lt;dd&gt;Do not require explicit user action to hear the
information.&lt;/dd&gt;
&lt;dt&gt;Avoid Chatter&lt;/dt&gt;
&lt;dd&gt;Avoid creating an auditory user interface that chatters at
the user all the time.&lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;These are conflicting constraints. Notice that in a visual
interface, one can meet the &lt;em&gt;interaction-free&lt;/em&gt;
requirement by displaying the information in a  toolbar or
sidebar and allow the user to ignore or absorb the information at
will.&lt;/p&gt;
&lt;p&gt;Emacspeak uses Emacs' &lt;em&gt;header-line&lt;/em&gt; to display the
continuously updating information.
This meets the &lt;em&gt;interaction-free&lt;/em&gt; 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 &lt;em&gt;context-switch&lt;/em&gt;.&lt;/p&gt;

&lt;h3&gt;How To Use&lt;/h3&gt;

&lt;p&gt;Here is how I am using &lt;code&gt;emacspeak-webspace&lt;/code&gt; at
present:&lt;/p&gt;

&lt;dl&gt;
&lt;dt&gt;Weather&lt;/dt&gt;
&lt;dd&gt;Activate weather display in the &lt;code&gt;calendar&lt;/code&gt; and
&lt;code&gt;scratch&lt;/code&gt; buffers.&lt;/dd&gt;
&lt;dt&gt;News&lt;/dt&gt;
&lt;dd&gt;Activate feed headlines in selected &lt;code&gt;shell&lt;/code&gt;
buffers.&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;You hear the updated information when switching to buffers
where the webspace display is active.
&lt;/p&gt;
&lt;h3&gt;Activating WebSpace Displays&lt;/h3&gt;
&lt;p&gt;Webspace displays are activated via the following commands;
all Webspace displays will be  placed by default on prefix key
&lt;code&gt;hyper-space&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;emacspeak-webspace-headlines&lt;/code&gt;: &lt;code&gt;hyper-space
h&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;emacspeak-webspace-weather&lt;/code&gt; &lt;code&gt;hyper-space
w&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Share And Enjoy, And May The Source Be With You!&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-618980891425495491?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/618980891425495491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/618980891425495491'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2008/03/emacspeak-webspace-interaction-free.html' title='Emacspeak WebSpace --- Interaction-Free Information Access'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-2735672350700042581</id><published>2008-01-03T10:45:00.001-08:00</published><updated>2008-01-03T10:45:01.476-08:00</updated><title type='text'>Announcing: The Coming Of Piglets To The Emacspeak Desktop</title><content type='html'>
 &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;This is to announce a new emacspeak module called
&lt;em&gt;Piglets&lt;/em&gt; that brings together Emacs and Firefox to create
a powerful framework for authoring Web interaction wizards.&lt;/p&gt;
&lt;h2&gt;Why  Piglets?&lt;/h2&gt;

&lt;p&gt;You might well ask &lt;q&gt;Why Piglets?&lt;/q&gt;,
and might conjecture that &lt;em&gt;PIGLETS&lt;/em&gt; might stand for
&lt;strong&gt;Powerful Internet Gadgets for a  Light-Weight  Talking
System&lt;/strong&gt;.
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 &lt;a href='http://firevox.clcworld.net'&gt;Charles Chen&lt;/a&gt; and creator
of &lt;em&gt; Fire Vox&lt;/em&gt; was born in the year of the pig.
But you'd be mostly wrong in all of the above.&lt;/p&gt;
&lt;p&gt;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 &lt;em&gt;MozREPL&lt;/em&gt; and how it
allows me to  &lt;a href='http://emacspeak.blogspot.com/2007/06/firebox-put-fox-in-box.html'&gt;Put
The Fox In A Box&lt;/a&gt;. Piglets mark the completion of the
Emacs/Firefox integration that started with Firebox. Once you
install &lt;a href='http://firevox.clcworld.net'&gt;Fire Vox&lt;/a&gt;, 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.&lt;/p&gt;

&lt;h2&gt;What You Need&lt;/h2&gt;

&lt;p&gt;Caveat: &lt;strong&gt;ALL&lt;/strong&gt; of this is early experimental
software --- and you'll need to tweak things for your environment
to get things working.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A version of Emacspeak from the  subversion repository.&lt;/li&gt;
&lt;li&gt;Check the installation of the &lt;code&gt;servers/python&lt;/code&gt;
files in your Emacspeak installation.&lt;/li&gt;
&lt;li&gt;Confirm that the &lt;code&gt;HTTP&lt;/code&gt; wrapper for the TTS
servers works. You can most easily do this by running:
&lt;pre&gt;
# Start the HTTPspeech server 
# from emacspeak/servers/python
python HTTPSpeaker.py  outloud 2222 &amp;amp;
# you can replace outloud with dtk-exp
# but the bindings to other TTS  servers is not defined for now
# Run wget to test the speech server:
wget --post-data='speak:hello world' localhost:2222
&lt;/pre&gt;
If all is well, you should here the TTS engine say &lt;q&gt;Hello
World&lt;/q&gt;
&lt;p&gt;&lt;strong&gt;Do not proceed if the above does not
work.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;Install Fire-Vox and configure it to use the Emacspeak TTS
server.
You can do this with ORCA  providing the feedback.
Alternatively, once you have installed Fire-Vox,  shutdown
Firefox and then edit your
&lt;code&gt;~/.mozilla/firefox/default/prefs.js&lt;/code&gt;
&lt;pre&gt;
user_pref("firevox.LastWorkingTTS", 4);
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;The above sets up Fire-Vox to use the running HTTP speech
server you started earlier.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Loading And Running Piglets&lt;/h2&gt;

&lt;p&gt;The Piglets framework is implemented in module
&lt;code&gt;emacspeak-piglets.el&lt;/code&gt;. There is a Fire-Vox binding in
module &lt;code&gt;emacspeak-firevox.el&lt;/code&gt; and a binding to the &lt;a href='http://code.google.com/p/google-axsjax'&gt;JawBreaker&lt;/a&gt;
game in &lt;code&gt;emacspeak-jawbreaker.el&lt;/code&gt;.
&lt;/p&gt;

&lt;h2&gt;How Does It Work?&lt;/h2&gt;

&lt;p&gt;When you get the various pieces configured and working, here
is how things work:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Piglets place you in a special interaction buffer in
Emacs.&lt;/li&gt;
&lt;li&gt;Typing keys  in this buffer go to Firefox.&lt;/li&gt;
&lt;li&gt;Control keys send commands to Firefox using MozREPL.&lt;/li&gt;
&lt;li&gt;The latter is most useful in conjunction with Web 2.0
applications that have been &lt;a href='http://code.google.com/p/google-axsjax/'&gt;AxsJAX&lt;/a&gt;ed.&lt;/li&gt;
&lt;li&gt;Additional commands give access to FireFox features such as
the URL bar. As an example, hit &lt;code&gt;C-w&lt;/code&gt;
and type the phrase you'd like to go into the address bar ---
either a URL  or a search term. As an example, try typing
&lt;em&gt;XKCDComic&lt;/em&gt;.
This will automatically do a &lt;em&gt;Google Lucky Search&lt;/em&gt; (thanks
to FireFox magic)
and open the XKCD site.&lt;/li&gt;
&lt;li&gt;But wait, there's more! Because XKCD has been 
&lt;a href='http://googleblog.blogspot.com/2007/12/accessibility-mashups-axsjax-fun-with.html'&gt;AxsJAXed&lt;/a&gt;, you
will hear Fire-Vox automatically speak the comic strip and its
associated transcript. Hit &lt;code&gt;?&lt;/code&gt; in the FireFox
interaction buffer to hear the available keystrokes for this
AxsJAXed application; in general, &lt;code&gt;?&lt;/code&gt; brings up
keyboard help for AxsJAXed applications.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;ToDos:&lt;/h2&gt;

&lt;p&gt;These are some todos that I plan to get to eventually --- if
you have coding cycles to contribute, feel free to work on
these.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create an HTTP  binding to the TTS servers using TCL and the
TCL HTTP libraries. This will eliminate the dependency on the
Python wrapper I originally wrote for ORCA  in fall 2005.&lt;/li&gt;
&lt;li&gt;Write more  Piglets.&lt;/li&gt;
&lt;li&gt;Make installation and configuration simpler.&lt;/li&gt;
&lt;li&gt;Test installation and configuration of the various
pieces.&lt;/li&gt;
&lt;/ul&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-2735672350700042581?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/2735672350700042581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/2735672350700042581'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2008/01/announcing-coming-of-piglets-to.html' title='Announcing: The Coming Of Piglets To The Emacspeak Desktop'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-4212410965066662568</id><published>2007-12-20T14:49:00.001-08:00</published><updated>2007-12-20T14:49:42.280-08:00</updated><title type='text'>Web Accessibility And Usability: Coming Back To The Basics</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;
The Nielsen Norman Group has made available a detailed report on
accessibility, which includes the results of several usability
tests
--- see &lt;a href='http://www.nngroup.com/reports/accessibility/'&gt;Going Beyond
 Alt Text&lt;/a&gt;.
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:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Though so-called &lt;em&gt;Web Accessibility Standards&lt;/em&gt; have
attempted to focus on the behavior observed when using
screenreaders with mainstream browsers, that thread of work
appears to be achieving little with respect to the real metric of
&lt;strong&gt;task completion&lt;/strong&gt;.
As technologists, we would all do well to remember that users
come to the Web, and Web Access solutions not to &lt;em&gt;use the
browser&lt;/em&gt; but rather to complete one or other task.&lt;/li&gt;
&lt;li&gt;As described in &lt;a href='http://emacspeak.sourceforge.net/raman/publications/specialized-browsers/specialized-browsers.html'&gt;Specialized
Browsers&lt;/a&gt;
and &lt;a href='http://www.resourceshelf.com/2007/12/02/webcast-the-web-the-way-you-want-it/'&gt;The
Web The Way You Want It&lt;/a&gt;,
task-oriented access and specialized user-optimized web tools
have been around since the inception of the Web.&lt;/li&gt;
&lt;li&gt;Though the Nielsen study asked users to carry out each of the
given tasks by going to a given Web site, it would be interesting
to see how such tasks work out in the Emacspeak environment.
It's a given that an emacspeak  user trying to buy a music CD at   an
online store   would run into a brick wall fairly quickly (see,
even online stores are made of brick and mortar;-)).
However, as an Emacspeak user I'd &lt;em&gt;never do that&lt;/em&gt; I'd
either go to  Amazon's highly efficient 
&lt;a href='http://www.amazon.com/access'&gt;Amazon Accessible
Store&lt;/a&gt;
or faster yet, type an appropriate query at Google and click on the
relevant Ad that sports a &lt;em&gt;Google Checkout&lt;/em&gt; badge.&lt;/li&gt;
&lt;li&gt;And more interestingly, it would be interesting to carry out
a follow-up user study to compare the rate of task completion as
well as observed efficiencies/inefficiencies 
between users of Emacspeak and generic browser/screenreader
combinations for  tasks such as:

&lt;ol&gt;
&lt;li&gt;Play NPR news from the last hour.&lt;/li&gt;
&lt;li&gt;Play your local NPR station.&lt;/li&gt;
&lt;li&gt;Play BBC  News from the last hour.&lt;/li&gt;
&lt;li&gt;Skim the top stories from CNN.&lt;/li&gt;
&lt;li&gt;Look up  today's stock market numbers for the major
indices.&lt;/li&gt;
&lt;li&gt;And items too numerous to enumerate in this margin.&lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;/ul&gt;

    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-4212410965066662568?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4212410965066662568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4212410965066662568'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/12/web-accessibility-and-usability-coming.html' title='Web Accessibility And Usability: Coming Back To The Basics'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-8603034841498082552</id><published>2007-11-28T07:45:00.001-08:00</published><updated>2007-11-28T07:45:56.840-08:00</updated><title type='text'>Directions Using Public Transport From Google Maps</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;div&gt;
&lt;p&gt;In the spirit of adding a &lt;em&gt;smart URL template&lt;/em&gt; to
enhance the Emacspeak &lt;em&gt;Web Command Line&lt;/em&gt;
for useful tools I discover ...&lt;/p&gt;

&lt;p&gt;I just checked in a &lt;code&gt;Public Transit Via Google
Maps&lt;/code&gt; 
tool into the Emacspeak SVN repository.
You specify trip details in the form &lt;em&gt;start  to
destination&lt;/em&gt;
e.g., &lt;a href='http://www.google.com/maps?output=html&amp;amp;ie=UTF8&amp;amp;f=d&amp;amp;dirflg=r&amp;amp;q=2715+la+terrace+circle+San+Jose%2C+CA+to+San+Jose+Airport&amp;amp;ttype=dep&amp;amp;date=11%2F28%2F07&amp;amp;time=now'&gt;2715
La Terrace Circle 95123 to San Jose Airport&lt;/a&gt;
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.
&lt;/p&gt;

&lt;p&gt;Share And Enjoy,&lt;/p&gt;
    &lt;/div&gt;

    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-8603034841498082552?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8603034841498082552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8603034841498082552'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/11/directions-using-public-transport-from.html' title='Directions Using Public Transport From Google Maps'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-688356508735542148</id><published>2007-11-23T18:17:00.001-08:00</published><updated>2007-11-23T18:17:31.028-08:00</updated><title type='text'>Announcing Emacspeak 27.0 AKA FastDog</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;h2&gt;For Immediate Release&lt;/h2&gt;
    &lt;p&gt;
      San Jose, CA, (Nov. 24,  2007)&lt;br/&gt;
      Emacspeak:   --- Bringing   Cutteng-Edge Access For  Sharp Users&lt;br/&gt;
      --Zero cost of upgrade/downgrades makes priceless software affordable!
    &lt;/p&gt;
    
    
 
    
    &lt;table cellpadding='5' cellspacing='1' rules='all' border='1' summary='navigation bar'&gt;
      &lt;tr style='background: yellow; text-color: navy; font-weight: bold'&gt;
        &lt;td&gt;&lt;a href='http://emacspeak.googlecode.com/files/emacspeak-27.0.tar.bz2'&gt;Downloads&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt;&lt;a href='http://emacspeak.sf.net/info/emacspeak.html'&gt; Reference&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt;&lt;a href='http://emacspeak.sf.net/install-guide/'&gt;Installation&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt; &lt;a href='http://emacspeak.sf.net/user-guide/'&gt;Usage&lt;/a&gt; &lt;/td&gt;
        &lt;td&gt;&lt;a href='http://emacspeak.sf.net/tips.html'&gt;Tips&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt;&lt;a href='http://emacspeak.sf.net/applications.html'&gt;Tools&lt;/a&gt;&lt;/td&gt;
        &lt;td&gt; &lt;a href='http://www.cs.vassar.edu/~priestdo/emacspeak/'&gt;Support&lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td colspan='7'&gt;
          &lt;img alt='EMACSPEAK Logo' height='216' width='150' src='emacspeak.jpg'/&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td colspan='4'&gt;&lt;a href='http://emacspeak.sf.net/raman/'&gt;About the author&lt;/a&gt;&lt;/td&gt;
        &lt;td colspan='3'&gt;
          &lt;a href='http://sourceforge.net/projects/emacspeak'&gt;
            &lt;img alt='SourceForge' border='0' height='31' width='88' src='http://sourceforge.net/sflogo.php?group_id=2238'/&gt;
        &lt;/a&gt;&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
    
    
&lt;p&gt;
      
      Emacspeak Inc &lt;a href='http://emacspeak.sourceforge.net'&gt;(NASDOG: ESPK)&lt;/a&gt; announces  the immediate
      world-wide availability of Emacspeak-27 --a powerful audio
      desktop for leveraging today's evolving data and service-oriented semantic Web.
    &lt;/p&gt;
&lt;h2&gt;Major Enhancements&lt;/h2&gt;
    
    

 


    
    &lt;ol&gt;
&lt;li&gt;
 emacspeak-web: Updated Web interaction.
&lt;/li&gt;
&lt;li&gt;
 emacspeak-ess: Speech-enables Emacs Statistics Interface
&lt;/li&gt;
&lt;li&gt;
 Header Line Support:
&lt;/li&gt;
&lt;li&gt;
Windows Key Now Stops Speech
&lt;/li&gt;
&lt;li&gt;
Smarter mode-line output:
&lt;/li&gt;
&lt;li&gt;
 Google Suggest provides completion for search queries.
&lt;/li&gt;
&lt;li&gt;
 Integrated Support For Google Services
&lt;/li&gt;
&lt;li&gt;
emacspeak-moz:  Firefox integration.
&lt;/li&gt;
&lt;li&gt;
Emacspeak-webmarks: Online bookmarks.
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And others too numerous for this margin ...&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-688356508735542148?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/688356508735542148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/688356508735542148'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/11/announcing-emacspeak-270-aka-fastdog.html' title='Announcing Emacspeak 27.0 AKA FastDog'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-3385720525876370388</id><published>2007-11-16T14:53:00.001-08:00</published><updated>2007-11-16T14:53:33.317-08:00</updated><title type='text'>AxsJAX, Speech-Enabled Games And Auditory User Interfaces</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;This is not part of Emacspeak, but is relevant to emacspeak
users given that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Speech-enabled games have  proven to be a successful means of
discovering AUI techniques that work, beginning with the
speech-enabled version of Tetris.&lt;/li&gt;
&lt;li&gt;The emerging Emacs to Firefox connection using module
&lt;code&gt;emacspeak-moz.el&lt;/code&gt; and &lt;code&gt;mozrepl&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The ability to run Fire Vox with the Emacspeak speech servers
--- look for a blog post on that soon.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Charles Chen and I recently released a JavaScript powered
framework for access-enabling AJAX applications 
--- see &lt;a href='http://code.google.com/p/google-axsjax'&gt;AxsJAX&lt;/a&gt;.
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  &lt;a href='http://code.google.com/p/google-axsjax/wiki/Showcase'&gt;AxsJAX
showcase&lt;/a&gt; for pointer to this and other Web-2.0 applications
that have been AxsJaxed.&lt;/p&gt;

    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-3385720525876370388?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/3385720525876370388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/3385720525876370388'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/11/axsjax-speech-enabled-games-and.html' title='AxsJAX, Speech-Enabled Games And Auditory User Interfaces'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-1768197643635443743</id><published>2007-10-08T16:33:00.001-07:00</published><updated>2007-10-08T16:33:08.619-07:00</updated><title type='text'>The Web The Way You Want</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;
I gave a talk last week at University of Washington entitled 
&lt;a href='http://norfolk.cs.washington.edu/htbin-post/unrestricted/colloq/details.cgi?id=636'&gt;The
Web The Way You Want&lt;/a&gt;;
it should be of general interest to users interested in flexible
access to the Web.&lt;/p&gt;

    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-1768197643635443743?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/1768197643635443743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/1768197643635443743'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/10/web-way-you-want.html' title='The Web The Way You Want'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-7814395050509851558</id><published>2007-09-24T16:01:00.001-07:00</published><updated>2007-09-24T16:01:45.684-07:00</updated><title type='text'>Podcast Covering Web Accessibility</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;I recorded this 
&lt;a href='http://google-code-updates.blogspot.com/2007/09/google-developer-podcast-episode-nine.html'&gt;Accessibility
Podcast&lt;/a&gt;
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.&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-7814395050509851558?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/7814395050509851558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/7814395050509851558'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/09/podcast-covering-web-accessibility.html' title='Podcast Covering Web Accessibility'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-1202544555524691864</id><published>2007-09-04T07:23:00.001-07:00</published><updated>2007-09-06T07:46:40.382-07:00</updated><title type='text'>Emacspeak Video Demo: Looking Up The Weather</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;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 &lt;em&gt;search wizards&lt;/em&gt; and &lt;em&gt;smart url
templates&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Here are a few things to note about this and all the
subsequent video demos in this series:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;All demos were recorded using &lt;em&gt;recordmydesktop&lt;/em&gt; on an
Ubuntu laptop running Linux (Ubuntu Dapper).&lt;/li&gt;
&lt;li&gt;The text-to-speech is  produced by the IBM  ViaVoice engine,
this can now be purchased from a couple of sources in the US and
Europe.&lt;/li&gt;
&lt;li&gt;All demos are recorded with the speech rate at which I use
Emacspeak.
These demos are primarily intended to show the efficiency of the
environment, and slowing down the speech would detract
significantly from that goal.&lt;/li&gt;
&lt;li&gt;Frequent users of text-to-speech will still find the output
comprehensible. For the rest, you can match it up with what you
see on the screen ;-)&lt;/li&gt;
&lt;li&gt;Careful listeners will notice some jitter/clipping in the
audio --- this appears to be an artifact of using
&lt;em&gt;recordmydesktop&lt;/em&gt; that I was unable to eliminate.&lt;/li&gt;
&lt;li&gt;In each of these articles, I'll enumerate the actions I take,
and their effect. I'll enumearate actual keystrokes, but I
suggest readers focus more on the atomic commands being executed,
rather than individual keypresses.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Looking Up The Weather&lt;/h3&gt;
&lt;p&gt;Looking up current weather is a sufficiently common action
where &lt;em&gt;browsing&lt;/em&gt; 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
&lt;em&gt;gadgets&lt;/em&gt; that display such live information with minimal
user intervention.
This first video shows Emacspeak &lt;em&gt;smart url&lt;/em&gt; &lt;code&gt;RSS
Weather From Wunderground&lt;/code&gt;in action.
&lt;/p&gt;
&lt;p&gt;Here is the  &lt;a href='http://emacspeak.sourceforge.net/videos/rss-weather.ogg'&gt;RSS
Weather Demo&lt;/a&gt;.
This is an OGG/Theora video and should play with tools like
&lt;code&gt;mplayer&lt;/code&gt;.
The table below shows  a brief description of each user action
and its effect.&lt;/p&gt;
&lt;table border='2' cellspacing='0' cellpadding='6' rules='groups' frame='hsides'&gt;
&lt;COL align='left'/&gt;&lt;COL align='left'/&gt;&lt;COL align='left'/&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Action&lt;/th&gt;&lt;th&gt;Key&lt;/th&gt;&lt;th&gt;Effect&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href='#gadget-prompt'&gt;Access Gadgets&lt;/a&gt;&lt;/td&gt;&lt;td&gt;C-e u&lt;/td&gt;&lt;td&gt;Prompts for gadget&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href='#pick-gadget'&gt;Pick Weather Gadget&lt;/a&gt;&lt;/td&gt;&lt;td&gt;rss tab&lt;/td&gt;&lt;td&gt;partial input completes to RSS Weather From Wunderground&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href='#location'&gt;Pick Default Location&lt;/a&gt;&lt;/td&gt;&lt;td&gt;return&lt;/td&gt;&lt;td&gt;CA/San&lt;sub&gt;Jose&lt;/sub&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td/&gt;&lt;td/&gt;&lt;td&gt;&lt;a href='#forecast'&gt;Speaks weather forecast&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;a href='#quit'&gt;Quit&lt;/a&gt;&lt;/td&gt;&lt;td&gt;q&lt;/td&gt;&lt;td&gt;Stops speech, dismisses weather forecast, and speaks current context. In this case the shell becomes current and you hear the relevant information.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;A Transcript Of What You Hear&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;
&lt;dl&gt;
&lt;dt id='gadget-prompt'&gt;Access Gadgets&lt;/dt&gt;
&lt;dd&gt;The spoken prompt is &lt;em&gt;Resource:&lt;/em&gt;.&lt;/dd&gt;
&lt;dt id='pick-gadget'&gt;Pick Gadget&lt;/dt&gt;
&lt;dd&gt;You hear me type &lt;em&gt;RS&lt;/em&gt; and then you hear Emacspeak
completing my input to &lt;em&gt;RSSWeather&lt;/em&gt;.
Half way through that utterance, I know it's found the right
gadget, so I hit enter, and that stops the utterance
&lt;em&gt;RSSWeather&lt;/em&gt; half-way through and speaks the next prompt.
Notice that you also hear auditory icons to indicate that a
prompt input area just opened.&lt;/dd&gt;
&lt;dt id='location'&gt;Location&lt;/dt&gt;
&lt;dd&gt;With the gadget now selected, you hear the
&lt;em&gt;City/State&lt;/em&gt; prompt generated by the weather gadget.
It also produces a default location of &lt;em&gt;CA/San_Jose&lt;/em&gt;.
In the demo, you hear the &lt;em&gt;State/City&lt;/em&gt; 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.&lt;/dd&gt;
&lt;dt id='forecast'&gt;Forecast&lt;/dt&gt;
&lt;dd&gt;Here is a rough transcript of what you hear  as the weather
forecast is spoken. The forecast starts with the words:
&lt;em&gt;Conditions 73 degrees F Partly cloudy 4:50pm PDT  August 18   ...&lt;/em&gt;
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 &lt;em&gt;Temperature 73 degrees F 23 degrees C ... Conditions partly cloudy ...&lt;/em&gt;
When I've  heard enough, I hit &lt;code&gt;q&lt;/code&gt; to quit.&lt;/dd&gt;
&lt;dt id='quit'&gt;Quit&lt;/dt&gt;
&lt;dd&gt;When I quit the weather gadget, a number of things happen.
&lt;ul&gt;
&lt;li&gt;You hear auditory icon &lt;em&gt;close-object&lt;/em&gt; to indicate the
weather forecast being dismissed.&lt;/li&gt;
&lt;li&gt;You hear context information indicating that the Emacs
&lt;em&gt;shell buffer&lt;/em&gt; has now become current.&lt;/li&gt;
&lt;li&gt;For this context information, you hear it speak the working
directory of the shell buffer and the word &lt;em&gt;shell&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-1202544555524691864?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/1202544555524691864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/1202544555524691864'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/09/emacspeak-video-demo-looking-up-weather.html' title='Emacspeak Video Demo: Looking Up The Weather'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-8800123492922037657</id><published>2007-08-31T17:47:00.001-07:00</published><updated>2007-08-31T17:47:35.278-07:00</updated><title type='text'>Emacspeak And GMail</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;
See this 
&lt;a href='http://groups.google.com/group/accessible/msg/51153b28f91064bd'&gt;article&lt;/a&gt;
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.&lt;/p&gt;
&lt;p&gt;To go with this, I've added a few smart URL templates to
Emacspeak's &lt;em&gt;Web Command Line&lt;/em&gt;.
Once you've signed in, you can use 
template &lt;code&gt;GMail Search&lt;/code&gt;
to type a search term, and find matching mesages.
Note that GMail uses CSS class &lt;code&gt;msg&lt;/code&gt;
to tag the actual contents of a message. You can use this to
advantage by hitting &lt;code&gt;e c&lt;/code&gt;
on a message link, and specifying &lt;code&gt;msg&lt;/code&gt; as the class
value to filter the message.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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 &lt;code&gt;glogin.xml&lt;/code&gt; form found in Emacspeak --- use

&lt;code&gt;C-e ?/&lt;/code&gt; in Emacspeak to pick  that form.
Once you're signed in to Google, you can:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Open your &lt;a href='http://mail.google.com/mail/h/'&gt;inbox
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Perform searches to find the message you want&lt;/li&gt;
&lt;/ul&gt;

    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-8800123492922037657?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8800123492922037657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8800123492922037657'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/08/emacspeak-and-gmail.html' title='Emacspeak And GMail'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-6242165765529911042</id><published>2007-08-17T17:24:00.001-07:00</published><updated>2007-08-17T17:24:25.613-07:00</updated><title type='text'>AMixer And Emacspeak: Controlling The Sound Card</title><content type='html'>
   &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;In the days of OSS, Emacspeak had a nice Emacs-interface to
&lt;code&gt;aumix&lt;/code&gt;
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 &lt;code&gt;alsamixer&lt;/code&gt; --- a full-screen  terminal
application is bewilderingly confusing (at least to me),
and &lt;code&gt;amixer&lt;/code&gt; 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 &lt;code&gt;recordmydesktop&lt;/code&gt;
and needed to configure ALSA so that it would capture sound
directly from the PCM output, rather than the microphone.&lt;/p&gt;
&lt;p&gt;To cut a short story even shorter,
I ended up writing  an Emacs wrapper around &lt;code&gt;amixer&lt;/code&gt;
called  --- well, you guessed it, &lt;code&gt;amixer&lt;/code&gt;.
The code is checked in as 
&lt;a href='http://emacspeak.googlecode.com/svn/trunk/lisp/amixer.el'&gt;amixer.el&lt;/a&gt;.
The Emacspeak keybinding &lt;code&gt;C-e (&lt;/code&gt; formerly used to
manipulate &lt;code&gt;aumix&lt;/code&gt; is now ALSA-aware 
and will intelligently default to using the new
&lt;code&gt;amixer&lt;/code&gt; tool if  
&lt;code&gt;/usr/bin/amixer&lt;/code&gt; is available.
&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-6242165765529911042?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/6242165765529911042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/6242165765529911042'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/08/amixer-and-emacspeak-controlling-sound.html' title='AMixer And Emacspeak: Controlling The Sound Card'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-3966633935155467643</id><published>2007-08-07T07:37:00.001-07:00</published><updated>2007-08-07T07:37:55.545-07:00</updated><title type='text'>The Web The Way You Want</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;While working on miscellaneous Web related things
including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Working on the &lt;a href='http://www.w3.org/2001/tag/'&gt;W3C TAG&lt;/a&gt;  in trying to understand how  HTML
TagSoup and 
well-formed markup  might co-exist on the Web --- without the bad
perennially  driving out the good,&lt;/li&gt;
&lt;li&gt;Thinking about the Web Command Line, and placing various 
Web gadget/widget technologies in perspective,&lt;/li&gt;
&lt;li&gt;Building &lt;a href='http://emacspeak.googlecode.com/svn/trunk/lisp/g-client'&gt;Emacs-G-Client&lt;/a&gt; --- an Emacs client for
&lt;a href='http://groups.google.com/group/emacs-g-client/'&gt;Google services&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;Connecting Emacs and Firefox
via &lt;a href='http://dev.hyperstruct.net/mozlab/wiki/MozRepl'&gt;MozREPL&lt;/a&gt;
to get the best of both
worlds ,&lt;/li&gt;
&lt;li&gt;Refactoring some of the Web-related code in Emacspeak to
better reflect the underlying ideas,&lt;/li&gt;
&lt;li&gt;Adding additional Web goodies to Emacspeak including 
&lt;a href='http://emacspeak.blogspot.com/2007/08/google-suggest-minibuffer-completion.html'&gt;Google
Suggest&lt;/a&gt; in the Emacs minibuffer,&lt;/li&gt;
&lt;li&gt;And items too numerous to fit in this margin ...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also wrote a 
&lt;a href='http://emacspeak.sourceforge.net/raman/publications/specialized-browsers/'&gt;draft chapter&lt;/a&gt; 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.
&lt;/p&gt;

    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-3966633935155467643?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/3966633935155467643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/3966633935155467643'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/08/web-way-you-want.html' title='The Web The Way You Want'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-9102554332128282848</id><published>2007-08-02T07:27:00.001-07:00</published><updated>2007-08-02T07:27:07.084-07:00</updated><title type='text'>Google Suggest: Minibuffer Completion When Googling</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;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 &lt;code&gt;C-e ?&lt;/code&gt;
is now &lt;em&gt;Google-Suggest&lt;/em&gt; enabled. This means that when
doing Google searches via 
&lt;code&gt;C-e ?g&lt;/code&gt;, you can type a partial query, and hit &lt;code&gt;TAB&lt;/code&gt;
to get a list of possible completions for the query.
&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-9102554332128282848?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/9102554332128282848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/9102554332128282848'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/08/google-suggest-minibuffer-completion.html' title='Google Suggest: Minibuffer Completion When Googling'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-4669909173874561800</id><published>2007-07-24T07:42:00.001-07:00</published><updated>2007-07-24T07:42:15.194-07:00</updated><title type='text'>Emacspeak WebMarks: Online Bookmarks Using Google</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;Emacspeak module &lt;code&gt;emacspeak-webmarks&lt;/code&gt;
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 
&lt;a href='http://emacspeak.blogspot.com/2007/07/web-interaction-in-emacspeak.html'&gt;Web
Interaction in Emacspeak&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Usage Tips&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;To use &lt;em&gt;Webmarks&lt;/em&gt;, you need to be signed into Google.&lt;/li&gt;
&lt;li&gt;Signing in to Google is easily done using the Webform
provided as 
&lt;code&gt;xml-forms/glogin.html&lt;/code&gt; in the Emacspeak distribution
--- invoke it via key &lt;code&gt;C-e?/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;In addition, the very first time you use Google Bookmarks,
add your first bookmark using form
&lt;code&gt;xml-forms/bookmark-add.html&lt;/code&gt;.
Fill out that form, hit submit, and extract the value the
&lt;code&gt;zx&lt;/code&gt; parameter returned by the server.&lt;/li&gt;
&lt;li&gt;Use emacs Custom to save the value of the &lt;code&gt;zx&lt;/code&gt;
parameter as  Emacs option
&lt;code&gt;emacspeak-webmarks-key&lt;/code&gt;.&lt;/li&gt;

&lt;/ul&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-4669909173874561800?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4669909173874561800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4669909173874561800'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/07/emacspeak-webmarks-online-bookmarks.html' title='Emacspeak WebMarks: Online Bookmarks Using Google'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-680447884170689543</id><published>2007-07-24T07:32:00.001-07:00</published><updated>2007-07-24T07:32:16.956-07:00</updated><title type='text'>Web Interaction In Emacspeak</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;All Emacspeak Web smarts have now been re-factored to be
independent of any given Web browser. In practice, this avoids
code duplication between W3 and W3M support.&lt;/li&gt;
&lt;li&gt;The interface to XSLT has been significantly improved.&lt;/li&gt;
&lt;li&gt;When using W3, Emacspeak automatically builds a cache of CSS
&lt;code&gt;classnames&lt;/code&gt; and &lt;code&gt;ids&lt;/code&gt; occuring on the
page.
These are then used to provide interactive completion when
invoking commands 
&lt;code&gt;emacspeak-extract-by-id&lt;/code&gt; (bound to &lt;code&gt;e i&lt;/code&gt;
in Web pages)
and &lt;code&gt;emacspeak-we-extract-by-class&lt;/code&gt; (bound to &lt;code&gt;e
c&lt;/code&gt; in Web pages).&lt;/li&gt;
&lt;li&gt;Module &lt;code&gt;emacspeak-we&lt;/code&gt; holds all code related to
&lt;em&gt;editing&lt;/em&gt;
Web pages before they are displayed.&lt;/li&gt;
&lt;li&gt;Module &lt;code&gt;emacspeak-webutils&lt;/code&gt; holds all Web utility
code.&lt;/li&gt;
&lt;li&gt;Atom and RSS feeds are now pulled using Emacs-22 built-in
library &lt;code&gt;url&lt;/code&gt;
rather than via libxslt. This has the advantage that the feeds
are pulled with any cookies the browser may have set during the
session.&lt;/li&gt;
&lt;li&gt;All &lt;code&gt;url templates&lt;/code&gt;, &lt;code&gt;search wizards&lt;/code&gt;
and related Web utilities should now be capable of working
similarly under W3 and W3M.&lt;/li&gt;
&lt;li&gt;Module &lt;code&gt;emacspeak-moz&lt;/code&gt; provides a basic level of
integration with Firefox --- see my related blog post on 
&lt;a href='http://emacspeak.blogspot.com/2007/06/firebox-put-fox-in-box.html'&gt;FireBox&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Module &lt;code&gt;emacspeak-w3m&lt;/code&gt; still needs work to take
advantage of all of these changes; I myself do not use W3M much,
so those updates will happen as and when W3M users contribute the
necessary time and patches.&lt;/li&gt;
&lt;/ul&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-680447884170689543?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/680447884170689543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/680447884170689543'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/07/web-interaction-in-emacspeak.html' title='Web Interaction In Emacspeak'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-4720434896090389967</id><published>2007-07-24T07:20:00.001-07:00</published><updated>2007-07-24T07:20:51.938-07:00</updated><title type='text'>Emacs-G-Client: Leveraging New Picasa API Features</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;
The Google Picasa team announced a set of 
&lt;a href='http://www.blogger.com/feeds/20280042/posts/default'&gt;useful
additions&lt;/a&gt;
to the Picasa Web API yesterday. I've added support for most of
these new features in module &lt;a href='http://emacspeak.googlecode.com/svn/trunk/lisp/g-client/gphoto.el'&gt;gphoto&lt;/a&gt;
that is part of my Emacs &lt;code&gt;G-Client&lt;/code&gt; package.&lt;/p&gt;
&lt;p&gt;You can get the latest version of package
&lt;em&gt;Emacs-G-Client&lt;/em&gt;
via &lt;a href='http://emacspeak.googlecode.com/svn/trunk/lisp/g-client'&gt;SVN&lt;/a&gt;.
Note that  this  development version 
of package &lt;em&gt;Emacs-G-Client&lt;/em&gt; also includes a light-weight
client for finding and playing YouTube videos.&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-4720434896090389967?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4720434896090389967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4720434896090389967'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/07/emacs-g-client-leveraging-new-picasa.html' title='Emacs-G-Client: Leveraging New Picasa API Features'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-3172131081751645903</id><published>2007-07-19T09:52:00.001-07:00</published><updated>2007-07-19T09:52:52.881-07:00</updated><title type='text'>Emacspeak And Beautiful Code</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
    
&lt;p&gt;
In the fall of 2006, I was invited by O'Reilly Media to
participate in an innovative book project called &lt;em&gt;Beautiful
Code&lt;/em&gt;.
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 &lt;em&gt;code&lt;/em&gt;
--- unlike many  book projects in the field of software
engineering, here the goal was to &lt;em&gt;explicitly&lt;/em&gt;
focus on real code and how it could be made beautiful.
&lt;/p&gt;
&lt;p&gt;The &lt;a href='http://www.oreilly.com/catalog/9780596510046/'&gt;final
book&lt;/a&gt; is now available in print.
The chapter on Emacspeak is being published on this Web site
under a &lt;strong class='license'&gt;Creative Common Licence&lt;/strong&gt;
--- this &lt;a href='http://emacspeak.sourceforge.net/raman/publications/bc-emacspeak/publish-emacspeak-bc.html'&gt;HTML version&lt;/a&gt;
includes  &lt;em&gt;Chapter 31: Emacspeak  --- The Complete Audio
Desktop&lt;/em&gt;
and the &lt;em&gt;Afterword&lt;/em&gt; section from the book.&lt;/p&gt;
  
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-3172131081751645903?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/3172131081751645903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/3172131081751645903'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/07/emacspeak-and-beautiful-code.html' title='Emacspeak And Beautiful Code'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-2630586147007342952</id><published>2007-07-06T17:53:00.001-07:00</published><updated>2007-07-06T17:53:34.992-07:00</updated><title type='text'>Searching The Emacspeak Knowledge Base</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;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 &lt;em&gt;Emacspeak Knowledge Base&lt;/em&gt;
by using search form &lt;code&gt;emacspeak-search.html&lt;/code&gt;;
access it via Emacspeak command  &lt;code&gt;emacspeak-websearch&lt;/code&gt;
and specify &lt;code&gt;/&lt;/code&gt;to bring up the list of available
forms.
This form is also the default search form on the Emacspeak Web
site.&lt;/p&gt;
&lt;H2&gt;HowTo: Implement Emacspeak Knowledge Base Search&lt;/H2&gt;
&lt;p&gt;
Implementing the above using CSE is trivial ---
all I needed to do was:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Checked in an HTML file into the Emacspeak  repository at
&lt;a href='http://emacspeak.googlecode.com/svn/trunk/html/kb.html'&gt;Knowledge
Base&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Create a CSE that uses the above document.&lt;/li&gt;
&lt;/ol&gt;


    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-2630586147007342952?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/2630586147007342952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/2630586147007342952'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/07/searching-emacspeak-knowledge-base.html' title='Searching The Emacspeak Knowledge Base'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-7313367975327047017</id><published>2007-07-06T17:45:00.001-07:00</published><updated>2007-07-06T17:45:39.582-07:00</updated><title type='text'>Emacs G-Client, Reader, And CSE: Searching Past Articles From Google
Reader</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;So I use module &lt;code&gt;greader&lt;/code&gt; (part of package &lt;a href='http://emacspeak.googlecode.com/svn/trunk/lisp/g-client'&gt;G-Client&lt;/a&gt;
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.&lt;/p&gt;
&lt;p&gt;The advent of CSEs --- see my earlier blog post 
entitled &lt;a href='http://emacspeak.blogspot.com/2007/06/making-search-fly-on-fly-custom-search.html'&gt;On
The Fly Custom Search&lt;/a&gt;
combined with Google Reader's ability to export ones subscription
list as an OPML file gives me exactly what  I needed.&lt;/p&gt;

&lt;h2&gt;HowTo: Enable Searching Of  Past Articles From Google
Reader&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Since you need to be signed in to access the subscription
list, the &lt;em&gt;CSE magic&lt;/em&gt; cannot directly retrieve 
your subscription list at present.
as a consequence, you need to retrieve and save your list of
feeds   to a location that is publicly accessible.
Feature Request: Would be nice if Reader did this automatically
by talking to CSE on behalf of the signed-in user --- that would
obviate the next manual step.&lt;/li&gt;
&lt;li&gt;Export your subscription list using command
&lt;code&gt;greader-opml&lt;/code&gt;.
You'll need to do  an &lt;code&gt;svn update&lt;/code&gt;
to get the above command; alternatively, sign in to Google and
retrieve your 
&lt;a href='http://www.google.com/reader/subscriptions/export'&gt;
subscription list&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Finally,   customize emacspeak option 
&lt;code&gt;emacspeak-url-template-reading-list-opml&lt;/code&gt; to the
location of the saved OPML file.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, you can use Emacspeak &lt;code&gt;url template&lt;/code&gt;
&lt;em&gt;reader subscription search&lt;/em&gt; 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 &lt;em&gt;ought to have read&lt;/em&gt;
but hadn't was a snap using the feature describe here.&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-7313367975327047017?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/7313367975327047017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/7313367975327047017'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/07/emacs-g-client-reader-and-cse-searching.html' title='Emacs G-Client, Reader, And CSE: Searching Past Articles From Google&#xA;Reader'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-6365820278984298699</id><published>2007-07-03T16:28:00.001-07:00</published><updated>2007-07-03T16:28:35.806-07:00</updated><title type='text'>Google Books In Emacspeak</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;To coincide with today's announcement of 
&lt;a href='http://googleblog.blogspot.com/2007/07/ever-more-books-to-read.html'&gt;gull-text
access to public domain works&lt;/a&gt;
from Google Books, I've updated the corresponding emacspeak Web Command-Line
wizard. Use &lt;code&gt;C-e u&lt;/code&gt; to invoke &lt;em&gt;URL templates&lt;/em&gt;
and type  &lt;code&gt; google books&lt;/code&gt; to access it.&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-6365820278984298699?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/6365820278984298699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/6365820278984298699'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/07/google-books-in-emacspeak.html' title='Google Books In Emacspeak'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-4597026201724531986</id><published>2007-06-28T16:58:00.001-07:00</published><updated>2007-06-29T13:52:38.358-07:00</updated><title type='text'>Making Search Fly: On-The-Fly Custom Search Engines</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;
The Custom Search  Engine team at Google recently released 
&lt;a href='http://googlecustomsearch.blogspot.com/2007/06/custom-search-on-fly.html'&gt;CSE
On The Fly&lt;/a&gt;
a truly amazing feature. Incidentally Google Custom Search is the
same piece of magic that brought us 
&lt;a href='http://labs.google.com/accessible/'&gt;Accessible
Search&lt;/a&gt; last year.&lt;/p&gt;
&lt;p&gt;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 &lt;code&gt;url templates&lt;/code&gt;
that demonstrate how one can  leverage this to be smart  and
selective about what one reads.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Searching Favorite Feeds&lt;/dt&gt;
&lt;dd&gt;So I read a lot of Blogs, my current Blog Reader is Google
Reader via --- you guessed it -- Emacs module 
&lt;a href='http://emacspeak.googlecode.com/svn/trunk/lisp/g-client/greader.el'&gt;GReader&lt;/a&gt;
(part of the Emacs G-Client package).
But I often  feel the need to search my favorite feeds.
URL-template &lt;code&gt;Reader Subscriptions&lt;/code&gt;
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
&lt;code&gt;emacspeak-url-template-reading-list-opml&lt;/code&gt;
to point to that location.&lt;/dd&gt;
&lt;dt&gt;Official GoogleBlog Search&lt;/dt&gt;
&lt;dd&gt;Google has a large number of Google-specific Blogs --- I
usually read them through this &lt;em&gt;aggregated&lt;/em&gt; feed:
&lt;a href='http://www.google.com/reader/public/subscriptions/user/10949413115399023739/label/officialgoogleblogs-all'&gt;All
  GoogleBlog Stream&lt;/a&gt;
Emacspeak wizard &lt;code&gt;Official GoogleBlog Search&lt;/code&gt; builds a
CSE from this feed to let you search articles from all of
Google's  blogs.&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Eventually, I'll also add a &lt;em&gt;meta&lt;/em&gt; search wizard that
lets  one construct any CSE on the fly --- with Lisp such
meta-programming is a snap!&lt;/p&gt;
&lt;p&gt;Later yesterday evening, I checked in a third
&lt;code&gt;url-template&lt;/code&gt;
called &lt;em&gt;On The Fly CSE&lt;/em&gt; that prompts for a search term and
the URL for the  feed of feeds  that specifies the content to search.&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-4597026201724531986?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4597026201724531986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4597026201724531986'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/06/making-search-fly-on-fly-custom-search.html' title='Making Search Fly: On-The-Fly Custom Search Engines'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-4040590380117175204</id><published>2007-06-26T07:32:00.001-07:00</published><updated>2007-06-26T07:32:25.229-07:00</updated><title type='text'>Emacs-G-Client: Uploading Photos To PicasaWeb</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;The SVN version of package Emacs-G-Client 
at &lt;a href='http://emacspeak.googlecode.com/svn/trunk/lisp/g-client'&gt;
g-client&lt;/a&gt; now includes a new module &lt;code&gt;gphoto.el&lt;/code&gt;
that can create albums and upload photos to Google's PicasaWeb
site --- as an example, see &lt;a href='http://picasaweb.google.com/tv.raman.tv'&gt;my photo
gallery&lt;/a&gt;.
Emacspeak users are likely to find the RSS and ATOM feeds for
photo albums   more useful in general; package
&lt;code&gt;gphoto&lt;/code&gt;
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 
&lt;a href='http://picasaweb.google.com/data/feed/api/user/tv.raman.tv/albumid/5067595712573880865'&gt;Hubbell
Labrador's Graduation&lt;/a&gt; album.&lt;/p&gt;

    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-4040590380117175204?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4040590380117175204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4040590380117175204'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/06/emacs-g-client-uploading-photos-to.html' title='Emacs-G-Client: Uploading Photos To PicasaWeb'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-511307680430077326</id><published>2007-06-26T07:11:00.001-07:00</published><updated>2007-06-26T07:11:01.779-07:00</updated><title type='text'>Multilingual Dictionary Lookup Via Google</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;From the &lt;q&gt;every useful Google tool deserves a Web Command
-line equivalent ...&lt;/q&gt;&lt;/p&gt;

&lt;p&gt;
I just checked in  an Emacspeak &lt;code&gt;url-template&lt;/code&gt;
for accessing 
&lt;a href='http://googleblog.blogspot.com/2007/06/new-dictionary-translations.html'&gt;multilingual dictionary lookup&lt;/a&gt; via Google.
Invoke it like any other &lt;code&gt;url-template&lt;/code&gt; using
&lt;code&gt;C-e u&lt;/code&gt; and type &lt;code&gt;mult tab&lt;/code&gt;.
Specify the word to look up, and the source-target language pair
using two letter codes --- this is analogous to how the Emacspeak
&lt;code&gt;Translation Via Google&lt;/code&gt;
tool  works.
And remember, if there is something you find yourself doing often
on the Web, there is most likely an Emacspeak 
&lt;a href='http://emacspeak.blogspot.com/2005/12/emacspeak-web-tricks-web-command-line.html'&gt;Web
Command Line&lt;/a&gt;
gadget for it --- well, at least that is true for the things I
find myself  doing often;-)&lt;/p&gt;

    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-511307680430077326?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/511307680430077326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/511307680430077326'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/06/multilingual-dictionary-lookup-via.html' title='Multilingual Dictionary Lookup Via Google'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-4232278061050475592</id><published>2007-06-22T17:28:00.001-07:00</published><updated>2007-06-22T17:28:20.541-07:00</updated><title type='text'>FireBox: Put The Fox In The Box</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;
  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 
&lt;a href='http://dev.hyperstruct.net/mozlab/wiki/MozRepl'&gt;MozRepl&lt;/a&gt;
--- a &lt;em&gt;read-eval-print&lt;/em&gt;
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.&lt;/p&gt;
&lt;p&gt;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 &lt;code&gt;GDM&lt;/code&gt; --- 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?&lt;/p&gt;
&lt;p&gt;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 &lt;code&gt;XVFB&lt;/code&gt; --- 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 
&lt;quote&gt;Get out of my way or I'll turn you into a shell
script&lt;/quote&gt;
XVFB also turns out to be just what I needed in order to run
FireFox as a headless application.&lt;/p&gt;
&lt;p&gt;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 
&lt;a href='http://emacspeak.googlecode.com/svn/trunk/etc/firebox'&gt;FireBox&lt;/a&gt;
-- share and enjoy!
&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-4232278061050475592?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4232278061050475592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4232278061050475592'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/06/firebox-put-fox-in-box.html' title='FireBox: Put The Fox In The Box'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-8028686159404314470</id><published>2007-06-14T11:50:00.001-07:00</published><updated>2007-06-14T11:50:38.731-07:00</updated><title type='text'>Emacspeak And Beautiful Code</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;
&lt;a href='http://www.oreilly.com/catalog/9780596510046/'&gt;Beautiful
Code&lt;/a&gt;
 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.&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-8028686159404314470?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8028686159404314470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/8028686159404314470'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/06/emacspeak-and-beautiful-code.html' title='Emacspeak And Beautiful Code'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-2239678377295379080</id><published>2007-05-23T16:24:00.001-07:00</published><updated>2007-05-23T16:24:20.793-07:00</updated><title type='text'>Google Group For Package G-Client</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;I've created a Google Group for package G-Client here:
&lt;a href='http://groups.google.com/group/emacs-g-client/feed/rss_v2_0_msgs.xml'&gt;Emacs-G-Client&lt;/a&gt;.
If you are using package &lt;code&gt;G-Client&lt;/code&gt; 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 
&lt;a href='http://emacspeak.googlecode.com/svn/trunk/lisp/g-client'&gt;lisp/g-client&lt;/a&gt;
.
&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-2239678377295379080?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/2239678377295379080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/2239678377295379080'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/05/google-group-for-package-g-client.html' title='Google Group For Package G-Client'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-9167321870051729186</id><published>2007-05-19T11:29:00.001-07:00</published><updated>2007-05-19T11:29:48.278-07:00</updated><title type='text'>An Essay On Eyes-Free Computing</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;div&gt;
&lt;p&gt; I just posted an essay on 
&lt;a href='http://mathzome.blogspot.com/2007/05/thinking-of-mathematics.html'&gt;eyes-free computing&lt;/a&gt;
to my
&lt;a href='http://mathzome.blogspot.com/feeds/posts/default'&gt;MathZome&lt;/a&gt;blog.
This essay highlights the relevance of 
&lt;a href='http://www.georgehart.com/virtual-polyhedra/zometool.html'&gt;ZomeTool&lt;/a&gt;
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
&lt;a href='http://emacspeak.sourceforge.net/raman/publications/thinking-of-math/'&gt;
 complete essay&lt;/a&gt; can be found on my Web site.&lt;/p&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href='http://emacspeak.sf.net'&gt;Emacspeak&lt;/a&gt; users wishing
to understand why things  look like the way they do in
Emacspeak.&lt;/li&gt;
&lt;li&gt;Students with visual impairments who are entering the field
of mathematics.&lt;/li&gt;
&lt;li&gt;Teachers working with visually impaired students.&lt;/li&gt;
&lt;li&gt;And the generally curious mathematician who wishes to view
the world from a different perspective.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Abstract&lt;/h3&gt;
&lt;p&gt;
  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 &lt;q&gt;Once a mathematician, always a mathematician!&lt;/q&gt;
  — my training in mathematics continues to influence the
  way I think.
&lt;/p&gt;
&lt;p&gt;
  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 &lt;q&gt;What is involved in doing mathematics
  when you cannot see?&lt;/q&gt; 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.
&lt;/p&gt;
&lt;p&gt;
  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 &lt;em&gt;scratch memory&lt;/em&gt; 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 &lt;q&gt;calculations on
  paper&lt;/q&gt;, 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.
&lt;/p&gt;

    &lt;/div&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-9167321870051729186?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/9167321870051729186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/9167321870051729186'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/05/essay-on-eyes-free-computing.html' title='An Essay On Eyes-Free Computing'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-4558730293999009024</id><published>2007-05-16T07:41:00.001-07:00</published><updated>2007-05-16T07:41:46.242-07:00</updated><title type='text'>Updates To G-Client</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;If you use &lt;code&gt;g-client&lt;/code&gt; within Emacspeak to access
Google Services, you might want to read 
&lt;a href='http://emacsgeek.blogspot.com/2007/05/updates-to-g-client.html'&gt;G-Client Updates&lt;/a&gt;.&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-4558730293999009024?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4558730293999009024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4558730293999009024'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/05/updates-to-g-client.html' title='Updates To G-Client'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-9051371237271911295</id><published>2007-05-09T13:12:00.001-07:00</published><updated>2007-05-09T13:12:24.777-07:00</updated><title type='text'>Web 2.0 And The Emacspeak Audio Webtop</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;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!&lt;/p&gt;
&lt;p&gt;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.
&lt;/p&gt;
&lt;p&gt;The other amusing piece while running around at the conference
and observing what everyone is working on is to realize that now
that &lt;em&gt;Web Gadgets&lt;/em&gt; 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 &lt;em&gt;websearch&lt;/em&gt; module, to be later
joined by &lt;em&gt;url-templates&lt;/em&gt;. I believe these innovations
arrived earlier on the Emacspeak Webtop as compared to the rest
of the Web for the following reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Emacspeak relied on Emacs/W3 for Web functionality,and when
that browser stopped being maintained, there was a strong need to
develop Web tools in the context of Emacspeak.&lt;/li&gt;
&lt;li&gt;The visual Web was getting too complex  for use via speech
output,
and given the flexibility of the Emacs environment, and the
arrival of XSLT in 1999, things were well set up to build a
powerful set of Web access wizards.&lt;/li&gt;
&lt;li&gt;Task-oriented Web tools in Emacspeak led to the conceptual
&lt;strong&gt;Web Command Line&lt;/strong&gt; in Emacspeak at a time when
&lt;em&gt;command-line interfaces&lt;/em&gt; were considered passe'.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;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 &lt;em&gt;handle
every web page&lt;/em&gt;.
With the visual Web getting too busy for &lt;em&gt;everyone&lt;/em&gt;
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!&lt;/p&gt;
    &lt;/div&gt;
    
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-9051371237271911295?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/9051371237271911295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/9051371237271911295'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/05/web-20-and-emacspeak-audio-webtop.html' title='Web 2.0 And The Emacspeak Audio Webtop'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-6628772274443432663</id><published>2007-05-03T18:51:00.001-07:00</published><updated>2007-05-03T18:51:41.088-07:00</updated><title type='text'>Emacspeak 26.0 --- LeadDog Unleashed!</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;
      
      Emacspeak Inc &lt;a href='http://emacspeak.sourceforge.net'&gt;(NASDOG: ESPK)&lt;/a&gt;
      announces the immediate world-wide availability of &lt;a href='http://emacspeak.googlecode.com/files/emacspeak-26.tar.bz2'&gt;Emacspeak-26&lt;/a&gt;
      --a powerful audio desktop for leveraging today's evolving
      data and service-oriented semantic Web.
    &lt;/p&gt;
&lt;h3&gt;Major Enhancements&lt;/h3&gt;
    
    &lt;ol&gt;
      &lt;li&gt; Added support for ESpeak -- a freely available TTS engine.&lt;/li&gt;
      &lt;li&gt; Added support for Ocropus -- a freely available OCR engine.&lt;/li&gt;
      &lt;li&gt; Updated Websearch tools.&lt;/li&gt;
      &lt;li&gt; Updated URL templates to enhance the Web Command Line.&lt;/li&gt;
      &lt;li&gt; Support for Google Services like Blogger via package G-Client.&lt;/li&gt;
      &lt;li&gt; Updated productivity tools in the wizards package.&lt;/li&gt;
      &lt;li&gt; Fully tested against the upcoming Emacs22.&lt;/li&gt;
      &lt;li&gt;Better integration between W3 and W3M.&lt;/li&gt;
    &lt;/ol&gt;
    &lt;p&gt;
      This release contains many user contributed patches including:
    &lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt; ESpeak patches from the Oralux project.&lt;/li&gt;
      &lt;li&gt; W3M patches from RDC.&lt;/li&gt;
    &lt;/ul&gt;

    &lt;p&gt;
      You can visit  Emacspeak at 
      &lt;a href='http://emacspeak.sf.net'&gt;SourceForge&lt;/a&gt;.
      The latest development snapshot of
      Emacspeak is available via subversion  from 
&lt;a href='http://emacspeak.googlecode.com/svn/trunk'&gt;Google Code Hosting&lt;/a&gt;.
     You can subscribe to the emacspeak mailing list &lt;em&gt;
    emacspeak@cs.vassar.edu&lt;/em&gt; by sending mail to the list
    request address &lt;a href='mailto:emacspeak-request@cs.vassar.edu'&gt;emacspeak-request@cs.vassar.edu&lt;/a&gt;.  &lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-6628772274443432663?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/6628772274443432663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/6628772274443432663'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/05/emacspeak-260-leaddog-unleashed.html' title='Emacspeak 26.0 --- LeadDog Unleashed!'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-4665207422065544454</id><published>2007-03-20T06:57:00.001-07:00</published><updated>2007-03-20T06:57:03.338-07:00</updated><title type='text'>See You At CSUN 2007</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;After a gap of 7 years, I will  once again attend 
&lt;a href='http://www.csun.edu/cod/conf/'&gt;CSUN&lt;/a&gt;  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.
&lt;/p&gt;

    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-4665207422065544454?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4665207422065544454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/4665207422065544454'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/03/see-you-at-csun-2007.html' title='See You At CSUN 2007'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-1780622495797519684</id><published>2007-03-02T10:59:00.001-08:00</published><updated>2007-03-02T10:59:41.076-08:00</updated><title type='text'>An Emacs Client For Google Services</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;h2&gt;1 An Emacs Interface To Google Services&lt;/h2&gt;


&lt;p&gt;
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 &lt;code&gt;browse-url&lt;/code&gt; is used to invoke the Web browser of
choice. 
&lt;/p&gt;
&lt;p&gt;
The current distribution can be downloaded from &lt;a href='http://emacspeak.googlecode.com/files/g-client.tar.bz2'&gt;Google Code Hosting&lt;/a&gt; and the source code is available via &lt;a href='http://emacspeak.googlecode.com/svn/trunk/lisp/g-client/'&gt;Subversion&lt;/a&gt;. 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.
&lt;/p&gt;

&lt;h3&gt;1.1 Installation&lt;/h3&gt;


&lt;p&gt;
These are needed only if installing package &lt;code&gt;g-client&lt;/code&gt;
stand-alone, i.e. outside of Emacspeak.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Unpack the tar archive and place the resulting &lt;code&gt;g-client&lt;/code&gt;
directory on your emacs &lt;code&gt;load-path&lt;/code&gt;.
&lt;/li&gt;
&lt;li&gt;
Type &lt;code&gt;make&lt;/code&gt; to compile the code.
&lt;/li&gt;
&lt;li&gt;
In your .emacs, add &lt;code&gt;(load-library "g")&lt;/code&gt; to set it up.

&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;1.2 How It Works&lt;/h3&gt;


&lt;p&gt;
Clients are implemented using Google APIs based on Atom
Publishing Protocol &lt;a href='http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-09.html'&gt;APP&lt;/a&gt; and Google Data APIs (&lt;a href='http://code.google.com/apis/gdata/index.html'&gt;GData&lt;/a&gt;). We use &lt;code&gt;curl&lt;/code&gt;
to retrieve content via &lt;i&gt;HTTPS&lt;/i&gt; and &lt;code&gt;xsltproc&lt;/code&gt; to transform the
retrieved content to browsable HTML.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;

&lt;h3&gt;1.3 Top-level Customizations&lt;/h3&gt;


&lt;p&gt;
All clients in this package use Emacs' &lt;code&gt;customize&lt;/code&gt; interface to
set user preferences.
The most commonly used  ones are enumerated below.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;g-user-email&lt;/code&gt; Default email-id to use. Individual clients
typically override this via user option
&lt;code&gt;&amp;lt;clientname&amp;gt;-user-email&lt;/code&gt;.
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;g-html-handler&lt;/code&gt; Name of function that handles HTML content.

&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;1.4 Google Blogger &lt;i&gt;gblogger&lt;/i&gt;&lt;/h3&gt;


&lt;p&gt;
This client implements posting, editting and deleting of blog
entries using the new Blogger API --- it replaces the now
obsolete &lt;a href='http://emacsgeek.blogspot.com/2006/01/announcing-atom-blogger.html'&gt;atom-blogger&lt;/a&gt; that implemented similar functionality
using the old Blogger API. It uses value of customization option
&lt;code&gt;g-user-email&lt;/code&gt; by default; this can be overridden via option
&lt;code&gt;gblogger-user-email&lt;/code&gt;. See &lt;a href='http://code.google.com/apis/blogger/overview.html'&gt;Blogger GData API&lt;/a&gt; for the underlying
APIs used. For editing posts, I recommend installing &lt;a href='http://www.thaiopensource.com/nxml-mode/'&gt;nxml-mode&lt;/a&gt;.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;i&gt;Browse&lt;/i&gt; Command &lt;code&gt;gblogger-blog&lt;/code&gt; brings up the list of blogs
owned by the currently authenticated user.
&lt;/li&gt;
&lt;li&gt;
&lt;i&gt;Posting&lt;/i&gt; Command &lt;code&gt;gblogger-new-entry&lt;/code&gt; takes a &lt;b&gt;post URL&lt;/b&gt; and sets
up a special buffer where you can compose your
article. the &lt;b&gt;post url&lt;/b&gt; is obtained from the feed of blogs
above, use the &lt;b&gt;post&lt;/b&gt; link for the blog to which you wish to
post.
&lt;/li&gt;
&lt;li&gt;
&lt;i&gt;Browsing&lt;/i&gt;      Command &lt;code&gt;gblogger-atom-display&lt;/code&gt; displays the
atom feed for a specified blog as a browsable HTML page. In
addition to reading your blog, this helps you find the &lt;b&gt;edit     url&lt;/b&gt; for individual posts.
&lt;/li&gt;
&lt;li&gt;
&lt;i&gt;Editting&lt;/i&gt; Command &lt;code&gt;gblogger-edit-entry&lt;/code&gt; takes the &lt;b&gt;edit url&lt;/b&gt;
of a previously posted entry. It retrieves the entry, and
sets up a special composition buffer where you can edit the entry.
&lt;/li&gt;
&lt;li&gt;
&lt;i&gt;Submitting&lt;/i&gt; The special composition buffer created by
commands &lt;code&gt;gblogger-new-entry&lt;/code&gt; and &lt;code&gt;gblogger-edit-entry&lt;/code&gt;
provide a special command &lt;code&gt;gblogger-publish&lt;/code&gt; (bound to &lt;code&gt;C-c     C-c&lt;/code&gt;) that submits the entry to blogger.
&lt;/li&gt;
&lt;li&gt;
&lt;i&gt;Deleting&lt;/i&gt; Command &lt;code&gt;gblogger-delete-entry&lt;/code&gt; deletes an entry
specified by its &lt;b&gt;edit url&lt;/b&gt;.

&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;1.5 Google Calendar &lt;i&gt;gcal&lt;/i&gt;&lt;/h3&gt;


&lt;p&gt;
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 &lt;code&gt;g-user-email&lt;/code&gt; by default; this can be
overridden via option &lt;code&gt;gcal-user-email&lt;/code&gt;. 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 &lt;a href='http://code.google.com/apis/calendar/overview.html'&gt;GData Calendar API&lt;/a&gt; for
the underlying APIs used.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;i&gt;View&lt;/i&gt; Command &lt;code&gt;gcal-calendar-agenda&lt;/code&gt; displays the default
calendar for the authenticated user. A prefix arg prompts for
the calendar to display. This command is best used from
inside the Emacs calendar; in this case, it uses the date
under point when showing the agenda.
&lt;/li&gt;
&lt;li&gt;
&lt;i&gt;Add&lt;/i&gt; Command &lt;code&gt;gcal-add-event&lt;/code&gt; prompts for event details and
adds it to the calendar.
&lt;/li&gt;
&lt;li&gt;
&lt;i&gt;Accept&lt;/i&gt; Command &lt;code&gt;gcal-accept-event&lt;/code&gt; accepts an event. Event
is specified using the &lt;b&gt;edit url&lt;/b&gt; of the event.
&lt;/li&gt;
&lt;li&gt;
&lt;i&gt;Delete&lt;/i&gt; Command &lt;code&gt;gcal-delete-event&lt;/code&gt; deletes an event. Event
is specified using the &lt;b&gt;edit url&lt;/b&gt; of the event.

&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;1.6 Google Reader &lt;i&gt;greader&lt;/i&gt;&lt;/h3&gt;


&lt;p&gt;
This client allows the authenticated user to read, browse and
subscribe/unsubscribe to feeds.
It uses value of customization option &lt;code&gt;g-user-email&lt;/code&gt; by
default; this can be overridden via option &lt;code&gt;g-user-email&lt;/code&gt;.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;i&gt;Reading&lt;/i&gt; Command &lt;code&gt;greader-reading-list&lt;/code&gt; displays the
reading list (river of news).
&lt;/li&gt;
&lt;li&gt;
&lt;i&gt;Browsing&lt;/i&gt; Command &lt;code&gt;greader-feed-list&lt;/code&gt; displays a
browsable Web page with pointers to  subscribed feeds.
&lt;/li&gt;
&lt;li&gt;
&lt;i&gt;Finding&lt;/i&gt; Command &lt;code&gt;greader-find-feeds&lt;/code&gt; searches for matching
feeds to subscribe.
&lt;/li&gt;
&lt;li&gt;
&lt;i&gt;Subscribing&lt;/i&gt; Commands &lt;code&gt;greader-subscribe-feed&lt;/code&gt; and
&lt;code&gt;greader-unsubscribe-feed&lt;/code&gt; are used to subscribe and
unsubscribe.
&lt;/li&gt;
&lt;li&gt;
&lt;i&gt;Labeling&lt;/i&gt; Command &lt;code&gt;greader-star&lt;/code&gt; and &lt;code&gt;greader-add-label&lt;/code&gt; are
used to label articles.
&lt;/li&gt;
&lt;li&gt;
&lt;i&gt;Reading&lt;/i&gt; Starred  articles can be read by
providing a prefix argument to command
&lt;code&gt;greader-reading-list&lt;/code&gt;. Thus, C-u M-x greader-reading-list
will prompt for the specific set of articles to retrieve.

&lt;/li&gt;
&lt;/ul&gt;
&lt;p class='author'&gt; Author: T.V Raman
&lt;a href='mailto:raman@cs.cornell.edu&amp;gt;'&gt;&amp;lt;raman@cs.cornell.edu&amp;gt;&amp;gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p class='date'&gt; Date: 2007/03/02 10:36:07&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-1780622495797519684?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/1780622495797519684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/1780622495797519684'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/03/emacs-client-for-google-services.html' title='An Emacs Client For Google Services'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-2634050357130206777</id><published>2007-02-12T16:45:00.001-08:00</published><updated>2007-01-29T09:51:41.314-08:00</updated><title type='text'>Emacspeak Downloads On GoogleCode</title><content type='html'>
    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;
&lt;p&gt;
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 &lt;em&gt;significantly&lt;/em&gt; easier than making
releases on SourceForge.&lt;/p&gt;

&lt;p&gt;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 
&lt;a href='http://code.google.com/p/emacspeak/'&gt;Emacspeak
GoogleCode&lt;/a&gt; page.
Follow the link labeled &lt;em&gt;Featured Downloads&lt;/em&gt; to download
the newest release. I've also made all past releases from the
download area --- follow the link labeled &lt;em&gt;downloads&lt;/em&gt; on
the Emacspeak GoogleCode page.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; GoogleCode makes it possible to create download URLs  that
can be bookmarked.
No more clicking through multiple pages before getting to the
file you want, you can simply point &lt;code&gt;wget&lt;/code&gt;,
&lt;code&gt;curl&lt;/code&gt; or your favorite download tool at a meaningful
URL.
For instance,  
here is a pointer to 
 
&lt;a href='http://emacspeak.googlecode.com/files/emacspeak-25.tar.bz2'&gt;Emacspeak
25&lt;/a&gt; release.&lt;/li&gt;
&lt;li&gt;The above is more than a convenience --- it's in line with
good Web architecture. I've  been looking for an alternative to
SourceForge ever since that site decided to turn meaningful
download URLs from the past into obfuscated pointers into their
content management system; this left me with a feeling of having
created Open Source Software only to have it locked away in
someone else's vault with no easy mechanism for end-users to
retrieve what had been released as free software.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Share And Enjoy --- and let's hope we never have download
sites that say &lt;em&gt;Glad to be of service &lt;/em&gt;
as they close behind you with a sigh of a job well done.&lt;/p&gt;
    &lt;/div&gt;
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-2634050357130206777?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/2634050357130206777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/2634050357130206777'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2007/02/emacspeak-downloads-on-googlecode.html' title='Emacspeak Downloads On GoogleCode'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-116680570263571503</id><published>2006-12-22T08:41:00.000-08:00</published><updated>2006-12-22T08:41:42.690-08:00</updated><title type='text'>IBM Software TTS On Ubuntu 6 </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;
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 
&lt;pre&gt;
sudo apt-get install libstdc++2.10-glibc2.2
&lt;/pre&gt;
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.
&lt;/p&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-116680570263571503?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/116680570263571503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/116680570263571503'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/12/ibm-software-tts-on-ubuntu-6.html' title='IBM Software TTS On Ubuntu 6 '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-116610975299685723</id><published>2006-12-14T07:22:00.000-08:00</published><updated>2006-12-14T07:22:33.060-08:00</updated><title type='text'>Web Command Line Tool For Google Patent Search </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;From the &lt;em&gt;every new Google search tool gets a corresponding
Emacspeak wizard dept&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;Google just introduced &lt;a href="http://www.google.com/patents"&gt;Patent Search&lt;/a&gt;
an easy to use search interface for US patents.
In the spirit of the 
&lt;a href="http://emacspeak.blogspot.com/2005/12/emacspeak-web-tricks-web-command-line.html"&gt;Web Command Line&lt;/a&gt;,
Emacspeak now sports a &lt;em&gt;Patent Search From Google&lt;/em&gt;
&lt;a href="http://emacspeak.blogspot.com/2006/10/emacspeak-smart-url-for-google-code.html"&gt;
smart URL&lt;/a&gt;
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:
&lt;/p&gt;


&lt;ul&gt;
&lt;li&gt;Update your working copy of Emacspeak from 
&lt;a href="http://emacspeak.googlecode.com/svn/trunk"&gt;SVN&lt;/a&gt;. The
patent search wizard will be part of the next official Emacspeak
release slated for May 2007.&lt;/li&gt;
&lt;li&gt;Invoke the Smart URL tool by pressing &lt;code&gt;C-e u&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Type the first few characters of the phrase &lt;code&gt;patent
search  from Google&lt;/code&gt; and hit &lt;code&gt;tab&lt;/code&gt; to complete
the name of the smart URL.&lt;/li&gt;
&lt;li&gt;Hit enter, specify what you're searching for and hit enter
again.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;happy inventing --- &lt;/p&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-116610975299685723?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/116610975299685723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/116610975299685723'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/12/web-command-line-tool-for-google.html' title='Web Command Line Tool For Google Patent Search '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-116439077642569619</id><published>2006-11-24T09:52:00.000-08:00</published><updated>2006-11-24T09:52:56.480-08:00</updated><title type='text'>Emacspeak 25.0 (ActiveDog) Unleashed </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;I released Emacspeak 25.0 (ActiveDog) yesterday.
Here are the &lt;a href="http://emacspeak.sf.net/releases/release-25.0.html"&gt;release
notes&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;While trying to release it on Sourceforge I ran into a couple
of show-stoppers --- first off the SourceForge download mechanism
has changed &lt;em&gt;yet again&lt;/em&gt; 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 &lt;code&gt;emacspeak-25.tar.bz2&lt;/code&gt; file --- the
SourceForge mechanism  made it well-nigh impossible to clean up
the 0-sized file.&lt;/p&gt;
&lt;p&gt;Given this mess, I decided to keep things simple by placing
the &lt;a href="http://emacspeak.sf.net/emacspeak-25.tar.bz2"&gt;release on
the Emacspeak site &lt;/a&gt; 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.&lt;/p&gt;

&lt;p&gt;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
&lt;code&gt;make; sudo make install&lt;/code&gt; 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.&lt;/p&gt;
    &lt;/div&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-116439077642569619?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/116439077642569619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/116439077642569619'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/11/emacspeak-250-activedog-unleashed.html' title='Emacspeak 25.0 (ActiveDog) Unleashed '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-116008484563022809</id><published>2006-10-05T14:47:00.000-07:00</published><updated>2006-10-05T14:47:25.710-07:00</updated><title type='text'>Emacspeak  Smart URL For Google Code Search </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Every useful Web tool deserves a Web short-cut.
Google just announced a new service called &lt;a href="http://www.google.com/codesearch"&gt;Code Search&lt;/a&gt;
that lets you  search  the codebases of Open Source
projects. It's a great way of finding source code relevant to
ones programming projects.&lt;/p&gt;

&lt;p&gt;I just checked in a corresponding &lt;code&gt;URL Template&lt;/code&gt;
--- as a reminder, &lt;code&gt;url templates&lt;/code&gt; in Emacspeak are
&lt;em&gt;smart URLs&lt;/em&gt; that provide web short-cuts to create a
 conceptual &lt;em&gt;Smart Web Command Line&lt;/em&gt;.
To use:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Invoke the &lt;code&gt;url template&lt;/code&gt;tool via the default
key-binding &lt;code&gt;C-e u&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Select the &lt;code&gt;Code Search Via Google&lt;/code&gt; tool by typing
&lt;code&gt;cod&lt;/code&gt; and pressing the &lt;code&gt;tab&lt;/code&gt; key.&lt;/li&gt;
&lt;li&gt;Specify the  search query --- see the Google Code Search help
instructions for the types of queries that are allowed.&lt;/li&gt;
&lt;/ul&gt;


    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-116008484563022809?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/116008484563022809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/116008484563022809'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/10/emacspeak-smart-url-for-google-code.html' title='Emacspeak  Smart URL For Google Code Search '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-115945396346366925</id><published>2006-09-28T07:32:00.000-07:00</published><updated>2006-09-28T07:32:43.513-07:00</updated><title type='text'>Using Helix Player From Emacspeak </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;In the spirit of &lt;q&gt;You can never have  sufficiently many
media players&lt;/q&gt;, I now have Helix Player working under
Emacspeak  &lt;em&gt;i.e.,&lt;/em&gt; 
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 &lt;code&gt;mplayer&lt;/code&gt;, and from the minimal
testing I've done so far, Helix Player is successful in those
cases.&lt;/p&gt;

&lt;h3&gt;What Is It?&lt;/h3&gt;
&lt;p&gt;HelixPlayer --- installable on  modern Linux 
distributions as &lt;code&gt;hxplay&lt;/code&gt; from package
&lt;code&gt;HelixPlayer&lt;/code&gt; is the community-supported version of
RealPlayer 10. The well-distributed and documented client,
&lt;code&gt;hxplay&lt;/code&gt;
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 &lt;em&gt;5.1&lt;/em&gt; audio.&lt;/p&gt;

&lt;p&gt;A lesser known set of tools available from Helix ---&lt;a href="http://forms.helixcommunity.org/helix/builds/?category=helixdnaclient"&gt;
Helix DNA Client&lt;/a&gt; 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 (&lt;code&gt;EULA&lt;/code&gt;)
before being taken to the download link.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Binary&lt;/dt&gt;
&lt;dd&gt;&lt;a href="http://forms.helixcommunity.org/helix/builds/index.html?filename=20060926/all_clients-helix-20060926-linux-2.2-libc6-gcc32-i586.tar.gz"&gt;
Sep 26, 2006 build for Linux GCC 3.2&lt;/a&gt;&lt;/dd&gt;
&lt;dt&gt;Sources&lt;/dt&gt;
&lt;dd&gt;&lt;a href="http://forms.helixcommunity.org/helix/builds/index.html?filename=20060927/all_clients-helix-20060927-source.zip"&gt;Source
archive from September 27, 2006&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;

&lt;h3&gt;Using The Binary Distribution&lt;/h3&gt;

&lt;p&gt;Here is what I did you set up the binary distribution on my
Ubuntu 6.0.6 (Dapper) machine&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unpacked  &lt;a href="http://forms.helixcommunity.org/helix/builds/index.html?filename=20060926/all_clients-helix-20060926-linux-2.2-libc6-gcc32-i586.tar.gz"&gt;binary
package&lt;/a&gt;
under &lt;code&gt;/usr/lib&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Created a symlink  &lt;code&gt;/usr/lib/splay&lt;/code&gt; to point to
the directory created  by unpacking the binary package.&lt;/li&gt;
&lt;li&gt;Created the following shell script
&lt;code&gt;/usr/bin/hsplay&lt;/code&gt;
to launch the player:
&lt;pre&gt;
#!/bin/sh
#Use Simple Helix Player:
#
SPLAY_LIB=/usr/lib/splay
export HELIX_LIBS=$SPLAY_LIB
exec /usr/bin/aoss $SPLAY_LIB/splay -iss -s "$@"
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt; The above script assumes you have the &lt;code&gt;alsa-oss&lt;/code&gt;
package nstalled; you will need this to have Helix Player use
ALSA --- something that is essential if you want to be able to
use your sound card with other applications while playing media
streams.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;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 &lt;code&gt;BBC Radio4 LW&lt;/code&gt;
stream, something &lt;code&gt;mplayer&lt;/code&gt;
fails to play on my Ubuntu box.&lt;/p&gt;

    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-115945396346366925?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115945396346366925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115945396346366925'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/09/using-helix-player-from-emacspeak.html' title='Using Helix Player From Emacspeak '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-115811802876722544</id><published>2006-09-12T20:27:00.000-07:00</published><updated>2006-09-12T20:27:08.833-07:00</updated><title type='text'>Emacspeak, Ubuntu And Software Dectalk </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;On the positive side with respect to software synthesis, the
Software Dectalk &lt;em&gt;does&lt;/em&gt;
work out of the box on Ubuntu  --- &lt;em&gt;out of the box&lt;/em&gt; that
is if you first install &lt;code&gt;alsa-oss&lt;/code&gt; the ALSA-&amp;gt;OSS
compatibility layer.
I've updated the Emacspeak speech server for Software Dectalk to
use &lt;code&gt;alsa-oss&lt;/code&gt; where available; performance is not as
responsive as the Emacspeak Viavoice server using the native ALSA
APIs, but it's a good backup option.&lt;/p&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-115811802876722544?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115811802876722544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115811802876722544'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/09/emacspeak-ubuntu-and-software-dectalk.html' title='Emacspeak, Ubuntu And Software Dectalk '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-115798552474387360</id><published>2006-09-11T07:38:00.000-07:00</published><updated>2006-09-11T07:38:44.816-07:00</updated><title type='text'>Emacspeak 24 On Ubuntu 6 </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;h2&gt;The Good, The Bad, And The Painful&lt;/h2&gt;

&lt;dl&gt;
&lt;dt&gt;Good&lt;/dt&gt;
&lt;dd&gt;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).&lt;/dd&gt;
&lt;dt&gt;Bad&lt;/dt&gt;
&lt;dd&gt;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 &lt;code&gt;apt-get&lt;/code&gt;.&lt;/dd&gt;
&lt;dt&gt;Bad&lt;/dt&gt;
&lt;dd&gt;Worse, Ubuntu does not install &lt;code&gt;openssh-server&lt;/code&gt;
--- it limits itself to installing
&lt;code&gt;openssh-client&lt;/code&gt;. This means that you cannot bootstrap
yourself by logging in from another machine until you install
&lt;code&gt;openssh-server&lt;/code&gt; off the network. If there was one
thing I would ask the Ubuntu maintainers, it would be to rectify
this situation.&lt;/dd&gt;
&lt;dt&gt;Painful&lt;/dt&gt;
&lt;dd&gt;In my case, the &lt;code&gt;apt&lt;/code&gt; suite of tools appeared to
have a problem --- they died saying
&lt;code&gt;/var/lib/dpkg/available: no such file or
directory&lt;/code&gt;. Googling showed this to be a known problem with
&lt;code&gt;apt&lt;/code&gt; and the fix is to run &lt;code&gt;dselect
update&lt;/code&gt; -- but if you're new to Debian/ubuntu,  this is
less than obvious.&lt;/dd&gt;
&lt;dt&gt;Good&lt;/dt&gt;
&lt;dd&gt;Once you overcome the above, &lt;code&gt;apt-get&lt;/code&gt; 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.&lt;/dd&gt;
&lt;dt&gt;Painful&lt;/dt&gt;
&lt;dd&gt;Note that you should install &lt;code&gt;tcl8.3&lt;/code&gt; and
&lt;code&gt;tclx8.3&lt;/code&gt; --- 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 &lt;code&gt;tcl&lt;/code&gt; (extended TCL)
shell. This is something that will have to be handled by
Emacspeak in the future.&lt;/dd&gt;
&lt;dt&gt;Good&lt;/dt&gt;
&lt;dd&gt;I was able to get everything I needed (and more) installed
using a combination of &lt;code&gt;apt-get&lt;/code&gt; and
&lt;code&gt;aptitude&lt;/code&gt;.&lt;/dd&gt;
&lt;dt&gt;Bad&lt;/dt&gt;
&lt;dd&gt;The IBM TTS engine no longer works --- under FC3 and friends,
you needed to install package &lt;code&gt;libstdc++-compat&lt;/code&gt; 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 &lt;code&gt;libstdc++-compat&lt;/code&gt;,
converting it via &lt;code&gt;alien&lt;/code&gt; and installing the result
produces a segfault when you run the TTS engine.&lt;/dd&gt;
&lt;dt&gt;Bad&lt;/dt&gt;
&lt;dd&gt;For the same reason, the old command-line
&lt;code&gt;trplayer&lt;/code&gt; will also not work on Ubuntu 6.0.
This is not as painful --- since mplayer works --- though I had
to build &lt;code&gt;mplayer&lt;/code&gt; from source.
It would be nice to create a command-line player on top of the
HelixPlayer code base.
At present, the missing &lt;code&gt;trplayer&lt;/code&gt; means that the
&lt;code&gt;etc/rivo.pl&lt;/code&gt; provided by emacspeak no longer works.
You can use &lt;code&gt;mplayer&lt;/code&gt; to  convert
&lt;code&gt;realaudio&lt;/code&gt; to mp3; however &lt;code&gt;mplayer&lt;/code&gt;does
not have a command-line option to specify the duration of
playback,
something that  script &lt;code&gt;etc/rivo.pl&lt;/code&gt; needs.&lt;/dd&gt;

&lt;/dl&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-115798552474387360?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115798552474387360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115798552474387360'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/09/emacspeak-24-on-ubuntu-6.html' title='Emacspeak 24 On Ubuntu 6 '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-115765095083923408</id><published>2006-09-07T10:42:00.000-07:00</published><updated>2006-09-07T10:42:30.936-07:00</updated><title type='text'>Google Archive News Search </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;To mark the arrival of Google News Archive search, I checked
in a &lt;em&gt;Archive News Search&lt;/em&gt; 
&lt;code&gt;url-template&lt;/code&gt; yesterday morning. To use it, hit
&lt;code&gt;C-e u&lt;/code&gt; followed by &lt;code&gt;arc tab&lt;/code&gt; and specify
your search term.
&lt;/p&gt;
&lt;p&gt;The above is checked into the SVN repository at &lt;a href="http://emacspeak.googlecode.com/svn"&gt;Emacspeak
GoogleCode&lt;/a&gt;.
&lt;/p&gt;

    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-115765095083923408?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115765095083923408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115765095083923408'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/09/google-archive-news-search.html' title='Google Archive News Search '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-115655243678974508</id><published>2006-08-25T17:33:00.000-07:00</published><updated>2006-08-25T17:33:56.843-07:00</updated><title type='text'>Update: Emacspeak On Google Code Hosting </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;
Some additional goodies as a consequence of the move to SVN:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://emacspeak.googlecode.com/svn/tags"&gt;SVN
Tags&lt;/a&gt; contains snapshots of prior releases.&lt;/li&gt;
&lt;li&gt;Future releases will come with an SVN Revision number that
allows one to reliably recreate a released version.&lt;/li&gt;
&lt;/ul&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-115655243678974508?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115655243678974508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115655243678974508'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/08/update-emacspeak-on-google-code.html' title='Update: Emacspeak On Google Code Hosting '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-115551499254984501</id><published>2006-08-13T17:23:00.000-07:00</published><updated>2006-08-13T17:23:12.613-07:00</updated><title type='text'>Emacspeak Codebase Via Subversion From GoogleCode </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;
I've checked in the Emacspeak codebase into the Subversion
repository provided by &lt;a href="http://code.google.com/hosting"&gt;Google Project Hosting
&lt;/a&gt;.
The project page is &lt;a href="http://code.google.com/p/emacspeak"&gt;Emacspeak at GoogleCode&lt;/a&gt;.
You can find Emacspeak --- complete  with its code history going
back to the point where I started using CVS at
&lt;a href="http://emacspeak.googlecode.com/svn/"&gt;Emacspeak SVN
Repository&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;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 
&lt;a href="http://code.google.com/p/emacspeak/source"&gt;
Emacspeak SVN&lt;/a&gt;.
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.&lt;/p&gt;
&lt;p&gt;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: 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;svn checkout http://emacspeak.googlecode.com/svn/trunk/
emacspeak &lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The above will create a directory called
&lt;code&gt;emacspeak&lt;/code&gt; with the code under it; obviously, you
should do this somewhere different from where you have  your
current copy of emacspeak.&lt;/li&gt;
&lt;li&gt;For now, I recommend renaming the directory created in the
above step to &lt;code&gt;svn-emacspeak&lt;/code&gt; so that you can easily
tell  which snapshot you're looking at. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Note that
reading these is not a replacement for learning about SVN ---
there is an excellent on-line book available at 
&lt;a href="http://svnbook.red-bean.com/"&gt;SVN Manual&lt;/a&gt;.&lt;/p&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-115551499254984501?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115551499254984501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115551499254984501'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/08/emacspeak-codebase-via-subversion-from.html' title='Emacspeak Codebase Via Subversion From GoogleCode '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-115521910331821233</id><published>2006-08-10T07:11:00.000-07:00</published><updated>2006-08-10T07:11:43.366-07:00</updated><title type='text'>Zipping Through Web Pages </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;h2&gt;Zipping Through Web Pages With Emacspeak/W3&lt;/h2&gt;

&lt;p&gt;
I just added an experimental &lt;em&gt;zip through Web pages&lt;/em&gt;
shortcut to &lt;code&gt;emacspeak-w3&lt;/code&gt;.
The command is called &lt;code&gt;emacspeak-w3-speak-next-block&lt;/code&gt;
and is bound to &lt;code&gt;z&lt;/code&gt; in all W3 buffers.
It is useful for quickly moving through Web pages that have
logically separate content units in &lt;em&gt;separate blocks&lt;/em&gt;
where a &lt;em&gt;block&lt;/em&gt; is one of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTML &lt;code&gt;div&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;HTML tables.&lt;/li&gt;
&lt;li&gt;HTML &lt;code&gt;p&lt;/code&gt; elements.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In general this provides an effective means of skimming many
large Web pages.&lt;/p&gt;

    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-115521910331821233?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115521910331821233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115521910331821233'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/08/zipping-through-web-pages.html' title='Zipping Through Web Pages '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-115370169395797389</id><published>2006-07-23T17:41:00.000-07:00</published><updated>2006-08-10T09:36:15.143-07:00</updated><title type='text'>Summary Of Emacspeak Features Compared To Other Alternatives </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;div&gt;
&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;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.
&lt;/p&gt;
&lt;h2&gt;
&lt;a name="sec-1"&gt;1 Emacspeak And Speechdel  -*- mode:org -*-&lt;/a&gt;
&lt;/h2&gt;
&lt;h3&gt;
&lt;a name="sec-2"&gt;1.1 Background&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;
&lt;a href="http://emacspeak.sf.net"&gt;Emacspeak&lt;/a&gt; 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 
&lt;a href="http://emacspeak.sf.net/applications.html"&gt;speech-enabled applications list&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
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 &lt;b&gt;do everything&lt;/b&gt; 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.
&lt;/p&gt;
&lt;h3&gt;
&lt;a name="sec-3"&gt;1.2 Speech Dispatcher (SpeechD)&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
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
&lt;a href="http://www.freebsoft.org/speechd-el"&gt;speechdel&lt;/a&gt; is the result.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;h3&gt;
&lt;a name="sec-4"&gt;1.3 Emacspeak Features Not Found In SpeechDel&lt;/a&gt;
&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
Emacspeak implements Aural CSS &lt;a href="http://www.w3.org/Press/1998/CSS2-REC"&gt;ACSS&lt;/a&gt;, and uses it to  provides
the aural analog of &lt;code&gt;font-lock&lt;/code&gt;.
&lt;/li&gt;
&lt;li&gt;
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-&amp;gt;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.
&lt;/li&gt;
&lt;li&gt;
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 &lt;code&gt;dired-mode&lt;/code&gt; --- 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 &lt;b&gt;Gud&lt;/b&gt; buffer.
&lt;/li&gt;
&lt;li&gt;
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.
&lt;/li&gt;
&lt;li&gt;
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:
&lt;ol&gt;
&lt;li&gt;
WebSearch module --- prompts for query and processes
response to focus on the results.
&lt;/li&gt;
&lt;li&gt;
XSLT pre-processing: Allows pre-processing of complex
pages before rendering via W3. Used to enable &lt;b&gt;smart&lt;/b&gt;
screen-scrapers using XPath.
&lt;/li&gt;
&lt;li&gt;
URL-Tempaltes: Originally motivated by &lt;code&gt;webjump.el&lt;/code&gt;, 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".
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
Customization via Custom, including additional
keymaps. Comes with additional keymap files for the Linux
console to enable &lt;code&gt;hyper&lt;/code&gt;, &lt;code&gt;super&lt;/code&gt;, and &lt;code&gt;alt&lt;/code&gt; prefix
keymaps.
&lt;/li&gt;
&lt;li&gt;
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!
&lt;/li&gt;
&lt;/ol&gt;
8)Finally, note that &lt;b&gt;all&lt;/b&gt; modules (except the core) are loaded
on demand.All code is compiled with &lt;code&gt;byte-compile-dynamic&lt;/code&gt; 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.
&lt;p class="author"&gt; Author: TV Raman
&lt;a href="mailto:raman@users.sf.net"&gt;&amp;lt;raman@users.sf.net&amp;gt;&lt;/a&gt;
&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-115370169395797389?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115370169395797389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115370169395797389'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/07/summary-of-emacspeak-features-compared.html' title='Summary Of Emacspeak Features Compared To Other Alternatives '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-115341852989897851</id><published>2006-07-20T11:02:00.000-07:00</published><updated>2006-07-20T11:02:09.920-07:00</updated><title type='text'>Emacspeak And Accessible Search Via Google </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Google  has released an early experiment that favours easy to
read Web content --- 
&lt;a href="http://googleblog.blogspot.com/2006/07/finding-easy-to-read-web-content_20.html"&gt;checkout
the relevant Blog post here&lt;/a&gt;.
Emacspeak has always had a set of Google Websearch tools --- and
this set has now been enhanced with a shortcut to &lt;a href="http://labs.google.com/accessible"&gt;Accessible Search&lt;/a&gt;.
Below, I'll summarize the set of Google Websearch tools in
Emacspeak.&lt;/p&gt;

&lt;p&gt;All Emacspeak Websearch tools are reached via the key-sequence
&lt;code&gt;C-e?&lt;/code&gt;. Specific search tools are selected by
single-letter keystrokes following &lt;code&gt;C-e?&lt;/code&gt; --- I'll
enumerate some of these below.&lt;/p&gt;

&lt;dl&gt;
&lt;dt&gt;i&lt;/dt&gt;
&lt;dd&gt;Accessible Search --- Google Web Search that favors
accessible content.&lt;/dd&gt;
&lt;dt&gt;g&lt;/dt&gt;
&lt;dd&gt;Vanila Google Search.&lt;/dd&gt;
&lt;dt&gt;space&lt;/dt&gt;
&lt;dd&gt;Google &lt;em&gt;I'm Feeling Lucky&lt;/em&gt; --- takes you directly to
the first search hit.&lt;/dd&gt;
&lt;dt&gt;n&lt;/dt&gt;
&lt;dd&gt;Google News Search.&lt;/dd&gt;
&lt;dt&gt;e&lt;/dt&gt;
&lt;dd&gt;EmapSpeak Via Google Maps.&lt;/dd&gt;
&lt;dt&gt;u&lt;/dt&gt;
&lt;dd&gt;Google Usenet Search.&lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;Note that in addition, module
&lt;code&gt;emacspeak-url-template&lt;/code&gt; provides a number of Google
tools as &lt;em&gt;smart URLs.&lt;/em&gt;&lt;/p&gt;

    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-115341852989897851?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115341852989897851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115341852989897851'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/07/emacspeak-and-accessible-search-via.html' title='Emacspeak And Accessible Search Via Google '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-115112691863662574</id><published>2006-06-23T22:28:00.000-07:00</published><updated>2006-06-23T22:28:38.686-07:00</updated><title type='text'>ALSA And Emacspeak: Closing The Legacy Loop With ALSA-OSS </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;And now, with ALSA working well with software TTS and
cooperating with ALSA_aware streaming applications 
such as &lt;code&gt;mplayer&lt;/code&gt; it's time to close the legacy loop
for those few applications that still have the old
&lt;code&gt;OSS&lt;/code&gt; API hard-wired.&lt;/p&gt;
&lt;p&gt;One such useful application is &lt;code&gt;trplayer&lt;/code&gt; --- the
command-line &lt;em&gt;real player&lt;/em&gt; that has not been updated in
over 4 years.
For the most part, the functionality provided by
&lt;code&gt;trplayer&lt;/code&gt; is subsumed by the newer --- and actively
maintained --- &lt;code&gt;mplayer&lt;/code&gt; but it's still useful to have
&lt;code&gt;trplayer&lt;/code&gt; for times when &lt;code&gt;mplayer&lt;/code&gt; hits
gliches with slow-responding RTSP streams.&lt;/p&gt;
&lt;p&gt;The ALSA way of handling such legacy applications is through
the &lt;em&gt;ALSA OSS&lt;/em&gt; emulation layer; Emacspeak now contains a
script &lt;code&gt;etc/atrplayer&lt;/code&gt; that invokes
&lt;code&gt;trplayer&lt;/code&gt; via &lt;code&gt;aoss&lt;/code&gt;.  Incidentally for
the more observant Emacspeak user running out of CVS, script
&lt;code&gt;atrplayer&lt;/code&gt; is not new; it has been around for about a
year, but until now it used command &lt;code&gt;vsound&lt;/code&gt; to stream
the converted audio to command &lt;code&gt;aplay&lt;/code&gt;. I needed to do
this until ALSA 1.0.11 since &lt;code&gt;trplayer&lt;/code&gt; used to fail
sporadically if run through the &lt;code&gt;AOSS&lt;/code&gt; 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 &lt;strong&gt;all of this&lt;/strong&gt; will vary; so
let me end with the usual disclaimer --- if it breaks, you get to
keep both pieces.&lt;/p&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-115112691863662574?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115112691863662574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115112691863662574'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/06/alsa-and-emacspeak-closing-legacy-loop.html' title='ALSA And Emacspeak: Closing The Legacy Loop With ALSA-OSS '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-115072588866693831</id><published>2006-06-19T07:04:00.000-07:00</published><updated>2006-06-19T07:04:48.726-07:00</updated><title type='text'>SpeakFreely, Software TTS And ALSA </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;
In &lt;a href="http://emacspeak.blogspot.com/2006/06/emacspeak-tts-alsa-and-asym.html"&gt;ALSA
and ASYM&lt;/a&gt;
I mentioned that &lt;code&gt;speakfreely&lt;/code&gt; 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
&lt;code&gt;speakfreely&lt;/code&gt; uses OSS.&lt;/p&gt;
&lt;p&gt;Getting &lt;code&gt;speakfreely&lt;/code&gt; working with ALSA without
losing software TTS required the following steps;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Retrieve the latest  tarball 
&lt;code&gt;speak_freely-7.6a.tar.gz&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Uncomment the &lt;code&gt;ALSA&lt;/code&gt; specific line in its
&lt;code&gt;Makefile&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;In file &lt;code&gt;audio_alsa.c&lt;/code&gt;, change the default audio
device from &lt;code&gt;plughw:0,0&lt;/code&gt; to &lt;code&gt;default&lt;/code&gt;.
Without this change, speakfreely will try to  access the sound
card directly; setting it to &lt;code&gt;default&lt;/code&gt;
on line 41:
&lt;pre&gt;
char *devAudioOutput = "default";
&lt;/pre&gt;
matches things up with the &lt;code&gt;pcm.default&lt;/code&gt; that was
configured in the &lt;code&gt;.asoundrc&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With this, you can now talk using &lt;code&gt;speakfreely&lt;/code&gt; and
continue to use software TTS.
&lt;/p&gt;


    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-115072588866693831?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115072588866693831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/115072588866693831'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/06/speakfreely-software-tts-and-alsa.html' title='SpeakFreely, Software TTS And ALSA '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-114963944798906198</id><published>2006-06-06T17:17:00.000-07:00</published><updated>2006-06-06T17:17:28.043-07:00</updated><title type='text'>Emacspeak, TTS, Alsa And ASYM </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;
This is a continuation of the earlier thread about using ALSA for
software TTS using DMix ---
see &lt;a href="http://emacspeak.blogspot.com/2006/05/asoundrc-parameters-for-reliably-using.html"&gt;ASoundrc
And Emacspeak&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I've now updated the CVS version of &lt;code&gt;ASoundRC&lt;/code&gt; to
use the &lt;code&gt;ASYM&lt;/code&gt;
plugin for the default ALSA device. 
The &lt;code&gt;ASYM&lt;/code&gt; plugin allows you to configure both the
playback and capture device, which removes the annoyance of
having to specify an ALSA device when calling
&lt;code&gt;arecord&lt;/code&gt; --- as used to be the case when using
&lt;code&gt;DMIX&lt;/code&gt; in the &lt;code&gt;pcm.default&lt;/code&gt; device.&lt;/p&gt;

&lt;p&gt;Possible Caveats:
I am having trouble getting &lt;code&gt;speakfreely&lt;/code&gt; to work
reliably --- I've used  it with ALSA in the past --- though I'm
not sure if the &lt;code&gt;ASYM&lt;/code&gt; plugin is the culprit.&lt;/p&gt;


    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-114963944798906198?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114963944798906198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114963944798906198'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/06/emacspeak-tts-alsa-and-asym.html' title='Emacspeak, TTS, Alsa And ASYM '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-114834483483433408</id><published>2006-05-22T17:40:00.000-07:00</published><updated>2006-05-22T17:40:34.880-07:00</updated><title type='text'>ASoundrc Parameters For Reliably Using ALSA Powered Software TTS </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt; 
Advanced Linux Sound Architecture 
&lt;a href="http://www.alsa-project.org/"&gt;
ALSA&lt;/a&gt; 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.&lt;/p&gt;
&lt;p&gt;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 &lt;code&gt;asoundrc&lt;/code&gt; file to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Enable the &lt;code&gt;DMix&lt;/code&gt; plugin to enable software mixing
of multiple channels of audio.&lt;/li&gt;
&lt;li&gt;To configure the various parameters ALSA itself uses.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;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:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Collect a  list of sound cards on which the
&lt;code&gt;asoundrc&lt;/code&gt; provided with Emacspeak works as
expected.&lt;/li&gt;
&lt;li&gt;In the hope that the wider ALSA community discovers and helps
flesh out this material;
my hope is that 
the ALSA community has more insight into how these settings
work.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the above, &lt;em&gt;works effectively&lt;/em&gt; means the
following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The TTS engine speaks without perceptible stuttering or other
audio artifacts.&lt;/li&gt;
&lt;li&gt;The engine is responsive with respect to starting and
stopping speech; especially when typing fast at high speech
rates.&lt;/li&gt;
&lt;li&gt;The TTS engine does not interfere with other alsa-enabled
applications, e.g. &lt;code&gt;mplayer&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At the end of this entry, you can find the relevant section
from the    &lt;code&gt;asoundrc&lt;/code&gt; file from the Emacspeak
distribution, with comments indicating which sound cards perform
well.
An example of a card that &lt;em&gt;does not&lt;/em&gt; work well with these
settings is the Audigy-LS from Creative; the TTS engine works on
that card, but performs degrades:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;mplayer cannot use the audio device; (aplay and mpg321 are
able to share the card with the TTS engine.)&lt;/li&gt;
&lt;li&gt;Speech does not stop immediately as on the soundcards
enumerated in the &lt;code&gt;asoundrc&lt;/code&gt; file.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;
  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
    }
}
&lt;/pre&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-114834483483433408?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114834483483433408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114834483483433408'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/05/asoundrc-parameters-for-reliably-using.html' title='ASoundrc Parameters For Reliably Using ALSA Powered Software TTS '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-114666709268320351</id><published>2006-05-03T07:38:00.000-07:00</published><updated>2006-05-03T07:38:17.460-07:00</updated><title type='text'>Listening To The Web Through A Mobile Lens </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;
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 
&lt;em&gt;mobile lens&lt;/em&gt; via the
&lt;a href="http://www.google.com/gwt/n"&gt;
Google Mobile&lt;/a&gt; transcoder.&lt;/p&gt;
&lt;p&gt;
Here are a few convenient means of using the above within the
Emacspeak Audio Desktop:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;While browsing the Web using &lt;code&gt;w3&lt;/code&gt;,
press &lt;code&gt;t&lt;/code&gt; on a link (command:
&lt;code&gt;emacspeak-w3-transcode-via-google&lt;/code&gt;)
to view that link through the mobile transcoder.&lt;/li&gt;
&lt;li&gt;Note that all links in the resulting mobile view
automatically go through the transcoder.&lt;/li&gt;
&lt;li&gt;To  undo the effect of automatically viewing links in the
mobile view through the transcoder, use &lt;code&gt;t&lt;/code&gt; with a
&lt;em&gt;interactive prefix argument&lt;/em&gt;
i.e., press &lt;code&gt;C-u t&lt;/code&gt; to follow a link to view it in its
original form.&lt;/li&gt;
&lt;li&gt;Additionally, I bind command
&lt;code&gt;emacspeak-wizards-google-transcode&lt;/code&gt;
to a convenient key so that I can launch Web sites using the
mobile view.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;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, &lt;strong&gt;this is &lt;em&gt;Mobile&lt;/em&gt;
content&lt;/strong&gt;.
&lt;/p&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-114666709268320351?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114666709268320351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114666709268320351'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/05/listening-to-web-through-mobile-lens.html' title='Listening To The Web Through A Mobile Lens '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-114662907863308710</id><published>2006-05-02T21:04:00.000-07:00</published><updated>2006-05-02T21:04:38.680-07:00</updated><title type='text'>Announcing Emacspeak 24.0 (LiveDog) </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;strong&gt;For Immediate Release&lt;/strong&gt;
    &lt;p&gt;
      San Jose, CA, (May 3,  2006)&lt;br/&gt;
      Emacspeak-Alive:   --- Bringing Live  Access For  Enlightened Users&lt;br/&gt;
      --Zero cost of ownership makes priceless software
    affordable!&lt;/p&gt;

&lt;h3&gt;Major Enhancements&lt;/h3&gt;
    &lt;ol&gt;
&lt;li&gt;  emacspeak-muse: Speech-enabled Muse Mode&lt;/li&gt;
&lt;li&gt;  emacspeak-ruby: Speech-enabled Ruby Mode&lt;/li&gt;
&lt;li&gt;  emacspeak-m-player: Updated for new MPlayer&lt;/li&gt;
&lt;li&gt;  emacspeak-sudoku.el: Speech-enabled SuDoKu&lt;/li&gt;
&lt;li&gt;  New Option: tts-strip-octals&lt;/li&gt;
&lt;li&gt;  emacspeak-keymap.el Updated keybindings&lt;/li&gt;
&lt;li&gt;  lisp/atom-blogger.el Light-weight blogging tool&lt;/li&gt;
&lt;li&gt;  emacspeak-atom-blogger: Speech-enables above&lt;/li&gt;
&lt;li&gt;  voice-setup.el Custom support&lt;/li&gt;
&lt;li&gt; Multispeech related patches&lt;/li&gt;
&lt;li&gt; User contributed patches&lt;/li&gt;
&lt;/ol&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-114662907863308710?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114662907863308710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114662907863308710'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/05/announcing-emacspeak-240-livedog.html' title='Announcing Emacspeak 24.0 (LiveDog) '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-114204420283018511</id><published>2006-03-10T18:30:00.000-08:00</published><updated>2006-03-10T18:30:02.880-08:00</updated><title type='text'>W3: Minor Patch To Handle  Content-Type application/xhtml+xml </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;
Here is a minor patch to w3.el to allow it to handle content-type
&lt;code&gt;application/xhtml+xml&lt;/code&gt;.
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.&lt;/p&gt;
&lt;pre&gt;
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)
&lt;/pre&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-114204420283018511?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114204420283018511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114204420283018511'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/03/w3-minor-patch-to-handle-content-type.html' title='W3: Minor Patch To Handle  Content-Type application/xhtml+xml '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-114187119760134089</id><published>2006-03-08T18:26:00.000-08:00</published><updated>2006-03-08T18:26:37.636-08:00</updated><title type='text'>Blogging From Emacs: Additional Atom-Blogger Documentation </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Thanks to Jason  Dunsmore 
for writing up some additional 
&lt;a href="http://phototechnic.blogspot.com/2006/03/using-atom-blogger-with-emacs-to-post.html"&gt;
step-by-step documentation&lt;/a&gt;
on using &lt;code&gt;atom-blogger&lt;/code&gt;.
&lt;/p&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-114187119760134089?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114187119760134089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114187119760134089'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/03/blogging-from-emacs-additional-atom.html' title='Blogging From Emacs: Additional Atom-Blogger Documentation '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-114074992344461641</id><published>2006-02-23T18:58:00.000-08:00</published><updated>2006-02-23T18:58:43.536-08:00</updated><title type='text'>Emacspeak: Connecting Lynx And W3 </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;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 &lt;code&gt;Host:&lt;/code&gt; HTTP header. Additionally,
&lt;code&gt;HTTPS&lt;/code&gt; authentication sometimes fails mysteriously in
the presence of redirects.&lt;/p&gt;

&lt;p&gt;In many of these cases, &lt;code&gt;lynx&lt;/code&gt; 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.&lt;/p&gt;

&lt;p&gt;An effective solution to this problem is to use
&lt;code&gt;lynx&lt;/code&gt; 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.&lt;/p&gt;

&lt;H4&gt;The &lt;code&gt;lynx-site.cfg&lt;/code&gt; File&lt;/H4&gt;

&lt;p&gt;This is where you add site-specific configurations.
Here are the lines I have in my &lt;code&gt;lynx-site.cfg &lt;/code&gt; to
integrate &lt;code&gt;lynx&lt;/code&gt; and Emacs.
Before you use any of this, make sure you have executed &lt;code&gt;M-x
server-start&lt;/code&gt; in your running Emacs, and make sure that all
is well by experimenting with &lt;code&gt;emacsclient&lt;/code&gt; to ensure
that external programs can hand-off editting tasks to the
currently running Emacs.&lt;/p&gt;


&lt;pre&gt;
#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
&lt;/pre&gt;
&lt;p&gt;Below, I'll describe what each of the above lines do:&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt; &lt;code&gt;DOWNLOADER:BKS Unpack:bks.pl  %s %s:TRUE &lt;/code&gt;&lt;br/&gt;
The above line creates an additional item in the &lt;em&gt;download
menu&lt;/em&gt; that invokes the BookShare unpacker.
Script &lt;code&gt;bks-unpack.pl&lt;/code&gt; invokes the BookShare unpack
tool with the appropriate options.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PRINTER:Edit:emacsclient %s:TRUE&lt;/code&gt;&lt;br/&gt;
This creates an &lt;em&gt;Edit&lt;/em&gt; item in the &lt;em&gt;print menu&lt;/em&gt;.
Invoking this menu item causes the current page to be handed off
to Emacs for editting.
If you want to edit the source, first switch to &lt;em&gt;source
view&lt;/em&gt; by hitting &lt;code&gt;\&lt;/code&gt; before invoking print.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;KEYMAP:???:EDITTEXTAREA	# use external editor to
edit a form textarea&lt;/code&gt;&lt;br/&gt;
This sets lynx up so that when editting a multiline textarea, you
can hand off the editting job to Emacs. This is particularly
useful for editting Wiki pages. Replace the &lt;code&gt;??&lt;/code&gt; with
the desired key sequence.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PRETTYSRC:TRUE&lt;br/&gt;
SOURCE_CACHE:MEMORY&lt;/code&gt;&lt;br/&gt;
The above two settings make the edit source functionality more
pleasant to use.&lt;/li&gt;
&lt;li&gt; &lt;code&gt;PRINTER:W3:emacsclient -e '(w3-open-local
"%s")':TRUE&lt;/code&gt;&lt;br/&gt;
The above creates a &lt;em&gt;W3&lt;/em&gt; menu item in the &lt;em&gt;print
menu&lt;/em&gt;. Invoking this  causes Emacs/W3 to display the current
page --- again switch to &lt;code&gt;source view&lt;/code&gt; before invoking
this so that Emacs/W3 gets handed the HTML markup.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Script &lt;code&gt;bks-unpack.pl&lt;/code&gt;&lt;/h4&gt;
&lt;pre&gt;
#!/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&amp;gt;&amp;amp;- 2&amp;gt;&amp;amp;- &amp;amp;);
&lt;/pre&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-114074992344461641?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114074992344461641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114074992344461641'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/02/emacspeak-connecting-lynx-and-w3.html' title='Emacspeak: Connecting Lynx And W3 '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-114057538920932076</id><published>2006-02-21T18:29:00.000-08:00</published><updated>2006-02-21T18:29:49.256-08:00</updated><title type='text'>Emacspeak, SuDoKu And History </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Here is a small enhancement to &lt;a href="http://emacspeak.blogspot.com/2006/02/playing-sudoku-using-auditory-feedback.html"&gt;playing
SuDoKu&lt;/a&gt; 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.&lt;/p&gt;
&lt;p&gt;Commands &lt;code&gt;emacspeak-sudoku-history-push&lt;/code&gt; bound to
&lt;code&gt;m&lt;/code&gt; and  &lt;code&gt;emacspeak-sudoku-history-pop&lt;/code&gt;
bound to &lt;code&gt;M&lt;/code&gt; allow one to &lt;em&gt;mark&lt;/em&gt; 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.&lt;/p&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-114057538920932076?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114057538920932076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114057538920932076'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/02/emacspeak-sudoku-and-history.html' title='Emacspeak, SuDoKu And History '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-114048639986049011</id><published>2006-02-20T17:46:00.000-08:00</published><updated>2006-02-20T17:46:39.903-08:00</updated><title type='text'>Emacspeak And Voice Locking Using Aural CSS </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;

&lt;p&gt;This is slightly reformatted from what was posted to the
Emacspeak mailing list as separate message.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Emacspeak defines a number of voice overlays such as
&lt;code&gt;voice-bolden&lt;/code&gt;, and &lt;code&gt;voice-lighten&lt;/code&gt; that can be applied to a
given voice to change what it sounds like.&lt;/li&gt;

&lt;li&gt;Voice overlays are defined in terms of Aural CSS (&lt;a href="http://www.w3.org/tr/css2/aural.html"&gt;ACSS&lt;/a&gt;) to
keep them independent of a specific TTS engine.&lt;/li&gt;

&lt;li&gt;For each such overlay there is a corresponding
&lt;code&gt;&amp;lt;overlay-name&amp;gt;-settings&lt;/code&gt; variable that can be customized via
custom.&lt;/li&gt;

&lt;li&gt;The numbers in &lt;code&gt;voice-bolden-settings as an example&lt;/code&gt;:&lt;/li&gt;
&lt;/ol&gt;

&lt;table border="2" cellpadding="5"&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Setting&lt;/th&gt;
      &lt;th&gt;Value&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;family&lt;/td&gt;
      &lt;td&gt;nil&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;average-pitch&lt;/td&gt;
      &lt;td&gt;1&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;pitch-range&lt;/td&gt;
      &lt;td&gt;6&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;stress&lt;/td&gt;
      &lt;td&gt;6&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;richness&lt;/td&gt;
      &lt;td&gt;nil&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;punctuation&lt;/td&gt;
      &lt;td&gt;nil&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
Unset values (&lt;code&gt;nil&lt;/code&gt;) show up as "unspecified" in the customize
interface.

&lt;ol&gt;
&lt;li&gt;Do not directly customize &lt;code&gt;voice-bolden&lt;/code&gt; and friends, instead
customize the corresponding &lt;code&gt;voice-bolden-settings&lt;/code&gt;, since that
ensures that all voices that are defined in terms of
&lt;code&gt;voice-bolden&lt;/code&gt; get correctly updated.&lt;/li&gt;

&lt;li&gt;Discovering what to customize:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Command &lt;code&gt;emacspeak-show-personality-at-point&lt;/code&gt; (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:&lt;/p&gt;

&lt;p&gt;Put point on a comment line, and hit &lt;code&gt;C-e M-v&lt;/code&gt;:
you will hear&lt;/p&gt;

&lt;pre class="example"&gt;
Personality emacspeak-voice-lock-comment-personality
Face font-lock-comment-delimiter-face
&lt;/pre&gt;

&lt;p&gt;Describe-variable of &lt;code&gt;emacspeak-voice-lock-comment-personality&lt;/code&gt; gives:&lt;/p&gt;

&lt;pre class="example"&gt;
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.

&lt;/pre&gt;


&lt;h3&gt;How It All Works&lt;/h3&gt;

&lt;p class="first"&gt;Here is a brief explanation of the connection between
&lt;code&gt;voice-bolden&lt;/code&gt; and its associated &lt;code&gt;voice-bolden-settings&lt;/code&gt;.&lt;/p&gt;


&lt;ol&gt;
&lt;li&gt;Voice  settings are initially in &lt;code&gt;voice-bolden-settings&lt;/code&gt; which is a list
of numbers.&lt;/li&gt;

&lt;li&gt;That list of numbers needs to be translated to appropriate
device-specific codes to send to the TTS engine.&lt;/li&gt;

&lt;li&gt;You do not want to do this translation &lt;em&gt;each&lt;/em&gt; time you
speak something.&lt;/li&gt;

&lt;li&gt;So when &lt;code&gt;voice-bolden&lt;/code&gt; is defined, the definition happens in
two steps:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;The list of settings is stored away in
&lt;code&gt;voice-bolden-settings&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;A corresponding voice-name is generated ---
&lt;code&gt;acss-a&amp;lt;n&amp;gt;-p&amp;lt;n&amp;gt;-r&amp;lt;n&amp;gt;-s&amp;lt;n&amp;gt;&lt;/code&gt; and the corresponding control codes to
send to the device are stored away in a hash-table keyed by the above symbol.&lt;/li&gt;

&lt;li&gt;Finally, &lt;code&gt;voice-bolden&lt;/code&gt; is assigned the above symbol.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;What this gives is:&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;The ability to customize the voice via custom by editting
the list of numbers in &lt;code&gt;voice-bolden-settings&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;When that list is editted, &lt;code&gt;voice-bolden&lt;/code&gt; is arranged to be
updated automatically.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Other Useful Commands&lt;/h3&gt;
&lt;p&gt;In addition, commands
&lt;code&gt;emacspeak-wizards-generate-voice-sampler&lt;/code&gt; can be
useful in generating a buffer that shows what the various ACSS
settings sound like.
Command &lt;code&gt;emacspeak-wizards-voice-sampler&lt;/code&gt; can be used
to apply a specific voice to a region of text while experimenting
with the various settings.&lt;/p&gt;

    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-114048639986049011?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114048639986049011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/114048639986049011'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/02/emacspeak-and-voice-locking-using.html' title='Emacspeak And Voice Locking Using Aural CSS '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-113970989256663836</id><published>2006-02-11T18:04:00.000-08:00</published><updated>2006-02-11T18:04:52.580-08:00</updated><title type='text'>Playing SuDoKu Using Auditory Feedback </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Emacspeak speech-enables &lt;em&gt;SuDoKu&lt;/em&gt; implemented  by &lt;a href="http://www.columbia.edu/~jr2075/elisp/index.html"&gt;sudoku.el&lt;/a&gt;.
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
&lt;em&gt;conversational gestures&lt;/em&gt; by speech-enabling the game of
&lt;code&gt;Tetris&lt;/code&gt; --- see  &lt;a href="http://emacspeak.sourceforge.net/raman/publications/assets-98/paper.pdf"&gt;Conversational
Gestures For The Audio Desktop&lt;/a&gt; from Assets 1998.&lt;/p&gt;


&lt;h4&gt;Advicing Interactive Commands&lt;/h4&gt;
&lt;p&gt;As with speech-enabling any Emacs module,
&lt;code&gt;emacspeak-sudoku&lt;/code&gt; &lt;em&gt;advices&lt;/em&gt; 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.&lt;/p&gt;

&lt;h4&gt;Additional Interactive Commands&lt;/h4&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Here are the set of additional interactive commands that
needed to be added in order to be able to play the game
effectively.&lt;/p&gt;

&lt;dl&gt;
&lt;dt&gt;&lt;code&gt;r&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Speak current row.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;c&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Speak current column&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;s&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Speak current sub-square.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;R&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Speak number of remaining cells in current row.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;C&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Speak number of remaining cells in current column.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;S&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Speak number of remaining cells in current sub-square.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;d&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Move to the sub-square below the current sub-square.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;u&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Move to the sub-square above the current sub-square.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;n&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Move to the next sub-square.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;p&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Move to the previous sub-square.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;a&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Move to the beginning of current row.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;e&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Move to the end of the current row.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;t&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Move to the top of the current column.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;b&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Move to the bottom of the current column.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;,&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Speaks information about the overall &lt;em&gt;distribution&lt;/em&gt; of
numbers on the board.
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;d&lt;/code&gt; --- Conveys how many instances of each digit
have been filled in.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;s&lt;/code&gt; --- Conveys number of remaining cells in each
sub-square.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;r&lt;/code&gt; --- Conveys number of remaining cells in each
row.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;c&lt;/code&gt; --- Conveys number of remaining cells in each
column.&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;/&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Speaks number of remaining cells in the current board.&lt;/dd&gt;
&lt;dt&gt;&lt;code&gt;.&lt;/code&gt;&lt;/dt&gt;
&lt;dd&gt;Speaks value in current cell.&lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;Notes on how invormation is spoken:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Numbers are spoken in groups of 3 to achieve effective
intonation.&lt;/li&gt;
&lt;li&gt;When navigating by sub-squares, point &lt;em&gt;always&lt;/em&gt; moves
to the top left corner of the sub-square.&lt;/li&gt;
&lt;li&gt;Additional commands bound to &lt;code&gt;M-r&lt;/code&gt;,
&lt;code&gt;M-c&lt;/code&gt; and &lt;code&gt;M-s&lt;/code&gt; erase the current row,
column or sub-square respectively. These commands would probably
be convenient to have independent of whether one is using visual
output.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Effectiveness Of The Resulting Interface&lt;/h4&gt;

&lt;p&gt;With the above interface in place, the simpler levels of the
game are a breeze, levels &lt;em&gt;difficult&lt;/em&gt; and &lt;em&gt;evil&lt;/em&gt;
are sufficiently challenging to be fun.&lt;/p&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-113970989256663836?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113970989256663836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113970989256663836'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/02/playing-sudoku-using-auditory-feedback.html' title='Playing SuDoKu Using Auditory Feedback '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-113842396545550696</id><published>2006-01-27T20:52:00.000-08:00</published><updated>2006-01-27T20:52:45.470-08:00</updated><title type='text'>Browsing Sourceforge Download Servers </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;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 &lt;em&gt;Smart URL&lt;/em&gt; that enables one to
download from Sourceforge in a single step.&lt;/p&gt;
&lt;p&gt;By default, this uses a North American mirror; the behavior
can be customized if outside the US.
Use &lt;em&gt;smart URL&lt;/em&gt; &lt;code&gt;Sourceforge Browse Mirror&lt;/code&gt; 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
&lt;code&gt;b&lt;/code&gt; to move to the latest available download.&lt;/p&gt;
&lt;p&gt;The &lt;em&gt;smart URL&lt;/em&gt; sets up the W3 buffer with a
context-sensitive download function; when on a download link, hit
&lt;code&gt;C-d&lt;/code&gt;
to start downloading. This command will prompt for the URL;
rather than hitting &lt;code&gt;return&lt;/code&gt; (which would bring you to
the &lt;em&gt;browse mirrors&lt;/em&gt; page, hit &lt;code&gt;M-p&lt;/code&gt; to get the
download URL for your  SF mirror.
Note that this wizard uses &lt;code&gt;GNU wget&lt;/code&gt; to perform the
download
via Emacs module &lt;code&gt;w3-wget&lt;/code&gt;.&lt;/p&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-113842396545550696?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113842396545550696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113842396545550696'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/01/browsing-sourceforge-download-servers.html' title='Browsing Sourceforge Download Servers '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-113842342844647994</id><published>2006-01-27T20:43:00.000-08:00</published><updated>2006-01-27T20:43:48.903-08:00</updated><title type='text'>BBC Channels On Emacspeak </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;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
&lt;code&gt;realaudio/radio&lt;/code&gt; contains shortcut files for
launching  live streams from the various BBC channels.&lt;/p&gt;
&lt;p&gt;
In addition, module &lt;code&gt;emacspeak-url-template&lt;/code&gt; defines a
number of &lt;em&gt;Smart URLs&lt;/em&gt; for single-click access to BBC
programs. The ones I use the most are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Smart URL&lt;/em&gt; &lt;code&gt;BBC Channels On Demand&lt;/code&gt;, and &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Smart URL&lt;/em&gt; &lt;code&gt;BBC Genres On Demand&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
These &lt;em&gt;smart URLs&lt;/em&gt; 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
&lt;code&gt;i&lt;/code&gt; which moves through the various items on the page.
Hitting &lt;code&gt;e e&lt;/code&gt; (that's the letter &lt;code&gt;e&lt;/code&gt;
&lt;em&gt;twice&lt;/em&gt;) while on a hyperlink will launch the
corresponding media stream by calling   a &lt;em&gt;context-aware&lt;/em&gt;
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.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-113842342844647994?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113842342844647994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113842342844647994'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/01/bbc-channels-on-emacspeak.html' title='BBC Channels On Emacspeak '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-113832891320852876</id><published>2006-01-26T18:28:00.000-08:00</published><updated>2006-01-26T18:28:33.273-08:00</updated><title type='text'>Emacspeak World Clock For Timezone Travel </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Command &lt;code&gt;emacspeak-speak-time&lt;/code&gt; bound to &lt;code&gt;C-e
t&lt;/code&gt; 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. &lt;/p&gt;
&lt;p&gt;To use this feature, simply precede  the keystroke with an
&lt;code&gt;interactive prefix arg&lt;/code&gt; i.e., use &lt;code&gt;C-u C-e
t&lt;/code&gt;.
This will prompt for the timezone in the minibuffer. Using two
&lt;code&gt;C-u C-u&lt;/code&gt; will set the  default timezone after
speaking the time --- a useful way of avoiding jet-lag as you travel.&lt;/p&gt;

    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-113832891320852876?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113832891320852876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113832891320852876'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/01/emacspeak-world-clock-for-timezone.html' title='Emacspeak World Clock For Timezone Travel '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-113795676485627531</id><published>2006-01-22T11:06:00.000-08:00</published><updated>2006-01-22T11:06:05.263-08:00</updated><title type='text'>Emacspeak Web Wizards: Obtaining Context From The Calendar </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Emacspeak implements a number of &lt;code&gt;smart URLs&lt;/code&gt; in
module &lt;code&gt;emacspeak-url-template.el&lt;/code&gt; --- see earlier
post on &lt;a href="http://emacspeak.blogspot.com/2005/12/emacspeak-web-tricks-web-command-line.html"&gt;Web
Command Line&lt;/a&gt;. Many of these &lt;code&gt;smart URLs&lt;/code&gt; prompt
the user for the date, e.g. you can use &lt;code&gt;smart URL&lt;/code&gt;
&lt;em&gt;NPR On Demand&lt;/em&gt; to play  archived NPR shows.
&lt;/p&gt;
&lt;p&gt;The most intuitive means of specifying a date is of course
using a &lt;code&gt;calendar&lt;/code&gt; that functions as a
&lt;em&gt;date-picker&lt;/em&gt;, 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 &lt;em&gt;current date&lt;/em&gt;
in the  Emacs Calendar as the default. So the easiest way to play
&lt;em&gt;NPR Morning Edition&lt;/em&gt; for  &lt;em&gt;Monday, January 2, 2006&lt;/em&gt;
is to do the following:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Switch to the Emacs Calendar and move to the desired date
&lt;em&gt;Monday January 2, 2006&lt;/em&gt; by pressing &lt;code&gt;gd&lt;/code&gt;.
&lt;/li&gt;
&lt;li&gt;Invoke the &lt;em&gt;NPR On Demand&lt;/em&gt; &lt;code&gt;smart URL&lt;/code&gt; by
pressing &lt;code&gt;C-e u RET NPR  RET&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Specify the program code for &lt;em&gt;Morning Edition&lt;/em&gt; by
pressing &lt;code&gt;me RET &lt;/code&gt;&lt;/li&gt;
&lt;li&gt; Hit enter to pick the default date that is offered in the
minibuffer.&lt;/li&gt;
&lt;li&gt;Sit back and listen ...&lt;/li&gt;
&lt;/ul&gt;

    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-113795676485627531?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113795676485627531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113795676485627531'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/01/emacspeak-web-wizards-obtaining.html' title='Emacspeak Web Wizards: Obtaining Context From The Calendar '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-113755198213159076</id><published>2006-01-17T18:39:00.000-08:00</published><updated>2006-01-17T18:39:42.490-08:00</updated><title type='text'>Viewing Atom Feeds Within Emacspeak </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;The most effective way of viewing Atom Feeds in Emacspeak is
to use command &lt;code&gt;emacspeak-atom-display&lt;/code&gt; and specifying
the URL of the feed when prompted. Thus, &lt;code&gt;M-x
emacspeak-atom-display RET
http://emacspeak.blogspot.com/atom.xml&lt;/code&gt; displays a Web page
generated from the Emacspeak Blog.&lt;/p&gt;
&lt;p&gt;Notice the following in the generated Web page:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It starts with a navigable table of contents.&lt;/li&gt;
&lt;li&gt;Each Blog entry has a  link labeled &lt;code&gt;edit&lt;/code&gt; next to
it.&lt;/li&gt;
&lt;li&gt;Each Blog entry ends with a link labeled
&lt;code&gt;Bookmark&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;There is a link labeled &lt;code&gt;Post&lt;/code&gt; at the top of the
page.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The above links help you easily create and edit posts to the
Blog if you have write access using commands provided by module
&lt;code&gt;atom-blogger&lt;/code&gt;.
Eventually, I may add commands to these hyperlinks to
automatically invoke the appropriate command from
&lt;code&gt;atom-blogger&lt;/code&gt;; for now, I find it  sufficiently
convenient to copy the URL under point to the
&lt;code&gt;kill-ring&lt;/code&gt; and later yank it back into the minibuffer
when prompted by &lt;code&gt;atom-blogger&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Finally, note that this and subsequent posts to this Blog will
show  up automatically on the &lt;a href="http://www.cs.vassar.edu/~priestdo/emacspeak/"&gt;Emacspeak
Mailing List&lt;/a&gt; at Vassar.&lt;/p&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-113755198213159076?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113755198213159076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113755198213159076'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/01/viewing-atom-feeds-within-emacspeak.html' title='Viewing Atom Feeds Within Emacspeak '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-113752981092887635</id><published>2006-01-17T12:30:00.000-08:00</published><updated>2006-01-17T12:39:36.013-08:00</updated><title type='text'>Viewing Formatted Source Code In Emacs/W3 </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;div&gt;
&lt;p&gt;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 &lt;code&gt;audio
indentation&lt;/code&gt; 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 &lt;code&gt;octal 240&lt;/code&gt; to be of class
white-space. Consequently, Emacspeak's audio indentation code was
not treating the non-breaking space as white space.&lt;/p&gt;
&lt;p&gt;I've checked in a patch to &lt;code&gt;emacspeak-w3.el&lt;/code&gt; that
modifies the syntax table in &lt;code&gt;w3-mode&lt;/code&gt;
by adding the appropriate lines to &lt;code&gt;w3-mode-hook&lt;/code&gt;.
&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-113752981092887635?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113752981092887635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113752981092887635'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/01/viewing-formatted-source-code-in.html' title='Viewing Formatted Source Code In Emacs/W3 '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-113726801747885464</id><published>2006-01-14T11:46:00.000-08:00</published><updated>2006-01-14T11:46:57.486-08:00</updated><title type='text'>Speech-Enabled ATOM-Blogger </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;
Module &lt;code&gt;atom-blogger&lt;/code&gt; is a light-weight Emacs client
for creating or editting &lt;em&gt;blogger&lt;/em&gt; posts using ATOM.
Emacspeak bundles &lt;code&gt;atom-blogger&lt;/code&gt; and speech-enables it
via module &lt;code&gt;emacspeak-atom-blogger&lt;/code&gt;.
&lt;/p&gt;
&lt;p&gt;Module &lt;code&gt;emacspeak-setup.el&lt;/code&gt; has been updated to set
up the Emacs' &lt;code&gt;load-path&lt;/code&gt; to locate package
&lt;code&gt;atom-blogger&lt;/code&gt;, so if correctly installed, Emacspeak
users should be able to launch and use &lt;code&gt;atom-blogger&lt;/code&gt;
with no further configuration.&lt;/p&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-113726801747885464?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113726801747885464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113726801747885464'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/01/speech-enabled-atom-blogger_14.html' title='Speech-Enabled ATOM-Blogger '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-113707573746854118</id><published>2006-01-12T06:22:00.000-08:00</published><updated>2006-01-12T06:22:17.530-08:00</updated><title type='text'>Emacspeak And Ruby </title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;p&gt;Emacspeak now speech-enables ruby-mode to support developing
Web applications using &lt;code&gt;Ruby On Rails&lt;/code&gt;.
I presently use &lt;code&gt;nxml-mode&lt;/code&gt; for editing the
&lt;code&gt;.rhtml&lt;/code&gt; 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 &lt;code&gt;nxml-mode&lt;/code&gt;'s validity
checking while editing &lt;code&gt;.rhtml&lt;/code&gt; files --- otherwise it
complains about the &lt;code&gt;&amp;lt;%&lt;/code&gt; directives.
&lt;/p&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-113707573746854118?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113707573746854118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113707573746854118'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/01/emacspeak-and-ruby.html' title='Emacspeak And Ruby '/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-20280042.post-113622417010298115</id><published>2006-01-02T09:49:00.000-08:00</published><updated>2006-01-02T09:49:33.126-08:00</updated><title type='text'>Emacspeak Wizard: Recording Audio Streams For Later Playback</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;
      &lt;p&gt;
        Emacspeak includes  a large collection of wizards implemented in
        module &lt;code&gt;emacspeak-wizards.el&lt;/code&gt;
        One of these ---&lt;code&gt;emacspeak-wizrds-rivo&lt;/code&gt;  works
        hand-in-hand with script &lt;code&gt;etc/rivo.pl&lt;/code&gt;
        to provide a simple &lt;strong&gt;record for later playback&lt;/strong&gt;
        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.&lt;/p&gt;
      &lt;p&gt;Wizard &lt;code&gt;emacspeak-wizrds-rivo&lt;/code&gt; 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 &lt;code&gt;trplayer&lt;/code&gt; (text-mode RealPlayer)
      with command  &lt;code&gt;vsound&lt;/code&gt;
      to capture the audio stream, and  converts the result to MP3
      using command &lt;code&gt;lame&lt;/code&gt;.
      ToDo: With &lt;code&gt;mplayer&lt;/code&gt; now able to play RealAudio
      streams, the &lt;code&gt;etc/rivo.pl&lt;/code&gt; script should be updated to
      use &lt;code&gt;mplayer&lt;/code&gt; since this will :&lt;/p&gt;
      &lt;ul&gt;
        &lt;li&gt;Remove the &lt;code&gt;vsound&lt;/code&gt; dependency.&lt;/li&gt;
        &lt;li&gt;Enable us to record more than just RealAudio streams.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/20280042-113622417010298115?l=emacspeak.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113622417010298115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/20280042/posts/default/113622417010298115'/><link rel='alternate' type='text/html' href='http://emacspeak.blogspot.com/2006/01/emacspeak-wizard-recording-audio.html' title='Emacspeak Wizard: Recording Audio Streams For Later Playback'/><author><name>T. V. Raman</name><uri>http://www.blogger.com/profile/03589687652590194428</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
