<?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; business issues</title>
	<atom:link href="http://jakob.engbloms.se/archives/category/business-issues/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>Jan Bosch: Software Provocateur</title>
		<link>http://jakob.engbloms.se/archives/1516?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/1516#comments</comments>
		<pubDate>Sat, 29 Oct 2011 18:09:21 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Jan Bosch]]></category>
		<category><![CDATA[Lindholmen Software Development Day]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1516</guid>
		<description><![CDATA[Last week, I had the honor of presenting at and attending the talks of the Lindholmen Software Development Day. The first keynote speaker was Professor Jan Bosch from Chalmers, who did his best to provoke, prod, and shock the audience into action to change how they do software. While I might not agree with everything [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jakob.engbloms.se/wp-content/uploads/2011/10/lindholmen-logo.png"><img class="alignleft size-full wp-image-1517" style="margin: 5px;" title="lindholmen logo" src="http://jakob.engbloms.se/wp-content/uploads/2011/10/lindholmen-logo.png" alt="" width="57" height="55" /></a>Last week, I had the honor of presenting at and attending the talks of the <a href="http://www.lindholmen.se/sv/node/17005">Lindholmen Software Development Day</a>. The first keynote speaker was Professor <a href="http://janbosch.com/Jan_Bosch/Jan_Bosch.html">Jan Bosch </a>from <a href="http://www.chalmers.se/sv/Sidor/default.aspx">Chalmers</a>, who did his best to provoke, prod, and shock the audience into action to change how they do software. While I might not agree with everything he said, overall it was very enjoyable and insightful talk.</p>
<p><span id="more-1516"></span></p>
<p>Jan Bosch is a professor in the software engineering center at Chalmers in Gothenburg. He is a dutchman who has worked all over the world. He used to run Nokia&#8217;s research labs in Finland, and then moved to Intuit in Silicon valley. Now, he is back in Scandinavia at Chalmers. What I think he tried to do was to impress the audience with the software development ethos and style of Silicon Valley. I got a feeling that he wanted to make it felt that Europe is maybe behind on modern software development.</p>
<p>However, I am not always sure how the experience from web companies like Google and Amazon can translate into the development of software for systems like telecoms and vehicles (which formed a large part of the audience).</p>
<p>The main points of the talk, and my comments:</p>
<p><strong>Speed is more important than anything else</strong>. If we can get 10% efficiency improvement out of our , it should be used to cut lead times by 10%, not reduce cost and keep the same time. The earlier we get software out, the bigger our revenue. This means that you should focus engineering efforts on shortening lead times rather than reducing man hours worked- and if you get the lead times shorter, you will automatically get efficiency improvements. I must say I agree with this point.</p>
<p>We should <strong>turn R&amp;D into an experimental system</strong> &#8211; quickly implement features and ideas and test them in some way. Maybe not with external customers, internal users might do just as well (that&#8217;s how Apple works, for example, by evaluating many candidate designs by prototypes that are never seen by the outside). This is a good idea, but I think it might be hard to find the resources to do this in many cases &#8211; Apple is kind of extreme in that it rides high, is immensely profitable, and release only a few products each year.</p>
<p>Once we have experiments, <strong>product planning should be based on data</strong>, not on opinion. Sometimes, vision is needed, but that should be turned into small experiments to validate ideas, not big long-term full-blown plans based on opinion. This sounds very nice &#8211; but getting hard data can be very hard in practice.</p>
<p>Initially,  I felt that this would conflict with the concept of the &#8220;BHAG&#8221; &#8211; Big Hairy Audacious Goals &#8211; from the book &#8220;<a href="http://en.wikipedia.org/wiki/Built_to_Last:_Successful_Habits_of_Visionary_Companies">Built to Last</a>&#8220;. There, vision that transcends the current state of affairs is crucial to build products that really change the world. You cannot base that on data &#8211; if you ask people what they need, they will not reply with what they do not know. But I guess that if you have a great idea, it is a good idea to vet it with some quick experiments to ascertain that it makes sense at all, before betting the firm on it. So, I guess there is no real conflict here.</p>
<p><strong>Quickly test new features with customers</strong>. He sees the world switching to a model where the <em>producer decides when an updrade is applied</em> to the market, not the consumers. Already in place for things like Facebook, Google, and Apple iOS devices. I wonder though if this works for professional software and systems. The customers that I know have to plan the rollout of new versions carefully in order to not disrupt projects that rely on them. When someone pays for a piece of software, they tend to want to have something to say about new features too. Consider the uproar that happens every time Facebook change their UI &#8211; if you had paid a hundred thousand dollars for the system, I think Facebook would have listened rather more to their users than they do now. As long as there is no alternative, people will grudgingly accept and learn to live with it &#8211; even though the new version might be strictly worse for them than the old version.</p>
<p>When users do have a choice, they often stay with older version. Just consider the vast numbers of PCs out there still running Windows XP. In some way, I feel that this freedom to choose and control your own computing environment is being threatened by this trend of the web.</p>
<p>If you can recruit willing beta testers in your user community, this is great. But you need quite a few customers in place to be able to have enough beta testers to have anything like a representative sample. For a consumer application with tens or hundreds of millions of users, this is not too hard. For a professional piece of software tooling with less than a hundred different customers, you tend to get three loud voices &#8211; and we are essentially back to opinion rather than data. It would have been interesting to discuss this with Jan, but I never managed to grab him during the day to discuss this. There is also the time it takes to upgrade a user and have them test a new version &#8211; even if the upgrade does not require any changes to their existing code or systems, they still might need training on the new system to fully use it.</p>
<p>The counter to this is obvious: if things are this complicated to use and deploy, maybe we should think about making deployment and use simpler?  And not hide behind &#8220;it is hard and we have always done things this way&#8221;. Make no mistake &#8211; I would love to be able to this, especially with things like debuggers and other daily tools of the programming trade.</p>
<p>Still, I do think that stability is sometimes a hard requirement. When you have a system that you want to maintain for decades, it is very sound to freeze the versions of critical tools used to develop it and stick to these, to minimize the risk of failure due to changes. If the system is certified, you basically have to. Amazon does not build flight control systems. Their system going down is certainly going to cause economic havoc, but nobody will die.</p>
<p>Create an <strong>after market</strong> &#8211; customers will come to expect new features over time, and might well pay for them. This &#8220;app market&#8221; idea for software features keeps coming up in current discussions on architecture and software design. My guess is that it will actually work, once professional users get influenced enough by the overall consumerization of IT to take certain patterns for granted. Selling new software for car engine control or new features into a telecom switch sounds pretty sane &#8211; and is sometimes already practiced today.</p>
<p><strong>Get to know the customer</strong>- at Intuit, each engineer famously follows a customer for one day each year to understand their life and get empathy with their users. Knowing your customer is key, the better you know what your customer wants, the more they will take to your product. This idea is something that I have actually seen being tried in the past, with mixed results. Once again, in a business-to-business world this requires some selling to happen, and customers might be sensitive to information leakage and secrecy. However, often the value of having a product expert available to them for a few days to help them work better and run their systems more efficiently is  great idea. If your business has a consulting or services arm, this can be part of regular business &#8211; as long as you let core development engineers consult a bit and not keep them all hidden inside the company.</p>
<p>When it came down to practical software development practice, Jan Bosch was all about agile, automatic building, testing, and deploying, and standard modern practice. He retold the Amazon &#8220;<a href="http://www.brainwatt.com/two-pizza-rule/">Two Pizza Rule</a>&#8221; &#8211; i.e., keep groups small. Keep groups self-governing, based on quantitative assessments of their output, and guide them with goals, not detailed requirements. That certainly works for a certain class of highly motivated and skilled labor that tends to concentrate in Silicon Valley &#8211; but in the real world, we also have to deal with less able developers that do need leadership to perform and do the right thing. Not everyone can be totally selective in hiring, unfortunately.</p>
<p>Still, a provocative talk that really did get me thinking about how we do things. Which I think was Jan&#8217;s goal to start with, so I guess that means mission accomplished. If you ever get the chance to listen to Jan, take it!</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/1516"></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/1516" 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/1516" 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/1516/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wind River Blog: Stop, Think, and Tie Your Shoes Right</title>
		<link>http://jakob.engbloms.se/archives/1492?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/1492#comments</comments>
		<pubDate>Wed, 21 Sep 2011 18:09:13 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[virtual platforms]]></category>
		<category><![CDATA[Wind River Blog]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1492</guid>
		<description><![CDATA[There is a new post at my Wind River blog, which could seem to be about shoes but which is really about process improvement. In particular, the need for companies to let their employees take a step or two back and look at what they are doing and what they could do better. It is [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1122" style="margin: 5px 10px;" title="Wind River Logo" src="http://jakob.engbloms.se/wp-content/uploads/2010/04/button-quicklink-blogs.png" alt="" width="46" height="46" /> <a href="http://jakob.engbloms.se/wp-content/uploads/2011/09/shoes-2.jpg"><img class="alignright size-full wp-image-1494" style="margin: 5px 10px;" title="shoes 2" src="http://jakob.engbloms.se/wp-content/uploads/2011/09/shoes-2.jpg" alt="" width="333" height="300" /></a> There is a <a href="http://blogs.windriver.com/tools/2011/09/stop-think-and-tie-your-shoes-right.html">new post </a>at my Wind River blog, which could seem to be about shoes but which is really about process improvement. In particular, the need for companies to let their employees take a step or two back and look at what they are doing and what they could do better.</p>
<p>It is way too common to be so busy running around being inefficient that there is no time to think about how to become more efficient. Change also requires some discipline to actually keep pushing at habits until they change for the better.</p>
<p><a href="http://blogs.windriver.com/tools/2011/09/stop-think-and-tie-your-shoes-right.html">All of this can be illustrated by tying shoes. </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/1492"></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/1492" 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/1492" 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/1492/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It&#8217;s the Problem, Stupid</title>
		<link>http://jakob.engbloms.se/archives/1441?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/1441#comments</comments>
		<pubDate>Tue, 28 Jun 2011 20:28:14 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[general research]]></category>
		<category><![CDATA[Bill Clinton]]></category>
		<category><![CDATA[PhD]]></category>
		<category><![CDATA[problem]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1441</guid>
		<description><![CDATA[For some reason, in the past few weeks I have talked to more than a few PhD students and researchers about various ideas. It is striking how often fundamentally very smart people have a problem in articulating just why what they are doing is useful, relevant, and potentially commercially interesting. Of course, we all know [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jakob.engbloms.se/wp-content/uploads/2009/02/opinion.png"><img class="alignleft size-full wp-image-654" title="opinion" src="http://jakob.engbloms.se/wp-content/uploads/2009/02/opinion.png" alt="" width="91" height="69" /></a>For some reason, in the past few weeks I have talked to more than a few PhD students and researchers about various ideas. It is striking how often fundamentally very smart people have a problem in articulating just why what they are doing is useful, relevant, and potentially commercially interesting. Of course, we all know that this is hard, and all PhD students get some kind of training in presentation and selling their ideas. It is also unfair to expect a fresh graduate student to be able to put on a show like a Simon Peyton-Jones.</p>
<p>However, this did get me thinking some about the articulation of problems.</p>
<p><span id="more-1441"></span>Reflecting over my experience from almost a decade in industry following my decade in the university, one thing that does stand out is a certain shift of focus in how I think about products and solutions. When I was an undergrad and grad student, the natural focus was on the solution. How did it work? Now, I tend to look for the problem. What can it do, why is it relevant?</p>
<p>To go back to the experiences that prompted this post: If someone cannot give me a good description of the problem they are trying to solve with their work, I have a hard time motivating myself to listen.</p>
<p>To be fair, there is usually a real and relevant problem behind most research. It is just that it might be implicit in the mind of the researcher, rather than explicit and part of the design and planning process. I sometimes find myself having to ask a series of fairly tough questions to try to pry out the problem from underneath the layers of assumptions about problem domains and what&#8217;s important.This can make people uncomfortable, but I hope that it is all for the best in the end.</p>
<p>Bringing out the problem into the open and making it explicit makes it much easier to discuss about it and consider the direction and potential value of research. Is the problem relevant for one or one million people? Is there some other problem that can be solved with the same methods, with a small shift in focus? Making the problem explicit can be very powerful as a methodology.</p>
<p>It is amazing just how  much time I and my colleagues have spent over the past years trying to  pin down the problems that we want to attack with the Simics product. When you have a product to sell and you depend on selling it, articulating the problem does become very important. The value of a solution to a customer comes from solving problems, nothing else.</p>
<p>There is one more trick to problem formulation that needs to be considered and that I think can really help anyone formulate their problem statement. When a business grows, you have to add a bigger sales force. To make new sales people productive as soon as possible, the marketing and product people have to be able to articulate just which types of accounts (companies) and which types of projects and people inside the companies to look for.  Equally (or even more) important is making it very easy to understand when to walk away from a discussion, since there is no match between the customer problems and your solution, and therefore no chance of closing a deal. Thinking about a solution or product in this light does make a difference.</p>
<p>The question I think any researcher should ask themselves before presenting their work is: how can I explain it in such a way that someone in the audience can explain to a third person what it is all about? Which problems are being considered &#8211; and which problems are <em>not </em>being considered? Can someone in the audience pick up on what I say and carry on to a third party &#8211; who might be that perfect contact I need in order to further my career as a researcher?</p>
<p>That is the true definition of knowing your problem, I think.</p>
<p>To paraphrase Bill Clinton, <a href="http://en.wikipedia.org/wiki/It%27s_the_economy,_stupid">it&#8217;s the problem, stupid</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/1441"></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/1441" 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/1441" 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/1441/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Two Perspectives on Modeling</title>
		<link>http://jakob.engbloms.se/archives/1317?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/1317#comments</comments>
		<pubDate>Fri, 19 Nov 2010 22:04:23 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[virtual platforms]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1317</guid>
		<description><![CDATA[When I started learning about virtual platforms after joining Virtutech back in 2002, the guiding principle of our team was very much one of &#8220;model just enough to make the software happy &#8211; and no more&#8221;.This view was fairly uncontested at the time, and shared (implicitly or explicitly) by everybody developing virtual platforms from a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jakob.engbloms.se/wp-content/uploads/2010/11/construct.png"><img class="alignleft size-full wp-image-1318" title="construct" src="http://jakob.engbloms.se/wp-content/uploads/2010/11/construct.png" alt="" width="96" height="96" /></a>When I started learning about virtual platforms after joining Virtutech back in 2002, the guiding principle of our team was very much one of &#8220;model just enough to make the software happy &#8211; and no more&#8221;.This view was fairly uncontested at the time, and shared (implicitly or explicitly) by everybody developing virtual platforms from a software perspective. There is a second perspective, though, from the hardware design world. From their viewpoint, a model needs to be complete. Both views have their merits.</p>
<h2><span id="more-1317"></span>The Software Perspective</h2>
<p>The modeling philosophy of tools like Simics (in which I include tools like Qemu, IBM Mambo, IBM Cecsim and innumerable efforts to simulate various old computers to run their software) takes the perspective of a software developer: as long as the software has something to run on that works, the completeness of the model when compared to a real machine is fairly uninteresting. I described it like this in my Embedded Systems Conference 2008 talk on virtual platforms:</p>
<p><a href="http://jakob.engbloms.se/wp-content/uploads/2010/11/bluffing-in-modeling.png"><img class="aligncenter size-full wp-image-1319" title="bluffing in modeling" src="http://jakob.engbloms.se/wp-content/uploads/2010/11/bluffing-in-modeling.png" alt="" width="394" height="370" /></a>It is a bit tongue-in-cheek but captures the essential spirit.</p>
<p>When the software you are interested in running runs, the work is done. Any effort spent on too much depth or breadth is wasted, as it adds no real value to the end user. Obviously, this is not a matter of black-or-white, all or nothing. The definition of &#8220;enough&#8221; is very context-dependent.</p>
<p>In practice, the reason that this philosophy was adopted was the customers for the simulators (virtual platforms) were concerned about software development for standard chips that they were buying from outside parties. These chips are rarely perfect fits for a particular system, but tend to contain a superset of the functionality. In this way, the same chip can be used in many different systems, providing economies of scale for all parties involved.</p>
<p>This meant that the original specification for a virtual system would include some units that would not be modeled. In other units, only certain operation modes would be modeled (it is surprising just how many different ways conceptually simple things like Ethernet controllers or serial ports can be used). The final result would be a model like this:</p>
<p><a href="http://jakob.engbloms.se/wp-content/uploads/2010/11/OEM-1.png"><img class="aligncenter size-full wp-image-1320" title="OEM 1" src="http://jakob.engbloms.se/wp-content/uploads/2010/11/OEM-1.png" alt="" width="388" height="215" /></a>The A, B, etc. boxes are various subunits or operation modes of the hardware units. The system is an example, and any resemblance to any real chip, living or dead, is not intentional. We will make use of all categories in the legend later.</p>
<p>The key point is that some parts of the chip are left for later. The model is sufficient to run the software and solve the customer&#8217;s problem.</p>
<p>When a second target system comes along using the same basic chip,  it is usually necessary to fill in some of the gaps in the original model. Extensions could be caused by using a different operating system that drives the hardware units in a different way, an application that actually uses some previously unused features of the hardware, or upgrades to the software that make more aggressive use of advanced hardware operating modes.</p>
<p>The net result would be similar to this:</p>
<p><a href="http://jakob.engbloms.se/wp-content/uploads/2010/11/OEM-2.png"><img class="aligncenter size-full wp-image-1321" title="OEM 2" src="http://jakob.engbloms.se/wp-content/uploads/2010/11/OEM-2.png" alt="" width="303" height="218" /></a>In this example, the new OS used a watchdog timer (W) that was not used by the previous OS. We are making use of more features in the Ethernet driver. The new application only uses a single CPU core to run, leaving the second core idle. After modeling the pink pieces, we are still far from a &#8220;complete&#8221; model &#8211; but we have made two customers happy and have (hopefully) hundreds of software developers hacking away delivering software.</p>
<p>Working in this way, a model is quickly extended to meet each successive customer&#8217;s need. There are likely parts that never get modeled as they are never needed. That might indicate that they never got used in practice &#8211; or, more likely, that there are other users of the chip that never requested a virtual platform for it. Which brings us to the second view of modeling, the hardware perspective.</p>
<h2>The Hardware Perspective</h2>
<p>If you are a hardware vendor, you tend to have a different view of what a virtual platform is all about. You want to equip your customers and partners with a virtual chip, and you have to assume that at least someone will be using every feature and unit of your fantastic new chip. From a hardware vendor, users expect a virtual copy of the hardware &#8211; not just a useful subset.</p>
<p>For the first user above, the resulting system state would be this:</p>
<p><a href="http://jakob.engbloms.se/wp-content/uploads/2010/11/Semi-1.png"><img class="aligncenter size-full wp-image-1322" title="Semi 1" src="http://jakob.engbloms.se/wp-content/uploads/2010/11/Semi-1.png" alt="" width="304" height="215" /></a>We have large parts which are modeled but not used. This represents a waste from the perspective of this user. But it is a waste that does not hurt the user (we assume that unused units do not slow the simulation down).  If we look across more uses, the waste is much less. In use the second example use above, there no need for any additional modeling:</p>
<h2><a href="http://jakob.engbloms.se/wp-content/uploads/2010/11/semi-2.png"><img class="aligncenter size-full wp-image-1323" title="semi 2" src="http://jakob.engbloms.se/wp-content/uploads/2010/11/semi-2.png" alt="" width="299" height="213" /></a>Synthesis</h2>
<p>So far, I have presented two different perspectives. One is the one that I have been living for a long time and one its opposite. In a panel debate at a conference, it makes for an excellent topic. Both sides can claim to be right, and claim that the other side is incorrect, uninformed, dangerous, or just stupid. Great fun and a great show&#8230; but also cause for severe misunderstanding and friction between proponents for the two modeling traditions, and maybe not the best way to move forward as n industry.</p>
<p>There is always room for compromise and synthesis. Let&#8217;s look at a stylized illustration of the modeling effort spent over time in these two approaches:</p>
<p><a href="http://jakob.engbloms.se/wp-content/uploads/2010/11/OEM-vs-Semi-vs-time.png"><img class="aligncenter size-full wp-image-1324" title="OEM vs Semi vs time" src="http://jakob.engbloms.se/wp-content/uploads/2010/11/OEM-vs-Semi-vs-time.png" alt="" width="486" height="335" /></a>The red blobs represent effort, and the arrows show when different users get the platform they need. The bottom case corresponds to the hardware perspective on modeling, and the top to the software perspective.</p>
<p>In this example, users 1 and 2 would get models faster by the step-by-step modeling preferred by the software perspective. User 3 would be the same, and user 4 shows that by having a complete model, there is no delay for additional modeling as new users sign up. What I want to show is that there is no absolute best-in-all-cases modeling strategy: it all depends on the circumstances.</p>
<p>The diagram is potentially a bit misleading&#8230; it is maybe not entirely reasonable to have the modeling effort for a new hardware start at the same time as use-case driven modeling. Since the hardware is new, there are probably no users for it yet. More likely, software-perspective use-case-driven modeling is applied when the hardware is already complete, sold, and designed into an OEM system. The hardware-perspective completeness-driven modeling is much more applicable in a presilicon setting, where the virtual platform is used to design-in and enable early software development.</p>
<p>Still, the two approaches are not completely incompatible. Even in a presilicon hardware-driven setting, it is often possible to start to deliver partial platforms early. Key customers tend to know what they need and do not need from a future hardware platform, and are often quite willing to get something started early even if not all pieces are there yet.</p>
<p>To port the core of an operating system, not all peripheral devices need to be in place. To create a virtual platform that can talk to a network, Ethernet is needed &#8211; but the support for Serial Rapid IO or PCIe for a rack backplane can be delivered later. In this way, an eventually complete hardware-perspective virtual platform can be delivered in increments that minimize software developer waiting.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/1317"></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/1317" 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/1317" 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/1317/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Microsoft + ARM = ARM64?</title>
		<link>http://jakob.engbloms.se/archives/1204?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/1204#comments</comments>
		<pubDate>Tue, 27 Jul 2010 19:57:05 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[computer architecture]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1204</guid>
		<description><![CDATA[The recent news that Microsoft has taken out an ARM architectural license has caused a lot of speculation about just what this might mean. There are several quite well reasoned ideas around the web, and I have one idea of my own: sixty-four bits. Here is a list of some of the ideas I have [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jakob.engbloms.se/wp-content/uploads/2010/07/windows-phone-logo.png"><img class="alignleft size-full wp-image-1205" title="windows phone logo" src="http://jakob.engbloms.se/wp-content/uploads/2010/07/windows-phone-logo.png" alt="" width="66" height="58" /></a>The recent news that Microsoft has taken out an ARM architectural license has caused a lot of speculation about just what this might mean. There are several quite well reasoned ideas around the web, and I have one idea of my own: sixty-four bits.</p>
<p><span id="more-1204"></span></p>
<p>Here is a list of some of the ideas I have seen floating around:</p>
<ul>
<li>They are going to put <a href="http://armdevices.net/2010/07/23/the-secrets-behind-microsofts-new-arm-license/">Windows 7 on ARM </a>to <a href="http://gigaom.com/2010/07/23/4-actions-microsoft-can-take-with-an-arm-license/">defend against Linux in the sub-netbook segment</a>. Certainly a useful move &#8211; but do you need an architecture license for that? It would not make much sense to put Windows on ARM in a way that requires you to have a Microsoft-designed processor core to run it.</li>
<li>It is a case of Apple &#8220;A4&#8243; envy &#8211; if Apple can build their own custom ARM chip for a consumer devices in the tablet space, <a href="http://gigaom.com/2010/07/23/4-actions-microsoft-can-take-with-an-arm-license/">so can Microsoft</a>. I think this makes a lot of sense. But once again, what use is a license to design your own ARM core and ARM instructions? <a href="http://unplugged.rcrwireless.com/index.php/20100723/news/2226/why-microsoft-acquired-an-arm-license/">Apple does not seem to have created a custom processor core</a>, instead using a standard ARM Cortex-A8 core in the A4 chip as far as I understand.</li>
<li><a href="http://arstechnica.com/microsoft/news/2010/07/microsoft-should-cut-out-the-middle-men-and-build-its-own-phones.ars/2">Handheld gaming, building their own phone</a>. It is essentially the A4 envy argument, and I cannot see how an architecture license will help.</li>
<li><a href="http://www.computerweekly.com/Articles/2010/07/23/242079/Microsoft-licenses-ARM-tech-in-bid-to-own-39internet-of.htm">Deeply embedded devices</a>. Microsoft wants to ride the ARM wave into things like power meters and other truly embedded systems. Once again, that might certainly be a good idea &#8211; but why an architecture license?</li>
<li>As a defensive move in the Microsoft-Intel relationship. If Intel is toying with Linux, Microsoft can be toying with ARM. In that context, a few million dollars to acquire a license to do nothing much with it might make sense as negotiation leverage.</li>
</ul>
<p>The best idea I think is the <a href="http://gigaom.com/2010/07/23/4-actions-microsoft-can-take-with-an-arm-license/">server angle</a>. ARM is making inroads into servers where single-thread processor speed is not that important. The power consumption advantage over x86 is significant, as long as you do not need utter speed or very many cores sharing memory.</p>
<p>Power-efficient servers is an area where Microsoft can certainly see the potential for truly revolutionary changes in the IT field. There is no reason why x86 would be the best architecture there, and the fact that x86 is controlled by Intel and AMD makes it very hard for Microsoft to really take part in hardware-software innovation. Essentially, Intel and AMD design the processors, and the software has to adapt. This model is not optimal if you want to really see what you can do with the hardware-software boundary.</p>
<p>Thus, if I think Microsoft might do with the ARM license is to start tinker with the OS interface of the hardware. The beneficiary would be both Microsoft and ARM, since Microsoft innovations for ARM might well become standard in ARM land. For example, an OS might benefit tremendously from small changes in the processor in areas like:</p>
<ul>
<li>Memory management &#8211; a hardware scheme tailored to what Microsoft sees being done in their operating systems and their third-party server software could certainly be very beneficial to efficiency.</li>
<li>Multicore and multithreading &#8211; ARM has some special support in their MPCore designs for communicating between cores in a multicore system. Such support could be extended to help the OS manage both threads and processors across multicore designs. Also, ARM might want some help from Microsoft to design a scalable OS interface that works for tens or hundreds of tightly-coupled cores (rather than the current limit of 4 in ARM Cortex-A9 MP).</li>
<li>More bits &#8211; the biggest architectural problem I see with ARM in servers is that ARM is currently a 32-bit architecture. 32 bits are not enough for even medium servers today. Having Microsoft help ARM design a 64-bit version of the ARM architecture sounds far-fetched, but it is certainly something where a license to change the ARM instruction set would help.</li>
<li>ARM instruction set additions to help build an emulator for x86 instructions on ARM, to allow current  x86-Windows applications to run on an ARM-based device. This is an idea which has been tried in the past and which has never been very successful in the market. ARM currently has a set of instructions which help accelerate virtual machines such as .net and JVM, and I think that is as far as this idea has been proven useful.</li>
</ul>
<p>In summary, the only reasonable use I can see that Microsoft would make of a license to build custom ARM processor cores and tweak instruction sets would be to build better servers, by improving multicore communications mechanisms, upping ARM to 64 bits, tweaking the MMU design, and possibly creating some kind of x86 emulation support.</p>
<p>That said, I think the most likely result is a custom ARM-based chip to power a phone or tablet or other consumer electronics device, running a Microsoft software stack (derived from Win CE/Windows Phone) on Microsoft hardware, all sold as a Microsoft product. Essentially, doing the <a href="http://arstechnica.com/microsoft/news/2010/07/microsoft-should-cut-out-the-middle-men-and-build-its-own-phones.ars/2">Apple all-integrated solution.</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/1204"></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/1204" 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/1204" 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/1204/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Eyjafjallajökull is Showing us Something</title>
		<link>http://jakob.engbloms.se/archives/1116?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/1116#comments</comments>
		<pubDate>Sun, 18 Apr 2010 19:06:49 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[off-topic]]></category>
		<category><![CDATA[transportation]]></category>
		<category><![CDATA[travel]]></category>
		<category><![CDATA[ashcloud]]></category>
		<category><![CDATA[Eyjafjallajökull]]></category>
		<category><![CDATA[Iceland]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1116</guid>
		<description><![CDATA[Wow. The eruption of Eyjafjallajökull in Iceland and the resulting ashcloud has had an effect that I would never ever have expected. A near-total closing down of the European airspace is such a drastic thing to happen to nobody seems to have expected. It has certainly not been included in the list of worst-case scenarios [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jakob.engbloms.se/wp-content/uploads/2010/04/cloud.png"><img class="alignleft size-full wp-image-1118" style="margin: 5px 10px;" title="cloud" src="http://jakob.engbloms.se/wp-content/uploads/2010/04/cloud.png" alt="" width="99" height="88" /></a>Wow. The eruption of Eyjafjallajökull in Iceland and the resulting ashcloud has had an effect that I would never ever have expected. A near-total closing down of the European airspace is such a drastic thing to happen to nobody seems to have expected. It has certainly not been included in the list of worst-case scenarios to plan for in company and government contingency plans. Where does this leave us? In a very interesting situation indeed. Worst-case, we will have to do without air travel for months.</p>
<p><span id="more-1116"></span>This volcanic eruption certainly is providing a test for how the world would work if air travel became much less affordavble. I really do think it is absurd that we expect to be able to physically move anything and anyone to anywhere on globe in short time and at low cost. This party cannot go on forever, as oil starts to run out and the airline industry starts to have to pay for their carbon emissions. The energy usage needed to move people like that is just a bit too high to be sustainable, even if we make planes run on biofuels. I sometimes feel like I am living in a golden age that will soon end, and that my grandchildren will not have the same easy reach across the world. Maybe we should take the soonest chance available to go on vacation in Asia&#8230; it might not be feasible in a few decades.</p>
<p>Anyhow, suddenly, we are thrown into a world of no flights by a natural disaster. And sure enough, things get chaotic. In particular for those stuck far away from home with few easy ways to get back. Buses and trains become very attractive, all of a sudden. But their limitations also become clear, in that getting from southern Europe back up to Scandinavia now takes 40 hours instead of 4&#8230;</p>
<p>The impact on business is really interesting. The normal mode of operation of having people flying around to do sales and have important meetings is suddenly made impossible. Instead, we have to turn to the phone and videoconferencing. Incredibly good for the environment, and hopefully something of that will stick. It also shows how dependent we are on fragile supply chains, that our modern economy is often efficient at the cost of robustness.</p>
<p>This is a rich subject for reflection &#8212; how would you live your life if airtravel did not exist? How would business be run? One clear conclusion is that it would make sense to have lots of small offices to keep sales and support staff close to customers, and that local organizations would have to be more independent of the center as the center could not come visiting as often.</p>
<p>If you combine this experience with the past Winter&#8217;s train chaos,  you cannot but reach the conclusion that the way to plan your life is to  keep it physically very local. If you can get everywhere you need to in  everyday life on foot, you have a very robust personal solution.  Obviously, in a modern economy, you are still dependent on goods  deliveries to work over long distances &#8212; but those are less timing  sensitive  than getting to and from work and pick-up at daycare (the  main concern for modern parents).</p>
<p>Guess this years vacation will be planned based on trains and cars,  not on flying <img src='http://jakob.engbloms.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/1116"></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/1116" 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/1116" 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/1116/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>From Academy to Industry: Coverity</title>
		<link>http://jakob.engbloms.se/archives/1106?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/1106#comments</comments>
		<pubDate>Fri, 19 Mar 2010 19:17:43 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[general research]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Communications of the ACM]]></category>
		<category><![CDATA[Coverity]]></category>
		<category><![CDATA[Polyspace]]></category>
		<category><![CDATA[static analysis]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1106</guid>
		<description><![CDATA[In the February 2010 issue of the Communications of the ACM there is an article by the team behind the Coverity static analysis tool describing how they went from a research project to a commercial tool. It is quite interesting, and I recognize many of the effects that real customers have on a tool from [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jakob.engbloms.se/wp-content/uploads/2009/10/butterfly.png"><img class="alignleft size-full wp-image-982" title="butterfly" src="http://jakob.engbloms.se/wp-content/uploads/2009/10/butterfly.png" alt="" width="90" height="91" /></a>In the <a href="http://cacm.acm.org/">February 2010 issue of the Communications of the ACM </a>there is an <a href="http://mags.acm.org/communications/201002/?pg=68&amp;pm=2">article </a>by the team behind the <a href="http://www.coverity.com/">Coverity static analysis tool </a>describing how they went from a research project to a commercial tool. It is quite interesting, and I recognize many of the effects that real customers have on a tool from my own experience at IAR and Virtutech (<a href="http://www.windriver.com/news/press/pr.html?ID=7841">now part of Wind River</a>).</p>
<p><span id="more-1106"></span>Basically, the article describes the changes in mindset that a development team goes through as they progress from research to enthusiastic early adopters to normal users. The large population of normal users want useful results, not necessarily a deep understanding for how a tool works. In my experience, this leads to &#8220;ah, why didn&#8217;t we see that&#8221; moments as big (and in hindsight, obvious) flaws in the product and its user interface are revealed.</p>
<p>It also leads to &#8220;aich, why do we have users&#8221; moments when users want something that just is not feasible, sensible, or even sane. There is a nice quote from the article that really made me laugh:</p>
<blockquote><p>Users really want the same result from run to run. Even if they changed their code base. Even if they upgraded the tool. Their model of error messages? Compiler warnings. Classic determinism states: the same input + same function = same result. What users want: different input (modified code base) + different function (tool version) = same result. As a result, we find upgrades to be a constant headache. Analysis changes can easily cause the set of defects found to shift&#8230;</p></blockquote>
<p>There are so many similar requests made by users of technically advanced tools&#8230; and finding ways to get around them is part of the real fun of technical marketing. Reconciling impossible requirements with the technically feasible in some way that meets customer expectations is a very nice challenge to go through.</p>
<p>In this case, the fundamental issue is that the Coverity tool is an approximation, not an exact tool. Small fluctuations in input or the tool itself can change the set of issues flagged in a body of code. If a tool tried to be exact, its runtime complexity would explode. Even going some distance in that direction like the <a href="http://www.polyspace.com">Polyspace Verifier </a>(now part of the Mathworks) drastically increases the runtime. For more on static analysis in practice, I recommend a <a href="http://se.wrs.yahoo.com/_ylt=A03uv8vuzKNLwkQA6GkTOAx.;_ylu=X3oDMTByNGxmazk4BHNlYwNzcgRwb3MDMQRjb2xvA2lyZAR2dGlkAw--/SIG=1298vp9dr/EXP=1269112430/**http%3a//www.ep.liu.se/ea/trcis/2008/003/trcis08003.pdf">MSc Thesis from Linköping</a>.</p>
<p>The article is a good read for anyone interested in either static checking as a technology, or in how to commercialize good research.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/1106"></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/1106" 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/1106" 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/1106/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The System, Not the Parts</title>
		<link>http://jakob.engbloms.se/archives/1035?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/1035#comments</comments>
		<pubDate>Sat, 19 Dec 2009 19:38:22 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[ESL]]></category>
		<category><![CDATA[virtual platforms]]></category>
		<category><![CDATA[Peter Day]]></category>
		<category><![CDATA[podcast commentary]]></category>
		<category><![CDATA[Russel Ackoff]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1035</guid>
		<description><![CDATA[I just listened to the November 16, 2009, issue of the BBC podcast called &#8220;Peter Day&#8217;s World of Business&#8220;. It is a rerun (in memoriam) of an interview with business professor Russell Ackoff, which was originally published in 2007. The main theme of the interview is the need to shift business thinking from small details [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jakob.engbloms.se/wp-content/uploads/2009/12/300x300.jpg"><img class="alignleft size-full wp-image-1036" style="margin: 10px;" title="Peter days world of business" src="http://jakob.engbloms.se/wp-content/uploads/2009/12/300x300.jpg" alt="Peter days world of business" width="100" height="100" /></a>I just listened to the November 16, 2009, issue of the BBC podcast called &#8220;<a href="http://www.bbc.co.uk/podcasts/series/worldbiz/">Peter Day&#8217;s World of Business</a>&#8220;. It is a rerun (in memoriam) of an interview with business professor Russell Ackoff, which was <a href="http://news.bbc.co.uk/2/hi/business/6338527.stm ">originally published in 2007</a>.</p>
<p><span id="more-1035"></span></p>
<p>The main theme of the interview is the need to shift business thinking from small details to entire systems. From operations research where you spend lots of time understanding some process or department in great detail, to a system-level thinking where you focus on what an entire enterprise is doing.</p>
<p>For me, this struck a chord in my system-level heart&#8230; in my world of computer systems and virtual platforms, system-level is what it is so hard to get engineers to. Far too much time is spent (in my opinion) understanding, modeling, and tweaking subsystems. Far too little effort is spent on understanding the whole, how things fit together in practice, taking software, hardware, and software system evolution over time into account. The analogy is not perfect, but there are more things that are alike than are not.</p>
<p>The most interesting analysis that Russell Ackoff fires off from his perspective is that of comparing companies and architecture. An architect knows the whole of a building, but does not entirely go into details on just how it is to be built. He/she trusts the carpenters, bricklayers, and other workers to know how best to solve their local problems. Basically, applying hierarchical abstraction to the task of constructing an actual building.</p>
<p>This got me thinking some of why this is the case. I think it could be because building things (castles, cathedrals, houses, walls, pyramids, canals, &#8230;) must have been among the most complex tasks undertaken for a very long time in human history. Thanks to this long history, we have perfected the abstraction and division of labor in construction. Buildings are built in a certain way, by a certain set of crafts, since that method has been proven to work well for a very long time. So just like in the case of the design patterns craze in the late 1990&#8242;s, architecture might have something to teach us about how to build hardware/software systems too.</p>
<p>Note that for some reason, I cannot find a link to the podcast on the BBC homepage. But if you subscribe in iTunes or similar, I think you will find it. Something is not as user-friendly as it could be.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/1035"></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/1035" 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/1035" 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/1035/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Marketing a Paper Magazine with a Podcast</title>
		<link>http://jakob.engbloms.se/archives/761?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/761#comments</comments>
		<pubDate>Tue, 05 May 2009 06:19:43 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[general history]]></category>
		<category><![CDATA[ancient warfare]]></category>
		<category><![CDATA[podcast commentary]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=761</guid>
		<description><![CDATA[I just found a fairly interesting podcast that offers a nice example on how do marketing for paper-based magazines using digital ephemeral technology. The ancient warfare magazine has a podcast that accompanies each issue, where a set of history buffs discuss around the theme of the current issue of the magazine. I think this is [...]]]></description>
			<content:encoded><![CDATA[<p>I just found a fairly interesting podcast that offers a nice example on how do marketing for paper-based magazines using digital ephemeral technology. The <a href="http://www.ancient-warfare.com">ancient warfare magazine </a>has a podcast that accompanies each issue, where a set of history buffs discuss around the theme of the current issue of the magazine.</p>
<p><span id="more-761"></span>I think this is an excellent way to promote the magazine, as it provides a hook that is for free for interested potential readers, and also a natural push for getting the magazine when they mention &#8220;for more details, please see the article so and so in the current issue&#8221;. At least to me, that is perfectly fine.</p>
<p>It also resembles the use of conference talks to promote books, where you also point to the published paper edition for more details and in-depth coverage. Unfortunately, I don&#8217;t think this is a model for the music industry as their goods lack that kind of depth&#8230;</p>
<p>Now, if only I had time to actually read the magazine&#8230; but I might buy some issues to read in a few years time when the kids are a bit older.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/761"></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/761" 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/761" 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/761/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IBM JRD Now Costs 1500 USD per Year</title>
		<link>http://jakob.engbloms.se/archives/716?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/716#comments</comments>
		<pubDate>Sun, 05 Apr 2009 10:47:16 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[general research]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[Journal of Research and Development]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=716</guid>
		<description><![CDATA[For the longest time, the IBM Journal of Research and development, and its entire archive, was online at IBM and for free to access. This publication was, I assume, seen as a way to publicize IBM systems and their research efforts. But now, it has unexplicable gone to a for-pay format. It costs 1500 USD/year [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-654" style="margin-left: 10px; margin-right: 10px;" title="opinion" src="http://jakob.engbloms.se/wp-content/uploads/2009/02/opinion.png" alt="opinion" width="91" height="69" />For the longest time, the IBM Journal of Research and development, and its entire archive, was online at IBM and for free to access. This publication was, I assume, seen as a way to publicize IBM systems and their research efforts. But now, it has unexplicable gone to a for-pay format. <a href="http://www.research.ibm.com/journal/subscription-letter.pdf">It costs 1500 USD/year to access it</a>, which is pretty steep I think. Compare with sources like the Microprocessor Report, or regular IEEE or ACM memberships. I think this is a really dumb move, and I will miss reading their often quite interesting articles. Who will pay to read only about IBM systems and research?;</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/716"></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/716" 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/716" 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/716/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cool Obscure Hardware: Sun SCC and Software License Protection</title>
		<link>http://jakob.engbloms.se/archives/619?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/619#comments</comments>
		<pubDate>Wed, 28 Jan 2009 20:12:27 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[computer architecture]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[SCC]]></category>
		<category><![CDATA[smart card]]></category>
		<category><![CDATA[software licensing]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[System Configuration Card]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=619</guid>
		<description><![CDATA[In a very roundabout way, I recently got to hear about a cool Sun server feature introduced sometime back in 2003 or 2004: the SCC System Configuration Card. This is a smart card that stores the system hostid and Ethernet MACs, along with other info, and which can be transferred from one server to another. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-620" style="margin: 5px;" title="sunlogo" src="http://jakob.engbloms.se/wp-content/uploads/2009/01/sunlogo.png" alt="sunlogo" width="97" height="60" />In a very roundabout way, I recently got to hear about a cool Sun server feature introduced sometime back in 2003 or 2004: the SCC System Configuration Card. This is a smart card that stores the system hostid and Ethernet MACs, along with other info, and which can be transferred from one server to another.</p>
<p><span id="more-619"></span></p>
<p>Finding information on this card was very hard, and here is the best that I could find:</p>
<blockquote><p>With front and back LEDs and a removable system configuration card, the Sun Fire V120 server maximizes system availability by allowing system administrators to concentrate on scheduled service through easy installation and management. The removable system configuration card allows you to store a system&#8217;s host ID, MAC address, and NVRAM settings to another server while you perform routine maintenance. As a result, system downtime is minimized.</p></blockquote>
<p>Why I find this interesting is that it is also a nod to commercial software companies relying on hostids for licensing. In this way, you can maintain the same hostid even when a server has issues, and without compromising the integrity of licensing. Sun&#8217;s hostids are unusually safe and reliable, unlike the common x86 anchors like Ethernet MAC addresses (which are easy to change) and disk IDs (which are not available on Linux typically).</p>
<p>Making the ID physical in this way is usually the best way to handle identity in general. A GSM/UMTS SIM card is another example of a physically represented identity, which is way preferable to virtual identies that are just software. Much easier to handle, and safer for all involved.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/619"></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/619" 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/619" 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/619/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EDA Tech Forum Article on Ecosystem Enablement</title>
		<link>http://jakob.engbloms.se/archives/577?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/577#comments</comments>
		<pubDate>Sat, 10 Jan 2009 21:17:54 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[business issues]]></category>
		<category><![CDATA[EDA]]></category>
		<category><![CDATA[ESL]]></category>
		<category><![CDATA[virtual platforms]]></category>
		<category><![CDATA[ecosystem enablement]]></category>
		<category><![CDATA[EDA Tech Forum]]></category>
		<category><![CDATA[freescale]]></category>
		<category><![CDATA[p4080]]></category>
		<category><![CDATA[qoriq]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=577</guid>
		<description><![CDATA[I have an article about ecosystem enablement for new hardware, co-authored with Richard Schnur of Freescale published in the December 2008 issue of EDA Tech Forum. The core concept is that a virtual platform solution makes it possible to get a new chip to market faster with better software support, and even enables virtual design-in [...]]]></description>
			<content:encoded><![CDATA[<p>I have an <a href="http://www.edatechforum.com/journal/dec2008/streamlining_intro.cfm">article about ecosystem enablement for new hardware, co-authored with Richard Schnur </a>of <a href="http://www.freescale.com">Freescale</a> published in the <a href="http://www.edatechforum.com/journal/dec2008/">December 2008 issue of EDA Tech Forum</a>. The core concept is that a virtual platform solution makes it possible to get a new chip to market faster with better software support, and even enables virtual design-in of a chip at OEM customers before hardware becomes available. The article builds on our joint experience with the QorIQ P4080 launch in the Summer of 2008, where we had several operating systems and middleware packages in place at the moment the chip was announced. EDA Tech Forum requires registration, but it was still free, and there are many other good articles available.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/577"></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/577" 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/577" 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/577/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>In Defence of MMS</title>
		<link>http://jakob.engbloms.se/archives/481?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/481#comments</comments>
		<pubDate>Sat, 27 Dec 2008 11:50:32 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[G900]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[MMS]]></category>
		<category><![CDATA[mobile phones]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=481</guid>
		<description><![CDATA[I just read Stephen Fry&#8217;s latest blog post about smartphones in general and the Apple iPhone in particular. He really loves the iPhone, but the interesting thing to me was the wish list of future improvements to the device. In particular, support for MMS. That was one of the things that made the iPhone unacceptable [...]]]></description>
			<content:encoded><![CDATA[<p>I just read <a href="http://www.stephenfry.com/blog/2008/12/11/gee-one-bold-storm-coming-up%E2%80%A6/">Stephen Fry&#8217;s latest blog post about smartphones in general and the Apple iPhone in particular</a>. He really loves the iPhone, but the interesting thing to me was the wish list of future improvements to the device. In particular, support for MMS. That was one of the things that made the iPhone unacceptable to me and not really to be considered a serious mobile phone (along with no bluetooth modem).</p>
<p><span id="more-481"></span>From the comments on that blog and discussions with iPhone users that I know, it seems that MMS is a feature that is not receiving the love it should from mobile phone users.</p>
<p>If someone does not know it, MMS is basically richer short messages between mobile phones, where you can add pictures, sounds, and animations to the basic text of SMS. When MMS arrived I felt it to be a &#8220;why?&#8221; feature, but today, I really appreciate it.</p>
<p>Lots of iPhone users, and Apple as a company, seem to consider MMS a poor man&#8217;s email. &#8220;If you want to send a picture, use email and then you can pick it up on any client etc. etc.&#8221; is a common sentiment. However, this is not a correct understanding of what MMS is for. It is a different modality than email, it is a fast immediate messaging service whose purpose is to show a picture on another phone for immediate appreciation. Not a mechanism to send well-taken digital photos for long-term storage at the recipient. Email does not achieve the same universal delivery into the pocket of the recipient that MMS affords.</p>
<p>For me, MMS is all about short immediate picture communication. Like SMS, but with pictures. Me and my family use it to send short &#8220;postcards&#8221; to each other, and when you have children and grand parents, it is really ideal. On vacation, all people bring their mobiles, but most people (outside the core tech crowd) do not check email that regularly. MMS is really &#8220;instant delight&#8221; in this manner.</p>
<p>Also, the simplicity of MMS compared to email makes the interface much simpler to implement. Take a picture, add a caption, and send to a mobile phone number. Email is always more complicated and slower.</p>
<p>MMS also roams better when travelling internationally: an MMS typically carries a decent cost per message, where email would entail data roaming charges that tend to be horrific, still today. Looking for Wifi is often not an option when you are in smaller towns, out in the mountains, in France (it is still hard to find useable public Wifi connections there for some reason), and similar places.</p>
<p>What is also interesting is the effort of the mobile phone network to really deliver MMS messages to everyone, even those without or with limited MMS-capable phones (older models). For example, my wife&#8217;s dead basic Nokia lacks a camera and refuses to accept particularly large MMS messages. What happens then? First, the phone tells her in an MMS that &#8220;you have a new MMS message, but this phone cannot display it&#8221;. Then she gets an SMS saying &#8220;to read your MMS, go to this website and enter this code&#8221;. Pretty good as a workaround for a lacking phone capability (and likely what an iPhone user would see as well). But as long as pictures are phone-sized, it works well to send her a greeting over the phone in this way.</p>
<p>She wondered why the network was so nice to her, and I think the explanation is pure money: the more people can receive MMS, the more people will send them&#8230; and sending MMS is a good source of income to the networks. So having a fairly easy-to-use workaround makes eminent sense.</p>
<p>So, I really like MMS and I find it and SMS  to be one kind of communucation, more immediate and direct, while email is asynchronous with typically quite long delivery times. MMS and SMS together fill a useful niche, quite different from email and phone conversations in my arsenal of messaging solutions.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/481"></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/481" 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/481" 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/481/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Off-topic: Crime Medicine</title>
		<link>http://jakob.engbloms.se/archives/327?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/327#comments</comments>
		<pubDate>Sat, 01 Nov 2008 13:21:17 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[websites]]></category>
		<category><![CDATA[fraud]]></category>
		<category><![CDATA[medicine]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=327</guid>
		<description><![CDATA[The Swedish national medical products agency is running a very cleverly marketed campaign right now to inform people about the perils of buying medicine over the Internet. They are running fake advertisement spots on television, mimicking the typical medical adverts found in the US (and the few other countries where such advertising is allowed for [...]]]></description>
			<content:encoded><![CDATA[<p>The Swedish national medical products agency is running a very cleverly marketed campaign right now to inform people about the perils of buying medicine over the Internet. They are running fake advertisement spots on television, mimicking the typical medical adverts found in the US (and the few other countries where such advertising is allowed for prescription medicine), with a trustworthy doctor talking about the benefits of this and that&#8230; and slowly going into weird land about how the products might not be want you think and maybe don&#8217;t contain the right stuff, etc.Finally, you are pointed to <a href="http://www.crimemedicine.com/">www.crimemedicine.com</a>, a site setup for this campaign. All very clever. In fact, so clever that some people reported the spots to the consumer watchdog as being illegal advertisements&#8230; brilliant!</p>
<p><span id="more-327"></span></p>
<p>It is mostly in Swedish, though, but they have some English-language information at <a href="http://www.crimemedicine.com/lib/html/english.html">http://www.crimemedicine.com/lib/html/english.html</a>.</p>
<p>I think this is pretty important stuff, way too many people are buying counterfeit and illegal and usually dangerous medical stuff over the Internet. That is not how you deal with your health: if you have a problem, go to a doctor or at least a physical pharmacy and talk to someone with proper credentials. Never ever self-medicate with stuff you find of the net. Or even sometimes buy in physical pharmacy in less well-policied countries. Real medications can be expensive &#8212; but most of the time, you are getting what you pay for. As always.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/327"></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/327" 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/327" 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/327/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Architecture Exploration by Free Market</title>
		<link>http://jakob.engbloms.se/archives/295?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/295#comments</comments>
		<pubDate>Tue, 30 Sep 2008 19:35:28 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[EDA]]></category>
		<category><![CDATA[ESL]]></category>
		<category><![CDATA[architecture exploration]]></category>
		<category><![CDATA[free market]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=295</guid>
		<description><![CDATA[This is a short maybe heretic post on the topic of architecture exploration. It just struck me the other day that the idea prevalent in chip design that you want to explore the design space of a certain with great detail and precision might be the wrong way to go about things. It is in [...]]]></description>
			<content:encoded><![CDATA[<p>This is a short maybe heretic post on the topic of architecture exploration.</p>
<p>It just struck me the other day that the idea prevalent in chip design that you want to explore the design space of a certain with great detail and precision might be the wrong way to go about things. It is in some sense similar to the ideas of planned economies: you decide a priori what is important, and try to optimize the design to do just that. If you are right, it is brilliant. If you are wrong, it can be very wrong. That is scary to say the least. It seems to assume that you have a pretty good idea of what you need to achieve, and that this is not likely to change for the lifetime of a design.</p>
<p><span id="more-295"></span></p>
<p>In product design in general, this tends to be a brittle strategy. In many areas today, especially in consumer-oriented markets, the approach that appears the most successful is to throw things in there and see what works. It appears to be more successful as a strategy to launch ten different mobile phones that might well overlap in target markets and feature sets, and then let the market figure out what was the good and what was bad. In foods, instead of having a single flavor of a product, you launch a bunch and then discontinue the ones that did not sell too well. For example, some of my favorite cookies did this a couple of years ago, branching out from plain nougat to mint and banana and orange and toffee&#8230; the banana is apparently dead now, judging from the <a href="http://www.goteborgskex.se/produktinfo/sota-kex/test">Ballerina homepage</a>.</p>
<p style="text-align: center;"><img class="size-medium wp-image-296 aligncenter" style="border: 0pt none; margin-top: 5px; margin-bottom: 5px;" title="ballerinakex" src="http://jakob.engbloms.se/wp-content/uploads/2008/09/ballerinakex-300x91.png" alt="" width="300" height="91" /></p>
<p style="text-align: left;">Anyway, I can see the reason why chip design is not done this way: the cost of each try is forbiddingly high&#8230; but maybe if we could find a way to make it cheaper to just try things? Could we then move back to a more relaxed creative environment where being wrong ain&#8217;t so bad as long as something else worked out?</p>
<p style="text-align: left;">We are doing that on a grand scale, really, in the way that different chip startups pop up with a truly new idea, and the market tells us what works and what does not. The kinds of architectures being explored that way are usually much more radical than what a traditional chip design house will come up with in a &#8220;architecture exploration&#8221; phase. The cost of failure for a chip startup is certainly non-neglible, but I hope something will happen to help bring the cost under control so we can continue to explore the truly new architectures by the mechanisms of the free market&#8230;</p>
<p style="text-align: left;">And by the way, I like the traditional Nougat the best, even if Mint Chocolate can be pretty OK too.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/295"></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/295" 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/295" 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/295/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Off-Topic: Colder Weather and (Consumer) Electronics</title>
		<link>http://jakob.engbloms.se/archives/290?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/290#comments</comments>
		<pubDate>Fri, 26 Sep 2008 22:05:39 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[iPod]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[winter]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=290</guid>
		<description><![CDATA[The colder season is coming fast here in Uppsala, and it is time to bring out gloves and warmer jackets. Even if we have had some nice sunny pretty warm days (up to 15 degrees Celsius!), we are getting into October soon, a month where there is usually some day of freak snow fall. Another [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-291" title="ipodnano3g" src="http://jakob.engbloms.se/wp-content/uploads/2008/09/ipodnano3g.png" alt="" width="72" height="72" />The colder season is coming fast here in Uppsala, and it is time to bring out gloves and warmer jackets. Even if we have had some nice sunny pretty warm days (up to 15 degrees Celsius!), we are getting into October soon, a month where there is usually some day of freak snow fall.</p>
<p>Another sign that it is getting colder is the reaction of consumer electronics.</p>
<p><span id="more-290"></span>The plastic in the cords for my earpieces for my iPod gets noticeably stiffer when temperatures drop down towards zero, and the touch wheel tends to work worse in colder conditions. Not to mention trying to operate a touch wheel when wearing gloves. Most times, it just does not work at all.</p>
<p>It really makes one wonder how designers test these things, and whether they really think about common types of weather across the globe. I can see a problem with designing things in a climate like Northern California, where it never particularly overly hot or in any sense cold. The designers just do not naturally experience having to work equipment in minus twenty degrees and snow fall&#8230;I think that could lead to some different choices in materials and designs, seriously.</p>
<p>Case in point: last time I was on a skiing holiday, we had pretty nice warm temperatures between minus ten and minus five degrees. The iPod headphone cords were sufficiently rigid at that temperature that you could hear them rustle against themselves and my clothes. Seriously, minus ten is not a particularly severe temperature. I have some friends who design forestry equipment that works in Siberia. Minus forty in the morning. Or try living in nothern Finland or Norway &#8212; civilized areas, but you can expect many days of minus twenty (which is a temperature where you can easily be outside given sufficiently good clothing).</p>
<p>I managed to kill the battery of my mobile phone last winter as well, as it did not particularly take well to walking in minus ten-like temperatures while on the phone. Fortunately, the battery could be changed to a new one, which is pretty necessary when using portable electronics in cold weather. I guess severe heat can be just as bad for electronics, it is just rarer for me personally.</p>
<p>Obviously, most keyboards on phones are too cramped to be worked with heavy gloves.</p>
<p>Maybe the consumer electronics industry should think a bit like the automotive people who have to make sure things work between minus 30 and plus 80 (or something similar to that).</p>
<p>I guess this goes into a rant category, as electronics will keep being designed for benign environment and &#8220;normal&#8221; temperatures. Bad luck for us living in colder climates&#8230; or maybe a niche to be exploited. People still look for the classic Ericsson R310s: one of the most rugged phones ever made&#8230;</p>
<p><img class="aligncenter size-full wp-image-292" title="err310s" src="http://jakob.engbloms.se/wp-content/uploads/2008/09/err310s.gif" alt="" width="139" height="184" /></p>
<p>One could think of a similarly toughened music player. And accessories made to work well in severly cold weather for use on skiing trips, Arctic research expeditions, and by Siberian loggers. Huge market here, somewhere, right?</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/290"></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/290" 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/290" 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/290/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtual Platforms for Late Hardware and the Winds of History</title>
		<link>http://jakob.engbloms.se/archives/180?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/180#comments</comments>
		<pubDate>Wed, 30 Jul 2008 20:56:32 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[computer simulation technology]]></category>
		<category><![CDATA[history of computing]]></category>
		<category><![CDATA[virtual platforms]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[archive]]></category>
		<category><![CDATA[digital archive]]></category>
		<category><![CDATA[document retention]]></category>
		<category><![CDATA[Forskning och Framsteg]]></category>
		<category><![CDATA[Simics]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=180</guid>
		<description><![CDATA[As might be evident from this blog, I do have a certain interest in history and the history of computing in particular. One aspect where computing and history collide in a not-so-nice way today is in the archiving of digital data for the long term. I just read an article at Forskning och Framsteg where [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jakob.engbloms.se/wp-content/uploads/2008/07/d21_2t.jpg"><img class="size-medium wp-image-181 alignleft" style="margin: 10px;" title="DataSaab D21" src="http://jakob.engbloms.se/wp-content/uploads/2008/07/d21_2t.jpg" alt="" width="150" height="112" /></a>As might be evident from this blog, I do have a certain interest in history and the history of computing in particular. One aspect where computing and history collide in a not-so-nice way today is in the archiving of digital data for the long term. I just read an article at <a href="http://www.fof.se/?id=08550">Forskning och Framsteg </a>where they discuss some of the issues that use of digital computer systems and digital non-physical documents have on the long-term archival of our intellectual world of today. Basically, digital archives tend to rot in a variety of ways. I think virtual platform technology could play a role in preserving our digital heritage for the future.</p>
<p><span id="more-180"></span></p>
<p>Living in a decently old city does provoke a certain interest in history and how to access the past. Note that Uppsala, like everything in Sweden, is fairly recent on the grand scale of things. We have a cathedral from the 1200s, and some older churches going back to the 1000s, but before that there is not much to boast about. It is not like Rome or Egypt or China with thousands of years of civilization and with impressive buildings that still stand. But I digress&#8230;</p>
<p>The real problem with archives and digital technology is that it is really hard to preserve a large portion of the intellectual data that we produce today. When I was an archivist at <a href="http://www.student.uu.se/nation/smalands/">Smålands Nation </a>here at the university in the 1990s, it was real fun to browse through the old papers we had in the archive (only stuff from the past century, all the really old and valuable stuff was in professional hands at the national archives). Reading a menu from a party held in 1945, or the time plan for a large formal celebration in the 1950s, or a guest list from such an event was actually quite intruiging. You could see how tastes and traditions change, even as students all believe they are maintaining ages-old traditions faithfully&#8230; Browsing the member list in old handwritten ledgers was also great fun.</p>
<p>In another fifty year&#8217;s time, what will we have left from today&#8217;s activities? The party plans are now all just printouts from a throwaway word document, the member list a database on a PC, and unless you make a conscious effort, memories and printed papers will quickly fade (you do need to use the appropriate laser toner on low-acid archive-quality paper if you want the things to last even a decade, let alone a hundred years) and the students fifty years from now will have no idea on we ran our parties, who were in the nation, and other such facts of daily life. &#8220;Print it out&#8221; is easy to say but hard to do. Much of today&#8217;s digital data does not really print out in a useful way. A wiki, for example, can be printed as a snapshot. But the links and the edit history is gone.</p>
<p>But imagine if we could retain these digital documents accessible, in their living digital form. Having a proper database available for use and query is so much more interesting and powerful than a stack of papers. Being able to look at the audit history of a wiki, or the commit history of a program&#8217;s source code would offer a much deeper insight into the people and processes that produced the end results compared to just looking at a static snapshot.</p>
<p>What does it take to do that? A huge and known problem in digital archiving is the physical media access. All great archival institutions in the world have scores of different tape readers, disk readers, some new, some antique, and try to use these to pry the bits of equally antiquated storage media. This is bad, just like we have problems looking at old movies as the reams of film are literally falling apart. Clay tablets start to look positively sophisticated and a smart choice compared to our very brittle technologies.</p>
<p>Second, once we have the bits, what can we do with them? Now we have to tackle the file formats, and having pried them open, to find the fonts and character sets which are suitable for displaying them. Rendering a MacWrite document from 1985 on a modern machine will likely not quite give the same wonderful black-and-white 72-dpi view that you got back then&#8230; Or figuring out that for a while, we used 7-bit ASCII to write Swedish texts by replacing [, ], |, {, }, \ with å, ä, ö, Å, Ä, Ö (not in exactly that order &#8212; but I used to be fluent in reading and writing that!). Even worse, decoding a database file or purely binary CAD/CAM file is going to require some serious reverse engineering of the old programs that created them&#8230; unless you could run these same old programs in some way.</p>
<p>At least to me, an &#8220;obvious&#8221; solution is to use virtual platform technology to make keep the old software stacks running. Some archivists are apparently working on OS emulation of various kinds to keep the old software running, but I do think that it is much simpler and more general to just simulate the entire machine hardware. This will result in the smallest risk of error, and the greatest fidelity to the original software as oddities such as word lengths and character sets can be faithfully reproduced. Simply because the SW-HW interface in a machine is the best document and narrowest interface in the entire machine. Old tapes and disks should be turned into files stored on the mass storage of current machines, and these files can then be migrated to new machines as they come online. As long as you maintain the copies of the materials by reproducing them on new hard drives, they will not rot.</p>
<p>It will also have the property that the entire look and feel of the old systems remains accessible. Which is a blessing in that it maintains our digital heritage and lets computer historians also go back and see how old software looked and worked. It is also considered a curse by practising archivists who do not particularly like the idea of learning how to operate strange old operating systems with arcane command lines. I think this is not necessarily a big problem. Just like people today study and learn ancient languages to learn more about ancient cultures as embodied in their written records, I can see historians of the future learning to use old operating systems and programming languages to study the ancient culture of our time as embodied in our computerized records.</p>
<p>Creating these kinds of virtual platforms is quite different from the dominant virtual platform thinking in the commercial market place today which is focused on modeling new and future hardwares. Rather, we need to study an existing artefact and make a very good model of it. It is a different type of task, requiring slightly different types of tools.</p>
<p>Of particular importance is that the simulation platform totally insulates simulation models from the underlying machine. You need to be able to port the simulation to new operating systems, machines, and architectures without changing a line in the source code of the models. This means making sure to locate all host dependencies inside the simulation framework, and making sure that models are completely portable regardless of word lengths, endianness, and other aspects. You want to be able to take a model that you run today on an x86-64 on Linux and run it on some future 128-bit middle-endian platform with a completely different type of operating system. Basically, the simulation platform has to be a complete virtual machine in its own right. Probably, over time, we are going to add more layers of virtual platforms to get around really major shifts in computer system architecture. There is nothing saying that you can only virtualize once, already the IBM S/370 showed that you could virtualize recursively and to an arbitrary depth.</p>
<p>I do think that some tools that we have today are perfectly useful for this kind of undertaking.</p>
<p>The business aspects are going to be interesting, though. We would like to use the technologies already available in the sophisticated commercial virtual platform tools, that&#8217;s kind of given. But the archival market place is not the most lucractive&#8230; and that they would like to have very good insurance that the tools remain available. Including source-code escrow that would make the requirements of 25-years military projects look positively light.</p>
<p>Developing a completely new totally open-source solution sounds like a nice idea in theory, but is probably a bit too much work. It also takes no advantage of all the commercial technology available today. Maybe as the virtual platform market matures, the industry can come up with some way to provide this technology for the greater benefit of society. Basically, doing a bit of social work where we really have the tools to help.</p>
<p>I have no good solutions to that to offer right now.</p>
<p>But imagine how cool it would be to, in fifty years from now, gather the old team from Virtutech around some kind of display device and watch an ancient <a href="http://www.virtutech.com/simics4.html">Simics 4.0 </a>run on top of a virtual quadcore x86 with Linux 2.6&#8230; all running on top of Simics 29.0 (estimating one major version every two years) on some future I-have-no-idea-what-it-will-be hardware and software system. That really is something that would be cool to see happen.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/180"></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/180" 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/180" 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/180/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Off-topic: The Train to Furuvik</title>
		<link>http://jakob.engbloms.se/archives/161?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/161#comments</comments>
		<pubDate>Wed, 23 Jul 2008 19:45:36 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[trains]]></category>
		<category><![CDATA[transportation]]></category>
		<category><![CDATA[travel]]></category>
		<category><![CDATA[family event]]></category>
		<category><![CDATA[Furuvik]]></category>
		<category><![CDATA[holiday]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=161</guid>
		<description><![CDATA[This is a short travel tip for the Uppsala-Stockholm area. Yesterday, I used the UL train to get to the Furuvik zoo/amusement park close to Gävle. Compared to the visit we did last year using a car, taking the train was generally a superior experience. And cheap. For 200 SEK, you get two adults + [...]]]></description>
			<content:encoded><![CDATA[<p><a class="alignleft" href="http://www.ul.se/sv/Furuvik/"><img class="alignleft size-full wp-image-162" style="margin: 10px;" title="ul" src="http://jakob.engbloms.se/wp-content/uploads/2008/07/ul.png" alt="" width="149" height="162" /></a>This is a short travel tip for the Uppsala-Stockholm area. Yesterday, I used the <a href="http://www.ul.se/sv/Furuvik/">UL train to get to the Furuvik zoo/amusement </a>park close to Gävle. Compared to the visit we did last year using a car, taking the train was generally a superior experience. And cheap. For 200 SEK, you get two adults + three children, with all rides included. Much cheaper than going there by car and then buying the rides. Not having to spend an hour driving with children is also a clear advantage in my mind, rather you can relax on the train and have fun with the kids. Being tired at the end of the day, I was very happy not to have to drive home.</p>
<p>The only caveat is that the train time are not particularly well synchronized with the park hours: taking the 08.19 train from Uppsala puts you outside the gates of a closed park at 09.22. It opens at 10.00. So bring some picnic coffee for the wait (but it was a sunny and nice day, so no need to complain about that pause). The next train is at 10.19, which gets you there a rather late 11.22. That is something they should consider for next year&#8217;s iteration of this offer. Getting home, the 17.40 train is perfect. And so does everyone else think, so it was pretty completely full from Furuvik until Tierp, after which it started to clear up as passengers got off at the stations going south.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/161"></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/161" 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/161" 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/161/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Freescale QorIQ P4080 Hybrid Simulation on YouTube(!)</title>
		<link>http://jakob.engbloms.se/archives/139?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/139#comments</comments>
		<pubDate>Wed, 18 Jun 2008 08:25:26 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[computer simulation technology]]></category>
		<category><![CDATA[ESL]]></category>
		<category><![CDATA[multicore computer architecture]]></category>
		<category><![CDATA[virtual platforms]]></category>
		<category><![CDATA[clock-cycle models]]></category>
		<category><![CDATA[freescale]]></category>
		<category><![CDATA[Functional models]]></category>
		<category><![CDATA[hybrid simulation]]></category>
		<category><![CDATA[p4080]]></category>
		<category><![CDATA[power architecture]]></category>
		<category><![CDATA[qoriq]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=139</guid>
		<description><![CDATA[YouTube &#8211; Freescale QorIQ P4080 Hybrid Simulation is a video of a demo of the QorIQ P4080 hybrid simulation. Cool of Freescale to be publishing it like this, I think it is a very smart move! Updated: Here is the video inline, let&#8217;s see if this works. Tweet]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft alignnone size-medium wp-image-138" style="float: left; margin-top: 0px; margin-bottom: 0px; margin-left: 10px; margin-right: 10px;" title="fsl-qoriq" src="http://jakob.engbloms.se/wp-content/uploads/2008/06/fsl-qoriq.png" alt="" width="112" height="56" /><a href="http://www.youtube.com/watch?v=PTwnmOC5Fdw">YouTube &#8211; Freescale QorIQ P4080 Hybrid Simulation</a> is a video of a demo of the QorIQ P4080 hybrid simulation. Cool of Freescale to be publishing it like this, I think it is a very smart move!</p>
<p>Updated: Here is the video inline, let&#8217;s see if this works.</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/f0YUJ-fXxHA&amp;hl=en" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/f0YUJ-fXxHA&amp;hl=en"></embed></object></p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/139"></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/139" 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/139" 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/139/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Freescale QorIQ P4080 is out &#8212; with Simics support</title>
		<link>http://jakob.engbloms.se/archives/137?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/137#comments</comments>
		<pubDate>Mon, 16 Jun 2008 11:36:27 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[computer simulation technology]]></category>
		<category><![CDATA[embedded systeme]]></category>
		<category><![CDATA[multicore computer architecture]]></category>
		<category><![CDATA[multicore software]]></category>
		<category><![CDATA[virtual platforms]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[p4080]]></category>
		<category><![CDATA[qoriq]]></category>
		<category><![CDATA[Simics]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=137</guid>
		<description><![CDATA[Only half an hour ago, the embargoes lifted. Freescale announced its new QorIQ series of multicore (and some single- and dual-core) processors. For the top-end of that line, the P4080, Freescale and Virtutech (where I work, remember) have developed a virtual platform solution to help Freescale customers get to working products faster. The virtual platform [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft alignnone size-medium wp-image-138" style="margin: 0px 10px;" title="fsl-qoriq" src="http://jakob.engbloms.se/wp-content/uploads/2008/06/fsl-qoriq.png" alt="" width="132" height="62" />Only half an hour ago, the embargoes lifted. Freescale announced its new <a href="http://freescale.com/multicore">QorIQ series</a> of multicore (and some single- and dual-core) processors. For the top-end of that line, <a href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=P4080&amp;fastpreview=1">the P4080</a>, Freescale and Virtutech (where I work, remember) have developed a <a href="http://www.virtutech.com/QorIQ">virtual platform solution</a> to help Freescale customers get to working products faster. The virtual platform is available now, and is already running several operating systems including VxWorks, QNX, and a variety of Linuxes. Apart from the fairly large scale of this SoC, the really new part of the virtual platform is the so-called <a href="http://www.virtutech.com/QorIQ/hybrid_simulation.html">Hybrid </a>solution, where the fast models are combined with detailed models from Freescale themselves. This creates a cycle-level detailed model with validated timing, &#8220;from the source&#8221; &#8212; but without the performance issues of having to run everything at great level of detail. Rather, you use the fast model to steer the simulation of a workload to an interesting spot, and then turn up the level of detail then and there. You can also select which components of the chip are actually detailed and which parts are modeled with the fast functional models, avoiding the incredible slow-down of running and entire virtual platform at a great level of detail.</p>
<p>If you happen to be at the FTF in Orlando, do come by and look at the demos!</p>
<p>I have been involved in this work for the past year, and it is wonderful to finally see it coming out and be able to talk about it.</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/137"></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/137" 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/137" 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/137/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

