<?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:thr="http://purl.org/syndication/thread/1.0" xml:lang="en" xml:base="http://ellisweb.net/wp-atom.php">
	<title type="text">Ellis Web</title>
	<subtitle type="text">Thoughts, Articles &amp; Links on Programming &amp; Technology by Yaakov Ellis</subtitle>

	<updated>2009-11-09T10:02:15Z</updated>
	<generator uri="http://wordpress.org/" version="2.8.5">WordPress</generator>

	<link rel="alternate" type="text/html" href="http://ellisweb.net" />
	<id>http://ellisweb.net/feed/atom/</id>
	

			<link rel="self" href="http://feeds.feedburner.com/EllisWeb" type="application/atom+xml" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">EllisWeb</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry>
		<author>
			<name>Yaakov Ellis</name>
						<uri>http://ellisweb.net</uri>
					</author>
		<title type="html"><![CDATA[Viewing Emails by Conversation in Outlook]]></title>
		<link rel="alternate" type="text/html" href="http://ellisweb.net/2009/11/viewing-emails-by-conversation-in-outlook/" />
		<id>http://ellisweb.net/?p=429</id>
		<updated>2009-11-09T10:02:15Z</updated>
		<published>2009-11-09T10:02:15Z</published>
		<category scheme="http://ellisweb.net" term="Misc" /><category scheme="http://ellisweb.net" term="conversation" /><category scheme="http://ellisweb.net" term="email" /><category scheme="http://ellisweb.net" term="gmail" /><category scheme="http://ellisweb.net" term="outlook" />		<summary type="html">I have been yearning for some time to have a gmail-like Conversation view in Outlook. Currently you can group by Conversation. However, this view will only allow you to group the emails in one folder (and if you can&amp;#8217;t combine emails you have received with emails that you have sent, a conversation view is not [...]</summary>
		<content type="html" xml:base="http://ellisweb.net/2009/11/viewing-emails-by-conversation-in-outlook/">&lt;p&gt;I have been yearning for some time to have a gmail-like Conversation view in Outlook. Currently you can group by Conversation. However, this view will only allow you to group the emails in one folder (and if you can&amp;#8217;t combine emails you have received with emails that you have sent, a conversation view is not worth much). However, by setting up a Search folder, you can get around this restriction:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Set up a Custom Search Folder, set to include all messages that are in any of your mail folders (including Sent). You can get to this with File &amp;gt; New &amp;gt; Search Folder or Ctrl + Shift + P. There are also &lt;a href="http://www.howtogeek.com/howto/microsoft-office/save-time-with-search-folders-in-outlook/"&gt;good instructions for this&lt;/a&gt; at HowToGeek.&lt;/li&gt;
&lt;li&gt;Click on the new Search Folder, and then go to View &amp;gt; Arrange By &amp;gt; &lt;a href="http://office.microsoft.com/en-us/outlook/HA011357041033.aspx"&gt;Conversation&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That&amp;#8217;s it. It works pretty well, though it does rely a bit too much on using the subject as the thread/conversation identifier (which is fine when you have a unique subject, but not fine for generic subjects). Hopefully this will be improved in 2010 (though as of now, &lt;a href="http://www.pcpro.co.uk/blogs/2009/08/19/why-outlook-2010s-conversation-view-doesnt-work/"&gt;initial reports&lt;/a&gt; are not good). Still, in many ways it is far superior to the regular inbox view (and unlike Gmail, you can still maintain a different grouping method in your inbox, and apply technologies like Sorting which for some reason are still beyond Gmail&amp;#8217;s capabilities).&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/EllisWeb?a=p5xRCi6ZvFs:No0uQVHrdp0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/EllisWeb?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/EllisWeb?a=p5xRCi6ZvFs:No0uQVHrdp0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/EllisWeb?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/EllisWeb?a=p5xRCi6ZvFs:No0uQVHrdp0:2mJPEYqXBVI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/EllisWeb?d=2mJPEYqXBVI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/EllisWeb?a=p5xRCi6ZvFs:No0uQVHrdp0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/EllisWeb?i=p5xRCi6ZvFs:No0uQVHrdp0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/EllisWeb?a=p5xRCi6ZvFs:No0uQVHrdp0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/EllisWeb?i=p5xRCi6ZvFs:No0uQVHrdp0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://ellisweb.net/2009/11/viewing-emails-by-conversation-in-outlook/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://ellisweb.net/2009/11/viewing-emails-by-conversation-in-outlook/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	</entry>
		<entry>
		<author>
			<name>Yaakov Ellis</name>
						<uri>http://ellisweb.net</uri>
					</author>
		<title type="html"><![CDATA[Optimal Setup for SyntaxHighlighter &amp; TinyMCE]]></title>
		<link rel="alternate" type="text/html" href="http://ellisweb.net/2009/11/optimal-setup-for-syntaxhighlighter-and-tinymce/" />
		<id>http://ellisweb.net/?p=424</id>
		<updated>2009-11-01T14:11:16Z</updated>
		<published>2009-11-01T11:50:53Z</published>
		<category scheme="http://ellisweb.net" term="WebDev" /><category scheme="http://ellisweb.net" term="Code" /><category scheme="http://ellisweb.net" term="formatting" /><category scheme="http://ellisweb.net" term="javascript" /><category scheme="http://ellisweb.net" term="plugin" /><category scheme="http://ellisweb.net" term="syntaxhighlighter" />		<summary type="html">My favorite Javascript-based WYSIWYG editor is TinyMCE. I find it the most visually appealing, and the most well constructed from all of the offerings available on the Internet.
When posting code for others to see, I prefer using SyntaxHighlighter. This javascript-based formatting tool by Alex Gorbatchev allows you to put the code to be displayed into [...]</summary>
		<content type="html" xml:base="http://ellisweb.net/2009/11/optimal-setup-for-syntaxhighlighter-and-tinymce/">&lt;p&gt;My favorite Javascript-based WYSIWYG editor is &lt;a href="http://tinymce.moxiecode.com/"&gt;TinyMCE&lt;/a&gt;. I find it the most visually appealing, and the most well constructed from all of the offerings available on the Internet.&lt;/p&gt;
&lt;p&gt;When posting code for others to see, I prefer using &lt;a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter"&gt;SyntaxHighlighter&lt;/a&gt;. This javascript-based formatting tool by Alex Gorbatchev allows you to put the code to be displayed into a Pre or TextArea tag, formats based on the code language, and allows for good degradation in case of NoScript.&lt;/p&gt;
&lt;p&gt;I have &lt;a href="http://ellisweb.net/2008/08/using-syntaxhighlighter-to-format-code-in-wordpress/"&gt;previously posted&lt;/a&gt; on how to get SyntaxHighlighter to play nicely with the built-in text editor inside WordPress (TinyMCE). Now for the first time I needed to set it up on another platform (Telligent Community Server). Here are my recommendations on what to use to achieve optimal setup (this can work on any platform):&lt;/p&gt;
&lt;p&gt;Problem 1: &lt;strong&gt;Need Friendlier Way to Input Code&lt;/strong&gt; &amp;#8211; The default method for adding code to be formatted woudl be to open up HTML mode in TinyMCE, type in the Pre or TextArea tag with specially formatted attributes, and put in the code. This is ok for myself (this is what I use in WordPress), but when designing a site for others, a friendlier interface is preferable. I found a plugin for TinyMCE: &lt;strong&gt;&lt;a href="http://github.com/RichGuk/syntaxhl"&gt;SyntaxHL&lt;/a&gt;&lt;/strong&gt; by &lt;a href="http://27smiles.com/2008/04/07/tinymce-syntaxhighlighter-plugin/"&gt;Richard Grundy&lt;/a&gt;. After installing this (download and copy files to tinymce/plugins directory, and add plugin and button to TinyMCE.Init), a new button is added to TinyMCE that loads a popup which allows easy entry of the code to be formatted and customization of language and display options, without the need to enter html mode. (I would prefer something that could load up highlighted text when the button is pressed, but I will settle on this one for now)&lt;/p&gt;
&lt;p&gt;Problem 2: &lt;strong&gt;TinyMCE adds BR Tags within PRE&lt;/strong&gt; &amp;#8211; When opening up TinyMCE it performs some cleanup of the Html that is input. Part of this cleanup involves (by default) substituting &amp;lt;BR /&amp;gt; tags instead of New Lines in the source text. For code that has already been saved, this presents a problem. When editing a post with code formatted in a &amp;lt;PRE&amp;gt; tag, instead of preserving the new lines, &amp;lt;BR /&amp;gt;&amp;#8217;s are inserted, completely messing up the formatting. This has been noted &lt;a href="http://drupal.org/node/297240"&gt;by&lt;/a&gt; &lt;a href="http://www.mainelydesign.com/blog/view/performatted-text-tinymce-pre-tag/"&gt;others&lt;/a&gt;, and has even been reported in the TinyMCE &lt;a href="http://tinymce.moxiecode.com/punbb/viewtopic.php?id=859"&gt;forums&lt;/a&gt;, but so far the bug is still in there. To the rescue, another plugin for TinyMCE: &lt;strong&gt;&lt;a href="http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=2671750&amp;amp;group_id=103281&amp;amp;atid=738747"&gt;PreElementFix&lt;/a&gt;&lt;/strong&gt; by &lt;a href="http://sourceforge.net/users/tan73"&gt;T Andersen&lt;/a&gt;. After installing the files and adding the plugin to TinyMCE.Init, PRE acts as it should: no more insertion of &amp;lt;BR /&amp;gt; tags, and the tab key adds a Tab to the text, rather than advancing to the next field.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/EllisWeb?a=gjpUGXJku0w:zNWRIGtqDJU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/EllisWeb?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/EllisWeb?a=gjpUGXJku0w:zNWRIGtqDJU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/EllisWeb?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/EllisWeb?a=gjpUGXJku0w:zNWRIGtqDJU:2mJPEYqXBVI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/EllisWeb?d=2mJPEYqXBVI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/EllisWeb?a=gjpUGXJku0w:zNWRIGtqDJU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/EllisWeb?i=gjpUGXJku0w:zNWRIGtqDJU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/EllisWeb?a=gjpUGXJku0w:zNWRIGtqDJU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/EllisWeb?i=gjpUGXJku0w:zNWRIGtqDJU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://ellisweb.net/2009/11/optimal-setup-for-syntaxhighlighter-and-tinymce/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://ellisweb.net/2009/11/optimal-setup-for-syntaxhighlighter-and-tinymce/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	</entry>
		<entry>
		<author>
			<name>Yaakov Ellis</name>
						<uri>http://ellisweb.net</uri>
					</author>
		<title type="html"><![CDATA[MS Office Live Addin for 2007 Causing Word, Excel and Powerpoint to Crash on Vista]]></title>
		<link rel="alternate" type="text/html" href="http://ellisweb.net/2009/08/ms-office-live-addin-for-2007-causing-word-excel-and-powerpoint-to-crash-on-vista/" />
		<id>http://ellisweb.net/?p=411</id>
		<updated>2009-08-06T14:44:22Z</updated>
		<published>2009-08-06T14:44:22Z</published>
		<category scheme="http://ellisweb.net" term="Misc" /><category scheme="http://ellisweb.net" term="crash" /><category scheme="http://ellisweb.net" term="office" /><category scheme="http://ellisweb.net" term="software" /><category scheme="http://ellisweb.net" term="windows" />		<summary type="html">I ran Windows Update a few days ago, and it ended up installing an add in for MS Office, to allow connectivity with Office Live Workspace. Very soon afterwards, Word, Excel and Powerpoint started to crash immediately after they were started up. The Office Live add in is the culprit. I was able to open [...]</summary>
		<content type="html" xml:base="http://ellisweb.net/2009/08/ms-office-live-addin-for-2007-causing-word-excel-and-powerpoint-to-crash-on-vista/">&lt;p&gt;I ran Windows Update a few days ago, and it ended up installing an &lt;a href="http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=36bac9da-1ee4-40df-b06c-a327269f2b63&amp;amp;displaylang=en"&gt;add in for MS Office&lt;/a&gt;, to allow connectivity with Office Live Workspace. Very soon afterwards, Word, Excel and Powerpoint started to crash immediately after they were started up. The Office Live add in is the culprit. I was able to open up Word in safe mode (hold down Ctrl) and deactivate the add in, after which Word started working again. After I uninstalled the add in from my computer, Excel and Powerpoint are working again.&lt;/p&gt;
&lt;p&gt;I am &lt;a href="http://ask.officelive.com/workspace/qna/t/4578.aspx"&gt;not the first person&lt;/a&gt; to whom this happened. Hopefully my wasted time figuring this out can help save someone out there a few hours.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/EllisWeb?a=czm8ot8EzlY:DNcooei_bzY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/EllisWeb?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/EllisWeb?a=czm8ot8EzlY:DNcooei_bzY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/EllisWeb?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/EllisWeb?a=czm8ot8EzlY:DNcooei_bzY:2mJPEYqXBVI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/EllisWeb?d=2mJPEYqXBVI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/EllisWeb?a=czm8ot8EzlY:DNcooei_bzY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/EllisWeb?i=czm8ot8EzlY:DNcooei_bzY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/EllisWeb?a=czm8ot8EzlY:DNcooei_bzY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/EllisWeb?i=czm8ot8EzlY:DNcooei_bzY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://ellisweb.net/2009/08/ms-office-live-addin-for-2007-causing-word-excel-and-powerpoint-to-crash-on-vista/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://ellisweb.net/2009/08/ms-office-live-addin-for-2007-causing-word-excel-and-powerpoint-to-crash-on-vista/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	</entry>
		<entry>
		<author>
			<name>Yaakov Ellis</name>
						<uri>http://ellisweb.net</uri>
					</author>
		<title type="html"><![CDATA[Casting vs. Converting in .Net]]></title>
		<link rel="alternate" type="text/html" href="http://ellisweb.net/2008/12/casting-vs-converting-in-net/" />
		<id>http://ellisweb.net/?p=406</id>
		<updated>2008-12-11T20:40:55Z</updated>
		<published>2008-12-11T20:40:55Z</published>
		<category scheme="http://ellisweb.net" term="c#" /><category scheme="http://ellisweb.net" term="cast" /><category scheme="http://ellisweb.net" term="Code" /><category scheme="http://ellisweb.net" term="convert" /><category scheme="http://ellisweb.net" term="types" />		<summary type="html">I recently saw a piece of code in a project that was throwing an exception that I did not understand:

string boolString = (string)DataBinder.Eval(DataItem, "IsNew");

One would expect that boolString would be assigned the value &amp;#8220;True&amp;#8221; or &amp;#8220;False&amp;#8221; depending on the value of the IsNew property of the DataItem object. However, this through an Exception with the [...]</summary>
		<content type="html" xml:base="http://ellisweb.net/2008/12/casting-vs-converting-in-net/">&lt;p&gt;I recently saw a piece of code in a project that was throwing an exception that I did not understand:&lt;/p&gt;
&lt;pre name="code" class="c#"&gt;
string boolString = (string)DataBinder.Eval(DataItem, "IsNew");
&lt;/pre&gt;
&lt;p&gt;One would expect that boolString would be assigned the value &amp;#8220;True&amp;#8221; or &amp;#8220;False&amp;#8221; depending on the value of the IsNew property of the DataItem object. However, this through an Exception with the message: &amp;#8220;Cannot explicitly convert bool to string&amp;#8221;. What is going on here?&lt;/p&gt;
&lt;p&gt;The syntax of &lt;em&gt;(&lt;strong&gt;type&lt;/strong&gt;)variable&lt;/em&gt; attempts to &lt;a href="http://msdn.microsoft.com/en-us/library/ms173105(VS.80).aspx"&gt;explicitly cast&lt;/a&gt; the variable into the given type. Casting does not attempt to interpret the data in the variable &amp;#8211; it just tries to fit the object referred to by the variable into the new data type. This will work whenever the two types are somehow compatible (for example, an int can be cast into a float with no exceptions) though sometimes it may result in data loss (a float cast into an int). However, in cases where there is no connection between the two classes, casting will result in an Exception (like the one that I received above).&lt;/p&gt;
&lt;p&gt;(There is another way to cast an object &amp;#8211; using the &lt;em&gt;as&lt;/em&gt; keyword. This will return a null if the cast fails, and is &lt;a href="http://www.codeproject.com/KB/cs/csharpcasts.aspx"&gt;much faster&lt;/a&gt; than the explicit casting referred to above).&lt;/p&gt;
&lt;p&gt;However, when converting an object, the conversion function has &amp;#8220;knowledge&amp;#8221; of the data contained in both the source and final object types, and will create the equivalent of the variable in the new data type. In the case above, using the System.Convert.ToString() method in place of the attempted cast to (string) would have worked fine. This is because the ToString method &amp;#8220;knows&amp;#8221; that a bool cannot be case into a string &amp;#8211; but it also knows what the equivalent string to each value of a bool will be, and is able to process the operation accordingly. In this case, reflector uncovers the following code (in the Boolean class):&lt;/p&gt;
&lt;pre name="code" class="c#"&gt;
public string ToString() {
    if (!this) {
        return "False";
    }
    return "True";
}
&lt;/pre&gt;
&lt;p&gt;This is obviously a very simple type conversion. However, there are many more complex conversion utilities built into the .Net framework (accessible through the &lt;a href="http://msdn.microsoft.com/en-us/library)/system.convert.aspx"&gt;System.Convert&lt;/a&gt; class &amp;#8211; see the DateTime.ToString conversion for an example of this. Also see the IConvertible interface). While conversions can be more expensive to run, since they are strongly typed, they are checked at compile time, and when used properly are more reliable to use when producing stable code. (See the MSDN article on &lt;a href="http://msdn.microsoft.com/en-us/library/ms173105.aspx"&gt;Casting and Type Conversions&lt;/a&gt; for more info).&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=NssqYtFL"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=wRwzcY94"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=04XWRVGS"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?i=04XWRVGS" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=qkg79kqB"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?i=qkg79kqB" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://ellisweb.net/2008/12/casting-vs-converting-in-net/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://ellisweb.net/2008/12/casting-vs-converting-in-net/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	</entry>
		<entry>
		<author>
			<name>Yaakov Ellis</name>
						<uri>http://ellisweb.net</uri>
					</author>
		<title type="html"><![CDATA[No Budget for Off the Shelf Software?]]></title>
		<link rel="alternate" type="text/html" href="http://ellisweb.net/2008/09/no-budget-for-off-the-shelf-software/" />
		<id>http://ellisweb.net/?p=395</id>
		<updated>2008-09-10T16:41:26Z</updated>
		<published>2008-09-10T16:41:26Z</published>
		<category scheme="http://ellisweb.net" term="Misc" /><category scheme="http://ellisweb.net" term="corporate-policy" /><category scheme="http://ellisweb.net" term="cots" /><category scheme="http://ellisweb.net" term="development" /><category scheme="http://ellisweb.net" term="software" />		<summary type="html">I was reading a question today on StackOverFlow that was asking for advice on how to build a load-testing program for a website. At the end of the question is the following parenthetical remark (preempting the obvious answers pointing the questioner at any number of applications available for purchase that do exactly what they need):
We have [...]</summary>
		<content type="html" xml:base="http://ellisweb.net/2008/09/no-budget-for-off-the-shelf-software/">&lt;p&gt;I was reading a &lt;a href="http://beta.stackoverflow.com/questions/54459/website-load-testing"&gt;question&lt;/a&gt; today on StackOverFlow that was asking for advice on how to build a load-testing program for a website. At the end of the question is the following parenthetical remark (preempting the obvious answers pointing the questioner at any number of applications available for purchase that do exactly what they need):&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;We have a budget for programmer time but no budget for buying software, so it wouldn&amp;#8217;t matter how money we&amp;#8217;d save to buy a &lt;a href="http://en.wikipedia.org/wiki/Commercial_off-the-shelf"&gt;COTS&lt;/a&gt; product.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This strikes me as a pretty stupid corporate policy that in the end will result in the company spending more than they need to in order to reinvent the wheel. What is they would save 1,000 programmer hours by spending $1,000 on one piece of software. It is not too far fetched. In today&amp;#8217;s programming world, the most capable development teams are those that know how and when to leverage expertise from outside of their immediate circle (and outside of the company payroll, when necessary). I realize that from an accounting perspective, one could claim that payroll is a fixed, budgeted cost, and since the developers have to be paid anyway, why shouldn&amp;#8217;t they do everything in house? But every hour spent on developing something in-house that could be bought elsewhere for less money than the cost of the salaries being spent is another hour that the company could have used to use its employees for increasing its own revenues and profitability. Oh well, their loss.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=pOcB7OKw"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=72H5rRNt"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=sO3EtwWM"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?i=sO3EtwWM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=2UY0xHea"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?i=2UY0xHea" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://ellisweb.net/2008/09/no-budget-for-off-the-shelf-software/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://ellisweb.net/2008/09/no-budget-for-off-the-shelf-software/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	</entry>
		<entry>
		<author>
			<name>Yaakov Ellis</name>
						<uri>http://ellisweb.net</uri>
					</author>
		<title type="html"><![CDATA[Where Does Google Chrome Store User History, Profile &amp; Bookmarks?]]></title>
		<link rel="alternate" type="text/html" href="http://ellisweb.net/2008/09/where-does-google-chrome-store-user-history-profile-and-bookmarks/" />
		<id>http://ellisweb.net/?p=389</id>
		<updated>2008-09-11T05:17:45Z</updated>
		<published>2008-09-08T20:08:05Z</published>
		<category scheme="http://ellisweb.net" term="Web" /><category scheme="http://ellisweb.net" term="browser" /><category scheme="http://ellisweb.net" term="chrome" /><category scheme="http://ellisweb.net" term="google" /><category scheme="http://ellisweb.net" term="profile" /><category scheme="http://ellisweb.net" term="programs" /><category scheme="http://ellisweb.net" term="security" />		<summary type="html">I have been using and enjoying Google Chrome for the past couple of days. So as I am setting up my new computer, I am installing Chrome there as well. While doing this, I would like to bring over my saved browsing history and bookmarks so that I don&amp;#8217;t have to build it from scratch [...]</summary>
		<content type="html" xml:base="http://ellisweb.net/2008/09/where-does-google-chrome-store-user-history-profile-and-bookmarks/">&lt;p&gt;I have been using and enjoying Google Chrome for the past couple of days. So as I am setting up my new computer, I am installing Chrome there as well. While doing this, I would like to bring over my saved browsing history and bookmarks so that I don&amp;#8217;t have to build it from scratch on the new machine. The only problem is that while Chrome makes it very easy to import existing settings from Firefox, it does not display any visible option to export current settings.&lt;/p&gt;
&lt;p&gt;After a bit of digging, I found the location where Chrome stored user data:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;On XP &amp;#8211; C:\Documents and Settings\&amp;lt;User Name&amp;gt;\Local Settings\Application Data\Google\Chrome\User Data&lt;/li&gt;
&lt;li&gt;On Vista - C:\Users\&amp;lt;User Name&amp;gt;\AppData\Local\Google\Chrome\User Data&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The User Data folder contains three files: Local State, Safe Browsing and Safe Browsing Filter, along with a folder called Default. Default in turn contains your browser cache, plugin data, and all of your cookies and history data. To move my profile over to my new computer, I copied all of the files and folders under User Data on my XP machine, and moved them into the User Data on my new Vista machine (all of the files were nearly 100mb after only four days of use, which will give you some kind of idea about the amount of indexing going on in the background). When I next started Chrome on my Vista machine, it was identical to the app on my XP machine, down to most popular sites, history and cookies. I even started writing this post on my XP machine, and then continued it on my Vista machine without having to log in again into my Wordpress admin.&lt;/p&gt;
&lt;p&gt;In the end this was pretty easy to do. Though the ease of profile transfer could in turn make it easy for someone to steal someone else&amp;#8217;s identity &amp;#8211; after all, the cookies file (presumably a sqllite db or something similar) was only 256KB, and merely dropping it in the new User Data allowed a complete transfer of identity (perhaps a good security feature would be to allow the \User Data\Default\Cookies file to work only on the originally installed instance).&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=wWBCoKQ7"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=1URHHMjg"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=BFsfLRei"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?i=BFsfLRei" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=f9zzh96T"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?i=f9zzh96T" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://ellisweb.net/2008/09/where-does-google-chrome-store-user-history-profile-and-bookmarks/#comments" thr:count="10" />
		<link rel="replies" type="application/atom+xml" href="http://ellisweb.net/2008/09/where-does-google-chrome-store-user-history-profile-and-bookmarks/feed/atom/" thr:count="10" />
		<thr:total>10</thr:total>
	</entry>
		<entry>
		<author>
			<name>Yaakov Ellis</name>
						<uri>http://ellisweb.net</uri>
					</author>
		<title type="html"><![CDATA[Google Chrome &#8211; Likes and Dislikes]]></title>
		<link rel="alternate" type="text/html" href="http://ellisweb.net/2008/09/google-chrome-likes-and-dislikes/" />
		<id>http://ellisweb.net/?p=381</id>
		<updated>2008-09-08T13:47:13Z</updated>
		<published>2008-09-07T10:04:46Z</published>
		<category scheme="http://ellisweb.net" term="Web" /><category scheme="http://ellisweb.net" term="browsers" /><category scheme="http://ellisweb.net" term="chrome" /><category scheme="http://ellisweb.net" term="firefox" /><category scheme="http://ellisweb.net" term="google" /><category scheme="http://ellisweb.net" term="ie" />		<summary type="html">I just downloaded Google Chrome and am going to try using it for some of my day-to-day web browsing over the next few days. Here are my initial reactions:
Likes

Fast. Very fast, and small memory footprint.
Each tab is a different process. This will make it very easy to any single tab that is using lots of [...]</summary>
		<content type="html" xml:base="http://ellisweb.net/2008/09/google-chrome-likes-and-dislikes/">&lt;p&gt;I just downloaded &lt;a href="http://google.com/Chrome"&gt;Google Chrome&lt;/a&gt; and am going to try using it for some of my day-to-day web browsing over the next few days. Here are my initial reactions:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Likes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fast. Very fast, and small memory footprint.&lt;/li&gt;
&lt;li&gt;Each tab is a different process. This will make it very easy to any single tab that is using lots of memory, without having to close the browser (unlike in FF).&lt;/li&gt;
&lt;li&gt;Tab positioning over the address bar (as oppossed to underneath in FF) seems more natural.&lt;/li&gt;
&lt;li&gt;No header or footer bars. Do we really need to waste vertical screen space just to tell me the name of the program and reserve space for status messages? Nope. Here there is no header bar (functions like close/minimize are squeezed to the right side of the tab area), and status messages and urls in links appear in a temporary popup box fixed to the bottom left corner of the browser window, when necessary. Seems like a very good use of screen space.&lt;/li&gt;
&lt;li&gt;Address bar has the domain name of the site appear in regular type, with the rest of the url appearing in a lighter type. It highlights the domain, which very quickly highlights where you are.&lt;/li&gt;
&lt;li&gt;Real warnings for potentially problematic domains. In IE and FF, you just get a small red box in your address bar. In Chrome, when you go to a page that is potentially troublesome (example: loads resources from a domain associated with malware) you have to go through a confirmation screen before loading the site. Seems like a much better way of implementing this than the halfway solution in IE and FF that everyone will tend to ignore.&lt;/li&gt;
&lt;li&gt;Useful built-in developer extensions (View Source, Debug Javascript, Javascript Console, Task Manager).&lt;/li&gt;
&lt;li&gt;In-page search is slick and improves on FF&amp;#8217;s implementation. You now see all occurences of the search term highlighted on the page at once, while maintaining the ability to enumerate through the bunch.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Dislikes&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="text-decoration: line-through;"&gt;Non-existent bookmarking. I like my delicious add-on and bookmarks toolbar in Firefox as well as my different bookmarklets (Note in Google Reader, delicious, Seed Newsvine). It gives me easy access to the pages that I use frequently (I know that they are stored in the Chrome history, but often just clicking on my bookmark link is more efficient than going to remember the title or url, typing it into the address bar and sorting through the results to find the one that I want).&lt;/span&gt; I take it back. Ctrl-B attaches a bookmark bar to the bottom of the address bar. &lt;/li&gt;
&lt;li&gt;No page titles. Since there is no header bar, the page title is squeezed into the tab for that browser window, which in almost all cases is too small to see the page title. &lt;/li&gt;
&lt;li&gt;Clicking my mouse scroll bar doesn&amp;#8217;t bring up the scroll pointer like it does in almost every other application.&lt;/li&gt;
&lt;li&gt;I like having the search box separated from the address bar like it is in FF. &lt;/li&gt;
&lt;li&gt;No FF add-ons. No Firebug, Greasemonkey, Adblock, FireFTP or IE Tab).&lt;/li&gt;
&lt;li&gt;No built-in support for RSS. I would at least have expected them to include an auto-subscribe to Google Reader.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is what I can come up with after using Chrome for 3 hours. So I like it better than IE7 (haven&amp;#8217;t tried 8 beta yet), though it does not beat out FF3 (yet).&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=HOwaQH4O"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=IbhkTRUT"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=X7ivXsbU"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?i=X7ivXsbU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=ZX4vQDmE"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?i=ZX4vQDmE" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://ellisweb.net/2008/09/google-chrome-likes-and-dislikes/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://ellisweb.net/2008/09/google-chrome-likes-and-dislikes/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	</entry>
		<entry>
		<author>
			<name>Yaakov Ellis</name>
						<uri>http://ellisweb.net</uri>
					</author>
		<title type="html"><![CDATA[Signing Code Using PVK and SPC Files]]></title>
		<link rel="alternate" type="text/html" href="http://ellisweb.net/2008/08/signing-code-using-pvk-and-spc-files/" />
		<id>http://ellisweb.net/?p=374</id>
		<updated>2008-08-28T08:38:51Z</updated>
		<published>2008-08-28T08:26:56Z</published>
		<category scheme="http://ellisweb.net" term="Code" /><category scheme="http://ellisweb.net" term="authenticode" /><category scheme="http://ellisweb.net" term="code-signing" /><category scheme="http://ellisweb.net" term="encrypt" /><category scheme="http://ellisweb.net" term="pfx" /><category scheme="http://ellisweb.net" term="pvk" /><category scheme="http://ellisweb.net" term="spc" /><category scheme="http://ellisweb.net" term="thawte" />		<summary type="html">I have a Windows Forms application that is ready for distribution. One of the last steps is getting code-signing working. We purchased a Code Signing certificate from Thawte. This resulted in a PVK (private key) and an SPC (certificate) file being delivered. Then the question arose of how to go about using them.
Referring to the [...]</summary>
		<content type="html" xml:base="http://ellisweb.net/2008/08/signing-code-using-pvk-and-spc-files/">&lt;p&gt;I have a Windows Forms application that is ready for distribution. One of the last steps is getting code-signing working. We purchased a &lt;a href="http://www.thawte.com/code-signing/index.html"&gt;Code Signing&lt;/a&gt; certificate from Thawte. This resulted in a PVK (private key) and an SPC (certificate) file being delivered. Then the question arose of how to go about using them.&lt;/p&gt;
&lt;p&gt;Referring to the documentation for &lt;a href="http://msdn.microsoft.com/en-us/library/aa387764.aspx"&gt;SignTool.exe&lt;/a&gt;, there did not seem to be a way to sign the code using the PVK and SPC files via the command line. Though this was possible using the GUI program (accessible using the -signwizard command line option), in order to get this integrated with my build process, I needed a way to initiate the code signing fully from the command line.&lt;/p&gt;
&lt;p&gt;The solution turned out to be the following:&lt;/p&gt;
&lt;p&gt;1) &lt;strong&gt;Convert the PVK and SPC files to a PFX file&lt;/strong&gt; (Personal Information Exchange file &amp;#8211; this encapsulates the info found in the PVK and SPC files). This is done using the pvk2pfx.exe executable (which had been included as part of the .Net SDK, and was found in C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin on my computer). I used the following syntax to do this (Pass1 is the original password for the PVK file, Pass2 is the new password for the pfx file. &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1853015&amp;amp;SiteID=1#1869336"&gt;Ref&lt;/a&gt;):&lt;/p&gt;
&lt;pre name="code" class="html"&gt;pvk2pfx.exe -pvk mykey.pvk -pi Pass1 -spc mycert.spc -pfx newpfxfile.pfx -po Pass2 -f&lt;/pre&gt;
&lt;p&gt;After this ran, I now had a PFX file called newpfxfile.pfx ready to be used.&lt;/li&gt;
&lt;p&gt;2) &lt;strong&gt;Use SignTool and the PFX file to sign my code&lt;/strong&gt;. Now that I had a PFX file, I was able to sign my code (and timestamp it) using the following command line syntax:&lt;/p&gt;
&lt;pre name="code" class="html"&gt;signtool.exe sign /f newpfxfile.pfx /p Pass2 /d "AppDescription" /du "AppURL" /t http://timestamp.verisign.com/scripts/timstamp.dll LocationOfCode&lt;/pre&gt;
&lt;p&gt;Seems simple, but it took quite a lot of research to get this process right. Hopefully the info can help save someone else some time.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=P5RGJZfA"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=HapUEPeg"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=Io7qqfLU"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?i=Io7qqfLU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=r2qRLO6s"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?i=r2qRLO6s" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://ellisweb.net/2008/08/signing-code-using-pvk-and-spc-files/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://ellisweb.net/2008/08/signing-code-using-pvk-and-spc-files/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	</entry>
		<entry>
		<author>
			<name>Yaakov Ellis</name>
						<uri>http://ellisweb.net</uri>
					</author>
		<title type="html"><![CDATA[Memory Profiler Eating Up My Memory]]></title>
		<link rel="alternate" type="text/html" href="http://ellisweb.net/2008/08/memory-profiler-eating-up-my-memory/" />
		<id>http://ellisweb.net/?p=370</id>
		<updated>2008-08-26T19:01:54Z</updated>
		<published>2008-08-26T19:01:54Z</published>
		<category scheme="http://ellisweb.net" term="windows forms" /><category scheme="http://ellisweb.net" term="dottrace" /><category scheme="http://ellisweb.net" term="firefox" /><category scheme="http://ellisweb.net" term="jet-brains" /><category scheme="http://ellisweb.net" term="memory" /><category scheme="http://ellisweb.net" term="profiler" /><category scheme="http://ellisweb.net" term="ram" /><category scheme="http://ellisweb.net" term="task-manager" />		<summary type="html">I have a Windows Forms app that has a very long and complicated initialization process. As the release is approaching, today was my day to try and shoft things around in the init, get it loading faster. So on recommendation from a few sources, I downloaded a profiler &amp;#8211; Jet Brains dotTrace. Install and first [...]</summary>
		<content type="html" xml:base="http://ellisweb.net/2008/08/memory-profiler-eating-up-my-memory/">&lt;p&gt;I have a Windows Forms app that has a very long and complicated initialization process. As the release is approaching, today was my day to try and shoft things around in the init, get it loading faster. So on recommendation from a few sources, I downloaded a profiler &amp;#8211; Jet Brains &lt;a href="http://www.jetbrains.com/profiler/"&gt;dotTrace&lt;/a&gt;. Install and first profile went well. However, as I started to make more changes and run more profiles, I noticed that there were no improvements in initialization time. If anything, things were getting worse. Task Manager helped pinpoint the culprit:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ellisweb.net/wp-content/uploads/2008/08/dottrace.jpg"&gt;&lt;img class="aligncenter size-medium wp-image-371" title="dotTrace in the Task Manager" src="http://ellisweb.net/wp-content/uploads/2008/08/dottrace-300x272.jpg" alt="" width="300" height="272" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If the numbers are too small, that is 1,241,596 KB. Yikes. Compare that with the second and third-place contestants, FireFox 3 at 174,584 KB, Visual Studio 2005 at 144,940 KB.&lt;/p&gt;
&lt;p&gt;This is what happened after I closed the profiler (see if you can guess when that happened):&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ellisweb.net/wp-content/uploads/2008/08/dottrace-pagefile.jpg"&gt;&lt;img class="aligncenter size-medium wp-image-372" title="Memory drops after dotTrace is closed" src="http://ellisweb.net/wp-content/uploads/2008/08/dottrace-pagefile-300x272.jpg" alt="" width="300" height="272" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And I thought that Firefox 2 was using &lt;a href="http://ellisweb.net/2007/04/firefox-the-memory-hog/"&gt;a lot of memory&lt;/a&gt;. I know that these programs are complicated, but I find it hard to comprehend how a program is supposed to help you track the memory usage of the applications that you are debugging when it ends up gobbling down over 1.2GB of RAM all by itself and making the computer basically unusable.&lt;/p&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=LbBmGkxM"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=ywKCdfLb"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=crJPI58L"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?i=crJPI58L" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=441J0fiz"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?i=441J0fiz" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://ellisweb.net/2008/08/memory-profiler-eating-up-my-memory/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://ellisweb.net/2008/08/memory-profiler-eating-up-my-memory/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	</entry>
		<entry>
		<author>
			<name>Yaakov Ellis</name>
						<uri>http://ellisweb.net</uri>
					</author>
		<title type="html"><![CDATA[Ajax Progress Image Generator]]></title>
		<link rel="alternate" type="text/html" href="http://ellisweb.net/2008/08/ajax-progress-image-generator/" />
		<id>http://ellisweb.net/?p=364</id>
		<updated>2008-08-26T12:33:05Z</updated>
		<published>2008-08-26T12:32:16Z</published>
		<category scheme="http://ellisweb.net" term="WebDev" /><category scheme="http://ellisweb.net" term="ajax" /><category scheme="http://ellisweb.net" term="animated-gif" /><category scheme="http://ellisweb.net" term="gif" /><category scheme="http://ellisweb.net" term="image" /><category scheme="http://ellisweb.net" term="progress" /><category scheme="http://ellisweb.net" term="web-design" />		<summary type="html">I was in need of an Ajax-style animated gif that could be used to indicate that something is going on in the background or loading. I have seen them on hundreds of sites, but I don&amp;#8217;t feel comfortable just copying someone else&amp;#8217;s image to use for myself.
After a bit of searching, I found this site: [...]</summary>
		<content type="html" xml:base="http://ellisweb.net/2008/08/ajax-progress-image-generator/">&lt;p&gt;I was in need of an Ajax-style animated gif that could be used to indicate that something is going on in the background or loading. I have seen them on hundreds of sites, but I don&amp;#8217;t feel comfortable just copying someone else&amp;#8217;s image to use for myself.&lt;/p&gt;
&lt;p&gt;After a bit of searching, I found this site: &lt;a href="http://ajaxload.info/"&gt;AjaxLoad.Info&lt;/a&gt;. This is a nice, simple site that generates 37 different &amp;#8220;loading&amp;#8221; animated gifs, allowing you to customize the style, foreground and background colors, and transparency. Definitely a good site to know about.&lt;/p&gt;
&lt;table border="0" width="100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center;"&gt;&lt;img class="size-full wp-image-366" title="ajax-loader" src="http://ellisweb.net/wp-content/uploads/2008/08/ajax-loader.gif" alt="" width="32" height="32" /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=JLIHl0fQ"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?d=41" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=II0w950U"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=w90hmN1S"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?i=w90hmN1S" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/EllisWeb?a=p8iYltrP"&gt;&lt;img src="http://feeds.feedburner.com/~f/EllisWeb?i=p8iYltrP" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<link rel="replies" type="text/html" href="http://ellisweb.net/2008/08/ajax-progress-image-generator/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://ellisweb.net/2008/08/ajax-progress-image-generator/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	</entry>
	</feed><!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
