<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>William Smash!</title>
    <link>http://williamsmash.com/</link>
    <description>William Smash ...last in the long line of prophet. This is where I smash progromming, philosophical, and social topics. It's a blog.</description>
    <language>en-us</language>
    <item>
      <title>ubuntu and eee</title>
      <link>http://williamsmash.com/blog/show/ubuntu-and-eee</link>
      <description>&lt;p&gt;With my netbook&amp;#8217;s copy of the Windows 7 beta about to expire, I decided to give Ubuntu another shot. My previous experiences with Linux have been quite painful and in some cases it was easier to install a copy of Windows ME than force Linux to work right.&lt;/p&gt;
&lt;p style="float:right;"&gt;&lt;img src="http://www.ubuntu.com/sites/all/themes/ubuntu09/logo.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;I downloaded a copy of &lt;a href="http://www.ubuntu.com/getubuntu/download-netbook"&gt;Ubuntu 9.10 Netbook Remix&lt;/a&gt; for the net book and installed it off of a thumb drive. It installed without any issue and was the first time ever my wireless card worked out of the book with Linux.&lt;/p&gt;
&lt;p&gt;It still has that slightly buggy Linux feel. &lt;br /&gt;
For example:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Firefox is set to open the home page when it loads but it always loads the last session.&lt;/li&gt;
	&lt;li&gt;Adding programs to the startup list doesn&amp;#8217;t always seem to stick. I have had to add the same programs about three times each now.&lt;/li&gt;
	&lt;li&gt;Launchy doesn&amp;#8217;t seem to want to open some files correctly and I get text files instead of Firefox.&lt;/li&gt;
	&lt;li&gt;Certain applications are always asking my permission to connect to unverified servers every time they open as Pandora, and I really don&amp;#8217;t need that kind of security.&lt;/li&gt;
	&lt;li&gt;A &lt;span class="caps"&gt;GUI&lt;/span&gt; task manager because some programs keep locking up.&lt;/li&gt;
	&lt;li&gt;Eclipse can&amp;#8217;t update and install any plugins such as Java projects.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Adobe has done a really good job with air and flash. Installing air and flash was a breeze and was the only way I could get a decent twitter client.&lt;/p&gt;
&lt;p&gt;My two biggest complaints with it are the cartoony oversized controls (that has always bothered me with Linux) and the lack of polish.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m going to keep it and am enjoying it greatly; however, it&amp;#8217;s not ready for the type of users that don&amp;#8217;t care about learning how computer their computer works. My wife would be lost in Linux even though she has been using a mac for three years now. She doesn&amp;#8217;t need to spend time customizing everything to work right.&lt;/p&gt;</description>
      <author>The Will Who Smashes</author>
      <pubDate>Mar 05, 2010</pubDate>
      <loc>test</loc>
    </item>
    <item>
      <title>asus 1000he review</title>
      <link>http://williamsmash.com/blog/show/asus-1000he-review</link>
      <description>&lt;p&gt;Over the summer I picked up a &lt;a href="http://www.amazon.com/dp/B001QTXL82/?tag=googhydr-20&amp;amp;hvadid=3026376205&amp;amp;ref=pd_sl_75zjnyuz9f_e"&gt;&lt;span class="caps"&gt;ASUS&lt;/span&gt; &lt;span class="caps"&gt;EEE&lt;/span&gt; 1000HE netbook&lt;/a&gt;. The first thing I did when I got it was install win 7 and upgrade the &lt;span class="caps"&gt;RAM&lt;/span&gt; to 2gigs.&lt;/p&gt;
&lt;p style="float:right;"&gt;&lt;img src="http://news.cnet.com/i/bto/20090205/asus-1000he-small.jpg" title="asus 1000 he" alt="asus 1000 he" /&gt;&lt;/p&gt;
&lt;p&gt;It advertises 9.5 hours of battery life and with win7 installed, I was not expecting to get even close, but I usually get over 8. Now, that&amp;#8217;s with the monitor dimmed and the turbo button set to auto-mode. Yes, it has a turbo button. I was a little disapointed at first but it&amp;#8217;s a nice throw back to the earlier days of computers. The auto-mode doesn&amp;#8217;t get in the way much. Most of the time I am typing or reading the minilappy doesn&amp;#8217;t need to do much.&lt;/p&gt;
&lt;p&gt;As a dev machine, it&amp;#8217;s decent.  I have it running Visual Studio 2008 with &lt;a href="http://www.devexpress.com/Products/Visual_Studio_Add-in/Coding_Assistance/"&gt;Coderush&lt;/a&gt;.  The screen real estate is a little tight. When &lt;a href="http://www.devexpress.com/Products/Visual_Studio_Add-in/Coding_Assistancefirst"&gt;Coderush&lt;/a&gt; runs a template, it tends to lag a little, but that&amp;#8217;s mainly do to the hard drive. Also VS lags a lot when programming &lt;span class="caps"&gt;XAML&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;For surfing the web, it&amp;#8217;s awesome. Chrome is as zippy as ever on this little machine. And small size and ridiculously long battery life makes it an awesome machine for living on the couch.&lt;/p&gt;
&lt;p&gt;At conferences, it&amp;#8217;s great. Usually power outlets are a rare commodity. With 8+ hrs of batter life and a little prior planning, I free from searching for a place to recharge all day.&lt;/p&gt;
&lt;p&gt;Overall, I wouldn&amp;#8217;t use this as my main machine, but as a secondary, it is awesome.&lt;/p&gt;</description>
      <author>The Will Who Smashes</author>
      <pubDate>Nov 02, 2009</pubDate>
      <loc>test</loc>
    </item>
    <item>
      <title>inotifypropertychanged  implementation</title>
      <link>http://williamsmash.com/blog/show/inotifypropertychanged-implementation</link>
      <description>&lt;h4&gt;code reference for INotifyPropertyChanged&lt;/h4&gt;
&lt;p&gt;I implement INotifyPropertyChanged in alot of projects I work on and I need a place to reference it. (copy and paste)&lt;/p&gt;
&lt;p&gt;&lt;code class="csharp"&gt;
#region INotifyPropertyChanged Members
public event PropertyChangedEventHandler PropertyChanged;
private void RaiseEventPropertyChanged(PropertyChangedEventArgs e)
{
    PropertyChangedEventHandler temp = PropertyChanged;
    if (temp != null)
    {
        temp(this, e);
    }
}
private void OnPropertyChanged(string propertyName)
{
	// perform pre event work&lt;/p&gt;
&lt;p&gt;// create args and raise event. &lt;br /&gt;
    PropertyChangedEventArgs e = new PropertyChangedEventArgs(propertyName);&lt;br /&gt;
    RaiseEventPropertyChanged(e);&lt;br /&gt;
}&lt;br /&gt;
#endregion&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;</description>
      <author>The Will Who Smashes</author>
      <pubDate>Oct 25, 2009</pubDate>
      <loc>test</loc>
    </item>
    <item>
      <title>goodbye vb</title>
      <link>http://williamsmash.com/blog/show/goodbye-vb</link>
      <description>&lt;p&gt;After programming for a year in C# and using VB occasionally, I can&amp;#8217;t tell you what the difference is. With the exception of a the key words, the two languages are the same to me. I still hate semicolons every where and the defaults for the C# brackets are ugly.&lt;/p&gt;
