<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Cum Grano Salis : Geekdom</title><link>http://blogs.msdn.com/cumgranosalis/archive/tags/Geekdom/default.aspx</link><description>Tags: Geekdom</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Windows 7 useful shortcut – run as admin</title><link>http://blogs.msdn.com/cumgranosalis/archive/2009/12/07/windows-7-useful-shortcut-run-as-admin.aspx</link><pubDate>Mon, 07 Dec 2009 22:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9933774</guid><dc:creator>Shahar</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/cumgranosalis/comments/9933774.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cumgranosalis/commentrss.aspx?PostID=9933774</wfw:commentRss><description>&lt;P&gt;It was driving me nuts to right-click/run as admin each time I needed in Windows 7/2008R2. So I tried to figure if there was a shortcut. A quick search did not find anything, so I just played with it a bit.&lt;/P&gt;
&lt;P&gt;Apparently Ctrl-Shift-Enter allows you to run things as admin both from the run dialog (Win-R) and from the start menu.&lt;/P&gt;
&lt;P&gt;Yey for less mouse usage!! &lt;/P&gt;
&lt;P&gt;(While I am at it, my most favorite new Win7 shortcut is Ctrl-Shift-N in Explorer - creates a new folder!)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9933774" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Geekdom/default.aspx">Geekdom</category></item><item><title>Creative workarounds – Windings edition</title><link>http://blogs.msdn.com/cumgranosalis/archive/2009/11/18/creative-workarounds-windings-edition.aspx</link><pubDate>Wed, 18 Nov 2009 17:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9917823</guid><dc:creator>Shahar</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/cumgranosalis/comments/9917823.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cumgranosalis/commentrss.aspx?PostID=9917823</wfw:commentRss><description>&lt;P&gt;11/24/09 - Correction - Sergei contacted me to explain that I got it all wrong - Windings does not give&amp;nbsp;all the required shapes (Circle, Triangle and Square).Instead, Sergei had to hunt until he found the perfect font that supported all that perfectly - Good ol' "Arial Unicode MS".&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In older posts, I have talked about a developer working on internal Microsoft application who really gives Excel Services a run for its money. Sergei has “starred” in two &lt;A href="https://blogs.msdn.com/cumgranosalis/archive/2008/05/06/new-published-paper-advanced-usage-of-excel-services-and-file-format-manipulations.aspx" mce_href="https://blogs.msdn.com/cumgranosalis/archive/2008/05/06/new-published-paper-advanced-usage-of-excel-services-and-file-format-manipulations.aspx"&gt;other&lt;/A&gt; &lt;A href="http://blogs.msdn.com/cumgranosalis/archive/2008/03/01/single-select-dimension-member-analysis-services-filter-web-part.aspx" mce_href="http://blogs.msdn.com/cumgranosalis/archive/2008/03/01/single-select-dimension-member-analysis-services-filter-web-part.aspx"&gt;posts&lt;/A&gt; and after playing for a bit with REST, has come up with a really nice workaround to the &lt;A href="http://blogs.msdn.com/cumgranosalis/archive/2009/11/17/excel-services-rest-limitations.aspx" mce_href="http://blogs.msdn.com/cumgranosalis/archive/2009/11/17/excel-services-rest-limitations.aspx"&gt;limitation&lt;/A&gt; of the REST API that does not allow for icon conditional formatting. Sergei instead creatively uses Windings and formatting conditional formatting to convey the same idea. Here’s one of his score cards inside a gadget, minimized:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/CreativeworkaroundsWindingsedition_91A/image_2.png" target=_blank mce_href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/CreativeworkaroundsWindingsedition_91A/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/CreativeworkaroundsWindingsedition_91A/image_thumb.png" width=171 height=198 mce_src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/CreativeworkaroundsWindingsedition_91A/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;As you can see, there’s a yellow triangle showing that whatever-it-is we are watching is not doing too badly or too well. Here’s the score-card maximized in the gadget:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/CreativeworkaroundsWindingsedition_91A/image_4.png" target=_blank mce_href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/CreativeworkaroundsWindingsedition_91A/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/CreativeworkaroundsWindingsedition_91A/image_thumb_1.png" width=307 height=363 mce_src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/CreativeworkaroundsWindingsedition_91A/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;This is similar to the Excel mechanism that shows icons for conditional formatting:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/CreativeworkaroundsWindingsedition_91A/image_6.png" target=_blank mce_href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/CreativeworkaroundsWindingsedition_91A/image_6.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/CreativeworkaroundsWindingsedition_91A/image_thumb_2.png" width=158 height=183 mce_src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/CreativeworkaroundsWindingsedition_91A/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;I love crazy people!!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9917823" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/cumgranosalis/attachment/9917823.ashx" length="32484" type="application/vnd.openxmlformats-officedocument.spre" /><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Geekdom/default.aspx">Geekdom</category><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Excel+Services/default.aspx">Excel Services</category><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Excel+Services+Gadget/default.aspx">Excel Services Gadget</category></item><item><title>Reason #4871 why I hate DHTML</title><link>http://blogs.msdn.com/cumgranosalis/archive/2009/10/31/reason-4871-why-i-hate-dhtml.aspx</link><pubDate>Sun, 01 Nov 2009 06:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9915800</guid><dc:creator>Shahar</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/cumgranosalis/comments/9915800.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cumgranosalis/commentrss.aspx?PostID=9915800</wfw:commentRss><description>&lt;P&gt;Margins. In script.&lt;/P&gt;
&lt;P&gt;To set? Use element.style.&lt;A href="http://msdn.microsoft.com/en-us/library/ms530808(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms530808(VS.85).aspx"&gt;marginTop&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;To get in runtime? Use element.&lt;A href="http://msdn.microsoft.com/en-us/library/ms534685(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms534685(VS.85).aspx"&gt;topMargin&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Arghhhhhhh! It's like DHTML is forcefuly trying to make me hate it.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9915800" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Geekdom/default.aspx">Geekdom</category></item><item><title>UlsViewer released</title><link>http://blogs.msdn.com/cumgranosalis/archive/2009/10/13/ulsviewer-released.aspx</link><pubDate>Wed, 14 Oct 2009 04:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9906401</guid><dc:creator>Shahar</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/cumgranosalis/comments/9906401.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cumgranosalis/commentrss.aspx?PostID=9906401</wfw:commentRss><description>&lt;p&gt;The folks in Office Operations released the Uls Viewer tool – it allows users of SharePoint to easily view and analyze ULS logs produced by the system (though not initially designed for user consumption, people seem to have been using the logs pretty much since we shipped). This also allows users of Excel Services to gain some insight as to what’s going on inside the product as it’s running.&lt;/p&gt; &lt;p&gt;&lt;a title="http://code.msdn.microsoft.com/ULSViewer" href="http://code.msdn.microsoft.com/ULSViewer"&gt;http://code.msdn.microsoft.com/ULSViewer&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This is a fun moment for me – the tool was originally written by my team as we were tired of using [insert favorite text editor here]&amp;nbsp; to try and understand the logs we produced. Being the new kid on the block in Office 12, we were using the ULS with a gusto (I think we are probably still the team that use logging the most in SharePoint) and we liked the fact that we could track everything the server was doing. At some point it became too much, so we sat down and wrote a tool that would allow us to view, dice, slice, analyze and otherwise BI the heck out of our logs. &lt;/p&gt; &lt;p&gt;During O14, the tool was pretty much taken over by the ULS folks who have fixed many of the bugs we had in the original tool. On top of that, they thought it would be useful for users to have and asked us if we were okay with releasing it publicly. Once all the profanity was removed from the tool and some of the bugs squashed (not all of them, as you will notice in the Filter dialog box and other places), the tool was apparently deemed worthy of “shipping” under the MSDN code library.&lt;/p&gt; &lt;p&gt;Both my team and the ULS team are looking to fix more bugs and make the tool more efficient memory-wise – if you have any other suggestions, please be sure to let us know through the tool page above, or by commenting on this blog.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9906401" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Geekdom/default.aspx">Geekdom</category></item><item><title>Optimizing life – Life in Async</title><link>http://blogs.msdn.com/cumgranosalis/archive/2009/07/01/optimizing-life-life-in-async.aspx</link><pubDate>Wed, 01 Jul 2009 20:43:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9811528</guid><dc:creator>Shahar</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/cumgranosalis/comments/9811528.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cumgranosalis/commentrss.aspx?PostID=9811528</wfw:commentRss><description>&lt;p&gt;I was going to get coffee today at work, minding my own business, when someone from the test-team asked me if the order I was doing things when preparing coffee was intentional. Absentmindedly, I explained the reasoning behind the order of things and how I reached this way of doing things and belatedly realized that I may have gone too far in my explanation – I think it was the look of pity in his eyes that clued me in. &lt;/p&gt; &lt;p&gt;To explain, first you need to understand what our kitchenette looks like and the various steps in making coffee:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/OptimizinglifeLifeinAsync_937/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/OptimizinglifeLifeinAsync_937/image_thumb.png" width="514" height="376"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Here are the various things we are seeing here:&lt;/p&gt; &lt;p&gt;1) Access – that’s where I typically come to the kitchenette from. &lt;br&gt;2) The coffee machine&lt;br&gt;3) Counter&lt;br&gt;4) Cups&lt;br&gt;5) Lids&lt;br&gt;6) Fridge (Where milk is).&lt;/p&gt; &lt;p&gt;Our coffee machines basically give you an Americano – no milk. The way I take my cup’o’joe is to do 12 oz of machine generated coffee (into a 16 oz cup) and fill another 2-3 oz of milk – and then the&amp;nbsp; cup needs to be lidded as well. Of course, there are a number of variations on how to make such a coffee with this layout.&lt;/p&gt; &lt;p&gt;Making Coffee – the naive way:&lt;/p&gt; &lt;p&gt;Step 1: Go to position (4) – grab a cup.&lt;br&gt;Step 2: Go to position (1) – place cup at machine.&lt;br&gt;Step 3: Press buttons - Wait for coffee to be made.&lt;br&gt;Step 4: Take milk from fridge (6)&lt;br&gt;Step 5: Fill cup with milk (possibly at position (3))&lt;br&gt;Step 6: Discard milk carton or, if still full, place back in fridge.&lt;br&gt;Step 7: Go to (5) and grab a lid.&lt;br&gt;Step 8: Place lid on cup.&lt;/p&gt; &lt;p&gt;And we are done. To understand how this can be optimized we first need to figure out how much each part of the coffee making process takes:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Making coffee (the machine phase)&lt;/strong&gt;: ~2 minutes (constant).&lt;br&gt;&lt;strong&gt;Getting milk (from position (1))&lt;/strong&gt;: On average, takes about 20 seconds. Depending on traffic, can easily take as long as 1:00 minutes if there is a lot of traffic and even longer if you consider the possibility of people talking to you while you are making the coffee.&lt;br&gt;&lt;strong&gt;Getting a cup: &lt;/strong&gt;Usually takes about 5 seconds from position 1 – can take longer due to traffic and chat. Rarely takes more than 30 seconds and requires little concentration.&lt;br&gt;&lt;strong&gt;Filling cup with milk:&lt;/strong&gt; Takes about 5 secodns.&lt;br&gt;&lt;strong&gt;Discarding/Returning milk: &lt;/strong&gt;Takes about 10 seconds. Worst case (traffic etc) can take up to a minute.&lt;br&gt;&lt;strong&gt;Grabbing a lid&lt;/strong&gt;: 5 seconds from position (1).&lt;br&gt;&lt;strong&gt;Lidding the cup&lt;/strong&gt;: 5 seconds at position (3).&lt;/p&gt; &lt;p&gt;So.. Translating this into pseudo code, this is what we get:&lt;/p&gt; &lt;p&gt;function NaiveCoffeeMaking()&lt;br&gt;{&lt;br&gt;WalkTo(4);&lt;br&gt;GetCup(); // 10s&lt;br&gt;WalkTo(2);&lt;br&gt;PlaceCupInMachine(); // 1s&lt;br&gt;MakeCoffee(); // 120s&lt;br&gt;GrabCupFromMachine(); // 1s&lt;br&gt;WalkTo(6);&lt;br&gt;GetMilk(); // 20s&lt;br&gt;PourMilk(); // 5s&lt;br&gt;DiscardOrReturnMilk(); // 10s&lt;br&gt;WalkTo(5);&lt;br&gt;GrabLid(); // 5s (probably closer to 3s in this case)&lt;br&gt;WalkTo(3); &lt;br&gt;LidCup(); // 5s&lt;br&gt;}&lt;br&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Phew.. Okay.. So we have that. Now lets calculate how much time this takes (best case):&lt;strong&gt;&lt;font size="4"&gt;177 seconds!&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;The thing to consider though is that the machine phase can be asynchronous – that is to say – while the machine is making coffee, the CPU (me) is waiting Idle. The question is, how can we use that to optimize the time? For our pseudo code then, we will now separate MakeCoffee into two functions: BeginMakeCoffee() which essentially means pressing the buttons on the machine and immediately return to the caller and EndMakeCoffee() which completes the operation (and if not done, blocks until done). And so, the most optimized version of how to make coffee is:&lt;/p&gt; &lt;p&gt;function FullyOptimizedCoffeeMaking()&lt;br&gt;{&lt;br&gt;WalkTo(2);&lt;br&gt;BeginMakeCoffee(); // 120s – but returns immediately&lt;br&gt;WalkTo(4);&lt;br&gt;GrabCup(); // 5s&lt;br&gt;WalkTo(6);&lt;br&gt;GetMilk(); // 20s&lt;br&gt;PourMilk(); // 5s&lt;br&gt;DiscardOrReturnMilk(); // 10s&lt;br&gt;WalkTo(5);&lt;br&gt;GrabLid(); // 5s (probably closer to 3s in this case)&lt;br&gt;WalkTo(2);&lt;br&gt;PlaceCupInMachine();&lt;br&gt;EndMakeCoffee(); &lt;br&gt;LidCup(); // 5s&lt;br&gt;}&lt;/p&gt; &lt;p&gt;Notice that when we call BeginMakeCoffee(), we immediately return and continue processing – going through the phases of getting the milk, preparing the cup and only then, when done, placing it in the machine. So, in this case, best case time would be: &lt;strong&gt;&lt;font size="4"&gt;125 seconds&lt;/font&gt;&lt;/strong&gt;. That’s 120 seconds that it takes to make the coffee plus the 5 that it takes to lid the cup. The rest of the time is taken up in parallel to making the coffee.&lt;/p&gt; &lt;p&gt;But there’s a problem! BeginMakeCoffee() and EndMakeCoffee() do not work exactly like a machine async operation. Generally speaking, when you issue an async operation, the sub-system will take care to store the result for you when it’s done and wait patiently for you to call the second part of the operation (EndMakeCoffee) before it returns the result. A coffee machine does not work that way. When the coffee is ready, it’s coming out – whether there’s something to store it or not. That presents some problems for the FullyOptimizedCoffeeMaking() function! What happens if instead of talking about Best case, we were to talk about worst case. The GetCup() can sometimes take 30 seconds. GetMilk can sometimes take 120 seconds. As well as some of the other things that make take longer under high-stress cases. What happens then? Well, what happens is that the coffee starts pouring and there’s nowhere for it to go, so it gets wasted. Sacrilege!!&lt;/p&gt; &lt;p&gt;In essence, we need something that’s both optimized AND safe. Since life does not have convenient temporary memory (where the coffee would have been stored) or sync objects (where the act of pouring the coffee could have been locked and deferred until a cup is to be placed underneath the nozzle), it means we need to work around those limitations:&lt;/p&gt; &lt;p&gt;function OptimizedAndSafeCoffeeMaking()&lt;br&gt;{&lt;br&gt;WalkTo(2);&lt;br&gt;BeginMakeCoffee(); // 120s – but returns immediately&lt;br&gt;WalkTo(4);&lt;br&gt;GrabCup(); // 5s&lt;br&gt;WalkTo(2);&lt;br&gt;PlaceCupInMachine();&lt;br&gt;WalkTo(6);&lt;br&gt;GetMilk(); // 20s&lt;br&gt;WalkTo(2);&lt;br&gt;PourMilk(); // While cup is in the machine – 10s&lt;br&gt;WalkTo(6)&lt;br&gt;DiscardOrReturnMilk(); // 15s&lt;br&gt;WalkTo(5);&lt;br&gt;GrabLid(); // 5s (probably closer to 3s in this case)&lt;br&gt;WalkTo(2);&lt;br&gt;EndMakeCoffee(); &lt;br&gt;LidCup(); // 5s&lt;br&gt;}&lt;/p&gt; &lt;p&gt;The CPU (me) now needs to work more – you will notice that there is more walking around to accommodate the new placement of the cup (it can no longer be carried around – one needs to walk to it to pour the milk and then back to the fridge to discard or put back). The time this now takes is still &lt;strong&gt;&lt;font size="4"&gt;125 seconds&lt;/font&gt;&lt;/strong&gt; - 120s to make the coffee and prepare the cup and another 5s at the end when the cup is lidded. Switching the lines around and doing more leg work though has bought us a lot more safeness.&lt;/p&gt; &lt;p&gt;Note that this is still not perfect – if the 5s it takes to get a cup and place it in the machine would balloon from 5s to 120s, we would be right back in our original position of losing our coffee. However, that is far less likely to happen in this case. If you want to eliminate risk completely, simply switch BeginMakeCoffee() with GrabCup() and PlaceCupInMachine(). You will lose 5 seconds (making the total time 130 seconds), but you are then completely safe.&lt;/p&gt; &lt;p&gt;So that’s what I was trying to explain to the tester when that look came to his face. The thing is, I am sure everyone does this. But people probably do this unconsciously or at least in a less &lt;strike&gt;obsessive compulsive&lt;/strike&gt; analytic manner than a software developer would.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9811528" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Development+Related/default.aspx">Development Related</category><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Geekdom/default.aspx">Geekdom</category></item><item><title>Awesome mouse-pad</title><link>http://blogs.msdn.com/cumgranosalis/archive/2008/04/24/awesome-mouse-pad.aspx</link><pubDate>Fri, 25 Apr 2008 06:28:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8423309</guid><dc:creator>Shahar</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/cumgranosalis/comments/8423309.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cumgranosalis/commentrss.aspx?PostID=8423309</wfw:commentRss><description>&lt;p&gt; We have a surplus computer store near my house which I like mostly because their pricing on cables is not equivalent to the GDP of a small island state. They have some real wonky stuff in there - very old printers, monitors, etc.&lt;/p&gt; &lt;p&gt;I passed through there today and saw this:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/Awesomemousepad_11FED/IMAG0039_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="184" alt="IMAG0039" src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/Awesomemousepad_11FED/IMAG0039_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Most-awesome-mouse-pad evah!&lt;/p&gt; &lt;p&gt;It is so much better than the competition because it has space not for two, but FIVE 3.5 diskettes. I think the only way this could be even awesommer is if it had space for 5.25 disks.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8423309" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Geekdom/default.aspx">Geekdom</category></item><item><title>Transitioning from TiVo to Windows Media Center</title><link>http://blogs.msdn.com/cumgranosalis/archive/2008/03/25/transitioning-from-tivo-to-windows-media-center.aspx</link><pubDate>Tue, 25 Mar 2008 23:55:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8336523</guid><dc:creator>Shahar</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/cumgranosalis/comments/8336523.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cumgranosalis/commentrss.aspx?PostID=8336523</wfw:commentRss><description>&lt;p&gt;I finally made the jump to Windows Media Center 2 months ago or so and, overall, I am much happier for it. I have had TiVos in my house since 2001 and it has gotten to be that I just never watch live TV anymore. I adore the concept of the DVR and am greatly annoyed when I dont have it at my fingertips.&lt;/p&gt; &lt;p&gt;Except for a few hiccups when I started (some due to me and others due to the fact that I bought the Dell 420 when it just came out, before Dell has fully gotten rid of the kinks), the machine has been working famously for about 2 months now. And it's just great.&lt;/p&gt; &lt;p&gt;There are a bunch of things I don't like about it, but for the most part they revolve around the programmability model. The software itself, out of the box, is absolutely awesome - it is SO much more responsive than TiVo (a Quad processor helps!) and the fact that you can upgrade HDDs and hardware generally is great too. The menu system is also miles ahead of TiVo, not to talk about integration with my home network and the Internet - totally and utterly sweet. The Movie Guide is a real nice touch and very easy to use. So is conflict resolution - I find it much better presented and handled.&lt;/p&gt; &lt;p&gt;The one feature I really miss though is grouped-shows by title ordered by date.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8336523" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Geekdom/default.aspx">Geekdom</category></item><item><title>New ImageResizer build (801) - Added quick-resize from the menu</title><link>http://blogs.msdn.com/cumgranosalis/archive/2007/08/01/new-imageresizer-build-801-added-quick-resize-from-the-menu.aspx</link><pubDate>Wed, 01 Aug 2007 19:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4164064</guid><dc:creator>Shahar</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/cumgranosalis/comments/4164064.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cumgranosalis/commentrss.aspx?PostID=4164064</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://blogs.msdn.com/cumgranosalis/pages/image-resizer-download-page.aspx" target=_blank mce_href="http://blogs.msdn.com/cumgranosalis/pages/image-resizer-download-page.aspx"&gt;Download page&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Small addition to the shell extension for resizing the images:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/NewImageResizerbuild801Addedquickresizef_17B3/image.png" atomicselection="true" mce_href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/NewImageResizerbuild801Addedquickresizef_17B3/image.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=120 alt=image src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/NewImageResizerbuild801Addedquickresizef_17B3/image_thumb.png" width=392 border=0 mce_src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/NewImageResizerbuild801Addedquickresizef_17B3/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;You can now quickly resize images w/o going through the UI and choosing options.&lt;/P&gt;
&lt;P&gt;Note that you will need to set your defaults the first time you do this. Also note that any option that automatically overwrites images will not be set-able as a default.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4164064" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Geekdom/default.aspx">Geekdom</category></item><item><title>Image Resizer for Vista (and XP) - Just a right click away from Explorer.</title><link>http://blogs.msdn.com/cumgranosalis/archive/2007/07/30/image-resizer-for-vista-and-xp-just-a-right-click-away-from-explorer.aspx</link><pubDate>Mon, 30 Jul 2007 19:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4120684</guid><dc:creator>Shahar</dc:creator><slash:comments>74</slash:comments><comments>http://blogs.msdn.com/cumgranosalis/comments/4120684.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cumgranosalis/commentrss.aspx?PostID=4120684</wfw:commentRss><description>&lt;P&gt;You can download the resizer &lt;A href="http://blogs.msdn.com/cumgranosalis/pages/image-resizer-download-page.aspx" target=_blank mce_href="http://blogs.msdn.com/cumgranosalis/pages/image-resizer-download-page.aspx"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;I don't know about you, but I am sorely missing the XP toy for image resizing. Windows XP had its power-toys, but Vista does not. And while some functionality has been baked into the shell,&amp;nbsp;explorer right-click&amp;nbsp;has not. On top of that, a feature I have been wanting for a while was also missing from the Power Toys (Copy Picture to clipboard).&lt;/P&gt;
&lt;P&gt;Because of that, I created an Image Resizer app that is tailored to what I need.. For the purpose of this post, I shall use my daughter in the capacity of a lolcat.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image.png" atomicselection="true" mce_href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=613 alt=image src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image_thumb.png" width=767 border=0 mce_src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Right-clicking on an image (or a group of images) will bring up an extra two options - "Copy Picture" and "Prish Resizer". Selecting the Resizer option will bring up a dialog:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image_1.png" atomicselection="true" mce_href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image_1.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=401 alt=image src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image_thumb_1.png" width=719 border=0 mce_src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The options should be self-explaining, but if they are not:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Place files in a folder called Resized:&lt;/STRONG&gt; This will create a folder called resize in the location of the image and create the resized one in that folder.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Add to the name of the file:&lt;/STRONG&gt; Will add the image resize option to the name of the image.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Overwrite the files:&lt;/STRONG&gt; Will delete the original image and replace it with the resized one. Since this is a dangerous option, you need to specify that you really want to overwrite files (at the bottom).&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Other:&lt;/STRONG&gt; Allows you to specify a folder to place the files in.&lt;/P&gt;
&lt;P&gt;The size options (1024 pixels, 800 pixels) etc regard the &lt;STRONG&gt;longest&lt;/STRONG&gt; dimension of your image. So, resizing two images with the sizes of 2592x1944 and 1944x2492 will resize them to 1024x768 and 768x1024 respectively.&lt;/P&gt;
&lt;P&gt;Clicking the Resize button will go over all the images and resize them.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image_2.png" atomicselection="true" mce_href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image_2.png"&gt;&lt;/A&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image_3.png" atomicselection="true" mce_href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image_3.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=548 alt=image src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image_thumb_3.png" width=706 border=0 mce_src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The second option allows you to copy the image directly from explorer to the clipboard:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image_4.png" atomicselection="true" mce_href="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image_4.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" alt=image src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image_thumb_4.png" border=0 mce_src="http://blogs.msdn.com/blogfiles/cumgranosalis/WindowsLiveWriter/ImageResizerforVistaandXPJustarightclic_1B11/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;This way, you can copy &amp;amp; paste directly from explorer w/o having to go through file menus of your application.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4120684" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Development/default.aspx">Development</category><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Geekdom/default.aspx">Geekdom</category></item><item><title>Vista Time Saver: Copy full file name to clipboard from Explorer.</title><link>http://blogs.msdn.com/cumgranosalis/archive/2007/07/18/vista-time-saver-copy-full-file-name-to-clipboard-from-explorer.aspx</link><pubDate>Wed, 18 Jul 2007 19:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3932876</guid><dc:creator>Shahar</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/cumgranosalis/comments/3932876.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cumgranosalis/commentrss.aspx?PostID=3932876</wfw:commentRss><description>&lt;P&gt;Thought I'd drop a line, since this is a feature I have been looking for FOREVER and never got around to writing it myself.&lt;/P&gt;
&lt;P&gt;In Vista, if you Shift-Right Click a file name in explorer, it will give you an option called "Copy As Path". Selecting that, will place the full name of the file (including complimentary double-quotes) in the clipboard. &lt;/P&gt;
&lt;P&gt;No more two-step copying for me! &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3932876" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/General/default.aspx">General</category><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Geekdom/default.aspx">Geekdom</category></item><item><title>TMobiles MDA - Fit The Second</title><link>http://blogs.msdn.com/cumgranosalis/archive/2006/07/27/MDAReview2.aspx</link><pubDate>Thu, 27 Jul 2006 19:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:679916</guid><dc:creator>Shahar</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/cumgranosalis/comments/679916.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cumgranosalis/commentrss.aspx?PostID=679916</wfw:commentRss><description>&lt;P&gt;Well.. What can I say. I am still not disillusioned with the device. What is it I hear you say? I have just been using it for two days? That's true. We'll see how it goes..&lt;/P&gt;
&lt;P&gt;Installed a gadzillion things on it. So far, so good. Way more stable than my previous pocket pc. No question about it.&lt;/P&gt;
&lt;P&gt;Been using it heavily all day with very little recharge. Battery was almost dead at 23:00 or so. I think that's pretty good. &lt;/P&gt;
&lt;P&gt;New things:&lt;/P&gt;
&lt;P&gt;* I defintely like the keyboard. It's totally sweet.&lt;/P&gt;
&lt;P&gt;* Installed SBP plus -- it's great -- closing programs, battery indicator on top of screen, quick launch from the today screen (just a few things that are otherwise a pain to get to). Have used it before, but it's much faster/stabler now.&lt;/P&gt;
&lt;P&gt;* Found &lt;A href="http://blogs.msdn.com/windowsmobile/archive/2006/03/27/562162.aspx"&gt;this&lt;/A&gt; blog entry which &lt;STRONG&gt;really&lt;/STRONG&gt; helped me - both the original post and all the comments. Lots of good info there. My keyboard work has become even faster.&lt;/P&gt;
&lt;P&gt;* Learned in the comments about &lt;A href="http://forum.xda-developers.com/viewtopic.php?t=41060&amp;amp;highlight="&gt;this&lt;/A&gt;&amp;nbsp;smartkeys utility which makes the device much better when keyboard is tucked in (adds "start" and "ok" buttons w/o the keyboards by manipulating the soft keys).&lt;/P&gt;
&lt;P&gt;* I learnt that I like the soft keys &lt;STRONG&gt;way more&lt;/STRONG&gt; than I thought I would.&lt;/P&gt;
&lt;P&gt;* Smart keys also gives me the ability to use the up/down keys to bring up call history/quick-dial in the phone.&lt;/P&gt;
&lt;P&gt;* &lt;STRONG&gt;Skype, skype, skype!&lt;/STRONG&gt; Never liked the program on the PC -- alwyas prefered to use the phone. But it works REAL nice on the pocket pc when one is connected to wifi. Just great.&lt;/P&gt;
&lt;P&gt;* Was able to do a bunch of things at the same time on the device. Namely, talk on skype, chat on messenger and browse the internet. Very little delay. No hangs. Wow.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Still missing&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;* Really wish there was a shortcut to Ctrl-C and Ctrl-V. &lt;/P&gt;
&lt;P&gt;* Really want a shortcut to the "folders" combo in file explorer and especially in the mail reader.&lt;/P&gt;
&lt;P&gt;I am on such a high with this device, I am afraid of the way down which is bound to come.. Right?&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=679916" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Geekdom/default.aspx">Geekdom</category></item><item><title>TMobiles MDA - Fit the First</title><link>http://blogs.msdn.com/cumgranosalis/archive/2006/07/24/MDAReview1.aspx</link><pubDate>Tue, 25 Jul 2006 07:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:677590</guid><dc:creator>Shahar</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/cumgranosalis/comments/677590.aspx</comments><wfw:commentRss>http://blogs.msdn.com/cumgranosalis/commentrss.aspx?PostID=677590</wfw:commentRss><description>&lt;P&gt;I finally did it and bought an &lt;A href="http://www.t-mobile.com/shop/phones/Detail.aspx?device=8802ddeb-1ee4-477a-9608-d9cd1e2a903f"&gt;MDA&lt;/A&gt; from TMobile. I have had the HP Ipaq 6315 for almost two years now. If you are not keeping track, the 6315 has got to be one of the worst devices to ever come out. Having passed minimal to no QA, the device came out and distributed by TMobile. I pre-ordered it and got it a few days after it was out.&lt;/P&gt;
&lt;P&gt;The forums, internal aliases, sites - they were all against the little fella. With good reason. It could not hold on to any BlueTooth or WiFi connection for long, it required a LOT of booting and it came with Mobile 2003 when 2003 was already a little long in the tooth. 4 months later, TMobile and HP came out with a patch which solved some of the bugs, but left a lot of them there. In short, everybody hated it.&lt;/P&gt;
&lt;P&gt;Everybody, but me.&lt;/P&gt;
&lt;P&gt;It was AWESOME. It was my first PDA and once I learnt the voodoo needed to make it work properly, I used it for pretty much everything. I recorded conversations with it, used it A LOT with my GPS reciever, wrote notes, used messenger, listened to Israeli Radio, used it as a dial up network modem via bluetooth. It was awesome.&lt;/P&gt;
&lt;P&gt;But sicne then, the Wifi started declining, connecting less and less, and the device started showing its age. And so, I decided to get a new one. I will try to log my experience with the MDA as it seems like with these devices, you start out being &lt;STRONG&gt;amazed&lt;/STRONG&gt; by what they can do and slowly learn just how crappy they &lt;STRONG&gt;really&lt;/STRONG&gt; are.&lt;/P&gt;
&lt;P&gt;Which brings us to first impressions.&lt;/P&gt;
&lt;P&gt;I love it. While I miss some of way the keys worked with the old device, the new one is pretty easy to get used to.&lt;/P&gt;
&lt;P&gt;* The keyboard is great. The fact that it has the "Windows" button and the "ok" button make most navigation very easy. Some things suck (I think), such as the inability to move from folder to folder by using only the keyboard requireing you to touch the screen..I like the arrow keys on the keyboard. A lot.&lt;/P&gt;
&lt;P&gt;* I miss the Arrow-down for speed dial.&lt;/P&gt;
&lt;P&gt;* The camera is nice (though, as always, pretty useless).&lt;/P&gt;
&lt;P&gt;* The &lt;A href="http://en.wikipedia.org/wiki/EDGE"&gt;EDGE&lt;/A&gt;&amp;nbsp;seems to be significantily faster than my old GPRS.&lt;/P&gt;
&lt;P&gt;* The wifi connected quickly, very quickly. Same with the BlueTooth.&lt;/P&gt;
&lt;P&gt;* Pocket Internet explorer in landscape mode with the zoom capabilities is really great.&lt;/P&gt;
&lt;P&gt;* The ability to sync Outlook 2007 RSS folders is just damn nice. No need for another RSS reader installed.&lt;/P&gt;
&lt;P&gt;* It is so much smaller than my huge 6315. Soooooo nice.&lt;/P&gt;
&lt;P&gt;More when I have it.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=677590" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/cumgranosalis/archive/tags/Geekdom/default.aspx">Geekdom</category></item></channel></rss>