<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>My Projects</title>
        <link>http://geekswithblogs.net/jhacheysblog/category/3354.aspx</link>
        <description>Updates and whatnots pertaining to my personal coding projects.</description>
        <language>en-US</language>
        <copyright>Joseph Hachey</copyright>
        <managingEditor>joseph_hac@yahoo.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>My First Article...</title>
            <link>http://geekswithblogs.net/jhacheysblog/archive/2005/12/07/62525.aspx</link>
            <description>&lt;A id=viewpost.ascx_TitleUrl HREF="/jhacheysblog/articles/62519.aspx"&gt;ASP.NET 2.0 Personal Website Starter Kit: Storing Pictures on Filesystem Instead of Database&lt;/A&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=62525"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=62525" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/jhacheysblog/aggbug/62525.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Joseph Hachey</dc:creator>
            <guid>http://geekswithblogs.net/jhacheysblog/archive/2005/12/07/62525.aspx</guid>
            <pubDate>Thu, 08 Dec 2005 03:08:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/jhacheysblog/comments/62525.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/jhacheysblog/archive/2005/12/07/62525.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/jhacheysblog/comments/commentRss/62525.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/jhacheysblog/services/trackbacks/62525.aspx</trackback:ping>
        </item>
        <item>
            <title>2 down...N to go!</title>
            <link>http://geekswithblogs.net/jhacheysblog/archive/2005/11/21/60701.aspx</link>
            <description>&lt;DIV&gt;I have started work on a new personal project, ResumeSpammer. ResumeSpammer will do just what its name implies, spam my resume. Contact info of potential employers will be stored in a&amp;nbsp;SQL Express&amp;nbsp;database. For each employer, the application will populate my resume document (.doc) with their contact information and email it to them. There's a bit more to the project than that, but that's the just of it.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Today I wrote&amp;nbsp;HacheyORG.ResumeSpammer.Logic.Resume, a class to handle populating and saving my resume with an employer's contact info. To interact with MS Word, I had to use its Primary Interop Assembly (PIA)&amp;nbsp; It was my first&amp;nbsp;time using&amp;nbsp;Interop Assemblies, and it wasn't enjoyable in the least! I better get comfortable with interops, cause I'm sure I'll run into them again. &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;One hurdle I ran into was not being able to have one MS Word bookmark point to multiple locations in the document. This would have come in very handy for fields such as RecipientName, which appear multiple times in the cover letter. As a workaround, I gave each bookmark location a unique name (ie RecipitentName1, RecipientName2, etc.) and wrote a function that will detect if there are mutliple bookmarks and loop over them.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Yesterday I wrote HacheyORG.Lib.MailService, a class that utilizes System.Net.Mail to send emails with optional attachments&amp;nbsp;through a SMTP server. In my case, I wanted to send emails through GMail's SMTP server. I had quite a bit of trouble figuring it out, so I'll post the code for reference. This snippet should work for Yahoo!Mail and HotMail&amp;nbsp;as well, you will just need to figure out their servers' hostname and port. &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;CODE&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New, Courier, Monospace" size=1&gt;using&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New, Courier, Monospace" size=1&gt; (&lt;FONT color=#008080&gt;MailMessage&lt;/FONT&gt; message = &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; &lt;FONT color=#008080&gt;MailMessage&lt;/FONT&gt;(from, to, subject, body))&lt;/FONT&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;FONT face="Courier New, Courier, Monospace" size=1&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;&lt;FONT face="Courier New, Courier, Monospace" size=1&gt;message.IsBodyHtml = &lt;FONT color=#0000ff&gt;false&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=1&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;&lt;FONT color=#008080&gt;SmtpClient&lt;/FONT&gt; mailClient = &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; &lt;FONT color=#008080&gt;SmtpClient&lt;/FONT&gt;();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New, Courier, Monospace" size=1&gt;mailClient.Host = "smtp.gmail.com";&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New, Courier, Monospace" size=1&gt;mailClient.Port = 587;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New, Courier, Monospace" size=1&gt;mailClient.EnableSsl = &lt;FONT color=#0000ff&gt;true&lt;/FONT&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New, Courier, Monospace" size=1&gt;mailClient.Credentials = &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; System.Net.&lt;FONT color=#008080&gt;NetworkCredential&lt;/FONT&gt;(username, password);&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT size=1&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;mailClient.Send(message);&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;DIV&gt;&lt;/CODE&gt;&lt;/DIV&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=60701"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=60701" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/jhacheysblog/aggbug/60701.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Joseph Hachey</dc:creator>
            <guid>http://geekswithblogs.net/jhacheysblog/archive/2005/11/21/60701.aspx</guid>
            <pubDate>Mon, 21 Nov 2005 08:53:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/jhacheysblog/comments/60701.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/jhacheysblog/archive/2005/11/21/60701.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/jhacheysblog/comments/commentRss/60701.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/jhacheysblog/services/trackbacks/60701.aspx</trackback:ping>
        </item>
    </channel>
</rss>