&lt;p&gt;With that being said, I perfer C# to vb now. Sorry &lt;a href="http://blogs.msdn.com/bethmassi/"&gt;Beth Massi&lt;/a&gt;. It&amp;#8217;s nothing that vb has done. I can do everything I need to do in C# in VB.  The force pushing me to C# is the internet. All the &lt;a href="http://haacked.com/"&gt;blogs&lt;/a&gt; &lt;a href="http://www.hanselman.com/blog/"&gt;I&lt;/a&gt; &lt;a href="http://blog.wekeroad.com/"&gt;follow&lt;/a&gt; and &lt;a href="http://nhforge.org/Default.aspx"&gt;the&lt;/a&gt; &lt;a href="http://logging.apache.org/log4net/index.html"&gt;open&lt;/a&gt; &lt;a href="http://www.ayende.com/projects/rhino-mocks.aspx"&gt;source&lt;/a&gt; &amp;quot;projects&amp;quot;http://www.nunit.org/index.php I use have written their code in C#.&lt;/p&gt;
&lt;p&gt;Now it may sound like I&amp;#8217;m following the &lt;a href="http://www.codinghorror.com/blog/archives/000235.html"&gt;crowd&lt;/a&gt;, but I don&amp;#8217;t think that is a bad thing. By switching to C#, I don&amp;#8217;t think I will be able to code better. However by doing so, I&amp;#8217;ve eliminated the context switching I have to do. When I look at their example code or the source code of the project. I can look at the examples and my code to see where I have gone wrong with out having to translate anything in my head.&lt;/p&gt;
&lt;p&gt;So farwell VB. It&amp;#8217;s been fun and I hope we meet again some day.&lt;/p&gt;</description>
      <author>The Will Who Smashes</author>
      <pubDate>Oct 24, 2009</pubDate>
      <loc>test</loc>
    </item>
    <item>
      <title>wordpress isn't just for blogs any more</title>
      <link>http://williamsmash.com/blog/show/wordpress-isn-t-just-for-blogs-any-more</link>
      <description>&lt;p&gt;Being a developer I am often asked by friends and family to make webpages for their small business. Most want a basic &lt;acronym title="Content Management System"&gt;&lt;span class="caps"&gt;CMS&lt;/span&gt;&lt;/acronym&gt; with some snazy design. I would love to help and I am cheap. I usually go for a nice meal or a few bottles of beer, but the amount of time i can spend on it and what they want makes it not worth it. &lt;em&gt;That and my art design skills aren&amp;#8217;t really up to par.&lt;/em&gt; A web design company is overkill for these people.  I have been searching for some kind of alternative. This is what they need:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;A presence on the web.&lt;/li&gt;
	&lt;li&gt;An easy way to update the site theirself.&lt;/li&gt;
	&lt;li&gt;A web-based way to pass information on to their customer base.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://wordpress.org"&gt;Wordpress&lt;/a&gt; is a great way to setup a basic website for a small company that doesn&amp;#8217;t need a web-store. While I am aware that Wordpress is a blogging site, it works great as a basic website.&lt;/p&gt;
