<?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>Geek in progress &#187; oopsla</title>
	<atom:link href="http://www.itkovian.net/base/tag/oopsla/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.itkovian.net/base</link>
	<description>I am not yet done.</description>
	<lastBuildDate>Thu, 20 Oct 2011 20:56:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>OOPSLA opening keynote</title>
		<link>http://www.itkovian.net/base/oopsla-opening-keynote/</link>
		<comments>http://www.itkovian.net/base/oopsla-opening-keynote/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 18:28:49 +0000</pubDate>
		<dc:creator>Itkovian</dc:creator>
				<category><![CDATA[egypt]]></category>
		<category><![CDATA[keynote]]></category>
		<category><![CDATA[oopsla]]></category>

		<guid isPermaLink="false">http://www.itkovian.net/base/?p=231</guid>
		<description><![CDATA[The opening keynote at OOPSLA was given by <a href="http://www.aeraweb.org/">Mark Lehner<a/>, in which told us about the building blocks of the ancient Egyptian society from the time the Giza pyramids were constructed.

As it turned out, the Egyptians had discovered modern concepts such as modularity, encapsulation, etc. to gather the army of workers they needed for constructing their massive temples/tombs. It was a very interesting talk, though I did not learn anything w.r.t. software design. I did learn a lot of things about the Egyptians, and that makes attending the talk worthwhile in itself.

Mark explained how they derived the prediction that there should have been a city lodged at the bottom of the Giza plateau, where the workers were lodged and fed. On of the first things they discovered was what seemed to be a bakery - which they replicated into a functional bakery for National Geographic. Soon they excavated more bakeries next to each other, showing the fundamental concept of modularity and the notion of scaling was known to the people living there, so many years ago. Logical deduction led to the belief there should have been a city, because you can hardly expect bakers to bake bread for feeding cattle. So they uncovered the walls of houses - barracks as they turned out - for the workers. The working class was divided into basic groups of about 20-40 people, sleeping in on barrack with their overseer. There were in turn assembled into larger social structures, thus forming a hierarchy. Pretty much the same way software could be built, if one works bottom up. It was quite fascinating to see how they discovered places to house administration, food supplies, etc. Sadly, modern city expansion has caused structures to be built on top of these ancient locations, thus making it impossible to uncover everything.

There was one question raised, that was how the people were made to execute some form of obligatory labour. When I asked Mark after the talk if religion played a role, he admitted as much, but there were many other things, such as the basic unit of the social network at the time: the household, which could be a hierarchic structure, pushing work requirements down the chain.

I doubt actually learning about archaeology is always this fascinating, but this interested me very much. So, in all, a good start of the three remaining days of the conference.]]></description>
			<content:encoded><![CDATA[<p>The opening keynote at OOPSLA was given by <a href="http://www.aeraweb.org/">Mark Lehner<a/>, in which told us about the building blocks of the ancient Egyptian society from the time the Giza pyramids were constructed.</p>
<p>As it turned out, the Egyptians had discovered modern concepts such as modularity, encapsulation, etc. to gather the army of workers they needed for constructing their massive temples/tombs. It was a very interesting talk, though I did not learn anything w.r.t. software design. I did learn a lot of things about the Egyptians, and that makes attending the talk worthwhile in itself.</p>
<p>Mark explained how they derived the prediction that there should have been a city lodged at the bottom of the Giza plateau, where the workers were lodged and fed. On of the first things they discovered was what seemed to be a bakery &#8211; which they replicated into a functional bakery for National Geographic. Soon they excavated more bakeries next to each other, showing the fundamental concept of modularity and the notion of scaling was known to the people living there, so many years ago. Logical deduction led to the belief there should have been a city, because you can hardly expect bakers to bake bread for feeding cattle. So they uncovered the walls of houses &#8211; barracks as they turned out &#8211; for the workers. The working class was divided into basic groups of about 20-40 people, sleeping in on barrack with their overseer. There were in turn assembled into larger social structures, thus forming a hierarchy. Pretty much the same way software could be built, if one works bottom up. It was quite fascinating to see how they discovered places to house administration, food supplies, etc. Sadly, modern city expansion has caused structures to be built on top of these ancient locations, thus making it impossible to uncover everything.</p>
<p>There was one question raised, that was how the people were made to execute some form of obligatory labour. When I asked Mark after the talk if religion played a role, he admitted as much, but there were many other things, such as the basic unit of the social network at the time: the household, which could be a hierarchic structure, pushing work requirements down the chain.</p>
<p>I doubt actually learning about archaeology is always this fascinating, but this interested me very much. So, in all, a good start of the three remaining days of the conference.<!--break--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.itkovian.net/base/oopsla-opening-keynote/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>OOPSLA Reception and poster sessions</title>
		<link>http://www.itkovian.net/base/oopsla-reception-and-poster-sessions/</link>
		<comments>http://www.itkovian.net/base/oopsla-reception-and-poster-sessions/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 03:02:26 +0000</pubDate>
		<dc:creator>Itkovian</dc:creator>
				<category><![CDATA[nashville]]></category>
		<category><![CDATA[oopsla]]></category>
		<category><![CDATA[posters]]></category>
		<category><![CDATA[reception]]></category>

		<guid isPermaLink="false">http://www.itkovian.net/base/?p=230</guid>
		<description><![CDATA[When I was with <a href="http://buytaert.net">Dries</a> at OOPSLA last year, we presented a <a href="http://flickr.com/photos/itkovian/1708789773/">poster</a> during the opening reception. The reception had a decent share of food, good food too, as far as I can recall, and plenty of it. There were quite a lot of people and I did not regret making the poster, even though it took quite some time to make.

Had I made one this year, I would have thought the time spent was a waste. Not only did the number of posters this year drop significantly (I know, a dangerous word to use, given my emphasis on decent analysis), the number of people wandering seemed a lot less too, as did the quality of the works that were presented. Of course, the latter might be a subjective statement, but I did (for once) force myself to actually look up closely at most of them, and what I saw did not seem very novel, advanced, or otherwise hot in any way.

Some posters described a way to redefine the syntax to improve readability, but had no real conclusion, as it was ongoing work. Others presented the work done in some workshops today and yesterday, and well, I think that most of the computer scientists I know might have come up with the same stuff without having to think too hard. It all seemed quite obvious, even to me, and I am certainly no expert in that field. On the other hand, I was told my work was obvious to by a member of my PhD. jury, while the other jury members argued back that this assuredly was not the case - it was not, trust me, although in hindsight ... Anyhow, I did not find much I thought worthwhile, and given the fact that the crowd was starting to slip out around 7 p.m. - half an hour before the end of the reception - other people felt the same way.

Of less professional importance, but quite important reception-wise, was the fact that most of the food on the platters was ingested by 6:15 p.m. I tried the warm food as well, but the girl heating my chicken (a good thing it had been baked thoroughly prior to heating) did not do a good job, as most of the pieces were still cold. No decent selection of beers: they served Heineken and some others that were probably as bad. No coca-cola, but bloody pepsi. If you are going to give people a sugar shock, at least use the right tools available for it, I'd say. No orange juice, only (cold) water. And wine. I did not dare try those. So, I walked out with to drink tickets left in my pocket, the desire to share them with some poor sod hooked on Heineken had drained somehow.

All in all, a disappointing hour spent. I hope the conference proves to be better, but I suspect the number of participants will be lower than last year. I also checked out the hall where I am going to talk on Thursday, and the gear is going down a notch every year. In 2004, I spoke in the main hall, where two large screens <a href="http://buytaert.net/album/vancouver-2004/ooplsa-presentation-1">projected my slides and myself</a> (they filmed the whole thing), last year they had a decent <a href="http://flickr.com/photos/itkovian/1779791741/">screen</a> in the middle of the room. This year, the screen (at least today) was standing on the right side of the room, and had once more decreased in size, along with the room where the research papers are to be presented. Sadness.]]></description>
			<content:encoded><![CDATA[<p>When I was with <a href="http://buytaert.net">Dries</a> at OOPSLA last year, we presented a <a href="http://flickr.com/photos/itkovian/1708789773/">poster</a> during the opening reception. The reception had a decent share of food, good food too, as far as I can recall, and plenty of it. There were quite a lot of people and I did not regret making the poster, even though it took quite some time to make.</p>
<p>Had I made one this year, I would have thought the time spent was a waste. Not only did the number of posters this year drop significantly (I know, a dangerous word to use, given my emphasis on decent analysis), the number of people wandering seemed a lot less too, as did the quality of the works that were presented. Of course, the latter might be a subjective statement, but I did (for once) force myself to actually look up closely at most of them, and what I saw did not seem very novel, advanced, or otherwise hot in any way.</p>
<p>Some posters described a way to redefine the syntax to improve readability, but had no real conclusion, as it was ongoing work. Others presented the work done in some workshops today and yesterday, and well, I think that most of the computer scientists I know might have come up with the same stuff without having to think too hard. It all seemed quite obvious, even to me, and I am certainly no expert in that field. On the other hand, I was told my work was obvious to by a member of my PhD. jury, while the other jury members argued back that this assuredly was not the case &#8211; it was not, trust me, although in hindsight &#8230; Anyhow, I did not find much I thought worthwhile, and given the fact that the crowd was starting to slip out around 7 p.m. &#8211; half an hour before the end of the reception &#8211; other people felt the same way.</p>
<p>Of less professional importance, but quite important reception-wise, was the fact that most of the food on the platters was ingested by 6:15 p.m. I tried the warm food as well, but the girl heating my chicken (a good thing it had been baked thoroughly prior to heating) did not do a good job, as most of the pieces were still cold. No decent selection of beers: they served Heineken and some others that were probably as bad. No coca-cola, but bloody pepsi. If you are going to give people a sugar shock, at least use the right tools available for it, I&#8217;d say. No orange juice, only (cold) water. And wine. I did not dare try those. So, I walked out with to drink tickets left in my pocket, the desire to share them with some poor sod hooked on Heineken had drained somehow.</p>
<p>All in all, a disappointing hour spent. I hope the conference proves to be better, but I suspect the number of participants will be lower than last year. I also checked out the hall where I am going to talk on Thursday, and the gear is going down a notch every year. In 2004, I spoke in the main hall, where two large screens <a href="http://buytaert.net/album/vancouver-2004/ooplsa-presentation-1">projected my slides and myself</a> (they filmed the whole thing), last year they had a decent <a href="http://flickr.com/photos/itkovian/1779791741/">screen</a> in the middle of the room. This year, the screen (at least today) was standing on the right side of the room, and had once more decreased in size, along with the room where the research papers are to be presented. Sadness.<!--break--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.itkovian.net/base/oopsla-reception-and-poster-sessions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nashville</title>
		<link>http://www.itkovian.net/base/nashville/</link>
		<comments>http://www.itkovian.net/base/nashville/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 18:17:50 +0000</pubDate>
		<dc:creator>Itkovian</dc:creator>
				<category><![CDATA[nashville]]></category>
		<category><![CDATA[oopsla]]></category>

		<guid isPermaLink="false">http://www.itkovian.net/base/?p=229</guid>
		<description><![CDATA[I am in Nashville for the OOPSLA conference. As there was nothing I paid for this morning, I went to check out the downtown area. It probably suffices to say that I walked for less than 2.5 hours, and I think I pretty much saw the entire area. The city blocks are mainly made up of churches and parking lots. I found exactly two gift shops, where they mainly sold Elvis Presley gadgets.

I found one reasonably decent shop where they sold breakfast, there are a few restaurants that might - might - serve decent food, and one Coyote Ugly saloon. I doubt one can have a quiet dinner there, but for a <a href="http://www.blueshoecafe.com/coyoteugly.pdf">salad</a> after the OOPSLA reception it might do ;-)]]></description>
			<content:encoded><![CDATA[<p>I am in Nashville for the OOPSLA conference. As there was nothing I paid for this morning, I went to check out the downtown area. It probably suffices to say that I walked for less than 2.5 hours, and I think I pretty much saw the entire area. The city blocks are mainly made up of churches and parking lots. I found exactly two gift shops, where they mainly sold Elvis Presley gadgets.</p>
<p>I found one reasonably decent shop where they sold breakfast, there are a few restaurants that might &#8211; might &#8211; serve decent food, and one Coyote Ugly saloon. I doubt one can have a quiet dinner there, but for a <a href="http://www.blueshoecafe.com/coyoteugly.pdf">salad</a> after the OOPSLA reception it might do <img src='http://www.itkovian.net/base/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> <!--break--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.itkovian.net/base/nashville/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Java Performance through Rigorous Replay Compilation</title>
		<link>http://www.itkovian.net/base/java-performance-through-rigorous-replay-compilation/</link>
		<comments>http://www.itkovian.net/base/java-performance-through-rigorous-replay-compilation/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 01:16:18 +0000</pubDate>
		<dc:creator>Itkovian</dc:creator>
				<category><![CDATA[paper]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[non-determinism]]></category>
		<category><![CDATA[oopsla]]></category>
		<category><![CDATA[replay]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://www.itkovian.net/base/?p=221</guid>
		<description><![CDATA[At this year's <a href="http://oopsla.org/oopsla2008/">OOPSLA</a> I am going to present a paper that was accepted in the Research Papers track.

Java Performance Evaluation through Rigorous Replay Compilation, <a href="http://itkovian.net">Andy Georges</a>, and <a href="http://www.elis.ugent.be/~leeckhou">Lieven Eeckhout</a>, <a href="http://buytaert.net">Dries Buytaert</a>

The abstract of this paper reads as follows.

A managed runtime environment, such as the Java virtual machine, is non-trivial to benchmark. Java performance is affected in various complex ways by the application and its input, as well as by the virtual machine (JIT optimizer, garbage collector, thread scheduler, etc.). In addition, non-determinism due to timer-based sampling for JIT optimization, thread scheduling, and various system effects further complicate the Java performance benchmarking process.

Replay compilation is a recently introduced Java performance analysis methodology that aims at controlling non-determinism to improve experimental repeatability. The key idea of replay compilation is to control the compilation load during experimentation by inducing a pre-recorded compilation plan at replay time. Replay compilation also enables teasing apart performance effects of the application versus the virtual machine.

This paper argues that in contrast to current practice which uses a single compilation plan at replay time, multiple compilation plans add statistical rigor to the replay compilation methodology. By doing so, replay compilation better accounts for the variability observed in compilation load across compilation plans. In addition, we propose matched-pair comparison for statistical data analysis. Matched-pair comparison considers the performance measurements per compilation plan before and after an innovation of interest as a pair, which enables limiting the number of compilation plans needed for accurate performance analysis compared to statistical analysis assuming unpaired measurements.


The bulk of this paper made up Chapter 5 in my PhD dissertation, which was published on April 30, 2008. Here and there slight improvements were made before we submitted the final version. You can get a <a href="http://itkovian.net/base/files/papers/oopsla2008-georges-preprint.pdf">preprint</a> version of the paper. The presentation I gave is available in both <a href="http://itkovian.net/base/files/papers/oopsla2008-georges-presentation.pdf">pdf</a> format or as a <a href="http://itkovian.net/base/files/papers/oopsla2008-georges-presentation.zip">zipped Keynote</a> archive.]]></description>
			<content:encoded><![CDATA[<p>At this year&#8217;s <a href="http://oopsla.org/oopsla2008/">OOPSLA</a> I am going to present a paper that was accepted in the Research Papers track.</p>
<p>Java Performance Evaluation through Rigorous Replay Compilation, <a href="http://itkovian.net">Andy Georges</a>, and <a href="http://www.elis.ugent.be/~leeckhou">Lieven Eeckhout</a>, <a href="http://buytaert.net">Dries Buytaert</a></p>
<p>The abstract of this paper reads as follows.</p>
<p>A managed runtime environment, such as the Java virtual machine, is non-trivial to benchmark. Java performance is affected in various complex ways by the application and its input, as well as by the virtual machine (JIT optimizer, garbage collector, thread scheduler, etc.). In addition, non-determinism due to timer-based sampling for JIT optimization, thread scheduling, and various system effects further complicate the Java performance benchmarking process.</p>
<p>Replay compilation is a recently introduced Java performance analysis methodology that aims at controlling non-determinism to improve experimental repeatability. The key idea of replay compilation is to control the compilation load during experimentation by inducing a pre-recorded compilation plan at replay time. Replay compilation also enables teasing apart performance effects of the application versus the virtual machine.</p>
<p>This paper argues that in contrast to current practice which uses a single compilation plan at replay time, multiple compilation plans add statistical rigor to the replay compilation methodology. By doing so, replay compilation better accounts for the variability observed in compilation load across compilation plans. In addition, we propose matched-pair comparison for statistical data analysis. Matched-pair comparison considers the performance measurements per compilation plan before and after an innovation of interest as a pair, which enables limiting the number of compilation plans needed for accurate performance analysis compared to statistical analysis assuming unpaired measurements.</p>
<p>The bulk of this paper made up Chapter 5 in my PhD dissertation, which was published on April 30, 2008. Here and there slight improvements were made before we submitted the final version. You can get a <a href="http://itkovian.net/base/files/papers/oopsla2008-georges-preprint.pdf">preprint</a> version of the paper. The presentation I gave is available in both <a href="http://itkovian.net/base/files/papers/oopsla2008-georges-presentation.pdf">pdf</a> format or as a <a href="http://itkovian.net/base/files/papers/oopsla2008-georges-presentation.zip">zipped Keynote</a> archive.<!--break--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.itkovian.net/base/java-performance-through-rigorous-replay-compilation/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Pattie Maes at OOPSLA</title>
		<link>http://www.itkovian.net/base/pattie-maes-at-oopsla/</link>
		<comments>http://www.itkovian.net/base/pattie-maes-at-oopsla/#comments</comments>
		<pubDate>Thu, 08 Nov 2007 13:00:48 +0000</pubDate>
		<dc:creator>Itkovian</dc:creator>
				<category><![CDATA[oopsla]]></category>
		<category><![CDATA[pattie maes]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://www.itkovian.net/base/?p=182</guid>
		<description><![CDATA[At OOPSLA I listened with interest to a keynote talk given by Pattie Maes. Originally from Belgium, she became well known for her work on agents and artificial intelligence. Nowadays she works at the renowed MIT, where she focuses on ambient environments and technologies that should provide users with better experiences when moving in such an invironment.]]></description>
			<content:encoded><![CDATA[<p>At OOPSLA I listened with interest to a keynote talk given by Pattie Maes. Originally from Belgium, she became well known for her work on agents and artificial intelligence. Nowadays she works at the renowed MIT, where she focuses on ambient environments and technologies that should provide users with better experiences when moving in such an invironment.</p>
<p>The premise of her talk was the fact that there is a lot of information sitting idly around us. This information is not easily accesible. Moreover, relevant information that might help us understand our environment, or help us make decisions is rarely looked up when it is actually required. A typical example of this is shopping. There is much more we could learn, if the information about products was made available in a timely and intuitive fashion. Making this happen in a seamless manner is the goal of Pattie&#8217;s current work.</p>
<p>An initial step to making this happen is by equipping users with a wristband containing an RFID-reader. The RFID tag of various products can then be sent to a device capable of interacting with the information world, such as a PDA that can access the web.</p>
<p>This basic piece of equipment can be augmented by a gesture detection system. Such a system allows the users to rapidly browse the information, without requiring him to do awkward stuff of the PDA. A flick of the wrist might mean we want more information. The idea got a little scary when this is applied to people. Touching a person, e.g., by shaking his hand, could give you access to the public (ahem) information on that person. This would be handy when interviewing job candidates. It seems to me that there are much more scary possibilities, that invade our rights or privacy. I can imagine the police force finding this bit of technology quite handy when they have to hunt down people in a crowd. Legitimate use would be chasing criminals, but as we have seen in recent developments, people can be placed on a list of criminals (i.e., the no-fly list) for no other reasons than eating certain types of food.</p>
<p>Anyhow, the obvious step that follows the previous system is providing physical objects with an interface, i.e., creating meta-objects that can be attributed to real-world stuff. These object then provide the information people are interested in for each individual object.</p>
<p>Taking this further, makes us arrive at gaze-based interaction. Here, infra-red detectors determine the point at which somebody looks. A system like this can be used in musea, to broker information about specific details of a piece of art to visitors. Or it can be used to educate users about products.</p>
<p>Minimising the wristband yields a ring that can be used to point at objects. The target can then respond, e.g., by turning a LED green if the product matches your profile, or red if it does not. Said profilecould be a shopping list. Or a list with substances the user reponds allergic to. In this way he can select the goods that do not contain any of these substances without having to scan the list of ingredients over and over. Personally, I think this might be quite handy, although after several times shopping, you do get to know what you can buy and what not.</p>
<p>All of the above imposes technical challenges for both software and hardware:</p>
<ul>
<li> what is the user focusing on
<li> find relevant (personalised) information
<li> offer this information to the user in an unobtrusive way
</ul>
<p>I am not sure if this counts as unobtrusive but an example Pattie gave was the following. Objects could gain awareness, and try to attract your attention by lighting up when one passes by. An example is browsing a bookstore, where you can easily see which books match your interest.</p>
<p>A pretty cool example was that of the smart stickies. Current stickes cannot interact with people looking at it. Quickies are post-it notes that can be searched and located and send the writer reminders. For example, a to-do, a tag in a book, meeting data, etc. They can look up people in an address book an notify them automagically. They can also be used to keep track of personal items.</p>
<p>New research focuses on items that have I/O capabilities: I/O objects. An example is a pillow that can act as an interface to send messages to its peer, residing in your home. Another example was given by shutters that will automagically close to keep you out of the sunlight, while allowing light to pass to the rest of the room, so you can read in peace, without all that annoying sunlight getting into your eyes.</p>
<p>The most nifty example of an I/O object were the siftables. These are tiny machines, with their own screen, CPU, etc. that can detect neighbours. They can interact with each other when touching or residing near to each other. For example, if the screens show a face, the image is automatically adjusted such that the face looks at the neighbouring siftable. A possible use would be to teach people the concepts of OO-programming (which seemed to be the only relation the talk had with the main OOPSLA topics), as they have physical objects that can be manipulated and that respond to interaction with other object.</p>
<p>Pattie closed with mentioning the overall goal is to rethink how people can interact with the physical world by delivering just-in-time information in a non-disruptive way. This information would be accessed by different means than what we currently use: a keyboard and a mouse (or substitues for that, such as<br />
a touchscreen).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itkovian.net/base/pattie-maes-at-oopsla/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Kathy Sierra on creating passionate users</title>
		<link>http://www.itkovian.net/base/kathy-sierra-on-creating-passionate-users/</link>
		<comments>http://www.itkovian.net/base/kathy-sierra-on-creating-passionate-users/#comments</comments>
		<pubDate>Thu, 25 Oct 2007 17:48:27 +0000</pubDate>
		<dc:creator>Itkovian</dc:creator>
				<category><![CDATA[kathy sierra]]></category>
		<category><![CDATA[montreal]]></category>
		<category><![CDATA[oopsla]]></category>
		<category><![CDATA[passion]]></category>

		<guid isPermaLink="false">http://www.itkovian.net/base/?p=180</guid>
		<description><![CDATA[One of the keynote speakers at this years OOPSLA was the normal-from-afar-but-impressive-from-closeup-especially-when-speaking Kathy Sierra. She talked to us about how to create a host of passionate users. I'll try and give an impression of the key points she touched upon.]]></description>
			<content:encoded><![CDATA[<p>One of the keynote speakers at this years OOPSLA was the normal-from-afar-but-impressive-from-closeup-especially-when-speaking Kathy Sierra. She talked to us about how to create a host of passionate users. I&#8217;ll try and give an impression of the key points she touched upon.</p>
<p>First of all, it is important to recognize, people still want to meet in person, despite all the technological advances made during the last years that really means we can talk to one another without leaving our home, or the comfort of our couch. So to create a bunch of passionate users, you should build on this desire and get them together, where they can talk, discuss, learn and teach. A good example she gave was that of a barcamp. Basically, the roadmap to instilling passion in your users is discovering the characteristics these people have in common.</p>
<p>Essentially, where there is passion, there is a user kicking ass. So, you want people to get good at things, because if you suck at something, there is no way you will be passionate about it. Counterexample 1: I still suck at <a href="http://haskell.org">Haskell</a>, but I&#8217;m quite passionate about it. Counterexample 2: the same goes for me and <a href="http://drupal.org">Drupal</a>. But that may just be me. Most likely it is. On the other hand, there are <a href="http://buytaert.net">people</a> encouraging me to be passionate about this. With this observation, she encouraged the audience to give users a hi-res experience, such that they could understand that if they passed the suckiness threshold, they could really rock. This means showing things to people as you see them, and transferring your passion. For example, a mountain climber will certainly look differently at a rock wall than Joe average, e.g., me.</p>
<p>The main issue is that often people are encouraged to be passionate about a tool, rather than at what the tool can help them accomplish. Nice example is the camera. What you want to do is to make kick-ass pictures. So get people to be better at using the tool, helps them reach this goal. But don&#8217;t mention this, just show them the cool stuff they can do, without emphasising the tool itself.</p>
<p>Kathy claimed that the first roadblock to get things rolling is the brain of the users. People operate at a subconsious level, not at a logical level, despite the fact that &#8211; so she said &#8211; many men like to believe otherwise. Furthermore, brain have built-in crap filters, meaning it&#8217;s important to get the things you want users to retain pass those filters. The mind however operates at a higher level, but people are rarely actually guided by their mind. For example, when they really want something, they will seek arguments why they should be allowed to get what they want, rather than listening to their (correct) mind that tries to tell them not to for some good reason (e.g., no money). Her reasoning was that the brain cares about either life-sustaining of life-threatening things, about joy, sadness, anger, love, scary things, new things, intruiging things, etc. However, the brain cares not one whit about code. The brain also cares about faces, so it is more desirable to people to talk in person to somebody, instead of having them interact with a machine. The bottom line is that use have to use every trick at your disposal to capture the attention of the user. For example, conversational language captures people attention better than formal language. I guess that&#8217;s one to keep in mind for my PhD dissertation.</p>
<p>Well, everybody think he&#8217;s above average, even when it is not true. So the path to succes is constructed by dangling the carrot in front of the users: allow them to have the idea how cool they will be when they grow above the sucking threshold. So, users need a clear path to get to the good stuff, see a compelling picture down the end of the road, and a relatively easy first step onto the path. So, users must not be dumbed down. Additionally, the path must be open ended. Every time there must be a step users can take to keep increasing their competence.</p>
<p>Because all computer applications are somehow agnostic at some level to what users think, it is important that users can knock on the door when they get confused. Kathy called this adding a WTF? button to an application. One of the problem is that users guides and FAQs are written for happy people, not for somebody about to smack the hardware (after all, hardware is the part you kick). So FAQs are written for users on the other side of the canyon of pain.</p>
<p>I really like her metaphores.</p>
<p>Getting users on the path to world domination is but the first step, you also have to keep them going. The best way to do this is to get them in the flow state, which is the state where people just need to do this one extra thing, one more compile, and it will work, etc. They are not aware of time passing, and face it, you probably also accomplished most when you&#8217;re there. There seems to be a precarious balance between knowledge, skill and challenge. To avoid slamming users back to reality, you should make the good things easy, and the wrong things hard to do.</p>
<p>I think that she illustrated her point quite good by using the game example. In a good game, there is a payoff when a player attains certain experience, e.g., a faster car, better weaponry, etc., but there are also tougher challanges to be faced to get even further.</p>
<p>She made me grin when she asked how we feel about users. RTFM? That&#8217;s usually how I think most of the time, after having things explained time and again. But obviously it is the wrong approach, and deep down, we all know it. This is why some online communities are much more succesful than others. Those that don&#8217;t bark nor bite but care about newbies can get them up to speed easiest and create a following that will (hopefully) repond the same way later on when they passed the suck threshold. I think a good example of this is #haskell on irc.freenode.net, where people have always been helpful for as long as I&#8217;ve known. This is one of the key issues Kathy touched upon: get the community to help out. People should be encouraged to answer politely, and answer instead of just asking questions. Even when something is answered wrongl, the community can pitch in and correct things. And because newbies recall their pain best, it is important they actively contribute.</p>
<p>Moreover, when a community can be converted into a tribe, passion may be ignited sooner. A tribe has special little things only the members are in on, and they notice each other. Tribe members id themselves with a special thing, and they&#8217;re proud to be part of it. Provide people with the means to show they are part of the tribe, e.g., bumper stickers, t-shirts etc. I guess I should be taking my Drupal t-shirt out to the dry-cleaner so I dare wear it again. As Kathy nicely puts it: insider information is trading currency, so give your users something to talk about. Apple users should know what she means, given the huge number of rumour sites.</p>
<p>Finally, appreciate the intelligence of your users. A crowd can reach concensus, but that&#8217;s probably not what you&#8217;re interested in. Individuals can contribute better if they get the chance. So make them think they rule individually.</p>
<p>I really liked her talk, it was well paced, and had very well thought-out illustrations on the slides. She gave quite a lot of things to talk and think about. Which I what I intend to do.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itkovian.net/base/kathy-sierra-on-creating-passionate-users/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Statistically Rigorous Java Performance Evaluation: presentation</title>
		<link>http://www.itkovian.net/base/statistically-rigorous-java-performance-evaluation-presentation/</link>
		<comments>http://www.itkovian.net/base/statistically-rigorous-java-performance-evaluation-presentation/#comments</comments>
		<pubDate>Tue, 23 Oct 2007 21:55:07 +0000</pubDate>
		<dc:creator>Itkovian</dc:creator>
				<category><![CDATA[research]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[oopsla]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://www.itkovian.net/base/?p=179</guid>
		<description><![CDATA[If you are interested in the presentation I gave at OOPSLA, you can get a Keynote exported <a href="http://itkovian.net/base/files/papers/oopsla2007-georges-presentation.pdf">pdf</a>.]]></description>
			<content:encoded><![CDATA[<p>If you are interested in the presentation I gave at OOPSLA, you can get a Keynote exported <a href="http://itkovian.net/base/files/papers/oopsla2007-georges-presentation.pdf">pdf</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itkovian.net/base/statistically-rigorous-java-performance-evaluation-presentation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A tutorial on user-interface design</title>
		<link>http://www.itkovian.net/base/a-tutorial-on-user-interface-design/</link>
		<comments>http://www.itkovian.net/base/a-tutorial-on-user-interface-design/#comments</comments>
		<pubDate>Mon, 22 Oct 2007 04:08:25 +0000</pubDate>
		<dc:creator>Itkovian</dc:creator>
				<category><![CDATA[montreal]]></category>
		<category><![CDATA[oopsla]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.itkovian.net/base/?p=177</guid>
		<description><![CDATA[I attended the 'From use to user interface' tutorial at OOPSLA, which was presented by Jeff Patton. The approach outlined was the following. First, start by writing a scenario, with a specific user (and his associated persona) in mind. Go down to the nitty gritty details (fish and clam-level), as well as the broad scope (sea-level and above). In reality, you might have to create a few dozen scenario's to cover the entire use-space for your particular problem.]]></description>
			<content:encoded><![CDATA[<p>I attended the &#8216;From use to user interface&#8217; tutorial at OOPSLA, which was presented by Jeff Patton. The approach outlined was the following. First, start by writing a scenario, with a specific user (and his associated persona) in mind. Go down to the nitty gritty details (fish and clam-level), as well as the broad scope (sea-level and above). In reality, you might have to create a few dozen scenario&#8217;s to cover the entire use-space for your particular problem.</p>
<p>From the scenario, identify user interface elements that help the user execute the tasks required to reach his goal. For this, Jeff advocated using post-it notes, as they can be reordered on a board, and teared up when wrong.</p>
<p>Given the post-it notes create paper UI building blocks, such as labels, input fields, buttons, tables, etc. these should be sticked onto paper sheets, which represent the screens a user sees as he proceeds through his stack of tasks.</p>
<p>Final phase is the testing. Get a person to play the computer, a person to explain the scenario, and a few people choosing to pick the UI-elements. Finally, somebody should observe and jot down everything the testers have trouble with.</p>
<p>The next step is to repeat the above phases as much as needed until you are confident the user interface you designed meets its requirements.</p>
<p>In all, I think this can be a good approach, especially when a complicated user interface needs to be designed. However, I&#8217;m still partial to the paper cutting and sticking the components onto paper. It seems to me that this might be a little time-consuming. This is especially true when you need a lot of screens, and the problem you&#8217;re dealing with is fairly complex. Basically, I think an electronical counterpart to the paper based cut-and-stick idea might work faster. Additionally, it seems as if the proposed approach is very hungry on people resources, so it might cost quite a lot to have a user interface designed in this way. And the testing phase seems to be quite awkward. But I&#8217;m no expert whatsoever. And a well-designed interface can of course rapidly earn its development price back because it can appeal to people, causing them to buy/use your application.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itkovian.net/base/a-tutorial-on-user-interface-design/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Adding Rigorous Statistics to the Java Benchmarker&#039;s Toolbox</title>
		<link>http://www.itkovian.net/base/adding-rigorous-statistics-to-the-java-benchmarkers-toolbox/</link>
		<comments>http://www.itkovian.net/base/adding-rigorous-statistics-to-the-java-benchmarkers-toolbox/#comments</comments>
		<pubDate>Tue, 16 Oct 2007 13:23:41 +0000</pubDate>
		<dc:creator>Itkovian</dc:creator>
				<category><![CDATA[research]]></category>
		<category><![CDATA[abstract]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[oopsla]]></category>
		<category><![CDATA[poster]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://www.itkovian.net/base/?p=173</guid>
		<description><![CDATA[You can find the <a href="http://itkovian.net/base/files/papers/oopsla2007-poster.pdf">pdf</a> of the poster I will be presenting together with <a href="http://buytaert.net">Dries</a> at <a href="http://oopsla.org/oopsla2007">OOPSLA</a> this year. If all went well, there should be a two-page poster abstract printed in the OOPSLA Companion (<a href="http://itkovian.net/base/files/papers/oopsla2007-poster-abstract-preprint.pdf">preprint</a>). So feel free to drop by on <a href="http://www.oopsla.org/oopsla2007/index.php?page=program/posters/">Monday evening</a> and have a chat.]]></description>
			<content:encoded><![CDATA[<p>You can find the <a href="http://itkovian.net/base/files/papers/oopsla2007-poster.pdf">pdf</a> of the poster I will be presenting together with <a href="http://buytaert.net">Dries</a> at <a href="http://oopsla.org/oopsla2007">OOPSLA</a> this year. If all went well, there should be a two-page poster abstract printed in the OOPSLA Companion (<a href="http://itkovian.net/base/files/papers/oopsla2007-poster-abstract-preprint.pdf">preprint</a>). So feel free to drop by on <a href="http://www.oopsla.org/oopsla2007/index.php?page=program/posters/">Monday evening</a> and have a chat.</p>
<p>The abstract to this abstract reads as follows.</p>
<p>Java performance is far from trivial to benchmark because it is affected by various factors such as the Java application, its input, the virtual machine, the garbage collector, the heap size, etc.  In addition, non-determinism due to Just-in-Time compilation/optimization, thread scheduling, etc., causes the execution time of a Java program to differ from run to run.</p>
<p>This poster advocates statistically rigorous data analysis when reporting Java performance.  We advise to model non-determinism by computing confidence intervals. In addition, we show that prevalent data analysis approaches may lead to misleading or even incorrect conclusions. Although we focus on Java performance, the techniques can be readily applied to any managed runtime system.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itkovian.net/base/adding-rigorous-statistics-to-the-java-benchmarkers-toolbox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Statistically Rigorous Java Performance Evaluation</title>
		<link>http://www.itkovian.net/base/statistically-rigorous-java-performance-evaluation/</link>
		<comments>http://www.itkovian.net/base/statistically-rigorous-java-performance-evaluation/#comments</comments>
		<pubDate>Mon, 18 Jun 2007 10:18:56 +0000</pubDate>
		<dc:creator>Itkovian</dc:creator>
				<category><![CDATA[paper]]></category>
		<category><![CDATA[research]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[non-determinism]]></category>
		<category><![CDATA[oopsla]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://www.itkovian.net/base/?p=158</guid>
		<description><![CDATA[The following paper has been accepted for OOPSLA 2007.

Statistically Rigorous Java Performance Evaluation, <a href="http://itkovian.net">Andy Georges</a>, <a href="http://buytaert.net">Dries Buytaert</a>, and <a href="http://www.elis.ugent.be/~leeckhou">Lieven Eeckhout</a>.

The abstract reads as follows.]]></description>
			<content:encoded><![CDATA[<p>The following paper has been accepted for OOPSLA 2007.</p>
<p>Statistically Rigorous Java Performance Evaluation, <a href="http://itkovian.net">Andy Georges</a>, <a href="http://buytaert.net">Dries Buytaert</a>, and <a href="http://www.elis.ugent.be/~leeckhou">Lieven Eeckhout</a>.</p>
<p>The abstract reads as follows.</p>
<p>Java performance is far from being trivial to benchmark because it is affected by various factors such as the Java application, its input, the virtual machine, the garbage collector, the heap size, etc. In addition, non-determinism at run-time causes the execution time of a Java program to differ from run to run. There are a number of sources of non-determinism such as Just-In-Time (JIT) compilation and optimization in the virtual machine (VM) driven by timer-based method sampling, thread scheduling, garbage collection, and various system effects.</p>
<p>There exist a wide variety of Java performance evaluation methodologies used by researchers and benchmarkers. These methodologies differ from each other in a number of ways. Some report average performance over a number of runs of the same experiment; others report the best or second best performance observed; yet others report the worst. Some iterate the benchmark multiple times within a single VM invocation; others consider multiple VM invocations and iterate a single benchmark execution;<br />
yet others consider multiple VM invocations and iterate the benchmark multiple times.</p>
<p>This paper shows that prevalent methodologies can be misleading, and can even lead to incorrect conclusions. The reason is that the data analysis is not statistically rigorous. In this paper, we present a survey of existing Java performance evaluation methodologies and discuss the importance of statistically rigorous data analysis for dealing with non-determinism. We advocate approaches to quantify startup as well as steady-state performance, and, in addition, we provide the JavaStats software to automatically obtain performance numbers in a rigorous manner. Although this paper focuses on Java performance evaluation, many of the issues addressed in this paper also apply to other programming languages and systems that build on a managed runtime system.</p>
<p>This paper took quite some work, especially in the experimentation-wise. While the initial reviews were very positive, they required us to perform several extra experiments. But in the end, it was worth the effort. You can get a <a href="http://itkovian.net/base/files/papers/oopsla2007-georges-preprint.pdf">preprint</a> version.</p>
<p>So, 2 out of X at OOPSLA for us! Yay!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itkovian.net/base/statistically-rigorous-java-performance-evaluation/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

