<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Radu Poenaru</title>
	
	<link>http://www.radupoenaru.com</link>
	<description>CTO, Software engineer and Team leader</description>
	<lastBuildDate>Tue, 23 Feb 2010 14:23:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/radupoenaru/blog" /><feedburner:info uri="radupoenaru/blog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>How to generate image_src for Facebook links in Wordpress theme</title>
		<link>http://feedproxy.google.com/~r/radupoenaru/blog/~3/luDK8ndhVCE/</link>
		<comments>http://www.radupoenaru.com/how-to-generate-image_src-for-facebook-links-in-wordpress-theme/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 19:56:12 +0000</pubDate>
		<dc:creator>Radu Poenaru</dc:creator>
				<category><![CDATA[Others]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.radupoenaru.com/?p=1203</guid>
		<description><![CDATA[In this article I present a script that sets the first image in a post as default image for sharing links in Facebook.<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/how-to-generate-image_src-for-facebook-links-in-wordpress-theme/">How to generate image_src for Facebook links in Wordpress theme</a></p>



Relate posts:<ol><li><a href='http://www.radupoenaru.com/wordpress-managing-post-revisions-tracking/' rel='bookmark' title='Permanent Link: Wordpress &ndash; managing Post Revisions Tracking'>Wordpress &ndash; managing Post Revisions Tracking</a> <small>A very interesting feature added in WordPress is the post...</small></li>
<li><a href='http://www.radupoenaru.com/asp-net-pageheader-with-custom-meta-tags/' rel='bookmark' title='Permanent Link: ASP .Net Page.Header with custom meta tags'>ASP .Net Page.Header with custom meta tags</a> <small>SEO techniques - how to change the meta tags associated...</small></li>
<li><a href='http://www.radupoenaru.com/implement-syntax-highlighting/' rel='bookmark' title='Permanent Link: Wordpress- how to implement Syntax Highlighting'>Wordpress- how to implement Syntax Highlighting</a> <small>I wanted to install the original highlighter, Alex Gorbatchev’s one,...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><img style="border-right-width: 0px; margin: 10px 20px 0px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Generate Wordpress article to be attached when using Facebook links: image_src tag" border="0" alt="Generate Wordpress article to be attached when using Facebook links: image_src tag" align="left" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/facebook2.png" width="124" height="155" />Sharing your article for free advertisement on Facebook is a fact. While using different Social Networks sharing tools I had a problem when sharing my articles on Facebook: sometimes the image that I intended to use to represent the article wouldn’t show in the list of the images who can be chosen. Why is that?</p>
<p>It bothered me some while I got the some free time to actually look into this, between <a href="http://www.radupoenaru.com/media-informatics-master/" target="_blank">exams</a>, <a href="http://www.radupoenaru.com/category/my-work/fit/" target="_blank">work</a> and <a href="http://www.radupoenaru.com/how-to-make-a-print-screen-on-microsoft-source-using-wpf/" target="_blank">master research</a>. After some wandering on the internet, I found <a href="http://wiki.developers.facebook.com/index.php/Facebook_Share/Specifying_Meta_Tags" rel="nofollow" target="_blank">here</a> the correct directions. What I learnt:<strong> <font color="#ff0000">Always search for the API! </font></strong></p>
<p>&#160;</p>
<blockquote style="width: 100%"><p>In order to make sure that the preview is always correctly populated, you should add the tags shown below to the &lt;head&gt; element in your HTML code. If you don&#8217;t tag your page, Facebook Share will grab the title of your page as specified in the &lt;title&gt; tag, and will create a summary description from the first text that appears in the body of your page. A list of thumbnails will all be selected from available images on your page. </p>
<p>You can control the exact title, description, and thumbnail that Facebook Share uses by adding the following meta tags to the &lt;head&gt; element in your page: </p>
<p>&lt;meta name=&quot;title&quot; content=&quot;title&quot; /&gt; &lt;meta name=&quot;description&quot; content=&quot;description &quot; /&gt; &lt;link rel=&quot;image_src&quot; href=&quot;thumbnail_image&quot; / &gt;</p>
</blockquote>
<p> <span id="more-1203"></span>
<p>Also, beware of this fact:</p>
<blockquote style="width: 100%"><p>The thumbnail_image is the URL to the image that appears in the Feed story. The thumbnail&#8217;s width or height must be at least 50 pixels, and cannot exceed 130&#215;110 pixels. The ratio of both height divided by width and width divided by height (w / h, h / w)<strong> cannot exceed 3.0</strong>. For example,<strong> an image of 126&#215;39 pixels will not be displayed</strong>, as the ratio of width divided by height is greater than 3.0 (126 / 39 = 3.23). Images will be resized proportionally. </p>
</blockquote>
<p>OK. so these are the Facebook requirements. How can we implement them?</p>
<p>So let’s get into some code.</p>
<p>First, I tried to modify the theme – adding the following code to the header.php file:</p>
<pre class="brush: php">$id =$post-&gt;ID;
$the_content =$wpdb-&gt;get_var(&quot;SELECT post_content FROM $wpdb-&gt;posts WHERE ID = $id&quot;);
$pattern = '!&lt;img.*?src=&quot;(.*?)&quot;!';
preg_match_all($pattern, $the_content, $matches);
echo '&lt;link $image_src=&quot;$matches['1'][0];&quot; $matches); $the_content, preg_match_all($pattern, /&gt;';</pre>
<p>While it is workable, from performace point of view isn&#8217;t very nice because you try to read at ANY page refresh the post and show the image. But what if you&#8217;re on the first page with lots of posts? Or in archive? The code that I settled in the final was placed in functions.php file in my current theme. It allows me to use triggers that output to the head of the page the desired content and also to do this only when a single post page is requested. The code is: </p>
<pre class="brush: php">function add_image_src(){

  global $post;
	// get the global variable post
  // if it exists and is only a single post
  if ($post){

    // pattern for recognizing first image in post
    $pattern = '!&lt;img.*?src=&quot;(.*?)&quot;!';
    preg_match_all($pattern, $post-&gt;post_content, $matches);

    //first image would be the representative image
    $image_src = $matches['1'][0];
    // extract it as Facebook wants it
    echo '&lt;link rel=&quot;image_src&quot; href=&quot;', $image_src,'&quot; /&gt;';
  }
}

// hooking to the head generation loop my function defined above
add_action('wp_head', 'add_image_src');</pre>
<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/how-to-generate-image_src-for-facebook-links-in-wordpress-theme/">How to generate image_src for Facebook links in Wordpress theme</a></p>


<p>Relate posts:</p><ol><li><a href='http://www.radupoenaru.com/wordpress-managing-post-revisions-tracking/' rel='bookmark' title='Permanent Link: Wordpress &ndash; managing Post Revisions Tracking'>Wordpress &ndash; managing Post Revisions Tracking</a> <small>A very interesting feature added in WordPress is the post...</small></li>
<li><a href='http://www.radupoenaru.com/asp-net-pageheader-with-custom-meta-tags/' rel='bookmark' title='Permanent Link: ASP .Net Page.Header with custom meta tags'>ASP .Net Page.Header with custom meta tags</a> <small>SEO techniques - how to change the meta tags associated...</small></li>
<li><a href='http://www.radupoenaru.com/implement-syntax-highlighting/' rel='bookmark' title='Permanent Link: Wordpress- how to implement Syntax Highlighting'>Wordpress- how to implement Syntax Highlighting</a> <small>I wanted to install the original highlighter, Alex Gorbatchev’s one,...</small></li>
</ol>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><img src="http://feeds.feedburner.com/~r/radupoenaru/blog/~4/luDK8ndhVCE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.radupoenaru.com/how-to-generate-image_src-for-facebook-links-in-wordpress-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.radupoenaru.com/how-to-generate-image_src-for-facebook-links-in-wordpress-theme/</feedburner:origLink></item>
		<item>
		<title>Alensa Online</title>
		<link>http://feedproxy.google.com/~r/radupoenaru/blog/~3/PAj5o32OEO4/</link>
		<comments>http://www.radupoenaru.com/alensa-online/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 08:33:47 +0000</pubDate>
		<dc:creator>Radu Poenaru</dc:creator>
				<category><![CDATA[2007 - Alensa Online]]></category>
		<category><![CDATA[Professional experience]]></category>
		<category><![CDATA[ASP .Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Lead developer]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.radupoenaru.com/alensa/</guid>
		<description><![CDATA[I was in charge with our brand new solution for an online Healthcare project – Alensa Online. The CEO trusted me the all the decisions in all software and hardware technology that were imposed by the architectural changes that we thought of. I’ve been asked to overview all aspects regarding our online presence: hosting company, maintenance and updating Windows 2003 Server including setup and configuration of IIS Web server and SQL 2005 Server.<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/alensa-online/">Alensa Online</a></p>



Relate posts:<ol><li><a href='http://www.radupoenaru.com/novensys-corporation/' rel='bookmark' title='Permanent Link: Novensys Corporation'>Novensys Corporation</a> <small>When I started working with Novensys, the first challenge appeared:...</small></li>
<li><a href='http://www.radupoenaru.com/softwise-development/' rel='bookmark' title='Permanent Link: Softwise Development'>Softwise Development</a> <small>Softwise is my soul company, the company that shaped me...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><strong><img style="border-right-width: 0px; margin: 10px auto; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Alensa Online - leader in Romanian Healthcare online business" border="0" alt="Alensa Online - leader in Romanian Healthcare online business" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/OnlineLogo640px1.jpg" width="640" height="160" /></strong></p>
<p><strong>Position: </strong>Team Leader and Lead Developer in Alensa Online &#8211; Software Development department</p>
<p>I was part of Alensa team between January 2007 and August 2008. Only the opportunity to study <a href="http://www.radupoenaru.com/media-informatics-master/">Media Informatics Master</a>, held by RWTH Aachen University, could gave me enough reasons to leave Alensa Online that I enjoyed so much for almost two years.</p>
<p>I was in charge with our brand new solution for an online Healthcare project – Alensa Online. The Alensa Online Shopping site (<b><u><a href="http://www.alensa.ro/">www.alensa.ro</a></u></b>) consists of an internet healthcare platform in Europe that would simplify research and self education related to health issues, and provides the customers with an interface allowing them to easily get their health questions answered by professionals. It was first developed by a third party company, then I took over the responsibility of developing and maintaining the solution.</p>
<p>My responsibilities were quite complex because I was the first hired person, very similar with <a href="http://www.radupoenaru.com/category/my-work/softwise-development/" target="_blank">Softwise company</a>. This reminded me about the joy and responsibility that comes with this. Another nice surprise was to find in person of Mr. Alex Savic, the CEO of the company, a friend with whom I shared both technical discussions and personal development ones, he was one the most <a href="http://blog.alensa.com/blog/2008/08/29/radu-in-germany/" target="_blank">supportive</a> about my decision to study in RWTH Aachen. </p>
<p>Shortly, at Alensa Online I were in charge with:</p>
<ul>
<li>Architecting and developing the web based solution using Microsoft ASP.NET / C# and SQL 2005 Server technologies; </li>
<li>Performing server administration, configuration and maintenance for the Windows 2003 server, for IIS 6 and for SQL 2005 database server; </li>
<li>Executing architectural modifications in order to make the website user friendly; </li>
<li>Identifying, designing and developing solutions; </li>
<li>Periodically testing the site functionalities and thus creating a real test environment, test cases and bug fixes; </li>
<li>Performing code review, corrections and code optimization; </li>
<li>Analyzing hardware/software requirements and proposing hardware/software improvements and suggestions (for example, choosing an appropriate hosting partner); </li>
<li>Implementing real time traffic analysis tool to help the management department; </li>
<li>Conducting internal training for his colleagues. <span id="more-1147"></span></li>
</ul>
<p>Technologies that I used:</p>
<ul>
<li>C#, ASP.Net 1.1 and migrated to .Net 2.0 &#8211; Object Oriented design; </li>
<li>SQL including SQL 2000 / SQL 2005, reporting system based on MS Reporting Services &#8211; also I did migration from SQL 2000 from to SQL 2005 environment; </li>
<li>HTML, CSS, and JavaScript; </li>
<li>Complete end-to-end systems design experience; </li>
<li>Web Services and Windows Services development and design; </li>
<li>Visual SourceSafe, CVSNT, SVN &#8211; install and maintenance; </li>
<li>Deploying SQL and code updates to remote servers (our web server is collocated and we manage the Windows 2003 Server / SQL 2005 Server Updates and Maintenance policies); </li>
</ul>
<p>As Lead developer, the CEO trusted me with all the decisions in all software and hardware technology that were imposed by the architectural changes that we thought of. I’ve been asked to overview all aspects regarding our online presence: hosting company, maintenance and updating Windows 2003 Server including setup and configuration of IIS Web server and SQL 2005 Server. </p>
<p>I’ve setup also a testing environment, having several levels of testing, some of them on different machines. For that we used V-Model, by matching each stage of the product development to a testing stage. Thus, we had developer testing, requirement testing, pre-production testing and production-like environment testing. These could be accessed and tests done in order to prove that a development was done properly, before moving data to production environment.</p>
<p>In order to better understand the application and the database structure, I started by upgrading the solution from .Net 1.1 to .Net 2.0 framework. Then we had a number of feature implementation that were increasingly challenging, among them I could mention:</p>
<ul>
<li>the integration of the fiscal printers in our system, allowing automatically generation of fiscal receipts on order processing by our operator. </li>
<li><a href="http://www.epayment.ro/en/" target="_blank">ePayment</a> online payment operator implementation, including graphic user interface for the ePayment final inputs; </li>
<li>publishing the Alensa site on search engines; </li>
<li>implementing Quality Assurance in testing and source versioning systems &#8211; CVS and SVN; </li>
<li>launching the Serbian version of the Alensa health portal – <a href="http://www.alensa.rs/" target="_blank"><strong>Alensa.RS</strong></a> </li>
</ul>
<p>Because the Development team started to grow, reaching a peak of 6 persons, I researched and tested some solutions for versioning and a bug tracking tools. Finally, I’ve installed and configured <a href="http://www.nongnu.org/cvs/" target="_blank">CVS(Concurrent Versions System)</a> and, because we needed web access to our repository, we switch later to <a href="http://subversion.tigris.org/" target="_blank">Subversion</a>. For bug tracking I choose <a href=" http://www.countersoft.com/home.aspx" rel="nofollow" target="_blank">Gemini</a> because it was very intuitive and the user experience was quite nice.</p>
<p>As the time passed by, we had numerous versions released, most of them targeting the improvement of User experience and overall usability of the website – lots of changes the the visual appearance of the website, adding cool features like flash carousel. Nevertheless, we searched for new ways to reduce the number of clicks necessary to perform some operations that were required frequently and we redesigned several times the way that customer places an order into our system.</p>
<p>When I went to Media Informatics Master, in <a href="http://stat.trafic.ro/stat/alensa/vizitatori/luna" rel="nofollow" target="_blank">the last month</a> &#8211; September 2008, the website had the following performances:</p>
<ul>
<li>Unique visitors 9.526 </li>
<li>Views: 39.591</li>
</ul>
<blockquote><p>eHealth Innovators of 2008 &#8211; Alensa project, Zurich, Switzerland-based company and her Romanian branch was awarded with 6th place out of ten most prestigious companies (Alensa is another non-U.S. company, the other being RTX). See more here : <a href="http://marketintellnow.blogspot.com/2008/05/interview-with-alensa-ehealth-innovator.html">http://marketintellnow.blogspot.com/2008/05/interview-with-alensa-ehealth-innovator.html</a></p>
</blockquote>
<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/alensa-online/">Alensa Online</a></p>


<p>Relate posts:</p><ol><li><a href='http://www.radupoenaru.com/novensys-corporation/' rel='bookmark' title='Permanent Link: Novensys Corporation'>Novensys Corporation</a> <small>When I started working with Novensys, the first challenge appeared:...</small></li>
<li><a href='http://www.radupoenaru.com/softwise-development/' rel='bookmark' title='Permanent Link: Softwise Development'>Softwise Development</a> <small>Softwise is my soul company, the company that shaped me...</small></li>
</ol>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><img src="http://feeds.feedburner.com/~r/radupoenaru/blog/~4/PAj5o32OEO4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.radupoenaru.com/alensa-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.radupoenaru.com/alensa-online/</feedburner:origLink></item>
		<item>
		<title>Add SyntaxHighlight to Windows Live Writer in Preview mode</title>
		<link>http://feedproxy.google.com/~r/radupoenaru/blog/~3/rbJse5pj5so/</link>
		<comments>http://www.radupoenaru.com/add-syntaxhiglight-to-windows-live-writer-in-preview-mode/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 04:25:00 +0000</pubDate>
		<dc:creator>Radu Poenaru</dc:creator>
				<category><![CDATA[My work]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Syntax Highlight]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[User experience]]></category>
		<category><![CDATA[Windows Live Writer]]></category>

		<guid isPermaLink="false">http://www.radupoenaru.com/?p=993</guid>
		<description><![CDATA[Windows Live Writer is one of the most popular blog authoring tool that I also happen to like and use  because of its features – I especially enjoy the Preview tab. But it has a drawback - no Syntax Highlighting of my code! Let me tell you how I solved this issue.<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/add-syntaxhiglight-to-windows-live-writer-in-preview-mode/">Add SyntaxHighlight to Windows Live Writer in Preview mode</a></p>



Relate posts:<ol><li><a href='http://www.radupoenaru.com/implement-syntax-highlighting/' rel='bookmark' title='Permanent Link: Wordpress- how to implement Syntax Highlighting'>Wordpress- how to implement Syntax Highlighting</a> <small>I wanted to install the original highlighter, Alex Gorbatchev’s one,...</small></li>
<li><a href='http://www.radupoenaru.com/windows-live-skydrive-whooping-25-gb-of-backup/' rel='bookmark' title='Permanent Link: Windows Live SkyDrive &#8211; whooping 25 GB of backup'>Windows Live SkyDrive &#8211; whooping 25 GB of backup</a> <small>Being not a big fan of Microsoft Live products (I...</small></li>
<li><a href='http://www.radupoenaru.com/gallerylive-only-for-internet-explorer/' rel='bookmark' title='Permanent Link: Gallery.live &ndash; only for Internet Explorer ??'>Gallery.live &ndash; only for Internet Explorer ??</a> <small>How to use Microsoft's Gallery live with Firefox...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><img style="border-right-width: 0px; margin: 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Add SyntaxHiglight to Windows Live Writer in Preview mode" border="0" alt="Add SyntaxHiglight to Windows Live Writer in Preview mode" align="left" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/WLWriter.png" width="100" height="100" /> <a href="http://windowslivewriter.spaces.live.com/blog/cns!D85741BB5E0BE8AA!174.entry" target="_blank">Windows Live Writer</a> (shorter: WLW) is one of the most popular blog authoring tool that I also happen to like and use. And I say this because of its features – I especially enjoy the Preview tab. But what it really lacks is previewing the ENTIRE page &#8211; it will get only the html and some css. So no <a href="http://www.radupoenaru.com/implement-syntax-highlighting/">Syntax Highlighting</a> of my code? Let me tell you how I solved this issue.</p>
<p>As a blog writer I searched for something that could allow me to write the articles offline and then upload them in Wordpress. I also tried <a href="http://wordpress.org/" target="_blank">Wordpress</a> built-in editor, but the editing box is so small that I couldn’t use it too much.</p>
<p>The most important feature for me is that it retrieves the blog theme and has a preview function that provide you the same look on editor window. So you will be able to write a post with a preview. But when having a more complex theme, using JQuery or Prototype, you will discover that you don’t get any more the same look and feel as in the blog. This is partially ok for editing, but sometimes it is really bad – especially if you’re a programmer and add a lot of code in your page. On blogs there is a solution to <a href="http://www.radupoenaru.com/syntaxhighlighter-how-to-use-it-and-brushes-available/">show the code with syntax color</a>, but in the Windows Live Writer I couldn’t find one suitable plug-in that does this.</p>
<p> <span id="more-993"></span>
</p>
<p>So it’s time for a simple and nice hack: while registering your blog in main menu entry Blogs – Edit blog settings, it will retrieve the page format for the preview feature. Searching in Windows 7 special directories, I found where it stores the blog template:</p>
<p>For Windows 7 and Vista users: <strong>C:\Users\YourUserName\AppData\Roaming\Windows Live Writer\blogtemplates\</strong></p>
<p>For Windows XP users: <strong>C:\Documents and Settings/YourUserName/Application data/Windows Live</strong></p>
<p>In this folder you’ll find as many folders as blogs you have registered in WLW – so it’s a matter of luck to find the right one. Basically, you have to navigate inside of each one and you’ll find there 2 HTML files:&#160; index.htm and index[1].htm and some not interesting folders containing associated images and css files. </p>
<p>First I tried to edit the index.htm file, who seems to be used by WLW to decorate the Edit view and inserted the following code right above the &lt;/HEAD&gt; tag:</p>
<pre class="brush:xml">&lt;link href='http://alexgorbatchev.com/pub/sh/current/styles/shCore.css' rel='stylesheet' type='text/css'/&gt;
&lt;link href='http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js' type='text/javascript'&gt;&lt;/script&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js' type='text/javascript'&gt;&lt;/script&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js' type='text/javascript'&gt;&lt;/script&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js' type='text/javascript'&gt;&lt;/script&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js' type='text/javascript'&gt;&lt;/script&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js' type='text/javascript'&gt;&lt;/script&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js' type='text/javascript'&gt;&lt;/script&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js' type='text/javascript'&gt;&lt;/script&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js' type='text/javascript'&gt;&lt;/script&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js' type='text/javascript'&gt;&lt;/script&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js' type='text/javascript'&gt;&lt;/script&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js' type='text/javascript'&gt;&lt;/script&gt;
&lt;script src='http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js' type='text/javascript'&gt;&lt;/script&gt;
&lt;script language='javascript'&gt;
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.config.clipboardSwf = 'http://alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf';
SyntaxHighlighter.all();
&lt;/script&gt;</pre>
<p><strong>But surprise!</strong> Editing tab was changed, code nice highlighted , but it also modified&#160; the Source tab in the way that now contained also all the HTML generated by Syntax Highlighter. After undo, I was able to see again my page as it was before. So I modified in the same way index[1].htm file, which I found that is responsible for the Preview tab and it worked like a charm. So now I have the same Syntax highlight in WLW as on my blog!</p>
<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/add-syntaxhiglight-to-windows-live-writer-in-preview-mode/">Add SyntaxHighlight to Windows Live Writer in Preview mode</a></p>


<p>Relate posts:</p><ol><li><a href='http://www.radupoenaru.com/implement-syntax-highlighting/' rel='bookmark' title='Permanent Link: Wordpress- how to implement Syntax Highlighting'>Wordpress- how to implement Syntax Highlighting</a> <small>I wanted to install the original highlighter, Alex Gorbatchev’s one,...</small></li>
<li><a href='http://www.radupoenaru.com/windows-live-skydrive-whooping-25-gb-of-backup/' rel='bookmark' title='Permanent Link: Windows Live SkyDrive &#8211; whooping 25 GB of backup'>Windows Live SkyDrive &#8211; whooping 25 GB of backup</a> <small>Being not a big fan of Microsoft Live products (I...</small></li>
<li><a href='http://www.radupoenaru.com/gallerylive-only-for-internet-explorer/' rel='bookmark' title='Permanent Link: Gallery.live &ndash; only for Internet Explorer ??'>Gallery.live &ndash; only for Internet Explorer ??</a> <small>How to use Microsoft's Gallery live with Firefox...</small></li>
</ol>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><img src="http://feeds.feedburner.com/~r/radupoenaru/blog/~4/rbJse5pj5so" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.radupoenaru.com/add-syntaxhiglight-to-windows-live-writer-in-preview-mode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.radupoenaru.com/add-syntaxhiglight-to-windows-live-writer-in-preview-mode/</feedburner:origLink></item>
		<item>
		<title>Adding events to LINQtoCSV library</title>
		<link>http://feedproxy.google.com/~r/radupoenaru/blog/~3/FNKK8va21hA/</link>
		<comments>http://www.radupoenaru.com/adding-events-to-linqtocsv-library/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 11:40:36 +0000</pubDate>
		<dc:creator>Radu Poenaru</dc:creator>
				<category><![CDATA[My work]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[User experience]]></category>

		<guid isPermaLink="false">http://www.radupoenaru.com/?p=985</guid>
		<description><![CDATA[The User Experience that a library provides must be at least equal with is quality and speed. And frankly, CSVtoLINQ rocks on latest two, but lacks a little on the User Experience(in our case Developer Experience)  by not having some events of starting, progress and ending of the parsing.<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/adding-events-to-linqtocsv-library/">Adding events to LINQtoCSV library</a></p>



Relate posts:<ol><li><a href='http://www.radupoenaru.com/import-csv-file-and-query-it-with-linq/' rel='bookmark' title='Permanent Link: Import CSV file and query it with LINQ'>Import CSV file and query it with LINQ</a> <small>Assume that you have an plain text, old Comma Separated...</small></li>
<li><a href='http://www.radupoenaru.com/change-screen-orientation-of-a-microsoft-surface-application/' rel='bookmark' title='Permanent Link: Change screen orientation of a Microsoft Surface application'>Change screen orientation of a Microsoft Surface application</a> <small>In order to understand the need of changing the screen...</small></li>
<li><a href='http://www.radupoenaru.com/objective-c-allocation-and-deallocation/' rel='bookmark' title='Permanent Link: Objective-C: allocation and deallocation'>Objective-C: allocation and deallocation</a> <small> While reading the book by Mr. Kochan (1st ed):...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><img style="border-right-width: 0px; margin: 10px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="How to improve Developer experience by adding custom events to libraries" border="0" alt="How to improve Developer experience by adding custom events to libraries" align="left" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/CsvDelimited.png" width="100" height="100" />
<p>The User Experience that a library provides must be at least equal with is quality and speed. And frankly, CSVtoLINQ rocks on latest two, as I presented in previous articles <a href="http://www.radupoenaru.com/import-csv-file-and-query-it-with-linq/">Import CSV file and query it with LINQ</a> and continuing in <a href="http://www.radupoenaru.com/linq-wonder-world/">LINQ wonder world</a>, but lacks a little on the User Experience(in our case Developer Experience)&#160; by not having some events of starting, progress and ending of the parsing.</p>
<p>Especially important, while parsing huge files, is a confirmation for the user that something happens and (ideally) the point in which the processing is. That is why, thanks to <b><a href="http://www.codeproject.com/Members/Matt-Perdeck">Matt Perdeck</a></b> for sharing the entire source of the library, I was able to improve it by adding events.</p>
<p>So, let’s see some code!</p>
<h3>Modifications into LINQtoCSV library &#8211; CSVContext.cs</h3>
<p><strong>Important: All modifications will be made in the CsvContext class from LINQtoCSV namespace – the CSVContext.cs file.</strong></p>
<p>First we’ll add the ReadStarted event to the library – it will fire when the reading of the CSV file has started.</p>
<pre class="brush:csharp">// defining the delegate
public delegate void ReadStartedHandler(object sender, EventArgs e);
// here we define the event
public event ReadStartedHandler ReadStarted;

// the call of the event processing
protected virtual void OnReadStarted() {
  if (ReadStarted != null) {
    // we use empty eventargs because nothing is needed on readstarted event, just the confirmation of parsing started
    ReadStarted(this, EventArgs.Empty);
  }
}</pre>
<p><span id="more-985"></span>Similarly, we define the complete event: </p>
<pre class="brush:csharp">public delegate void ReadCompletedHandler(object sender, EventArgs e);
public event ReadCompletedHandler ReadCompleted;

protected virtual void OnReadCompleted() {
    if (ReadCompleted != null) {
        ReadCompleted(this, EventArgs.Empty);
    }
}</pre>
<p>For the progress we have to do a small addition by creating our own EventArgs type: </p>
<pre class="brush: csharp">public class ProgressArgs : EventArgs {
    private int _Progress;
    private int _Max;

    public int MaxValue {
        set {
            _Max= value;
        }
        get {
            return this._Max;
        }
    }

    public int Progress {
        set {
            _Progress = value;
        }
        get {
            return this._Progress;
        }
    }
}

public delegate void ReadProgressHandler(object sender, ProgressArgs p);
public event ReadProgressHandler ReadProgress;

protected virtual void OnReadProgress(ProgressArgs p) {
    if (ReadProgress != null) {
        ReadProgress(this, p);
    }
}</pre>
<p>As the events and event arguments were created, we have to insert their calls into the code, with specific line numbers (might differ a little at your implementation time, but that&#8217;s why I presented some of the surrounding code) from the CSVContext.cs:</p>
<pre class="brush: csharp;first-line:106">(...)
#region Get line counting for progress
int count = 0;
string line;
while ((line = stream.ReadLine()) != null) {
    count++;
}

ProgressArgs p = new ProgressArgs();
p.MaxValue = count;
#endregion
(...)</pre>
<pre class="brush: csharp;first-line:124;highlight:[129,133,134]">(...)
AggregatedException ae =
    new AggregatedException(typeof(T).ToString(), fileName, fileDescription.MaximumNbrExceptions);

try {
    ReadStarted(this, EventArgs.Empty);
    bool firstRow = true;

    while (cs.ReadRow(ref row)) {
        p.Progress++;
        ReadProgress(this, p);
(...)</pre>
<p>And of course, the ReadCompleted event: </p>
<pre class="brush: csharp;first-line:170;highlight:[176]">(...)
finally {
    if (readingFile) {
        stream.Close();
    }

    ReadCompleted(this, EventArgs.Empty);
(...)</pre>
<h3>Modifications in your application</h3>
<p>Now, in your application you have to register and create methods responding to the events: </p>
<pre class="brush: csharp;">CsvContext cc = new CsvContext();
// add event handlers
cc.ReadStarted += new CsvContext.ReadStartedHandler(cc_ReadStarted);
cc.ReadCompleted += new CsvContext.ReadCompletedHandler(cc_ReadCompleted);
cc.ReadProgress += new CsvContext.ReadProgressHandler(cc_ReadProgress);</pre>
<p>While the ReadStarted and ReadCompleted events are trivial, I feel that ReadProgress deserves to be presented as code( here <font color="#0000ff">tsProgressBar</font> is a <font color="#0000ff">System.Windows.Forms.ToolStripProgressBar</font>): </p>
<pre class="brush: csharp;">void cc_ReadProgress(object sender, ProgressArgs e) {
    if (tsProgressBar.Maximum != e.MaxValue)
        tsProgressBar.Maximum = e.MaxValue;
    tsProgressBar.Value = e.Progress;
    this.Cursor = Cursors.Default;
}</pre>
<p>That’s all folks – Enjoy the code!</p>
<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/adding-events-to-linqtocsv-library/">Adding events to LINQtoCSV library</a></p>


<p>Relate posts:</p><ol><li><a href='http://www.radupoenaru.com/import-csv-file-and-query-it-with-linq/' rel='bookmark' title='Permanent Link: Import CSV file and query it with LINQ'>Import CSV file and query it with LINQ</a> <small>Assume that you have an plain text, old Comma Separated...</small></li>
<li><a href='http://www.radupoenaru.com/change-screen-orientation-of-a-microsoft-surface-application/' rel='bookmark' title='Permanent Link: Change screen orientation of a Microsoft Surface application'>Change screen orientation of a Microsoft Surface application</a> <small>In order to understand the need of changing the screen...</small></li>
<li><a href='http://www.radupoenaru.com/objective-c-allocation-and-deallocation/' rel='bookmark' title='Permanent Link: Objective-C: allocation and deallocation'>Objective-C: allocation and deallocation</a> <small> While reading the book by Mr. Kochan (1st ed):...</small></li>
</ol>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><img src="http://feeds.feedburner.com/~r/radupoenaru/blog/~4/FNKK8va21hA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.radupoenaru.com/adding-events-to-linqtocsv-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.radupoenaru.com/adding-events-to-linqtocsv-library/</feedburner:origLink></item>
		<item>
		<title>LINQ wonder world</title>
		<link>http://feedproxy.google.com/~r/radupoenaru/blog/~3/7GNyH0qAYeg/</link>
		<comments>http://www.radupoenaru.com/linq-wonder-world/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 14:57:43 +0000</pubDate>
		<dc:creator>Radu Poenaru</dc:creator>
				<category><![CDATA[My work]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[LINQ Query]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.radupoenaru.com/linq-wonder-world/</guid>
		<description><![CDATA[The most challenging query for me by now is the grouping of data based on two columns from a table. Let’s assume that we have a table that contains some users that share books. The question is: how do we count how many books that the users share to another one, grouped on user pairs?<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/linq-wonder-world/">LINQ wonder world</a></p>



Relate posts:<ol><li><a href='http://www.radupoenaru.com/import-csv-file-and-query-it-with-linq/' rel='bookmark' title='Permanent Link: Import CSV file and query it with LINQ'>Import CSV file and query it with LINQ</a> <small>Assume that you have an plain text, old Comma Separated...</small></li>
<li><a href='http://www.radupoenaru.com/adding-events-to-linqtocsv-library/' rel='bookmark' title='Permanent Link: Adding events to LINQtoCSV library'>Adding events to LINQtoCSV library</a> <small>The User Experience that a library provides must be at...</small></li>
<li><a href='http://www.radupoenaru.com/add-syntaxhiglight-to-windows-live-writer-in-preview-mode/' rel='bookmark' title='Permanent Link: Add SyntaxHighlight to Windows Live Writer in Preview mode'>Add SyntaxHighlight to Windows Live Writer in Preview mode</a> <small>Windows Live Writer is one of the most popular blog...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><img style="border-right-width: 0px; margin: 10px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Using LINQ to group on two columns" border="0" alt="Using LINQ to group on two columns" align="left" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/lambda.png" width="100" height="100" />I am sure that, if you are a developer, at some point in your career heard about and asked yourself: what is LINQ? If not, there’s no problem, you’ll find out now : LINQ comes from <strong>language-integrated query</strong> and it is a collection of extensions to the .NET Framework that encompass language-integrated query, set, and transform operations. It helps developers by extending both C# and Visual Basic, adding native querying capabilities to these languages. It also comes with class libraries to get the full advantage out of these capabilities.</p>
<p>As we discussed in my previous article, <a href="http://www.radupoenaru.com/import-csv-file-and-query-it-with-linq/" class="broken_link" >Import CSV file and query it with LINQ</a>, we are able to load and parse the file into a IQuerable collection, thus giving us the oportunity to do more and more SQL- like operations on it.</p>
<p>The C# 3.0 specification defines a so-called <i>Query Expression Pattern</i> along with translation rules from a LINQ expression to an expression in a subset of C# 3.0 without LINQ expressions. The translation thus defined is actually un-typed, which, in addition to lambda expressions being interpretable as either delegates or expression trees, allows for a great degree of flexibility for libraries wishing to expose parts of their interface as LINQ expression clauses. For example, <b>LINQ to objects</b> works on <code>IEnumerable&lt;T&gt;</code>s and with delegates, whereas <b>LINQ to SQL</b> makes use of the expression trees.</p>
<p> <span id="more-978"></span>
</p>
<p>LINQ has some providers &#8211; code that lets you query a specific type of data. Visual Studio has a LINQ provider for objects (LINQ), SQL (DLINQ) and XML (XLINQ). Looking on the internet you will <a href="http://blogs.msdn.com/charlie/archive/2008/02/28/link-to-everything-a-list-of-LINQ-providers.aspx">find many more providers</a>, by example&#160; for Excel, Flickr, Google, Sharepoint, WMI, etc.</p>
<p>The best thing is that the query syntax is the same for every provider, so you’ll not be required to learn new syntax each time you use a different provider. You can even query multiple providers in one query. The LINQ query syntax shares many commands and looks like SQL, only the command order is different – it starts with the &#8216;from&#8217; statement. The main reason for this is that intellisense is able to give you hints the moment you have specified the object in the from statement.</p>
<p>So this is the theory – now let’s do some examples. A good starting point is <a href="http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx" target="_blank">101 LINQ Samples</a> – a comprehensive collection of queries, grouped in logical categories.</p>
<p>The most challenging query for me by now is the grouping of data from a table that needs to be based on two columns. Let’s assume that we have a table that contains some users that share books. For the the example, we assume further more that it contains also history, so a pair of users can share many times (thus we will have multiple rows ) the same book. The question is: how do we count how many books that the users share, grouped on user pairs?</p>
<pre class="brush: csharp">var Links = (from b in BooksShared
       // The new key of the resulting dataset is new { b.SharerID, b.TargetID }
       group b by new { b.SharerID, b.TargetID } into g
       select new { UsersLinked = g.Key, LinksCount = g.Count() });

// writing the links into an XML file

XElement root = new XElement(&quot;root&quot;);

XElement links = new XElement(&quot;links&quot;);
root.Add(links);

//note that resulting Link structure contains as key the UsersLinked structure as its key and Count as integer, the count of the links between sharer and target
foreach (var Link in Links) {
  links.Add(new XElement(&quot;link&quot;,
                new XElement(&quot;UserId&quot;, Link.UsersLinked.SharerID),
                new XElement(&quot;TargetID&quot;, Link.UsersLinked.TargetID),
                new XElement(&quot;Count&quot;, Link.LinksCount)));
}

root.Save(FileName);</pre>
<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/linq-wonder-world/">LINQ wonder world</a></p>


<p>Relate posts:</p><ol><li><a href='http://www.radupoenaru.com/import-csv-file-and-query-it-with-linq/' rel='bookmark' title='Permanent Link: Import CSV file and query it with LINQ'>Import CSV file and query it with LINQ</a> <small>Assume that you have an plain text, old Comma Separated...</small></li>
<li><a href='http://www.radupoenaru.com/adding-events-to-linqtocsv-library/' rel='bookmark' title='Permanent Link: Adding events to LINQtoCSV library'>Adding events to LINQtoCSV library</a> <small>The User Experience that a library provides must be at...</small></li>
<li><a href='http://www.radupoenaru.com/add-syntaxhiglight-to-windows-live-writer-in-preview-mode/' rel='bookmark' title='Permanent Link: Add SyntaxHighlight to Windows Live Writer in Preview mode'>Add SyntaxHighlight to Windows Live Writer in Preview mode</a> <small>Windows Live Writer is one of the most popular blog...</small></li>
</ol>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><img src="http://feeds.feedburner.com/~r/radupoenaru/blog/~4/7GNyH0qAYeg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.radupoenaru.com/linq-wonder-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.radupoenaru.com/linq-wonder-world/</feedburner:origLink></item>
		<item>
		<title>Import CSV file and query it with LINQ</title>
		<link>http://feedproxy.google.com/~r/radupoenaru/blog/~3/1p09mZOR2l4/</link>
		<comments>http://www.radupoenaru.com/import-csv-file-and-query-it-with-linq/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 19:02:00 +0000</pubDate>
		<dc:creator>Radu Poenaru</dc:creator>
				<category><![CDATA[2009 - Fraunhofer FIT]]></category>
		<category><![CDATA[CSV Parsing]]></category>
		<category><![CDATA[Import CSV]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[LINQ Query]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.radupoenaru.com/?p=973</guid>
		<description><![CDATA[Assume that you have an plain text, old Comma Separated Values file filled with your precious export from a legacy system. How can you process it easily now? The first answer that is worth considering is parse it to LINQ, the language-integrated query, which is a collection of extensions to the .NET Framework that encompass language-integrated query, set, and transform operations.<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/import-csv-file-and-query-it-with-linq/">Import CSV file and query it with LINQ</a></p>



Relate posts:<ol><li><a href='http://www.radupoenaru.com/scriptingfilesystemobject/' rel='bookmark' title='Permanent Link: Scripting.FileSystemObject'>Scripting.FileSystemObject</a> <small>While working on my new pet project, I encountered a...</small></li>
<li><a href='http://www.radupoenaru.com/linq-wonder-world/' rel='bookmark' title='Permanent Link: LINQ wonder world'>LINQ wonder world</a> <small>The most challenging query for me by now is the...</small></li>
<li><a href='http://www.radupoenaru.com/adding-events-to-linqtocsv-library/' rel='bookmark' title='Permanent Link: Adding events to LINQtoCSV library'>Adding events to LINQtoCSV library</a> <small>The User Experience that a library provides must be at...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><img style="border-right-width: 0px; margin: 10px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="How to easily import CSV file and query it with LINQ" border="0" alt="How to easily import CSV file and query it with LINQ" align="left" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/CsvDelimited.png" width="100" height="100" /> Assume that you have an plain text, old Comma Separated Values file filled with your precious export from a legacy system. How can you process it easily now? The first answer that comes to mind is to parse it and load it into a datatable and later process it by using DataTable.Select() method. But this approach has some limitations – like splitting data into several tables and then join them.</p>
<p>One would imagine that parsing CSV files is a straightforward and boring task, given that it is quite a while since CSV is around. Some of them are correct &#8211; in the sense that many implementations merely use some splitting method like <code>String.Split()</code>. Some don’t even offer the specification of the values splitting character – so your file wouldn’t be parsed correctly if instead of <strong>,</strong> you have <strong>; </strong>as separator – yet another thing to modify if you’re lucky enough to have the sources. Others will not handle properly field values with commas because the simple split method of the String class. But there are better implementations that take care about escaped quotes, trimming spaces before and after fields and other small and useful details, but very few that I found did it all as I liked it &#8211; and at least as importantly, in a <strong>fast</strong> and <strong>efficient</strong> manner.</p>
<p> <span id="more-973"></span>
</p>
<p>After trying several methods to parse the csv file, I endup using <b><a href="http://www.codeproject.com/Members/Matt-Perdeck">Matt Perdeck</a>’</b>s LINQ to CSV library presented in its article on <a href="http://www.codeproject.com/KB/linq/LINQtoCSV.aspx">The Code Project</a> website.</p>
<p>Among the feature that I used and liked very much I would mention (from the article):</p>
<ul>
<li>Follows the <a href="http://www.creativyst.com/Doc/Articles/CSV/CSV01.htm">most common rules for CSV files</a>. Correctly handles data fields that contain commas and line breaks. </li>
<li>In addition to comma, most delimiting characters can be used, including tab for tab delimited fields. </li>
<li>Can be used with an <code>IEnumerable</code> of an anonymous class &#8211; which is often returned by a LINQ query. </li>
<li>Supports deferred reading. </li>
<li>Supports processing files with international date and number formats. </li>
<li>Supports different character encodings if you need them. </li>
<li>Recognizes a wide variety of date and number formats when reading files. </li>
<li>Provides fine control of date and number formats when writing files. </li>
<li>Robust error handling, allowing you to quickly find and fix problems in large input files. </li>
</ul>
<p>Using the library is straight-forward: after downloading the zip file from the <a href="http://www.codeproject.com/KB/linq/LINQtoCSV.aspx">The Code Project</a> (this required that you have an account there) you can start using it by including it as a referenced library in your project.</p>
<p>Next step is to define the layout of your csv file, in a manner that CSVtoLINQ to be able to map the data from file (which is pure text) to correct data types :</p>
<pre class="brush: csharp">using LINQtoCSV;
using System;

class Product
{
    [CsvColumn(Name = &quot;ProductName&quot;, FieldIndex = 1)]
    public string Name { get; set; }

    [CsvColumn(FieldIndex = 2, OutputFormat = &quot;dd MMM HH:mm:ss&quot;)]
    public DateTime LaunchDate { get; set; }

    [CsvColumn(FieldIndex = 3, CanBeNull = false, OutputFormat = &quot;C&quot;)]
    public decimal Price { get; set; }

    [CsvColumn(FieldIndex = 4)]
    public string Country { get; set; }

    [CsvColumn(FieldIndex = 5)]
    public string Description { get; set; }
}</pre>
<p>As you can see, there are lots of types that you can apply to your class.</p>
<p>Then you have to declare the using clause in your source file, where you want to use it:</p>
<pre>using LINQtoCSV;</pre>
<p>Then, all you need is to start using the library by adding this code</p>
<pre class="brush: csharp">private void btnLoad_Click(object sender, EventArgs e) {
  openFile.Filter = &quot;CSV Files|*.csv&quot;;
  openFile.Title = &quot;Open CSV File&quot;;

  if (openFile.ShowDialog() == DialogResult.OK) {
    textBox1.Text = openFile.FileName;

    CsvFileDescription inputFileDescription = new CsvFileDescription {
      // cool - I can specify my own separator!
      SeparatorChar = ';',
      FirstLineHasColumnNames = true
    };

    CsvContext cc = new CsvContext();

    bEvents =
      cc.Read<beventtype>(openFile.FileName, inputFileDescription);

    // elegantly parse the LINQ outputed by the parser
    var bALLEvents =
      from p in bEvents
      orderby p.EventID
      select new { p.EventID, p.EventName, p.SourceName, p.TargetName };

    // binding to DataGridView
    // Notice the conversion to a List of the bALLEvents collection
    dataGridView1.DataSource = bALLEvents.ToList();
  }
}</pre>
<p>That’s it, folks – Enjoy and share!</p>
<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/import-csv-file-and-query-it-with-linq/">Import CSV file and query it with LINQ</a></p>


<p>Relate posts:</p><ol><li><a href='http://www.radupoenaru.com/scriptingfilesystemobject/' rel='bookmark' title='Permanent Link: Scripting.FileSystemObject'>Scripting.FileSystemObject</a> <small>While working on my new pet project, I encountered a...</small></li>
<li><a href='http://www.radupoenaru.com/linq-wonder-world/' rel='bookmark' title='Permanent Link: LINQ wonder world'>LINQ wonder world</a> <small>The most challenging query for me by now is the...</small></li>
<li><a href='http://www.radupoenaru.com/adding-events-to-linqtocsv-library/' rel='bookmark' title='Permanent Link: Adding events to LINQtoCSV library'>Adding events to LINQtoCSV library</a> <small>The User Experience that a library provides must be at...</small></li>
</ol>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><img src="http://feeds.feedburner.com/~r/radupoenaru/blog/~4/1p09mZOR2l4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.radupoenaru.com/import-csv-file-and-query-it-with-linq/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.radupoenaru.com/import-csv-file-and-query-it-with-linq/</feedburner:origLink></item>
		<item>
		<title>Media Informatics Master</title>
		<link>http://feedproxy.google.com/~r/radupoenaru/blog/~3/aTMuQWkfJyw/</link>
		<comments>http://www.radupoenaru.com/media-informatics-master/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 16:41:00 +0000</pubDate>
		<dc:creator>Radu Poenaru</dc:creator>
				<category><![CDATA[About MI Master]]></category>
		<category><![CDATA[Media Informatics]]></category>
		<category><![CDATA[Fraunhofer FIT]]></category>
		<category><![CDATA[RWTH Aachen]]></category>
		<category><![CDATA[Uni-Bonn]]></category>

		<guid isPermaLink="false">http://www.radupoenaru.com/?p=1170</guid>
		<description><![CDATA[ In the Autumn of 2008 I joined the Media Informatics Master program, saying goodbye to Alensa Online team. It is part of the Bonn-Aachen International Center for Information Technology (B-IT) and was created through the collaboration of prestigious German institutions:

University of Bonn, 
RWTH Aachen University, 
University of Applied Sciences Bonn Rhein-Sieg, 
Fraunhofer Institute Centre [...]<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/media-informatics-master/">Media Informatics Master</a></p>



Relate posts:<ol><li><a href='http://www.radupoenaru.com/ruby-on-rails-agile-development/' rel='bookmark' title='Permanent Link: Ruby on Rails &amp; Agile development'>Ruby on Rails &amp; Agile development</a> <small>&nbsp;&nbsp; Starting from the Fall of 2002 a close collaboration...</small></li>
<li><a href='http://www.radupoenaru.com/new-team-created-for-dis2-project/' rel='bookmark' title='Permanent Link: New team created for DIS2 Project'>New team created for DIS2 Project</a> <small>We are proud to announce that we created a team...</small></li>
<li><a href='http://www.radupoenaru.com/working-in-fraunhofer-institute-of-technology/' rel='bookmark' title='Permanent Link: Working in Fraunhofer Institute of Technology'>Working in Fraunhofer Institute of Technology</a> <small>Starting today, I work as a Student Helper in Fraunhofer...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><a href="http://mi.b-it-center.de/"><img style="border-right-width: 0px; margin: 20px auto; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Media Informatics Master program joined in Autumn 2008" border="0" alt="Media Informatics Master program joined in Autumn 2008" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/media_informatics1.jpg" width="556" height="72" /></a> In the Autumn of 2008 I joined the <a href="http://mi.b-it-center.de/"><strong>Media Informatics Master</strong></a> program, saying <a href="http://www.radupoenaru.com/alensa-online/">goodbye to Alensa Online</a> team. It is part of the <a href="http://www.b-it-center.de">Bonn-Aachen International Center for Information Technology (B-IT)</a> and was created through the collaboration of prestigious German institutions:</p>
<ul>
<li><a href="http://www1.uni-bonn.de/startseite/jsp/index.jsp?lang=en">University of Bonn</a>, </li>
<li><a href="http://www.rwth-aachen.de/go/id/bdz/">RWTH Aachen University</a>, </li>
<li><a href="http://www.fh-bonn-rhein-sieg.de/Home-lang-en.html">University of Applied Sciences Bonn Rhein-Sieg</a>, </li>
<li><a href="http://www.izb.fraunhofer.de">Fraunhofer Institute Centre Birlinghoven Castle IZB</a> </li>
</ul>
<p>Supported by the <a href="http://www.b-it-center.de/Wob/en/view/class211_id47.html" target="_blank">B-IT Foundation</a> and complementary state resources, B-IT offers highly selective International Master Programs in Applied IT, as well as the <a href="http://www.b-it-center.de/Wob/en/view/class211_id73.html">summer/winter schools</a> for qualified computer science students.     <br />Most courses take place in the beautiful <a href="http://mi.b-it-center.de/content/impressions.html">B-IT building</a> next to the former office of the German Chancellor on the banks of the River Rhine in Bonn. </p>
<p><img style="border-right-width: 0px; margin: 10px auto; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Media Informatics Master - Prestigious research and teaching institutes joined" border="0" alt="Media Informatics Master - Prestigious research and teaching institutes joined" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/Logos_BIT.png" width="320" height="186" />&#160;</p>
<p>The <a href="http://www1.uni-bonn.de/startseite/jsp/index.jsp?lang=en"><strong>University of Bonn</strong></a> has almost 200 years of history, over 38.000 students from 130 countries, with an excellent research record and an excellent graduate education have made one of the ten largest universities in Germany.     <br />In the context of more than one hundred first degree programs, the university engages in a broad range of international co-operations in research and teaching. </p>
<p>Founded in 1868, <a href="http://www.rwth-aachen.de/go/id/bdz/"><strong>RWTH Aachen University</strong></a> is Germany&#8217;s <a href="http://www.net-tribune.de/nt/node/10345/news/RWTH-Aachen-warb-die-meisten-DFG-Gelder-ein">top-ranked</a> University of Technology and one of Germany&#8217;s nine <a href="http://www.dw-world.de/dw/article/0,,1864096,00.html">Elite Universities</a>. Of its 30,000 students, over 4,000 are international, including 900 students from the Asian-Pacific region. In addition to 65 first degree programs, RWTH offers more than 20 graduate programs in Science and Engineering. </p>
<p>Within the <strong>Fraunhofer</strong> Society of Applied Research, the four institutes in <a href="http://www.izb.fraunhofer.de">Birlinghoven Castle</a> represent a quarter of the largest IT research organization in Europe. Over 500 post-graduate researchers investigate Autonomous Intelligent Systems, Applied Information Technology, Media Communications, Algorithms and Scientific Computing in a world-wide network of industry and research partners. </p>
<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/media-informatics-master/">Media Informatics Master</a></p>


<p>Relate posts:</p><ol><li><a href='http://www.radupoenaru.com/ruby-on-rails-agile-development/' rel='bookmark' title='Permanent Link: Ruby on Rails &amp; Agile development'>Ruby on Rails &amp; Agile development</a> <small>&nbsp;&nbsp; Starting from the Fall of 2002 a close collaboration...</small></li>
<li><a href='http://www.radupoenaru.com/new-team-created-for-dis2-project/' rel='bookmark' title='Permanent Link: New team created for DIS2 Project'>New team created for DIS2 Project</a> <small>We are proud to announce that we created a team...</small></li>
<li><a href='http://www.radupoenaru.com/working-in-fraunhofer-institute-of-technology/' rel='bookmark' title='Permanent Link: Working in Fraunhofer Institute of Technology'>Working in Fraunhofer Institute of Technology</a> <small>Starting today, I work as a Student Helper in Fraunhofer...</small></li>
</ol>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><img src="http://feeds.feedburner.com/~r/radupoenaru/blog/~4/aTMuQWkfJyw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.radupoenaru.com/media-informatics-master/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.radupoenaru.com/media-informatics-master/</feedburner:origLink></item>
		<item>
		<title>Ubisoft</title>
		<link>http://feedproxy.google.com/~r/radupoenaru/blog/~3/d6bbjilsgZ4/</link>
		<comments>http://www.radupoenaru.com/ubisoft/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 20:07:00 +0000</pubDate>
		<dc:creator>Radu Poenaru</dc:creator>
				<category><![CDATA[2006 - Ubisoft]]></category>
		<category><![CDATA[Professional experience]]></category>
		<category><![CDATA[Crystal Reports]]></category>
		<category><![CDATA[Peoplesoft]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.radupoenaru.com/?p=1146</guid>
		<description><![CDATA[I participated in a development project that mainly customizes the data workflow through PeopleSoft implementation in manufacture. The goal of it was to improve the workflow of the production process by combining the needs of different regional subsidiaries into larger orders which can reside in a much lower price per unit.<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/ubisoft/">Ubisoft</a></p>



Relate posts:<ol><li><a href='http://www.radupoenaru.com/wordpress-database-backup-and-restore/' rel='bookmark' title='Permanent Link: Wordpress &ndash; Database backup and restore'>Wordpress &ndash; Database backup and restore</a> <small>How to backup and restore your Wordpress' MySQL database in...</small></li>
<li><a href='http://www.radupoenaru.com/softwise-development/' rel='bookmark' title='Permanent Link: Softwise Development'>Softwise Development</a> <small>Softwise is my soul company, the company that shaped me...</small></li>
<li><a href='http://www.radupoenaru.com/totalsoft/' rel='bookmark' title='Permanent Link: Totalsoft'>Totalsoft</a> <small>I was a key member in the team developing the...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><img style="border-right-width: 0px; margin: 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ubisoft" border="0" alt="ubisoft" align="left" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/ubisoft.png" width="150" height="112" /> </p>
<p><strong>Position:</strong> Senior Developer</p>
<p>Ubisoft is a leading international developer, publisher and distributor of interactive entertainment products. Between June 2006 and February 2007, I participated in a in-house project. It mainly customizes the data workflow through PeopleSoft implementation in manufacture. The goal of the project was to improve the workflow of the production process by combining the needs of different regional subsidiaries into larger orders which can reside in a much lower price per unit. </p>
<p>&#160;</p>
<p>My responsibilities included working with:</p>
<ul>
<li>Application Engines; </li>
<li>Crystal Reporting System; </li>
<li>database objects: fields, tables, views, work derived records, queries etc.; </li>
<li>creating pages with Peoplesoft framework, tables with more than two levels and transactional operations; </li>
<li>import / export of files: CSV, Crystal reports; </li>
<li>unitary and primary testing; </li>
<li>migration from / to development database. </li>
<li>migration from / to testing database. </li>
</ul>
<p>Some examples my tasks:</p>
<ul>
<li>Crystal reports generation through jobs sent to clients mail; </li>
<li>excel csv files export / import regarding partners order data, also the logic needed to be approved by the headquarters; </li>
<li>create editable pages for data in multilevel tables. </li>
</ul>
<p>The job also required to be a fluent French speaker since the communication with the consultants and the team leaders was conducted in this language and just occasionally in English.</p>
<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/ubisoft/">Ubisoft</a></p>


<p>Relate posts:</p><ol><li><a href='http://www.radupoenaru.com/wordpress-database-backup-and-restore/' rel='bookmark' title='Permanent Link: Wordpress &ndash; Database backup and restore'>Wordpress &ndash; Database backup and restore</a> <small>How to backup and restore your Wordpress' MySQL database in...</small></li>
<li><a href='http://www.radupoenaru.com/softwise-development/' rel='bookmark' title='Permanent Link: Softwise Development'>Softwise Development</a> <small>Softwise is my soul company, the company that shaped me...</small></li>
<li><a href='http://www.radupoenaru.com/totalsoft/' rel='bookmark' title='Permanent Link: Totalsoft'>Totalsoft</a> <small>I was a key member in the team developing the...</small></li>
</ol>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><img src="http://feeds.feedburner.com/~r/radupoenaru/blog/~4/d6bbjilsgZ4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.radupoenaru.com/ubisoft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.radupoenaru.com/ubisoft/</feedburner:origLink></item>
		<item>
		<title>Novensys Corporation</title>
		<link>http://feedproxy.google.com/~r/radupoenaru/blog/~3/KHlqS-23Ac8/</link>
		<comments>http://www.radupoenaru.com/novensys-corporation/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 21:40:00 +0000</pubDate>
		<dc:creator>Radu Poenaru</dc:creator>
				<category><![CDATA[2005 - Novensys]]></category>
		<category><![CDATA[Professional experience]]></category>
		<category><![CDATA[MCTS]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Dynamics]]></category>
		<category><![CDATA[MS-BMSS]]></category>
		<category><![CDATA[Navision]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.radupoenaru.com/?p=1139</guid>
		<description><![CDATA[When I started working with Novensys, the first challenge appeared: being the first company that implemented Navision in Romania, they were exigent from the employment process. They also offered specialization classes in Microsoft Navision product, so I and the rest of the team were trained by  with a Microsoft Navision specialist for two weeks.<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/novensys-corporation/">Novensys Corporation</a></p>



Relate posts:<ol><li><a href='http://www.radupoenaru.com/softwise-development/' rel='bookmark' title='Permanent Link: Softwise Development'>Softwise Development</a> <small>Softwise is my soul company, the company that shaped me...</small></li>
<li><a href='http://www.radupoenaru.com/alensa-online/' rel='bookmark' title='Permanent Link: Alensa Online'>Alensa Online</a> <small>I was in charge with our brand new solution for...</small></li>
<li><a href='http://www.radupoenaru.com/totalsoft/' rel='bookmark' title='Permanent Link: Totalsoft'>Totalsoft</a> <small>I was a key member in the team developing the...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.novensys.com/en/" target="_blank"><img style="border-right-width: 0px; margin: 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Novensys - Microsoft Business Solution Software Engineer " border="0" alt="Novensys - Microsoft Business Solution Software Engineer " align="left" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/novensys.png" width="166" height="114" /></a>
<p><strong></strong></p>
<p><strong>Position:</strong> Microsoft Business Solution Software Engineer </p>
<p>I was part of Novensys team from November&#160; 2005 till June&#160; 2006.</p>
</p>
</p>
<p>When I started working with them, the first challenge appeared: being the first company that implemented Navision in Romania, they were exigent from the employment process. They also offered specialization classes in Microsoft Navision product, so I and the rest of the team were trained by&#160; with a Microsoft Navision specialist for two weeks. Then two exams established my Certification as Microsoft Navision developer with very high scores (96 points out of 100, for the first examination, and 100 points, at the second exam).</p>
<p><a title="https://mcp.microsoft.com/authenticate/validatemcp.aspx" href="https://mcp.microsoft.com/authenticate/validatemcp.aspx"><img style="border-right-width: 0px; margin: 10px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Radu Poenaru - Microsoft Business Solution Software Engineer " border="0" alt="Radu Poenaru - Microsoft Business Solution Software Engineer " src="http://www.radupoenaru.com/wp-content/uploads/2010/02/DynamicsSrgb_1209_1208.png" width="532" height="80" /></a></p>
<p>After earning my certification as Navision developer, I was part of a team working for one of our most important clients. My main responsibilities included Navision solution development and customization. </p>
<p>Responsibilities:</p>
<ul>
<li>implementation of documented updates, </li>
<li>new screens design, </li>
<li>new reports development using custom Navision Reporting, </li>
<li>primary testing functionalities, </li>
<li>Native Navision database design, tables and records updates, data verification </li>
<li>user preferences maintenance in the application, </li>
<li>communication with the consultants. </li>
</ul>
<p>Tools used:</p>
<ul>
<li>Microsoft Navision IDE</li>
</ul>
<p><a title="https://mcp.microsoft.com/authenticate/validatemcp.aspx" href="https://mcp.microsoft.com/authenticate/validatemcp.aspx">https://mcp.microsoft.com/authenticate/validatemcp.aspx</a></p>
<p>Transcript ID: 770644&#160;&#160;&#160; Access Code: radupoenaru</p>
<hr />
<p><a href="https://mcp.microsoft.com/authenticate/validatemcp.aspx" target="_blank"><img style="border-bottom: 0px; border-left: 0px; margin: 10px; display: inline; border-top: 0px; border-right: 0px" title="Radu Poenaru - Microsoft Certified Technology Specialist in SQL 2005" border="0" alt="Radu Poenaru - Microsoft Certified Technology Specialist in SQL 2005" align="left" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/MCTSrgb_5071.png" width="222" height="80" /></a></p>
<p>The two certifications that I earned during the time in which I was part of the Novensys team motivated me to achieve the recognition of my SQL skills also, becoming&#160; Microsoft Certified Technology Specialist in SQL 2005</p>
<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/novensys-corporation/">Novensys Corporation</a></p>


<p>Relate posts:</p><ol><li><a href='http://www.radupoenaru.com/softwise-development/' rel='bookmark' title='Permanent Link: Softwise Development'>Softwise Development</a> <small>Softwise is my soul company, the company that shaped me...</small></li>
<li><a href='http://www.radupoenaru.com/alensa-online/' rel='bookmark' title='Permanent Link: Alensa Online'>Alensa Online</a> <small>I was in charge with our brand new solution for...</small></li>
<li><a href='http://www.radupoenaru.com/totalsoft/' rel='bookmark' title='Permanent Link: Totalsoft'>Totalsoft</a> <small>I was a key member in the team developing the...</small></li>
</ol>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><img src="http://feeds.feedburner.com/~r/radupoenaru/blog/~4/KHlqS-23Ac8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.radupoenaru.com/novensys-corporation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.radupoenaru.com/novensys-corporation/</feedburner:origLink></item>
		<item>
		<title>Predator</title>
		<link>http://feedproxy.google.com/~r/radupoenaru/blog/~3/VTZPvGepwCA/</link>
		<comments>http://www.radupoenaru.com/predator/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 21:56:00 +0000</pubDate>
		<dc:creator>Radu Poenaru</dc:creator>
				<category><![CDATA[2002 - Softwise Development]]></category>
		<category><![CDATA[Custom controls]]></category>
		<category><![CDATA[HTML parsing]]></category>
		<category><![CDATA[Softwise]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.radupoenaru.com/?p=1092</guid>
		<description><![CDATA[ Predator is a project engineered by me and later on in team in Softwise Development company to be a interface between Yahoo Groups site and the home user, giving to every one of these groups the ability to do almost anything that they can do directly at Yahoo. And this by using the Windows [...]<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/predator/">Predator</a></p>



Relate posts:<ol><li><a href='http://www.radupoenaru.com/windows-vista-updates-download/' rel='bookmark' title='Permanent Link: Windows Vista Updates Download'>Windows Vista Updates Download</a> <small>I would like to present two ways that I know...</small></li>
<li><a href='http://www.radupoenaru.com/uiimageview-setimage-problem/' rel='bookmark' title='Permanent Link: UIImageView setImage problem'>UIImageView setImage problem</a> <small>Solving the problem: no matter what I did, the UIImageView...</small></li>
<li><a href='http://www.radupoenaru.com/docvault/' rel='bookmark' title='Permanent Link: DocVault'>DocVault</a> <small>Data security is the priority of this program, mainly used...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><a title="Predator - retrieving all your assets on Yahoo Groups, no matter if they are images, documents or videos" href="http://www.radupoenaru.com/wp-content/uploads/2010/02/predator2.gif" target="_blank" title="Predator - retrieving all your assets on Yahoo Groups, no matter if they are images, documents or videos" rel="lightbox[1092]"><img style="border-bottom: 0px; border-left: 0px; margin: 10px; display: inline; border-top: 0px; border-right: 0px" title="Predator - retrieving all your assets on Yahoo Groups, no matter if they are images, documents or videos" border="0" alt="Predator - retrieving all your assets on Yahoo Groups, no matter if they are images, documents or videos" align="left" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/predator_thumb.gif" width="43" height="38" /></a> Predator is a project engineered by me and later on in team in <a href="http://www.radupoenaru.com/category/my-work/softwise-development/" target="_blank">Softwise Development</a> company to be a interface between Yahoo Groups site and the home user, giving to every one of these groups the ability to do almost anything that they can do directly at Yahoo. And this by using the Windows capabilities (multi select, multithreading download etc). You&#8217;ll be able to download any file format (images, movies, archives, documents).</p>
<p>It allows to user to download files from the photo area, file area and the message area all in one click! View these photo&#8217;s with own slide show system and you will also have the opportunity to just pick the ones that you want and throw out the rest!</p>
<p>Another feature is that you can change account information, the ability to leave a group or groups, start a new group, edit your user, profile, change your email settings, read and reply to posted messages, chat, add to or view bookmarks.</p>
</p>
<p> <span id="more-1092"></span>
</p>
<p>Allows you to find any file type that you are looking for. This can be .avi, .gif, .zip .mpeg .rar and so on. When using Predator, you can search for the keywords that you are looking for and retrieve all known groups that matches your search pattern. Once you have received you set of groups, they are stored on your hard drive. Now, every time that you visit these groups, only the newly added files are retrieved. No duplicates are downloaded. When your ready to send a message either by itself or with a file attached, all you need to do is tag the groups that you want to send your message to and its done. No more having to separately go to these groups to do this. There are many more features that Predator gives the user. More flexibility than any web site or software product on the Internet</p>
<p>User have the ability to automatically join a group. Send emails with attachments to any group. Either one, a few or the entire list of groups that you are a member of.</p>
<p>Gives to the user the power of storing your newly found files within it&#8217;s own subdirectory On-The-Fly! This feature, when downloading your files, will create a subdirectory of the group and place all files that are downloaded within this subdirectory so you know where the files came from.</p>
<p>Also, Multi-threading download pool to speed up file retrieval, the number of download channels can be set either manually, or automatically selecting a connection speed from the list.Built-in picture viewer/thumbnail program that allow users to view graphics as they are being downloaded. Picture after picture will appear as they are received!</p>
<p>Some screenshots:</p>
<p><a href="http://www.radupoenaru.com/wp-content/uploads/2010/02/Predator1.gif" title="Predator1" rel="lightbox[1092]"><img style="border-right-width: 0px; margin: 10px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Predator1" border="0" alt="Predator1" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/Predator1_thumb.gif" width="240" height="181" /></a> <a href="http://www.radupoenaru.com/wp-content/uploads/2010/02/Predator2.gif" title="Predator2" rel="lightbox[1092]"><img style="border-right-width: 0px; margin: 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Predator2" border="0" alt="Predator2" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/Predator2_thumb.gif" width="240" height="181" /></a> <a href="http://www.radupoenaru.com/wp-content/uploads/2010/02/Predator3.gif" title="Predator3" rel="lightbox[1092]"><img style="border-right-width: 0px; margin: 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Predator3" border="0" alt="Predator3" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/Predator3_thumb.gif" width="240" height="159" /></a> <a href="http://www.radupoenaru.com/wp-content/uploads/2010/02/Predator4.gif" title="Predator4" rel="lightbox[1092]"><img style="border-right-width: 0px; margin: 10px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Predator4" border="0" alt="Predator4" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/Predator4_thumb.gif" width="240" height="186" /></a> <a href="http://www.radupoenaru.com/wp-content/uploads/2010/02/Predator51.gif" title="Predator5" rel="lightbox[1092]"><img style="border-right-width: 0px; margin: 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Predator5" border="0" alt="Predator5" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/Predator5_thumb1.gif" width="240" height="185" /></a> <a href="http://www.radupoenaru.com/wp-content/uploads/2010/02/Predator61.gif" title="Predator6" rel="lightbox[1092]"><img style="border-right-width: 0px; margin: 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Predator6" border="0" alt="Predator6" src="http://www.radupoenaru.com/wp-content/uploads/2010/02/Predator6_thumb1.gif" width="240" height="181" /></a></p>
<p>No download available, ask at <a href="mailto:office@softwise.ro">office</a> for more information. Or you can take a look on the <a href="http://www.softwise.ro/portofoliu.php" rel="nofollow" target="_blank">Softwise Development</a> website to find out more.</p>
<p>Post from: <a href="http://www.radupoenaru.com">Radu Poenaru's Weblog</a><br/><br/><a href="http://www.radupoenaru.com/predator/">Predator</a></p>


<p>Relate posts:</p><ol><li><a href='http://www.radupoenaru.com/windows-vista-updates-download/' rel='bookmark' title='Permanent Link: Windows Vista Updates Download'>Windows Vista Updates Download</a> <small>I would like to present two ways that I know...</small></li>
<li><a href='http://www.radupoenaru.com/uiimageview-setimage-problem/' rel='bookmark' title='Permanent Link: UIImageView setImage problem'>UIImageView setImage problem</a> <small>Solving the problem: no matter what I did, the UIImageView...</small></li>
<li><a href='http://www.radupoenaru.com/docvault/' rel='bookmark' title='Permanent Link: DocVault'>DocVault</a> <small>Data security is the priority of this program, mainly used...</small></li>
</ol>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p><img src="http://feeds.feedburner.com/~r/radupoenaru/blog/~4/VTZPvGepwCA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.radupoenaru.com/predator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.radupoenaru.com/predator/</feedburner:origLink></item>
	</channel>
</rss>
