<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEQAR3k6fCp7ImA9WhFSFEk.&quot;"><id>tag:blogger.com,1999:blog-461135827939054138</id><updated>2013-06-17T01:19:06.714-04:00</updated><category term="River" /><title>Experiential Living</title><subtitle type="html">function experienceLife() {

    while($alive) { 
    earnMeans();

    planExperiences();

    enjoyLife();

    blogAboutIt();
 }  
}</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.grgisme.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.grgisme.com/" /><author><name>grgisme</name><uri>http://www.blogger.com/profile/01272193707846823260</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="26" src="http://4.bp.blogspot.com/-vLZ6iagOXGI/UZ43BcRiIrI/AAAAAAABCpA/ntPXYPh9zBs/s220/464449_922639052387_2109246478_o.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/grgisme" /><feedburner:info uri="grgisme" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly></feedburner:browserFriendly><entry gd:etag="W/&quot;CU4BSHo6eSp7ImA9WhBaE08.&quot;"><id>tag:blogger.com,1999:blog-461135827939054138.post-2108572415613872524</id><published>2013-05-23T11:44:00.000-04:00</published><updated>2013-05-23T11:45:59.411-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-05-23T11:45:59.411-04:00</app:edited><title>Service-Now JavaScript Library Resource</title><content type="html">&lt;br /&gt;
I want to share something I've put together. It's a &lt;a href="https://dl.dropboxusercontent.com/u/1335521/Service-Now_JS_Library.zip"&gt;library of Service-Now JavaScript files&lt;/a&gt; to help with auto-completion in your favorite IDE (it works great in Netbeans).&lt;br /&gt;
&lt;br /&gt;
This allows you to easily see what functions are in a GlideRecord or GlideSession object, etc. Extremely useful for learning about new functionality, as well as programming more complex Service-Now scripts.&lt;br /&gt;
&lt;br /&gt;
There may be something like this already out there, but not to my knowledge. These are not official files, but rather a compilation of information found in the Wiki, Forums, through Firebug, and just perusing the scripts in the instance.&lt;br /&gt;
&lt;br /&gt;
I've attached all the files I have, as well as instructions for setting up the auto-complete in Netbeans if that happens to be your preferred IDE.&lt;br /&gt;
&lt;br /&gt;
If anyone has anything to add to this, or has a better/more complete library, let me know!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://dl.dropboxusercontent.com/u/1335521/Service-Now_JS_Library.zip"&gt;Service-Now JavaScript Library&lt;/a&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.grgisme.com/feeds/2108572415613872524/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.grgisme.com/2013/05/service-now-javascript-library-resource.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/2108572415613872524?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/2108572415613872524?v=2" /><link rel="alternate" type="text/html" href="http://blog.grgisme.com/2013/05/service-now-javascript-library-resource.html" title="Service-Now JavaScript Library Resource" /><author><name>grgisme</name><uri>http://www.blogger.com/profile/01272193707846823260</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="26" src="http://4.bp.blogspot.com/-vLZ6iagOXGI/UZ43BcRiIrI/AAAAAAABCpA/ntPXYPh9zBs/s220/464449_922639052387_2109246478_o.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkcASHk_eip7ImA9WhZVFUo.&quot;"><id>tag:blogger.com,1999:blog-461135827939054138.post-6191903623065715308</id><published>2011-05-28T05:14:00.002-04:00</published><updated>2011-05-28T05:14:09.742-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-28T05:14:09.742-04:00</app:edited><title>The Future of the Narrative</title><content type="html">I believe the future of narrative writing lies in the authoring of open ended stories with many diverging plot lines, possibly aided by advanced computer programs. This would allow for interactive, personalized television programs that are sort of a "choose your own adventure", except less overt.&lt;br /&gt;
 &lt;br /&gt;
If the viewer believes they recognize a threat the characters don't, they could yell at the TV (like I often do), and affect the plot of the show by providing information, misinformation, or persuasive moral guidance. The fourth wall wouldn't even have to be broken, a character could simply come to such realizations on their own at that time, the viewer acting as a subconscious or instinct.&lt;br /&gt;
 &lt;br /&gt;
Extremely basic versions of this could even be accomplished today, by using basic speech recognition at key moments when an attentive viewer might become frustrated and wish to impact the story. By writing open ended stories with diverging plot lines, it would allow for shows to automatically be subtly customized to the viewer's preferences without them realizing it.&lt;br /&gt;
 &lt;br /&gt;
For SciFi, this might mean that those who prefer shows about military conquest would lead the show in that direction, while those that prefer peaceful exploration and cooperation could lead the show in that direction. Eventually using digital actors in combination with real actors, characters could live or die based on the decisions the user makes -- much like in Mass Effect or Dragon Age.&lt;br /&gt;
 &lt;br /&gt;
This would even work for other genres, such as comedy, though perhaps in an even subtler manner. The show could listen for laughter and disgust, and tailor jokes accordingly. If multiple comedic punch lines and "throwaways" are written, an animated comedy could easily be "Family Guy" for one person, "South Park" for another, and "Archer" for yet another. The plot would remain the same, but the individual jokes could be slowly customized. This would allow for fewer entertainment programs, but all of a higher quality.&lt;br /&gt;
 &lt;br /&gt;
The delivery for this kind of programming is already in place. Using game consoles such as the Xbox 360 with Kinect, entertainment programs (literally a program), could have a small amount of logic pre-loaded, and the rest of the episode could be streamed, with the various clips assembled as dictated by the feedback received.&lt;br /&gt;
 &lt;br /&gt;