&lt;h3&gt;Why you should use Wordpress&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;It works great&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There is a great team of developers working on Wordpress. They are constantly innovating and adding new features and fixing bugs and security holes. There are also thousands of people using the site so every part of it has been tested and retested.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Wordpress Hosts It&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Your website is hosted by Wordpress. This means neither you nor I have to deal with setting up the website on a server at a hosting company.  You don&amp;#8217;t have to worry about your website going down because there is a team of people working to make sure it stays up. You also don&amp;#8217;t have to worry about update the site because the Wordpress team updates the software for you.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cheap&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Hosting through Wordpress is extremely cheap. It&amp;#8217;s free. However, if you want to look professional it will cost you a little bit of money. About $50 a year which is about what taking me out to dinner or a few bottles of beer costs. &lt;em&gt;I drink fancy beer.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Free design&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I am not a designer and am not the best in photoshop. That&amp;#8217;s ok. It&amp;#8217;s not my job. But there are a lot of other people out there who are graphic designers. A lot of them have taken the time to create themes for Wordpress. The hosted version of Wordpress has about 40 free themes that were created by some excellent artists. If you decide to host it yourself, there are hundreds of themes that people have created and released for free use.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fast&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Most of the work is already done. It will take a little time to get used to using the dashboard and setting everything up they way you want it but nothing like the time it would take to do it from scrach. A dedicated weekend is about all it would take.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Support&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Wordpress has a very active community and there are a lot of excellent help guides out there. If you do feel you need a custom theme for your site or some other kind of changes, there are lots of web developers and designers that specialize in Wordpress.&lt;/p&gt;
&lt;h3&gt;How do you set your Wordpress&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Sign Up&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;First things first, you need an account. Head over to &lt;a href="http://wordpress.com/signup/"&gt;wordpress.com&lt;/a&gt; and sign up.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Basic Settings&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There are a few things that you should change in the settings so head into the dashboard of your webpage.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Change the home page to your home page.&lt;img src="http://img.skitch.com/20090129-bjwukeihxig49dwm1wgjr8hku6.jpg" title="Click on a static page." alt="Click on a static page." /&gt; Click on Settings in the lower left hand corner &amp;#8594; then Reading &amp;#8594; then click on the radio button &amp;#8220;A static page (select below)&amp;#8221;.&lt;/li&gt;
	&lt;li&gt;Click on the Appearance button on the lift side and then click &amp;#8216;Extras&amp;#8217;&lt;img src="http://img.skitch.com/20090129-fcdhihi6u2sic4d9r2n653ai8b.jpg" alt="" /&gt; then uncheck both checkboxes on the pages and click update.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Select a Theme&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This is the most fun part. If you are anything like me, you will spend hours flipping through the themes and testing them out. Here are my recommendations for what you should look for.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Look at themes that allow you to upload a custom image header.&lt;/li&gt;
	&lt;li&gt;Don&amp;#8217;t focus on the color too much because that can be changed later on. For instance, if you find one that you like but all the links are red and you want them to be green, don&amp;#8217;t worry about it. That is an easy css fix.&lt;/li&gt;
	&lt;li&gt;I would try to stay away from themes that have two-side bars. That works great of a blog but not so much for a company website. Side bars are for widgets. If you do two of them, you will be tempted to go widget crazy which will detract from the overall message of your site.&lt;/li&gt;
	&lt;li&gt;Think about your company&amp;#8217;s image while selecting a theme.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Widgets&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;These are little gadget type things that show up in you side bar. Be selective on which ones you select and don&amp;#8217;t go overboard. Alot of these are geared towards blogs and have little use on a company&amp;#8217;s website. Here are a few recommendations that will complement a company&amp;#8217;s website:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Text Area: is a great way to add a little bit of information that stays constant on every page. This is a great place to put your contact information.&lt;img src="http://img.skitch.com/20090129-471fkgy5bsq7nep26c3hdu78i.jpg" alt="" /&gt;&lt;/li&gt;
	&lt;li&gt;Search Box: will help your customer find what they need a little faster. &lt;img src="http://img.skitch.com/20090129-miauhg4uj5h27ysad5hjg6d2su.jpg" alt="" /&gt;&lt;/li&gt;
	&lt;li&gt;Pages: is a must if your theme doesn&amp;#8217;t a navigation bar built into it.&lt;img src="http://img.skitch.com/20090129-bp99n3t1rfb88t4a4yfgsmwxcw.jpg" alt="" /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Go ahead and try out some of the widgets to see if there are others that suit your needs, but if you find yourself wanting to use more then four, you might want to rethink a few of your choices. Now, if you really want to get savvy, you could use the &lt;span class="caps"&gt;RSS&lt;/span&gt; widget to have your &lt;a href="http://www.twitter.com"&gt;twitter&lt;/a&gt; feed show up in the side bar. This would be applicable to your business if you are looking to grow through social networking ( which isn&amp;#8217;t for every business ) or your business has information the requires daily updating such as nightly food specials.  If the word twitter or &lt;span class="caps"&gt;RSS&lt;/span&gt; scares you and you are just happy to get a website, then don&amp;#8217;t worry about it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pages&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This is the where you will put all of your information. Because of the way Wordpress is setup, you have to have a home page. Here are a few things to keep in mind about home pages:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Keep it simple&lt;/li&gt;
	&lt;li&gt;Think about doing a brief summary of your other pages and include links to them.&lt;/li&gt;
	&lt;li&gt;Don&amp;#8217;t put a cool flash video on it. It&amp;#8217;s not cool.&lt;/li&gt;
	&lt;li&gt;Make it genuine and give it substance.&lt;/li&gt;
	&lt;li&gt;Don&amp;#8217;t make it sales pitch.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here are some other possible pages you could add&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Contact Information &amp;#8211; To me, this page is a must&lt;/li&gt;
	&lt;li&gt;Product/Services/Rates&lt;/li&gt;
	&lt;li&gt;Portfolio&lt;/li&gt;
	&lt;li&gt;Tour of the Premises ( only do this if you are selling the location such as a Hotel, a Winery, etc)&lt;/li&gt;
	&lt;li&gt;Local Points of Interest ( would be go for a outdoor equipment rental in a small town)&lt;/li&gt;
	&lt;li&gt;Awards&lt;/li&gt;
	&lt;li&gt;Menu&lt;br /&gt;
Consider what you will put on your pages and if you need really need them. Do it with you customers in mind. And if find yourself with a page but it just doesn&amp;#8217;t seem right, hide it and someday it might work out.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Advanced Changes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Until now everything about your site has been free. Now you are going to start giving money to Wordpress. It&amp;#8217;s ok, it isn&amp;#8217;t much. All of these upgrade are available through the Upgrades button at the bottom left of the dashboard.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;You &lt;strong&gt;must&lt;/strong&gt; buy the Add Free upgrade. This isn&amp;#8217;t a choice. Do not think about having adds on your company&amp;#8217;s website. There are a lot of ways to be cheap and this shouldn&amp;#8217;t be one of them.&lt;/li&gt;
	&lt;li&gt;You &lt;strong&gt;must&lt;/strong&gt; buy the custom url upgrade. This way your website will be your_company_name.com instead of your_company_name.wordpress.com. This one will be the most difficult. You need to buy a &lt;span class="caps"&gt;URL&lt;/span&gt; before you get the upgrade. wordpress.com says you can buy it from them or someone else. More information can be found though &lt;a href="http://support.wordpress.com/domain-mapping/"&gt;wordpress support&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;If you plan on changing any of the colors you will have to buy the Custom &lt;acronym title="Cascading Style Sheets"&gt;&lt;span class="caps"&gt;CSS&lt;/span&gt;&lt;/acronym&gt; upgrade. If your first thought on seeing that is &amp;#8220;&lt;span class="caps"&gt;WTF&lt;/span&gt; is &lt;span class="caps"&gt;CSS&lt;/span&gt;?&amp;#8221; than you will need to find a hungry graphics student and offer to feed them if they make your changes or you could learn &lt;span class="caps"&gt;CSS&lt;/span&gt;. It&amp;#8217;s not really that hard to do most if it. It only seems like magic. But it does take time and I know that is a valuable resource. The best tutorial for learning &lt;span class="caps"&gt;CSS&lt;/span&gt; is &lt;a href="http://w3schools.com/css/default.asp"&gt;W3School&amp;#8217;s &lt;span class="caps"&gt;CSS&lt;/span&gt; Tutorial&lt;/a&gt;. W3Schools also has an excellent tutorial on &lt;span class="caps"&gt;HTML&lt;/span&gt; if you need that too.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;What you should put up&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Less is more, be selective&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s tempting to put up everything you can think of on but the more that&amp;#8217;s on your website, the harder it will be for your customers to find what they need when they go to your site. Your time is valuable, but so is your customer&amp;#8217;s time. Take the time to sit down and go through everything before it goes online. Don&amp;#8217;t take your traditional marketing document and copy and paste it onto the website.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;No one cares about you.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;What I mean by this is don&amp;#8217;t create giant about me page that tells your entire history. Your customers are going to your site to find information, not do research on you. Think about the last 10 company websites you went to. Out of those websites, how many of them did you read about their history? Now there are exceptions, but before you do it, think long and hard to make sure it adds value to your site.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Contact Information&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Make it easy for your customers to find how to contact you. Have your store hours, email, address and phone number available. Make sure that email address goes somewhere where you see and respond to people.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update the site&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Make sure you are keeping the information up to date. Preventatively, don&amp;#8217;t put anything on the site that you aren&amp;#8217;t willing to update when it changes. For example, if you are a restaurant and you have daily or weekly specials, don&amp;#8217;t put them on the website unless you are going to update them every time it changes. There is an easy way to do this with Wordpress. Back when we setup Wordpress, on of the first things we did was change the home page. Right below that option, there is a way to create another page to be a post page. There are benefits to doing this. For example, sites that are updated more often will appear higher in google.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Show Self Control for Technology&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Yes, this is the most hypocrite thing I have said today.&lt;/em&gt; Don&amp;#8217;t add something to your site because it looks cool or because &lt;strong&gt;you&lt;/strong&gt; like it. This goes double for widgets. If there is not a direct benefit to your customers, don&amp;#8217;t do it. Create a personal site and add it there. Oh, and &amp;#8220;Because it looks cool&amp;#8221; is not a benefit. Make sure your design compliments your message and not the other way around.&lt;/p&gt;</description>
      <author>The Will Who Smashes</author>
      <pubDate>Feb 02, 2009</pubDate>
      <loc>test</loc>
    </item>
    <item>
      <title>transparent controls in winforms</title>
      <link>http://williamsmash.com/blog/show/transparent-controls-in-winforms</link>
      <description>&lt;p&gt;It always bothered me that setting the background of a control to transparent doesn&amp;#8217;t actually make the control transparent. I always assumed that because that didn&amp;#8217;t work, the workaround had to be messy and difficult. After a little bit of searching today, I came across this &lt;a href="http://saftsack.fs.uni-bayreuth.de/~dun3/archives/creating-a-transparent-panel-in-net/108.html"&gt;awesome code&lt;/a&gt; from &lt;a href="http://saftsack.fs.uni-bayreuth.de/~dun3/"&gt;Tobias Hertkorn on his T# blog&lt;/a&gt;. It turns out the solution is a pretty elegant and I not sure why it .net team didn&amp;#8217;t make it a property that was easy to set.&lt;br/&gt;
