<?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/" version="2.0"> <channel><title>Ex nihilo nihil fit</title> <link>http://victorhurdugaci.com</link> <description>Victor Hurdugaci's playground</description> <lastBuildDate>Wed, 18 Apr 2012 16:29:21 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=</generator> <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ExNihiloNihilFit" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="exnihilonihilfit" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FExNihiloNihilFit" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FExNihiloNihilFit" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FExNihiloNihilFit" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/ExNihiloNihilFit" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FExNihiloNihilFit" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FExNihiloNihilFit" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FExNihiloNihilFit" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item><title>Random value</title><link>http://victorhurdugaci.com/random-value/</link> <comments>http://victorhurdugaci.com/random-value/#comments</comments> <pubDate>Mon, 21 Nov 2011 02:40:10 +0000</pubDate> <dc:creator>Victor</dc:creator> <category><![CDATA[News]]></category> <guid isPermaLink="false">http://victorhurdugaci.com/?p=2428</guid> <description><![CDATA[Do you follow xkcd? It yes, then you mostly sure know the Random Number episode: Image credits: http://xkcd.com/221/ I believe it is very funny and it actually happened, a few days ago, to me. Here is my &#8221;random&#8221; code that was caught in a code review by the eager eye of a colleague: And the code review comment: &#8220;Although it [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">Do you follow xkcd? It yes, then you mostly sure know the Random Number episode:</p><p
style="text-align: center;"><img
class="aligncenter size-full wp-image-2429" title="random_number" src="http://victorhurdugaci.com/wp-content/uploads/2011/11/random_number.png" alt="" width="400" height="144" /></p><p
style="text-align: right;">Image credits: <a
href="http://xkcd.com/221/">http://xkcd.com/221/</a></p><p
style="text-align: justify;">I believe it is very funny and it actually happened, a few days ago, to me. Here is my &#8221;random&#8221; code that was caught in a code review by the eager eye of a colleague:</p><pre class="brush: csharp; title: ; notranslate">
//Pass random language. It doesn't really matter
string assemblyPath = ProxyHelper.GenerateAssembly(ProxyLanguage.CS);
</pre><p
style="text-align: justify;">And the code review comment: &#8220;Although it is hard coded to CS.  :)&#8221;</p> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=bvplpZdnTU0:LX_MkMxSxvg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=bvplpZdnTU0:LX_MkMxSxvg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=bvplpZdnTU0:LX_MkMxSxvg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=bvplpZdnTU0:LX_MkMxSxvg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=bvplpZdnTU0:LX_MkMxSxvg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=bvplpZdnTU0:LX_MkMxSxvg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=bvplpZdnTU0:LX_MkMxSxvg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=bvplpZdnTU0:LX_MkMxSxvg:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=bvplpZdnTU0:LX_MkMxSxvg:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=bvplpZdnTU0:LX_MkMxSxvg:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=bvplpZdnTU0:LX_MkMxSxvg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=bvplpZdnTU0:LX_MkMxSxvg:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=bvplpZdnTU0:LX_MkMxSxvg:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://victorhurdugaci.com/random-value/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>The U.S. is full of… ads</title><link>http://victorhurdugaci.com/the-us-is-full-of-ads/</link> <comments>http://victorhurdugaci.com/the-us-is-full-of-ads/#comments</comments> <pubDate>Sun, 30 Oct 2011 07:04:25 +0000</pubDate> <dc:creator>Victor</dc:creator> <category><![CDATA[News]]></category> <category><![CDATA[Complain]]></category> <category><![CDATA[Life]]></category> <category><![CDATA[US]]></category> <guid isPermaLink="false">http://victorhurdugaci.com/?p=2418</guid> <description><![CDATA[I&#8217;ve been in the US for one month now and I&#8217;m already sick of commercials and ads. I totally understand that some services must deliver ads to control their costs and I agree with some ads but what happens here is insane. If you are from Europe (as I am), you probably know that youtube [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">I&#8217;ve been in the US for one month now and I&#8217;m already sick of commercials and ads. I totally understand that some services must deliver ads to control their costs and I agree with <strong>some</strong> ads but what happens here is insane.</p><p
style="text-align: justify;">If you are from Europe (as I am), you probably know that youtube has ads in the form of AdSense delivered as small popups at the bottom of the player. Here, in US, there are video ads delivered before the actual content. So, before being able to watch a video, one has to enjoy a 10-15 seconds commercial (luckily, longer ones get a Skip button after about 15 seconds).</p><p
style="text-align: justify;">Southpark Studios (the official site) delivers about 3 sessions of commercials/episode. Well&#8230; they need someone to sponsor the free videos but the same ad is delivered twice or even trice in a row. It might be a bug in their player but still this is no excuse. I know the IE9 and  Jack in a Box commercials so well now that I can predict the next frame&#8230; oh, and there is a new one with a guy that gets hit by a frisbee &#8211; very annoying.</p><p
style="text-align: justify;">I was very surprised when I received a call, on my cell phone, which turned out to be an ad. Basically, it was a recorded message trying to sell me something. This is unbelievable because the number was 1 day old, only the phone company had it and I am pretty sure that I unchecked any &#8220;I want to be spammed box&#8221;. I was even called once by a real person who was trying to sell something.</p><p
style="text-align: justify;">Television used to be made of TV show with some ads&#8230; Here is ads with some TV show. Approx. every 15 minutes, the movie gets interrupted by 5 minutes of commercials. Also, my provider has an interactive TV guide from where I can pick the show that I want to see. The guide is full of ads and today something happened, something that made me write this post: during a movie I got an interactive (!) ad at the bottom of the screen. The commercial was asking me to press some button on the remote control if I want more details. WTF?? This is hilarious, I am being flooded with commercials&#8230;</p><p
style="text-align: justify;">The last example of ads-world is Amazon&#8217;s Kindle. They offer a $30 discount for Kindle, but there is a catch: &#8220;You&#8217;ll receive special offers and sponsored screensavers directly on your Kindle, including AmazonLocal deals in select cities. Your offers display on your Kindle&#8217;s screensaver and on the bottom of the home screen—they don&#8217;t interrupt reading&#8221;. So, what is this actually? It means that they will give you the Kindle cheaper but it will display ads <strong>forever</strong>.</p><p
style="text-align: justify;">The American society has many positive and negative aspects but the quantity of delivered ads is not the former class.</p> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=6KJOwKxf3O4:vos7eNtGmTM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=6KJOwKxf3O4:vos7eNtGmTM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=6KJOwKxf3O4:vos7eNtGmTM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=6KJOwKxf3O4:vos7eNtGmTM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=6KJOwKxf3O4:vos7eNtGmTM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=6KJOwKxf3O4:vos7eNtGmTM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=6KJOwKxf3O4:vos7eNtGmTM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=6KJOwKxf3O4:vos7eNtGmTM:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=6KJOwKxf3O4:vos7eNtGmTM:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=6KJOwKxf3O4:vos7eNtGmTM:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=6KJOwKxf3O4:vos7eNtGmTM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=6KJOwKxf3O4:vos7eNtGmTM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=6KJOwKxf3O4:vos7eNtGmTM:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://victorhurdugaci.com/the-us-is-full-of-ads/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>A new start… again</title><link>http://victorhurdugaci.com/a-new-start-again/</link> <comments>http://victorhurdugaci.com/a-new-start-again/#comments</comments> <pubDate>Thu, 20 Oct 2011 06:39:23 +0000</pubDate> <dc:creator>Victor</dc:creator> <category><![CDATA[Personal/Blog]]></category> <category><![CDATA[Microsoft]]></category> <category><![CDATA[Personal]]></category> <category><![CDATA[Seattle]]></category> <guid isPermaLink="false">http://victorhurdugaci.com/?p=2403</guid> <description><![CDATA[It&#8217;s been a while since my last post. I believe that this was the longest inactivity period of this blog. However, there is a good reason why there were no posts &#8211; I was in vacation and then I did a big change in my life. The vacation was great but this post is about [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">It&#8217;s been a while since my last post. I believe that this was the longest inactivity period of this blog. However, there is a good reason why there were no posts &#8211; I was in vacation and then I did a big change in my life. The vacation was great but this post is about the change.</p><p><img
class="aligncenter size-full wp-image-2412" title="DSC00100" src="http://victorhurdugaci.com/wp-content/uploads/2011/10/DSC00100.jpg" alt="" width="740" height="190" /></p><p
style="text-align: justify;">I started a new job at Microsoft in the United States. I am now working with the X++ compiler team. In case you haven&#8217;t heard of X++, you should know that X++ is the programming language that allows developers to extend Dynamics AX so that it matches their needs and business.</p><p
style="text-align: justify;">Also, I now live in the Seattle area. One of the most famous attraction in the area is the Space Needle, therefore I included a picture of the top platform of the tower. I took the picture on Saturday when the weather was sunny &#8211; it was one of the two sunny days that we had in the last three since I arrived here.</p> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=59XrH-MjuBM:vqrlv-C-i-o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=59XrH-MjuBM:vqrlv-C-i-o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=59XrH-MjuBM:vqrlv-C-i-o:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=59XrH-MjuBM:vqrlv-C-i-o:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=59XrH-MjuBM:vqrlv-C-i-o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=59XrH-MjuBM:vqrlv-C-i-o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=59XrH-MjuBM:vqrlv-C-i-o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=59XrH-MjuBM:vqrlv-C-i-o:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=59XrH-MjuBM:vqrlv-C-i-o:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=59XrH-MjuBM:vqrlv-C-i-o:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=59XrH-MjuBM:vqrlv-C-i-o:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=59XrH-MjuBM:vqrlv-C-i-o:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=59XrH-MjuBM:vqrlv-C-i-o:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://victorhurdugaci.com/a-new-start-again/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Retrospective (2009-2011)</title><link>http://victorhurdugaci.com/retrospective-2009-2011/</link> <comments>http://victorhurdugaci.com/retrospective-2009-2011/#comments</comments> <pubDate>Tue, 26 Jul 2011 08:00:59 +0000</pubDate> <dc:creator>Victor</dc:creator> <category><![CDATA[Personal/Blog]]></category> <guid isPermaLink="false">http://victorhurdugaci.com/?p=2382</guid> <description><![CDATA[Goodbye Copenhagen, goodbye Microsoft, goodbye Netherlands, goodbye Delft, goodbye University, goodbye good Danish pastries and bad food! This is where my one year (and a few days) stay in Denmark ends. Also, my journey on the fascinating pastures of academia, in the Netherlands, ended a few days ago when I defended my master thesis. Least [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">Goodbye Copenhagen, goodbye Microsoft, goodbye Netherlands, goodbye Delft, goodbye University, goodbye good Danish pastries and bad food! This is where my one year (and a few days) stay in Denmark ends. Also, my journey on the fascinating pastures of academia, in the Netherlands, ended a few days ago when I defended my master thesis. Least but not last, my internship in Microsoft ended about a month ago, but as the song says, “you can check out any time you like but you can never leave”. More about this will follow in another post, hopefully soon. I am now in the Copenhagen airport waiting for a plane that will take me back to Romania. I will take advantage of the waiting time and do a short retrospective of this memorable year.</p><p
style="text-align: justify;">The biggest achievements come first, so as I already mentioned in the first paragraph, I managed to successfully complete a master in Computer Science at the Technical University of Delft, in the Netherlands. It was definitely harder than I expected but I managed to do it (see my project <a
href="http://victorhurdugaci.com/projects/testnforce/">here</a>). I learned a lot and I would like to share some of the things that I will remember from TUDelft (random thoughts that barely worth 2 cents):</p><ul
style="text-align: justify;"><li>Research requires a lot of time and a lot of study. Until getting there (in NL) I never did academic research in the true sense</li><li>Spending more than two years for a two years master programme is fine and students are not always supposed to be young. However, spending too much time should raise an alarm.</li><li>Academic research can bring real value to the world (see TUDelft’s Incubators and research)</li><li>Sleeping 5-6 hours/day and working the rest is not sustainable and one can only do it for a limited amount of time. Is more productive to sleep more.</li><li>Wikipedia is not a valid reference</li></ul><p
style="text-align: justify;">Next is the Microsoft experience. Getting in Microsoft was a big dream that I wasn’t able to complete about four years ago when I tried to get an internship. However, last winter I tried again and it worked. I spent one year as a Tester or, the official title, Software Development Engineer in Test (SDET) working on Dynamics AX2012. Before Microsoft I only worked in a small company (with ~50 employees) and the MS experience was something completely different. I believe that now I can tell the difference between working in different size companies and I know which are the (dis)advantages of each. I think the biggest gain from Microsoft is not the programming/testing experience but the understanding of the process and how big projects are developed.</p><p
style="text-align: justify;">Moving from one place to another is not one of my favorite activities &#8211; what I hate is the process of moving, not being in a new place. However, there is an advantage when getting to new places: you meet people and make connections. I met many great individuals both in Holland and Denmark and I will miss them. However, because of different social networks, I believe that it will be quite easy to stay in touch and, at least, exchange some words from time to time.</p><p
style="text-align: justify;">The people that I met Denmark and in the Netherlands were great and crazy (in a positive way). We had a lot of fun, went to a lot of parties (unfortunately not so many in Holland because of the study load) and spent memorable moments – I just checked and I have 2000+ pictures just from Denmark and I know that there are many others that I haven’t got because of various reasons. Did you know that people in Microsoft love parties? Being a geek doesn’t mean only going to LAN parties :-)</p><p
style="text-align: justify;">The last two years were amazing but, in the same time, extremely exhausting. For the first time in the last 4-5 years, I have nothing to do. There are no school assignments, no projects, no meetings, nothing. Even though is a weird feeling, I guess I should enjoy it and take advantage of the situation. Therefore, I hereby declare the beginning of my extended vacation.</p> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=XLl4WSXqq-4:Xue2YEUpHXM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=XLl4WSXqq-4:Xue2YEUpHXM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=XLl4WSXqq-4:Xue2YEUpHXM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=XLl4WSXqq-4:Xue2YEUpHXM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=XLl4WSXqq-4:Xue2YEUpHXM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=XLl4WSXqq-4:Xue2YEUpHXM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=XLl4WSXqq-4:Xue2YEUpHXM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=XLl4WSXqq-4:Xue2YEUpHXM:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=XLl4WSXqq-4:Xue2YEUpHXM:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=XLl4WSXqq-4:Xue2YEUpHXM:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=XLl4WSXqq-4:Xue2YEUpHXM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=XLl4WSXqq-4:Xue2YEUpHXM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=XLl4WSXqq-4:Xue2YEUpHXM:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://victorhurdugaci.com/retrospective-2009-2011/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Weak passwords is a feature of Apache</title><link>http://victorhurdugaci.com/weak-passwords-is-a-feature-of-apache/</link> <comments>http://victorhurdugaci.com/weak-passwords-is-a-feature-of-apache/#comments</comments> <pubDate>Sat, 11 Jun 2011 19:34:50 +0000</pubDate> <dc:creator>Victor</dc:creator> <category><![CDATA[News]]></category> <category><![CDATA[customer service]]></category> <category><![CDATA[Fail]]></category> <category><![CDATA[testing]]></category> <category><![CDATA[wtf]]></category> <guid isPermaLink="false">http://victorhurdugaci.com/?p=2334</guid> <description><![CDATA[I was looking for an SVN provider for a personal project. One of the providers that I found (will not disclose the name) had a very nice offer and some extra features compared to the others. So, I started playing with their website and SVN. By mistake, I found that only the first 8 characters of [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">I was looking for an SVN provider for a personal project. One of the providers that I found (will not disclose the name) had a very nice offer and some extra features compared to the others. So, I started playing with their website and SVN. By mistake, I found that only the first 8 characters of the password are validated when logging in to the SVN repository. What does that mean? It means that if my password is &#8220;MySuperStrongPassword&#8221; then I can login with any of the following:</p><ul><li>&#8220;<strong>MySuperS</strong>&#8220;,</li><li>&#8220;<strong>MySuperS</strong>XX&#8221;,</li><li>&#8220;<strong>MySuperS</strong>UselsessCharacters&#8221;</li></ul><p>because only the bold part gets validated making 8+ characters passwords as strong as those with 8 characters.</p><p
style="text-align: justify;">Immediately, I sent a message to customer service:</p><blockquote><p
style="text-align: justify;">Dear sir/madam,</p><p
style="text-align: justify;">[...]If I set a password with more than 8 characters then only the first 8 are validated at SVN login, making possible to access the repository by just using the first 8 characters of my password.</p><p
style="text-align: justify;">[... the rest of the message with details and repro steps]</p></blockquote><p
style="text-align: justify;">They have a good (but useless, as will be seen soon) customer services. I got the response after 3 hours:</p><p><span
id="more-2334"></span></p><blockquote><p>Hi Victor,</p><p>This is not so much an issue with our Subversion servers its more<strong> a feature </strong>of apache bassed systems.</p><p>I&#8217;m interested to understand why you think this is a security issue though.</p><p>Please let me know if you need any further assistance?</p><p>Cheers,[...]</p></blockquote><p
style="text-align: justify;">Do I need to add any more comments? WTF? I explained the guy why I think that&#8217;s a big issue and he closed the thread without any extra comments.</p><p
style="text-align: justify;">The sad part is that a few hundred companies pick them, every week, for hosting projects (that&#8217;s what their website says)&#8230;</p> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=8Ymtme_19Yc:pt-0i4tbR-o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=8Ymtme_19Yc:pt-0i4tbR-o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=8Ymtme_19Yc:pt-0i4tbR-o:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=8Ymtme_19Yc:pt-0i4tbR-o:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=8Ymtme_19Yc:pt-0i4tbR-o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=8Ymtme_19Yc:pt-0i4tbR-o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=8Ymtme_19Yc:pt-0i4tbR-o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=8Ymtme_19Yc:pt-0i4tbR-o:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=8Ymtme_19Yc:pt-0i4tbR-o:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=8Ymtme_19Yc:pt-0i4tbR-o:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=8Ymtme_19Yc:pt-0i4tbR-o:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=8Ymtme_19Yc:pt-0i4tbR-o:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=8Ymtme_19Yc:pt-0i4tbR-o:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://victorhurdugaci.com/weak-passwords-is-a-feature-of-apache/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>First video of Windows 8</title><link>http://victorhurdugaci.com/first-video-of-windows-8/</link> <comments>http://victorhurdugaci.com/first-video-of-windows-8/#comments</comments> <pubDate>Thu, 02 Jun 2011 06:27:10 +0000</pubDate> <dc:creator>Victor</dc:creator> <category><![CDATA[News]]></category> <category><![CDATA[Microsoft]]></category> <category><![CDATA[Preview]]></category> <category><![CDATA[Video]]></category> <category><![CDATA[Windows 8]]></category> <guid isPermaLink="false">http://victorhurdugaci.com/?p=2325</guid> <description><![CDATA[Today is a big day. Except the fact that we have a day off in Denmark because of some national holiday, Microsoft revealed the first video of the next generation of Windows. The video includes (quote from the press release): Fast launching of apps from a tile-based Start screen, which replaces the Windows Start menu [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">Today is a big day. Except the fact that we have a day off in Denmark because of some national holiday, Microsoft revealed the first video of the next generation of Windows.</p><p
style="text-align: justify;">The video includes (quote from the press release):</p><ul
style="text-align: justify;"><li>Fast launching of apps from a tile-based Start screen, which replaces the Windows Start menu with a customizable, scalable full-screen view of apps.</li><li>Live tiles with notifications, showing always up-to-date information from your apps.</li><li>Fluid, natural switching between running apps.</li><li>Convenient ability to snap and resize an app to the side of the screen, so you can really multitask using the capabilities of Windows.</li><li>Web-connected and Web-powered apps built using HTML5 and JavaScript that have access to the full power of the PC.</li><li>Fully touch-optimized browsing, with all the power of hardware-accelerated Internet Explorer 10.</li></ul><p
style="text-align: justify;">I don&#8217;t think any more details are necessary. Just enjoy the video:</p><div
style="text-align: center;"><iframe
width="640" height="390" src="https://www.youtube.com/embed/p92QfWOw88I?rel=0&amp;hd=1" frameborder="0"></iframe></div><p>The read the <a
href="http://www.microsoft.com/presspass/features/2011/jun11/06-01corporatenews.aspx" target="_blank">press release</a>.</p> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=Iy2nFLv-STc:s6t7ixP_0Sk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=Iy2nFLv-STc:s6t7ixP_0Sk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=Iy2nFLv-STc:s6t7ixP_0Sk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=Iy2nFLv-STc:s6t7ixP_0Sk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=Iy2nFLv-STc:s6t7ixP_0Sk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=Iy2nFLv-STc:s6t7ixP_0Sk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=Iy2nFLv-STc:s6t7ixP_0Sk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=Iy2nFLv-STc:s6t7ixP_0Sk:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=Iy2nFLv-STc:s6t7ixP_0Sk:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=Iy2nFLv-STc:s6t7ixP_0Sk:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=Iy2nFLv-STc:s6t7ixP_0Sk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=Iy2nFLv-STc:s6t7ixP_0Sk:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=Iy2nFLv-STc:s6t7ixP_0Sk:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://victorhurdugaci.com/first-video-of-windows-8/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Testing against today’s date</title><link>http://victorhurdugaci.com/testing-against-todays-date/</link> <comments>http://victorhurdugaci.com/testing-against-todays-date/#comments</comments> <pubDate>Sat, 21 May 2011 11:04:59 +0000</pubDate> <dc:creator>Victor</dc:creator> <category><![CDATA[News]]></category> <category><![CDATA[Bug]]></category> <category><![CDATA[corner case]]></category> <category><![CDATA[testing]]></category> <guid isPermaLink="false">http://victorhurdugaci.com/?p=2313</guid> <description><![CDATA[Suppose there is an automated test case for a report: The question is: how can this test case fail? The obvious answers may include: The report is not generated The date is in the wrong format The date filed contains an incorrect date Let&#8217;s focus on the last situation. What does it mean if the [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">Suppose there is an automated test case for a report:</p><pre class="brush: plain; light: true; title: ; notranslate">
1. Generate a report for today
2. Check if the date printed on the report is today's date
</pre><p
style="text-align: justify;">The question is: how can this test case fail?</p><p><span
id="more-2313"></span></p><p
style="text-align: justify;">The obvious answers may include:</p><ul><li
style="text-align: justify;">The report is not generated</li><li
style="text-align: justify;">The date is in the wrong format</li><li
style="text-align: justify;">The date filed contains an incorrect date</li></ul><p
style="text-align: justify;">Let&#8217;s focus on the last situation. What does it mean if the date is incorrect? The answer is not always &#8220;there is a product bug that prints an incorrect date on the report&#8221;. It can also mean that there is a test issue&#8230; Below an example of execution (with timestamps) that triggers a test bug:</p><pre class="brush: plain; light: true; title: ; notranslate">
[23:59:46 May 1] 1. Generate a report for today
[00:00:04 May 2] 2. Check if the date printed on the report is today's date
</pre><p
style="text-align: justify;">The report was generated on May 1<sup>st</sup> but the date check against &#8220;today&#8221;&#8216;s date happened on May 2<sup>nd</sup>. The test fails though the report is correct =&gt; test bug.</p><p
style="text-align: justify;">How do you mitigate this?</p><p
style="text-align: justify;">PS: That&#8217;s a test case that I wrote for one of the features in AX2012. It has been executed almost daily and it failed, for the first time, after 3 months.</p> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=_zzJL9QUqeQ:CB5aP55-dik:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=_zzJL9QUqeQ:CB5aP55-dik:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=_zzJL9QUqeQ:CB5aP55-dik:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=_zzJL9QUqeQ:CB5aP55-dik:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=_zzJL9QUqeQ:CB5aP55-dik:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=_zzJL9QUqeQ:CB5aP55-dik:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=_zzJL9QUqeQ:CB5aP55-dik:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=_zzJL9QUqeQ:CB5aP55-dik:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=_zzJL9QUqeQ:CB5aP55-dik:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=_zzJL9QUqeQ:CB5aP55-dik:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=_zzJL9QUqeQ:CB5aP55-dik:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=_zzJL9QUqeQ:CB5aP55-dik:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=_zzJL9QUqeQ:CB5aP55-dik:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://victorhurdugaci.com/testing-against-todays-date/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>The PIN code: now you have it, now you don’t</title><link>http://victorhurdugaci.com/the-pin-code-now-you-have-it-now-you-dont/</link> <comments>http://victorhurdugaci.com/the-pin-code-now-you-have-it-now-you-dont/#comments</comments> <pubDate>Sun, 15 May 2011 11:15:43 +0000</pubDate> <dc:creator>Victor</dc:creator> <category><![CDATA[Personal/Blog]]></category> <category><![CDATA[Card]]></category> <category><![CDATA[Memory]]></category> <category><![CDATA[Personal]]></category> <guid isPermaLink="false">http://victorhurdugaci.com/?p=2306</guid> <description><![CDATA[I have the feeling that I&#8217;m getting old :) Last week I went to the supermarket to buy groceries. I was in front of the cashier when I took my credit card out from the wallet, put it in the POS and typed the PIN code. Surprisingly, I got an &#8220;Invalid PIN code&#8221; message. At [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;"><a
href="http://victorhurdugaci.com/wp-content/uploads/2011/05/images.jpg"><img
class="alignright size-full wp-image-2307" title="Card" src="http://victorhurdugaci.com/wp-content/uploads/2011/05/images.jpg" alt="" width="225" height="225" /></a>I have the feeling that I&#8217;m getting old :) Last week I went to the supermarket to buy groceries. I was in front of the cashier when I took my credit card out from the wallet, put it in the POS and typed the PIN code. Surprisingly, I got an &#8220;Invalid PIN code&#8221; message. At that point I realized that the code I typed is actually the security code of something else, not of my card.</p><p
style="text-align: justify;">&#8220;Well&#8230; That&#8217;s not a big issue. I use that PIN everyday and shouldn&#8217;t be hard to type the correct one on the second attempt&#8221;, I told to myself. The second attempt ended with another &#8220;Invalid PIN code&#8221;. So did the third and my card got blocked.</p><p
style="text-align: justify;">The PIN code just vanished from my head. I tried to recall it, I know that it must be somewhere there, but I can&#8217;t.There are a lot of numbers in my head, some are of other cards and some I don&#8217;t know what they are. I even unblocked my card, tried 3 more codes that I thought might work and got the card blocked again.</p><p
style="text-align: justify;">Why can&#8217;t I remember the code? Meanwhile I ordered a new PIN&#8230;</p> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=MMYdTT2zuuo:HYGqNSrpYok:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=MMYdTT2zuuo:HYGqNSrpYok:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=MMYdTT2zuuo:HYGqNSrpYok:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=MMYdTT2zuuo:HYGqNSrpYok:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=MMYdTT2zuuo:HYGqNSrpYok:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=MMYdTT2zuuo:HYGqNSrpYok:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=MMYdTT2zuuo:HYGqNSrpYok:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=MMYdTT2zuuo:HYGqNSrpYok:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=MMYdTT2zuuo:HYGqNSrpYok:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=MMYdTT2zuuo:HYGqNSrpYok:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=MMYdTT2zuuo:HYGqNSrpYok:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=MMYdTT2zuuo:HYGqNSrpYok:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=MMYdTT2zuuo:HYGqNSrpYok:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://victorhurdugaci.com/the-pin-code-now-you-have-it-now-you-dont/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Tool: f.lux</title><link>http://victorhurdugaci.com/tool-flux/</link> <comments>http://victorhurdugaci.com/tool-flux/#comments</comments> <pubDate>Fri, 29 Apr 2011 12:57:16 +0000</pubDate> <dc:creator>Victor</dc:creator> <category><![CDATA[News]]></category> <category><![CDATA[ergonomics]]></category> <category><![CDATA[f.lux]]></category> <category><![CDATA[tool]]></category> <guid isPermaLink="false">http://victorhurdugaci.com/?p=2297</guid> <description><![CDATA[Like many of you, I spend a lot of hours per day in front of the computer&#8217; screen. Especially in the night, you might have noticed that the screen is really bright and you have problems looking at it. I had the same problem until I discovered f.lux (yes, the dot is part of the [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;"><a
href="http://victorhurdugaci.com/wp-content/uploads/2011/04/f.lux_.png"><img
class="alignright size-medium wp-image-2298" title="f.lux" src="http://victorhurdugaci.com/wp-content/uploads/2011/04/f.lux_-300x123.png" alt="" width="300" height="123" /></a>Like many of you, I spend a lot of hours per day in front of the computer&#8217; screen. Especially in the night, you might have noticed that the screen is really bright and you have problems looking at it. I had the same problem until I discovered f.lux (yes, the dot is part of the name). I&#8217;ve been using in the last 9-10 months and I really feel an improvement, is much easier to look at the screen during the night.</p><p
style="text-align: justify;">Basically, f.lux is a free, lightweight application that adjust the temperature the colors on the display in order to match the natural lighting conditions. While the sun is up on the sky, the screen displays normal colors. During sunset, a slow transition to night colors is made. After this, the colors are colder and, for example, white becomes brownish. It might sound strange but it really helps.</p><p
style="text-align: justify;">f.lux can br download it from <a
title="f.lux official website" href="http://stereopsis.com/flux/ " target="_blank">the official website</a> and it is available for Windows, Mac and Linux. On the same page, is a research on sleep and more details about how f.lux helps.</p> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=2CSXgKc02mc:YarMdrF7J5o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=2CSXgKc02mc:YarMdrF7J5o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=2CSXgKc02mc:YarMdrF7J5o:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=2CSXgKc02mc:YarMdrF7J5o:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=2CSXgKc02mc:YarMdrF7J5o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=2CSXgKc02mc:YarMdrF7J5o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=2CSXgKc02mc:YarMdrF7J5o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=2CSXgKc02mc:YarMdrF7J5o:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=2CSXgKc02mc:YarMdrF7J5o:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=2CSXgKc02mc:YarMdrF7J5o:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=2CSXgKc02mc:YarMdrF7J5o:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=2CSXgKc02mc:YarMdrF7J5o:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=2CSXgKc02mc:YarMdrF7J5o:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://victorhurdugaci.com/tool-flux/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Default indexer and Reflection glitch</title><link>http://victorhurdugaci.com/default-indexer-and-reflection-glitch/</link> <comments>http://victorhurdugaci.com/default-indexer-and-reflection-glitch/#comments</comments> <pubDate>Fri, 22 Apr 2011 13:28:07 +0000</pubDate> <dc:creator>Victor</dc:creator> <category><![CDATA[C#]]></category> <category><![CDATA[Code]]></category> <category><![CDATA[Reflection]]></category> <guid isPermaLink="false">http://victorhurdugaci.com/?p=2279</guid> <description><![CDATA[I was writing some C# unit tests that had to use Reflection in order to set properties on objects, when I got into an interesting problem. I will provide a simplified version of the code I wrote, first the version without reflection, then my reflection version that had an issue and, in the end, the [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">I was writing some C# unit tests that had to use Reflection in order to set properties on objects, when I got into an interesting problem. I will provide a simplified version of the code I wrote, first the version without reflection, then my reflection version that had an issue and, in the end, the correct version.</p><p
style="text-align: justify;"><em>TestClass </em>is a class that has a property of type <em>List&lt;int&gt;</em>:</p><pre class="brush: csharp; title: ; notranslate">
class TestClass
{
    public List&lt;int&gt; Value { get; set; }
}
</pre><p
style="text-align: justify;">Goal: create an instance of this class, set the property and print the second element in the list. Simple, huh? The code without reflection is:</p><pre class="brush: csharp; title: ; notranslate">
TestClass c = new TestClass();
c.Value = new List&lt;int&gt;() { 4, 5, 6 };
Console.WriteLine(c.Value[1]);
</pre><p
style="text-align: justify;">Seems straight forward to use reflection for this, right? Here is my attempt:</p><pre class="brush: csharp; title: ; notranslate">
//TestClass c = new TestClass();
object c = new TestClass();
//c.Value = new List&lt;int&gt;() { 4, 5, 6 };
Type t = c.GetType();
PropertyInfo prop = t.GetProperty(&quot;Value&quot;, BindingFlags.Public | BindingFlags.Instance);
prop.SetValue(c, new List&lt;int&gt;() { 4, 5, 6 }, null);
//Console.WriteLine(c.Value[1]);
int valueToOutput = (int)prop.GetValue(c, new object[] { 1 });
Console.WriteLine(valueToOutput);
</pre><p
style="text-align: justify;">Can you see the glitch? I can tell you that line 10 throws <em>TargetParameterCountException</em>. You know why?</p><p><span
id="more-2279"></span></p><p
style="text-align: justify;">Looking at the IL disassembled code for the program without reflection gives the answer (I added some comments for clarity and removed unnecessary lines):</p><pre class="brush: plain; highlight: [12,13]; title: ; notranslate">
//TestClass c = new TestClass();
IL_0001:  newobj     instance void ConsoleApplication1.TestClass::.ctor()
//c.Value = new List&lt;int&gt;() { 4, 5, 6 };
IL_0008:  newobj     instance void class [mscorlib]System.Collections.Generic.List`1&lt;int32&gt;::.ctor()
IL_0010:  callvirt   instance void class [mscorlib]System.Collections.Generic.List`1&lt;int32&gt;::Add(!0)
IL_0018:  callvirt   instance void class [mscorlib]System.Collections.Generic.List`1&lt;int32&gt;::Add(!0)
IL_0020:  callvirt   instance void class [mscorlib]System.Collections.Generic.List`1&lt;int32&gt;::Add(!0)
IL_0027:  callvirt   instance void ConsoleApplication1.TestClass::set_Value(class [mscorlib]System.Collections.Generic.List`1&lt;int32&gt;)
//Console.WriteLine(c.Value[1]);
IL_002e:  callvirt   instance class [mscorlib]System.Collections.Generic.List`1&lt;int32&gt; ConsoleApplication1.TestClass::get_Value()
IL_0034:  callvirt   instance !0 class [mscorlib]System.Collections.Generic.List`1&lt;int32&gt;::get_Item(int32)
IL_0039:  call       void [mscorlib]System.Console::WriteLine(int32)
</pre><p
style="text-align: justify;">Line 3 in the original program gets translated to a property get in order to obtain the <em>List&lt;nt&gt;</em> object and then, on that object, the <em>get_Item</em> method is called with the same arguments as the indexed property. This is where I was wrong, I was calling the property with the arguments that were supposed to be for method and, of course, not invoking the method. The correct approach is (changed lines are highlighted):</p><pre class="brush: csharp; highlight: [10,11,12]; title: ; notranslate">
//TestClass c = new TestClass();
object c = new TestClass();
//c.Value = new List&lt;int&gt;() { 4, 5, 6 };
Type t = c.GetType();
PropertyInfo prop = t.GetProperty(&quot;Value&quot;, BindingFlags.Public | BindingFlags.Instance);
prop.SetValue(c, new List&lt;int&gt;() { 4, 5, 6 }, null);
//Console.WriteLine(c.Value[1]);
object listObject = prop.GetValue(c, null);
MethodInfo mtd = listObject.GetType().GetMethod(&quot;get_Item&quot;, BindingFlags.Public | BindingFlags.Instance);
int valueToOutput = (int)mtd.Invoke(listObject, new object[] { 1 });
Console.WriteLine(valueToOutput);
</pre><p
style="text-align: justify;">In the end, two observations:</p><p
style="text-align: justify;">1. A method can&#8217;t have a default indexer and a method <em>get_Item</em> with the same argument. The following code will not compile because the method is defined twice.</p><pre class="brush: csharp; title: ; notranslate">
class TestClass
{
    public int this[int index]
    {
        get
        {
            return 0;
        }
    }
    public int get_Item(int index)
    {
        return 0;
    }
}
</pre><p
style="text-align: justify;">2. You can replace indices with calls to <em>get_Item</em>. This method is hidden by the Visual Studio Intellisense but it perfectly legal.</p><pre class="brush: csharp; title: ; notranslate">
TestClass c = new TestClass();
c.Value = new List&lt;int&gt;() { 4, 5, 6 };
//Equivalent with Console.WriteLine(c.Value[1]);
Console.WriteLine(c.Value.get_Item(1));
</pre><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=3ziV3bRN3lw:Ba-_OIAO6uA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=3ziV3bRN3lw:Ba-_OIAO6uA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=3ziV3bRN3lw:Ba-_OIAO6uA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=3ziV3bRN3lw:Ba-_OIAO6uA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=3ziV3bRN3lw:Ba-_OIAO6uA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=3ziV3bRN3lw:Ba-_OIAO6uA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=3ziV3bRN3lw:Ba-_OIAO6uA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=3ziV3bRN3lw:Ba-_OIAO6uA:KwTdNBX3Jqk"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=3ziV3bRN3lw:Ba-_OIAO6uA:KwTdNBX3Jqk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=3ziV3bRN3lw:Ba-_OIAO6uA:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=3ziV3bRN3lw:Ba-_OIAO6uA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?i=3ziV3bRN3lw:Ba-_OIAO6uA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?a=3ziV3bRN3lw:Ba-_OIAO6uA:TzevzKxY174"><img src="http://feeds.feedburner.com/~ff/ExNihiloNihilFit?d=TzevzKxY174" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://victorhurdugaci.com/default-indexer-and-reflection-glitch/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> </channel> </rss><!-- Dynamic page generated in 1.273 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-05-18 02:55:00 --><!-- Compression = gzip -->

