<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Eric Fickes &#187; twitter</title>
	<atom:link href="http://ericfickes.com/category/twitter/feed/" rel="self" type="application/rss+xml" />
	<link>http://ericfickes.com</link>
	<description>Design minded Internet Programmer</description>
	<lastBuildDate>Fri, 28 Oct 2011 04:14:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How to TWEET from a SQL CLR Stored Procedure</title>
		<link>http://ericfickes.com/2010/03/how-to-tweet-from-a-sql-crl-stored-procedure/</link>
		<comments>http://ericfickes.com/2010/03/how-to-tweet-from-a-sql-crl-stored-procedure/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 01:10:58 +0000</pubDate>
		<dc:creator>Eric Fickes</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[tips and tricks]]></category>
		<category><![CDATA[tsql]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[.net assembly]]></category>
		<category><![CDATA[.net Common Language Runtime]]></category>
		<category><![CDATA[CLR]]></category>
		<category><![CDATA[CLR SPROC]]></category>
		<category><![CDATA[sproc]]></category>
		<category><![CDATA[sql server 2005]]></category>
		<category><![CDATA[stored procedure]]></category>
		<category><![CDATA[tweet]]></category>

		<guid isPermaLink="false">http://ericfickes.com/?p=1133</guid>
		<description><![CDATA[Here&#8217;s another SQL Server 2005 geek out moment, a CLR SPROC that tweets to Twitter. Big shoutout to Danny Battison for sharing the C# code to post to Twitter. This is what got me started on the C# side of &#8230; <a href="http://ericfickes.com/2010/03/how-to-tweet-from-a-sql-crl-stored-procedure/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s another SQL Server 2005 geek out moment, a CLR SPROC that tweets to Twitter.  Big shoutout to <a title="Danny Battison is a C# rocker!" href="http://www.dreamincode.net/code/snippet2556.htm" target="_blank">Danny Battison for sharing the C# code to post to Twitter</a>.  This is what got me started on the C# side of things.  Also, you can skip all my ramblings here and just <a title="CLR SPROC &gt; Tweetsproc sample code" href="http://ericfickes.com/code/tweetsproc.zip" target="_blank">download code here</a> and fire it up.  The zip file contains all the source code, the compiled assembly file, and install.sql that shows you how to hook this up.</p>
<p>Being the SQL junky that I am, I was interested in trying out SQL Server&#8217;s new  <a title="CLR Stored Procedures on MSDN" href="http://msdn.microsoft.com/en-us/library/ms131094.aspx" target="_blank">CLR Stored Procedures</a>.  A CLR sproc is a stored procedure that is able to use .net code that you&#8217;ve compiled into an assembly file.  For you classic ASP heads out there, think of the ASP page being the sproc, and the .net assembly being your COM object ( cringe, let&#8217;s talk about classic ASP ).  While there are plenty of great articles on <a title="Writing CLR Stored Procedures on SQLTEAM.com" href="http://www.sqlteam.com/article/writing-clr-stored-procedures-in-charp-introduction-to-charp-part-1" target="_blank">writing CLR stored procedures</a>, I&#8217;m going to breeze through the code that makes up this project.</p>
<h2>First make a .net class library that will be compiled into an assembly file.</h2>
<pre class="brush: csharp; title: ; notranslate">
using System;
using Microsoft.SqlServer.Server;
using System.Data.SqlTypes;
using System.Net;
using System.IO;
using System.Text.RegularExpressions;

/// &lt;summary&gt;
/// This assembly will be used by a SQL2005 SPROC to communicate
/// with twitter.com
/// &lt;/summary&gt;
public sealed class tweetsproc
{
    /*
     * TWITTER CODE BORROWED FROM :
     *  http://www.dreamincode.net/code/snippet2556.htm
     *
     * A function to post an update to Twitter programmatically
     * Author: Danny Battison
     * Contact: gabehabe@hotmail.com
     */

    /// &lt;summary&gt;
    /// Post an update to a Twitter acount
    /// &lt;/summary&gt;
    /// &lt;param name=&quot;username&quot;&gt;The username of the account&lt;/param&gt;
    /// &lt;param name=&quot;password&quot;&gt;The password of the account&lt;/param&gt;
    /// &lt;param name=&quot;tweet&quot;&gt;The status to post&lt;/param&gt;
    [Microsoft.SqlServer.Server.SqlProcedure(Name = &quot;PostTweet&quot;)]
    //public static void PostTweet( string username, string password, string tweet)
    public static void PostTweet(   SqlString username,
                                    SqlString password,
                                    SqlString tweet)
    {
        try
        {
            // encode the username/password
            string user = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(username.ToString() + &quot;:&quot; + password.ToString()));
            // determine what we want to upload as a status
            byte[] bytes = System.Text.Encoding.ASCII.GetBytes(&quot;status=&quot; + tweet.ToString());

            // Create a WebPermission.
            WebPermission myWebPermission1 = new WebPermission();

            // Allow Connect access to the specified URLs.
            myWebPermission1.AddPermission(NetworkAccess.Connect,new Regex(&quot;http://www\\.twitter\\.com/.*&quot;,
              RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.Singleline));

            myWebPermission1.Demand();

            // connect with the update page
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(&quot;http://twitter.com/statuses/update.xml&quot;);

            // set the method to POST
            request.Method = &quot;POST&quot;;
            request.ServicePoint.Expect100Continue = false; // thanks to argodev for this recent change!
            // set the authorisation levels
            request.Headers.Add(&quot;Authorization&quot;, &quot;Basic &quot; + user);
            request.ContentType = &quot;application/x-www-form-urlencoded&quot;;
            // set the length of the content
            request.ContentLength = bytes.Length;

            // set up the stream
            Stream reqStream = request.GetRequestStream();
            // write to the stream
            reqStream.Write(bytes, 0, bytes.Length);
            // close the stream
            reqStream.Close();

            // Let's get the Response from Twitter
            var webresp = request.GetResponse();
            // Let's read the Response
            var sread = new StreamReader( webresp.GetResponseStream() );

            // Use SqlContext to return data to the QueryAnalyzer results window
            SqlContext.Pipe.Send( sread.ReadToEnd() );

        }
        catch (Exception exc)
        {
            // send error back
            SqlContext.Pipe.Send(exc.Message);
        }
    }
}
</pre>
<h3>Here&#8217;s the app.config for this assembly.</h3>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;configuration&gt;
  &lt;system.web&gt;
    &lt;trust level=&quot;Full&quot; processRequestInApplicationTrust=&quot;true&quot; originUrl=&quot;&quot; /&gt;
  &lt;/system.web&gt;
&lt;/configuration&gt;
</pre>
<p>Once you build this project, you should have your assembly ( tweetsproc.dll ) which will be used by your CLR Sproc.  Now it&#8217;s time to do some SQL server work.</p>
<h2>Enable CLR access for SQL server</h2>
<pre class="brush: sql; title: ; notranslate">
EXEC sp_configure @configname = 'clr enabled', @configvalue = 1
RECONFIGURE WITH OVERRIDE
GO
</pre>
<h2>Create the SQL Assembly</h2>
<pre class="brush: sql; title: ; notranslate">
CREATE ASSEMBLY tweetsproc_clr_assembly from 'C:\Users\eric\Desktop\blog\tweetsproc.dll'
WITH PERMISSION_SET = EXTERNAL_ACCESS
GO
</pre>
<h2>Create your SPROC</h2>
<pre class="brush: sql; title: ; notranslate">
CREATE PROC tweetsproc_tweet(	@username as nvarchar(50),
								@password as nvarchar(50),
								@tweet as nvarchar(140)
							)
AS
	-- [Assembly Name].[Class Name].[CLR function Name]
	EXTERNAL NAME tweetsproc_clr_assembly.tweetsproc.PostTweet
GO
</pre>
<h2>Tweet from a sproc</h2>
<pre class="brush: sql; title: ; notranslate">EXEC tweetsproc_tweet 'TwitterUsername', 'TwitterPassword', 'Hey @ericfickes, I''m tweeting from my database too!'</pre>
<p>Running this sproc returns the XML response from Twitter.</p>
<div id="attachment_1142" class="wp-caption aligncenter" style="width: 678px"><a href="http://ericfickes.com/wp-content/uploads/2010/03/tweetsproc_tweet-response1.png" rel="lightbox[1133]"><img class="size-full wp-image-1142" title="Twitter response from tweet sproc" src="http://ericfickes.com/wp-content/uploads/2010/03/tweetsproc_tweet-response1.png" alt="Twitter response from tweet sproc" width="668" height="719" /></a><p class="wp-caption-text">Tweetsproc returns the full Twitter response</p></div>
<p>That&#8217;s one sample CLR SPROC in the bank!  Feel free to download this code and try it out yourself.  I&#8217;d love to get some feedback on anybody looking to use this for real.  While tweeting from a stored procedure probably isn&#8217;t a hot topic for anybody, this is a nice teaser for what you can do with CLR sprocs now.</p>
<p><a title="CLR SPROC &gt; Tweetsproc sample code" href="http://ericfickes.com/code/tweetsproc.zip" target="_blank">Download code here.</a></p>
<p>Inside this zip you&#8217;ll find this.</p>
<ul>
<li>install.sql is everything you need to install this on your database</li>
<li>tweetsproc.dll is the twitter assembly used by the sproc</li>
<li>tweetsproc folder is the .net class library project</li>
</ul>
<div id="attachment_1139" class="wp-caption aligncenter" style="width: 289px"><a href="http://ericfickes.com/wp-content/uploads/2010/03/tweetsproczip.png" rel="lightbox[1133]"><img class="size-full wp-image-1139" title="Contents of tweetsproc.zip" src="http://ericfickes.com/wp-content/uploads/2010/03/tweetsproczip.png" alt="Contents of tweetsproc.zip" width="279" height="114" /></a><p class="wp-caption-text">Everything you need to get TWEETING from a sproc</p></div>
]]></content:encoded>
			<wfw:commentRss>http://ericfickes.com/2010/03/how-to-tweet-from-a-sql-crl-stored-procedure/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>From joke to AdobeMAX in 6 months</title>
		<link>http://ericfickes.com/2009/10/from-joke-to-adobemax-in-6-months/</link>
		<comments>http://ericfickes.com/2009/10/from-joke-to-adobemax-in-6-months/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 05:43:16 +0000</pubDate>
		<dc:creator>Eric Fickes</dc:creator>
				<category><![CDATA[adobe]]></category>
		<category><![CDATA[band]]></category>
		<category><![CDATA[cool]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[flash platform]]></category>
		<category><![CDATA[FLEX]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[ramblings]]></category>
		<category><![CDATA[social]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[360max]]></category>
		<category><![CDATA[adobemax]]></category>
		<category><![CDATA[aprilfools]]></category>
		<category><![CDATA[coderjun]]></category>
		<category><![CDATA[ericfickes]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[jokeband]]></category>
		<category><![CDATA[sonoflash]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[thecompilers]]></category>
		<category><![CDATA[yogascotty]]></category>

		<guid isPermaLink="false">http://ericfickes.com/?p=948</guid>
		<description><![CDATA[Hey, we should jam! Yeah, we totally should. No seriously, we should jam sometime. We can play bad 80s cover songs and play under the name April Fools. That&#8217;s the gist of how my current band formed. A handful of &#8230; <a href="http://ericfickes.com/2009/10/from-joke-to-adobemax-in-6-months/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hey, we should jam!  Yeah, we totally should.  No seriously, we should jam sometime.  We can play bad 80s cover songs and play under the name April Fools.</p>
<p>That&#8217;s the gist of how my current band formed.  A handful of computer programmers who used to play in bands decided it was time to get back on the music horse.  At first we had five or so people interested in jamming and seeing where things go.  A few jams later and we were down to the power trio that is now known as <a href="http://www.thecompilersband.com">The Compilers</a>.</p>
<p>The name of the group didn&#8217;t come around until a month or so after we had been jamming as the April Fool&#8217;s.  All three of us are internet programmers who work with Adobe&#8217;s Flash platform, as well as contribute to our local Adobe community.  About the time we officially became a power trio we were kicking around the idea of becoming the house band for our local user group meetings ( <a title="RMAUG : Rocky Mountain Adobe Users Group" href="http://www.rmaug.com/" target="_blank">RMAUG</a> ).  In the process of laughing this one out, we were asked by RMAUG to play an upcoming Adobe technical event that was happening in two weeks.  That technical event was the &#8220;<a title="The Compilers first gig was at the Magnolia Ballroom in Downtown Denver CO" href="http://fx4cf9denver.eventbrite.com/" target="_blank">Next Generation Flex &amp; Coldfusion Tour</a>&#8220;.</p>
<p>At first we were hesitant booking a show when we didn&#8217;t have a real band, or enough material to play a show.  Long story short, we decided to play the show, decided to name the band The Compilers, and decided we should probably integrate some sort of tech into this show.  We didn&#8217;t set out wanting to mix technology with music, it just seemed appropriate for this first gig to do something technical.  That technical music nugget is now known as Tweet Jam, our smash hit that plays tweets from <a title="follow The Compilers on twitter so you can hear yourself at our show" href="http://twitter.com/thecompilers" target="_blank">@thecompiler</a>&#8216;s Twitter timeline while the band plays underneath the robot voice.</p>
<p>That first show was fun, funny, and the beginning of an interesting musical project.  In the last six months we&#8217;ve played four shows, and we gave a presentation at the <a title="The Compilers talk about Geek rock with the Flash Platform" href="http://360max.wikispaces.com/Geek+Rock+with+the+Flash+Platform" target="_blank">360|MAX unconference</a> at <a title="Adobe MAX 2009 was off the hook!" href="http://2009.max.adobe.com/" target="_blank">Adobe MAX 2009</a> in Los Angeles, CA.  This really isn&#8217;t a lot of gigs, but considering we started this band in June, it&#8217;s been quite a whirlwind of musical and technical action.  Jun has built at least three versions of the TweetJam application, as well as integrated his midi foot controller with TheCompilers Flex player.  I&#8217;ve gotten pretty comfortable playing iPhone, made a few Flash movies for our set, and started looking into sound generation with <a title="Make music in AS3 using the Sonoflash library" href="http://www.sonoflash.com" target="_blank">Sonoflash</a>.  Scottie has been the mad scientist behind the green velvet curtain.  Drummer man, electric drummer man, sound man, idea man, recorder man, crazy Brazillian ghord instrument player.</p>
<p>It&#8217;s so great to be back in a band.  These last six months have been a blast, and it was all started from a few jokes.  Speaking of jokes, below you will find two flash movies that I built for our 360|MAX presentation, as well as our talk.  The concept of melding tech with music is new to us, so this talk was a bit off the cuff, but it was still a great time.</p>
<h3>360|MAX assets</h3>
<p><strong>It&#8217;s a Laser!</strong> &#8211; My first experiment with the <a title="Make music in AS3 using the Sonoflash library" href="http://www.sonoflash.com" target="_blank">Sonoflash</a> library.  Adjust your laser properties then click shoot.  Each slider has a keyboard listener.  Attack = A, Release = R, and Frequency = F.</p>
<div id="attachment_951" class="wp-caption aligncenter" style="width: 410px"><a href="http://ericfickes.com/code/thecompilers/sonolaser.html"><img class="size-full wp-image-951" title="sonoflash-laser" src="http://ericfickes.com/wp-content/uploads/2009/10/sonoflash-laser.png" alt="Click to launch the laser maker" width="400" height="171" /></a><p class="wp-caption-text">Click to launch the laser maker</p></div>
<p><strong>By Note</strong> &#8211; This sample is the beginning of layering sounds and controlling notes and octaves.  This one can play the major notes C, D, E, F, G, A, B using your keyboard and the play button.  The octave controller on the right is powered by mouseover, 1 is low and 9 is high.  The sounds also have keyboard listeners.  Laser = 1 and Ping = 2.  Note, the event listeners don&#8217;t kick in until after you&#8217;ve clicked a button, so it may be quirky at first.  I built this on the plane ride out to LA and couldn&#8217;t figure that one out.</p>
<div id="attachment_953" class="wp-caption aligncenter" style="width: 410px"><a href="http://ericfickes.com/code/thecompilers/sonoflizzash-bynote.html"><img class="size-full wp-image-953" title="Play by note" src="http://ericfickes.com/wp-content/uploads/2009/10/sonoflash-bynote.png" alt="Click to launch this madness" width="400" height="344" /></a><p class="wp-caption-text">Click to launch this madness</p></div>
<h3 style="text-align: center;">360|MAX presentation : &#8220;Geek Rock with the Flash Platform&#8221;</h3>
<p><center><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="220" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=7271593&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=c9ff23&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="220" src="http://vimeo.com/moogaloop.swf?clip_id=7271593&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=c9ff23&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
</center><br />
<a href="http://vimeo.com/7271593">@thecompilers at 360 MAX</a> from <a href="http://vimeo.com/bigusfickes">Eric Fickes</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<h3>411 on The Compilers</h3>
<p>Facebook : <a title="The Compilers will rock the party" href="http://www.facebook.com/pages/The-Compilers/110943240897" target="_blank">http://www.facebook.com/pages/The-Compilers/110943240897</a></p>
<p>MySpace : <a title="The Compilers will rock MySpace" href="http://www.myspace.com/compilers" target="_blank">http://www.myspace.com/compilers</a></p>
<p>Twitter : <a title="The Compilers definitely rock Twitter" href="http://twitter.com/thecompilers" target="_blank">http://twitter.com/thecompilers</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ericfickes.com/2009/10/from-joke-to-adobemax-in-6-months/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My first DestroyTwitter theme</title>
		<link>http://ericfickes.com/2009/04/my-first-destroytwitter-theme/</link>
		<comments>http://ericfickes.com/2009/04/my-first-destroytwitter-theme/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 17:43:08 +0000</pubDate>
		<dc:creator>Eric Fickes</dc:creator>
				<category><![CDATA[cool]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[destorytwitter]]></category>
		<category><![CDATA[dtgreen]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[themebuilder]]></category>

		<guid isPermaLink="false">http://ericfickes.com/?p=576</guid>
		<description><![CDATA[Currently my favorite Twitter desktop client is DestroyTwitter.  It doesn&#8217;t have all of the same features as TweetDeck and Twhirl, but it is light, snappy, and fun to use. One of the killer features is the online Theme Builder. I &#8230; <a href="http://ericfickes.com/2009/04/my-first-destroytwitter-theme/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Currently my favorite Twitter desktop client is <a title="Download DestroyTwitter today" href="http://destroytwitter.com/" target="_blank">DestroyTwitter</a>.  It doesn&#8217;t have all of the same features as TweetDeck and Twhirl, but it is light, snappy, and fun to use.</p>
<p style="text-align: center;">One of the killer features is the online <a title="DestroyTwitter's Theme Builder" href="https://destroytwitter.com/themebuilder" target="_blank">Theme Builder</a>.</p>
<div id="attachment_577" class="wp-caption aligncenter" style="width: 593px"><a href="https://destroytwitter.com/themebuilder" target="_blank"><img class="size-full wp-image-577" title="DestroyTwitter's online Theme Builder" src="http://ericfickes.com/wp-content/uploads/2009/04/picture-2.png" alt="DestoryTwitter Theme Builder" width="583" height="432" /></a><p class="wp-caption-text">DestoryTwitter Theme Builder</p></div>
<p style="text-align: center;">I created a simple green theme called <a title="DtGreen by ericfickes" href="https://destroytwitter.com/themes/6t" target="_blank">DtGreen</a>.</p>
<div id="attachment_575" class="wp-caption aligncenter" style="width: 581px"><a href="https://destroytwitter.com/themes/6t" target="_blank"><img class="size-full wp-image-575" title="DtGreen theme by Eric Fickes" src="http://ericfickes.com/wp-content/uploads/2009/04/picture-1.png" alt="DestroyTwitter theme DtGreen" width="571" height="252" /></a><p class="wp-caption-text">DestroyTwitter theme DtGreen</p></div>
]]></content:encoded>
			<wfw:commentRss>http://ericfickes.com/2009/04/my-first-destroytwitter-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update Twitter status from an HTML form</title>
		<link>http://ericfickes.com/2009/04/update-twitter-status-from-an-html-form/</link>
		<comments>http://ericfickes.com/2009/04/update-twitter-status-from-an-html-form/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 18:29:00 +0000</pubDate>
		<dc:creator>Eric Fickes</dc:creator>
				<category><![CDATA[fun]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[basic authentication]]></category>
		<category><![CDATA[html form]]></category>
		<category><![CDATA[update status]]></category>
		<category><![CDATA[xmlhttprequest]]></category>

		<guid isPermaLink="false">http://ericfickes.com/?p=550</guid>
		<description><![CDATA[UPDATE 5.28 : As you probably guessed I&#8217;ve been slacking on this, but I&#8217;d like to think of it more of just being temporarily roadblocked.  I did a little work on the HTML client and added the nice character count &#8230; <a href="http://ericfickes.com/2009/04/update-twitter-status-from-an-html-form/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE 5.28 : </strong> As you probably guessed I&#8217;ve been slacking on this, but I&#8217;d like to think of it more of just being temporarily roadblocked.  I did a little work on the HTML client and added the nice character count and everything, but can&#8217;t seem to figure out how to send the Basic Authentication header via Javascript.  I tapped into the XmlHttpRequest as well as a JQuery lib, but just couldn&#8217;t get it going.  As of now <a title="Update your Twitter status from this HTML page" href="http://ericfickes.com/stuff/status-update.html" target="_blank">my html twitter client does tweet</a>, but you&#8217;ll get the login prompt from twitter.com.  This is not good IMO which is why I haven&#8217;t posted anything yet.  I&#8217;ve since changed my focus to my AIR Yammer client, and probably adding Twitter support to that.  For anybody interested, <a title="Update your Twitter status from this HTML page" href="http://ericfickes.com/stuff/status-update.html" target="_blank">here&#8217;s my latest HTML twitter client in case you&#8217;d like to fix it up, or even use it for that matter</a>.  If you can make this work, please drop me a note, I&#8217;d love to see how you did it.</p>
<div id="attachment_841" class="wp-caption aligncenter" style="width: 391px"><a href="http://ericfickes.com/wp-content/uploads/2009/04/latest-html-tweet.png" rel="lightbox[550]"><img class="size-full wp-image-841" title="latest-html-tweet" src="http://ericfickes.com/wp-content/uploads/2009/04/latest-html-tweet.png" alt="Having a hard time getting the Basic Authentication header working in JS" width="381" height="471" /></a><p class="wp-caption-text">Having a hard time getting the Basic Authentication header working in JS</p></div>
<p><strong>UPDATE : </strong>When I was first messing with this little form, I didn&#8217;t realize I had already authenticated with Twitter and thought the hidden fields were in fact doing their jobs by passing the username and password.  Turns out that&#8217;s not the case.  When you submit this form, the status will be sent, but you will be presented with a username and password dialog from Twitter.  After logging, your status will be sent.  I know have a goal of figuring out how to make this simple HTML form work with Twitter.  Got a feeling I&#8217;ll have to do some javascript magic with OAuth.  Once I figure this out, this post will be updated with the latest html.</p>
<p><a href="http://twitter.com/ericfickes" target="_blank">@ericfickes</a></p>
<p>Here&#8217;s an easy way to update your Twitter status using a simple HTML form.  Be sure to replace <strong><span class="content"><span class="block" style="margin-left: 9px ! important;"><code class="string">{ TWITTER USERNAME }</code></span></span></strong><span class="content"><span class="block" style="margin-left: 9px ! important;"><code class="string">and</code></span></span><strong><span class="content"><span class="block" style="margin-left: 9px ! important;"><code class="string">{ TWITTER PASSWORD } </code></span></span></strong><span class="content"><span class="block" style="margin-left: 9px ! important;"><code class="string">with your information prior to using this for<strong>m.</strong></code></span></span><strong><span class="content"><span class="block" style="margin-left: 9px ! important;"><code class="string"><br />
</code></span></span></strong></p>
<pre class="brush: xml; title: ; notranslate">

&lt;form action=&quot;http://twitter.com/statuses/update.xml&quot; method=&quot;POST&quot; enctype=&quot;application/x-www-form-urlencoded&quot;&gt;

&lt;!-- set your Twitter username and password here --&gt;
&lt;input type=&quot;hidden&quot; name=&quot;user&quot; value=&quot;{ TWITTER USERNAME }&quot; /&gt;
&lt;input type=&quot;hidden&quot; name=&quot;pswd&quot; value=&quot;{ TWITTER PASSWORD }&quot; /&gt;

status &lt;input type=&quot;text&quot; name=&quot;status&quot; maxlength=&quot;140&quot; /&gt;
&lt;input type=&quot;submit&quot; value=&quot; tweet! &quot; /&gt;
&lt;/form&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://ericfickes.com/2009/04/update-twitter-status-from-an-html-form/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
	</channel>
</rss>

