<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Observations from Uppsala &#187; desktop software</title>
	<atom:link href="http://jakob.engbloms.se/archives/category/off-topic/pc-software-off-topic/feed" rel="self" type="application/rss+xml" />
	<link>http://jakob.engbloms.se</link>
	<description>Computer Technology: Simulation, Virtualization, Virtual Platforms, Embedded, Multicore and Multiprocessing (by Jakob Engblom)</description>
	<lastBuildDate>Sun, 29 Jan 2012 19:45:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<image>
    <title>Observations from Uppsala</title>
    <url>http://jakob.engbloms.se/favicon.png</url>
    <link>http://jakob.engbloms.se</link>
    <width>32</width>
    <height>32</height>
    <description>Observations from Uppsala - http://jakob.engbloms.se</description>
    </image>		<item>
		<title>Off-topic: Windows tip: Hide Desktop Icons</title>
		<link>http://jakob.engbloms.se/archives/1431?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/1431#comments</comments>
		<pubDate>Tue, 07 Jun 2011 12:39:05 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1431</guid>
		<description><![CDATA[I often have to create screenshots and screen recordings as part of my job, and to make that look good I don&#8217;t want any part of my Windows desktop or task bar to show in the results. Until now, I have done this the hard way by using very few desktop icons and putting them [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jakob.engbloms.se/wp-content/uploads/2007/11/a113ad1c-dacb-456b-b0bb-ee6a0ddfef3e.png"><img class="alignleft size-full wp-image-48" style="margin: 5px 10px;" title="Vista" src="http://jakob.engbloms.se/wp-content/uploads/2007/11/a113ad1c-dacb-456b-b0bb-ee6a0ddfef3e.png" alt="" width="63" height="63" /></a>I often have to create screenshots and screen recordings as part of my job, and to make that look good I don&#8217;t want any part of my Windows desktop or task bar to show in the results. Until now, I have done this the hard way by using very few desktop icons and putting them around the edges of the screen.</p>
<p>There is a better way.</p>
<p><span id="more-1431"></span>Just right-click on the desktop, select &#8220;View&#8221; and then &#8220;Show desktop icons&#8221;. So simple.</p>
<p><a href="http://jakob.engbloms.se/wp-content/uploads/2011/06/cleanup-for-recording-tip.png"><img class="aligncenter size-full wp-image-1432" title="cleanup for recording tip" src="http://jakob.engbloms.se/wp-content/uploads/2011/06/cleanup-for-recording-tip.png" alt="" width="545" height="518" /></a>Should have found this years ago. Works on Windows Vista and Windows 7 as far as I know.</p>
<p>&nbsp;</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/1431"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/1431" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/1431" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/1431/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>msys git &#8211; error could not allocate cygwin heap</title>
		<link>http://jakob.engbloms.se/archives/1403?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/1403#comments</comments>
		<pubDate>Wed, 04 May 2011 11:12:04 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[off-topic]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[msysgit]]></category>
		<category><![CDATA[tortoisegit]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1403</guid>
		<description><![CDATA[I am using TortoiseGit on Windows for a while now, and it works OK. However, today, it just stopped working. The error I got persistently was: 0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487 AllocationBase 0x0, BaseAddress 0x68540000, RegionSize 0x480000, State 0x10000 c:\msysgit\bin\sh.exe: *** Couldn't reserve space for cygwin's heap, Win32 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jakob.engbloms.se/wp-content/uploads/2011/05/tortoise-git-logo.png"><img class="alignleft size-full wp-image-1404" title="tortoise git logo" src="http://jakob.engbloms.se/wp-content/uploads/2011/05/tortoise-git-logo.png" alt="" width="95" height="55" /></a>I am using <a href="http://code.google.com/p/tortoisegit/">TortoiseGit </a>on Windows for a while now, and it works OK. However, today, it just stopped working. The error I got persistently was:</p>
<pre>0 [main] us 0 init_cheap: VirtualAlloc pointer is null,
Win32 error 487 AllocationBase 0x0, BaseAddress 0x68540000,
RegionSize 0x480000, State 0x10000
c:\msysgit\bin\sh.exe:
*** Couldn't reserve space for cygwin's heap, Win32 error 0
</pre>
<p><span id="more-1403"></span>More than mildly annoying.</p>
<p>I tried searching the web, and found a number of discussions on similar issues. It was not easy to find one that worked, but in the end it turns out that playing with the base address of the <tt>msys-1.0.dll</tt> file worked. The error is not really in TortoiseGit per se, but rather in <a href="http://code.google.com/p/msysgit/">msysgit </a> (which tortoisegit relies on to actually do its work).</p>
<p>The magic incantation that I wound up using:</p>
<pre>c:\msysgit\bin&gt;rebase.exe -b 0x50000000 msys-1.0.dll</pre>
<p>Posting it here for the benefit of any other poor soul who is hit by the same. Apparently, you might have to change to use different other addresses.</p>
<p>The details of my setup for reference:</p>
<ul>
<li>msysgit 1.7.4</li>
<li>tortoisegit 1.6.5.0</li>
<li>Windows 7, 64-bit</li>
</ul>
<p>&nbsp;</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/1403"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/1403" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/1403" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/1403/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Cubase64 &#8211; Impressive Impossible Retro</title>
		<link>http://jakob.engbloms.se/archives/1400?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/1400#comments</comments>
		<pubDate>Fri, 22 Apr 2011 20:14:47 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[history of computing]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[Commodore 64]]></category>
		<category><![CDATA[Cubase64]]></category>
		<category><![CDATA[Pex Tufvesson]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1400</guid>
		<description><![CDATA[I recently read the &#8220;Cubase64 White Paper&#8221; by Pex Tufvesson. It is a fantastic piece of retro computing, where he makes a Commodore 64 do real-time audio effects on a sampled piece of music. There is a Youtube movie showing the demo in action. Considering how hard we worked in the early 1980s to make [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jakob.engbloms.se/wp-content/uploads/2011/04/Commodore-64.jpg"><img class="alignleft size-full wp-image-1401" style="margin: 5px 10px;" title="Commodore 64" src="http://jakob.engbloms.se/wp-content/uploads/2011/04/Commodore-64.jpg" alt="" width="79" height="79" /></a>I recently read the &#8220;<a href="http://www.livet.se/mahoney/c64-files/Cubase64_White_Paper_by_Pex_Mahoney_Tufvesson.pdf">Cubase64 White Paper</a>&#8221; by Pex Tufvesson. It is a fantastic piece of retro computing, where he makes a Commodore 64 do real-time audio effects on a sampled piece of music. There is a <a href="http://www.youtube.com/watch?v=MDrqBYkco-Y">Youtube movie showing the demo in action</a>. Considering how hard we worked in the early 1980s to make a computer make any kind of useful noise at all, this is an amazing feat. It is also a feat that I think would have been impossible at the time.</p>
<p><span id="more-1400"></span>Why do I think it would have been impossible?</p>
<p>In the white paper, some techniques are cited which were published in the late 1990s. Thus, they weren&#8217;t even around when the Commodore 64 was new. We have come a long way in our understanding of digital signal and sound processing since 1982. Thanks to the incredible increase in available computing power, many techniques have been invented over the past few decades that were not available to the first generation of home computer hackers.</p>
<p>A more interesting reason is the amount of compute power needed to prepare the samples. Due  to the tiny memory of the Commodore 64 (in 32kB you cannot store more than a few seconds of audio samples at any kind of reasonable resolution and sampling frequency), as well as the way the samples are played, the audio is heavily compressed and preprocessed before being loaded into the Commodore 64.</p>
<p>This process is reported as having taken 25 minutes on a modern 2 GHz PC. How long would that have taken on a Commodore 64 in 1982? The clock frequency is 2000 x higher. If we assume this is plain floating point math, the PC can get about 1 operation through each cycle on average. The C64 would probably require at least 1000 cycles per floating point operation, emulating it using 8-bit integer math. That gives us a factor of 2,000,000 (give or take an order of magnitude). Thus, the computation would have taken  about 95 years (or as little as 10 years, or as much as 1000 years) back in 1982 (I don&#8217;t think this kind of operation is easily parallelized). It would also have required an unheard-of incredibly large memory of several megabytes.</p>
<p>OK, so maybe if you were  a billionaire and could have rented a few IBM mainframes you could have done it. Just to stand before a bemused crowd showing the little box making music. Would have been much easier to just buy an early CD player which played music at much higher quality.</p>
<p>But don&#8217;t get me wrong &#8211; I really like this work. It is impressive to see what you can do in terms of media replay on a small and slow device if you are willing to put incredible effort into the compression of the media. The way that the author finds ways to achieve various effects within the confines of the Commodore 64.</p>
<p>When retro computing is at its best, it shows how human ingenuity can overcome limitations and get things done even when it should not be possible. This kind of engineering spirit has been crucial many times in the past, in particular when saving space missions from seemingly impossible odds. If you only work with systems with power in abundance and few hard limits, you just don&#8217;t develop that kind of creativity.</p>
<p>&nbsp;</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/1400"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/1400" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/1400" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/1400/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Product Holes: Microsoft Office vs Internet Explorer</title>
		<link>http://jakob.engbloms.se/archives/1297?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/1297#comments</comments>
		<pubDate>Fri, 22 Oct 2010 10:05:17 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[office 2007]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1297</guid>
		<description><![CDATA[There seems to be no shortage of bugs that &#8220;should have been obvious&#8221; and subject to the &#8220;how can you not check that your own products work together&#8221; phenomenon. Just the other day, I stumbled on another one. This time, it was the Microsoft set of applications and operating systems that do not quite work [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jakob.engbloms.se/wp-content/uploads/2010/06/happy-key.png"><img class="alignleft size-full wp-image-1148" style="margin: 5px 10px;" title="happy key" src="http://jakob.engbloms.se/wp-content/uploads/2010/06/happy-key.png" alt="" width="95" height="97" /></a>There seems to be no shortage of bugs that &#8220;should have been obvious&#8221; and subject to the &#8220;how can you not check that your own products work together&#8221; phenomenon. Just the other day, I stumbled on another one. This time, it was the Microsoft set of applications and operating systems that do not quite work together the way you would expect them to.</p>
<p><span id="more-1297"></span></p>
<p>Here is the scenario.</p>
<p>We have a wiki system on our Intranet at Wind River, where I attached a Powerpoint 2007 presentation to a file in the wiki. This file has the extension <strong>.pptx</strong>, as they tend to do. I do this in Firefox, and I can download and save and view the files with no problems:</p>
<p><a href="http://jakob.engbloms.se/wp-content/uploads/2010/10/pptxinfirefox.png"><img class="aligncenter size-full wp-image-1299" title="Open pptx attachment in Firefox" src="http://jakob.engbloms.se/wp-content/uploads/2010/10/pptxinfirefox.png" alt="" width="455" height="326" /></a>A colleague of mine tried to do download the presentation, but failed. The problem for her was that she was using Microsoft&#8217;s Internet Explorer, rather than Firefox. IE did not recognize .pptx, and instead did some kind of magic lookup and decided that the file is a .zip file:</p>
<p><a href="http://jakob.engbloms.se/wp-content/uploads/2010/10/pptx-in-ie.png"><img class="aligncenter size-full wp-image-1300" title="pptx in ie" src="http://jakob.engbloms.se/wp-content/uploads/2010/10/pptx-in-ie.png" alt="" width="430" height="306" /></a>So here we have a case where Firefox is able to recognize a file extension, but not Microsoft&#8217;s own web browser. The reason that IE and Firefox are using the file extension is that our wiki did not have a MIME filetype set for the .pptx files, leaving each client to figure it out on their own.</p>
<p>To compound the problem, the simple fix to change the file extension of the downloaded file from .zip to .pptx is not available per default on modern Windows systems. The default policy is to  hide extensions for known file types, so they are unavailable to be edited. The fix is to reveal all file extensions, which at least for me is the first thing I do when I get a new system setup. As  a programmer, I need to know exactly what things are, and quite often change their extensions.</p>
<p><a href="http://jakob.engbloms.se/wp-content/uploads/2010/10/hide-extensions.png"><img class="aligncenter size-full wp-image-1301" title="hide extensions" src="http://jakob.engbloms.se/wp-content/uploads/2010/10/hide-extensions.png" alt="" width="396" height="481" /></a></p>
<p>I guess that Microsoft only tested things in a completely homogeneous system. I assume that if you use Microsoft ISS as your webserver (in a recent version), it will give you the right MIME type automatically. Testing with an Apache server or an old server version might not have been in the plans for Microsoft IE8. Once again, we see that testing requires some imagination to do well.</p>
<p>I would like to note that this problem is not new, and there is a writeup at <a href="http://www.pptfaq.com/FAQ00911.htm ">http://www.pptfaq.com/FAQ00911.htm </a>explaining the issue and some related issues as well.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/1297"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/1297" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/1297" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/1297/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse: Changing the Java Heap Size</title>
		<link>http://jakob.engbloms.se/archives/1062?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/1062#comments</comments>
		<pubDate>Wed, 13 Jan 2010 16:46:53 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1062</guid>
		<description><![CDATA[I just won a battle against Eclipse, managing to finally rid myself of a string of strange out-of-heap warnings. It is a long story, involving lots of web searching and fiddling with the eclipse.ini file options for the JVM. It just never seemed to work as I wanted it to, despite changing the -Xmx VM [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1063" title="eclipseicon" src="http://jakob.engbloms.se/wp-content/uploads/2010/01/eclipseicon.png" alt="eclipseicon" width="73" height="71" />I just won a battle against Eclipse, managing to finally rid myself of a string of strange out-of-heap warnings. It is a long story, involving lots of web searching and fiddling with the eclipse.ini file options for the JVM. It just never seemed to work as I wanted it to, despite changing the -Xmx VM argument to 256, then 512, and finally 1024m.</p>
<p><span id="more-1062"></span>Turned out that the problem was not at all related to the names of the parameters to the VM. Xmx is the right way to grow the heap.This set of parameters <em>does </em>work when put into an eclipse.ini file (for Eclipse 3.5):</p>
<pre>-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx1024m</pre>
<p>The problem was that Eclipse actually never read its eclipse.ini file, because I had changed the name of the main Eclipse binary. I have several Eclipse installations with different versions active at the same time, and to bring some sanity to shortcuts and Windows start menu items, I started renaming the executables to include the version name. Thus, I had &#8220;eclipse-3.5.1.exe&#8221; rather than &#8220;eclipse.exe&#8221; in the problematic case.</p>
<p>It seems that eclipse when starting reads a file like &#8220;my-file-name&#8221;.ini, and thus all changes to the file &#8220;eclipse.ini&#8221; has no effect for &#8220;eclipse-3.5.1.exe&#8221;.</p>
<p>Why do I always find these bugs?</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/1062"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/1062" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/1062" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/1062/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Off-Topic: Getting Excel to Open Files Again</title>
		<link>http://jakob.engbloms.se/archives/950?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/950#comments</comments>
		<pubDate>Sun, 11 Oct 2009 17:28:34 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[excel 2007]]></category>
		<category><![CDATA[office 2007]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=950</guid>
		<description><![CDATA[For a while now, I have had the issue that I could not open Excel sheets (files) by double-clicking them in the Windows Explorer, nor could I directly open Excel sheets sent to me in email from within Outlook. I got an error like this: &#8220;Cannot find the file path (or one of its components). [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-229" style="margin: 10px 5px;" title="excel1" src="http://jakob.engbloms.se/wp-content/uploads/2008/08/excel1.png" alt="excel1" width="47" height="46" />For a while now, I have had the issue that I could not open Excel sheets (files) by double-clicking them in the Windows Explorer, nor could I directly open Excel sheets sent to me in email from within Outlook. I got an error like this: &#8220;Cannot 		  find the file <var>path</var> (or one of its components). Make 		  sure the path and file name are correct and that all required libraries are 		  available.&#8221;</p>
<p>Turned out this is a fairly common problem, with a documented solution.</p>
<p><span id="more-950"></span>It is <a href="http://support.microsoft.com/kb/211494/">MS knowledge base article 211494</a>.</p>
<p>For some reason, you need to go into Excel options and have it allow other programs to access Excel via DDE, as in the screenshot below:</p>
<p><a href="http://jakob.engbloms.se/wp-content/uploads/2009/10/fixed-excel-issue.png"><img class="aligncenter size-medium wp-image-951" title="fixed excel issue" src="http://jakob.engbloms.se/wp-content/uploads/2009/10/fixed-excel-issue-300x244.png" alt="fixed excel issue" width="300" height="244" /></a></p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/950"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/950" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/950" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/950/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Off-Topic: Firefox 3.5 &#8220;Well this is Embarrasing&#8221;</title>
		<link>http://jakob.engbloms.se/archives/900?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/900#comments</comments>
		<pubDate>Sun, 30 Aug 2009 06:07:50 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=900</guid>
		<description><![CDATA[I just got a wonderful error message from Firefox 3.5.2: Tweet]]></description>
			<content:encoded><![CDATA[<p>I just got a wonderful error message from Firefox 3.5.2:</p>
<p><a href="http://jakob.engbloms.se/wp-content/uploads/2009/08/firefix-error.png"><img class="aligncenter size-medium wp-image-901" title="firefix error" src="http://jakob.engbloms.se/wp-content/uploads/2009/08/firefix-error-300x216.png" alt="firefix error" width="300" height="216" /></a></p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/900"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/900" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/900" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/900/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Driving an Old Canon Scanner using a VM</title>
		<link>http://jakob.engbloms.se/archives/842?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/842#comments</comments>
		<pubDate>Wed, 15 Jul 2009 18:43:50 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[virtual machines]]></category>
		<category><![CDATA[Canon]]></category>
		<category><![CDATA[LIDE30]]></category>
		<category><![CDATA[scanner]]></category>
		<category><![CDATA[USB]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[VMWare]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=842</guid>
		<description><![CDATA[I have an old Canon LIDE 30 scanner that I purchased sometime late in 2003. At that time, it was connected to a PC running Windows XP, and drivers worked just fine. However, after I got my new computer in early 2009, with Vista 64, there are no more drivers available. There is a funny [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-843" style="margin-left: 5px; margin-right: 5px;" title="lide30" src="http://jakob.engbloms.se/wp-content/uploads/2009/07/lide30.gif" alt="lide30" width="100" height="67" />I have an old <a href="http://www.canon-europe.com/For_Home/Product_Finder/Scanners/Flatbed/LIDE30/index.asp">Canon LIDE 30 </a>scanner that I purchased sometime late in 2003. At that time, it was connected to a PC running Windows XP, and drivers worked just fine. However, after I got my new computer in early 2009, with Vista 64, there are no more drivers available. There is a funny way around this though, using a virtual machine.</p>
<p><span id="more-842"></span>What I ended up doing to keep using my scanner (whose hardware is still very much intact and solid) is fairly obvious: I installed my old Windows XP license on a VMWare virtual machine (I had the good luck to have a full license with physical media), and then install the Canon LIDE30 driver on that virtualized XP.</p>
<p>VMWare Player is sufficient to let me attach the physical scanner to the virtual machine&#8217;s USB interface, and drive it without the host Vista 64 machine being any the wiser. To get the scanned pictures out, I have to resort to drag-and-drop, as I have failed to get shared folders to work with Player for some unknown reason.</p>
<p>The end result can be pretty complex&#8230; To send some emails from my work computer including scans with this scanner, I had to:</p>
<ul>
<li> Scan on the virtual XP machine</li>
<li>Drag-and-drop to the Pictures folder on my Vista 64 machine</li>
<li>Use file-sharing in Windows to move to my work laptop</li>
<li>Attach in Outlook</li>
</ul>
<p>Workable. It is also a pretty good demo of the power afforded by modern consumer operating systems. Imagine trying to do that in 1995&#8230; would not have been quite as fun.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/842"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/842" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/842" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/842/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>StackOverflow interviews CouchDB</title>
		<link>http://jakob.engbloms.se/archives/830?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/830#comments</comments>
		<pubDate>Tue, 07 Jul 2009 18:29:55 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[multicore software]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[couchDB]]></category>
		<category><![CDATA[Damien Katz]]></category>
		<category><![CDATA[Erlang]]></category>
		<category><![CDATA[Jan Lehnard]]></category>
		<category><![CDATA[Jeff Atwood]]></category>
		<category><![CDATA[Joel Spolsky]]></category>
		<category><![CDATA[parallelized software]]></category>
		<category><![CDATA[stackoverflow.com]]></category>
		<category><![CDATA[transactions]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=830</guid>
		<description><![CDATA[Last year, FLOSS Weekly interviewed Jan Lehnard of the CouchDB project. I put up a blog post on this, noting that it was interesting with a scalable parallel program written in Erlang, a true concurrent language. The interview was interesting,  but not very deeply technical. Now, almost a year later, the StackOverflow podcast, number 59, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-237" style="margin: 5px 10px;" title="couchdb" src="http://jakob.engbloms.se/wp-content/uploads/2008/08/couchdb.png" alt="couchdb" width="158" height="96" />Last year, <a href="http://www.twit.tv/floss">FLOSS Weekly </a>interviewed Jan Lehnard of the CouchDB project. I put up a <a href="http://jakob.engbloms.se/archives/236">blog post </a>on this, noting that it was interesting with a scalable parallel program written in Erlang, a true concurrent language. The interview was interesting,  but not very deeply technical. Now, almost a year later, <a href="http://blog.stackoverflow.com/category/podcasts/">the StackOverflow podcast</a>, <a href="http://blog.stackoverflow.com/2009/06/podcast-59/">number 59,</a> interviewed the founder of the project, Damien Katz. This interview goes a bit more into the technical details and what CouchDB is good for and what not, as well as some details on the use and performance of Erlang.</p>
<p><span id="more-830"></span>An interesting point made is that the light-weight user-level threading of the virtual machine in Erlang optimizes for massively threaded performance. The key property is that the context for each thread is very small compared to an OS-level application thread (like pthreads, for example), and this means that the context switch cost is dramatically smaller thanks to less cache and TLB contents needing to be swapped in and out. Thus, for lots of threads, Erlang tends to get more work done per time unit, as there is less execution time lost to friction in the memory system. I am not sure you can emulate this in C using a user-level package. The very small initial stack and heap size of the Erlang VM is partially achieved by the very fact that in a VM, you have more insight into and control over when memory allocation happens, and thus you can more easily do stack and heap grow operations in small units.</p>
<p>Another interesting aspect of Erlang as opposed to C/C++ brought out in the interview is how to do error handling. In Erlang, this is part of the language, while in C/C++, writing code to handle all cases (and handle them correctly) quickly gets painful and overwhelming. Instead in Erlang, you have a system policy to kill any thread that does something bad and restart it. With that simple strategy imposed on you, the code gets much simpler.</p>
<p><img class="alignright size-full wp-image-300" title="stackoverflowlogo250hq2" src="http://jakob.engbloms.se/wp-content/uploads/2008/10/stackoverflowlogo250hq2.png" alt="stackoverflowlogo250hq2" width="47" height="61" />The podcast also brought up <a href="http://stackoverflow.com/questions/299723/can-i-do-transactions-and-locks-in-couchdb">a StackOverflow question about CouchDB </a>that resulted in a good explanation of the concurrency model (optimistic concurrency on entire documents, an nothing smaller or larger than that). Damien Katz came in with some more insights on transactions and CouchDB, in a discussion on how to solve the classic bank account problem: moving money from one account to another. The &#8220;ACID&#8221; solution is to make sure that changes to two accounts are always both done or none done. The CouchDB solution is to put in a record of the account-to-account money transfer (I won&#8217;t use the word &#8220;transaction&#8221; as that is overloaded in this context) in the database, and just go through all records pertaining to a particular account to arrive at its current balance. That does feel more like proper bookkeeping practice, rather than having a single unauditable  balance in an account record&#8230;</p>
<p>Overall, worth its time to listen to.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/830"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/830" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/830" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/830/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Off-Topic: Vista, Laserwriter 12/640 PS, and FoxIt</title>
		<link>http://jakob.engbloms.se/archives/740?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/740#comments</comments>
		<pubDate>Sun, 19 Apr 2009 19:23:28 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[history of computing]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[FoxIt reader]]></category>
		<category><![CDATA[laserwriter]]></category>
		<category><![CDATA[print]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=740</guid>
		<description><![CDATA[I have an old Apple LaserWriter 12/640 PS network printer at home that I bought back in 1997. In those days, I had a PowerBook G3 at 266 MHz, Windows NT was new, and my work computer was one of Sweden&#8217;s first 300 MHz Pentium II machines&#8230; since then, my home machines have moved from [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-743" title="laserwriter12640" src="http://jakob.engbloms.se/wp-content/uploads/2009/04/laserwriter12640.jpg" alt="laserwriter12640" width="59" height="50" />I have an old <a href="http://en.wikipedia.org/wiki/LaserWriter_12/640_PS">Apple LaserWriter 12/640 PS </a>network printer at home that I bought back in 1997. In those days, I had a PowerBook G3 at 266 MHz, Windows NT was new, and my work computer was one of Sweden&#8217;s first 300 MHz Pentium II machines&#8230; since then, my home machines have moved from MacOS 8 to Windows NT 4 to Windows 2000 to Windows XP and now Windows Vista 32- and 64-bit. But the trusty LaserWriter remains, keeps printing, and is still on its first toner cartridge!</p>
<p>However, moving to Vista has made the printing bit harder.</p>
<p><span id="more-740"></span>In Windows XP, there were drivers available for the printer, since it was fairly recent when XP was released. In Vista, no such luck. So you have to resort to using &#8220;LPR&#8221; printing (optional install), and using the generic &#8220;Microsoft Imagesetter&#8221; as the printer profile. This, somewhat surprisingly, works pretty well.</p>
<p>With one exception: Acrobat.</p>
<p>It seems that Acrobat is trying so hard to be smart about printing that it gets confused by the Imagesetter bit, and decides that the thing on the other end is not a Postscript printer. And thus, it needs to have a 600 dpi bitmap of the page being printed sent to it. Needless to say, my old printer with its upgraded 12 MB of RAM (it came with 4, and I scavenged 8 more MB from some old dead PC that passed through my hands in the late 1990&#8242;s) usually chokes on this.</p>
<p>When my last XP machine was retired, this did indeed create a problem, since all official online forms tend to be Acrobat-based.</p>
<p>However, by accident and luck I decided to try the <a href="http://www.foxitsoftware.com/">Foxit Reader</a> as an Acrobat Reader alternative. This has turned out to be the perfect to solution to my printing woes. With Foxit, a PDF file prints as a small nice regular vector graphics file that my LaserWriter has little problem printing. It makes printing PDFs feasible and reliable again, and means that I do not have to go out and figure out which new printer to buy. It is kind of cool to have such a decade-old technology icon at home, and still in working order.</p>
<p>A final note: 12 MB in my printer. My first hard drive back in 1990 had 20 MB on it. My new desktop Core i7 machine just got upped to 9 GB of RAM. Back in 1991, I had my high school&#8217;s most powerful home computer: a Macintosh SE/30 with all of 5 MB of RAM (which cost a fortune at the time).</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/740"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/740" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/740" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/740/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Questioning the Choice of C++</title>
		<link>http://jakob.engbloms.se/archives/692?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/692#comments</comments>
		<pubDate>Sat, 14 Mar 2009 20:37:01 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[FLOSS Weekly]]></category>
		<category><![CDATA[Leo Laporte]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[Randall Schwartz]]></category>
		<category><![CDATA[xbmc]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=692</guid>
		<description><![CDATA[In FLOSS Weekly issue 57, about 20 minutes into the show, Randall Schwartz and Leo Laporte express genuine surprise that the XMBC media player application is all in C++. That is pretty telling, some parts of the computing world are indeed moving on to more modern pastures like Python, Perl, Ruby, and even Objective C [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-214 alignleft" style="margin: 5px;" title="flossweekly" src="http://jakob.engbloms.se/wp-content/uploads/2008/08/flossweekly.jpg" alt="flossweekly" width="70" height="70" />In <a href="http://www.twit.tv/floss57">FLOSS Weekly issue 57</a>, about 20 minutes into the show, Randall Schwartz and Leo Laporte express genuine surprise that the <a href="http://xbmc.org/">XMBC media player </a>application is all in C++. That is pretty telling, some parts of the computing world are indeed moving on to more modern pastures like Python, Perl, Ruby, and even Objective C (for the Mac people). And quite a contrast to the EDA world where C++ is still considered the new shiny thing, as I <a href="http://jakob.engbloms.se/archives/165"></a><a href="http://jakob.engbloms.se/archives/242">have </a>lamented <a href="http://jakob.engbloms.se/archives/186">before</a>&#8230; thanks for that small but golden genuine surprise, Randall and Leo!</p>
<p><span id="more-692"></span>But note that the application IS written in C++ still: that is the only choice on the xbox where the project started, by design by Microsoft. However, you can use my favorite scripting language Python to script and skin the application.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/692"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/692" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/692" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/692/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Off-Topic: Hilarious: MS Songsmith</title>
		<link>http://jakob.engbloms.se/archives/623?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/623#comments</comments>
		<pubDate>Sun, 01 Feb 2009 17:15:53 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[Billy Idol]]></category>
		<category><![CDATA[Enter Sandman]]></category>
		<category><![CDATA[Metallica]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft songsmith]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[White Wedding]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=623</guid>
		<description><![CDATA[Since I am slow to follow Internet fads, I am probably the last blogger on the planet to write about this&#8230; but it is too good not to mention. Microsoft research has created a brilliant or nutty piece of work called Microsoft (Research) Songsmith. The idea is pretty cool in theory, just sing into a [...]]]></description>
			<content:encoded><![CDATA[<p>Since I am slow to follow Internet fads, I am probably the last blogger on the planet to write about this&#8230; but it is too good not to mention. Microsoft research has created a brilliant or nutty piece of work called <a href="http://research.microsoft.com/en-us/um/redmond/projects/songsmith/">Microsoft (Research) Songsmith</a>. The idea is pretty cool in theory, just sing into a microphone and the program creates background music matching&#8230; except that it does some pretty hilarious things when put to the test.</p>
<p><span id="more-623"></span>On YouTube, the following clips of old songs that I like absolutely tore me up, leaving my 4-year old wondering what got into the head of his daddy&#8230; for him, it was just some music.</p>
<ul>
<li><a href="http://www.youtube.com/watch?v=UlCWo1qdTdE ">White Wedding</a>, which apparently was a country tune.</li>
<li><a href="http://www.youtube.com/watch?v=WmC28cXWqLc">Enter Sandman</a>, in classic synth style.</li>
<li><a href="http://www.youtube.com/watch?v=W3d-CCmTSUk">Blue Monday</a>, with</li>
<li><a href="http://www.youtube.com/watch?v=22AWPW5s4EA">We will Rock You</a>, as a light salsa.</li>
<li>There is a blog with a <a href="http://entertainmentweakly.com/blog/">series of classic hits fed through Songsmith</a>&#8230;</li>
<li>And just follow the related links, I know I will do all night.</li>
</ul>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/623"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/623" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/623" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/623/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Eclipse Linux Kernel Indexing Works</title>
		<link>http://jakob.engbloms.se/archives/338?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/338#comments</comments>
		<pubDate>Sun, 01 Feb 2009 17:10:18 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[embedded software]]></category>
		<category><![CDATA[ESL]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Linux kernel]]></category>
		<category><![CDATA[operating systems]]></category>
		<category><![CDATA[Simon Kågström]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=338</guid>
		<description><![CDATA[Edited on 2009-Feb-01, to include the link to the illustrated guide that really helps you get there faster. Thanks Simon! Also, promoted to front page, original post was put up on 2008-Nov-09. Thanks to Simon Kågströms post (and the even better second-generation with screenshots) about using Eclipse for the Linux kernel, I have a much [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-339 alignleft" style="margin: 5px 10px;" title="eclipse_wide_logo" src="http://jakob.engbloms.se/wp-content/uploads/2008/11/eclipse_wide_logo.jpg" alt="" width="131" height="68" /> <img class="size-medium wp-image-329 alignright" style="margin-left: 10px; margin-right: 10px;" title="penguin-variant" src="http://jakob.engbloms.se/wp-content/uploads/2008/11/penguin-variant.png" alt="" width="100" height="118" /> <em>Edited on 2009-Feb-01,  to include the link to the illustrated guide that really helps you get there faster. Thanks Simon! Also, promoted to front page, original post was put up on 2008-Nov-09.</em></p>
<p>Thanks to <a href="http://simonkagstrom.livejournal.com/31079.html?view=19559#t19559">Simon Kågströms post </a>(and the even better <a href="http://simonkagstrom.livejournal.com/33093.html">second-generation with screenshots</a>) about using <a href="http://www.eclipse.org">Eclipse </a>for the Linux kernel, I have a much nicer work environment now for my ongoing work in learning Linux device drivers on PowerPC, which has helped me work my way through several hard-to-figure-out system calls.<span id="more-338"></span> Here is a screenshot that I found pretty cool&#8230; the tool has found the definition and comments for the IRQ registration function:</p>
<p style="text-align: center;"><a href="http://jakob.engbloms.se/wp-content/uploads/2008/11/2008-11-09-21-51-08.png"><img class="size-medium wp-image-340 aligncenter" title="2008-11-09-21-51-08" src="http://jakob.engbloms.se/wp-content/uploads/2008/11/2008-11-09-21-51-08-300x187.png" alt="" width="300" height="187" /></a></p>
<p style="text-align: left;">2009-Feb-01:</p>
<p style="text-align: left;">I had to rebuild my indexing from scratch in the past weekend, and as a result, I have a word of warning: you have to create a &#8220;C project&#8221; in Eclipse, if you accidentally create a &#8220;Project&#8221;, the Eclipse workspace file will have the wrong name (.project instead of .cproject), and the autoconf-to-eclipse script will not work.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/338"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/338" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/338" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/338/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Off-Topic: Office 2007 Weird Windows Explained</title>
		<link>http://jakob.engbloms.se/archives/617?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/617#comments</comments>
		<pubDate>Fri, 23 Jan 2009 20:55:47 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[excel 2007]]></category>
		<category><![CDATA[MDI interface]]></category>
		<category><![CDATA[office 2007]]></category>
		<category><![CDATA[window management]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=617</guid>
		<description><![CDATA[This is a short note about an &#8220;aha&#8221; moment: ArsTechnica just explained why Excel 2007 windows that look like being documents are not quite that, and how I sometimes manage to start multiple Excel processes by mistake. It seems that Excel is not truly a multi-window app like Word is&#8230; but still an MDI app [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-229" style="margin: 5px 10px;" title="excel1" src="http://jakob.engbloms.se/wp-content/uploads/2008/08/excel1.png" alt="excel1" width="47" height="46" />This is a short note about an &#8220;aha&#8221; moment: <a href="http://arstechnica.com/articles/paedia/dock-and-windows-7-taskbar.ars/2">ArsTechnica just explained why Excel 2007 windows </a>that look like being documents are not quite that, and how I sometimes manage to start multiple Excel processes by mistake. It seems that Excel is not truly a multi-window app like Word is&#8230; but still an MDI app that fakes windows in a way that makes the Windows task bar and Vista task switcher fairly confused. Thanks for the explanation.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/617"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/617" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/617" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/617/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Off-Topic: Getting the good Vista Screen Capture Tool</title>
		<link>http://jakob.engbloms.se/archives/580?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/580#comments</comments>
		<pubDate>Sun, 11 Jan 2009 21:27:32 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[screen capture]]></category>
		<category><![CDATA[Skärmklippsverktyget]]></category>
		<category><![CDATA[SnagIt]]></category>
		<category><![CDATA[Snipping Tool]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=580</guid>
		<description><![CDATA[I have heard some rumors that Windows Vista had a good screen capture tool built into the operating system itself. So when I needed to do some capturing on my home machine, I started looking for it. Turned out that it is an optional install on certain versions of Vista only, but Home Premium is [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-48" style="margin: 5px 10px;" title="Vista" src="http://jakob.engbloms.se/wp-content/uploads/2007/11/a113ad1c-dacb-456b-b0bb-ee6a0ddfef3e.png" alt="Vista" width="63" height="63" />I have heard some rumors that Windows Vista had a good screen capture tool built into the operating system itself. So when I needed to do some capturing on my home machine, I started looking for it. Turned out that it is an optional install on certain versions of Vista only, but Home Premium is one of those versions. The tool is called &#8220;Snipping Tool&#8221; in English versions, or &#8220;Skärmklippsverktyget&#8221; in Swedish versions.</p>
<p><span id="more-580"></span>To get it installed, I found good instructions in the <a href="http://www.winhelponline.com/blog/is-the-snipping-tool-missing-in-your-windows-vista-pc/">WinhelpOnline Blog</a>. The only annoyance was that it was put on the top level of accessories folder, and not under Tablet PC&#8230; despite being a part of that toolset. It is here on my machine:</p>
<p><img class="aligncenter size-full wp-image-581" title="snipping-tool-in-swedish" src="http://jakob.engbloms.se/wp-content/uploads/2009/01/snipping-tool-in-swedish.png" alt="snipping-tool-in-swedish" width="535" height="507" /></p>
<p>Still note that for professional heavy-duty screen dumping and capturing, nothing beats SnagIt!</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/580"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/580" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/580" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/580/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Off-Topic: Moving an iTunes Library to a New Machine</title>
		<link>http://jakob.engbloms.se/archives/572?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/572#comments</comments>
		<pubDate>Sat, 10 Jan 2009 08:12:23 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[iLounge]]></category>
		<category><![CDATA[iPod]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=572</guid>
		<description><![CDATA[I just got myself a new home PC, to replace my no longer very trusty five-year old Athlon-based PC. In the process, I realized I had to move my iTunes library from the old machine to the new. Reading on the web and the Apple support area made me somewhat skeptical as to the feasibility [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-573" style="margin: 5px 10px;" title="ituneslogo" src="http://jakob.engbloms.se/wp-content/uploads/2009/01/ituneslogo.png" alt="ituneslogo" width="61" height="61" />I just got myself a new home PC, to replace my no longer very trusty five-year old Athlon-based PC. In the process, I realized I had to move my iTunes library from the old machine to the new. Reading on the web and the Apple support area made me somewhat skeptical as to the feasibility of this operation&#8230; would all my cover art, podcast subscriptions, playlists and ratings survive the move? There are many stories of failed moves and lost data out there&#8230; and moving from Windows XP to Vista 64-bit did not make the dread less.</p>
<p>In the end, it turned out it was really dead easy!</p>
<p><span id="more-572"></span>The steps are the following (please refer to <a href="http://www.ilounge.com/index.php/articles/comments/moving-your-itunes-library-to-a-new-hard-drive/">this guide at iLounge </a>for more background and details):</p>
<ul>
<li>On the new machine, start iTunes and authorize it using user iTunes store account.</li>
<li>Make sure the folder you use as your iTunes library folder is within the Windows standard user data places, like the default location inside &#8220;Documents\Music&#8221; on XP and &#8220;C:\User\username\Music&#8221; on  Vista. It needs not be in your user&#8217;s hierarchy, I had mine in the shared hierarchy and that worked fine.</li>
<li>Consolidate your iTunes library, using the iTunes 8 File-Library-Consolidate Library option.</li>
<li>Copy everything in that iTunes library folder to the corresponding location on the new machine. In my case, this was the folder called &#8220;Shared Music&#8221; in the &#8220;Public&#8221; part of the file system.</li>
<li>The iTunes database is separate from the storage of files. On Vista, it was located in User\Username\Music\iTunes. This is easy to find, as it is created when iTunes is started. After locating it, simply replace the iTunes folder on the new machine with the one from the old machine (without iTunes running!).</li>
<li>Start iTunes on the new machine, and all your data and music should be there!</li>
</ul>
<p>For me, this worked on the first try. The key thing that I had to do was the consolidation phase&#8230; there were some files outside of the managed iTunes folder that needed to be copied into it in order to make this work completely.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/572"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/572" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/572" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/572/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Off-Topic: Toddlers Rotating the Screen in Windows</title>
		<link>http://jakob.engbloms.se/archives/553?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/553#comments</comments>
		<pubDate>Mon, 05 Jan 2009 19:33:52 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[screen rotation]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=553</guid>
		<description><![CDATA[This is really quite funny: it is now twice that slightly panicked family members have called me to ask how to rotate the screen in Windows XP back to normal after toddlers of about six to eight months of age have managed to rotate it to 90 degrees or upside down by just banging on [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-48" style="margin: 5px 10px;" title="Vista" src="http://jakob.engbloms.se/wp-content/uploads/2007/11/a113ad1c-dacb-456b-b0bb-ee6a0ddfef3e.png" alt="Vista" width="63" height="63" />This is really quite funny: it is now twice that slightly panicked family members have called me to ask how to rotate the screen in Windows XP back to normal after toddlers of about six to eight months of age have managed to rotate it to 90 degrees or upside down by just banging on the keyboards of their computers, as small children tend to do.</p>
<p><span id="more-553"></span>To do this, it seems that you need to have a display driver that supports rotation and installs the keyboard shortcuts for it:</p>
<ul>
<li>ctrl-alt-up/down/left/right arrow</li>
</ul>
<p>It seems that children tend to hit the left or right arrow, leaving the screen rotated. This rotation survives reboots it seems,</p>
<p>To fix it, just press ctrl-alt-up arrow and the screen should be right fine.</p>
<p>I have not been able to duplicate this on any of my own machines, as that shortcut does not seem to be active on them.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/553"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/553" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/553" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/553/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Off-topic: Outlook 2007 Zoom Bad GUI</title>
		<link>http://jakob.engbloms.se/archives/413?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/413#comments</comments>
		<pubDate>Tue, 02 Dec 2008 21:11:15 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[GUI design]]></category>
		<category><![CDATA[office 2007]]></category>
		<category><![CDATA[outlook 2007]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[zoom]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=413</guid>
		<description><![CDATA[It is a symptom of bad UI design when things just happen, and you have no why, and no visible indication to help you figure it out. Last night, I noted that the text in Outlook when composing email suddenly was way larger than normal. I put that way as a fluke, but today, the [...]]]></description>
			<content:encoded><![CDATA[<p>It is a symptom of bad UI design when things just happen, and you have no why, and no visible indication to help you figure it out. Last night, I noted that the text in Outlook when composing email suddenly was way larger than normal. I put that way as a fluke, but today, the effect was still there, all the time. Strange. So I went in and checked my font settings, which were all fine. <span> </span>This being Office 2007, I suspected some kind of zoom effect, but there was no zoom indicator in any Outlook window. I tried ctrl-+ and ctrl&#8211; to see if Outlook respected the web-style view size shortcuts. But no effect.</p>
<p><span id="more-413"></span></p>
<p>So I dove into the help system, and the first hit was the right one.</p>
<p>A topic called, of all things, &#8220;The text of my message is larger or smaller than usual&#8221;:</p>
<p><img class="aligncenter size-full wp-image-414" title="outlook-zoom-view" src="http://jakob.engbloms.se/wp-content/uploads/2008/12/outlook-zoom-view.png" alt="" width="500" height="454" /></p>
<p>If you read that closely, you realize that what we have here is a really bad case of product design and bug fixing. Essentially, they have put in a documentation fix for a bad UI problem. This text is a plain admission that people do this by mistake and have no idea what they did to cause it, or even that they are seeing a zoomed view. The root problem is that the zoom activitity can be done by mistake, by the shortcut &#8220;ctrl-scrollwheel-on-mouse&#8221;. Microsoft must have noticed this in testing, and put in a piece of help to help you out. But before you can find that, you need to figure out that you should search the help for the issue.</p>
<p>If you do not have a scroll wheel or don&#8217;t know this, the solution is to get to the format text tab, click zoom, and then change settings in a dialog box. Amazingly bad, consdering the effort going into Outlook:</p>
<p><img class="aligncenter size-full wp-image-415" title="outlook-zoom-view-2" src="http://jakob.engbloms.se/wp-content/uploads/2008/12/outlook-zoom-view-2.png" alt="" width="500" height="99" /></p>
<p>The correct solution is NOT to document it like this, but rather to just have the same little zoom control as all other Office programs and remove the easy-to-hit-by-accident shortcut (maybe it can remain if the effect is clearly seen in the zoom control).</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/413"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/413" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/413" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/413/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SonyEricsson G900 ActiveSync and PCSuite &#8211; Solved!</title>
		<link>http://jakob.engbloms.se/archives/315?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/315#comments</comments>
		<pubDate>Sat, 25 Oct 2008 19:25:37 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[ActiveSync]]></category>
		<category><![CDATA[Dataviz]]></category>
		<category><![CDATA[G900]]></category>
		<category><![CDATA[mobile phones]]></category>
		<category><![CDATA[PC software]]></category>
		<category><![CDATA[SonyEricsson]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=315</guid>
		<description><![CDATA[I should have known to expect trouble when I tried out DataViz ActiveSync on my new G900&#8230; the first thing it said was that &#8220;in order to avoid problems, we will deactivate the synchronization towards PC Suite&#8221;. Ah well. I assumed you could get it back&#8230; But that was not so easy. I quickly realized [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-311" style="margin: 5px 10px;" title="g900_prod_topic_mediaspace_img" src="http://jakob.engbloms.se/wp-content/uploads/2008/10/g900_prod_topic_mediaspace_img.png" alt="" width="49" height="106" />I should have known to expect trouble when I tried out <a href="http://www.dataviz.com/solutions/enterprise/roadsync/">DataViz ActiveSync </a>on my new G900&#8230; the first thing it said was that &#8220;in order to avoid problems, we will deactivate the synchronization towards PC Suite&#8221;. Ah well. I assumed you could get it back&#8230;</p>
<p>But that was not so easy. I quickly realized that ActiveSync was pointless for me, since the setup I have for my data is not &#8220;everything on the corporate server, period&#8221;, which is the usecase ActiveSync is built for. But when I told ActiveSync to stop synchronizing certain categories of data, that lock it had put up still applied it turned out. With no way I could find to turn it off. So suddenly my phone just did not want to synchronize with my PC.</p>
<p><span id="more-315"></span></p>
<p>The solution I came up with borders on the desperate: by completely removing the program from the phone (using the uninstall control panel on the phone) I got my synchronization back.</p>
<p>The only snag is that happened to move pretty much every event on my calendar that was posted as a whole-day event back one day. Which is kind of annoying and took a while to fix &#8212; especially the recurring occurences for all my friend&#8217;s birthdays and similar important recurring events had moved. Exasperating!</p>
<p>But now it works.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/315"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/315" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/315" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/315/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Chrome and Parallel Browsing</title>
		<link>http://jakob.engbloms.se/archives/258?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/258#comments</comments>
		<pubDate>Fri, 12 Sep 2008 07:54:54 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[multicore software]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[Google chrome]]></category>
		<category><![CDATA[Internet explorer]]></category>
		<category><![CDATA[web browsing]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=258</guid>
		<description><![CDATA[Everybody seems to think the launch of the Google Chrome browser is very important and cool. Probably because Google itself is considered important and cool. I am a bit more skeptical about the whole Google thing, they seem to building themselves into a pretty dangerous monopoly company&#8230; but there are some interesting architectural and parallel [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-259" style="margin: 10px 5px;" title="gglchrome" src="http://jakob.engbloms.se/wp-content/uploads/2008/09/gglchrome.jpg" alt="" width="103" height="98" /> Everybody seems to think the launch of the <a href="http://www.google.com/googlebooks/chrome/">Google Chrome browser </a>is very important and cool. Probably because Google itself is considered important and cool. I am a bit more skeptical about the whole Google thing, they seem to building themselves into a pretty dangerous monopoly company&#8230; but there are some interesting architectural and parallel computing aspects to Chrome &#8212; and Internet Explorer 8, it turns out.</p>
<p><span id="more-258"></span></p>
<p>Both IE8 and Chrome have taken to running each tab of a multi-tab browser as its own protected process, to make it both parallel processing and to increase robustness. I think that is a very good idea, and I am waiting for Firefox to catch up.</p>
<p>Why does running a browser as a parallel program make sense? If you look at the tradition, when the web started, you would load a page, render it, and read it for a long time. With multiple tabs and windows, each such display was really also just a set of static prints of pages that you flipped between. No point in being parallel there. However, in recent years, the web page model is changing. Pages are becoming far more active, starting a long time ago with Java applets, Active-X controls, and similar, and today the main drivers seem to be Javascript/AJAX/Web 2.0 pages and media players like Flash and Silverlight.</p>
<p>Basically, we see another example of a domain change enabling parallel processing to be applied. The domain of web pages has changed from single-shot renderings of single pages at a time, which is essentially serial, to lots of active programs running at the same time.</p>
<p>I think we are going to see more of parallel processing being used to enable richer user experience. This is one way that the world is making use of the increase in computing power and communications bandwidth, just because it is there. It gives us a nice sea of threads to run in parallel &#8212; the only issue probably being IO bandwidth and cache restrictions of single chips.</p>
<p>The use of processes for robustness is kind of an application-level virutalization. The OS provides isolation between processes, just like virtualization provide isolation between operating systems.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/258"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/258" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/258" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/258/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

