📄 blog — gary bishop.htm
字号:
href="http://wwwx.cs.unc.edu/~gb/wp/blog/2007/11/18/camkeys-is-a-simple-camera-based-alternative-keyboard/">CamKeys</A>
project. Like CamKeys, atool allows keyboard input based on a cheap webcam.
Atool adds DDR pads (or other game controller buttons) as an additional input
and it allows playing recorded sounds on input events.<BR><A class=more-link
href="http://wwwx.cs.unc.edu/~gb/wp/blog/2008/06/12/atool-enables-ddr-pad-or-webcam-input/#more-386">Continue
reading →</A></P></DIV>
<P class=post_meta><SPAN class=add_comment><A
title="Comment on atool enables DDR pad or webcam input"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/2008/06/12/atool-enables-ddr-pad-or-webcam-input/#comments">1
Comment</A></SPAN></P>
<H2><A
title="Combining WordPress and Flickr to make accessible books for beginning readers"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/2008/06/03/combining-wordpress-and-flickr-to-make-accessible-books-for-beginning-readers/"
rel=bookmark>Combining WordPress and Flickr to make accessible books for
beginning readers</A></H2>
<P class=post_date>June 3rd, 2008 — <A
title="View all posts in Enabling Technology"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/et/"
rel="category tag">Enabling Technology</A>, <A
title="View all posts in Motor impaired"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/et/motor-impaired/"
rel="category tag">Motor impaired</A>, <A title="View all posts in Programming"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/programming/"
rel="category tag">Programming</A></P>
<DIV class=entry>
<P><A href="http://tarheelreader.org/">Tar Heel Reader</A> is a web site
designed to help teachers make easy-to-read books for children with
disabilities. It has a growing selection of books to read and a simple process
for creating new books using pictures found on <A
href="http://www.flickr.com/">Flickr</A>.<BR><A class=more-link
href="http://wwwx.cs.unc.edu/~gb/wp/blog/2008/06/03/combining-wordpress-and-flickr-to-make-accessible-books-for-beginning-readers/#more-377">Continue
reading →</A></P></DIV>
<P class=post_meta><SPAN class=add_comment><A
title="Comment on Combining WordPress and Flickr to make accessible books for beginning readers"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/2008/06/03/combining-wordpress-and-flickr-to-make-accessible-books-for-beginning-readers/#comments">1
Comment</A></SPAN></P>
<H2><A title="Creating PowerPoint Slide Shows from Wordpress Posts"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/2008/05/29/creating-powerpoint-slide-shows-from-wordpress-posts/"
rel=bookmark>Creating PowerPoint Slide Shows from Wordpress Posts</A></H2>
<P class=post_date>May 29th, 2008 — <A title="View all posts in Programming"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/programming/"
rel="category tag">Programming</A>, <A title="View all posts in Ubuntu"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/ubuntu/"
rel="category tag">Ubuntu</A></P>
<DIV class=entry>
<P>For the Tar Heel Reader project I needed to convert very simple multi-page
WordPress posts into PowerPoint slide shows. I chose the circuitous route of
making an OpenOffice Impress show by bashing XML and then converting it to
PowerPoint. I manually created a prototype slide show with a title page and a
single book page in Impress and saved it in their native <CODE>.odp</CODE>
format. These files are simply zip archives containing <A
href="http://books.evc-cit.info/odbook/ch02.html">several XML documents</A> and
the images. Why they didn’t include the sounds, I don’t understand. The
important file is <CODE>content.xml</CODE>. Examining it in Firefox revealed the
bits I’d have to change on the title page and for each page of the book. I found
several useful hints in a <A
href="http://www.linuxjournal.com/article/9319">Linux Journal article by Collin
Park</A>. I used the <A href="http://us3.php.net/manual/en/book.dom.php">PHP DOM
module</A> to read in the prototype, update it for the current book (retrieved
with the WordPress <CODE>get_post</CODE> function), and write it out along with
the images. Zipping this result up produces a new Impress presentation for the
book. </P>
<P>Then I needed to convert the Impress format to PowerPoint. Thankfully, I
found <A
href="http://www.artofsolving.com/opensource/PyODConverter">PyODConverter</A> to
automate that part of the job. It worked fine when I ran it from the command
prompt but I could not get it to find the server when I ran it from PHP. Again
the web came to my rescue with a <A
href="http://forums.knowledgetree.com/viewtopic.php?p=12596">post</A> by Piero.
I’ll reproduce the code here so I don’t forget it.</P><PRE>cd /var/www #www-data user home
sudo mkdir .openoffice.org2 #create the openoffice working dir
sudo chown -R www-data:www-data .openoffice.org2 #set the owner
sudo chmod 700 .openoffice.org2 #change permissions
sudo -s #you need to be root
su - www-data #if you want to be www-data
#start openoffice headless
xvfb-run -a soffice -accept="socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" -nologo -headless -invisible
</PRE>
<P>Now I need to figure out how to get this into /etc/init.d so that it will
automatically start on reboot.</P></DIV>
<P class=post_meta><SPAN class=add_comment><A
title="Comment on Creating PowerPoint Slide Shows from Wordpress Posts"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/2008/05/29/creating-powerpoint-slide-shows-from-wordpress-posts/#comments">4
Comments</A></SPAN></P>
<H2><A title="Wordpress makes a fine application framework"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/2008/05/21/wordpress-makes-a-fine-application-framework/"
rel=bookmark>Wordpress makes a fine application framework</A></H2>
<P class=post_date>May 21st, 2008 — <A
title="View all posts in Enabling Technology"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/et/"
rel="category tag">Enabling Technology</A>, <A
title="View all posts in Programming"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/programming/"
rel="category tag">Programming</A></P>
<DIV class=entry>
<P>I really like using <A href="http://wordpress.org/">Wordpress</A> for my
website and blog but I hadn’t thought until recently about using it as an
application framework. <A
href="http://wwwx.cs.unc.edu/~gb/wp/blog/2008/05/14/karen_notes/">Karen and I
talked</A> about a site to enable teachers to quickly build topical beginning
readers for people with varied interests and abilities. I began thinking about
the features such a site would have and found lots of overlap with what
Wordpress already provides. A <A
href="http://www.nixonmcinnes.co.uk/2008/04/25/building-micro-web-applications-using-wordpress-pages/">blog
post</A> by <A href="http://www.nixonmcinnes.co.uk/people/steve/">Steve
Winton</A> over at <A href="http://www.nixonmcinnes.co.uk/">NixonMcInnes</A>
encouraged me to examine the possibilities further. </P>
<P>I’m pleased to report that it is really easy to integrate a PHP web-app into
Wordpress. I use ordinary blog posts as the books with the <!–nextpage–>
tag for pagination and a bit of Javascript for switch accessibility and text to
speech. The book creator wizard is simply a set of pages with custom templates.
You select some images, provide some captions and a title, and it creates the
blog post that is your book. Wordpress provides logins, all the database
manipulation, comments, tags, categories, etc. Redirects work fine because
Wordpress is silent until you invoke get_header. Query parameters work fine;
Wordpress seems to ignore them. Session variables work fine too. So far
Wordpress hasn’t gotten in my way once and has helped a ton.</P></DIV>
<P class=post_meta><SPAN class=add_comment><A
title="Comment on Wordpress makes a fine application framework"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/2008/05/21/wordpress-makes-a-fine-application-framework/#respond">No
Comments</A></SPAN></P>
<DIV class=navigation>
<P><A href="http://wwwx.cs.unc.edu/~gb/wp/blog/page/2/">← Previous
Entries</A></P>
<P class=next></P></DIV></DIV>
<DIV id=sidebar>
<UL class=sidebar_list>
<LI class=widget>
<H2>Search</H2>
<FORM id=search_form action=http://wwwx.cs.unc.edu/~gb/wp/ method=get><INPUT
class=search_input id=s
onblur="if (this.value == '') {this.value = 'To search, type and hit enter';}"
onfocus="if (this.value == 'To search, type and hit enter') {this.value = '';}"
value="To search, type and hit enter" name=s> <INPUT id=searchsubmit
type=hidden value=Search> </FORM></LI>
<LI class="widget nrs_folding_pages" id=nrs-folding-pages>
<H2 class=widgettitle>Navigation</H2>
<UL>
<LI class=page_item><A title=About
href="http://wwwx.cs.unc.edu/~gb/wp">About</A>
<LI class="page_item current_page_item"><A title=Blog
href="http://wwwx.cs.unc.edu/~gb/wp/blog/">Blog</A>
<LI class=page_item><A title=Research
href="http://wwwx.cs.unc.edu/~gb/wp/research/">Research</A>
<LI class=page_item><A title=Teaching
href="http://wwwx.cs.unc.edu/~gb/wp/teaching/">Teaching</A>
<LI class=page_item><A title="What's really important"
href="http://wwwx.cs.unc.edu/~gb/wp/important/">What's really important</A>
</LI></UL></LI>
<LI class="widget widget_categories" id=categories-81227671>
<H2 class=widgettitle>Categories</H2>
<UL>
<LI class="cat-item cat-item-5"><A
title="View all posts filed under Enabling Technology"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/et/">Enabling
Technology</A> (155)
<UL class=children>
<LI class="cat-item cat-item-8"><A
title="View all posts filed under Autism"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/et/autism/">Autism</A>
(2)
<LI class="cat-item cat-item-9"><A
title="View all posts filed under Blind"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/et/blind/">Blind</A>
(40)
<LI class="cat-item cat-item-12"><A
title="View all posts filed under Deaf"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/et/deaf/">Deaf</A> (13)
<LI class="cat-item cat-item-17"><A
title="View all posts filed under Motor impaired"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/et/motor-impaired/">Motor
impaired</A> (18) </LI></UL>
<LI class="cat-item cat-item-3"><A title="View all posts filed under Home"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/home/">Home</A> (16)
<LI class="cat-item cat-item-2"><A title="Things I thought."
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/ideas/">Ideas</A> (59)
<LI class="cat-item cat-item-15"><A title="View all posts filed under Links"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/links/">Links</A> (123)
<LI class="cat-item cat-item-23"><A title="View all posts filed under Mac"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/mac/">Mac</A> (3)
<LI class="cat-item cat-item-11"><A title="View all posts filed under Maps"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/maps/">Maps</A> (5)
<LI class="cat-item cat-item-14"><A
title="View all posts filed under Programming"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/programming/">Programming</A>
(54)
<LI class="cat-item cat-item-10"><A
title="View all posts filed under Random"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/random/">Random</A> (21)
<LI class="cat-item cat-item-4"><A
title="View all posts filed under Recipes"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/recipes/">Recipes</A> (32)
<LI class="cat-item cat-item-6"><A
title="View all posts filed under Science"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/science/">Science</A> (4)
<LI class="cat-item cat-item-13"><A title="View all posts filed under ToDo"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/todo/">ToDo</A> (6)
<LI class="cat-item cat-item-20"><A
title="View all posts filed under Ubuntu"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/ubuntu/">Ubuntu</A> (30)
<LI class="cat-item cat-item-22"><A
title="View all posts filed under Wiimote"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/wiimote/">Wiimote</A> (5)
<LI class="cat-item cat-item-24"><A
title="View all posts filed under Windows"
href="http://wwwx.cs.unc.edu/~gb/wp/blog/category/windows/">Windows</A> (4)
</LI></UL></LI>
<LI class="widget widget_googlereader" id=google-reader>
<H2 class=widgettitle>From the web</H2>
<UL>
<LI style="LIST-STYLE-TYPE: none"><A
href="http://feeds.feedburner.com/~r/edublogs/SCao/~3/450752394/">xtranormal
(Online Resource)</A> (<A href="http://paulhami.edublogs.org/">Free
Resources from the Net for (Special) Education</A>)
<LI style="LIST-STYLE-TYPE: none"><A
href="http://feedproxy.google.com/~r/weblogsinc/engadget/~3/S2QVcow-ZQY/">PS3
gamer overcomes disability with custom controller, triumphs in l33t3st way
imaginable</A> (<A href="http://www.engadget.com/">Engadget</A>)
<LI style="LIST-STYLE-TYPE: none"><A
href="http://bethesignal.org/blog/2008/11/10/let-the-wookie-win/">Let the
Wookie win</A> (<A href="http://planet.gnome.org/">Planet GNOME</A>)
<LI style="LIST-STYLE-TYPE: none"><A
href="http://www.sitepen.com/blog/2008/11/10/dojo-and-firebug-tricks-for-development/">SitePen:
Dojo and Firebug Tricks for Development</A> (<A
href="http://dojotoolkit.org/aggregator">The Dojo Toolkit aggregator</A>)
<LI style="LIST-STYLE-TYPE: none"><A
href="http://www.alistapart.com/articles/progressiveenhancementwithjavascript">Progressive
Enhancement with JavaScript</A> (<A href="http://www.alistapart.com/">A List
Apart</A>)</LI></UL><A style="FLOAT: right"
href="http://www.google.com/reader/shared/01984430163328802753">Shared
Items</A> </LI>
<LI class="widget widget_meta" id=meta>
<H2 class=widgettitle>Meta</H2>
<UL>
<LI><A href="http://wwwx.cs.unc.edu/~gb/wp/wp-login.php">Log in</A>
<LI><A title="Syndicate this site using RSS 2.0"
href="http://wwwx.cs.unc.edu/~gb/wp/feed/">Entries <ABBR
title="Really Simple Syndication">RSS</ABBR></A>
<LI><A title="The latest comments to all posts in RSS"
href="http://wwwx.cs.unc.edu/~gb/wp/comments/feed/">Comments <ABBR
title="Really Simple Syndication">RSS</ABBR></A>
<LI><A
title="Powered by WordPress, state-of-the-art semantic personal publishing platform."
href="http://wordpress.org/">WordPress.org</A>
</LI></UL></LI></UL></DIV></DIV></DIV>
<DIV id=footer>
<P>© Gary Bishop</P></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -