<?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: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;AkUERnk7fip7ImA9WhRVFUs.&quot;"><id>tag:blogger.com,1999:blog-6270115668006358777</id><updated>2012-01-14T11:10:07.706-08:00</updated><category term="linux" /><category term="asp" /><category term="id3" /><category term="aircrack" /><category term="dropdownlist" /><category term="c charp" /><category term="logs" /><category term="override" /><category term="tutorial" /><category term="advertising" /><category term="art" /><category term="tricky errors" /><category term="freeware" /><category term="lyrics" /><category term="album" /><category term="help" /><category term="cs" /><category term="dell" /><category term="nch.com.au" /><category term="editor" /><category term="text" /><category term="wireless" /><category term="latitude" /><category term="ipod" /><category term="databinding" /><category term="errors" /><category term="managing" /><category term="class" /><category term="asp.net" /><category term=".net" /><category term="fix" /><category term="fling" /><category term="viewstate" /><category term="code" /><category term="ubuntu" /><category term="data" /><category term="itunes" /><category term="ftp" /><category term="bind" /><category term="System.Byte[]" /><category term="backup" /><title>Tech Rookies</title><subtitle type="html">What I come across as I learn my way up into tech world</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://techrookies.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://techrookies.blogspot.com/" /><author><name>hamy</name><uri>http://www.blogger.com/profile/05173763982680569234</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_DC5oy_CNoBU/SEc644_6vBI/AAAAAAAABak/J9XaJaiZQj0/S220/Nixon+Pics+063.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>15</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/TechRookies" /><feedburner:info uri="techrookies" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>TechRookies</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;DU8GSHc6eCp7ImA9WxdVGUw.&quot;"><id>tag:blogger.com,1999:blog-6270115668006358777.post-8444855888003605964</id><published>2008-07-24T09:32:00.000-07:00</published><updated>2008-07-24T09:43:49.910-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-24T09:43:49.910-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tricky errors" /><category scheme="http://www.blogger.com/atom/ns#" term="asp.net" /><category scheme="http://www.blogger.com/atom/ns#" term="managing" /><category scheme="http://www.blogger.com/atom/ns#" term="dropdownlist" /><title>Managing DataBound DropDownLists Properly</title><content type="html">So I found a tricky problem with databound DropDownLists that causes the selectedIndexChanged event to fire more than you probably intended. &lt;br /&gt;&lt;br /&gt;Normally when you add one - you might DataBind it, and then do something like&lt;br /&gt;&lt;br /&gt;my_ddl.Items.Add(new ListItem("Select . . . "));&lt;br /&gt;&lt;br /&gt;This can become tricky pretty fast if your DropDownList does anything major - like add a selection to a form. The problem is that dropdownlists seem to be loaded with a SelectedIndex of -1. This means that when they are unbound (aka have no data at all), they don't want to put 0 (because that would indicate an item) - so its a -1. &lt;br /&gt;&lt;br /&gt;So you bind your data, and then add a top level ListItem for convenience - and now the selected Index is 0 - so SelectedIndexChanged event fires!&lt;br /&gt;&lt;br /&gt;The simple fix is to force all of your DDL's to initialize to 0 - and always have a top item! That way, if a user selects the top item, the event does not fire, but any other databound item will work fine. &lt;br /&gt;&lt;br /&gt;So, in Page_load, do this&lt;br /&gt;&lt;br /&gt;protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;  if (IsPostBack)&lt;br /&gt;       return;&lt;br /&gt;&lt;br /&gt;  my_ddl.SelectedIndex = 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Note that this only needs to be done for databound controls / controls created programmatically. I have not extensively tested, so I am not 100% on what controls this affects, but I am pretty sure that ones created declaratively in the ASPX page will not have this problem&lt;br /&gt;&lt;br /&gt;Hamy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270115668006358777-8444855888003605964?l=techrookies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechRookies?a=ofyJNSQBbkY:xPAa7SDkdmI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechRookies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechRookies/~4/ofyJNSQBbkY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://techrookies.blogspot.com/feeds/8444855888003605964/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6270115668006358777&amp;postID=8444855888003605964" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/8444855888003605964?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/8444855888003605964?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechRookies/~3/ofyJNSQBbkY/managing-databound-dropdownlists.html" title="Managing DataBound DropDownLists Properly" /><author><name>hamy</name><uri>http://www.blogger.com/profile/05173763982680569234</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_DC5oy_CNoBU/SEc644_6vBI/AAAAAAAABak/J9XaJaiZQj0/S220/Nixon+Pics+063.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://techrookies.blogspot.com/2008/07/managing-databound-dropdownlists.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUHR3gyeip7ImA9WxdVGUw.&quot;"><id>tag:blogger.com,1999:blog-6270115668006358777.post-7459062807651124240</id><published>2008-07-21T22:30:00.000-07:00</published><updated>2008-07-24T09:50:36.692-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-24T09:50:36.692-07:00</app:edited><title>Blogger's Shortcomings</title><content type="html">To say the least, I am pretty disappointed in blogger so far.&lt;br /&gt;&lt;br /&gt;I can not add more tags - so if I post a 4 page tutorial (like the post just before this one) - my homepage is destroyed, rather than just showing a paragraph of the post and then a link to read the rest if you are interested. &lt;br /&gt;&lt;br /&gt;The back end editor is quite sad. I try to add code a lot. There is almost no easy way to get code to format correctly. &amp;lt;pre&amp;gt; tags don't seem to always work, and they have no convenient &amp;lt;code&amp;gt; tag. &lt;br /&gt;&lt;br /&gt;There is no way to add files. There is no nice upload interface or such. Come on - it's Google. Can't they even register your blog an email address and use that room as storage?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ill be switching back to wordpress as soon as I get a chance. &lt;br /&gt;&lt;br /&gt;~unhappy&lt;br /&gt;hamy&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PS - I do like the way blogger handles comments. Thats it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270115668006358777-7459062807651124240?l=techrookies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechRookies?a=wiWelMMi4pY:-c_8B5kV09U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechRookies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechRookies/~4/wiWelMMi4pY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://techrookies.blogspot.com/feeds/7459062807651124240/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6270115668006358777&amp;postID=7459062807651124240" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/7459062807651124240?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/7459062807651124240?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechRookies/~3/wiWelMMi4pY/bloggers-shortcomings.html" title="Blogger's Shortcomings" /><author><name>hamy</name><uri>http://www.blogger.com/profile/05173763982680569234</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_DC5oy_CNoBU/SEc644_6vBI/AAAAAAAABak/J9XaJaiZQj0/S220/Nixon+Pics+063.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://techrookies.blogspot.com/2008/07/bloggers-shortcomings.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEHQ385fip7ImA9WxdVF00.&quot;"><id>tag:blogger.com,1999:blog-6270115668006358777.post-7992307854234828729</id><published>2008-07-21T21:14:00.000-07:00</published><updated>2008-07-21T22:30:32.126-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-21T22:30:32.126-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="help" /><category scheme="http://www.blogger.com/atom/ns#" term="viewstate" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="asp" /><title>ViewState - A Quick Users Guide</title><content type="html">There are a lot of tutorials on ViewState. I have read quite a few of them, and this is meant to expand upon them by condensing information in an easy to understand format. Hope it helps.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;GamePlan&lt;/span&gt;&lt;br /&gt;I want to show you what ViewState can be used to store - with little to zero work on your part. I will start with the really simple stuff - then step it up a few times to finally end with Composite Controls (a custom control you make from other controls) with constructors.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;No Dynamics - All Static Content&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The first thing you will be told about viewstate is that declarative syntax is automatically stored. Example :&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;code&gt;&lt;br /&gt;--------------------------------&lt;br /&gt;ASPX&lt;br /&gt;&amp;lt;asp:dropdownlist id="ddl" runat="server" enableviewstate="true"&amp;gt;&lt;br /&gt;&amp;lt;asp:listitem text="1" value="1"&amp;gt;&amp;lt;/asp:listitem&amp;gt;&lt;br /&gt;&amp;lt;asp:listitem text="2" value="2"&amp;gt;&amp;lt;/asp:listitem&amp;gt;&lt;br /&gt;&amp;lt;asp:listitem text="3" value="3"&amp;gt;&amp;lt;/asp:listitem&amp;gt;&lt;br /&gt;&amp;lt;asp:listitem text="4" value="4"&amp;gt;&amp;lt;/asp:listitem&amp;gt;&amp;lt;/asp:dropdownlist&amp;gt;&lt;br /&gt;--------------------------------&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;This DDL will always be visible on the page. If you choose an item, and cause a postback - your item will still be selected. This is the first thing everyone see's - which leads a lot of people to get the illusion ViewState is 'magical'. This isn't true, it's easy to understand. I am not covering how it works right now, just how to use it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Programmatically Added Controls&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Here it gets a tad more interesting. I am programmatically adding a DDL to the page. The key is - if you &lt;span style="font-weight: bold;"&gt;add something after the page has been sent to the client once&lt;/span&gt; (this is a tad misleading, but its the really simple explanation) - then you&lt;span style="font-weight: bold;"&gt; must re-add it to the page EVERY time&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;--------------------------------&lt;br /&gt;ASPX&lt;br /&gt;&amp;lt;asp:panel id="panel" runat="server" enableviewstate="true"&amp;gt;&lt;br /&gt;&amp;lt;/asp:panel&amp;gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Code Behind&lt;br /&gt;protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;add_ddl();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;private void add_ddl()&lt;br /&gt;{&lt;br /&gt;DropDownList d = new DropDownList();&lt;br /&gt;panel.Controls.Add(d);&lt;br /&gt;&lt;br /&gt;if (d.Items.Count == 0)&lt;br /&gt;{&lt;br /&gt;d.Items.Add("First");&lt;br /&gt;d.Items.Add("Second");&lt;br /&gt;d.Items.Add("Third");&lt;br /&gt;d.EnableViewState = true;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;--------------------------------&lt;br /&gt;&lt;/pre&gt;&lt;ul&gt;&lt;li&gt;So - the nifty part is that via some .NET naming stuff and fancy tricks - Your settings will be restored - even though it is technically a 'new' control! What this means is that you can programmatically add two controls, change their settings, and cause a postback - and re-add new controls in the same place - and they will still have the settings you chose before!&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Composite Control Without Special Constructor&lt;/span&gt;&lt;br /&gt;So - this will show you how to build a simple composite control. The nice thing is that this example is really the exact same as the last one - just with a composite control. All you have to do is (assuming you add your composite control at run-time, aka in the Code Behind and not in the aspx) re-add your control and any values you choose before will be automatically persisted. Pretty neat.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;--------------------------------&lt;br /&gt;Code Behind&lt;br /&gt;{ . . .&lt;br /&gt;&lt;br /&gt;protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;    add_ddl();&lt;br /&gt;&lt;br /&gt;    panel.Controls.Add(new Add_Composite_Control());&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;. . . }&lt;br /&gt;&lt;br /&gt;public class Add_Composite_Control:CompositeControl&lt;br /&gt;{&lt;br /&gt;private DropDownList dl;&lt;br /&gt;&lt;br /&gt;protected override void CreateChildControls()&lt;br /&gt;{&lt;br /&gt;    Controls.Clear();&lt;br /&gt;    CreateControlHierarchy();&lt;br /&gt;    ClearChildViewState();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;protected virtual void CreateControlHierarchy()&lt;br /&gt;{&lt;br /&gt;    dl = new DropDownList();&lt;br /&gt;&lt;br /&gt;    dl.Items.Add("Custom 1");&lt;br /&gt;    dl.Items.Add("Custom 2");&lt;br /&gt;    dl.Items.Add("Custom 3");&lt;br /&gt;&lt;br /&gt;    Controls.Add(dl);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;--------------------------------&lt;span style="font-family:Georgia,serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Once again, the nifty thing here is that .NET naming classes can "remember" the right names for everything, so your changes persist across postbacks. So - try it out. Add two of these controls to the page, and vary their values. Cause a Postback - and the controls will be re-created with the values they had before.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Composite Control With Special Constructor&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;This is the hardest example I am going to show you. It involves manually setting stuff in the ViewState. Up until now, we have just had to re-add controls and everything has been quite easy.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;We need to set ViewState variables because we need to re-add the controls to the page. And without the constructor arguments, we cannot re-add anything. Note that we do not have to remember what value was selected, or anything like that. We are still using ViewState to it's full advantage. All we need to be able to do is re-add the controls&lt;/li&gt;&lt;/ul&gt;&lt;pre&gt;--------------------------------&lt;span style="font-family:Georgia,serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;ASPX&lt;br /&gt; &amp;lt;asp:Panel ID="panel1" runat="server"&amp;gt;&lt;br /&gt;&amp;lt;/asp:Panel&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;asp:Button Text="Add Control" ID="btn2" runat="server" OnClick="Add_Control" /&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Code Behind&lt;br /&gt;&lt;br /&gt;{ . . .&lt;br /&gt;&lt;br /&gt; protected void Page_Load(object sender, EventArgs e)&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt;     if (ViewState["storage"] != null)&lt;br /&gt;     {&lt;br /&gt;         // Create the regex&lt;br /&gt;         string variables1 = (string)ViewState["storage"];&lt;br /&gt;         Regex reg = new Regex(@"\|(?&lt;name&gt;.+?),(?&lt;id&gt;.+?);");&lt;br /&gt;         Match m = reg.Match(variables1);&lt;br /&gt;&lt;br /&gt;         // extract the variables&lt;br /&gt;         while (m.Success)&lt;br /&gt;         {&lt;br /&gt;             string varname = m.Groups["name"].ToString();&lt;br /&gt;             string id = m.Groups["id"].ToString();&lt;br /&gt;             panel1.Controls.Add(new Log_Format_Variable(varname, id));&lt;br /&gt;             m = m.NextMatch();&lt;br /&gt;         }&lt;br /&gt;     }&lt;br /&gt; }&lt;br /&gt; protected void Add_Control(object obj, EventArgs e)&lt;br /&gt; {&lt;br /&gt;     Random r = new Random();&lt;br /&gt;     int rand = r.Next(1,3);&lt;br /&gt;&lt;br /&gt;     if (rand == 1)&lt;br /&gt;     {&lt;br /&gt;         panel1.Controls.Add(new Log_Format_Variable("var_one", "1"));&lt;br /&gt;         ViewState["storage"] += "|var_one,1;";&lt;br /&gt;     }&lt;br /&gt;     if (rand == 2)&lt;br /&gt;     {&lt;br /&gt;         panel1.Controls.Add(new Log_Format_Variable("var_two", "2"));&lt;br /&gt;         ViewState["storage"] += "|var_two,2;";&lt;br /&gt;     }&lt;br /&gt;     if (rand == 3)&lt;br /&gt;     {&lt;br /&gt;         panel1.Controls.Add(new Log_Format_Variable("var_three", "3"));&lt;br /&gt;         ViewState["storage"] += "|var_three,3;";&lt;br /&gt;     }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;. . . }&lt;br /&gt;&lt;br /&gt;public class Log_Format_Variable : CompositeControl&lt;br /&gt;{&lt;br /&gt; private DropDownList d;&lt;br /&gt; private string var_ID;&lt;br /&gt; private string varname;&lt;br /&gt;&lt;br /&gt; public Log_Format_Variable(string varname, string var_ID)&lt;br /&gt; {&lt;br /&gt;     this.var_ID = var_ID;&lt;br /&gt;     this.varname = varname;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; protected override void CreateChildControls()&lt;br /&gt; {&lt;br /&gt;     Controls.Clear();&lt;br /&gt;     CreateControlHierarchy();&lt;br /&gt;     ClearChildViewState();&lt;br /&gt; }&lt;br /&gt; protected virtual void CreateControlHierarchy()&lt;br /&gt; {&lt;br /&gt;     Label l = new Label();&lt;br /&gt;     l.Text = "Function for " + varname;&lt;br /&gt;&lt;br /&gt;     LiteralControl lc1 = new LiteralControl("     ");&lt;br /&gt;&lt;br /&gt;     d = new DropDownList();&lt;br /&gt;     d.Items.Add(new ListItem("Sum", "SUM"));&lt;br /&gt;     d.Items.Add(new ListItem("Average", "AVG"));&lt;br /&gt;     d.Items.Add(new ListItem("Max", "MAX"));&lt;br /&gt;     d.Items.Add(new ListItem("Min", "MIN"));&lt;br /&gt; &lt;br /&gt;     LiteralControl lc2 = new LiteralControl("&lt;br /&gt;");&lt;br /&gt;&lt;br /&gt;     this.Controls.Add(l);&lt;br /&gt;     this.Controls.Add(lc1);&lt;br /&gt;     this.Controls.Add(d);&lt;br /&gt;     this.Controls.Add(lc2);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/id&gt;&lt;/name&gt;&lt;/pre&gt;&lt;br /&gt;So, basically all I am doing extra here is saving the information needed to re-call the constructors. I use a small schema to save the constructor info - the "|varname,var_id;" scheme makes it simple for me to get the info back out of the ViewState, but this is really not necessary - there are many better ways to store the info. The Add_Control just lets me add a few random comtrols, and it does not matter if two controls have the same constructor information. Every CompositeControl implements a Naming interface, which means that all things belonging to that control have a unique prefix. Hence, if two controls have the same constructor info - they are still regarded as two separate entities. So - try this out. You can create as many of these as you would like, and they will all be able to remember their values across subsequent postbacks.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;WrapUp&lt;/span&gt;&lt;a href="http://wearevanderbilt.com/techrookies/ViewState_tests.zip"&gt;&lt;br /&gt;Here is the source code for the entire project - which includes all of the control types listed above. &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Things to note&lt;br /&gt;&lt;ul&gt;&lt;li&gt;This probably did not help you understand at all why viewstate works. Please read up on that to get the full picture&lt;/li&gt;&lt;li&gt;To cause a postback, just add a button to your ASPX page. Don't assign it an OnClick value, and it will simply postback and do nothing else&lt;/li&gt;&lt;li&gt;ViewState information is saved on the CLIENT side - and can thus be victim to a few things. Notably, someone can tamper with it. It is weakly encrypted and can be easily changed.&lt;/li&gt;&lt;li&gt;Again about the client side - this means larger pages, larger page load times, etc. Long story short, don't store a lot of information in the ViewState. &lt;/li&gt;&lt;li&gt;ViewState is enabled by default. All of my enableviewstate="true" are just for clarity. You don't need them&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Please let me know if I have goofed anything or could have done something better. This is not meant to be an in-depth guide to understanding ViewState, but rather a quick-flip guide to using it easily.&lt;br /&gt;&lt;br /&gt;Hamy&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;References&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms972976.aspx"&gt;Understanding ASP.NET ViewState by Scott Mitchell&lt;/a&gt;&lt;br /&gt;&lt;a href="http://scottonwriting.net/sowblog/posts/2129.aspx"&gt;Control Building and ViewState Lesson for the Day&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.binaryfortress.com/aspnet-viewstate-helper/"&gt;Binary Fortress ViewState Helper Tool&lt;/a&gt;&lt;br /&gt;There is at least one significant other site that I sadly cannot remember the name of. There are also a significant number of small helper sites.&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:Georgia,serif;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270115668006358777-7992307854234828729?l=techrookies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechRookies?a=gXH2FL1xCMI:_PBsS5B2QY0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechRookies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechRookies/~4/gXH2FL1xCMI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://techrookies.blogspot.com/feeds/7992307854234828729/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6270115668006358777&amp;postID=7992307854234828729" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/7992307854234828729?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/7992307854234828729?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechRookies/~3/gXH2FL1xCMI/viewstate-quick-users-guide.html" title="ViewState - A Quick Users Guide" /><author><name>hamy</name><uri>http://www.blogger.com/profile/05173763982680569234</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_DC5oy_CNoBU/SEc644_6vBI/AAAAAAAABak/J9XaJaiZQj0/S220/Nixon+Pics+063.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://techrookies.blogspot.com/2008/07/viewstate-quick-users-guide.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04MR3oyfyp7ImA9WxdVFkQ.&quot;"><id>tag:blogger.com,1999:blog-6270115668006358777.post-8542771070113742493</id><published>2008-07-21T21:01:00.000-07:00</published><updated>2008-07-21T21:13:06.497-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-21T21:13:06.497-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="data" /><category scheme="http://www.blogger.com/atom/ns#" term=".net" /><category scheme="http://www.blogger.com/atom/ns#" term="asp.net" /><category scheme="http://www.blogger.com/atom/ns#" term="bind" /><category scheme="http://www.blogger.com/atom/ns#" term="databinding" /><category scheme="http://www.blogger.com/atom/ns#" term="System.Byte[]" /><category scheme="http://www.blogger.com/atom/ns#" term="errors" /><category scheme="http://www.blogger.com/atom/ns#" term="dropdownlist" /><category scheme="http://www.blogger.com/atom/ns#" term="asp" /><title>When Databinding results in System.Byte[]</title><content type="html">So - quite a few people seem to be having an issue with DataBinding to any sort of control (Dropdownlist, DataGrid, etc) resulting in the bound control printing out System.Byte[]. This may not be the one true answer, but it is definitely one of them.&lt;br /&gt;&lt;br /&gt;I noticed a lot of people (like myself) were having trouble with MySql - specifically connector/net. The solution is simple, and probably affects other database storage engines just as well.&lt;br /&gt;&lt;br /&gt;Basically - the just of it was this - here is my code to bind a DropDownList. Pretty readable stuff&lt;br /&gt;&lt;code&gt;&lt;br /&gt;----------------------------&lt;br /&gt;string sql = "CALL Get_LFID_info('" + ddl_Log_Formats_1.SelectedValue + "');";&lt;br /&gt;DataTable dts = ExecuteMySqlAdapter(sql);&lt;br /&gt;relation1.DataSource = dts;&lt;br /&gt;relation1.DataTextField = "extended_varname";&lt;br /&gt;relation1.DataValueField = "variable_id";&lt;br /&gt;relation1.DataBind();&lt;br /&gt;----------------------------&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The issue with this case was that my procedure calculated the result of "extended_varname" - which means that it was created by doing a SELECT CONCAT(name,".",id) sort of deal. Which meant there was no column type associated with it. The solution - pretty simple. Just cast the result. I did this - SELECT CAST(CONCAT(name,".",id) AS CHAR) AS extended_varname  . While I believe that you might be able to so that simpler, it was the easy answer. If I figure out a better way to cast it, I will let you know - but the point is the general idea that the column needs to have a specific type associated with it before MySql Connector can correctly convert the rows to strings - any System.Byte[] result generally indicates a cast went wrong somewhere.&lt;br /&gt;&lt;br /&gt;Hope that helps&lt;br /&gt;-Hamy&lt;br /&gt;&lt;br /&gt;References&lt;br /&gt;&lt;a href="http://dev.mysql.com/doc/refman/5.0/en/type-conversion.html"&gt;mysql type conversion&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270115668006358777-8542771070113742493?l=techrookies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechRookies?a=iaCkiVka3SI:mKJcK_VZhBE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechRookies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechRookies/~4/iaCkiVka3SI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://techrookies.blogspot.com/feeds/8542771070113742493/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6270115668006358777&amp;postID=8542771070113742493" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/8542771070113742493?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/8542771070113742493?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechRookies/~3/iaCkiVka3SI/when-databinding-results-in-systembyte.html" title="When Databinding results in System.Byte[]" /><author><name>hamy</name><uri>http://www.blogger.com/profile/05173763982680569234</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_DC5oy_CNoBU/SEc644_6vBI/AAAAAAAABak/J9XaJaiZQj0/S220/Nixon+Pics+063.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://techrookies.blogspot.com/2008/07/when-databinding-results-in-systembyte.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQHQHk4fyp7ImA9WxdWEEk.&quot;"><id>tag:blogger.com,1999:blog-6270115668006358777.post-6421249138123075835</id><published>2008-07-02T15:58:00.001-07:00</published><updated>2008-07-02T16:12:11.737-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-02T16:12:11.737-07:00</app:edited><title>Bypass Security so you can play Flash videos and Games</title><content type="html">So, if you have ever been at a work/school/restricted computer and cannot play Flash games or videos, good news! There is an easy workaround even if the installers will not work.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Step 1&lt;/span&gt;   -   install Firefox&lt;br /&gt;&lt;ul&gt;&lt;li&gt;get the file from http://www.mozilla.com/en-US/firefox/&lt;/li&gt;&lt;li&gt;Run the installer, and choose &lt;span style="font-weight: bold;"&gt;Custom&lt;/span&gt; installation&lt;/li&gt;&lt;li&gt;You want to install it inside the My Documents folder&lt;/li&gt;&lt;li&gt;Preferably, create a folder inside your My Documents called FireFox and install it there&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:130%;"&gt;Step 2&lt;/span&gt; - download the Flash plugin&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Right click and choose 'Save as' on the following link&lt;/li&gt;&lt;li&gt;http://fpdownload.macromedia.com/get/flashplayer/xpi/current/flashplayer-win.xpi&lt;/li&gt;&lt;li&gt;Rename the file to flashplayer-win.zip&lt;/li&gt;&lt;li&gt;If you get a warning, ignore&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:130%;"&gt;step 3&lt;/span&gt; - install the plugin manually&lt;br /&gt;&lt;ul&gt;&lt;li&gt;open the firefox folder plugins folder&lt;br /&gt;&lt;/li&gt;&lt;li&gt;probably located somewhere like this:&lt;/li&gt;&lt;li&gt;C:\Documents and Settings\My_User_Name\My Documents\FireFox\plugins&lt;/li&gt;&lt;li&gt;Open the flashplayer-win.zip and copy two files into your plugins directory&lt;/li&gt;&lt;li&gt;You will need to copy over NPSWF32.dll (required) and NPSWF32_FlashUtil.exe (optional, just help files)&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:130%;"&gt;Step 4 - restart flash and start browsing!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hope that helps someone. A little reasoning behind what we did:&lt;br /&gt;We installed into the my documents folder so that no matter what user you are, you have full permissions to write, execute, and modify files (basically gets rid of that annoying "you need to be an administrator to do this" dialog)&lt;br /&gt;*.xpi files are the same thing as *.zip files, just with a different extension. They can be renamed easily and that gives easy access to all the files we need&lt;br /&gt;&lt;br /&gt;Hamy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270115668006358777-6421249138123075835?l=techrookies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechRookies?a=OvPFErSvjHM:_0WBql3i7UU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechRookies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechRookies/~4/OvPFErSvjHM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://techrookies.blogspot.com/feeds/6421249138123075835/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6270115668006358777&amp;postID=6421249138123075835" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/6421249138123075835?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/6421249138123075835?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechRookies/~3/OvPFErSvjHM/bypass-security-so-you-can-play-flash.html" title="Bypass Security so you can play Flash videos and Games" /><author><name>hamy</name><uri>http://www.blogger.com/profile/05173763982680569234</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_DC5oy_CNoBU/SEc644_6vBI/AAAAAAAABak/J9XaJaiZQj0/S220/Nixon+Pics+063.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://techrookies.blogspot.com/2008/07/bypass-security-so-you-can-play-flash.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQMSX06fip7ImA9WxdWEE4.&quot;"><id>tag:blogger.com,1999:blog-6270115668006358777.post-3748914567903626878</id><published>2008-07-02T13:24:00.001-07:00</published><updated>2008-07-02T13:26:28.316-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-02T13:26:28.316-07:00</app:edited><title>How do you know when to take a break from Developing?</title><content type="html">So, how do you know when to take a break from developing? Here's how:&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;h2&gt; &lt;i&gt;User 'hamy' has exceeded the 'max_connections_per_hour' resource (current value: 9999)&lt;/i&gt;&lt;/h2&gt;&lt;br /&gt;(If you don't know - this means that in one hour I connected to mysql over 9999 times)&lt;br /&gt;&lt;br /&gt;Obviously, I am working on a DB intensive program - Its point is to enable logging, unit testing, and metric graphing that can be setup in a matter of fifteen minutes, easily changes and thrown away.&lt;br /&gt;&lt;br /&gt;:)&lt;br /&gt;&lt;br /&gt;hamy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270115668006358777-3748914567903626878?l=techrookies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechRookies?a=JWRblbk4IHQ:QK1KQi4Ezc0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechRookies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechRookies/~4/JWRblbk4IHQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://techrookies.blogspot.com/feeds/3748914567903626878/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6270115668006358777&amp;postID=3748914567903626878" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/3748914567903626878?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/3748914567903626878?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechRookies/~3/JWRblbk4IHQ/how-do-you-know-when-to-take-break-from.html" title="How do you know when to take a break from Developing?" /><author><name>hamy</name><uri>http://www.blogger.com/profile/05173763982680569234</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_DC5oy_CNoBU/SEc644_6vBI/AAAAAAAABak/J9XaJaiZQj0/S220/Nixon+Pics+063.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://techrookies.blogspot.com/2008/07/how-do-you-know-when-to-take-break-from.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8DRH46fSp7ImA9WxdQGU8.&quot;"><id>tag:blogger.com,1999:blog-6270115668006358777.post-2431568733043643997</id><published>2008-06-17T12:45:00.000-07:00</published><updated>2008-06-19T19:27:55.015-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-19T19:27:55.015-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="help" /><category scheme="http://www.blogger.com/atom/ns#" term="text" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="editor" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title>How to view stuff on linux</title><content type="html">So, I have been learning a butt load about linux lately. This means I have hardly scratched the ice berg, but just in case someone finds themselves as lost as I was at first, here is a &lt;span style="font-weight: bold;"&gt;quick list of commands to view files on Linux&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;If you open a terminal, and navigate around a little (if you don't know how to navigate, try Googleing change directory) eventually you find a file that you want to open and read/edit&lt;br /&gt;&lt;br /&gt;Sometimes this read/edit stuff can be hard, so here are a few things to try:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;vim filename&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;gedit filename&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;emacs filename&lt;br /&gt;edit filename&lt;br /&gt;less filename&lt;br /&gt;more filename&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;If all else fails, you can do &lt;span style="color: rgb(51, 204, 0);"&gt;cat filename&lt;/span&gt;, which just prints out the contents to the terminal, no editing allowed.&lt;br /&gt;&lt;br /&gt;To exit out of those text editors can also be challenging. Try&lt;span style="color: rgb(51, 204, 0);"&gt; Esc&lt;/span&gt;, or hit &lt;span style="color: rgb(51, 204, 0);"&gt;:&lt;/span&gt; then &lt;span style="color: rgb(51, 204, 0);"&gt;q&lt;/span&gt;. The : tells it you want to issue a command, and q is for quit(or quit/save). I am sure there are others, like quit and no save, but you will have to look those up on your own.&lt;br /&gt;&lt;br /&gt;hamy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270115668006358777-2431568733043643997?l=techrookies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechRookies?a=G7q9d_TmZF8:qjSLJW252Nw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechRookies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechRookies/~4/G7q9d_TmZF8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://techrookies.blogspot.com/feeds/2431568733043643997/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6270115668006358777&amp;postID=2431568733043643997" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/2431568733043643997?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/2431568733043643997?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechRookies/~3/G7q9d_TmZF8/how-to-view-stuff-on-linux.html" title="How to view stuff on linux" /><author><name>hamy</name><uri>http://www.blogger.com/profile/05173763982680569234</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_DC5oy_CNoBU/SEc644_6vBI/AAAAAAAABak/J9XaJaiZQj0/S220/Nixon+Pics+063.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://techrookies.blogspot.com/2008/06/how-to-view-stuff-on-linux.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8FQXszfyp7ImA9WxdQGEg.&quot;"><id>tag:blogger.com,1999:blog-6270115668006358777.post-5769567531884159537</id><published>2008-06-09T11:02:00.000-07:00</published><updated>2008-06-18T22:53:30.587-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-18T22:53:30.587-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="dell" /><category scheme="http://www.blogger.com/atom/ns#" term="latitude" /><category scheme="http://www.blogger.com/atom/ns#" term="aircrack" /><category scheme="http://www.blogger.com/atom/ns#" term="wireless" /><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu" /><title>Getting aircrack to work on Dell Latitude D620 using Ubuntu</title><content type="html">&lt;span style="color: rgb(51, 51, 255);"&gt;Update - I have gotten this working and am working on writing a basic intro to how I did it. Before I do that, however, I would like to basically try it from scratch again to make sure I can write a decent tutorial. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, I am trying to get aircrack installed on Ubuntu.  I have never been able to get a wireless card to capture in 'promiscuous ' mode, meaning (as I understand it) that it not only captures the packets to/from you, but also all the packets to/from everyone else that are in range of your card.&lt;br /&gt;&lt;br /&gt;So, figured I would give it a shot. So far its a spotty road.&lt;br /&gt;Started with this nice tutorial&lt;br /&gt;http://www.aircrack-ng.org/doku.php?id=getting_started&lt;br /&gt;&lt;br /&gt;Sadly, my card was not listed ;0 . Following the recommendation, I Google &lt;my&gt;Linux, which brings me to this lovely article&lt;br /&gt;http://intellinuxwireless.org/?&lt;br /&gt;Note: The iwlwifi project provides a driver which utilizes the  mac80211 subsystem for the  Intel® Wireless WiFi Link 4965AGN and Intel® PRO/Wireless 3945ABG Network Connection adapters.&lt;br /&gt;&lt;br /&gt;So, I get busy trying to install the mac80211 stuff. I go through a lot of stuff, but the final result is not so good. One thing to note that is not on their page about install the subsystem, got off &lt;a href="http://kuscsik.blogspot.com/2007/06/how-to-install-intel-4965-wireless.html"&gt;zolton's blog&lt;/a&gt;  was this line&lt;br /&gt;&lt;code style="color: rgb(51, 204, 0);"&gt;sudo ln -s  /usr/src/linux-headers-`uname -r` /lib/modules/`uname -r`/source&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Otherwise your compilation fails b/c it cannot find anything in the /source folder.&lt;br /&gt;&lt;br /&gt;So, I managed to make, and then make_install. Sadly, I got weird errors make modules module_install stage on the &lt;a href="http://intellinuxwireless.org/?p=mac80211&amp;amp;n=howto-mac80211"&gt;how to install mac80211 subsystem page&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;turns out that with ubuntu 8.04 there is a bug in the kernal, and its not exactly a breeze to get it working till that is fixed.&lt;br /&gt;&lt;br /&gt;So, I twiddle my thumbs for a bit and head on over to &lt;a href="http://linuxwireless.org/en/users/Download"&gt;the compat-wireless project&lt;/a&gt;. So far, its going well. I have DLed the tar, ungipped, and we are compiling ;)&lt;br /&gt;&lt;br /&gt;Post updates if I get it working.&lt;/my&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270115668006358777-5769567531884159537?l=techrookies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechRookies?a=vpStQLGloCU:teTdUzelht8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechRookies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechRookies/~4/vpStQLGloCU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://techrookies.blogspot.com/feeds/5769567531884159537/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6270115668006358777&amp;postID=5769567531884159537" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/5769567531884159537?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/5769567531884159537?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechRookies/~3/vpStQLGloCU/getting-aircrack-to-work-on-dell.html" title="Getting aircrack to work on Dell Latitude D620 using Ubuntu" /><author><name>hamy</name><uri>http://www.blogger.com/profile/05173763982680569234</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_DC5oy_CNoBU/SEc644_6vBI/AAAAAAAABak/J9XaJaiZQj0/S220/Nixon+Pics+063.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://techrookies.blogspot.com/2008/06/getting-aircrack-to-work-on-dell.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8ERno_eyp7ImA9WxdRGUg.&quot;"><id>tag:blogger.com,1999:blog-6270115668006358777.post-7572061870699671630</id><published>2008-06-08T13:59:00.001-07:00</published><updated>2008-06-08T14:00:07.443-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-08T14:00:07.443-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="c charp" /><category scheme="http://www.blogger.com/atom/ns#" term="help" /><category scheme="http://www.blogger.com/atom/ns#" term="class" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="cs" /><category scheme="http://www.blogger.com/atom/ns#" term="override" /><category scheme="http://www.blogger.com/atom/ns#" term="errors" /><category scheme="http://www.blogger.com/atom/ns#" term="fix" /><title>Weird C Sharp Errors I ran into today</title><content type="html">So, I just spent a while trying to fix these CS errors:&lt;br /&gt;&lt;br /&gt;c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\cuts_try_3\9354e1fa\4cc0037f\App_Web_drt6meif.2.cs(237,29): error CS0115: 'ASP.savedcharts_aspx.GetTypeHashCode()': no suitable method found to override&lt;br /&gt;c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\cuts_try_3\9354e1fa\4cc0037f\App_Web_drt6meif.2.cs(242,30): error CS0115: 'ASP.savedcharts_aspx.ProcessRequest(System.Web.HttpContext)': no suitable method found to override&lt;br /&gt;c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\cuts_try_3\9354e1fa\4cc0037f\App_Web_drt6meif.2.cs(128,18): error CS0535: 'ASP.savedcharts_aspx' does not implement interface member 'System.Web.IHttpHandler.IsReusable'&lt;br /&gt;&lt;br /&gt;After a reasonable amount of time, I realized one of my files is named SavedCharts.aspx&lt;br /&gt;&lt;br /&gt;So, whats the problem? When you choose place code in a separate file (aka code behind), .NET auto generates that file for you. Supercool. The problem comes when you rename the newly created file (like renaming default.aspx to, lets say, savedcharts.aspx). Sometimes, the class name in the code behind file does not get changed.&lt;br /&gt;&lt;br /&gt;Here is a quick example that would throw these errors:&lt;br /&gt;&lt;br /&gt;&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; MasterPageFile=&amp;quot;~/MasterPage.master&amp;quot; AutoEventWireup=&amp;quot;true&amp;quot; CodeFile=&amp;quot;CreateNewUT.aspx.cs&amp;quot; &amp;lt;span style=&amp;quot;color: rgb(51, 204, 0);&amp;quot;&amp;gt;Inherits=&amp;quot;CreateNewUT&amp;quot;&amp;lt;/span&amp;gt; Title=&amp;quot;Untitled Page&amp;quot; %&amp;gt;&lt;br /&gt;&amp;lt;-- insert asp/html page here --&amp;gt;&lt;br /&gt;&lt;br /&gt;public partial class&amp;lt;span style=&amp;quot;color: rgb(255, 153, 0);&amp;quot;&amp;gt; Default :&amp;lt;/span&amp;gt; System.Web.UI.Page&lt;br /&gt;{&lt;br /&gt; protected void Page_Load(object sender, EventArgs e)&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The problem is, I changed my page, and told it to inherit from  class CreateNewUT. But, I didnt rename the class in my code behind page. To Fix:&lt;br /&gt;&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; MasterPageFile=&amp;quot;~/MasterPage.master&amp;quot; AutoEventWireup=&amp;quot;true&amp;quot; CodeFile=&amp;quot;CreateNewUT.aspx.cs&amp;quot; &amp;lt;span style=&amp;quot;color: rgb(51, 204, 0);&amp;quot;&amp;gt;Inherits=&amp;quot;CreateNewUT&amp;quot;&amp;lt;/span&amp;gt; Title=&amp;quot;Untitled Page&amp;quot; %&amp;gt;&lt;br /&gt;&amp;lt;-- insert asp/html page here --&amp;gt;&lt;br /&gt;&lt;br /&gt;public partial class&amp;lt;span style=&amp;quot;color: rgb(255, 153, 0);&amp;quot;&amp;gt; &amp;lt;span style=&amp;quot;color: rgb(102, 255, 153);&amp;quot;&amp;gt;CreateNewUT :&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; System.Web.UI.Page&lt;br /&gt;{&lt;br /&gt; protected void Page_Load(object sender, EventArgs e)&lt;br /&gt; {&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hope that helps someone ;) Don't know why VS and/or VWD 2008 seem to correctly rename the class some and not some, but hopefully that gets ironed out soon.&lt;br /&gt;&lt;br /&gt;Hamy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270115668006358777-7572061870699671630?l=techrookies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechRookies?a=U40U_hANJGs:CETxmtintSM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechRookies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechRookies/~4/U40U_hANJGs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://techrookies.blogspot.com/feeds/7572061870699671630/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6270115668006358777&amp;postID=7572061870699671630" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/7572061870699671630?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/7572061870699671630?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechRookies/~3/U40U_hANJGs/weird-c-sharp-errors-i-ran-into-today.html" title="Weird C Sharp Errors I ran into today" /><author><name>hamy</name><uri>http://www.blogger.com/profile/05173763982680569234</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_DC5oy_CNoBU/SEc644_6vBI/AAAAAAAABak/J9XaJaiZQj0/S220/Nixon+Pics+063.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://techrookies.blogspot.com/2008/06/weird-c-sharp-errors-i-ran-into-today.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UFRng7fip7ImA9WxdQGEg.&quot;"><id>tag:blogger.com,1999:blog-6270115668006358777.post-6009055947384060929</id><published>2008-06-06T18:38:00.000-07:00</published><updated>2008-06-18T23:00:17.606-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-18T23:00:17.606-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="nch.com.au" /><category scheme="http://www.blogger.com/atom/ns#" term="logs" /><category scheme="http://www.blogger.com/atom/ns#" term="ftp" /><category scheme="http://www.blogger.com/atom/ns#" term="fling" /><category scheme="http://www.blogger.com/atom/ns#" term="advertising" /><category scheme="http://www.blogger.com/atom/ns#" term="backup" /><category scheme="http://www.blogger.com/atom/ns#" term="freeware" /><title>FTP Backup</title><content type="html">So, today I started using &lt;span style="font-weight: bold;"&gt;Fling, a nifty little freeware FTP backup utility&lt;/span&gt; that lets me create a folder (call it BackedUp for me) and put whatever I want in there to be backed up to my server. Pretty cool huh?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;All in all, great simple product.&lt;/span&gt; I would recommend, and i found a good source for freeware in the meantime ( http://www.nch.com.au/ ), if you don't mind putting up with some bad advertising its good software&lt;br /&gt;&lt;br /&gt;hamy&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 204, 0);font-size:130%;" &gt;Things I like:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;it notices when files change, and auto backs them up again&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;nifty icon lets you know its running  - not gaudy. Quite a pleasing icon ha ha&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;it keeps a running log so you can open the window and see what it is currently doing&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;they put X's or checks on files to let you know whats backed up(currently, about 7 or 8 Gigs of pictures have little a 'x' :) ).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0); font-weight: bold;font-size:130%;" &gt;Things I don't like:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The way the company advertises. I started out looking at another product of theirs but gave up and uninstalled after it added like 5 things to my start menu. (Yep, i scanned it. Its not a virus/spyware, just crappy advertising) However, in defense Fling has been pretty good. If you click the toolbox icon, it auto connects to the net and DL's another installer for another product :( LAME ZoneAlarm caught it, but another instance of bad advertising&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;the fact that you have to put stuff in the BackedUp directory. No multiple directory support, no custom file extensions. They have that with bigger tools, but none of those do the auto backup  (although, again in their defense, there is a right click and fling upload menu that I have ignored. I secretly like the BackedUp folder - it keeps me deleting things I don't need)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Its not the fastest. I feel like they purposefully slow the upload a tad to preserve your normal Bandwidth&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270115668006358777-6009055947384060929?l=techrookies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechRookies?a=Tc6lUg0XpN0:Cgb99Ka-QXQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechRookies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechRookies/~4/Tc6lUg0XpN0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://techrookies.blogspot.com/feeds/6009055947384060929/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6270115668006358777&amp;postID=6009055947384060929" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/6009055947384060929?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/6009055947384060929?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechRookies/~3/Tc6lUg0XpN0/ftp-backup.html" title="FTP Backup" /><author><name>hamy</name><uri>http://www.blogger.com/profile/05173763982680569234</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_DC5oy_CNoBU/SEc644_6vBI/AAAAAAAABak/J9XaJaiZQj0/S220/Nixon+Pics+063.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://techrookies.blogspot.com/2008/06/ftp-backup.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcCQno9eip7ImA9WxdRFk8.&quot;"><id>tag:blogger.com,1999:blog-6270115668006358777.post-8890464911462595407</id><published>2008-06-04T18:06:00.000-07:00</published><updated>2008-06-04T18:07:43.462-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-04T18:07:43.462-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="album" /><category scheme="http://www.blogger.com/atom/ns#" term="art" /><category scheme="http://www.blogger.com/atom/ns#" term="lyrics" /><category scheme="http://www.blogger.com/atom/ns#" term="id3" /><category scheme="http://www.blogger.com/atom/ns#" term="ipod" /><category scheme="http://www.blogger.com/atom/ns#" term="fix" /><category scheme="http://www.blogger.com/atom/ns#" term="itunes" /><title>iTunes upgrades! Full Lyrics, Album art, ordered Music</title><content type="html">&lt;p&gt;So - iTunes has some problems. If you follow along, I will show you a few nifty tricks/programs to do these things:&lt;/p&gt; &lt;p&gt;1 - get lyrics to almost every song you have on your ipod and in your itunes&lt;br /&gt;2 - do the same for album art work&lt;br /&gt;3 - remove those pesky (!) missing files from itunes&lt;br /&gt;4 - find/add the files that you didnt know you had&lt;br /&gt;5 - fix all the ID3 info tags - remove those www.musicblah.blah.whatever links &lt;/p&gt; &lt;p&gt;There are a few things that I can’t do yet - so hopefully more soon. Here is what I can’t do for you:&lt;/p&gt; &lt;p&gt;1 - delete duplicates easily aka not one by one&lt;br /&gt;2 - do ALL the work for you. You still have to put in fifteen minutes. I did all this, and I still have about 100 problem tracks. I will fix them one by one, because I am that guy. Most people probably don’t care. The point is, this stuff does 95% of the work, you still have to help it that 5% along.&lt;br /&gt;3 - i am sure there is another one &lt;img src="http://ieee.vanderbilt.edu/wordpress/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /&gt; &lt;/p&gt; &lt;p&gt;So - I did a few simple things to my itunes, mainly:&lt;/p&gt; &lt;p&gt;1 - fix all the ID3 tags (a LOT better than itunes automatic service can)&lt;br /&gt;2 - remove the bad stuff (missing files, ect)&lt;br /&gt;3 - get the lyrics&lt;br /&gt;4 - get the artwork&lt;br /&gt;5 - sync!&lt;/p&gt; &lt;p&gt;To see the rest of this - You will need to click read the rest link right below&lt;br /&gt;&lt;span id="more-49"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Starting with 1 - fix all the ID3 tags&lt;/strong&gt;&lt;br /&gt;Flat out, this is the hardest and/or longest step. Once this is done, its just one click and waiting on your part, so stick the first part out!&lt;br /&gt;1) download a nice program called MusicBrainz  &lt;a href="http://musicbrainz.org/"&gt;http://musicbrainz.org/&lt;/a&gt;.&lt;br /&gt;2) install, open&lt;br /&gt;3) add folder, and select your My Music folder (or main music folder - it will get subdirectories auto)&lt;br /&gt;4) once it is done processing, click cluster&lt;br /&gt;5) both of those steps take a bit. Once that is done, select all unclustered files (to save time here, try to only select the files that you know are songs. Aka dont select your recorded lectures - you are just wasting time) and click scan&lt;br /&gt;Note: basically it is ‘listening’ to every file, and trying to match it against a database of files. This is really nice, it can turn ‘track 15′ into ‘Crash Into Me’ by …&lt;/p&gt; &lt;p&gt;6) Select all the albums that popped up on the right (click one, and hit ctrl + A) and click the big ’save’ button at the top.&lt;br /&gt;Note: Scroll to the top of the right album list before you click save, and you can see the *’s going away. AKA they indicate unsaved albums. &lt;/p&gt; &lt;p&gt;7) Open itunes, if its not open, and select all songs (click to select one, and hit ctrl + A). right click, and choose get info. Ignore the warning, and hit ok — NOTE: DO NOT HIT ANYTHING BUT OK. YOU WILL WIPE ALL DATA FROM YOUR SONGS OTHERWISE&lt;/p&gt; &lt;p&gt; &lt;img src="http://ieee.vanderbilt.edu/wordpress/wp-includes/images/smilies/icon_cool.gif" alt="8)" class="wp-smiley" /&gt; this is the end of the auto tutorial on this part, but FYI this is a really powerful program. You have to put some effort in to understand how to really work it, but if you are a fanatic this program is very valuable. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Now on to 2 - remove the bad stuff (missing files, ect)&lt;/strong&gt;&lt;br /&gt;1) Download and install ITLU &lt;a href="http://itlu.ownz.ch/wordpress/?page_id=5"&gt;http://itlu.ownz.ch/wordpress/?page_id=5&lt;/a&gt;. Note: he recommends backing up the library, which I did, but I have had no problems with the program&lt;/p&gt; &lt;p&gt;2) open the beast&lt;br /&gt;3) click the blank square next to Location, browse to your My Music directory (or other main music place) and click ok to add it.&lt;br /&gt;4) click every single box&lt;br /&gt;Note: it is smart to actually repeat this step twice. (well, from 2 &lt;img src="http://ieee.vanderbilt.edu/wordpress/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /&gt; ) The first pass will remove all the files that are linked incorrectly, and the second one will add them back, linked correctly. In laymans terms, run it twice &lt;img src="http://ieee.vanderbilt.edu/wordpress/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /&gt;&lt;br /&gt;5) click start, and grab a snack&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Pressing on …. 3 - get the lyrics&lt;/strong&gt;&lt;br /&gt;1) download/install  iLyrics &lt;a href="http://code.google.com/p/ilyrics/downloads/list"&gt;http://code.google.com/p/ilyrics/downloads/list&lt;/a&gt;&lt;br /&gt;Note: this is in Beta - so you kind of have to sit there and watch it and click ok everytime something unexpected happens. THis is why we removed the bad stuff first - this program has a tendency to crash if a file is missing&lt;br /&gt;Note2: lyrics come from lyricwiki.org - so yea, if you have a song and want lyrics - you can add them to LW and iLyrics will suddenly work for those songs&lt;/p&gt; &lt;p&gt;2) open itunes, and ilyrics&lt;br /&gt;3) in itunes, click music, click on a song to select it, and hit ctrl + A to elect all songgs&lt;br /&gt;4) in ilyrics, click both checkboxes&lt;br /&gt;5) sit there and babysit while it runs. You will probably have to click through about 30 error messages (thats what I had to, with about 2500 songs in my itunes)&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Sweet, so on to album art&lt;/strong&gt;&lt;br /&gt;this ones pretty simple, just choose all songs again in itunes, (select one, then hit ctrl + A) and choose advanced-&gt;get album artwork&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Sync!!!&lt;/strong&gt;&lt;br /&gt;now plug in your ipod, and wait for the massive sync&lt;/p&gt; &lt;p&gt;Note: on an ipod touch, seeing the lyrics means playing a song and clicking once on the screen (its kind of hard to find, so fyi if you see the repeat symbol, you are in the right place. If you dont see lyrics, there are no lyrics on that song in itunes. To check - open itunes, find that song, right click and do get info, and check the lyrics tab)&lt;/p&gt; &lt;p&gt;Hope that helps some people! It took me a while to do all this, so I figured I would share some stuff &lt;img src="http://ieee.vanderbilt.edu/wordpress/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /&gt; Also - please digg this baby if you liked it!&lt;/p&gt; &lt;p&gt;Hamy&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270115668006358777-8890464911462595407?l=techrookies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechRookies?a=R2n4TFACVr4:DG9NCU1RyiQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechRookies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechRookies/~4/R2n4TFACVr4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://techrookies.blogspot.com/feeds/8890464911462595407/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6270115668006358777&amp;postID=8890464911462595407" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/8890464911462595407?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/8890464911462595407?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechRookies/~3/R2n4TFACVr4/itunes-upgrades-full-lyrics-album-art.html" title="iTunes upgrades! Full Lyrics, Album art, ordered Music" /><author><name>hamy</name><uri>http://www.blogger.com/profile/05173763982680569234</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_DC5oy_CNoBU/SEc644_6vBI/AAAAAAAABak/J9XaJaiZQj0/S220/Nixon+Pics+063.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://techrookies.blogspot.com/2008/06/itunes-upgrades-full-lyrics-album-art.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04DRng6fip7ImA9WxdRFk8.&quot;"><id>tag:blogger.com,1999:blog-6270115668006358777.post-3041494906235087498</id><published>2008-06-04T18:04:00.000-07:00</published><updated>2008-06-04T18:39:37.616-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-04T18:39:37.616-07:00</app:edited><title>Ha Ha....not much better</title><content type="html">I am obviously not a degisner. Wish they had a site that would just let you import a Fireworks png and say make this work. Anyways, this will do for now, so I am going to steal my iTunes post and get back to work. Later, if I am feeling productive I can try to make a real site template.&lt;br /&gt;&lt;br /&gt;hamy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270115668006358777-3041494906235087498?l=techrookies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechRookies?a=5gwnkbnu2tc:MMkBO9SdlhY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechRookies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechRookies/~4/5gwnkbnu2tc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://techrookies.blogspot.com/feeds/3041494906235087498/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6270115668006358777&amp;postID=3041494906235087498" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/3041494906235087498?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/3041494906235087498?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechRookies/~3/5gwnkbnu2tc/ha-hanot-much-better.html" title="Ha Ha....not much better" /><author><name>hamy</name><uri>http://www.blogger.com/profile/05173763982680569234</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_DC5oy_CNoBU/SEc644_6vBI/AAAAAAAABak/J9XaJaiZQj0/S220/Nixon+Pics+063.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://techrookies.blogspot.com/2008/06/ha-hanot-much-better.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcFRXs8fip7ImA9WxdRFk8.&quot;"><id>tag:blogger.com,1999:blog-6270115668006358777.post-6405254770101215733</id><published>2008-06-04T17:32:00.000-07:00</published><updated>2008-06-04T17:33:34.576-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-04T17:33:34.576-07:00</app:edited><title>Horrid Template</title><content type="html">I think order 1 of business (besides failing at finding a good blogging add on for FF) is to change the horrible templates provided, or try to make one ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270115668006358777-6405254770101215733?l=techrookies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechRookies?a=CgA8fqq_EG8:i-RbJ73XvoI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechRookies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechRookies/~4/CgA8fqq_EG8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://techrookies.blogspot.com/feeds/6405254770101215733/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6270115668006358777&amp;postID=6405254770101215733" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/6405254770101215733?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/6405254770101215733?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechRookies/~3/CgA8fqq_EG8/horrid-template.html" title="Horrid Template" /><author><name>hamy</name><uri>http://www.blogger.com/profile/05173763982680569234</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_DC5oy_CNoBU/SEc644_6vBI/AAAAAAAABak/J9XaJaiZQj0/S220/Nixon+Pics+063.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://techrookies.blogspot.com/2008/06/horrid-template.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ABRn87eCp7ImA9WxdRFk8.&quot;"><id>tag:blogger.com,1999:blog-6270115668006358777.post-562723334158801331</id><published>2008-06-04T17:29:00.000-07:00</published><updated>2008-06-04T17:29:17.100-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-04T17:29:17.100-07:00</app:edited><title>Depressing Start</title><content type="html">So I just read thru about 200 FF addons to find one that would allow me to simply click a button in FF, type in a blog, and submit.&lt;br /&gt;&lt;br /&gt;The best I have come up with is BlogThis!, which has a depressingly small text entry area in a popup window that cannot be resized. How seriously lame.&lt;br /&gt;&lt;br /&gt;I liked the look of scribefire, but I keep getting errors. A comment on their homepage mentions a blogger bug, it seems like I have been a victim. I tried both the old and new api urls, and appended ?alt=rss to them as well.&lt;br /&gt;&lt;br /&gt;Any idea how to make scribefire work, please let me know ;)&lt;br /&gt;&lt;br /&gt;Side note, its really time to update to FF3. I was trying to hold true to the DL date, but now that Sage Too is coming along nicely to replace Sage, the only thing that was holding me back from upgrading is gone :)&lt;br /&gt;&lt;br /&gt;cheers&lt;br /&gt;Hamy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270115668006358777-562723334158801331?l=techrookies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechRookies?a=FWpNZ42RvoM:0BBmJbBMqK8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechRookies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechRookies/~4/FWpNZ42RvoM" height="1" width="1"/&gt;</content><link rel="related" href="https://addons.mozilla.org/en-US/firefox/browse/type:1/cat:1?sort" title="Depressing Start" /><link rel="replies" type="application/atom+xml" href="http://techrookies.blogspot.com/feeds/562723334158801331/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6270115668006358777&amp;postID=562723334158801331" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/562723334158801331?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/562723334158801331?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechRookies/~3/FWpNZ42RvoM/depressing-start.html" title="Depressing Start" /><author><name>hamy</name><uri>http://www.blogger.com/profile/05173763982680569234</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_DC5oy_CNoBU/SEc644_6vBI/AAAAAAAABak/J9XaJaiZQj0/S220/Nixon+Pics+063.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://techrookies.blogspot.com/2008/06/depressing-start.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYBQXg7fSp7ImA9WxdQGEg.&quot;"><id>tag:blogger.com,1999:blog-6270115668006358777.post-118408281181558962</id><published>2008-06-04T17:08:00.000-07:00</published><updated>2008-06-18T23:32:30.605-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-18T23:32:30.605-07:00</app:edited><title>test</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_DC5oy_CNoBU/SFn9cbD2kgI/AAAAAAAABbI/CqRU_JGxWkI/s1600-h/corners_cap_bot.gif"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_DC5oy_CNoBU/SFn9cbD2kgI/AAAAAAAABbI/CqRU_JGxWkI/s200/corners_cap_bot.gif" alt="" id="BLOGGER_PHOTO_ID_5213476708400140802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;this is a quick test&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270115668006358777-118408281181558962?l=techrookies.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TechRookies?a=kO2BeyDSXeA:CG0uLbYDhfk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TechRookies?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TechRookies/~4/kO2BeyDSXeA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://techrookies.blogspot.com/feeds/118408281181558962/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6270115668006358777&amp;postID=118408281181558962" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/118408281181558962?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6270115668006358777/posts/default/118408281181558962?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TechRookies/~3/kO2BeyDSXeA/test.html" title="test" /><author><name>hamy</name><uri>http://www.blogger.com/profile/05173763982680569234</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://bp2.blogger.com/_DC5oy_CNoBU/SEc644_6vBI/AAAAAAAABak/J9XaJaiZQj0/S220/Nixon+Pics+063.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp2.blogger.com/_DC5oy_CNoBU/SFn9cbD2kgI/AAAAAAAABbI/CqRU_JGxWkI/s72-c/corners_cap_bot.gif" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://techrookies.blogspot.com/2008/06/test.html</feedburner:origLink></entry></feed>