I believe the right team of people could demonstrate this kind of dynamic entertainment within a few months. Who will take the challenge? Someone make it possible for me to enjoy the perfect Science Fiction program... by making this "fiction" into fact.</content><link rel="replies" type="application/atom+xml" href="http://blog.grgisme.com/feeds/6191903623065715308/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.grgisme.com/2011/05/future-of-narrative.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/6191903623065715308?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/6191903623065715308?v=2" /><link rel="alternate" type="text/html" href="http://blog.grgisme.com/2011/05/future-of-narrative.html" title="The Future of the Narrative" /><author><name>grgisme</name><uri>http://www.blogger.com/profile/01272193707846823260</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="26" src="http://4.bp.blogspot.com/-vLZ6iagOXGI/UZ43BcRiIrI/AAAAAAABCpA/ntPXYPh9zBs/s220/464449_922639052387_2109246478_o.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEYHSX49fip7ImA9Wx9VEko.&quot;"><id>tag:blogger.com,1999:blog-461135827939054138.post-2168149455261261318</id><published>2011-01-28T22:34:00.001-05:00</published><updated>2011-01-28T22:35:38.066-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-28T22:35:38.066-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="River" /><title>River Waits Patiently</title><content type="html">This is a very brief update, but I wanted to make sure everyone knew that I'm still diligently working on the project.&lt;br /&gt;
&lt;br /&gt;
Over the past two weeks, I've had to back off the project and take care of personal matters; however, I've had the time to dive back in the past couple days.&lt;br /&gt;
&lt;br /&gt;
While it's not complete yet, I have replicated most of River's functionality again -- only this time with a simple GUI and in the Qt framework (gibberish to most people I know, sorry about that).&lt;br /&gt;
&lt;br /&gt;
In short, River can once again control Pandora, Google Chrome, my computer's Sound, and she can look up information on IMDB.&lt;br /&gt;
&lt;br /&gt;
I have spent much of the day today waiting patiently for two things. In order to have River access Twitter again, I have to get special permission from Twitter... which takes a little while to get (ironic, since the whole point of Twitter is to quickly communicate). &lt;br /&gt;
&lt;br /&gt;
The second thing I'm waiting on is more technical -- in order to access Facebook (and Twitter), I have to add in support for "https" webpages -- secure webpages. This requires OpenSSL; which in short, means I have to "rebuild" the Qt Framework, which takes about 4 hours to complete. As soon as that finishes, I'll continue to integrate Facebook; and then I'll continue with Twitter once they get back to me.&lt;br /&gt;
&lt;br /&gt;
I'll update more once I'm caught up past the point where I was before I "started over" using Qt.</content><link rel="replies" type="application/atom+xml" href="http://blog.grgisme.com/feeds/2168149455261261318/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.grgisme.com/2011/01/river-waits-patiently.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/2168149455261261318?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/2168149455261261318?v=2" /><link rel="alternate" type="text/html" href="http://blog.grgisme.com/2011/01/river-waits-patiently.html" title="River Waits Patiently" /><author><name>grgisme</name><uri>http://www.blogger.com/profile/01272193707846823260</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="26" src="http://4.bp.blogspot.com/-vLZ6iagOXGI/UZ43BcRiIrI/AAAAAAABCpA/ntPXYPh9zBs/s220/464449_922639052387_2109246478_o.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CUIHRHgzeSp7ImA9Wx9WE0w.&quot;"><id>tag:blogger.com,1999:blog-461135827939054138.post-2249688444795476535</id><published>2011-01-17T20:17:00.001-05:00</published><updated>2011-01-17T20:18:55.681-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-17T20:18:55.681-05:00</app:edited><title>River gets Rebuilt</title><content type="html">I wanted to provide a quick update for anyone following the progress of Project River.&lt;br /&gt;
I'm still hard at work on her in most of my free time!&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;What's Been Accomplished&lt;/h3&gt;-------------------------------&lt;br /&gt;
Twitter Integration (read tweets, not write them yet)&lt;br /&gt;
Facebook Integration (read news feed, not write to it yet)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Currently in Progress&lt;/h3&gt;-------------------------------&lt;br /&gt;
I am currently in the process of porting River over to the &lt;a href="http://qt.nokia.com/"&gt;QT framework&lt;/a&gt;. This lets me easily create a graphical user interface for River. So far I have her quietly running in the task bar with a nice little icon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Some benefits of porting to the &lt;a href="http://qt.nokia.com/"&gt;QT Framework&lt;/a&gt;&lt;/h3&gt;-------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Easy use of Windows Task Bar and an actual window.&lt;/li&gt;
&lt;li&gt;Everything except the Speech component will be Cross-Platform (work on Windows/Mac/Linux)&lt;/li&gt;
&lt;li&gt;Everything will be Unicode -- so it will work with Twitter and Facebook much better.&lt;/li&gt;
&lt;li&gt;A lot less "dependencies".&lt;/li&gt;
&lt;ol&gt;&lt;li&gt;Before I was using all sorts of libraries that would have to be installed on the system. Now, it'll just be QT stuff.&lt;/li&gt;
&lt;/ol&gt;&lt;li&gt;A lot less&amp;nbsp;licensing issues&amp;nbsp;because&amp;nbsp;of #4.&lt;/li&gt;
&lt;ol&gt;&lt;li&gt;If Project River is a success and I wish to commercialize her, I'll only have to buy the commercial&amp;nbsp;license&amp;nbsp;for QT.&lt;/li&gt;
&lt;li&gt;Before, most of the libraries I was using wouldn't have allowed to me to ever sell River.&lt;/li&gt;
&lt;/ol&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;h3&gt;Next Steps&lt;/h3&gt;&lt;/div&gt;&lt;div&gt;------------------------------&lt;/div&gt;&lt;div&gt;I'm a long way from being done with my rebuild of River. There's a lot of re-writing of code and a lot of new things to learn (I know how to do them, but not how to do them in the QT Framework).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Specifically, I'm focused on getting the Speech engine to work properly. This is a big jump, because while I'm still using Microsoft Speech, I'm using a very different method of "listening". It will work better once I have it completed -- it won't "hear" better, but the program will work better.&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.grgisme.com/feeds/2249688444795476535/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.grgisme.com/2011/01/river-gets-rebuilt.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/2249688444795476535?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/2249688444795476535?v=2" /><link rel="alternate" type="text/html" href="http://blog.grgisme.com/2011/01/river-gets-rebuilt.html" title="River gets Rebuilt" /><author><name>grgisme</name><uri>http://www.blogger.com/profile/01272193707846823260</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="26" src="http://4.bp.blogspot.com/-vLZ6iagOXGI/UZ43BcRiIrI/AAAAAAABCpA/ntPXYPh9zBs/s220/464449_922639052387_2109246478_o.jpg" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;AkMEQ34zfCp7ImA9Wx9WEEk.&quot;"><id>tag:blogger.com,1999:blog-461135827939054138.post-2600054252478003093</id><published>2011-01-14T14:59:00.001-05:00</published><updated>2011-01-14T18:40:02.084-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-14T18:40:02.084-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="River" /><title>River Goes to the Movies</title><content type="html">I've done tons of work on River in the past few days. I spent very long hours learning about regex and strings in C++, and even longer hours applying that knowledge, all just to get basic functionality. The good news is, I can now program similar tasks very quick, since I finally understand it all.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;IMDB Integration&lt;/h3&gt;River can now use IMDB to get info about Movies and TV Shows.&lt;br /&gt;
&lt;br /&gt;
Sample Commands:&lt;br /&gt;
River, what year did the movie AI come out?&lt;br /&gt;
River, when was the movie I, Robot released?&lt;br /&gt;
What is the movie The Matrix about?&lt;br /&gt;
(In context) When did it come out?&lt;br /&gt;
(In context) What is the full plot summary?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One of the features that makes her seem the most "real" is the ability to pull up information in context. She remembers what movie I last asked about, so if I ask more information, she is able to immediately tell me the information I want, without having me repeat the name of the movie. It's still a little slower than I'd like, but I believe I can eventually speed that up by parsing the page using only exact string searches rather than regex. For now however, regex is significantly less code, and much faster to program. Since everything is very modular, I can easily go back and update the class in charge of parsing the information to make it perform more efficiently.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;New Discoveries&lt;/h3&gt;As I was playing around with the IMDB features, I realized just how important it is that I implement unicode support fairly soon. The web is full of unicode characters, and until I make all the necessary&amp;nbsp;changes&amp;nbsp;to River, she's going to have problems with them. She won't crash when she encounters them, but she does read the latin1 encoding characters off as letters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Next Steps&lt;/h3&gt;This weekend I hope to make progress on implementing an ongoing speech recognition training ability. If I say something and River hears me incorrectly, I'll say "Train Speech", and then type what it was I said. She'll then use the recorded audio along with the text to improve her hearing capabilities.&lt;br /&gt;
&lt;br /&gt;
I intend to program the speech recognition training feature slowly. I expect it to have a long learning curve for me, and while it will improve the program significantly, it's not exactly "fun" to work on. As a result, I am also focusing on other simpler, but more fun features. I'll be adding to the IMDB functions, as well as hopefully adding Twitter, Facebook, and Google News integration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Demonstration Video&lt;/h3&gt;You can't see River (there's nothing to see but debug statements), but you can hear her.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/s3zCfzR2Gws/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/s3zCfzR2Gws?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266" src="http://www.youtube.com/v/s3zCfzR2Gws?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.grgisme.com/feeds/2600054252478003093/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.grgisme.com/2011/01/river-goes-to-movies.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/2600054252478003093?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/2600054252478003093?v=2" /><link rel="alternate" type="text/html" href="http://blog.grgisme.com/2011/01/river-goes-to-movies.html" title="River Goes to the Movies" /><author><name>grgisme</name><uri>http://www.blogger.com/profile/01272193707846823260</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="26" src="http://4.bp.blogspot.com/-vLZ6iagOXGI/UZ43BcRiIrI/AAAAAAABCpA/ntPXYPh9zBs/s220/464449_922639052387_2109246478_o.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEMMQno_fSp7ImA9Wx9XGEg.&quot;"><id>tag:blogger.com,1999:blog-461135827939054138.post-794911074828103760</id><published>2011-01-12T13:20:00.001-05:00</published><updated>2011-01-12T13:21:23.445-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-12T13:21:23.445-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="River" /><title>River Connected to the Ocean</title><content type="html">I've learned a LOT in the past 24 hours, and River has a new key skill as well -- she can browse the internet.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;The Language Debate&lt;/h3&gt;Yesterday started with me debating about switching the programming language I'm using. I considered switching to Python, because development would be considerably faster in some areas (such as internet connectivity). Python has so many freely available libraries that much of my work would be done for me as I progressed. However, after spending several hours getting Python set up and beginning to recreate Project River, I discovered that I was faced with a key limitation.&lt;br /&gt;
&lt;br /&gt;
In the 64 bit versions of Windows 7 (and Vista), the Microsoft Speech Engine has some serious quirks. By default, you can only use 64 bit "voices" for the text-to-speech component. This is a significant problem, because the best voices out there right now are 32 bit. In fact, you're hard pressed to find any 64 bit voices, unless you're shelling out around $1,000.&lt;br /&gt;
&lt;br /&gt;
In C++, I am able to skirt around this implementation, since the method for getting and using the voices on the system ignores the 64 bit requirement. However, in Python (as well as C# and VB), there is no way around this limitation.&lt;br /&gt;
&lt;br /&gt;
Since the believability of the AI is so important to me, and I feel that the voice plays a critical role in this, I decided that if for no other reason, I need to stick with C++ for now.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Implementation of libcURL&lt;/h3&gt;It took me a considerable amount of time, but I finally managed to get libcURL compiled properly, and River can now successfully make cURL calls to browse internet pages on the fly.&lt;br /&gt;
&lt;br /&gt;
In the process of trying to set this up, I learned a great deal about static libraries, including both how to create one, and how to use one in my project. As a result, I completely restructured River's file system, so that she follows a much more standardized pattern, with all external headers and library files contained in a single location. I also took a few key classes that I was using and I knew I wasn't likely to change again, and I made them into external libraries.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Overall River has come very far in the past 24 hours. I am confident I chose the correct programming language for the project, and I have significantly improved my knowledge of Visual Studio 2010 as well as some of the best practices in C++.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Next Steps&lt;/h3&gt;Getting libcURL set up was merely a precursor to actually using it. Now comes the&amp;nbsp;tedious&amp;nbsp;work of writing and/or implementing a few APIs for her to be able to interact with key websites.&lt;br /&gt;
&lt;br /&gt;
The next large task of setting up constant ongoing training of the Speech Recognition engine is still on the table, but I intend to save that for a weekend, as I believe it will be a very large and time consuming task.</content><link rel="replies" type="application/atom+xml" href="http://blog.grgisme.com/feeds/794911074828103760/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.grgisme.com/2011/01/river-connected-to-ocean.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/794911074828103760?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/794911074828103760?v=2" /><link rel="alternate" type="text/html" href="http://blog.grgisme.com/2011/01/river-connected-to-ocean.html" title="River Connected to the Ocean" /><author><name>grgisme</name><uri>http://www.blogger.com/profile/01272193707846823260</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="26" src="http://4.bp.blogspot.com/-vLZ6iagOXGI/UZ43BcRiIrI/AAAAAAABCpA/ntPXYPh9zBs/s220/464449_922639052387_2109246478_o.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEMMSX44cSp7ImA9Wx9XGEg.&quot;"><id>tag:blogger.com,1999:blog-461135827939054138.post-248518058023331037</id><published>2011-01-11T12:21:00.001-05:00</published><updated>2011-01-12T13:21:28.039-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-12T13:21:28.039-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="River" /><title>Project River is Not Alone</title><content type="html">River and I have already discovered alien life!&lt;br /&gt;
&lt;br /&gt;
Thanks to a tip from a coworker today, I discovered &lt;a href="http://projectjarvis.com/"&gt;Project Jarvis&lt;/a&gt; -- created ironically by someone who reportedly works (or worked) for the very same company that I do.&lt;br /&gt;
&lt;br /&gt;
Project Jarvis is about a year old, and already does pretty much everything that I eventually want Project River to do.&lt;br /&gt;
&lt;br /&gt;
Unfortunately Project Jarvis is written in AppleScript and is therefore restricted to running on a Mac. Because I use Windows exclusively (for a variety of reasons), I am unable to to put Project Jarvis to use -- besides the fact that it is not released for others to use and is instead (like River), a personal project of the creator.&lt;br /&gt;
&lt;br /&gt;
The creator of Project Jarvis is creating his first commercial product that will be cross-platform, but I have a hunch this will not be open source, and as a result, not allow me to expand and build my own modules.&lt;br /&gt;
&lt;br /&gt;
I have scoured the internet today for other "Digital Life Assistants" (as Jarvis is dubbed). Everything I found was either abandoned while still in it's infancy, or written in an obscure language and not open source (such as &lt;a href="http://sourceforge.net/projects/mimodynedla/"&gt;this&lt;/a&gt;&amp;nbsp;DOS version of J.A.R.V.I.S).&lt;br /&gt;
&lt;br /&gt;
Because I've failed to find any sufficient open-source implementation of something equivalent to Project River, I have decided to continue on developing my project. Because I've found nothing out there, I think I will put up a Sourceforge or Google Code page at some point in the near future. The only thing holding me back from doing so is fear of&amp;nbsp;embarrassment. Because I am still a novice C++ programmer, I fear that my code would only draw criticism and be unusable by anyone else working towards the same goal. For that reason, I will hold off until I get a more advanced grasp on the language, and have a better codebase to share.&lt;br /&gt;
&lt;br /&gt;
However, if anyone would like to collaborate, and knows some C++ and has no quarrels working with someone who is learning as they go, then please feel free to contact me! I would love some help on River, or to share ideas and resources if you are working on something similar.</content><link rel="replies" type="application/atom+xml" href="http://blog.grgisme.com/feeds/248518058023331037/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.grgisme.com/2011/01/project-river-is-not-alone.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/248518058023331037?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/248518058023331037?v=2" /><link rel="alternate" type="text/html" href="http://blog.grgisme.com/2011/01/project-river-is-not-alone.html" title="Project River is Not Alone" /><author><name>grgisme</name><uri>http://www.blogger.com/profile/01272193707846823260</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="26" src="http://4.bp.blogspot.com/-vLZ6iagOXGI/UZ43BcRiIrI/AAAAAAABCpA/ntPXYPh9zBs/s220/464449_922639052387_2109246478_o.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEIGQncyeip7ImA9Wx9XGEg.&quot;"><id>tag:blogger.com,1999:blog-461135827939054138.post-6447985853779207631</id><published>2011-01-10T22:39:00.001-05:00</published><updated>2011-01-12T13:22:03.992-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-12T13:22:03.992-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="River" /><title>Project River Speaks Gibberish!</title><content type="html">Success! After many hours of work, I have succeeded in integrating the&lt;a href="http://rebecca-aiml.sourceforge.net/"&gt; Rebecca AIML chatbot engine&lt;/a&gt; into Project River. I can now carry on conversations with River, which already makes her feel significantly more useful and complete.&lt;br /&gt;
&lt;br /&gt;
Because the speech recognition is so buggy (I need to develop a good system to training it), some funny conversations have already taken place. She constantly mishears what I say, so most of our conversations jump from topic to topic even more than the typical conversation with a chatbot would.&lt;br /&gt;
&lt;br /&gt;
The most interesting conversation I have had so far (entirely on accident) went as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Me: Who is the President of the United States?&lt;br /&gt;
River: Barack Obama&lt;br /&gt;
Me: Is he a good president? (she heard: Is he a woman?)&lt;br /&gt;
River: No.&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;This was an eerie&amp;nbsp;situation&amp;nbsp;because it made it seem as if River had her own opinions about the state of the nation without me having taught her any.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;I'm using the voice Bridget from NeoSpeech to give River her voice. As a result, she sounds incredibly life like -- the British accent helps her sound more natural. I've noticed that even when my conversations with River are completely&amp;nbsp;ridiculous, it is still believable that she is intelligent, because she speaks so naturally. From this I conclude that using a believable voice interface greatly increases the believability of any artificial intelligence system. I also believe that the absence of any animation or physical form also helps increase believability -- there's no "uncanny valley" affect taking place, nor is there any poorly animated avatar to detract from the immersion.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Next Steps&lt;/div&gt;&lt;div&gt;---------------&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;The next major task I will focus on will be to improve the speech recognition by programming in a training method. If River doesn't hear me properly, I will tell her "That's not what I said.", which will then prompt her to ask me to type exactly what I said -- she will save both items, and use them to train herself to hear better in the background.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;My next small task I'll focus on will be to implement a web crawler class. This will let me start to implement functionality such as looking up the release date of a movie or what television shows are airing on a given day.&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.grgisme.com/feeds/6447985853779207631/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.grgisme.com/2011/01/project-river-speaks-gibberish.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/6447985853779207631?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/6447985853779207631?v=2" /><link rel="alternate" type="text/html" href="http://blog.grgisme.com/2011/01/project-river-speaks-gibberish.html" title="Project River Speaks Gibberish!" /><author><name>grgisme</name><uri>http://www.blogger.com/profile/01272193707846823260</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="26" src="http://4.bp.blogspot.com/-vLZ6iagOXGI/UZ43BcRiIrI/AAAAAAABCpA/ntPXYPh9zBs/s220/464449_922639052387_2109246478_o.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0QASHw6eip7ImA9Wx9XGE0.&quot;"><id>tag:blogger.com,1999:blog-461135827939054138.post-1670527929014660351</id><published>2011-01-09T01:42:00.004-05:00</published><updated>2011-01-12T00:15:49.212-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-12T00:15:49.212-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="River" /><title>Project River Tutorials Index</title><content type="html">I realized a few moments ago that one of the tasks I'm spending the most time on is simply finding tutorials and documentation on the various features and APIs that I'm wanting to use in C++.&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;In order to help other's in similar quests, and to provide a lasting resource for me to revisit, I'm going to use this post as an ongoing record of the best tutorials I've found for a wide variety of C++ topics. The list will likely be short at first, but I"ll add to it every time I find a new one that I recommend.&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Microsoft Speech API 5.4&lt;/b&gt;&lt;/div&gt;&lt;div&gt;-----------------------------------&lt;/div&gt;&lt;div&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee125077(v=VS.85).aspx#APIOverview"&gt;Speech API Overview (SAPI 5.4)&lt;/a&gt;&amp;nbsp;- This provides an excellent overview of the SAPI 5.4 API. Definitely a great place to start if you're just jumping into SAPI.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee125082(v=VS.85).aspx"&gt;Text-to-Speech Tutorial (SAPI 5.4)&lt;/a&gt;&amp;nbsp;- The absolute best "Hello World" tutorial out there for SAPI in C++. I wish I would have found this several days ago when I was trying to learn! This is an official Microsoft tutorial.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;Sending Key Presses in C++&lt;/b&gt;&lt;/div&gt;&lt;div&gt;----------------------------------&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.codeproject.com/KB/cpp/sendkeys_cpp_Article.aspx"&gt;SendKeys in C++&lt;/a&gt;&amp;nbsp;- This is more of a resource / C++ class wrapper, but it explains how to use it as well. Doing keypresses in C++ without this is a nightmare. Many thanks to the creator&amp;nbsp;of this (Elias Bachaalany). Without this I would have been lost in the dark.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;Connecting to SQL Server 2008 from C++ (using ODBC)&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;------------------------------------------&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.tidytutorials.com/2009/08/connecting-to-sql-server-using-c-odbc.html"&gt;Tidy Tutorials&lt;/a&gt;&amp;nbsp;- This tutorial is fantastic. Should tell you everything you need to know. One addition to this: make sure your Visual Studio project is set to Multi-Byte. If it's set to Unicode you'll have all kinds of errors. Took me forever to figure that out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Chatbot Programming in C++&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;------------------------------------------&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://ai-programming.com/bot_tutorial.htm"&gt;Artificial Intelligence Chatbot Tutorial&lt;/a&gt;&amp;nbsp;- While I didn't use this tutorial as my&amp;nbsp;code base&amp;nbsp;for my Chatbot, it is a fantastic introduction to how Chatbots work and it really builds your understanding well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Qt for Visual Studio 2010&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;------------------------------------------&lt;/b&gt;&lt;br /&gt;
&lt;a href="http://www.codeinvain.com/blog/378/installing-qt-4-7-x-for-vs2010/"&gt;Installing QT 4.7.x for VS2010&lt;/a&gt;&amp;nbsp;- It doesn't look like I'll end up using Qt just yet (using libcurl instead to accomplish what I need), this is by far the only decent tutorial for the advanced methods needed to get Qt to work with Visual Studio 2010. (HEADS UP: The "nmake" command took about 90 minutes to complete &amp;nbsp;on my 64bit 2.8GHZ Dual Core machine w/ 4GB RAM)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;libcURL for Visual Studio 2010&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;------------------------------------------&lt;/b&gt;&lt;/div&gt;&lt;a href="http://curl.haxx.se/libcurl/c/Using-libcurl-with-SSH-support-in-Visual-Studio-2008.pdf"&gt;Using libcurl with SSH support in Visual Studio 2008&lt;/a&gt; - I spent HOURS trying to figure out how to get libcURL to play nice with Windows. Ironically in the end, I found the tutorial via a link off of the curl website. That'll teach me to trust Google over the actual webpage.</content><link rel="replies" type="application/atom+xml" href="http://blog.grgisme.com/feeds/1670527929014660351/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.grgisme.com/2011/01/project-river-tutorials-index.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/1670527929014660351?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/1670527929014660351?v=2" /><link rel="alternate" type="text/html" href="http://blog.grgisme.com/2011/01/project-river-tutorials-index.html" title="Project River Tutorials Index" /><author><name>grgisme</name><uri>http://www.blogger.com/profile/01272193707846823260</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="26" src="http://4.bp.blogspot.com/-vLZ6iagOXGI/UZ43BcRiIrI/AAAAAAABCpA/ntPXYPh9zBs/s220/464449_922639052387_2109246478_o.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;Ak8HQHozfCp7ImA9Wx9XFU4.&quot;"><id>tag:blogger.com,1999:blog-461135827939054138.post-6791659984828889294</id><published>2011-01-08T21:06:00.001-05:00</published><updated>2011-01-08T21:07:11.484-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-08T21:07:11.484-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="River" /><title>Paddling Upstream: Project River Update</title><content type="html">Status Update:&lt;br /&gt;
River can now help control both Pandora radio and the Google Chrome internet browser. It's very jury-rigged and while it works, it's quickly taught me about the areas where I need to focus. River can also connect to a SQL database and easily make use of the C++ regular expression engine.&lt;br /&gt;
&lt;br /&gt;
Immediate Areas of Improvement:&lt;br /&gt;
Voice Recognition is the most obvious part of River that needs improvement. While she recognizes what I say with about 75% accuracy so far (which I'm happy with), the current implementation prevents me from using a whole slew of keywords. For the Google Chrome integration I wanted to be able to say "New Tab", and have a new tab open. But the way I'm using it right now, Windows has the "tab" keyword reserved for the Tab keyboard button, so it doesn't work. I believe there's a way around this, and that's my #1 focus.&lt;br /&gt;
&lt;br /&gt;
Interacting with other application also needs to improve. I'm currently just sending keystrokes, which is fine and probably what I'll have to do for most applications, but I need to figure out how to specifically send keystrokes to specific applications, rather than having to switch to them all the time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Chatbot Updates:&lt;br /&gt;
I'm going to start experimenting with the Rebecca AIML engine, as I believe it'll be a great launching point for me.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Most Recent Idea:&lt;br /&gt;
This "Spokeo.com" message thing going around on Facebook just gave me an idea. While the thing is far from being 100% accurate, it would be a great tool for my Project River AI to use to learn about people. When someone new comes over, the AI could do facial recognition, ask their name, and ask where they live. Then she'd be able to find them on Spokeo, and quickly be able to ask them about their family members and hobbies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
New Resources I've Found and Intend on Using:&lt;br /&gt;
&lt;br /&gt;
1) Home Automation: Z-Wave protocol and Vera 2:&lt;a href="http://micasaverde.com/vera.php"&gt;http://micasaverde.com/vera.php&lt;/a&gt;&lt;br /&gt;
2) Home Automation: Arduino:&amp;nbsp;&lt;a href="http://www.arduino.cc/"&gt;http://www.arduino.cc/&lt;/a&gt;&lt;br /&gt;
3) Chatbot: Rebecca AIML:&amp;nbsp;&lt;a href="http://rebecca-aiml.sourceforge.net/"&gt;http://rebecca-aiml.sourceforge.net/&lt;/a&gt;&lt;br /&gt;
4) Chatbot: WordNet:&amp;nbsp;&lt;a href="http://wordnet.princeton.edu/"&gt;http://wordnet.princeton.edu/&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://goo.gl/i9QVB"&gt;http://goo.gl/i9QVB&lt;/a&gt;&lt;br /&gt;
5) Pandora Control: Pianobar:&amp;nbsp;&lt;a href="http://goo.gl/Iw9Td"&gt;http://goo.gl/Iw9Td&lt;/a&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.grgisme.com/feeds/6791659984828889294/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.grgisme.com/2011/01/paddling-upstream-project-river-update.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/6791659984828889294?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/6791659984828889294?v=2" /><link rel="alternate" type="text/html" href="http://blog.grgisme.com/2011/01/paddling-upstream-project-river-update.html" title="Paddling Upstream: Project River Update" /><author><name>grgisme</name><uri>http://www.blogger.com/profile/01272193707846823260</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="26" src="http://4.bp.blogspot.com/-vLZ6iagOXGI/UZ43BcRiIrI/AAAAAAABCpA/ntPXYPh9zBs/s220/464449_922639052387_2109246478_o.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CkYCQ3k9fCp7ImA9Wx9XFEg.&quot;"><id>tag:blogger.com,1999:blog-461135827939054138.post-7161186139420311079</id><published>2011-01-07T20:29:00.000-05:00</published><updated>2011-01-07T20:29:22.764-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-07T20:29:22.764-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="River" /><title>Commencing Project River</title><content type="html">A few days ago I embarked on a new project, something that's long been a dream of mine.&lt;br /&gt;
&lt;br /&gt;
Project River (as I've dubbed "her" for now), is intended to eventually be a complete AI Smart House system, controlling everything from appliances to music to recording television shows and ordering Chinese food.&lt;br /&gt;
&lt;br /&gt;
However, while that's the end goal, I've decided to take very small baby steps for now. I'm programming her in C++, and every feature I add requires me to learn about a new library or function. Thanks to many hours of reading articles on the Internet, I've already made a little bit of progress.&lt;br /&gt;
&lt;br /&gt;
What River can do so far:&lt;br /&gt;
1. Speak text allowed.&lt;br /&gt;
2. Respond to vocal commands such as "Turn the music up"&lt;br /&gt;
3. Access a SQL database&lt;br /&gt;
4. Control Pandora by sending keystroke commands to Windows.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Yup, when I said "baby steps", I meant it! But she's coming along pretty quickly in my eyes, considering that she's already useful. It's very convenient to be able to say "I love this song", and have Project River say "I like this song too", and give the song a "thumbs up" in Pandora.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So far I've found to great communities that I plan on tapping for ideas and knowledge throughout what looks to be a very long development cycle.&amp;nbsp;&lt;a href="http://tech.groups.yahoo.com/group/leaf_an_AI_robot/"&gt;Project Leaf&lt;/a&gt;, while written in Lisp, has a bunch of great ideas built into it, and is home to a number of very smart robotics amateurs. I hope to contribute to their project in the future. The other great resource I've already found useful is &lt;a href="http://chatbots.org/"&gt;Chatbots.org&lt;/a&gt;. Many very smart Artificial Intelligence hobbyists hang out here, and have already given me a handful of great ideas and tools to use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I intend to make daily or semi-daily updates as to the status of the project.&lt;br /&gt;
&lt;br /&gt;
I realize this&amp;nbsp;blog&amp;nbsp;post is&amp;nbsp;somewhat short compared to most blogs, but alas, I am a man of few words. I figure it's better to start making short blog posts, rather than never make any because the thought of writing a long one stresses me out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Until next time... Take me out into the black, tell them I'm ain't coming back.</content><link rel="replies" type="application/atom+xml" href="http://blog.grgisme.com/feeds/7161186139420311079/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.grgisme.com/2011/01/commencing-project-river.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/7161186139420311079?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/7161186139420311079?v=2" /><link rel="alternate" type="text/html" href="http://blog.grgisme.com/2011/01/commencing-project-river.html" title="Commencing Project River" /><author><name>grgisme</name><uri>http://www.blogger.com/profile/01272193707846823260</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="26" src="http://4.bp.blogspot.com/-vLZ6iagOXGI/UZ43BcRiIrI/AAAAAAABCpA/ntPXYPh9zBs/s220/464449_922639052387_2109246478_o.jpg" /></author><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;CUMBQX48fip7ImA9Wx5XFkg.&quot;"><id>tag:blogger.com,1999:blog-461135827939054138.post-770171483569901155</id><published>2010-09-16T12:10:00.000-04:00</published><updated>2010-09-16T12:10:50.076-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-16T12:10:50.076-04:00</app:edited><title>If I won the Twitter Auction for Alyson Hannigan</title><content type="html">&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;If you win the "&lt;a href="http://goo.gl/pyU1"&gt;TwitChange.com&lt;/a&gt;" auction for Alyson Hannigan, you get a phone call from:&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;Alyson Hannigan (Denisof) -- Willow on Buffy/Angel, and Lily on How I Met Your Mother&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;Alexis Denisof -- Wesley Wyndam Price on Angel&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;Jason Segel -- Marshall on How I Met Your Mother, Nick on Freaks and Geeks&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;Cobie Smulders -- Robin on How I Met Your Mother&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;I would use that phone call to ask them to do a voicemail greeting for me (among other things).&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;My ultimate&amp;nbsp;voice mail&amp;nbsp;greeting from them would go a little like this...&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;Medley: "Hi, this is Wesley, Willow, Lily, Marshall, and Robin."&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;Robin: "Garrett can't come to the phone right now"&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;Willow: "Because he's busy out slaying demons with some of our friends"&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;Marshall: "But if you leave a message, he'll call you back as soon as possible."&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;Willow: "If you're calling to offer him a job and think this voicemail is unprofessional,"&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;Wesley: "Please remember that some of us run a very powerful law firm, and that crossing us would be a major mistake."&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;Marshall + Robin: "Major Mistake!"&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;Robin: "This legen.... wait for it ... dary voicemail greeting is in memory of all those that died in the Haiti earthquake."&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;Marshall: "Hey, you guys know that show I was on Freeks and Geeks well.... ."&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;Willow: "Bored Now."&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; line-height: 1.5em; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;:: beeep ::&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.grgisme.com/feeds/770171483569901155/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.grgisme.com/2010/09/if-i-won-twitter-auction-for-alyson.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/770171483569901155?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/770171483569901155?v=2" /><link rel="alternate" type="text/html" href="http://blog.grgisme.com/2010/09/if-i-won-twitter-auction-for-alyson.html" title="If I won the Twitter Auction for Alyson Hannigan" /><author><name>grgisme</name><uri>http://www.blogger.com/profile/01272193707846823260</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="26" src="http://4.bp.blogspot.com/-vLZ6iagOXGI/UZ43BcRiIrI/AAAAAAABCpA/ntPXYPh9zBs/s220/464449_922639052387_2109246478_o.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CUQCQ3w8eSp7ImA9Wx5XFkg.&quot;"><id>tag:blogger.com,1999:blog-461135827939054138.post-3384699062636491174</id><published>2010-09-16T12:09:00.002-04:00</published><updated>2010-09-16T12:09:22.271-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-16T12:09:22.271-04:00</app:edited><title>Shutter Island and Inception... Beautifully Complimentary</title><content type="html">&lt;span class="Apple-style-span" style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 19px;"&gt;Shutter Island Tag Line: "I wonder... is it better to live as a monster or die as a good man?"&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 19px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 19px;"&gt;Inception Tag Line: Your world isn't real; doubt what is reality.&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 19px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 19px;"&gt;Ending of Shutter Island: DiCaprio is caused to doubt whether his world is real, and he dies a dillusional good man (because he can't accept the reality that he killed his wife).&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px; line-height: 19px;"&gt;Ending of Inception: DiCaprio DOESN'T doubt what is real (regardless what we think), he believes he is in reality with his kids -- and he lives as a monster that killed his wife, but he accepts that fact.&lt;/span&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.grgisme.com/feeds/3384699062636491174/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.grgisme.com/2010/09/shutter-island-and-inception.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/3384699062636491174?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/3384699062636491174?v=2" /><link rel="alternate" type="text/html" href="http://blog.grgisme.com/2010/09/shutter-island-and-inception.html" title="Shutter Island and Inception... Beautifully Complimentary" /><author><name>grgisme</name><uri>http://www.blogger.com/profile/01272193707846823260</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="26" src="http://4.bp.blogspot.com/-vLZ6iagOXGI/UZ43BcRiIrI/AAAAAAABCpA/ntPXYPh9zBs/s220/464449_922639052387_2109246478_o.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CUQHRX87cSp7ImA9Wx5XFkg.&quot;"><id>tag:blogger.com,1999:blog-461135827939054138.post-7742990877184878010</id><published>2010-09-16T12:08:00.000-04:00</published><updated>2010-09-16T12:08:54.109-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-16T12:08:54.109-04:00</app:edited><title>LOST: Worst. Finale. Ever.</title><content type="html">&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; line-height: 19px;"&gt;Dear Lost Writers...&lt;br /&gt;
&lt;br /&gt;
Seroiusly? That was one of the WORST finales ever. You took the Seinfeld route and just had a massive clip show. You left SO many questions unanswered, and it didn't even make sense. An alternate universe created by them just so they can meet eachother and prepare to enter the real afterlife (because the alternate universe was just the fake afterlife). Massive #FAIL.&lt;br /&gt;
&lt;br /&gt;
What about Sun's baby? What about Claire's baby? What about Walt? Did the plane make it back? It didn't have enough fuel to make it much of anywhere.&lt;br /&gt;
&lt;br /&gt;
Who built the statues on the island? What was the real purpose of the island? How did it come into existence -- sure we know about Jacob &amp;amp; his mom, but who was before them? Where did the original protectors come from?&lt;br /&gt;
&lt;br /&gt;
Why did Ben wait outside? Was he waiting for his "daughter"? Was she ever going to come?&lt;br /&gt;
&lt;br /&gt;
How long did Hugo protect the island for? Was the smoke monster really dead for real? We're supposed to believe that? That's like believing that Jack Bauer ever really dies.&lt;br /&gt;
&lt;br /&gt;
Why didn't we ever get to see Echo or Anna Lucia in the finale? Or Ethan?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What about all the dead people stuck on the island? Were they set free? Or were they still trapped on that place? If they were stuck there, why didn't Jack or anyone else get stuck there?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Would the world really have ended if the black smoke monster had escaped? What was the light in the middle of the island really all about anyhow?&lt;br /&gt;
&lt;br /&gt;
How did the Darhma Initiative even learn about the island? I know they built the massive swinging pendulum thing to find it, but how did they know about it anyhow?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Did Faraday end up with Charlotte?&lt;br /&gt;
&lt;br /&gt;
Was Walt really psychic? What did he grow up to be?&lt;br /&gt;
&lt;br /&gt;
Did Kate &amp;amp; Sawyer make a life for themselves while they were still living?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In summary... a Finale is supposed to bring some closure, or give you some hints on where things were going to go. Such as the Scrubs season finale last season. That was a great finale -- too bad they didn't end it there. Or the Alias series finale JJ. It wasn't perfect, but it was better than this.&lt;br /&gt;
&lt;br /&gt;
JJ, if you're going to ruin shows with endings like this, why should I continue to watch Fringe?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks for nothing. JJ Abrams, I'm sorry, but you'll never step out of Joss Whedon's shadow. He knows how to end his series (when he's given a chance).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.grgisme.com/feeds/7742990877184878010/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.grgisme.com/2010/09/lost-worst-finale-ever.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/7742990877184878010?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/461135827939054138/posts/default/7742990877184878010?v=2" /><link rel="alternate" type="text/html" href="http://blog.grgisme.com/2010/09/lost-worst-finale-ever.html" title="LOST: Worst. Finale. Ever." /><author><name>grgisme</name><uri>http://www.blogger.com/profile/01272193707846823260</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="26" src="http://4.bp.blogspot.com/-vLZ6iagOXGI/UZ43BcRiIrI/AAAAAAABCpA/ntPXYPh9zBs/s220/464449_922639052387_2109246478_o.jpg" /></author><thr:total>0</thr:total></entry></feed>