Here is his code (C#):&lt;br /&gt;
&lt;code class="csharp"&gt;public class TransparentPanel : Panel{
    protected override CreateParams CreateParams {            
        get {
            CreateParams cp =  base.CreateParams;
            cp.ExStyle |= 0x00000020; // WS_EX_TRANSPARENT
            return cp;
        }
    }
    protected override void OnPaintBackground(PaintEventArgs e) {
        //base.OnPaintBackground(e);
    }
}&lt;/code&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;Here is the VB version of it:&lt;br /&gt;
&lt;code class="lotusscript"&gt;Public Class TransparentPanel
    Inherits Panel
    Protected Overrides ReadOnly Property CreateParams() As System.Windows.Forms.CreateParams
        Get
            Dim cp As CreateParams = MyBase.CreateParams
            cp.ExStyle = cp.ExStyle Or &amp;amp;H20 'WS_EX_TRANSPARENT
            Return cp
        End Get
    End Property
    Protected Overrides Sub OnPaintBackground(ByVal e As System.Windows.Forms.PaintEventArgs)
        'MyBase.OnPaintBackground(e)
    End Sub
End Class&lt;/code&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;The 20 hex comes from the &lt;a href="http://www.woodmann.com/fravia/sources/WINUSER.H"&gt;&lt;span class="caps"&gt;WINUSER&lt;/span&gt;.H&lt;/a&gt; and there are a &lt;a href="http://msdn.microsoft.com/en-us/library/61fe4bte(VS.80).aspx"&gt;few more properties&lt;/a&gt; that ExStyle affects. Also, if you plan to have content under the transparent control that is changing often, you will need to add some kind of means of refreshing the transparent controls such as a timer that calls refresh().&lt;br /&gt;
&lt;br/&gt;&lt;/p&gt;</description>
      <author>The Will Who Smashes</author>
      <pubDate>Jan 20, 2009</pubDate>
      <loc>test</loc>
    </item>
    <item>
      <title>yield filters</title>
      <link>http://williamsmash.com/blog/show/yield-filters</link>
      <description>&lt;p&gt;I recently discovered the yield keyword combined with IEnumerable functions in C#. It is a great way to filter lists of items. &lt;br /&gt;
For example:&lt;br /&gt;
&lt;code class="csharp"&gt;private void SomeFunction(){
    //some code
    foreach (Animal a in FilterAnimals(animals, 2, true)){
        // do something with each two legged, winged animal
    }
    //some more code
}
private IEnumerable&amp;lt;Animal&amp;gt; FilterAnimals(List&amp;lt;Animal&amp;gt; animals, int legs, bool hasWings){
    foreach (Animal a in animals){
        if (a.Legs == legs &amp;amp;&amp;amp; a.HasWings == hasWings){
            yield return a;
        }
    }
}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The first time I saw this, I thought it was an N &lt;sup&gt;2&lt;/sup&gt; loop. However, the yield preserves the state of the function so the whole list is only looped over once. The original list of animals is still the same as it was before.&lt;/p&gt;</description>
      <author>The Will Who Smashes</author>
      <pubDate>Jan 19, 2009</pubDate>
      <loc>test</loc>
    </item>
    <item>
      <title>2009 goals and resolutions</title>
      <link>http://williamsmash.com/blog/show/2009-goals-and-resolutions</link>
      <description>&lt;h4&gt;Goal 1 Learn a new programming language&lt;/h4&gt;
&lt;p&gt;Over the course of the year, I am going to learn a new programming language. I have been using &lt;a href="http://www.ruby-lang.org/en/"&gt;Ruby&lt;/a&gt; for a few years, but I think it is time that actually learned it. It&amp;#8217;s one thing to use a programming language, but it is another to know a language. While learning ruby, I want to get the hang of &lt;a href="http://www.ironruby.net/"&gt;IronRuby&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Goal  2 Read more books&lt;/h4&gt;
&lt;p&gt;My goal is 24 programming books this year. I am starting with &lt;a href="http://www.amazon.com/CLR-via-Second-Pro-Developer/dp/0735621632"&gt;&lt;span class="caps"&gt;CLR&lt;/span&gt; Via C#&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Goal  3 Write more&lt;/h4&gt;
&lt;p&gt;I am not very good at writing and I that is because I don&amp;#8217;t write much. I plan to write more posts on &lt;a href="http://williamsmash.com"&gt;WilliamSmash&lt;/a&gt; and on &lt;a href="http://williamsimmers.wordpress.com"&gt;WilliamSimmers&lt;/a&gt;. My goal is one post a week on each blog.&lt;/p&gt;
&lt;h4&gt;Goal 4 Write a video game.&lt;/h4&gt;
&lt;p&gt;I would like to write more than one game, but if I make a game that works very well I&amp;#8217;ll be happy. I plan to make a tower defense game using the &lt;a href="http://creators.xna.com/en-US/"&gt;&lt;span class="caps"&gt;XNA&lt;/span&gt; framework&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Goal  5 Learn Test Driven Development&lt;/h4&gt;
&lt;p&gt;I am still learning &lt;a href="http://en.wikipedia.org/wiki/Test-driven_development"&gt;&lt;span class="caps"&gt;TDD&lt;/span&gt;&lt;/a&gt; but I really see the benefits. This will go well with Goals 2 through 4. I really want to get the hang of it.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s it. I thought I would keep it simple.&lt;/p&gt;</description>
      <author>The Will Who Smashes</author>
      <pubDate>Jan 05, 2009</pubDate>
      <loc>test</loc>
    </item>
    <item>
      <title>mygeneration xml input format</title>
      <link>http://williamsmash.com/blog/show/mygeneration-xml-input-format</link>
      <description>&lt;p&gt;&lt;a href="http://mygeneration.sourceforge.net/"&gt;MyGeneration&lt;/a&gt; is an open source code generation tool. I love using it but I felt that opening up &lt;a href="http://mygeneration.sourceforge.net/"&gt;MyGeneration&lt;/a&gt; every time I needed to update or create a generated file was too time consuming. Yes I am that lazy. There is a command line tool that comes with &lt;a href="http://mygeneration.sourceforge.net/"&gt;MyGeneration&lt;/a&gt; called zeuscmd.exe. Documentaion on zuescmd is sparse. zeuscmd has four switches that I care about&lt;br /&gt;
&lt;br&gt;&lt;/p&gt;
&lt;table style="border:thin solid black;padding: 15px;"&gt;
	&lt;tr&gt;
		&lt;th&gt;Switch&#160;&#160;&#160;&#160;&#160;&lt;/th&gt;
		&lt;th&gt;Effect &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt; -t &lt;/td&gt;
		&lt;td&gt; the path to the template that zeuscmd is going to use &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt; -o &lt;/td&gt;
		&lt;td&gt; the path where the output from the template will be saved &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt; -i &lt;/td&gt;
		&lt;td&gt; the path for the xml based input &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt; -c &lt;/td&gt;
		&lt;td&gt; the path where the input params are saved &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
&lt;br&gt;
The -i switch is the one I am the most in; however, I couldn't find any documentation on the format of the xml input. After a little playing around with "MyGeneration":http://mygeneration.sourceforge.net/ I was able to figure it out and I figured I would put it on the web.
&lt;code class="html"&gt;&lt; ?xml version="1.0" encoding="utf-8"?&gt;
&lt; obj name="" uid=" the guid of the template " path=" the full path to the template "&gt;
  &lt; items&gt;
    &lt; item name="parameter name no spaces" type="System.String|System.Boolean|etc" val="the value of the input item" /&gt;
    &lt; item name="dbname" type="System.String" val="database_of_awesomeness" /&gt;
    &lt; item name="your_own_param" type="System.String" val="value_in_the_template" /&gt;
  &lt; /items&gt;
&lt; /obj&gt;&lt;/code&gt;&lt;p&gt;&lt;sup&gt;Note: the extra spaces in the tags are there so they will render on this website&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Now there a few input values that MyGeneration uses and you probably have to pass them in order for the template to generate. These are the &lt;a href="http://mygeneration.sourceforge.net/"&gt;MyGeneration&lt;/a&gt; values for the template I am running on my computer. I am using sqlexpress as the db and vb as the template language.&lt;/p&gt;
&lt;table style="border:thin solid black;padding: 5px;"&gt;
	&lt;tr&gt;
		&lt;th&gt;Key &lt;/th&gt;
		&lt;th&gt;Value &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt; __dbConnectionString&lt;/td&gt;
		&lt;td&gt; Provider=&lt;span class="caps"&gt;SQLOLEDB&lt;/span&gt;.1;Integrated Security=&lt;span class="caps"&gt;SSPI&lt;/span&gt;;Persist Security Info=False;User ID=myuser;Initial Catalog=mydatabase;Data Source=myserver&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt; __dbDriver &lt;/td&gt;
		&lt;td&gt; &lt;span class="caps"&gt;SQL&lt;/span&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt; __dbLanguageMappingFileName &lt;/td&gt;
		&lt;td&gt; C:\Program Files\MyGeneration13\Settings\Languages.xml&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt; __dbTarget &lt;/td&gt;
		&lt;td&gt; SqlClient&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt; __dbTargetMappingFileName &lt;/td&gt;
		&lt;td&gt; C:\Program Files\MyGeneration13\Settings\DbTargets.xml&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt; __defaultOutputPath &lt;/td&gt;
		&lt;td&gt; C:\Program Files\MyGeneration13\GeneratedCode\&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt; __defaultTemplatePath &lt;/td&gt;
		&lt;td&gt; C:\Program Files\MyGeneration13\Templates\&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt; __domainOverride &lt;/td&gt;
		&lt;td&gt; True&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt; __language &lt;/td&gt;
		&lt;td&gt; C#&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt; __userMetaDataFileName &lt;/td&gt;
		&lt;td&gt; C:\Program Files\MyGeneration13\Settings\UserMetaData.xml&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt; __version &lt;/td&gt;
		&lt;td&gt; 1.3.0.0&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;</description>
      <author>The Will Who Smashes</author>
      <pubDate>Dec 22, 2008</pubDate>
      <loc>test</loc>
    </item>
    <item>
      <title>william simmers</title>
      <link>http://williamsmash.com/blog/show/william-simmers</link>
      <description>&lt;p&gt;I just setup up a new blog for some of my cooking recipes. My first recipe is prune chili. It sounds weird but it is really good. Check it out at &lt;a href="http://williamsimmers.wordpress.com/"&gt;william simmers&lt;/a&gt;.&lt;/p&gt;</description>
      <author>The Will Who Smashes</author>
      <pubDate>Dec 14, 2008</pubDate>
      <loc>test</loc>
    </item>
    <item>
      <title>a list of wordy delegates</title>
      <link>http://williamsmash.com/blog/show/a-list-of-wordy-delegates</link>
      <description>&lt;p&gt;Everything I learn in C#, I like to duplicate in VB.net. Usually I find things a lot easier with VB.net even if it is a little more verbose.  However, delegates really suck in VB.net 2.0. You can&amp;#8217;t do inline delegates in VB.net 2.0. You can still pass them as parameters, but you can&amp;#8217;t create them inline like C#. Instead you have to create a function and pass the address of that function as the parameter.&lt;/p&gt;
&lt;p&gt;&lt;code class="lotusscript"&gt;Public Sub SomeCrazyFunction()
	Dim items As New List(of String)
	items.Add("Brian")
	items.Add("Peter")
	items.Add("Lois")
	items.Add("Meg")
	items.Add("Chris")
	items.Add("Stewie")	
	'-- do some stuff
	items.RemoveAll(AddressOf InNotCoolPerson) 
	'-- do some more stuff
End Sub 
Private Function IsNotCoolPerson(ByVal item as String) as Boolean
   Return item.Equals("Meg")
End Function
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s ugly. I think that is much more cumbersome then the C# version. It forces the delegate code to exist in apart from the related code and while you can reuse that function ( &lt;em&gt;where as a delegate, you can&amp;#8217;t&lt;/em&gt;) I resides out of context from the rest of the code it relates to. In VB.net 3.0, it&amp;#8217;s back to the C# style with the introduction of &lt;a href="http://msdn.microsoft.com/en-us/library/bb531253.aspx"&gt;Lambda functions&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;&lt;code class="lotusscript"&gt;items.RemoveAll(Function(s As String) s.Equals("Meg"))	
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This is even less verbose then C# 2.0 implementation of delegates, but C# got lambdas too. And there code is once again more concise than VB.net.&lt;/p&gt;
&lt;p&gt;&lt;code class="csharp"&gt;items.RemoveAll( s =&amp;gt; s.Equals("Meg"))	
&lt;/code&gt;&lt;/p&gt;</description>
      <author>The Will Who Smashes</author>
      <pubDate>Dec 10, 2008</pubDate>
      <loc>test</loc>
    </item>
    <item>
      <title>a sharp list of delegates</title>
      <link>http://williamsmash.com/blog/show/a-sharp-list-of-delegates</link>
      <description>&lt;p&gt;I have recently discovered delegates in C# and find them to be indispensable. Below are a few examples of using delegates with Lists.  Lets start with a simple list of strings:&lt;/p&gt;
&lt;p&gt;&lt;code class="csharp"&gt;List&amp;lt;string&amp;gt; items = new List&amp;lt;string &amp;gt;();
items.Add("Brian");
items.Add("Peter");
items.Add("Lois");
items.Add("Meg");
items.Add("Chris");
items.Add("Stewie");
&lt;/code&gt;&lt;br /&gt;
Now if you want to sort this list all you have to call&lt;/p&gt;
&lt;p&gt;&lt;code class="csharp"&gt;items.Sort();
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;and the list in the order: &lt;strong&gt;Brian, Chris, Lois, Meg, Peter, Stewie&lt;/strong&gt;. &lt;br /&gt;
 But what if you wanted to sort by the length of the string? That could get a little tricky; however, with delegates, it&amp;#8217;s not bad at all:&lt;br /&gt;
&lt;code class="csharp"&gt;items.Sort(delegate(string s1, string s2)
{
    return s1.Length.CompareTo(s2.Length);
});
&lt;/code&gt;and you get the list in the order: &lt;strong&gt;Meg, Lois, Peter, Brian, Chris, Stewie&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Lets look at some other application of delegatesa with Lists. Lets say you wanted to get all the strings in the list of a given length.&lt;/p&gt;
&lt;p&gt;&lt;code class="csharp"&gt;int length = 5;
List&amp;lt;string&amp;gt; lengthOfFive = items.FindAll(delegate(string s)
{
    return s.Length == length;
});
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;and the list lengthOfFive contains &lt;strong&gt;Peter, Brian, Chris&lt;/strong&gt;.&lt;/p&gt;
What if you need to do something for each object? You could use the a delegate with the ForEach function. This will print the total number of letters in List of strings:
&lt;p&gt;&lt;code class="csharp"&gt;int letters = 0;
items.ForEach( delegate(string s)
{
	letters += s.Length;
});
Console.WriteLine("Total number of letters: " + letters);
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;and this will print all the strings in the list:&lt;/p&gt;
&lt;p&gt;&lt;code class="csharp"&gt;items.ForEach(delegate(string s)
{
    Console.WriteLine(s );
});
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;We can get easily rid of &lt;strong&gt;Meg&lt;/strong&gt;, because let&amp;#8217;s face it, no one likes Meg. &lt;br /&gt;
&lt;code class="csharp"&gt;items.RemoveAll(delegate(string s)
{
    return s.Equals("Meg");
});
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;and now we have list that doesn&amp;#8217;t have Meg in it. &lt;br /&gt;
 When a List of strings is no longer good enough and we need a List of Person we can use the ConvertAll to help us out.&lt;br /&gt;
&lt;code class="csharp"&gt;List&amp;lt;Person&amp;gt; people= items.ConvertAll&amp;lt;Person&amp;gt;(delegate(string s ){
    return new Person(s);
});
&lt;/code&gt;&lt;/p&gt;</description>
      <author>The Will Who Smashes</author>
      <pubDate>Dec 03, 2008</pubDate>
      <loc>test</loc>
    </item>
    <item>
      <title>text editors for windows</title>
      <link>http://williamsmash.com/blog/show/text-editors-for-windows</link>
      <description>&lt;h3&gt;My List&lt;/h3&gt;
&lt;h4&gt;&lt;a href="http://notepad-plus.sourceforge.net/uk/site.htm"&gt;Notepad++&lt;/a&gt;&lt;/h4&gt;
&lt;p style="float:right;"&gt;&lt;img src="http://notepad-plus.sourceforge.net/commun/screenshots/scrsh_lexerHTML_small.gif" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;I know most people use notepad++ but I don&amp;#8217;t like it. It has a clumsy and cluttered interface. There are a few cool features; however, I suspect the main reason why it is so popular is it is an opensource texteditor.&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.flos-freeware.ch/notepad2.html"&gt;Notepad2&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;I love using Notepad2 to do quick things or look at config files. It has a large amount of languages for syntax highlighting and is very quick to load. It also fits nicely on a thumb stick for working on those computers without a decent text editor. I use it for quick edits and it has VBScript highlighting which I find useful when I am looking at VB files and don&amp;#8217;t really need Visual Studio&amp;#8217;s bloat.&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.e-texteditor.com/"&gt;e.TextEditor&lt;/a&gt;&lt;/h4&gt;
&lt;p style="float:right;"&gt;&lt;img src="http://e-texteditor.com/images/visibone.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;A blatant clone of textmate. They even say it is on the home page. It has almost all the same features as Textmate, but a lot of them need cygwin to run. I have downloaded the demo a couple times. I have had it lock up on me a few times, but that was about a year ago. Also the way it does projects, while I like it, is somewhat awkward and needs a little work. There should aleast be a refresh button and an easier way to save file directly to a folder. For $35 it&amp;#8217;s not a bad price ( a lot cheaper than &lt;a href="http://www.ultraedit.com/products/ultraedit.html"&gt;UltraEdit&lt;/a&gt; ).&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://intype.info/home/index.php"&gt;Intype&lt;/a&gt;&lt;/h4&gt;
&lt;p style="float:right;"&gt;&lt;img src="http://intype.info/home/trailers/alpha_3/bg.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;My second favorite vaporware (First is Duke4). It has been in alpha since jan 2007. It also is a textmate clone even though they say it isn&amp;#8217;t. It&amp;#8217;s fast. For what it can do it is really fast. Unfortunatly, its dev cycle is really slow. Intype has a long ways to go. I was using the Alpha 0.3 release for over a year and am still waiting for the next alpha. Right now it isn&amp;#8217;t tabbed text editor with pretty colors ( I love pretty colors). In one of the unstable releases, it has a project manager, but it was as the title said: unstable. You can see the potential in the design and the developer is very capable of adding all the features need.&lt;/p&gt;
&lt;h4&gt;&lt;a href="http://www.sublimetext.com/"&gt;Sublime Text&lt;/a&gt;&lt;/h4&gt;
&lt;p style="float:right;"&gt;&lt;img src="http://www.sublimetext.com/screenshots/htmlHeroMini.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;This is a really cool text editor. A lot of cool things are this that I haven&amp;#8217;t found in other text editors. It is setup to quickly create and reorganize split views with multiple documents; the pane on the left shows a birds eye view of the entire document; it allow multiple text selection. ( yah, you can select multiple noncontinuous lines of code and it&amp;#8217;s not awkward to do). There are a few drawbacks with sublime text. It seems a little buggy. More than once it ran away with my cpu and I had to kill the process.  It is a bit of a memory hog even on small files. Also, it costs $60. I&amp;#8217;d buy it right now for $20, once the issues with the resources are fixed $30, and when projects are added $40.&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Personally, I have settled on e.TextEditor with a splash of Notepad2. I like the familiarity of e.TextEditor because I only use TextMate on my mac. I like the speed of Notepad2 for quick edits.&lt;/p&gt;
&lt;h3&gt;Side Note&lt;/h3&gt;
&lt;p&gt;I left a few off the list such as UltraEdit and Programmers notepad. They are fine tools, I just don&amp;#8217;t care for them. I am old and picky and like pretty things.&lt;/p&gt;</description>
      <author>The Will Who Smashes</author>
      <pubDate>Oct 29, 2008</pubDate>
      <loc>test</loc>
    </item>
    <item>
      <title>my must have tiny apps</title>
      <link>http://williamsmash.com/blog/show/my-must-have-tiny-apps</link>
      <description>&lt;p&gt;Everyone has a few apps they have to have on every computer. Here is my list&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://launchy.net"&gt;Launchy&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.flos-freeware.ch/notepad2.html"&gt;Notepad2&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.digsby.com"&gt;Digsby&lt;/a&gt;.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.winsplit-revolution.com/"&gt;Winsplit Revolution&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.mozilla.com/firefox/"&gt;Firefox&lt;/a&gt;
	&lt;ul&gt;
		&lt;li&gt;Firebug&lt;/li&gt;
		&lt;li&gt;Download Them All&lt;/li&gt;
		&lt;li&gt;Google Gears&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.google.com/chrome/"&gt;Chrome&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.gimp.org"&gt;Gimp&lt;/a&gt; and &lt;a href="http://paint.net"&gt;Paint.net&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Visual Studio
	&lt;ul&gt;
		&lt;li&gt;&lt;a href="http://www.hanselman.com/blog/IntroducingRockScroll.aspx"&gt;Rockscroll&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <author>The Will Who Smashes</author>
      <pubDate>Oct 26, 2008</pubDate>
      <loc>test</loc>
    </item>
    <item>
      <title>three weeks in a c# world as a vb developer </title>
      <link>http://williamsmash.com/blog/show/three-weeks-in-a-c-world-as-a-vb-developer</link>
      <description>&lt;p&gt;A little background. In college I was a Java developer. I became a VB6 developer four years ago and about two years ago I became a VB.net developer. About three weeks ago I changed jobs and became a C# developer.  While it is a very similar world (almost the same) there are a few differences that are slightly annoying and a few things I like. There are more differences, but these are the ones that are most striking to me with simple every day development.&lt;/p&gt;
&lt;h3&gt;Dislikes&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Semi-Colons&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When I got into VB I thought I was done with semicolons. They are point less. To a computer the difference between a semicolon and newline is a few bits. I am already going to do a new line, why do I need to do a semicolon too. I don&amp;#8217;t get it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Capitalization&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;C# is a lot more picky with capitalization. A lot more. It knows what is right, but it waits until you screw up and have to go back over it and press Ctrl+Space before it fixes it. VB would correct it for you.I miss that.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Curly Bracket White Space&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I hate the &amp;#8216;{&amp;#8217; lines. Everytime you do a &amp;#8216;{&amp;#8217; in C#, you devote an entire line to it. The default in C# (and as a result most companies)  means an if statement is&lt;/p&gt;
&lt;p&gt;&lt;code class="csharp"&gt;if (stuff)
{
    //then do stuff
}
else
{
    //do other stuff
}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In java, I always did it like this:&lt;/p&gt;
&lt;p&gt;&lt;code class="csharp"&gt;if (stuff){
    //then do stuff
} else {
    //do other stuff
}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;and in VB, I did it like this&lt;/p&gt;
&lt;p&gt;&lt;code class="lotusscript"&gt;If stuff Then
    //do  stuff
Else
    //do other stuff
End If&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s half the lines in the second version than in the first version. I know it is a little picky, but I like having as much information in the screen as possible. Extra whitespace is for webpage design.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Events and delegates&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I hate the fact that it&amp;#8217;s so complicated to raise an event. You have to create a delegate, declare an event and then when you want raise the event, you have to check to see if it is null first. VB, create an event and raise it when you want to.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Includes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It is probably about the same as VB, but it seems like C# wants to pout more if you don&amp;#8217;t do your using before you use the classes first.&lt;/p&gt;
&lt;h3&gt;What&amp;#8217;s Good&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Initialization&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Declaring a variable in C# is a lot better. While Dim reminds me of Assembly, it&amp;#8217;s stupid. Why do I have write &lt;code&gt;Dim message as String&lt;/code&gt; instead of &lt;code&gt;message as String&lt;/code&gt; or &lt;code&gt;String message&lt;/code&gt; &lt;br /&gt;
&lt;strong&gt;Mulitline Comments&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;/* is way better than &amp;#8217; at the beginning of every line.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Boolean Conditions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;amp;&amp;amp; is why better then AndAlso. Also I don&amp;#8217;t like having to start my condition with Not when I am using Is.&lt;/p&gt;
&lt;p&gt;Like I said, there are more differences, but these are the ones that are most striking to me with simple every day development.&lt;/p&gt;</description>
      <author>The Will Who Smashes</author>
      <pubDate>Oct 08, 2008</pubDate>
      <loc>test</loc>
    </item>
    <item>
      <title>goal: start tomorrow</title>
      <link>http://williamsmash.com/blog/show/goal-start-tomorrow</link>
      <description>&lt;p&gt;I am going to try to do my first real post tomorrow and once a week from here on out.&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;
Remember to stay on the peak of the Ballmer Curve &lt;img src="http://imgs.xkcd.com/comics/ballmer_peak.png" alt="" /&gt;&lt;/p&gt;</description>
      <author>The Will Who Smashes</author>
      <pubDate>Oct 07, 2008</pubDate>
      <loc>test</loc>
    </item>
    <item>
      <title>an essay on rails</title>
      <link>http://williamsmash.com/blog/show/an-essay-on-rails</link>
      <description>&lt;h3&gt;What is Rails?&lt;/h3&gt;
&lt;p&gt;Ruby on Rails is a web development framework written in Ruby. It was extracted from code in a 37 Signals web application Basecamp. Since it&#8217;s inception, its purpose was to speed up the development process for web applications. It has strong integrated support for JavaScript and databases that make integrating &lt;span class="caps"&gt;AJAX&lt;/span&gt; (Asynchronies JavaScript and &lt;span class="caps"&gt;XML&lt;/span&gt;) a faster and more enjoyable process for developers. Because of the philosophies in the Rails community, the structure of the project also speeds up development and maintenance of the Web App.&lt;/p&gt;
&lt;h3&gt;Philosophy&lt;/h3&gt;
&lt;h4&gt;Model-View-Controller&lt;/h4&gt;
&lt;p&gt;The &lt;span class="caps"&gt;MVC&lt;/span&gt; pattern is the most predominant theme in the Rails framework. The Model is your data object and is implement through the ruby project ActiveRecord. The Controller is a class the holds the business and application logic and handles the basic routing. The View is handles by &lt;span class="caps"&gt;ERB&lt;/span&gt; files. These are html files that have ruby tags in them allowing data to be added.&lt;br /&gt;
Convention over Configuration. Another prominent philosophy in the Rails community is Convention over Configuration. The designers of Rails felt it was more import to take the time to come up with appropriate settings then have giant configuration files scattered throughout the project. While this does make the project easier to get up and running, if you need to do something that is out of sync with the Rails philosophy, it will take a little bit of work.&lt;/p&gt;
&lt;h4&gt;Don&#8217;t Repeat Yourself.&lt;/h4&gt;
&lt;p&gt;The &lt;span class="caps"&gt;DRY&lt;/span&gt; philosophy is a major philosophy in Rails code and means to stay &lt;span class="caps"&gt;DRY&lt;/span&gt; are built into the Framework. Every controller has a helper class that contains methods needed in views. The application also has a helper class, allowing the programmer to create custom tags for &lt;span class="caps"&gt;ERB&lt;/span&gt; files, allowing even &lt;span class="caps"&gt;HTML&lt;/span&gt; and JavaScript to be refectories. Views can also be made &lt;span class="caps"&gt;DRY&lt;/span&gt; by creating partial views, which can be used in other views.&lt;/p&gt;
&lt;h4&gt;Representational State Transfer (RESTful).&lt;/h4&gt;
&lt;p&gt;RESTful web services are also built into the framework. &lt;span class="caps"&gt;REST&lt;/span&gt; is a design pattern for web services. There are four functions in a RESTful service: create, update, delete, and read. All data is sent and returned in &lt;span class="caps"&gt;XML&lt;/span&gt; format. Rails has been built so that an entire RESTful service can be built using a single command. The Rails community has shied away from the WS-* primarily due to its complexity and unpredictability in any developer can setup and commands they want.  Other benefits include shorter response times due to caching.&lt;/p&gt;
&lt;h3&gt;Reasons for Rails&#8217; Gain&lt;/h3&gt;
&lt;p&gt;Rails has shot into the spotlight in the past few years. It has been heralded as a great productivity increaser and all over the web there are blog posts about teams scrapping their half finish projects and for Rails and still completing them ahead of time. Rails isn&#8217;t the magic solution to web development but it does solve some things right out of the gate and make others more simplified.&lt;/p&gt;
&lt;p&gt;If the web project does not fall into the basic category of the &lt;span class="caps"&gt;CRM&lt;/span&gt; and depends on database interactions then Rails will do the job well. It has out of the box support for most major database so programmers do not have to spend time setting up database connection. In addition, Rails has integrated support for the &lt;a href="http://www.prototypejs.org/"&gt;Prototype&lt;/a&gt; and the &lt;a href="http://script.aculo.us/"&gt;Scriptaculous&lt;/a&gt; JavaScript libraries, which give the developer built in support for &lt;span class="caps"&gt;AJAX&lt;/span&gt; and interactive pages. If there is a need for a JavaScript functionality not provided by the libraries, the developer can use ruby to write JavaScript code using &lt;span class="caps"&gt;RJS&lt;/span&gt; (Ruby JavaScript).  Deployment tools are also built into the framework such as Rake, which aid in the deployments of projects.&lt;/p&gt;
&lt;h3&gt;The Influence of Rails.&lt;/h3&gt;
&lt;p&gt;The rise in popularity of Rails has greatly effected web development. There has been a rise in frameworks across the major web development languages. Python&#8217;s main contender is &lt;a href="http://www.djangoproject.com/"&gt;Django&lt;/a&gt; but &lt;a href="http://turbogears.org/"&gt;TurboGears&lt;/a&gt; also has had a lot of press. Both are structured very similar to Rails and are often compared. The &lt;span class="caps"&gt;PHP&lt;/span&gt; community is noticing this as well and its main project is &lt;a href="http://cakephp.org/"&gt;CakePHP&lt;/a&gt;. Microsoft has also taken notice and its next version of &lt;a href="http://www.asp.net/mvc/"&gt;&lt;span class="caps"&gt;ASP&lt;/span&gt;.net&lt;/a&gt; is based on the &lt;span class="caps"&gt;MVC&lt;/span&gt; structure. There are also Java projects that are being worked on with a similar structure.&lt;/p&gt;
&lt;p&gt;Rails has also effected Ruby. Ruby went from being a relatively obscure language to being the ninth most popular language. Sun has taken notice of Ruby. They have provided a large amount of resources for Ruby and Rails developers and have setup a developer site. JRuby has also had a spike in interest.&lt;/p&gt;
&lt;h3&gt;Drawbacks with Rails&lt;/h3&gt;
&lt;p&gt;Rails does have some drawbacks. The main problem is scaling, &lt;em&gt;think twitter&lt;/em&gt; . Rails is best run with either the Mongrel server, a server written in Ruby, or fast-cgi; however, these are both slow solutions. Because of a problem with the mod_ruby project, Rails does not integrate with the Apache server like Python can. This problem made headlines recently, when there was a rumor leaked that the social network site Twitter would be dropping Rails in favor of tools that are more scalable.&lt;/p&gt;</description>
      <author>The Will Who Smashes</author>
      <pubDate>Aug 25, 2008</pubDate>
      <loc>test</loc>
    </item>
  </channel>
</rss>
