<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-18689779</id><updated>2012-01-29T23:25:26.952-08:00</updated><title type='text'>Discipline Is Freedom</title><subtitle type='html'>Software Development: problems, solutions, and the problems of the solutions - by Alisson Sol</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default?start-index=101&amp;max-results=100'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>171</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-18689779.post-5212043737574601922</id><published>2012-01-29T23:22:00.000-08:00</published><updated>2012-01-29T23:25:26.973-08:00</updated><title type='text'>Machine Learning Testing</title><content type='html'>It is strangle how bubbles go up. Early adopters obtain extraordinary results, and soon people are talking about the “chasm” being crossed, and new adopters already are being called latecomers.&lt;br /&gt;&lt;br /&gt;One of the recent bubbles in the software industry is machine learning. It shows clearly the stage of the software industry that the job market is full of positions for developers with experience in implementing machine learning in the most farfetched scenarios. Yet, you see almost no positions for testers requiring equivalent experience. How come?&lt;br /&gt;&lt;br /&gt;Who will be asking questions regarding the repeatability of the results? It comes as an enormous surprise to some CIOs when they uncover that several of the methods currently used in what is named “machine learning” are statistical methods, which won’t produce the same result twice, even if provided the same input. It comes as an even larger surprise that testing the implementation with the same data used for its “training” is absolutely useless, and that they need an equivalently large input dataset for testing purposes. And it surprises several developers that machine learning libraries, even if implementing a method with reliable confidence, still demand a lot of transformation of the raw input into the features used in the training process, and then a lot of filtering of the output before it is really usable.&lt;br /&gt;&lt;br /&gt;Machine learning testing ought to be seen soon as a much desired skill. Before we start to believe that the machines will test themselves.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-5212043737574601922?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/5212043737574601922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=5212043737574601922' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/5212043737574601922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/5212043737574601922'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2012/01/machine-learning-testing.html' title='Machine Learning Testing'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-1392913465923147662</id><published>2012-01-14T22:24:00.001-08:00</published><updated>2012-01-14T22:24:58.846-08:00</updated><title type='text'>Why Fiat Will Fail Again in the USA</title><content type='html'>Upon a lot of insistence, I agreed to investigate buying a second car for those exceptional occasions when having a single car parked in my garage is not enough. My criterion was simple: I wanted to buy the smallest car that could reasonably sit 4 (not so big) people. Seeking the Internet, I’ve made a list of small cars I could buy: Fiat 500, the Toyota Yaris, Mazda 2, Mini Cooper, etc. Afterwards, I went to the concessionaries, did test drives, and compared features and prices.&lt;br /&gt;&lt;br /&gt;Since the car would be rarely used, at least I wanted to have a little comfort when using it, and wanted at least leather seats and the ability to connect my phone to the car sound system. Not such hard requirements circa 2012. After evaluating the cars fulfilling my requirements, and having had my wife also doing a few test drives, I decided for the Fiat 500. Then I sent Fiat my data, and my acceptable conditions regarding down payment and monthly payment. I got a call saying that all was acceptable, and that I could stop by to sign the deal and get the car. My wife was happy, knowing that I take several months between starting the process and ever finishing it, and now things looked like coming to an end. Yet, when the final call comes to define the date/time to pick up the car, I warned clearly that if I arrived there and lease numbers for the car were different, I wouldn’t do the deal, and that I’m not convinced by “last minute pressure to avoid losing deals”.&lt;br /&gt;&lt;br /&gt;About 30 minutes later I got a call from Fiat to inform me that they had some internal miscommunication between their departments. As a result, the car that they showed me couldn’t be leased in the terms they previously agreed (in the very previous call!). I could get another car on those terms… and, long story short, the call is transferred to the manager, who tries again each and every one of the oldest tricks in the car salesman book: try to convince me that the car is selling too well, that the model shown to me is too exclusive and special, that maybe I could get another car, or be more “flexible” in the financial terms, etc. Basically: it was like he was still in a 70s movie, the Saturn brand had never existed, and he was dealing with a low credit score buyer in desperation to buy a car. While hearing his speech, the only thing I could think about was how many Fiats I saw on the streets since deciding to buy one: zero!&lt;br /&gt;&lt;br /&gt;With a service like this during the pre-sale process, I could only imagine the “miscommunications” that could happen if I ever needed post sale service. Obviously, no deal was made, and I’ve now reset the process, since I want to wait to see the Prius c. Trying to use the European sales technique in the USA won’t help Fiat. They have a reasonable car, but need to upgrade the sales technique, by a couple of decades.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-1392913465923147662?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/1392913465923147662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=1392913465923147662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/1392913465923147662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/1392913465923147662'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2012/01/why-fiat-will-fail-again-in-usa.html' title='Why Fiat Will Fail Again in the USA'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-6780975897218329313</id><published>2012-01-08T17:57:00.000-08:00</published><updated>2012-01-08T18:01:27.842-08:00</updated><title type='text'>After the Social Networking Bubble</title><content type='html'>There is overall recognition that the social networking bubble is about to burst. Marketing departments can no longer justify the investment in all the “social networking agencies” created by ex-employees and used under the insistence of currently employed friends to boost the “social presence” of companies in return for… nothing. Most of times, the return on investment is not measured. When measured, it usually proves that money is being thrown away without return. Yet, results are quickly hidden because nobody wants to expose that social networking marketing doesn’t provide return on investment. Better to “try again with another approach”. It is all that the economy needs nowadays: companies throwing money into ludicrous ads placed near childish comments made by adults.&lt;br /&gt;&lt;br /&gt;When this bubble bursts, what will be left? It used to be that companies placed ads near content printed on newspapers. You can still go to libraries and see such ads. Some allow you to learn more about those times than the content of the newspaper/magazine, which carried the ideological view of the time. That “memory” was mostly lost with the radio and television. Most of the old shows replayed today are “clean” of the ads placed when they first played. Due to the myriad of network alliances and rebroadcasting agreements across the world, tv shows try, as much as possible, to be timeless and understandable by a world-wide audience. There is little or no interest on capturing the ads displayed along with the tv shows. The Internet is probably even worse in terms of capturing the history of its time. Ads are presented based on algorithms that try to target each individual. What web page to capture as a reference for the future?&lt;br /&gt;&lt;br /&gt;When the social network bubble bursts, and having a social network account becomes the equivalent of having a fax number today, little will be left of value for the human history. Except if someone wants to add a new chapter to the series of books on “Extraordinary Popular Delusions and the Madness of the Crowds”, full of childish comments made by adults circa 2010+.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-6780975897218329313?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/6780975897218329313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=6780975897218329313' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6780975897218329313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6780975897218329313'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2012/01/after-social-networking-bubble.html' title='After the Social Networking Bubble'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-2164772495591754275</id><published>2012-01-02T09:55:00.000-08:00</published><updated>2012-01-02T09:58:52.192-08:00</updated><title type='text'>Software Bubbles in 2012</title><content type='html'>Some software bubbles are bursting, softly. Hopefully, 2012 may become the beginning of a return to normal, similar to the slow process being faced by the house market. Hopefully, people will realize that friends are not those you met once who like a silly comment you posted online. Hopefully, real friends will not like such pitiable comments, and instead send an offline message or make a phone call to the person and ask in a really interested way: “How are things going?”. Countries should run on activities that create value, not on Prozac.&lt;br /&gt;&lt;br /&gt;Some advertisers are finally realizing that the information provided to them about social network users produces targeted ads. Yet, that doesn’t translate into a correlated increase in sales. Obviously, they have to realize that themselves: as in any bubble, it is not in the best interest of a series of man-in-the-middle to surface such information.&lt;br /&gt;&lt;br /&gt;There is nothing more “bubbly” than the small form factor market: phones and tablets. Let’s face it: people that can live out a mobile or tablet today are only consumers of information, or producers of irrelevant posts in social networks. The most you can sell them is a movie, for about U$10.00. There won’t be investment decisions of 100 million dollars made without drilling down into the underlying information. Yet, what if you could offer them the delusion of importance, tied to a two-year contract worth north of U$2,000? Well, make them fell as important as they want, and give them the newest and more useful (or useless?!) device, as long as they keep the payments coming.&lt;br /&gt;&lt;br /&gt;There is a problem with any business that depends on misinformation of customers: it only lasts for a while. People are realizing that not all of them make comments that will change the world, and that they can live without embarrassing themselves on social networks in return for less than 5 minutes of “recognition”. Most important is that economic failures of business models based on misinformation of customers are making investors wish for a little more than the fictitious number of “visitors” before signing the cheques funding absurd ideas. That is the key moment when a bubble starts to die: when the investors awake to the fact that they can no longer find more people to place in the basis of the pyramid scheme. The pyramid scheme of social networks and ludicrous phone contracts is finally reaching that point. Happy 2012!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-2164772495591754275?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/2164772495591754275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=2164772495591754275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2164772495591754275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2164772495591754275'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2012/01/software-bubbles-in-2012.html' title='Software Bubbles in 2012'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-2852435453722015593</id><published>2011-12-31T17:24:00.000-08:00</published><updated>2011-12-31T17:26:11.126-08:00</updated><title type='text'>Error messages: the 2011 list</title><content type='html'>It is not that I only saw new ones this year. This adds to all those I've been facing for the last few years.&lt;br /&gt;&lt;br /&gt;5) &lt;b&gt;Event Log entry for Windows HomeServer: Client Backup server failed at d:\wssg_src\whs_pp3\qhs\src\backup\util\sort.cpp(985).&lt;/b&gt; Because all customers really need is to know in which line the code failed, isn't it?&lt;br /&gt;&lt;br /&gt;4) &lt;b&gt;The page at https://www.santander.com.br says: -2147217904-Microsoft OLE DB Provider for SQL Server-Procedure or function 'p_IBPF_ObterUsuariosContaID' expects parameter '@NU_Banco', which was not supplied. L:[580].&lt;/b&gt; Continuing with the trend, let's inform the users in which line the stored procedure failed.&lt;br /&gt;&lt;br /&gt;3) &lt;b&gt;Message from webpage: ERROR: Possible problem with your *.gwt.xml module file. The compile time user.agent value (ie6) does not match the runtime user.agent value (ie8). Expect more errors.&lt;/b&gt; I like the part about expecting more errors. It gives the customer a lot of hope...&lt;br /&gt;&lt;br /&gt;2) &lt;b&gt;Microsoft Visual Studio. A fatal error has occurred and debugging needs to be terminated. For more details, pelase see the Microsoft Help and Support web site. HRESULT=0x8007000e. ErrorCode=0x0.&lt;/b&gt; It is not that most customers would face this. But those few developers that like me live out of really coding, love when Visual Studio goes away in the middle of a debugging session that at times took you a while to setup, isn't it?&lt;br /&gt;&lt;br /&gt;1) &lt;b&gt;Microsoft Outlook: The attempted operation failed. An object could not be found. Was this information helpful?&lt;/b&gt; No. The information wasn't useful!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-2852435453722015593?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/2852435453722015593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=2852435453722015593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2852435453722015593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2852435453722015593'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/12/error-messages-2011-list.html' title='Error messages: the 2011 list'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-2584848870902527791</id><published>2011-11-26T22:23:00.000-08:00</published><updated>2011-11-26T22:25:11.130-08:00</updated><title type='text'>Slow Shutdown</title><content type='html'>Back for a while to the world of (near) real-time software applications, I’m reminded of one of the most difficult software development tasks: debugging device drivers. Mainly when there is a lot of previously existing code, and few unit tests. Yet, that wouldn't be such a problem if I could get to a clean state quickly.&lt;br /&gt;&lt;br /&gt;Despite several available virtualization solutions, one of the main problems faced nowadays with restoring operating systems to a previous state is not only the time it takes to boot a certain configuration, but the time it takes to shutdown a running operation system, gracefully. By now, I know about all the possible explanations (drivers, cleaning page file, antivirus interference, etc.). I can understand those explanations. What about those that cannot do it?&lt;br /&gt;&lt;br /&gt;Are customers supposed to just accept that, after any confirmation about unsaved work, a running operating system may take at times 5 minutes or more to just “stop”? That is quite unbearable, and some of the “optimizations” I’ve read about, like disabling the cleaning of the page file, are creating security issues that most customers are likely unaware of. A shame on us, developers who allowed this to happen.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-2584848870902527791?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/2584848870902527791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=2584848870902527791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2584848870902527791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2584848870902527791'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/11/slow-shutdown.html' title='Slow Shutdown'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-2978705428231612521</id><published>2011-11-12T12:33:00.000-08:00</published><updated>2011-11-12T12:34:22.996-08:00</updated><title type='text'>Behavior and Discourse Correlation</title><content type='html'>There is no way to judge someone based on a few interactions. Those are just a few data points in a big picture that could only be painted by shadowing someone 24/7, what is impossible. Yet, over time we start to slowly accumulate data, modifying the default BDC (Behavior and Discourse Correlation) assigned to someone. Such default is mostly based on past experiences. Those who in the past had mostly positive experiences with people have the tendency to assign to unknown people the BDC of 1.0: they expect new acquaintances to do what they say they would do. Meanwhile, those who had an intense and prolonged exposure to people that don’t behave as per their own talk assign to new acquaintances the BDC of 0.0. Both extreme cases are uncommon, and most people will have a “default” somewhere in the middle. Obviously, most people don’t think about this consciously.&lt;br /&gt;&lt;br /&gt;As life progresses, one starts to realize that first impressions are almost always wrong. That abrasive person you once met in a business meeting may turn out to be the most docile neighbor you will ever have. The “nice guy” you once met, who agreed with you on almost everything, is eventually uncovered as a backstabber. The nice teacher, who everyone liked, may later be exposed as totally incompetent, and student’s grades were just being inflated to get everyone’s sympathy. You didn’t know what you didn’t know, and the “easy teacher” didn’t really help in the long term by making things “easy”. Yet, most people have a tendency to prefer the people that are “easy to deal with” instead of the people that have a greater BDC. Unconsciously, that is what I typically perceive as what most people do (again, including myself!). Consciously, I try as hard as possible to avoid that, and actively try to interact with those that take me away from my comfort zone.&lt;br /&gt;&lt;br /&gt;There was a reason for the epiphany that once made me consider modeling such correlation between the “discourse” and the “actions” of people. Up to a point in my life, I worked mostly for small to medium size organizations. Afterwards, I was exposed to the work life of “large organizations”. I even had the benefit of already knowing a little what to expect, given that my father worked for a very large company and, at that time, a government monopoly in my country of origin. Yet, it was amazing to see in person how things worked, and how the average BDC decreases as the size of a corporation increases.&lt;br /&gt;&lt;br /&gt;It is rare to see bad ideas flow far in large organizations. All ideas are debated, challenged, polished, and improved, up to a point in which policies and regulations in large organizations are usually great. In isolation or even in aggregation, I rarely found any “corporate handbook” in which I could easily point out something that was “pure nonsense”. Yet, when it comes to “actions”, rarely a day went by in my now decades of exposure to large corporations in which I couldn’t point out some behavior of an individual or a group that was absolute nonsense (including my own behavior when seen in retrospective!).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-2978705428231612521?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/2978705428231612521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=2978705428231612521' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2978705428231612521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2978705428231612521'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/11/behavior-and-discourse-correlation.html' title='Behavior and Discourse Correlation'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-7813936938986428288</id><published>2011-11-06T22:05:00.000-08:00</published><updated>2011-11-07T06:19:50.234-08:00</updated><title type='text'>Little Bets, Big Frustration</title><content type='html'>The book “Little Bets”, by Peter Sims, is one more of these books with a very simple premise: how to arrive at a conclusion by several tortuous paths, using anecdotal examples and ignoring all evidence on the contrary?&lt;br /&gt;&lt;br /&gt;Not only this is one more “self-help” book, but it also has something a little more irritating than what is usually common on such books: it keeps repeating the same examples, over and over, and over, and over. After a while, nobody can stand one more reference to the examples of Chris Rock, P&amp;amp;G and, worst of all, Pixar. That someone could get me annoyed writing about Pixar, which is a company that I definitely admire, shows how much repetition there is in this book. There is a single sentence of Steve Jobs – “&lt;span style="font-style: italic;"&gt;People don’t know what they want until they’ve seen it&lt;/span&gt;” – that is repeated at least half a dozen times.&lt;br /&gt;&lt;br /&gt;I could accept the repetition, if the book would at least make an effort to be serious, and use its own medicine trying to question its examples and conclusions. That doesn’t happen. Suddenly, one has to simply accept that the USA military in Iraq are improvising their approach and that anthropology is their panacea. Forget about all the amazing logistics of keeping thousands of soldiers halfway through the world. Let’s improvise!&lt;br /&gt;&lt;br /&gt;Things go from bad to worse as the examples are repeated to “prove” points, at times in inconsistent ways. It is almost as if no reviewer has really read the book from end to end. And when I was thinking things couldn’t get worse, or more anecdotal, there comes the random extrapolation about the Montessori schools to seal the coffin. Please: we can always find 5 successful people that attended any “school system”, and that proves nothing! Except perhaps that no school system is bad enough to definitely prevent success… (author: see how to challenge one’s own point-of-view?!).&lt;br /&gt;&lt;br /&gt;At least, I had little to lose reading this book, other than my time. I got it from my company’s library, and will return it as soon as possible, to avoid having them thinking there is demand to buy more copies! Picking this book was a little bet. And I lost. Little. But a loss nevertheless.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-7813936938986428288?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/7813936938986428288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=7813936938986428288' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7813936938986428288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7813936938986428288'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/11/little-bets-big-frustration.html' title='Little Bets, Big Frustration'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-630340528680449</id><published>2011-10-17T18:55:00.003-07:00</published><updated>2011-10-25T17:33:23.006-07:00</updated><title type='text'>Microsoft Touch Mouse Sensor API</title><content type='html'>Microsoft recently released the Microsoft Touch Mouse Sensor API, in both &lt;a href="http://research.microsoft.com/en-us/downloads/8ca8f8d1-c0b8-43a3-a519-0276195a6eec/"&gt;32-bit&lt;/a&gt; and &lt;a href="http://research.microsoft.com/en-us/downloads/8e2847f1-0e2d-48d3-b924-71400b358c17/"&gt;64-bit&lt;/a&gt; versions. Using the SDK, developers can create applications consuming directly the 13 x 15 sensor image.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-oHVvFJip_yo/TpzcpVnYWTI/AAAAAAAAABQ/L806RVbwvCU/s1600/WPFBitmapSample.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 300px;" src="http://4.bp.blogspot.com/-oHVvFJip_yo/TpzcpVnYWTI/AAAAAAAAABQ/L806RVbwvCU/s320/WPFBitmapSample.png" alt="" id="BLOGGER_PHOTO_ID_5664645034060306738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This should allow the development of innovative applications, like painting using your fingers, or recognizing gestures other than those implemented by the default driver. And it all works in parallel with the pipeline that IntelliPoint uses. Great job by the hardware and Microsoft Research teams!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-630340528680449?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/630340528680449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=630340528680449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/630340528680449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/630340528680449'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/10/microsoft-touch-mouse-sensor-api.html' title='Microsoft Touch Mouse Sensor API'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-oHVvFJip_yo/TpzcpVnYWTI/AAAAAAAAABQ/L806RVbwvCU/s72-c/WPFBitmapSample.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-4180449780724259155</id><published>2011-10-17T18:55:00.001-07:00</published><updated>2011-10-25T17:32:34.484-07:00</updated><title type='text'></title><content type='html'>Microsoft recently released the Microsoft Touch Mouse Sensor API, in both &lt;a href="http://research.microsoft.com/en-us/downloads/8ca8f8d1-c0b8-43a3-a519-0276195a6eec/"&gt;32-bit&lt;/a&gt; and &lt;a href="http://research.microsoft.com/en-us/downloads/8e2847f1-0e2d-48d3-b924-71400b358c17/"&gt;64-bit&lt;/a&gt; versions. Using the SDK, developers can create applications consuming directly the 13 x 15 sensor image.&lt;br /&gt;&lt;br /&gt;This should allow the development of innovative applications, like painting using your fingers, or recognizing gestures other than those implemented by the default driver. And it all works in parallel with the pipeline that IntelliPoint uses. Great job by the hardware and Microsoft Research teams!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-4180449780724259155?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/4180449780724259155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=4180449780724259155' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/4180449780724259155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/4180449780724259155'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/10/microsoft-recently-released-microsoft.html' title=''/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-1616537782257698382</id><published>2011-10-10T20:02:00.000-07:00</published><updated>2011-10-10T20:05:11.513-07:00</updated><title type='text'>Faster and Cheaper Internet Connection</title><content type='html'>It all happened when I decided to read the offer at Costco for this bright green box that claimed to “make Internet faster”. I got the Motorola SB6120 broadband cable modem for little more than U$70.00. My hope was that, if nothing else changed, I would have the modem paying for itself in less than a year, eliminating U$7.00/month that I’ve been paying to rent from Comcast a previous version (the SB5101U).&lt;br /&gt;&lt;br /&gt;After a week of experiments, averaging speeds obtained via SpeedTest.net at about the same day during 3 different days, I got what is an impressive 52% download speed improvement, going from 13.1Mbps before to 19.9MBps after the new cable modem was installed. Upload speed went from an average of 2.8Mbps to 3.7Mbps (32% improvement). Those speeds vary considerably during the day, and cannot be taken as a reference at a different location. Yet, getting 52% more download speed for U$7.00 less per month looks like a great return on investment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-1616537782257698382?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/1616537782257698382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=1616537782257698382' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/1616537782257698382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/1616537782257698382'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/10/faster-and-cheaper-internet-connection.html' title='Faster and Cheaper Internet Connection'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-8427108878463709229</id><published>2011-09-18T08:40:00.000-07:00</published><updated>2011-10-25T17:32:01.979-07:00</updated><title type='text'>Starting to Preview Windows 8</title><content type='html'>As almost everyone I know with a drop of the “technological blood” in their veins, I’ve been playing with the Windows 8 Developer Preview over the last few days. All fine and running in a MacBook Pro (13-inch, Mid 2009). Only two issues, which I’ll try to present a solution for below.&lt;br /&gt;&lt;br /&gt;The first and main issue is that, as most people, I’ve installed Windows 8 in a virtual hard drive, as per the guide by Scott Hanselman &lt;a href="http://www.hanselman.com/blog/GuideToInstallingAndBootingWindows8DeveloperPreviewOffAVHDVirtualHardDisk.aspx"&gt;here&lt;/a&gt;. Had enough disk space, and set the maximum size to 60,000. Installed and played for a while, and then got back to the Windows 7 environment. However, while there, I got some temporary content in the disk that would prevent the Windows 8 from expanding to 60,000MB, should it need to. I didn't think that would be a problem: so far the VHD used only about 10GB, and there were about 40GB of space. Yet, the very next time I tried to boot, I got the error: VHD_BOOT_HOST_VOLUME_NOT_ENOUGH_SPACE. After 3 reboots, the error resolved itself, but that probably was done reverting the boot record to boot only Windows 7. My suspicion (unconfirmed!) is that the Windows 8 loader tried to expand the VHD to the maximum size, just for the sake of trying. When that failed, some code somewhere should be throwing an exception and causing this, even if that space is not really needed at that moment.&lt;br /&gt;&lt;br /&gt;The solution for this, at least for me, was to reinstall Windows 8 (something I wanted to do anyway). This time, instead of creating an expandable VHD, I created one with fixed size. Basically, follow the instructions from Hanselman, and instead of:&lt;br /&gt;create vdisk file=d:\VMs\Win8.vhd type=expandable maximum=60000&lt;br /&gt;use&lt;br /&gt;create vdisk file=d:\VMs\Win8.vhd type=fixed maximum=60000&lt;br /&gt;The disk space will be reserved for the VHD, and there will be no chance for this issue to happen.&lt;br /&gt;&lt;br /&gt;Meanwhile, let’s consider one of the reasons for me to consider reinstalling Windows 8. During my first install, I used a Live Id account as my administrator account. All was fine and working, except that when back to Windows 7 I was not getting any e-mail via the Outlook Connector for Hotmail. When trying to send and receive just that account, I noticed the error message:&lt;br /&gt;Task 'Live account' reported error (0x8DE00005): 'This account does not have permission to synchronize your mail. To sign up to gain permission to synchronize with this account, please go to http://ideas.live.com and join the notification list for this Windows Live Hotmail product. You will be notified when your account is enabled. Error: 3202. Server HTTPS is turned on for the web but not for this program.'&lt;br /&gt;&lt;br /&gt;This looked very strange. I did absolutely nothing to change any settings manually, and things were working perfectly until I installed Windows 8. Just for the sake of trying that, I went to https://account.live.com/ManageSSL, logged in with the Windows Live Id I used for Windows 8 and saw it was now using HTTPS by default. Changed that setting to ‘Don't use HTTPS automatically’, and… everything started working again. In the long term, I should probably resolve that with an update of the Outlook Connector. For now, I have more of Windows 8 development to explore!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-8427108878463709229?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/8427108878463709229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=8427108878463709229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8427108878463709229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8427108878463709229'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/09/starting-to-preview-windows-8.html' title='Starting to Preview Windows 8'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-5773413882679745908</id><published>2011-09-03T11:35:00.001-07:00</published><updated>2011-09-03T11:35:57.819-07:00</updated><title type='text'>Senna</title><content type='html'>As per MSNBC, 'Senna' is best movie you never heard of (&lt;a href="http://today.msnbc.msn.com/id/44289414#.TmJgwo5y4rU"&gt;link&lt;/a&gt;). That is probably the case for most Americans, not used to following Formula 1. Certainly not the case in Brazil, or even in Europe. The movie had a lot of publicity ahead of its release in the UK, including posters in the tube.&lt;br /&gt;&lt;br /&gt;I could only watch the movie now, in the USA. It is particularly interesting to watch a movie in which captions are in English, and about half the talk happens in Portuguese. It shows it is possible to translate that way as poorly as it is done with translations the other way for movie releases in Brazil. Even more interesting is listening to a lot of people well-known in Brazil, one of them not appearing in the movie at all and yet having the most recognized voice in the country (Galvão Bueno). The movie possibly tries to give Senna a little more importance in Brazil than what he really had at that time, when a lot of political changes were happening. The main years of his career happened during the movements known in the country as “Diretas Já” and “Fora Collor”, which are totally ignored in the movie. Those would be better aspects to focus on than the superficial glance at his affairs with a few TV celebrities in the country. And while the rivalry with Prost is well explored, Senna’s friendship with Gerhard Berger was totally ignored, as well as his “local” rivalry with Piquet. At the personal level, a far better view of Senna is provided by an interview given in Brazil at the beginning of this career (&lt;a href="http://www.youtube.com/watch?v=v3MI8aPmdiw"&gt;link&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;The high point of the movie, at least for me, is when Nelson Piquet brings up during the pilots’ meeting before the 1990 Japanese Grand Prix that a pilot escaping through the chicane shouldn’t have to go back against traffic to continue the race, as suggest due to the punition imposed to Senna in the previous year. All pilots agree, and Senna leaves the meeting, not before saying that issue is brought up by “someone else”, and this year decisions are different from what basically cost him a championship the previous year. Senna doesn’t say Piquet’s name, and yet benefits from his openness to talk about the situation. Maybe people outside the country wouldn’t know, but Piquet and Senna were embroiled in a legal process at that time. Senna, in an interview to man’s magazine, had focused half of the time on talking about Piquet and their ongoing issues. Yet, Piquet, older and more experienced, takes the high road over all such issues, and understands that their personal fights cannot be more important than the safety during the race. Both show little worry about politics, and one of the “features” of most of the very skilled Brazilians outside diplomacy: the freedom to say what needs to be said, and not what is convenient or easy to say. Senna would go on to crash into Prost and be the World Champion that year. Piquet would go on to win that race.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-5773413882679745908?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/5773413882679745908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=5773413882679745908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/5773413882679745908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/5773413882679745908'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/09/senna.html' title='Senna'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-6150221789667358345</id><published>2011-08-21T19:33:00.000-07:00</published><updated>2011-08-21T19:34:27.633-07:00</updated><title type='text'>SoftCards, and the “PC” future</title><content type='html'>A few people see the “tablet” as the future of computing. I see it as the future of the “content consumption”. Those watching movies, playing games, or reading news, will find it extremely comfortable to hold on to a tablet, phone or equivalent device while riding the bus. Mainly when, soon, they won’t need to hold anything.&lt;br /&gt;&lt;br /&gt;Those of us in the area of “content creation”, be it those making software, games, video, or any other of kind of “intellectual property”, know that it is still hard to beat the productivity of the old keyboard. Today, those of us creating content are stuck with an eternal cycle of updates. That deserves its own post. But there is something worse: installing and trying applications that somehow damage the configuration of your machine. In theory, you can get back to a “restore point”, or a backup. In practice, that is harder than it looks. Even I, having different partitions for “applications” and “data” in most of my machines, can hardly keep all of them working and up-to-date, while avoiding losing data due to some erroneous backup (and not going into the topic of malware, viruses, etc.).&lt;br /&gt;&lt;br /&gt;At times, I do “give up”, and just reinstall my “applications” partition. That is not a small task. It requires reinstalling Microsoft Windows, Microsoft Office, Microsoft Visual Studio, Bitlocker, Windows Home Server client, Dropbox, Windows Live Essentials + Live Mesh/Sync, Adobe "things" (PDF reader, Flash, etc.), 1Password, Apple things (iTunes, Quicktime, etc.) , Zune (for the Windows Phone 7 software), Kindle reader, and the printer and other device drivers. And since I typically use a MacBook Pro as my machine – because I need metal-based hardware” to resist my clumsiness – add to that the BootCamp drivers and a few more work on the Mac OS side.&lt;br /&gt;&lt;br /&gt;Most of the current software updates don’t add anything to application functionality, and just fix newly uncovered security holes. Would I need those if my software was in a “read only” partition? No. Why not make computers work just like the video-games, having software cards that come with pre-installed packages of software, and cannot be contaminated by malware during the normal usage? I would gladly buy a “Developer 2011” card with the applications that I need installed today. I could then use that for a couple of years, and update later to the “Developer 2013” card when it makes sense for me. Computers would have a few slots for such cards, which could have the size of a credit card and be carried in your pocket from place to place, instead of an entire computer. A “data card” would be used to carry the partition with the data that needs to be local, while most of a user’s data would be where it is already going to be soon anyway: the cloud!&lt;br /&gt;&lt;br /&gt;The first hardware vendor to move on to such scenario will definitely get a lot of “early adopters”, and I’ll certainly be among the first.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-6150221789667358345?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/6150221789667358345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=6150221789667358345' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6150221789667358345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6150221789667358345'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/08/softcards-and-pc-future.html' title='SoftCards, and the “PC” future'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-394533925411425828</id><published>2011-08-16T09:35:00.000-07:00</published><updated>2011-08-16T09:37:48.837-07:00</updated><title type='text'>Being Touchy</title><content type='html'>The &lt;a href="http://www.microsoft.com/hardware/en-us/products/touch-mouse/microsite/"&gt;Microsoft Touch Mouse&lt;/a&gt; is now released, and got already a great &lt;a href="http://www.pcmag.com/article2/0,2817,2390907,00.asp"&gt;review from PC Magazine&lt;/a&gt;. It is definitely a great step towards the future of “(in)direct manipulation”. That now requires some help from application developers, as I &lt;a href="http://alissonsol.blogspot.com/2009/05/touch-wont-come-easy.html"&gt;cited in the past&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;No mouse device is “intuitive”, as already irrefutably &lt;a href="http://www.youtube.com/watch?v=19BWJQ8kjrw"&gt;demonstrated by Star Trek&lt;/a&gt;, and this is not a device for everyone. But for those in the target audience, it will definitely improve productivity after the initial learning period.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-394533925411425828?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/394533925411425828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=394533925411425828' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/394533925411425828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/394533925411425828'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/08/being-touchy.html' title='Being Touchy'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-3274862454378445627</id><published>2011-07-24T23:26:00.000-07:00</published><updated>2011-07-31T09:08:04.527-07:00</updated><title type='text'>Between the Lions</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Update&lt;/span&gt;: Since the original post, Apple published a KB article that you should follow BEFORE updating to Lion: &lt;a href="http://support.apple.com/kb/TS3926"&gt;http://support.apple.com/kb/TS3926&lt;/a&gt;: &lt;em&gt;OS X Lion: Installer reports "This disk cannot be used to start up your computer"&lt;/em&gt;. Back to original post...&lt;br /&gt;&lt;br /&gt;If you want a great review of the Mac OS X Lion release, you should follow right now to the &lt;a href="http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars"&gt;Ars Technica review&lt;/a&gt;. It is likely that, being a Microsoft employee, I wouldn't be the source you would be looking for such review anyway (and I just made some lawyer happy!)&lt;br /&gt;&lt;br /&gt;I'll now continue for the other 3 people in the universe interested in having the Mac OS and Windows working from the same hard-disk, without depending on virtualization. It is likely that this is the second graceful exit point for those still interested in having dreams about a future in which using computers are as graceful as those "&lt;a href="http://pbskids.org/lions/"&gt;other lions&lt;/a&gt;". Au revoir... After so many opportunities for a graceful exit, pardon me if the language from now on becomes... ungraceful.&lt;br /&gt;&lt;br /&gt;The main issue, as cited in the Ars Technica review about the installation process for the OS X Lion, is that now a recovery partition is automatically created during the installation process. Not bad if you have only the Mac OS X in the HD. The problem is that I used to have already both the Mac OS and Windows, and a partition exclusively to hold data (allowing me to quickly reinstall the operating systems without even having to think about the possibility of data loss).&lt;br /&gt;&lt;br /&gt;Not only the OS X Lion created the new recovery partition without asking, but it ignored (and removed) the Windows and the data partitions. I tried to just create a partition from the Mac OS Disk Utility and install Windows there. Yet, I got the message: "&lt;span style="font-style: italic;"&gt;Windows cannot be installed to this disk. The selected disk is of the GPT partition style&lt;/span&gt;". Using the Boot Camp Assistant allowed me to install Windows. But then I would have to merge the data in the Windows system partition.&lt;br /&gt;&lt;br /&gt;Decided not to let go of my partition exclusively for data, I tried to shrink the Windows partition, and create a new volume to the data. That brought up the exciting warning message: "&lt;span style="font-style: italic;"&gt;The operation you selected will convert the selected basic disk(s)to dynamic disk(s). If you convert the disk(s) to dynamic, you will not be able to start installed operating systems from any volume on the disk(s) (except the current boot volume). Are you sure you want to continue?&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Such message is already enough to send most people running to confession: too many sins in the buffer already. Yet, at such time my restored Windows partition wasn't an active boot partition, and the menu item to make it active in the "Disk Management" plug-in wasn't enabled. Not to let a good crisis go wasted, I decided that I would simplify my life in the future and pay some debt in the present: I would delete the Mac OS recovery partition and "hope for the best", until I can buy install media for Lion (besides, I would have Time Machine backups anyway).&lt;br /&gt;&lt;br /&gt;My final partition table looks like something like this:&lt;br /&gt;- GPT Protective Partition&lt;br /&gt;- HFS partition for the Mac OS&lt;br /&gt;- NTFS partition for Windows&lt;br /&gt;- NTFS partition for Data&lt;br /&gt;&lt;br /&gt;And the high-level steps to reach such nirvana are:&lt;br /&gt;1) Install Lion&lt;br /&gt;2) Delete the recovery partition&lt;br /&gt;3) Use the Boot Camp Assistant to create the Windows Partition&lt;br /&gt;4) Install Windows&lt;br /&gt;5) Shrink the volume, and create the data partition&lt;br /&gt;6) Restore Windows and data partitions from WHS (Windows Home Server) backup&lt;br /&gt;&lt;br /&gt;As one would say: "&lt;a href="http://www.youtube.com/watch?v=zFAdlbuJV0Y"&gt;It is just that easy...&lt;/a&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-3274862454378445627?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/3274862454378445627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=3274862454378445627' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3274862454378445627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3274862454378445627'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/07/between-lions.html' title='Between the Lions'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-3191282469533108562</id><published>2011-07-10T09:43:00.000-07:00</published><updated>2011-07-10T09:44:17.711-07:00</updated><title type='text'>Fundamentals of Distributed Systems</title><content type='html'>A few friends asked me about a recent presentation I’ve prepared about fundamentals of distributed systems. I’m usually very “friendly” about sharing my presentations. Other than a few patents that I barely understand after the lawyers finished “translating” the knowledge into legalese, I hardly created anything new. If I had somehow organized existing knowledge into a more understandable way, that is definitely something to share.&lt;br /&gt;&lt;br /&gt;I’ve learned the hard way the issue with distributing PowerPoint files directly. First, you have the problem with the versions of the product. But past that, the main issue is when someone takes your presentation, adds a macro – usually with bad intentions – and redistributes it. That is why a while ago I decided to minimize such possibility, distributing presentations as PDF files (attention to that “minimize” word: it is not “eliminate”). The problem with redistributing PowerPoint decks as PDF files is that you typically lose animations. At times, that isn’t important. When it is, one has to use macros to create a single slide for each step of the animation. I use a macro that Neil Mitchell shared at this &lt;a href="http://neilmitchell.blogspot.com/2007/11/powerpoint-pdf-part-2.html"&gt;link&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Back to the fundamentals of distributed systems: my main goal in the presentation shared &lt;a href="http://www.alissonsol.com/slides/2011-06-08_FundamentalsOfDistributedSystems.Sol_Alisson.Public.pdf"&gt;here&lt;/a&gt; wasn’t to focus on the academic aspects, but the practical ones. In the non-academic area, some authors have a penchant for not citing the “first source”, and keep citing later references, at times written by themselves. Being a “knowledge engineer” at time looks like being an archeologist. In the middle of so much hype and competition for credit, one has to find who really took the risk of claiming something first. It is harder than it looks like, and certainly mistakes will always happen. However, it is something we need to keep trying. I’ve learned in the history of Physics that some concepts, even the right ones, will come and go in waves of knowledge and ignorance that we cannot avoid. Those that have to courage to continue seeking the correct understanding during the “dark times” deserve the recognition of History (what most times doesn’t come during their lives).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-3191282469533108562?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/3191282469533108562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=3191282469533108562' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3191282469533108562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3191282469533108562'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/07/fundamentals-of-distributed-systems.html' title='Fundamentals of Distributed Systems'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-2584006158917433885</id><published>2011-07-02T17:50:00.000-07:00</published><updated>2011-07-02T17:53:46.643-07:00</updated><title type='text'>Password Management</title><content type='html'>After an initial consolidation of some of my passwords into a password manager, the current count is 36 logins, and 5 generic accounts that I have to remember on a regular basis (and still probably a few that I’ll eventually use and add to this list). It is interesting to observe that only exactly half of the logins so far accept a password that my password manager would qualify as “Fantastic”, including digits and symbols and lengthy enough to really make guessing almost impossible (generated passwords look like: *78NaoA3BY0N#NOf).&lt;br /&gt;&lt;br /&gt;My requirements of cross-platform support made me chose the 1Password package, from Agile Bits (more details on &lt;a href="http://agilebits.com/products/1Password"&gt;http://agilebits.com/products/1Password&lt;/a&gt;). The user interface has some idiosyncrasies, and yet it is far better than some of the competitors that I’ve tried. Its main issue is that I always considered that the advantage of a cross-platform application would be the consistent UI. I stand corrected. The 1Password software is not only inconsistent with itself across platforms, but also inconsistent “with the platform”. The version for Windows looks like Mac software. Well, I thought, that is probably because it started on the Mac. Maybe that it is case, or maybe not, because in the Mac OS the software has a significantly different user interface! That should have been hard to achieve…&lt;br /&gt;&lt;br /&gt;Yet, consistency is not something that is in high order when evaluating a password manager. That kind of software itself would be unnecessary if web sites could make us the favor of adopting protocols like OpenId (&lt;a href="http://openid.net"&gt;http://openid.net/&lt;/a&gt;). In the meantime, besides its own features, I keep using 1Password integrated with Dropbox, although that integration has a few glitches. The 1Password software creates a hidden file at the root for Dropbox named .ws.agile.1Password.settings, where it looks like it places the location of the settings. However, if you buy a family license for 1Password, and two family members create different data folders, that file keeps being overwritten. Yet, that is minor compared to issues like the recent Dropbox snafu regarding passwords (&lt;a href="http://blog.dropbox.com/?p=821"&gt;link&lt;/a&gt;). With “friends” like Dropbox, 1Password doesn’t need enemies…&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-2584006158917433885?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/2584006158917433885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=2584006158917433885' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2584006158917433885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2584006158917433885'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/07/password-management.html' title='Password Management'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-8655241317532223079</id><published>2011-06-25T09:03:00.001-07:00</published><updated>2011-06-25T09:08:57.811-07:00</updated><title type='text'>Photo Camera Feature Requests</title><content type='html'>Although I like video, it is a frustrating medium. It takes too much time to capture, much more time to edit, and then you need the time to watch it. Even worse is the trend of using video on the Internet to provide you with the same information that could be at times conveyed in 140 characters. Meanwhile, photos are far easier to capture, store, process, and viewing is instantaneous. Study after study shows that our mind the best machine to process images that one can ever achieve.&lt;br /&gt;&lt;br /&gt;Over the years, I’ve implemented a lot of software to process images, and an entire framework for digital image processing. Testing such kind of software requires a lot of time staring at photos and synthetized images, some betters than others. I got a lot respect for what I call a “good picture”. It is far harder to get than what it looks like.&lt;br /&gt;&lt;br /&gt;The long introduction justifies my interest on what has been happening lately in the photo market. A lot of post processing of images is happening, because photographers are just not happy with what they get. I decided to take a look at the most popular plug-ins for Windows Live Photo Gallery (&lt;a href="http://plugins.live.com/photo-gallery/browse?orderby=mostpopular&amp;page=1"&gt;link&lt;/a&gt;). I was genuinely surprised to see that the 3 plug-ins that Microsoft produced to process images (AutoCollage, Image Composite Editor and Photosynth) are more popular even than the plug-in to upload pictures to Facebook (although I dare to say that is because people cannot really wait to share with “friends” their latest picture, uploading those directly from mobile phones or some more web-savvy cameras).&lt;br /&gt;&lt;br /&gt;Post processing is a fantastic tool. But it cannot save you if you didn’t capture the data. Only in movies is that one starts with a fuzzy panoramic picture of crowd and then zooms until it is possible to read the time from someone’s clock. That is typically impossible, unless you start with images like the Paris 26 gigapixels example (&lt;a href="http://www.paris-26-gigapixels.com/index-en.html"&gt;link&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;It is becoming clear that the camera market will soon fragment once more. Today, people still buy large and expensive digital cameras because those offer higher resolution and better adjustments than those found in mobile phones. For “normal photography”, soon the cameras from mobile phones will have all those features. If some digital camera manufacturer is reading, let me specify clearly the features that I would need in order to buy a new standalone camera. I need it to be able to capture 3D images, and also the data needed to create HDR (High dynamic range) pictures. All that in a single shot, and without the need to focus, like the newly announced Lytro cameras (&lt;a href="http://www.lytro.com/"&gt;link&lt;/a&gt;). For that camera, I would pay something in the range of U$1K. Until such features are there, I’ll just use the mobile phone camera.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-8655241317532223079?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/8655241317532223079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=8655241317532223079' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8655241317532223079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8655241317532223079'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/06/photo-camera-feature-requests.html' title='Photo Camera Feature Requests'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-2736804445029196045</id><published>2011-06-17T20:04:00.001-07:00</published><updated>2011-06-17T20:08:11.382-07:00</updated><title type='text'>Congratulations to IBM</title><content type='html'>&lt;div&gt;Congratulations to IBM. Most of the companies in the software and hardware business today won’t even get close to 100 years. It is hard to imagine how we will be doing software in 100 years. Yet, even if it is not there, IBM will be forever part of the computer history. The “IBM Systems Journal” (now the “IBM Journal of Research and Development”) is one of the journals that got me to give up my future as a Physicist and make the jump into Computer Science.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-mGr-ECK3pgY/TfwWF82adRI/AAAAAAAAAAk/3FaOLEHz5xE/s1600/2009-09-23-Alisson.Sol.IBM.jpg"&gt;&lt;img style="margin: 0px auto 10px; width: 240px; height: 320px; text-align: center; display: block; cursor: pointer;" id="BLOGGER_PHOTO_ID_5619390726541047058" alt="" src="http://4.bp.blogspot.com/-mGr-ECK3pgY/TfwWF82adRI/AAAAAAAAAAk/3FaOLEHz5xE/s320/2009-09-23-Alisson.Sol.IBM.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;At the intersection between IBM Drive and Development Lane there is a stop sign. Those in the Development Lane should stop. Those in IBM Drive have priority!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-2736804445029196045?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/2736804445029196045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=2736804445029196045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2736804445029196045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2736804445029196045'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/06/congratulations-to-ibm.html' title='Congratulations to IBM'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-mGr-ECK3pgY/TfwWF82adRI/AAAAAAAAAAk/3FaOLEHz5xE/s72-c/2009-09-23-Alisson.Sol.IBM.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-4514811710157040504</id><published>2011-06-14T10:40:00.000-07:00</published><updated>2011-06-14T20:20:34.072-07:00</updated><title type='text'>If Social Networks Were Countries…</title><content type='html'>It looks strange to compare social networks with countries. Analogies should at least resist some “minimal equivalence of concepts”. Such analogies don’t pass that test. Suppose you would evaluate a social network as per any chosen index for evaluating the experience of living in real countries. I’ll pick the “International Living Quality of Life Index” (&lt;a href="http://www1.internationalliving.com/qofl2011/"&gt;link&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;The cost of living in a social network would be good. Most people just pay for the “access” (at times “free”) and have to deal with a few ads (my score: 80). In the evaluation of “Leisure &amp;amp; Culture”, one could possibly ignore the “culture”, but would have to agree that there is certainly some “leisure” in social games, and in seeing people trying to create an online image better than they are in reality (my score: 80).&lt;br /&gt;&lt;br /&gt;Things derail quickly when we go into the “Economy” topic. A social network is basically a very asymmetric mechanism of concentration of resources. The users (with few exceptions) provide each one a little (opening access to their data and generating content) and then resources migrate from the advertisers to the social network investors. A non-scalable or sustainable economic environment per se (my score: 15). The environment is not as “green” as it may look at first glance. People no longer need to travel to meet each other. But that was already the case since the telephone. What huge “meeting points” are doing is just creating the need of equivalently scalable data centers, and in the meantime all the entry points heat a little bit the environment near the users, be those desktops or mobile phones (my score: 45).&lt;br /&gt;&lt;br /&gt;Probably we will have to agree on disagree when going into the topic of “Freedom”. It is nice publicity when social networks are linked to contemporary popular revolutions against oppressive regimes. Yet, those would happen despite the social networks themselves. The French revolution didn’t wait until Robespierre, “The Incorruptible”, could verify if there was popular approval for the execution of Louis XVI by mining the “instant messages” of the mob (my score: 50). It looks definitely unhealthy that people are no longer talking in person with each other, and parents are sending public messages to their children upstairs, instead of doing that journey. I won’t even go into the psychological effects of the “illusion of friendship” created by social networks, since that is a topic worth several post by itself (my score: 20).&lt;br /&gt;&lt;br /&gt;The infrastructure of social network is undeniably amazing (my score: 100). Yet, there is risk all over. From just clicking in a distracting ad to falling victim of online scams, one has to take care. Unhappily, online risks at times come back to haunt people in the real physical world (my score: 50). The climate is probably good. You make it as comfortable as you can make your own home or workplace (my score: 90).&lt;br /&gt;&lt;br /&gt;With such scores, using the weights of the “International Living Quality of Life Index”, my overall score for living in social networks would be 59. That is the same of living in Cuba. Bon voyage…&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-4514811710157040504?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/4514811710157040504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=4514811710157040504' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/4514811710157040504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/4514811710157040504'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/06/if-social-networks-were-countries.html' title='If Social Networks Were Countries…'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-3138377511821879004</id><published>2011-06-08T20:40:00.000-07:00</published><updated>2011-06-08T20:52:16.261-07:00</updated><title type='text'>Human Vulnerabilities and UI</title><content type='html'>How to mitigate the kind of threats presented by Frank Stajano and Paul Wilson in the good article “&lt;a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.148.2196&amp;amp;rep=rep1&amp;amp;type=pdf"&gt;Understanding Scam Victims: Seven Principles for Systems Security&lt;/a&gt;”? (from the Communications of the ACM, March 2011). In a generic way, it is impossible to answer that question. That is probably the reason why the authors themselves don’t follow that path in that article.&lt;br /&gt;&lt;br /&gt;In some specific domains, it is likely that one can anticipate some mitigations. Yet, this should be taken with a grain of salt: any “generic advice” will have “generic results”. When the topic is security, an answer to the same question will vary immensely depending on the context. Imagine a question like: “How to make a house safe?” (considering safety against unauthorized intrusions). The answer will be totally different for a house in a remote location in Alaska from the answer needed to improve security for the White House. Similarly, consider the question “How to make my software safe against the principles of human behavior?” That will also have very different answers for a software game than those for an ERP system.&lt;br /&gt;&lt;br /&gt;Considering commercial systems processing records and having a workflow driver by some user-interface (non-automated), I would have the following generic advice regarding each principle of human behavior.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Distraction&lt;/b&gt;: ask for confirmation of any user action that may represent a threat. Increase or decrease the level of confirmation depending of parameters of the action. I particularly dislike that one cannot cancel clicks easily. Is your application placing buttons that the user could click too close one of another? If the user is doing a sequence of actions, and then stops, it is likely that when coming back some context is lost. Will the system be clear to the user regarding what was happening?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Social compliance&lt;/b&gt;: the problem here is that typically an authorized user for the computer system is doing something under the request of an “authority” outside the system. I don’t see how this will ever be solved without some kind of “authorization transaction” involving some public identity control system. Suppose your company has an ERP system and the police shows up and demands to see such and such records. They would need to have some PINs in the court order than you could enter in the ERP system before the review of the required records. The local ERP system would not only record the event but also connect to a web service from the police/court that would authenticate the court order.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Herd principle&lt;/b&gt;: this is the only challenge for which I can only suggest user education. People have been able to create a housing bubble despite all the documentation and process required to buy and sell a house. People will jump over all possible obstacles one can imagine if they believe to be missing an opportunity that everyone else is enjoying.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Dishonesty&lt;/b&gt;: logging, warning, threatening. It works. From expense reporting systems that have clear warnings to military systems that threaten dismissal and martial court, people think twice when seeing a threat and knowing they are being watched. Now, for a scenario of junk email offering some millions in your account, I do believe that every communication system should have periodic “educational” messages providing examples for the sake of user education. Some instant messaging systems show good warnings regarding not sharing personal information, or following links. Yet, I’ve seen no e-mail client ever that every month sends to users a summary of common scams that people shouldn’t be thinking of participating on.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Kindness&lt;/b&gt;: the key here is to avoid the scenario in which a person would be in the situation of “being kind”. If people are tracked by badges, why are we still requiring them to scan the badge in a certain reader at some specific location, instead of having RFID readers in the doors? Similarly, if someone is, for example, able to logon and leave someone else working in the system, can that be avoided? Possibly requiring a webcam per system, some OS call could be invoked and, with due warning to the user, take a picture at regular intervals and do some face recognition.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Need and greed&lt;/b&gt;: if possible, remove the need. I’ve been a system administrator and I’ve had long discussions with directors of large corporations about the need of NOT filtering network traffic (yes, that is NOT). One filters a known site, and the next minute users get somehow a link to a previously unknown site, with far worse consequences than getting to the previously known site (besides the time wasted on such “investigations”). I’ve seen scenarios like corporations that got viruses when employees used laptops that they brought into the workplace to overcome filters installed in the corporate machines. Invest on targeting the illegal, and ignore the immoral or distasteful (unless it starts affecting business results).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Time pressure&lt;/b&gt;: unless we are talking about a software system processing events related to life threatening emergencies, an option could be having only “scheduled processing”. What if internal e-mail systems in a company only delivered e-mail 3 times a day? (like 10:00Am, 1:00Pm and 3:00Pm). Probably people would think twice before writing and “posting” e-mail. Similarly, what if any workflow for a record only happened within specified timelines? It looks useless for ERP systems to instantaneously process records that then wait for human interaction for hours most of the time, while allowing for quick processing of illegal transactions when that is needed. I used to find strange that even the “24 hours supermarkets” would close in Europe during Sunday (in some but not all countries). Yet, once you know the rules, you don’t feel the pressure to suddenly buy something on Sunday any longer. You then just wait until Monday, and at times no longer proceed with the purchase that was so much needed just a day before.&lt;br /&gt;&lt;br /&gt;These are obviously just initial ideas considering only a certain context. One would need to use significant time looking at a specific system to build a good list of threats and mitigations that would bring down the level of risk due to human behaviors.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-3138377511821879004?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/3138377511821879004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=3138377511821879004' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3138377511821879004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3138377511821879004'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/06/human-vulnerabilities-and-ui.html' title='Human Vulnerabilities and UI'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-8640653281776683626</id><published>2011-06-05T18:56:00.000-07:00</published><updated>2011-06-05T20:19:25.462-07:00</updated><title type='text'>Financial Misregulation</title><content type='html'>Aviva, the worst insurance company one can ever make the mistake of using, started to make TV ads in the USA claiming that they “…wonder why other life insurance companies treat you like a policy, not a person” (&lt;a href="http://www.youtube.com/watch?v=W2yqJfylcJA"&gt;link&lt;/a&gt;). That must be a joke. At least the other companies will read their own policies, instead of Aviva, which needs the government regulators to read it for them! (&lt;a href="http://www.dailymail.co.uk/money/article-1318012/Shamed-Aviva-ordered-pay-170-000-claim.html"&gt;link&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;It must be something in the water cooler of financial institutions. My bank made a strange charge to my credit card coming from a certain ccbilleu.com. After I complained, it sent me a letter with the statement that “After pursuing an inquiry with the merchant’s bank, we have concluded that an error did occur. Our file is now closed and provisional credit(s) totaling $15.00 will remain on the account as a permanent credit”. It almost looks like they are doing me a favor for correcting a problem that they caused.&lt;br /&gt;&lt;br /&gt;I do believe that my bank made a terrible but honest error. Meanwhile, the fact that regulators allow companies like Aviva go on and on despite innumerous cases of proven bad faith is what puzzles me. But it just makes it clear that nobody is really looking at the data about such companies and the customers’ complaints. Why look at the data when it may contradict the desired result? I fully understand why a Nobel Prize shouldn’t be allowed to serve on the board of the Federal Reserve in the USA, even if he himself doesn’t, or doesn’t want to expose it: those with pre-conceived conclusions fear analytical people like the plague (&lt;a href="http://www.nytimes.com/2011/06/06/opinion/06diamond.html"&gt;link&lt;/a&gt;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-8640653281776683626?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/8640653281776683626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=8640653281776683626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8640653281776683626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8640653281776683626'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/06/financial-misregulation.html' title='Financial Misregulation'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-6070662627458063015</id><published>2011-05-22T16:18:00.000-07:00</published><updated>2011-05-22T16:28:23.942-07:00</updated><title type='text'>Eurovision-style Feedback</title><content type='html'>My take on peer-feedback influencing the performance review process in technical areas: useless. Peers don’t really know what one is doing and with what priority in most technical corporations. Worse: all peers are competing for a limited pool of rewards. The incentive for unbiased feedback: none!&lt;br /&gt;&lt;br /&gt;And it gets worse when one analyzes the effect of peer feedback on managers. After many years talking with hundreds of managers, I’ve never seen a single one sharing information along the lines of: “&lt;span style="font-style: italic;"&gt;I was thinking this person wasn’t doing a good job, but just received this amazing feedback from one of his peers and changed my mind&lt;/span&gt;”. Yet, I’ve seen more than one manager use a poorly-formed sentence from peer feedback to justify the most obnoxious interpretation of someone’s performance based on a single point-of-view.&lt;br /&gt;&lt;br /&gt;Every year for many decades, countries in Europe vote on the Eurovision music contest. &lt;a href="http://jasss.soc.surrey.ac.uk/9/2/1.html"&gt;Study&lt;/a&gt; after &lt;a href="http://www.liacs.nl/%7Etcocx/songfestival/indexenglish.html"&gt;study&lt;/a&gt; have shown that there are many pairs and blocs in the voting, with a recent study even having the terminology “&lt;a href="http://www.voxeu.org/index.php?q=node/1426"&gt;cultural proximity&lt;/a&gt;” in its title. Obviously, there is no reason to suggest any lack of integrity by entire countries in this process: it is almost obvious that cultural proximity will influence voting in a scenario like this. It so happens that the same will effect happens in many other areas of life, and some just refuse to accept it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-6070662627458063015?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/6070662627458063015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=6070662627458063015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6070662627458063015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6070662627458063015'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/05/eurovision-style-feedback.html' title='Eurovision-style Feedback'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-180516699256997210</id><published>2011-05-10T17:21:00.000-07:00</published><updated>2011-05-10T17:25:36.701-07:00</updated><title type='text'>Recent Positive Surprises</title><content type='html'>&lt;div&gt;Maybe it can all be explained by low expectations, but I had at least 3 recent positive surprises.&lt;br /&gt;3) Microsoft Windows Phone 7: Not only the phone itself exceeded my expectations, but also the “development kit”. Or maybe I’m just drinking too much free soda for the employees.&lt;br /&gt;2) Qwiki: Except for my search for “QUnit”, which produced a very interesting result, I was definitely surprised to see how one can innovate in the presentation of search results. Looks like a good execution of the “Cuil” idea.&lt;br /&gt;1) Seattle’s Art Museum: When you have been to free entrance (taxpayer funded!) museums that people travel over oceans to visit, it is hard to get excited about a relatively expensive local museum with a relatively low profile collection. Yet, both I and family liked it enough to even think about returning, what I couldn’t imagine before.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-180516699256997210?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/180516699256997210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=180516699256997210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/180516699256997210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/180516699256997210'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/05/recent-positive-surprises.html' title='Recent Positive Surprises'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-4813195955735554778</id><published>2011-03-27T08:02:00.000-07:00</published><updated>2011-03-27T08:06:25.981-07:00</updated><title type='text'>Action versus Results</title><content type='html'>There is a certain car rental company that I have to use for work-related reasons. About 5 out of 10 times the customer service is great. Most other times the customer service is reasonable. Let's say that one out of 20 times one can only think: "What is their business again?" Their confusion: thinking that "trying harder" is the same of "achieving results". I can try as hard as I want to break any world record for swimming. I probably won't come even close, except if it is a world record for slow swimming. And even in that case I have doubts, since I may end-up finishing faster that someone else even if trying otherwise, by lack of patience. That is exactly why nobody sees me trying to break world records for swimming: I recognize my limitations and focus on realistic goals.&lt;br /&gt;&lt;br /&gt;In most of my experiences, the USA is better than other countries in customer service, from utility companies to the shopping experience, eating out, etc. Yet, when you consider the mobile phone companies, things change. First, they all have this symbiotic relationship with government, making phone bills full of small taxes here and there that add up to more than the service you are paying for. I have this strange desire to call 911 every other day just to make sure they will be there when I need them, since the charges are always there. Meanwhile, I recently added Internet access to one of the mobile phones in a family plan, and it took 3 visits to the store and a phone call to get the well-announced “corporate discount” into the bill. An unnecessary hassle that I only accepted because I know from friends that things wouldn’t be that much different if changing to another provider. Due to the consolidation in that area, I could end-up coming back soon to where I started anyway!&lt;br /&gt;&lt;br /&gt;It is not like most companies follow the approach taken by Aviva insurance in the UK, and &lt;a href="http://www.dailymail.co.uk/money/article-1318012/Shamed-Aviva-ordered-pay-170-000-claim.html"&gt;explicitly try to deny service to their customers&lt;/a&gt;. It is just that they try too hard to focus on the marketing without even completing the basic marketing requirements. Some don’t even have a product or service. But having a product or working service is not enough when you don’t have the complete solution for the customer, and yet proceed with the promotion.&lt;br /&gt;&lt;br /&gt;Consider the airline I recently used that has inflight Wi-Fi. I was in an almost 6-hours long flight back home. That looked like a perfect opportunity to try such service. Yet, they forgot to consider that people wanting to connect their laptops to the Internet while in a flight would also need power for the period of the flight: there is no power anywhere in the seats of the economy class. Paying for what could be 6 hours of Internet access when only able to use it for 2 to 3 hours of battery life makes no sense at all. And why would I tweet from inside an airplane? Just because it is free? I prefer to save the world from one more useless piece of information. Someone used speedtest.net to measure connection results, getting a very high latency, and showing that the inflight bandwidth is not very broad. Ping result was 753ms. Download speed: 0.08 Mbps. Upload speed: 0.09 Mbps. Not very good results, mainly for the price being charged. Better to try harder.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-4813195955735554778?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/4813195955735554778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=4813195955735554778' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/4813195955735554778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/4813195955735554778'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/03/action-versus-results.html' title='Action versus Results'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-3175687961325616078</id><published>2011-03-21T00:15:00.000-07:00</published><updated>2011-03-21T00:22:27.520-07:00</updated><title type='text'>Continuous Developer Education</title><content type='html'>&lt;div&gt;I cannot recommend anything other for undergraduate studies than Physics. Most of the models you will be studying are a few hundred years old, and most of them are wrong! Most of the students think it is a mere exercise of futility, whereas only a few really get the “point”: Physics is about building models based on experimental data, trying to predict something using the models, and updating the models whenever needed, while using the minimally adequate model for each situation. Most people don’t need to understand models beyond those using the gravitational force. A few need to understand models including electromagnetic forces. Only those applying for a B.Sc. in Physics need to know about the existence of the strong and weak nuclear forces. By then either you got the “point” or you will be deeply disappointed. Hope someone among the disappointed ones can create a model based on a “grand unified theory”.&lt;br /&gt;&lt;br /&gt;Having only 50 years of history, instead of 500+, the education on Computer Science and Software Engineering suffers from something obvious: lack of history! Just because people can create billions of messages in social networks in a few days and we need stateless front-end machines talking in a complex data center tiered architecture to back-end data stores, it doesn’t really mean those are scalability problems people will care about in 50 years. Hopefully, instead of posting ludicrous status reports about their latest lunch, people will be talking to their personal computational agent to seek for video automatically recorded within the last 30 minutes to find where they forgot the umbrella. Meanwhile, PCA2.0 will be a little more proactive, and warn the person the moment it is perceived that the umbrella is getting too far away to be retrieved without significant effort.&lt;br /&gt;&lt;br /&gt;Software developers need to consider a more continuous education process. A few years back, I read a post by Minimsft titled “&lt;a href="http://minimsft.blogspot.com/2006/11/microsoft-academy.html"&gt;Microsoft Academy&lt;/a&gt;”, and it suggested a bunch of technologies people would need to study, and I quote “&lt;i&gt;For developers, it would be stuff like C/C++, Win32, COM, ATL, XML, DHTML, AJAX, .NET, debugging, performance, Watson analysis, design patterns, security, using our best internal tools and resources and so on&lt;/i&gt;”. Hopefully, only a few developers followed such advice. Over the last few years it became more important to know, besides the basic computational concepts, languages like PHP or Python, technologies like Ruby on Rails or Hadoop, and then jQuery. Only within Microsoft walls I still hear of people interviewing candidates and asking about what are “COM categories”.&lt;br /&gt;&lt;br /&gt;Even what I cited as “basic computational concepts” is changing nowadays. Computer Science looks like being stuck in the “complexity models” that are based on the Turing machine. The problem is: that is an inadequate model for most of the “data center”-based computation happening nowadays. The end-result is that we continue to build larger and larger data centers where CPUs wait in single-digit utilization while data channels struggle to deal with the large amounts of data transfer required by “very efficient algorithms”! Applications are written, and then rewritten for a “more efficient and updated CPU”. Improvements need a new deployment, and “machine learning” is still considered something from A.I. movies.&lt;br /&gt;&lt;br /&gt;Luckily, users are not stuck in the past, and are coming up with solutions that we can learn from. Watch the &lt;a href="http://www.youtube.com/watch?v=gM95HHI4gLk"&gt;TED 2011 video&lt;/a&gt; by the founder of “&lt;a href="http://www.khanacademy.org/"&gt;Khan Academy&lt;/a&gt;” and you may have a glimpse of how both traditional and continuous education may happen in the future.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-3175687961325616078?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/3175687961325616078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=3175687961325616078' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3175687961325616078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3175687961325616078'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/03/continuous-developer-education.html' title='Continuous Developer Education'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-1917736647962738114</id><published>2011-03-16T20:41:00.000-07:00</published><updated>2011-03-16T20:53:26.929-07:00</updated><title type='text'>The Papers, on Paper</title><content type='html'>&lt;div&gt;I've recently read two very useful papers. I suspect I wouldn't have read them if not for browsing the paper issue of the Communications of ACM (March/2011). I have many papers in electronic format properly stored in a folder named "ToRead", replicated across all my computers. I see that folder getting larger every day. Meanwhile, the effect of quickly browsing through a paper and peeking at an interesting abstract and then great graphs and pictures is enough to mesmerize me into reading the entire content. I don’t see such effect happening with electronic versions of papers. It may be a personal preference, since increasingly it is clear that the world is moving toward electronic publications.&lt;br /&gt;&lt;br /&gt;The papers themselves discussed two very different topics. One was “Understanding Scam Victims: Seven Principles for Systems Security”. Those without access to the ACM Library can still get most of its content from a Technical Report from the University of Cambridge Computer Lab (&lt;a href="http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-754.pdf"&gt;link&lt;/a&gt;). Ironically, I cycled by the "Computer Lab" for 3.5 years, and would at times stop for some networking tests using their insecurely open network! But I digress...&lt;br /&gt;&lt;br /&gt;The other paper shows great results by Microsoft Research (with a little help from friends). The title is “VL2: A Scalable and Flexible Data Center Network” (&lt;a href="http://cacm.acm.org/magazines/2011/3/105326-vl2-a-scalable-and-flexible-data-center-network/"&gt;link&lt;/a&gt;). Not only it is a great paper but it is also so well-written that even I, not being a "networking kind of guy", couldn’t resist. It is relatively easy for me to get captivated by and read papers about digital image processing, even when those go into details about codecs, Gaussian filters and other topics at times boring for those not interested in the area. It is not so easy for me to get attracted to papers about networking topics. Yet, this paper has one of the best abstracts I’ve ever read, and it didn’t disappoint me afterward.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-1917736647962738114?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/1917736647962738114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=1917736647962738114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/1917736647962738114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/1917736647962738114'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/03/papers-on-paper.html' title='The Papers, on Paper'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-6110746132236060642</id><published>2011-02-19T12:24:00.000-08:00</published><updated>2011-02-19T19:44:35.339-08:00</updated><title type='text'>Recursive Corporate Problems</title><content type='html'>&lt;div&gt;&lt;strong&gt;The Action of Rewarding for the Ability to Act Produces Bad Results:&lt;/strong&gt; I don’t know a single developer that ever had to implement the “atoi()” function for a professional reason. Yet, we continue to hire software developers by their ability to perform such action during interviews, despite the fact that they won’t ever have to do it otherwise during their lifetime. Maybe we could instead select software developers by their ability to run the marathon, since that would be a more useful skill inside large corporations. Instead of asking software developers flesh out of college what is the latest technology they recently learned about and can bring in to improve software development efficiency, interviewers reverse the value-chain and send the message to the next generation that the important thing is to learn some outdated technology/puzzle and then try to apply it during the interview, and possibly whenever having a chance. Why do large corporations lag behind the industry again?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Committee to Increase the Efficiency of Committees (a.k.a. CIEC):&lt;/strong&gt; When corporate products and/or services are not working well, in isolation or together, the first tendency is not to look at the incentive system that was in place to make those products/services work well. The first action of large corporations is to create a “committee/workgroup/task force” that will address the problem. Totally unaware of what are the details of the “problem”, those members of the committee will try to apply some “best practices” to the issue anyway. Someone in the CIEC will sooner or later bring up the issue of “accountability and incentives”. And will immediately be brought back to the reality that the CIEC is not there “to do witch hunting”, but “to find synergies”. Insisting on addressing accountability and incentive systems will only make that member of CIEC be seen as a vengeful person, who probably should be removed from the CIEC for “insisting on bringing up details and not seeing the big picture”.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-6110746132236060642?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/6110746132236060642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=6110746132236060642' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6110746132236060642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6110746132236060642'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/02/recursive-corporate-problems.html' title='Recursive Corporate Problems'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-557716005111691157</id><published>2011-02-13T20:49:00.000-08:00</published><updated>2011-02-13T20:51:47.165-08:00</updated><title type='text'>The Review Ate the Performance</title><content type='html'>One would expect that, in the dreaded sequence of words “Performance Review”, the performance would trump the review. Yet, just like in the school folklore regarding the excuse “the dog ate my homework”, the review system is nowadays the best excuse for the lack of performance in most large companies. Worse is when that is not totally untrue.&lt;br /&gt;&lt;br /&gt;An old management adage is “You don’t get what you want, you get what you measure”. If people were paid based on weight, obesity wouldn’t be a health issue: it would be wealth path. If employees were paid by proven reduction in potential expenses, every CEO would fly in economy seats. Yet, most performance review systems suffer from the most basic failure in the goal of moving away from total subjectivity to some objectivity: no clear metrics.&lt;br /&gt;&lt;br /&gt;There are some clear signals a company has a bad performance review system. The easiest to identify: no feedback requested about the review system itself. All performance review systems I’ve seen ask employees to fill one or more forms. The best review systems I’ve seen provided an opportunity for employees to give feedback and suggest improvements on the review system itself. The bad review systems never ask for such feedback. After all, the bad review systems already gave incentive to bad behavior for a while. Who would you think that “moved up” under such review systems? Would such people want any change? Why ask for feedback if nothing will change anyway?&lt;br /&gt;&lt;br /&gt;Good performance review systems may still promote bad apples. There is only so much in work life that will depend only on someone’s competence and results. One has to be at the right place at the right time, and that may only happen half of the time for the “good apples”. After a while in the business world, one will have seen many “unfair scenarios”, like the person that produced results getting sick and being replaced by a “lucky person” just before reviews. And I won’t even go into the “amoral scenarios”: let’s always assume good intentions.&lt;br /&gt;&lt;br /&gt;Reviews are eating performance because, in the absence of clear and objective metrics, the game will be played according to the “visible rules”. If taking risk will result in punishment, nobody will take any risk. If changing plans will be seen as lack of discipline, then people will continue digging a hole even if it reaches the center of Earth. If candid and objective feedback about bad plans or execution is not appreciated, then employees will only report good news.&lt;br /&gt;&lt;br /&gt;No performance review system is perfect. Yet, the best ones have also a clear signal: they identify and promote good managers. The good performance review systems will not let bad managers store feedback to be provided once or twice a year in a totally out of context scenario. The good managers will provide and document relevant feedback promptly. They won’t seek for isolated cases, and focus on identifying and correcting patterns of behavior that diminish productivity. Good performance review systems are always open, and entering data in the system is an ongoing yearlong task for managers, and similarly for employees. At the “review” time, the employees and managers really “review” the information about performance and then “preview” future performance based on that. They don’t surprise each other with one-sided memories: they work together to learn from the past and improve the future.&lt;br /&gt;&lt;br /&gt;There is no monetary reward that could replace working in a happy environment. Good performance review systems create happy workplace environments. Is the performance review system of your company producing a happy environment?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-557716005111691157?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/557716005111691157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=557716005111691157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/557716005111691157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/557716005111691157'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/02/review-ate-performance.html' title='The Review Ate the Performance'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-85307027219284916</id><published>2011-02-05T16:35:00.000-08:00</published><updated>2011-02-05T18:19:11.852-08:00</updated><title type='text'>Restoring a MacBook from Windows Home Server</title><content type='html'>One of the family's machines is a 13" MacBook Pro. Until recently, it had a 320GB hard-disk, with 3 partitions: 64.4GB for the Mac OS partition, 63.8GB for the Windows 7 system, with most data in a BitLocked partition of 171GB. The consistent addition of digital pictures and movies made the UserData partition become the first partition demanding more space, and I decided to perform a HD expansion.&lt;br /&gt;&lt;br /&gt;Originally, I planned to exchange this hard disk with the one from another similar machine having a 640GB HD and lower utilization (both in terms of disk space and "hours of use"). Problem is: in order to restore a backup from Windows Home Server, I would need to shrink the Windows partitions in the 640GB disk to a size that would make those fit when later restored to the smaller disk. Shrinking partitions in Windows is a task that is made harder than needed, since the defragmentation tool doesn’t really “consolidate space”. I searched a lot, and the only tool that really consolidated space to my satisfaction was PerfectDisk, from Raxco. In the end, just the thought of needing to someday again expand the smaller HD made me worried enough to gladly pay U$69.99 for a new 640GB HD. Yet, I left the partitions in the machine with lower utilization still shrunk to a smaller size, and someday I will look like a magician by quickly “expanding” a HD without even opening the machine!&lt;br /&gt;&lt;br /&gt;Out of the “shrinking business” and back to the HD expansion task, I faced something I didn’t expect. After restoring the Mac OS partition from the Time Machine backup, it wouldn’t finish rebooting. It could boot in single user mode, but later would get stuck just after the “DSMOS had arrived” message. Shortening a long story: first I had the machine starting in single user mode, and checked if things were there. Then, I started installing again the Mac OS using the original system DVD. When that finished, the machine booted properly, and all my applications and data were there. An update of more than 1GB followed, as well as several restarts while the system cache got properly populated. Then, using the Boot Camp Assistant, I changed the partition sizes and restarted the machine, ready to install Windows.&lt;br /&gt;&lt;br /&gt;Obviously, I didn’t want to reinstall Windows, but just to restore the Windows partitions from the home server. The WHS manual gives you the usual instructions of opening a backup from the WHS Console and seeking for the “&lt;a href="http://www.microsoft.com/windows/products/winfamily/windowshomeserver/backup.mspx"&gt;Windows Home Server Drivers for Restore&lt;/a&gt;”. However, that would fail for the MacBook Pro, unless you installed the 32-bit version of Windows, which wasn’t my case. Better to seek for the network drivers in the system DVD (under \Boot Camp\Drivers\NVidia\NVidiaChipsetVista32\Ethernet) and copy those to an USB drive. When the WHS restore CD asks for more drivers, you just need to insert the USB drive, and the NVidia nForce card will be found. You can then go through the Disk Administrator tool and properly set your machine partitions. After doing all that, just wait a while for the restore process to complete.&lt;br /&gt;&lt;br /&gt;Overall, this was a painful experience. It required some familiarity with Windows, Mac OS and the Unix commands that are there available under the Mac OS (for the single user mode checks). Not something “for my mother”. Let’s see how things go in the next HD expansion, which won’t be far away now that video cameras in HD mode quickly produce GBs of data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-85307027219284916?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/85307027219284916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=85307027219284916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/85307027219284916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/85307027219284916'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2011/02/restoring-macbook-from-windows-home.html' title='Restoring a MacBook from Windows Home Server'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-3842205824940414390</id><published>2010-12-31T16:19:00.000-08:00</published><updated>2011-01-02T19:28:57.911-08:00</updated><title type='text'>Error Messages: the 2010 list</title><content type='html'>One would logically expect the quality of software to decrease as more “professionals” enter the field. It is no different than most of other Engineering areas: the pyramids are there for a while, and yet buildings finished yesterday are being demolished due to structural failures. People are usually a little more careful when reporting to an emperor and having their lives on the line…&lt;br /&gt;&lt;br /&gt;While in the past I’ve seen my attention focusing on awful messages that happened in exception cases, over the last couple of years I’ve seen that the overall quality of the user interface decreased immensely. About 40 years ago, developers using languages like Cobol and Fortran – having at times only punch cards as an input method – were able to create software that users found to really increase their productivity or enjoyment. Nowadays, developers using powerful computers cannot create a good user interface in touch screens, using programming environments full of wizards. It doesn’t look like one needs a business intelligence package to realize that it is not a problem of the tools or methodologies.&lt;br /&gt;&lt;br /&gt;5) &lt;b&gt;Secure hdcp link not found.&lt;/b&gt; The combination of factors needed to get such message is so intricate that I should congratulate myself!&lt;br /&gt;&lt;br /&gt;4) &lt;b&gt;Microsoft Security Essentials detected items on your computer that may have not yet been classified for risks. Sending the files listed below can help Microsoft analysts determine if these items are malicious. C:\Programs Files(x86)\Adobe\Reader 9.0\Reader\AcroBroker.exe&lt;/b&gt;&lt;br /&gt;It looked amazing to me that I was probably the first person in the world to get this file in my computer. What a privilege!&lt;br /&gt;&lt;br /&gt;3) &lt;b&gt;The group or resource is not in the correct state to perform the requested operation.&lt;/b&gt; That from the software I consider one of the most amazing and underestimated achievements from Microsoft in the last decade: Windows Home Server.&lt;br /&gt;&lt;br /&gt;2) &lt;b&gt;The request cannot be processed. Details:   com.sap.engine.services.servlets_jsp.server.exceptions.ServletNotFoundException: Requested resource [saml/servlet/ArtifactReceiver] not found. Exception id: [001B7835E192005A00002B6A00007D8F000497F20F09F3EB].&lt;/b&gt; Should I trust my money to this institution? Maybe it is time to reconsider…&lt;br /&gt;&lt;br /&gt;1) &lt;b&gt;We are sorry, but you may be unable to complete a purchase. You appear to be in a country where we do not have an online Microsoft Store.&lt;/b&gt; Consider this: such message was shown to me when I was in a country for which the official language is not English. What is the point of the warning ?! It could have been in Latin for all practical purposes (and since I was in a country with a Latin-based language that would probably be understood by more people!). It just sounds arrogant to go around warning people in other countries in a single language that they shouldn’t try buy your products. Mainly when other parts of the user interface will already prevent that anyway… Goal achieved.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-3842205824940414390?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/3842205824940414390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=3842205824940414390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3842205824940414390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3842205824940414390'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/12/error-messages-2010-list.html' title='Error Messages: the 2010 list'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-8398002029078194468</id><published>2010-11-28T12:15:00.000-08:00</published><updated>2010-11-28T12:16:53.656-08:00</updated><title type='text'>The American TV Conundrum</title><content type='html'>First, let’s look at the technical issues. The most “advanced” part of ATSC is that word in the acronym itself. The terrestrial system is so obsolete that it is the subject of jokes among the technically aware around the world. A common joke is that in other terrestrial transmission systems you may face problems if living too close or too far from the broadcasting antennas. With ATSC, you also will face problems if living in between! One can only ignore that when realizing that most Americans get TV by cable or satellite. Not that the technical problems stop. The issue with the sound getting louder during commercial intervals is absurd, and almost exclusive of the USA circa 2010 (other countries have clear legislation forbidding such practices). The HD encoding is mostly reasonable, unless you are watching live TV. During live TV, the pixelation is clearly visible. You almost wish players in games won’t move, or the director won’t make a cut to a different camera. Finally, it is impossible nothing will soon be done about the aspect ratio issues. Those watching non-HD channels certainly are thinking TV actors and news readers are all a little chubby. Meanwhile, those watching HD channels are subject to constant changes in aspect ratios, along with the sporadic black bars.&lt;br /&gt;&lt;br /&gt;Beyond the technical issues, one hope there would be good content to compensate for having to pay for a DVR so that you could fast forward through loud ads full of black bars. There isn’t. The American “public TV” misses the point by a mile. People don’t want to donate money for a public TV system that will just run 10 minutes of content followed by 20 minutes of requests for more donations. The ad-sponsored TV has so little good content that in the last month since I got my cable installed I’ve recorded less than 10 hours, including 2 full movies. One cannot understand what is the point of paying for cable TV if there is absolutely no difference between cable channels and normal channels, unless you pay for “premium channels”. Oops! I remember: the technical issues of the terrestrial system!&lt;br /&gt;&lt;br /&gt;In this scenario, consider Netflix, Hulu, YouTube, Apple TV, and all the other options of getting the content you want, when you want, possibly in a device you can carry with you anywhere. Those may still suffer from some problems, mainly if you don’t have a great Internet connection. Yet, with the price of Internet connections getting cheaper, while the price of cable/satellite TV increases, it is a matter of time before the American audience starts to vote with their pockets. The only possible solution for content providers is to partner with the online services and start to get used to a new business model that will definitely bring in less revenue. The newspapers tried to deny this conundrum for years, and those that stayed for longer in denial simply went away. Now it is time for the TV content providers to face the issue. Their hope of keeping on existing just by downsizing is unfounded. A comparison to the radio is a weak analogy. One can still listen to radio driving, reading, studying, etc. It is correct to think that many people nowadays watch TV as a “secondary activity”, browsing or chatting in parallel. Yet, TV won’t face the same future as the radio. If not reinventing itself in the next few years, it can only face the future of fax machines.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-8398002029078194468?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/8398002029078194468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=8398002029078194468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8398002029078194468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8398002029078194468'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/11/american-tv-conundrum.html' title='The American TV Conundrum'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-5184329641203033664</id><published>2010-11-26T11:13:00.000-08:00</published><updated>2010-11-26T11:14:45.188-08:00</updated><title type='text'>Cloud Agent Transactions</title><content type='html'>The way cloud computing is working today is not really serving end-users as a priority. Infrastructure is made available for business to automate their process. But what about the “end-user” processes?&lt;br /&gt;&lt;br /&gt;For niche markets, users can nowadays go to a few sites and perform certain “transactions”. For example, if you are going to travel from Seattle to New York, you can go to a single site and book a flight, a rental car and a hotel in a single “trip”. A few sites even offer additional services, like parking, tickets for shows and museums, etc. Yet, those are limited by a network of agreements at the “server-side”.&lt;br /&gt;&lt;br /&gt;One could claim that, if making a trip like this and wanting to go to a specific restaurant at my trip’s location, I could also go to that restaurant’s site and book a table while in town. However, for the sake of example, suppose I wouldn’t make the trip at all if not able to book a table in that restaurant at a certain date (or I could be trying to see a show, go to a conference, take a cruise, etc.). The expectation is then: book “the event” first, and the trip afterwards. However, it may be that, while doing the event reservation, all trip options are gone, and I’m left with a booked event that I cannot cancel, or have to pay cancellation fees to get away from. It would be better to have a way to link the “cross-site transactions” into a single “orchestrated transaction” that I either get as a package, or don’t get at all.&lt;br /&gt;&lt;br /&gt;This kind of scenario would allow for amazing user experiences. For trips, one could define a budget and periods of time, and possibly a list of restaurants, shows, etc. The cloud agent would book the package at the best possible cost. For holiday gifts, one could have a list of 5 people and 3 options of gifts per person, with an agent seeking the web for best prices and coming back with an option to buy a good package of gifts within budget. Better yet: agents could be given access to personal “wish lists”, avoiding or minimizing the chances of someone getting duplicated gifts.&lt;br /&gt;&lt;br /&gt;Such agents could nowadays be created as rich clients or even mobile applications. Yet, that is not yet as good as the possibility of a server-side user-centric agent. Such agents could detect trends and help end-users to possibly get some “group power”. This could even work better at the international level in scenarios like Europe, where at times users are stuck with certain “local sites” available in their language, whereby if able to purchase the same product from a site in another language that would deliver locally they could save significant amounts. It is where cloud computing will eventually go, and end-users will appreciate if that happens sooner than later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-5184329641203033664?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/5184329641203033664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=5184329641203033664' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/5184329641203033664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/5184329641203033664'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/11/cloud-agent-transactions.html' title='Cloud Agent Transactions'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-6318634423147905687</id><published>2010-11-19T21:49:00.000-08:00</published><updated>2010-11-19T21:54:30.278-08:00</updated><title type='text'>The Best Software Development Methodology</title><content type='html'>Over the years, a lot of people have asked me about the “best software development methodology”. I’ve upset many of them by quickly asking back: “Define best”. People think it is “obvious” what “best” is, only to start struggling when they have to explain it. Obvious things should be easy to explain. If you believe that two sticks can be represented by the symbol 2, and that four sticks can be represented by the symbol 4, then 2 + 2 = 4 becomes “obvious” because one can easily visualize counting 2 sticks and then counting 2 more, having 4 after counting all sticks together. That is what “obvious” is supposed to mean: something “easily perceived by the senses or grasped by the mind”.&lt;br /&gt;&lt;br /&gt;Software development methodologies are hard to grasp by themselves. Comparisons are even worse. At times, one wants to “achieve the same result in a cheaper way”. Other times, one wants the result “earlier”. Others want a “better result”. Wanting “just everything” is the same as wanting to be healthier, without exercises, eating all you want, with lasting results, and cheaply. The problem is not that there are people willing to pay for that, but that there are people selling the product that they cannot deliver. Here are some of the methodologies I’ve seen sold over the years.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Silver Bubble&lt;/strong&gt;. It is like in the classic vampire movies, when a silver bullet eliminates all your problems in a single shot. The problem is that the “silver bubble” is just a fad, which then explodes leaving behind a mess. At a point in the past, everything was going to soon be solved by AI. Then GUIs would make the world better, and stop hunger everywhere. The desktop and rich clients would place “information at your fingertips”, only for the information to be later put away “in the cloud”. Then next silver bubble will probably be the “rain software”, which will come from the clouds!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Fairy Godmother&lt;/strong&gt;. Each bubble is temporary, but the “Fairy Godmother” is a permanent technique. It works like in fairy tales: a godmother appears from nowhere, waves a magic wand and all problems are solved, at least until midnight! The only difference is that the godmother is typically a highly paid consultant that comes and goes, leaving behind carriages that soon return to be pumpkins. Worst: there is always a gullible software customer that still believes in fairy tales (and not always a child).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Shrek Management&lt;/strong&gt;. It works for some companies, why it could not work for others?! Get a manager that doesn’t understand technology, and dress him with a blue jeans and black turtleneck. Make sure he has a tyrannical approach to manage people, and the diplomacy of an ogre. Impose secrecy for your project teams, or else… It can produce amazing results. Problem is: you should have your company near De Anza Boulevard, and the ogre needs to have good taste. Such ogres are far harder to find than offices for lease near De Anza Boulevard!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CAROUSEL.&lt;/strong&gt; The “Cloud-Agile Resilient-Open Unified-Scalable Elastic-Lean” methodology is also a permanent contender, and frequently appears simultaneously with a new wave of “Fairy Godmothers”. A new acronym is coined with the buzzwords “du jour”, and the paper is soon followed by the book, the conference, the movie and the t-shirts, and then the consultants (with names like “expert”, “practitioner”, “master”, etc.). A few times there is even a tool that implements the CAROUSEL, although that is not really required or desirable (why automated anything you can charge $300/hour to talk about as slowly as possible?!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-6318634423147905687?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/6318634423147905687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=6318634423147905687' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6318634423147905687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6318634423147905687'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/11/best-software-development-methodology.html' title='The Best Software Development Methodology'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-2256260371301080345</id><published>2010-10-31T18:07:00.000-07:00</published><updated>2010-10-31T18:11:02.488-07:00</updated><title type='text'>Good Customer Service</title><content type='html'>It is said that a disgruntled customer would spread the word to at least 7 other people about a bad experience. What about spreading the word when getting good service? I don’t believe there is enough data to allow for such Statistics! Nevertheless, let me share some good experiences I had in recent times.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Amazon.com&lt;/b&gt;: The pinnacle of great online customer service. I have a single account, from which I already bought products from Amazon in the USA, UK and France.  The other day I was unsure about a book title, but could remember I ordered it from Amazon. I could login and quickly browse through my order history, finding the full data of the order I placed on 1995!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Netflix&lt;/b&gt;: About 3.5 years ago I left Netflix, only because I was moving abroad. Last week, I decided to return, and it was an amazingly easy process. Yet, I hadn’t before experienced a video streaming service… that worked. Obviously, I have seen such services work in academic and/or corporate environments (as one would expect from someone buying books like “Multimedia Networking” and “Video Compression for Multimedia” about 15 years ago!). Yet, Netflix is the first public digital streaming over the Internet for reasonably large content that I’ve seen working to my satisfaction.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Toyota&lt;/b&gt;: I know this one may be contentious, but I was happy with Honda, happier with Nissan, and over the last 6 months I have been absolutely delighted by Toyota, in 2 different countries. That is a good record.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SeaTac&lt;/b&gt;: Quickly through the gates and then… free WiFi! That is something other airports should just copy.&lt;br /&gt;&lt;br /&gt;And it is not like every product/service I deal with provides a good experience. Isn’t it &lt;a href="http://alissonsol.blogspot.com/2010/06/avoid-aviva.html"&gt;Aviva&lt;/a&gt;? But I digress, since this was supposed to be post about positive experiences.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-2256260371301080345?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/2256260371301080345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=2256260371301080345' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2256260371301080345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2256260371301080345'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/10/good-customer-service.html' title='Good Customer Service'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-3838837286564028632</id><published>2010-10-04T08:10:00.000-07:00</published><updated>2010-10-05T00:36:18.981-07:00</updated><title type='text'>The Bus Route 550</title><content type='html'>I tried this Sunday to show to my family how good &lt;a href="http://en.wikipedia.org/wiki/Public_transport"&gt;public transport&lt;/a&gt; is in the USA. After many years using public transport in Europe with about 99% success, what could go wrong? After all, I was about to get a bus from Bellevue to Seattle. That is the same Bellevue that recently was selected the "&lt;a href="http://money.cnn.com/galleries/2008/fsb/0803/gallery.best_places_to_launch.fsb/index.html"&gt;Best place to live and launch a business&lt;/a&gt;" in the USA. As long as you don't rely on public transport...&lt;br /&gt;&lt;br /&gt;The 550 route is supposed to have a bus leaving the Bellevue Transit Center Bay 9 at 10:20Am. Assuming it would take 3 or 4 minutes for that bus to get to the corner of Bellevue Way with 4th, there we were at what was probably 10:21Am. No bus in the next 30 minutes. Maybe our watches were all out of sync with Sound Transit, and we missed that bus. No problem: another bus is supposed to leave the BTC at 10:50Am. Another 30 minutes go by, and no bus at all. We walk back home, get into a car, go around the block and see the person that was waiting for the bus with us still waiting. By chance I drove by the same way the bus was supposed to come from, and at 11:25Am passed by the bus, leaving BTC.&lt;br /&gt;&lt;br /&gt;When you are waiting at a bus stop for about an hour with 2 children, you have to create some games to pass time. We counted a few hundred cars entering the nearby shopping center, and there was a person jogging around the park that is really in good shape: running all those laps in an hour at the same pace is impressive! I was trying to show to my family how good public transport is in the USA and I succeeded. It is just that I've showed it is not reliable at all, circa 2010.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-3838837286564028632?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/3838837286564028632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=3838837286564028632' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3838837286564028632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3838837286564028632'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/10/bus-route-550.html' title='The Bus Route 550'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-672834408052862685</id><published>2010-09-23T21:58:00.000-07:00</published><updated>2010-09-23T22:04:49.273-07:00</updated><title type='text'>The Umbrella Software Architecture</title><content type='html'>Mainframe, mini, personal computer, cloud computing, and the next big wave of computing should be… the umbrella architecture. It simply “covers everything”!&lt;br /&gt;&lt;br /&gt;Jokes aside, I was reading about &lt;a href="http://hothardware.com/News/IBM-Introduces-Worlds-Fastest-Processor-52GHz-Enterprise-Chip/"&gt;IBM’s 5.2GHz CPU&lt;/a&gt;, and it is becoming clear that deployment problems with cloud computing will only result in one thing: a return to the mainframe days. After so many years hammering ideas like grid and cloud computing, “experts” will have to disguise this as some kind “virtual cloud condensation”. Bring back something like the &lt;a href="http://en.wikipedia.org/wiki/VM_%28operating_system%29"&gt;VM/CMS&lt;/a&gt;, which never went away anyway, and that is it: the cycle is complete.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-672834408052862685?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/672834408052862685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=672834408052862685' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/672834408052862685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/672834408052862685'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/09/umbrella-software-architecture.html' title='The Umbrella Software Architecture'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-6801307592982110548</id><published>2010-09-05T10:28:00.001-07:00</published><updated>2010-09-05T10:28:45.870-07:00</updated><title type='text'>Strange Software Revenue Models</title><content type='html'>After a recent download, I faced a very strange business model for software revenue. A very specific freeware that I happened to find useful is based on having a publicly available version that is fully functional, while the latest version is only sent to those that support the development through “donations”. Not a scam, because the tool provided real value, and one could easily imagine some additional functionality, which indeed I was curious to see if the latest version implemented.&lt;br /&gt;&lt;br /&gt;The problem is that one never really knows what is in the latest version until “donating” to receive it. If such latest version then has no more value than the publicly available version, there is no reason to complain: a donation is a voluntary act that doesn’t give right to support, or specific new features. Worse is that you never really know what may happen nowadays. You may have downloaded a very useful tool, and be eager to get the latest version. After making a “donation”, you may receive a package that will have ads, or the infamous “toolbars”, etc. I probably would be able to avoid installing or later disable such add-ons. But what about those that won’t notice or not be able to properly remove such malware?&lt;br /&gt;&lt;br /&gt;This doesn’t look like a good revenue model, and it will probably not be legal for long. Certainly, someone will think of something else to overcome technical, legal or moral issues that may exist regarding getting money from customers to support software development. Soon, operating systems should take action prevent such scenarios.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-6801307592982110548?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/6801307592982110548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=6801307592982110548' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6801307592982110548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6801307592982110548'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/09/strange-software-revenue-models.html' title='Strange Software Revenue Models'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-4487093265428366709</id><published>2010-08-29T21:56:00.000-07:00</published><updated>2010-08-29T21:58:28.551-07:00</updated><title type='text'>Buying a house circa 2010</title><content type='html'>It is already 2010, but the promise of the “virtual tour” is still not there. By the mid-90’s there were already technologies that allowed one to share reasonably good virtual reality streams. Fast forward 15 years, and most real estate websites are barely standardizing the text information about properties, and not even considering standardization of pictures. Some of wide angle pictures I’ve seen should win prizes for special effects. When visiting the corresponding house I couldn’t imagine how those could be taken without damaging the walls.&lt;br /&gt;&lt;br /&gt;Obviously, things are far better nowadays than 15 years ago. With sites like &lt;a href="http://www.redfin.com/"&gt;Redfin&lt;/a&gt;, &lt;a href="http://www.zillow.com/"&gt;Zillow &lt;/a&gt;and other similar ones, the first phase of a house search is far easier. A few features are still not there. I would like to be able to draw a region in a map, and search properties in that region. If you search for properties based on distance from a certain location (work, school, etc.) then it doesn’t matter if it is located in city A or city B, as long as it is close enough. Conversely, if what you really care about is the catchment area for school districts, or county taxes, or simply avoiding a certain neighborhood, then the ability to draw an irregular area may be a key differentiator in the near future. Finally, I would really like to be able to search for houses based on how long it takes to bike to a certain location. Let’s see which site gets that first.&lt;br /&gt;&lt;br /&gt;After making an initial list, open houses are still a particularly useful tool for sellers and buyers. My opinion is that if the house is at a reasonable price, well-maintained, and in a good location, then the current sellers shouldn’t worry: like me, there are several buyers out there that do need to buy or rent, with the current conditions favoring a purchase. Location is still the key criteria. That said, I found no less than 200 houses that would be in a desirable location and within my target price range. What made the difference that would get my attention? Not the hot tubs, movie rooms, boat garages, or any of the amazing personal items that some sellers give a lot of important to, and want you to pay for. What matters is the maintenance of the house, and that some sellers just forgot about.&lt;br /&gt;&lt;br /&gt;Worst is to notice that most of the poorly maintained items in houses being put in the market simply shouldn’t be there. All but 2 of the 10+ hot tubs I saw looked more like a mold deposit, and the houses I’m really considering luckily didn’t have a hot tub. Sellers should excuse me for not wanting to pay for the work to have wires in an entertainment room for 7.1 surround sound: I have a good home theater system with wireless speakers. I particularly like to visit houses without furniture, and be able to evaluate the real size of each unit. It is fine if there is furniture in the house because the sellers are still living there. Paying for rented furniture to be in their houses after they moved just for open houses is what looks like pure nonsense. Yet, each seller needs to sell the house only to one buyer, and it may be that such buyer has an opinion different from mine.&lt;br /&gt;&lt;br /&gt;A service that you should have if you can is a good real estate agent. Besides some local expertise, the new system of electronic keyboxes used by such agents is a good example of innovation that makes visits far easier. At times we would be just driving by a house just put in the market and be able to stop and make an unanticipated visit. Great innovation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-4487093265428366709?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/4487093265428366709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=4487093265428366709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/4487093265428366709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/4487093265428366709'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/08/buying-house-circa-2010.html' title='Buying a house circa 2010'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-3983839770420096192</id><published>2010-08-15T12:06:00.000-07:00</published><updated>2010-08-15T12:08:27.835-07:00</updated><title type='text'>So long, and thanks for all the fish</title><content type='html'>It was a pleasure to work in the UK. Not only because of my work itself, which was an amazing opportunity, but also because the work environment is somehow closer to that I was used to in Brazil: more formal, and yet more relaxed. That is in opposition to the informal and yet tense work environment I’ve witnessed in some teams while working in the USA (luckily not all of them!).&lt;br /&gt;&lt;br /&gt;Outside work, I cannot resist the temptation of defining an equation for the entertainment time in the UK: E = (mc)². That reads as: Entertain yourself with Monuments, Museums, Castles and Churches. There are a lot of those to choose from, all with interesting historical background. Most importantly, most of those activities are free, or extremely cheap, all thanks to the UK taxpayers (a set I’m kind of happy to no longer “fully” belong to).&lt;br /&gt;&lt;br /&gt;I made a point of trying the “Fish &amp;amp; Chips” in almost every pub I went to while in the UK. That was a lot of fish, and most of it extremely good. The idea of becoming a permanent resident came close to become a reality. It is definitely a country that I’ve seen through a good transformation over the last 3.5 years, and hopefully the same happened to me. Meanwhile, so long, and thanks for all the fish!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-3983839770420096192?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/3983839770420096192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=3983839770420096192' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3983839770420096192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3983839770420096192'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/08/so-long-and-thanks-for-all-fish.html' title='So long, and thanks for all the fish'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-3630997535954434191</id><published>2010-07-08T15:30:00.001-07:00</published><updated>2010-07-08T15:55:28.262-07:00</updated><title type='text'>Ideas for Outlook Plug-Ins</title><content type='html'>Maybe I should just implement those myself, but just in case someone has spare time, here are some ideas for useful Outlook Plug-Ins:&lt;br /&gt;1) &lt;b&gt;E-mail quotas&lt;/b&gt;: You could only send 5 messages per day. Bonus feature: maximum of 1 message per hour. Superbonus: not enabling the reply button for a message less than 0.5 hour old. No more flame wars...&lt;br /&gt;2) &lt;b&gt;Auto-Search&lt;/b&gt;: Have you ever received a message with a question that you could copy and paste to a search engine and reply exactly with the first link from the results? Wouldn't it be great if the person typing the question received automatically the suggestion for an answer? (along with disabling the send button until the person is sure that the question isn't an embarrassment)&lt;br /&gt;3) &lt;b&gt;Meetings avoider&lt;/b&gt;: I have a long list of requirements just for this one, but it basically starts with a polite automatic reply message: "&lt;i&gt;I have already another meeting at this date/time. Could you share the agenda for this meeting so that I could evaluate which of my conflicting meetings could provide the most benefit for my projects?&lt;/i&gt;".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-3630997535954434191?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/3630997535954434191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=3630997535954434191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3630997535954434191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3630997535954434191'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/07/ideas-for-outlook-plug-ins.html' title='Ideas for Outlook Plug-Ins'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-2916671043965215844</id><published>2010-06-19T04:25:00.000-07:00</published><updated>2010-06-19T04:27:09.420-07:00</updated><title type='text'>Models and Context</title><content type='html'>When I started my studies to get a degree in Physics, there were several fellow students far more hopeful than I was regarding the ability of Science to “explain” anything. None of them finished the Physics course. Some, probably the best students, went to get a degree in Mathematics. They became increasingly disappointed with the way Physics deals with the facts that an accepted model cannot explain: just split something in the model into smaller pieces, and assign to each smaller piece the strangest possible behavior under specific conditions. I didn’t get so annoyed by that as my fellow students, and could finish the Physics BSc course and, better yet, get a good preparation for my future in Computer Science.&lt;br /&gt;&lt;br /&gt;Recently, I was reminded of my undergraduate days, reading some news about the ‘&lt;a href="http://news.bbc.co.uk/2/hi/science_and_environment/10313875.stm"&gt;multiple God particles&lt;/a&gt;’. Most people just get surprised and at times enchanted by these models. I’ve seen people that get really disappointed when ‘the results don’t match the predictions based on the model’. As if the model was the real thing and the world needed to really obey the ‘Laws of Physics’. Arrest that atom that won’t follow the expect trajectory! Not that such hasn’t been tried before, when the accepted model for cosmic objects placed the Earth at the center of the universe.&lt;br /&gt;&lt;br /&gt;Learning about Physics makes you aware that each model has an enormous context. And that the easiest way for some critics to attack a model is to take parts of it ‘out of context’. The same applies to almost anything in life, mainly political processes. And politics is present in any group of more than one person, although there are some you would imagine that can do that alone. I’ve seen people try to take a single sentence out of a meeting/presentation/e-mail/text ‘out of context’, and use that in a way to ‘frame’ other people. That is the only explanation for the insistence of people on ignoring the simple fact that anything, taken out of context, can have a totally different meaning.&lt;br /&gt;&lt;br /&gt;During a training session, I was once asked to read, without the adequate context, a transcript of a dialogue among two people. They were talking a little too enthusiastically about the ‘weather’. Yet, one couldn’t consider that other than a normal conversation between normal people, maybe a little addicted to weather reports. After adding the context that they were instead two criminals, and that each ‘weather system’ arriving was a container with illegal goods, we heard a recording of the same conversation. Those previously friendly people now sounded worse than Al Capone. Yet, a revealing moment came when we were finally presented a video of what was really happening. In the video, those were two meteorologists exchanging information about the weather. Just two people enthusiastically doing their job. Hardly could a moment in my life better prove the need to understand the context before criticizing something, and be aware that we could at times accept too easily the wrong context and, on the top of wrong assumptions, keep adding wrong conclusions.&lt;br /&gt;&lt;br /&gt;The only better training video I’ve seen in life is the one in which a gorilla enter and leaves a scene during which the audience is requested to focus on several balls moving around. When asked about anything unexpected in the scene just moments later, half or the audience hadn’t noticed the gorilla. That experiment has been recently reused as the theme for an &lt;a href="http://www.youtube.com/watch?v=GchfVy6hgVA"&gt;ad&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-2916671043965215844?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/2916671043965215844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=2916671043965215844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2916671043965215844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2916671043965215844'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/06/models-and-context.html' title='Models and Context'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-1844132388033765260</id><published>2010-06-13T09:24:00.000-07:00</published><updated>2010-06-13T10:03:33.876-07:00</updated><title type='text'>Avoid Aviva</title><content type='html'>Aviva is paying for "customer stories" that would show how much the company "has gone out of the way to help" them. That is the only way for Aviva to really get a good story from someone that has been a customer: paying for it! Aviva, ex-Norwich Union, is simply the worst insurance company I've dealt with in more than 20 years having car insurance. The company is literally a scam.&lt;br /&gt;&lt;br /&gt;My first "incident" in the UK was due to someone that claimed that my car had a crash with their car. Their insurance, Direct Line, is probably good, because they wanted Aviva to pay for “the accident”. Problem is: my car wasn’t involved in a crash at all. The other person, despite being able to provide my plate, could never correctly say the color of my car. Isn’t that suspicious? During about 4 months of ludicrous phone calls, I was repeatedly asked about where I and the car were at the moment of the “accident”. I would then have to repeatedly explain that I didn’t remember details of an accident that didn’t happen. I refused to give them answers that would provide more details about my car, and kept asking them if they were talking about my yellow or my red car (I have no car with those colors). The non-sense only ended with the police showing up at my door, at the request of Direct Line, to confirm that my car hadn’t possibly be involved in the alleged accident, something I suggested to Aviva the first time they called. What service Aviva provided to me: none. They would just follow each Direct Line phone call with a phone call of their own to “confirm what I have told Direct Line”.&lt;br /&gt;&lt;br /&gt;The second “incident” was even worse. Another car really crashed into my car, when it was stopped, waiting for a parking space in the garage of a hospital. The insurer for the other car: Aviva. The insurance for my car was the Post Office, but the underwriter was Aviva, which was the company I had to deal with anyway, and supposedly “the insurance company on my side”. Despite that, months of escalation followed in which they repeatedly referred to themselves as “the insurance company for the other car”, what they probably did for the other driver also! The other driver took full responsibility for the accident. Their huge car having hit my car at the driver’s side in the UK (the right), the car had damage on the right side, and on the left side. Aviva wanted to know what the car had hit on the left side in order to pay for the repairs. Problem is: the car was being driven by my wife, who was at a hospital to take one of my daughters to emergency. There are certain priorities in our lives, and peeking at the left side of a car just dragged by another huge car, when a daughter is suffering a medical emergency, is not one of our priorities. Aviva never paid for the damage to the left side. The issue was escalated, as per their proceedings, to the Chief Executive UK Insurance. That is a lie. The complaint only goes to the table of a different “Customer Relations” person. The issue is being escalated to the Financial Services Authority.&lt;br /&gt;&lt;br /&gt;Avoid Aviva as much as you can. Do not be misguided by a quote for insurance services that is just some pounds cheaper than a competitor. One buys insurance hoping not to use it. If you buy insurance from Aviva, then you will really hope you don’t have to use it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-1844132388033765260?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/1844132388033765260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=1844132388033765260' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/1844132388033765260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/1844132388033765260'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/06/avoid-aviva.html' title='Avoid Aviva'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-8813466981127251052</id><published>2010-05-23T00:43:00.001-07:00</published><updated>2010-05-23T00:45:15.571-07:00</updated><title type='text'>Incompetence</title><content type='html'>One of the most interesting Despair.com posters I’ve seen is the one about &lt;a href="http://www.despair.com/incompetence.html"&gt;incompetence&lt;/a&gt;. It reads “&lt;i&gt;When you earnestly believe you can compensate for a lack of skill by doubling your efforts, there’s no end to what you can’t do&lt;/i&gt;”. I always somehow connect this with the saying of Hippolyte Jean Giraudoux: “&lt;i&gt;Only the mediocre are always at their best&lt;/i&gt;”. My take: we are all certainly incompetent at some things most days, and at others eventually.&lt;br /&gt;&lt;br /&gt;In the context of software development: how do we pick which code to ship/deploy? Do we pick “&lt;i&gt;the best possible code, developed by our best developers during their best days&lt;/i&gt;”, or do we pick the “&lt;i&gt;worst possible code, developed by our worst developers when at their worst days&lt;/i&gt;”?&lt;br /&gt;&lt;br /&gt;The problem is that currently most of the big software companies have in place processes that will allow you to start at any extreme, and end somehow mid-way, at the “&lt;i&gt;mediocre code, developed by mediocre developers during mediocre days&lt;/i&gt;”. It is possibly a “procedural incompetence”. Nevertheless, what is done when a single bug/issue is found in a large amount of code? More process. Ignore that probably the bug was caused by a distraction, originated after many hours of exhaustion during the “crunch time” period to hit some artificial milestone. Ignore that process already existed, and probably was not already being perfectly followed. What is presented as a solution for not following the existing process is usually more process. Isn’t that management at its worst?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-8813466981127251052?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/8813466981127251052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=8813466981127251052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8813466981127251052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8813466981127251052'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/05/incompetence.html' title='Incompetence'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-7591021364940197751</id><published>2010-05-17T22:47:00.000-07:00</published><updated>2010-05-17T22:48:49.174-07:00</updated><title type='text'>Fixing a Chair</title><content type='html'>I had to fix a reclining chair this weekend. After years or wear and tear, a rivet was broken. Two aspects of the chair could be easily related to software area: encapsulation and interfaces.&lt;br /&gt;&lt;br /&gt;It is a nice chair, and looking under and behind it makes one easily notice how the exterior encapsulates a lot of mechanical and electrical connections. There is little worry about hiding the details, mainly under the chair. Literally, one has a “backdoor” that makes it easy to reach the mechanisms inside the device. I’ve barely worried about looking at those areas before. It wouldn’t pass a “security review” with software testers nowadays. One would point out that, if the chair is not in its normal position, a child could easily get to those inner components. Yet, I cannot remember this chair being in anything other than its normal position, except while I was fixing it. A beautiful and hard to remove cover for its bottom would have little return on investment. Why do we focus so much on such rare upside down scenarios in software?&lt;br /&gt;&lt;br /&gt;Now to the beauty of the interfaces. I probably could have avoided having the rivet broken, since for a while I could perceive it was getting loose. However, it was loose and working. I could wait for the rivet to break by itself, or I could have broken it myself and replaced it sooner. This mirrors a little certain software scenarios in which you can sense things are “loose”. The problem is that having such warnings is not that common. Most times, software delivers a binary experience: it either works, or it doesn’t. And then, there is the beauty of easily replacing something broken, even not having exactly a perfect match for the replaced component (I used instead a screw and nut). Even computer hardware does already far better than the software business. Despite all the babbling about Xml, standard APIs, etc., the reality is that the end-user is basically stuck with a “stack of choices”, in which replacing a component most times simply cannot be done. Imagine a simple analogy of taking a font from a certain computer/word processor to another computer/word processor. Even ignoring all the licensing issues, it is almost impossible to deal with all the problems of registry entries, configuration files, etc. And that assuming you have similar computers and operating systems. I wish I could just “transfer parts” of my software and replace as needed, as I could do with the reclining chair.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-7591021364940197751?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/7591021364940197751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=7591021364940197751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7591021364940197751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7591021364940197751'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/05/fixing-chair.html' title='Fixing a Chair'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-4311060044242693328</id><published>2010-05-13T22:16:00.000-07:00</published><updated>2010-05-13T22:22:35.434-07:00</updated><title type='text'>Play</title><content type='html'>The blog “pause” happened the way these things happen: I will post it “tomorrow”… In the meantime, besides vacation time and other activities, I’ve been invited to write a post for another, more important official company blog (available &lt;a href="http://blogs.msdn.com/academicos/archive/2010/05/07/re-so-do-conhecimento.aspx"&gt;here&lt;/a&gt;, in Portuguese). It obviously takes far more time and carefulness to write “officially” than “unofficially”.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-4311060044242693328?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/4311060044242693328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=4311060044242693328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/4311060044242693328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/4311060044242693328'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/05/play.html' title='Play'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-3423133896287513452</id><published>2010-02-21T10:40:00.000-08:00</published><updated>2010-02-21T10:43:22.989-08:00</updated><title type='text'>Updates, and Updates, and Manual Steps</title><content type='html'>As if Windows didn’t have enough updates by itself, I recently acquired a MacBook for my wife only to discover that the OS X has even more (mainly considering download size). Then, one of the Macs “under my administration” got the infamous Boot Camp 3.1 update problem, only resolved by running manually the update installer, as per the steps in one the answers to a common &lt;a href="http://discussions.apple.com/thread.jspa?threadID=2305834&amp;amp;tstart=0"&gt;support question&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The Mac gets a lot of good press for the software. But, given the same hardware, I still prefer Windows.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-3423133896287513452?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/3423133896287513452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=3423133896287513452' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3423133896287513452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3423133896287513452'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/02/updates-and-updates-and-manual-steps.html' title='Updates, and Updates, and Manual Steps'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-5267968083542945725</id><published>2010-02-14T10:35:00.000-08:00</published><updated>2010-02-14T10:43:30.897-08:00</updated><title type='text'>Innovation and Execution</title><content type='html'>A friend pointed out the now infamous “Creative Destruction” article by former Microsoft executive Dick Brass, asking me if I would agree with his point-of-view. It is hard to discuss that article. First, because I cannot verify his claims of “sabotage”, while also not being able to dismiss those. Even assuming those are true, one has to remember that engineers always have to be prepared to be challenged on their claims. Many engineers just want to be “taken for granted”, even when making absurd claims.&lt;br /&gt;&lt;br /&gt;The main problem that I see with the article is that it criticizes “innovation” but then goes on and on to talk about problems with “execution”. That is the equivalent of complaining that, despite all the Nobel Peace winners, the world still has ongoing wars! Creativity and innovation brings us new ideas, great music, great novels, great policies, etc. But only disciplined execution really achieves results. Only the disciplined application of engineering allows men to build 828 meters high structures like the Burj Khalifa in Dubai.&lt;br /&gt;&lt;br /&gt;About 2 years ago, I’ve created a presentation that I’ve adapted to several events, talking about the 3 main issues that should be addressed in the arduous process of going from papers to products inside software companies. I’ll now reuse those issues to illustrate how they can help software executives avoid having “execution” blocking “innovation”.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Setup&lt;/b&gt;. Several projects never reach customers not because the idea wasn’t good, or because it couldn’t be technically implemented. The problem is that it couldn’t be technically implemented by the team in charge, in the time allocated for the project. Most teams focus so much in the “problem domain” that they forget everything about the “solution domain”. It is common to see demos in which everything magically works, and the first question about “users” and “permissions” is addressed with a “that will be simple to deal with later”. Just a few months before release, there comes the “rearchitecturing” of the entire project, because security needs to be reimplemented, remote servers need to be supported, a big customer scenario has some incompatible software running, etc. All the inovative features are typically cut at such late stage.&lt;br /&gt;&lt;br /&gt;How can executives address this? Don’t ask for demos, ask for prototypes. The prototypes should come with install instructions, and the executives, or their technical assistants, should be able to setup the prototypes by themselves. If this cannot be done then it shows that the demoware is simply no easily deployed. That is a huge red flag that needs to be addressed as early as possible, and not as late as allowed, as in many failed software projects.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Test&lt;/b&gt;. Demos work because the “user” is doing a demonstration, not really using the product. Agile technologies are becoming so popular not because they have a magic bullet: it is just that they avoid having test becoming an end, and not the means to achieve quality. Everything that is checked-in should work, for the “typical user”, everyday. Yet, nowadays it looks like software testing has a hidden purpose: to compete with development in volume of generated code. The application at times is failing miserably in the hands of users, but the “test harness” is producing the most amazing reports saying that the application has very high quality!&lt;br /&gt;&lt;br /&gt;How can executives address this? Again: just use the milestone builds. Indeed, if program managers, product managers, and all the “managers” just used the applications “under their management” then the quality of the products would improve tremendously. That would also have the side-effect of making executives used to the process of seeing applications being built “bottom-up”, instead of the “top-down” approach used by demoware.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Support&lt;/b&gt;. I’ve recently attended some management training, and a video was shown of a corporate executive taking a potential customer call. It was laughable. This was not even a software product, but the analogies were easy to make. The executive didn’t really know the company service. Besides almost losing the sale, she created an embarrassing situation before calling a top sales person for damage control (which, by the way, the sales person did brilliantly!).&lt;br /&gt;&lt;br /&gt;How can executives address this? Call/email/contact your company, and ask for support some product or service that you understand. How did it go? If that is the current scenario for an established product, what will happen with a new product? No amount of “support policies” and other documents placed on the product box or service contract can overcome that bad impression that customers have when asking for support and not getting proper help. Innovative products and services without good support are as good as booking a ticket to the moon, without a return ticket.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-5267968083542945725?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/5267968083542945725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=5267968083542945725' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/5267968083542945725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/5267968083542945725'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/02/innovation-and-execution.html' title='Innovation and Execution'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-8432353244189039374</id><published>2010-01-31T12:24:00.000-08:00</published><updated>2010-01-31T12:36:02.497-08:00</updated><title type='text'>The iPad and my mother</title><content type='html'>Smart people usually do the dumbest things. Smart people are confident, and confident people typically don’t check their assumptions. You build 100 floors on top of a weak foundation and…&lt;br /&gt;&lt;br /&gt;A lot of my fellow techies are missing the point of the iPad. Techies are comparing the iPad to netbooks. They are talking about multitasking, and the absence of OLED display. All such technical comparisons remind me of when IBM dismissed the PC as not being a “proper” computer.&lt;br /&gt;&lt;br /&gt;The iPad will enable a scenario I’ve trying for a while with “proper computers”, and failing miserably: private photo sharing. My mother still asks me to send paper copies of her granddaughters’ pictures. And that is a complex operation: I send the pictures to a brother, who then prints and gives those to her. My mother cannot stand having to wait for a computer to boot, open an application, etc., etc., etc., all this to look at he granddaughters’ pictures. He point is simple: with a paper album, I open it and can already see the pictures. Why you cannot make this happen with all such new technologies?&lt;br /&gt;&lt;br /&gt;A few new digital picture frames can get pictures from the Internet, but most depend on you using some service to store the pictures. Even if that is at times “free”, you risk having your pictures shared with more than the intended audience. Now, I can create/use a simple application that will, on a peer-to-peer approach, connect an iPad at my mother’s house with some iPod/iPad at my house, and we then share pictures between the paired devices. My mother didn’t like the iPod, because the screen was too small. Now the screen is exactly at the right size.&lt;br /&gt;&lt;br /&gt;Like my scenario, there will be hundreds of similar ones for which a “proper computer” would be an overkill, and the iPad will be exactly the adequate device. The price may become the only constraint for most people. But that is something that can only be solved by large scale production, what is always a good problem to have.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-8432353244189039374?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/8432353244189039374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=8432353244189039374' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8432353244189039374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8432353244189039374'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/01/ipad-and-my-mother.html' title='The iPad and my mother'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-5571606298916216226</id><published>2010-01-16T12:39:00.000-08:00</published><updated>2010-01-17T03:03:54.413-08:00</updated><title type='text'>And while waiting for Click...</title><content type='html'>Although I’ll have this time to start with the disclaimer of being a Microsoft employee, I would prefer to consider that I’m mainly trying to share some more information to “avoid unnecessary panic”. This is by no means an “official company communication”, and information is provided “as is”, without any explicit or implicit guarantees.&lt;br /&gt;&lt;br /&gt;On Saturday, January 16, 2010, 19:25-GMT, &lt;a href="http://news.bbc.co.uk/1/hi/technology/8463516.stm"&gt;BBC News interviewed Mr. Alan Stevens&lt;/a&gt;, who was introduced as a Media Consultant and Computer Expert. Mr. Stevens went on to present opinions about news that the Germany government made an alert about vulnerabilities in some Internet Explorer versions. Mr. Stevens made some comments that may have confused even more the BBC audience.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;German government didn’t tell its citizens to stop using Microsoft products.&lt;/b&gt; The news presenter made correct statements about German government recommendations. Yet, Mr. Stevens made clearly a reference to a supposed recommendation by the German government to “...don't use Microsoft products”, what is not correct.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Mr. Stevens made an inadequate analogy about what security vulnerabilities in browsers are, how those are found and exploited&lt;/b&gt;. His analogy was that of having an open window in your house, and someone publishing a map and providing a ladder to help people get in. Proceeding with his analogy, one would have to believe that you live in crystal palace with millions of windows, and that the targeted window has been opened for years, without any problems. Mapping very technical concepts like “pointers to deleted objects” to the physical world is hard, yet possible. A closer analogy would be to give you the yellow pages and those having a certain ad with a phone number for a no longer existing service provider, which now happens to be the phone number of a “bad guy”. Yet, the value of such analogies is limited, mainly when incorrect.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Mr. Stevens went on to say that Microsoft “obviously” was trying to downplay the importance of security vulnerability.&lt;/b&gt; The Microsoft Security Response Center has a blog (&lt;a href="http://blogs.technet.com/msrc/"&gt;http://blogs.technet.com/msrc/&lt;/a&gt;) that has been publishing information about the ongoing investigations on the recent security attacks on several American corporations. There is no basis to affirm that the company is downplaying the importance of any security vulnerability. Mr. Stevens made it look like the recent incidents targeted general users, when those targeted only large corporations. Also, some recent incidents used techniques of social engineering, like thinking someone’s password from known facts about the person.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Some minor details were wrong, and maybe a little &lt;span class="Apple-style-span" style="font-weight: normal;"&gt;“&lt;/span&gt;biased&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;”&lt;/span&gt;.&lt;/b&gt; Despite being asked about how quick he thought that the company was working on a fix for the recently reported issues, Mr. Stevens went on a tirade about how IE was losing market share. While aware that a security advisory about how to improve security in IE6 to avoid the attack was published, Mr. Stevens made it sound like this wasn’t a valuable piece of information, even when in fact only attacks to IE6 have been confirmed so far. Finally, Mr. Stevens went on to say that “&lt;i&gt;…they are going to be working like mad in Silicon Valley…&lt;/i&gt;”. Despite having offices in the Silicon Valley, Microsoft’s main development offices are in Redmond, WA, USA, where IE development happens.&lt;/li&gt;&lt;/ul&gt;That said, Mr. Stevens was making comments on live TV, and one would always be subject to make mistakes under such circumstances. It is always hard to speak publicly, targeting a general audience, about very technical issues. Yet, at times that is done, and it is even fun. Time to watch “Click”.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-5571606298916216226?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/5571606298916216226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=5571606298916216226' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/5571606298916216226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/5571606298916216226'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/01/and-while-waiting-for-click.html' title='And while waiting for Click...'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-7594089940235378902</id><published>2010-01-11T15:18:00.000-08:00</published><updated>2010-01-11T15:58:20.744-08:00</updated><title type='text'>The Last Amateurs</title><content type='html'>While I like sports, and like business, I usually don't like mixing both worlds. I don't see the many motivational lectures by successful sportsmen as having any effect in business performance.&lt;br /&gt;&lt;br /&gt;I approached the book "The Last Amateurs", by Mark de Ronde, with special curiosity. Mark presented a good class on Negotiations during a training session I recently attended at the University of Cambridge, doing an effective job in very little time.  It has been my belief for a while that we miss the use of more Ethnography in Software Engineering, and reading this book confirmed my impression. Yet, it may not be an interesting book for everyone. I wonder if some content left out of the book wasn't a little more interesting than a long discussion about a certain body part. Mainly, I find the final decision about the coxswain change to be conveniently not as documented as other trivialities.&lt;br /&gt;&lt;br /&gt;The book, for me, is worth reading. Even more worthwhile are certain posts from the book's blog, mainly the one on &lt;a href="http://lastamateurs.blogspot.com/2008/09/relevance-of-rowing-for-business.html"&gt;The Relevance of Rowing for Business&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-7594089940235378902?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/7594089940235378902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=7594089940235378902' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7594089940235378902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7594089940235378902'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/01/last-amateurs.html' title='The Last Amateurs'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-546555466520108207</id><published>2010-01-04T16:36:00.000-08:00</published><updated>2010-01-04T16:37:20.341-08:00</updated><title type='text'>Zune Wish List</title><content type='html'>If a Zune comes out with these, I will buy one.&lt;br /&gt;1) Sold and supported outside the USA.&lt;br /&gt;2) Better resolution. It doesn’t make sense that the iPod Touch has 480x320 pixels and the Zune HD still has 480x272 pixels.&lt;br /&gt;3) Infrared support. If the Zune can be used as a kind of universal remote control then I offer to write the application on my spare time!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-546555466520108207?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/546555466520108207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=546555466520108207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/546555466520108207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/546555466520108207'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/01/zune-wish-list.html' title='Zune Wish List'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-6736637555118232559</id><published>2010-01-03T12:41:00.000-08:00</published><updated>2010-01-03T12:49:52.700-08:00</updated><title type='text'>Useless Data</title><content type='html'>Let’s start the decade with some useless data. After some automation, I found that, on average, the birthday of my contacts in social networks happens on the 4th of June. Would it be adequate to just send a birthday card to all of them on my newly defined “average contact birthday”? Obviously, I’m not considering a real card, since that wouldn’t be ecologically friendly. Maybe a simple e-mail would suffice. But there is the risk of getting the message into the junk e-mail folder. Better not to do anything…&lt;br /&gt;&lt;br /&gt;Nowadays, a lot of “applications” are quickly delivering to users, in push or pull mode, an amazing quantity of useless data. Some of such data is probably harmless, like the just cited average contact birthday. However, there are some pieces of data that are not as harmless as that one. Most people in our society don’t really follow the rational model of enumerating several options for a given choice, doing adequate investigation of pros and cons and, after making a first choice, thinking a little more through its consequences, having a plan B ready, etc. That is time consuming, and the reality of life is that most people just want a quick reasonable answer, instead of a delayed best choice.&lt;br /&gt;&lt;br /&gt;Suppose, for example, that a manager is already “targeting” a certain employee. This manager somehow gets data showing that such employee is the one that most quickly answers e-mail messages in his team. If the manager is targeting the employee for promotion – not all “targeting” is bad – then this would go into a promotion justification as “&lt;i&gt;this is the most responsive employee in our team&lt;/i&gt;”. However, if the manager’s goal is to show that the employee is incompetent, then the same data can be presented as “&lt;i&gt;… data that shows such employee can be easily interrupted, and delivers answers to e-mail messages without doing enough investigation. Indeed, over the last year, these two examples…&lt;/i&gt;”.&lt;br /&gt;&lt;br /&gt;The problem is that the disconnected pieces of data being thrown at people are suddenly being considered relevant. It is as if not having such information yesterday, people couldn’t make a decision, whereas with this isolated data suddenly it all comes into place. Being an economist with a PhD doesn’t prevent the use of single piece of data as the anchor for a decision or opinion. Some economists are picking the latest released numbers for job creation, number of houses sold, etc., and quickly pointing out: “&lt;i&gt;You know that recession that I previously told you that wouldn’t happen, which was caused mainly by that housing bubble that I told you that never existed? It is now over!&lt;/i&gt;”.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-6736637555118232559?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/6736637555118232559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=6736637555118232559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6736637555118232559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6736637555118232559'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2010/01/useless-data.html' title='Useless Data'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-5465045767282756434</id><published>2009-12-28T01:42:00.000-08:00</published><updated>2009-12-28T01:51:30.005-08:00</updated><title type='text'>Error Messages: the 2009 list</title><content type='html'>5) &lt;b&gt;iTunes could not connect to this iPhone because an unknown error occurred (0xE8000001).&lt;/b&gt; That is probably because... I don't have an iPhone. I just have an iPod. Or maybe it can make phone calls and I just never correctly used that dial!&lt;br /&gt;&lt;br /&gt;4) &lt;b&gt;You don't currently have permission to access this folder. Click Continue to permanently get access to this folder.&lt;/b&gt; Why would I, an administrator of my own machine, click on the folder if I didn't want to get access to it?&lt;br /&gt;&lt;br /&gt;3) &lt;b&gt;InsideFlash. Warning: You are about to update BIOS. Please be adviced: a. Be sure your computer is running on exteral power. b. Before continuing, close all applications. c. Your system will automaically shut down after update.&lt;/b&gt; These are not typos I made when copying the text. The typos are really there in the application (adviced, exteral, automaically, etc.). Hard to miss, considering the application has just a single dialog! I almost had the desire to follow item b, and close the application.&lt;br /&gt;&lt;br /&gt;2) The relationship between Oulook and Exchange continues its saga of interesting and useless messages. I've selected some of the odd moments during 2009. &lt;b&gt;Microsoft Office Outlook. One or more items cannot be moved because items you previously moved are still being processed by the server. Was this information helpful?&lt;/b&gt; Not really. &lt;b&gt;The Exchange server issued an unexpected response (440).&lt;/b&gt; Very informative! &lt;b&gt;Cannot start Microsoft Office Outlook. Cannot open the Outlook window.&lt;/b&gt; I rest my &lt;a href="http://msdn.microsoft.com/en-us/library/ms679325%28VS.85%29.aspx"&gt;case&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;1) The Dell frozen registration dialog. &lt;b&gt;Thanks for choosing Dell! Get the most of your new computer. Registration is quick and easy.&lt;/b&gt; But.. wait, no so quick and easy. Indeed, the dialog has three buttons (Register, Remind Later, and Decline) that won't produce any result when clicked. Testing anyone?! Worse than the error was the time it took for it to be solved, and workarounds to be posted to the &lt;a href="http://en.community.dell.com/forums/t/19284941.aspx?PageIndex=2"&gt;Dell Community forum&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-5465045767282756434?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/5465045767282756434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=5465045767282756434' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/5465045767282756434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/5465045767282756434'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/12/error-messages-2009-list.html' title='Error Messages: the 2009 list'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-2767483327832984722</id><published>2009-12-26T12:45:00.000-08:00</published><updated>2009-12-26T12:48:22.164-08:00</updated><title type='text'>Anti-Social Times</title><content type='html'>Social networks are not just being used to rejuvenate the population, making old and mature people look like teenagers. Apparently, &lt;a href="http://www.techcrunch.com/2009/10/31/scamville-the-social-gaming-ecosystem-of-hell/"&gt;someone else has noticed&lt;/a&gt; the shortcuts being taken by social network sites and the applications based on their frameworks. And this is finally getting the attention of &lt;a href="http://www.time.com/time/business/article/0,8599,1935698,00.html"&gt;mainstream media&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It is a fallacy to think that such shortcuts are new. Many years ago, and long after the famous Nigerian letters were well-documented to be a scam, I watched a TV show about how easy con artists got lots of money just sending bogus bills to businesses. With a million letters asking for U$95.00 for some bogus service, getting 10% of the business recipients to just pay without checking is a great return on the investment on stamps!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-2767483327832984722?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/2767483327832984722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=2767483327832984722' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2767483327832984722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2767483327832984722'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/12/anti-social-times.html' title='Anti-Social Times'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-149673096687997762</id><published>2009-12-20T09:30:00.000-08:00</published><updated>2009-12-20T09:38:18.761-08:00</updated><title type='text'>Set-Top Box Upgrade</title><content type='html'>The expectation: any set-top box would get updates automatically “over the air”.&lt;div&gt;&lt;br /&gt;The reality: I had to find a computer with a serial port, and then a serial cable (that I had to borrow, since mine is nowhere to be seen after almost a decade without use). The update process itself wasn’t hard. Yet, the user experience was horrible. The “serial port” dependency is something that Humax needs to solve quickly. At a time when we are talking about USB 3.0, to be seeking for serial cables is almost as seeking for 8” diskettes. And many computer users have never seen a 8” diskette!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-149673096687997762?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/149673096687997762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=149673096687997762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/149673096687997762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/149673096687997762'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/12/set-top-box-upgrade.html' title='Set-Top Box Upgrade'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-9152395948414425271</id><published>2009-11-28T09:54:00.000-08:00</published><updated>2009-11-29T00:58:49.605-08:00</updated><title type='text'>Another Internet Click Fraud?</title><content type='html'>Some sites nowadays add “intermediate pages” with ads when you click on a link to some other content within the same site. Not that far away from the previously annoying “exit pages”, such intermediate pages are equally annoying, but I can understand the logic behind that approach. It gets a little worse now that sites will intentionally split a single story into several pages, hoping that you keep clicking until reading the entire story, giving the site owner new opportunities to display different ads.&lt;br /&gt;&lt;br /&gt;A while ago, something very interesting happened when I was browsing at a certain online news site. I was sure that I clicked on a certain link, and yet I was taken to the site of a product announced by one of the ads. I was absolutely sure I didn’t click that ad. First, because I usually don’t click on online ads anyway. But this case was a little different: I was sure I had clicked outside the ad. How could I have been taken to the site of the announced product?&lt;br /&gt;&lt;br /&gt;Being a developer, I “instrumented” my browser, and prepared to retry the scenario and take a look at the page source and its scripts. Yet, this time the problem didn’t happen. Everything happened as expected, and when I clicked outside the ad content, the browser just proceeded to the expected page. However, what if the page content sent to me this time was different from the one sent when the problem happened? Could I, as a developer, think of a way to make an ad look a little more effective than it really is, just using some technology tricks?&lt;br /&gt;&lt;br /&gt;Suppose I have an ad that is being shown to 1 million visitors of a certain web site, and being clicked 10,000 times. Considering that my goal when showing an ad is to have visitors clicking on it, the conversion rate is at 1%. Doubling that conversion rate with more interesting content is possible, but extremely hard. Yet, suppose that for 990,000 visitors I show the ad, and only those that click over it are taken to the product site. All things still being the same, hopefully 9,900 visitors will now be taken to the product site. However, for the remaining 10,000 visitors I could show a page that has some script that will take visitors to the product site no matter where they click. This only changes the experience of 1% of the visitors, but it will now result on 19,900 visitors seeing the product page. Obviously, a few will be annoyed. But what if historically 5% of those that see the product page end-up making a purchase? Potentially, sales could go up from 500 units to about 1,000 units disrupting the experience of only 1% of the visitors. Would all those involved, from the ad agency to the content site, and finally the product vendor, resist the temptation of using such trick?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-9152395948414425271?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/9152395948414425271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=9152395948414425271' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/9152395948414425271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/9152395948414425271'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/11/another-internet-click-fraud.html' title='Another Internet Click Fraud?'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-8791512102287083841</id><published>2009-11-08T14:34:00.000-08:00</published><updated>2009-11-08T14:38:39.757-08:00</updated><title type='text'>And 4 Years Later…</title><content type='html'>I recently noticed that soon it would be 4 years since my first blog post, and made an effort to list 4 things that I believe that got better and 4 things that didn’t get so much better over such period in the tech field. And huge thanks to the British for the fireworks! (Well, they call it Bonfire Night, but I just preferred to think they were celebrating 4 years since my blog started!).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Bad News First&lt;/strong&gt;&lt;br /&gt;- &lt;u&gt;Customer Service&lt;/u&gt;. It didn’t get any better. And be prepared: I believe it will get worse. Most people were thinking that buying products and services online would be the next universal panacea. Hope they never had to return anything. Physical stores continue to be a non-sense for the technical people. Some are nothing more than cybercafés, without the café.&lt;br /&gt;- &lt;u&gt;Software Engineering&lt;/u&gt;. We have no silver bullet yet. Most software/hardware projects still depend on a few self-motivated employees, able to keep focus despite frequent changes in priorities, interruptions, poor management, etc.&lt;br /&gt;- &lt;u&gt;Business Models&lt;/u&gt;. Nothing new here. Either you pay for software distributed with “licenses” that you don’t have the time to read, or use “free services” full of ads that you don’t have time to pay attention to. What I heard recently in an event about hardware was clear: the current business model in which hardware is a commodity subsidized by long term contracts for attached services cannot continue.&lt;br /&gt;- &lt;u&gt;Government interventions&lt;/u&gt;. For some strange reason, legislators and judges in Brazil keep thinking they have the power to decide what content should be posted or removed from the Internet. Worse: other governments think the same too!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The Good News&lt;/strong&gt;&lt;br /&gt;- &lt;u&gt;Better and cheaper hardware&lt;/u&gt;. Kudos to the hardware folks. Who would think that mobile devices would get CPUs of 1 GHz so soon? And some mobile devices already have a GPU, so that you can use it to enhance that 12 Megapixels photo from the embedded camera. It amazes me that some mobiles still make phone calls.&lt;br /&gt;- &lt;u&gt;Internet access&lt;/u&gt;. It is not everywhere, and it may be costly. But broadband is certainly in more places and far cheaper nowadays.&lt;br /&gt;- &lt;u&gt;Customer focus&lt;/u&gt;. It may be just a phase, but until about 2 years ago I was seeing a lot of projects based on ludicrous ideas being financed by venture capital or large companies just for the sake of “not missing an opportunity”. That still certainly happens, but I’m clearly seeing now more accountability and focus on what customers really want and are willing to pay for. On the long run, sustainable businesses are always better than cool but unsustainable ideas.&lt;br /&gt;- &lt;u&gt;Less is more&lt;/u&gt;. Less cluttered UI and simpler services are then new trend, based on an increasing focus on doing something for the user for immediate productivity or fun. Other than software for tax returns, I believe that most other software experiences got better, from game to spreadsheets.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-8791512102287083841?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/8791512102287083841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=8791512102287083841' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8791512102287083841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8791512102287083841'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/11/and-4-years-later.html' title='And 4 Years Later…'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-7774946946767623028</id><published>2009-10-10T13:39:00.000-07:00</published><updated>2009-10-10T13:41:17.152-07:00</updated><title type='text'>Software Stella Awards</title><content type='html'>When snacking while some long-running tasks executed in the machines at work, I noticed an allergy warning in a package of nuts: “May contain nuts”. Who would think of that?&lt;br /&gt;&lt;br /&gt;The tort system nowadays in place in many countries is what creates many of absurd guidelines of the HMOs (health maintenance organizations). Should a medical expert have a problem in his own area of expertise, he should first drive to his general practitioner just to be referred back to himself! No wonder such system is the subject of so many jokes, like the recent &lt;a href="http://www.funnyordie.com/videos/041b5acaf5/protect-insurance-companies-psa"&gt;mocking video on health insurance executives&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now, it looks like there is new trend of absurd claims against the software services that have temporary availability problems. Would someone using a free email service be entitled to receive compensation should the service be unavailable for a while? Would someone be entitled to compensation for not being able to access a free social network service?&lt;br /&gt;&lt;br /&gt;This is definitely looking like a new category for the &lt;a href="http://www.stellaawards.com/"&gt;Stella Awards&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-7774946946767623028?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/7774946946767623028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=7774946946767623028' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7774946946767623028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7774946946767623028'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/10/software-stella-awards.html' title='Software Stella Awards'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-8596448192934842830</id><published>2009-09-27T15:32:00.000-07:00</published><updated>2009-09-28T02:12:05.663-07:00</updated><title type='text'>Are Olympic Games Needed at All?</title><content type='html'>On October 2nd 2009 the IOC (International Olympic Committee) will decide which city will host the 2016 edition of the Olympic Games. If Brazilians are lucky, that city won’t be Rio de Janeiro. It wouldn’t be impossible to have the games hosted in Rio de Janeiro, as some opponents of the city’s bid claim, pointing out problems that can certainly be addressed with due effort and resources. The main problem for the city and the country is not Rio’s ability to be a good host during the event, but the bill that will have to be paid after the games.&lt;br /&gt;&lt;br /&gt;Until 2012 the world economy will continue in a troubling state, despite all the positive thinking that can be perceived in the many announcements that the recession is over, made by the same experts who previously claimed that there would be no recession. Ironically, a worldwide economic crisis would be good news for a city planning to host a large event in the next few years. One would expect to be cheaper to build all the needed venues and infra-structure for the Olympic Games during hard times. An international bid would nowadays find plenty of companies fighting hard to project and build the needed sites, at a smaller cost than normally. Yet, History never indicates that is what happens. Time after time, a lot of work is procrastinated to the last minute, when local host committees suddenly declare an emergency situation, and evade the normal bidding processes. Then, far more is paid to quickly complete tasks that could and should have been previously done.&lt;br /&gt;&lt;br /&gt;Keeping a positive attitude, imagine that there was no corruption during any of the many processes that lead to the Olympic Games. Imagine that all the built venues would have 100% utilization after the event. Imagine that all cities that hosted the event benefited immensely from all the infra-structure built for transportation, sanitization?, hotels, etc. Two questions could and should still be made and answered, even with all such ideal scenarios becoming true.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;If all the work for the Olympic Games is a priority, why wasn’t it done before?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Having a big event to host is a good motivation for “preparing the house”. However, this is a mentality that we should be all fighting against, instead of giving incentive for. Everybody wants to live in a city that is always clean, safe, with good transport, good schools and hospitals. If the priority for a city is to build a gigantic new stadium then that should mean that all schools, hospitals and other venues are in perfect state. One can always claim that a lot of money suddenly “comes” to the city hosting a big event, which wouldn’t be there otherwise. But this is not money that really “comes to stay”. It is borrowed money that comes, usually pays for inflated costs, and then has to be repaid later.&lt;br /&gt;&lt;br /&gt;By analogy, it is like if you, having no debt at all, and some savings in the bank, suddenly decided to host a party, for which you would need to build a house to host 100 relatives for a month. You don’t have the money, and then you borrow it from a bank, which gladly also gets some promotion by being one of many “sponsors” of your event (besides some beverage companies, airline companies, etc.). Despite some last minute issues, the party goes well, and you have some pictures for posterity.&lt;br /&gt;&lt;br /&gt;After the party is over, you suddenly have this huge house that you are unable to sell for a reasonable price. Nobody needs a house for 100 people, and so you can at most recover some expenses renting it for events, occasionally. The only certain fact is that monthly payments are due for the loan you got to build the house. You cannot send your children to a good school, pay for medical insurance, or prepare for retirement. For the rest of your life, you will be working to pay for the expenses of that single party.&lt;br /&gt;&lt;br /&gt;But the analogy with the Olympic Games can only be fair to most people if they consider that the party was not for their family. You have to imagine that a neighbor decided to have such party, against all your advice. Later, your neighbor declares bankruptcy, but the loan still has to be repaid, in order to avoid the collapse of the banking system (heard that before?). The government takes on the responsibility of repaying the loan, and your taxes are increased. And you didn’t even go to that party!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Are Olympic Games needed at all?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;For those that still don’t know about it, the world is going through a resource crisis. Some countries are forcing people to change light bulbs, and in many countries people are dying during hard winters, unable to pay for their home heating. Meanwhile, in Africa millions are dying every year simply for lack of water. It is no longer “chic” to have your grass perfectly green during a drought, even if you can pay for private delivery of water tanks. You no longer have to be a green radical to support things like recycling.&lt;br /&gt;&lt;br /&gt;Yet, for “the benefit of the sport”, a lot of people will fly around the world, sit on expensive dinners, and decide on October 2nd, 2009 which city will have the “privilege” of hosting the Olympic Games 2016. Let’s disregard the green movement, and assume that these people are flying on commercial flights that had to depart on time anyway. One more passenger only increases the efficiency of the flight. My question is: does it benefit the sport to have athletes flying from all over the world to a single venue every four years? If that was the case, why is it that most Olympic records are not the world records?&lt;br /&gt;&lt;br /&gt;I doubt that all such flying around benefits the sport. Study after study has proven that hosting the Olympic Games doesn’t benefit the host cities. Maybe it is just too early to really evaluate that, and we need to get back at such studies 200 or 3000 years from now. At that time, probably it will make a little more difference to have a city name in a History book, in which it would probably not be except for hosting the Olympic Games.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A Call for Transparency&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;It is hard to imagine that such events would still be organized if nobody was getting any benefit. Although I certainly believe that they do have good intentions, I could only be certain if there was a little more transparency by the International Olympic Committee on all its revenues and expenses. But maybe the IOC has headquarters in Switzerland for a reason. As London 2012 approaches and cost grows magically, a new movement is probably giving nightmares to large event organizers: what if the population, all over the world, decides to protest against such events by not buying any products from sponsors?&lt;br /&gt;&lt;br /&gt;I anticipate that no matter which city wins the bid for the games on 2016 there will certainly be a site listing the event sponsors quite soon. Anyone can live for just 3 months without a new pair of shoes from a certain brand, or without a certain beverage. This period of 3 months is strategic for companies listed in the stock market, since those have to publish their results in that interval. A worldwide organized boycott properly scheduled to hit sponsors during a specific quarter could send a stronger direct message to sponsors, indirectly getting to the IOC. Ironically, the best way for the population to influence the sports world will come through the stock market!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-8596448192934842830?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/8596448192934842830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=8596448192934842830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8596448192934842830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8596448192934842830'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/09/are-olympic-games-needed-at-all.html' title='Are Olympic Games Needed at All?'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-790082589723319178</id><published>2009-09-23T03:21:00.000-07:00</published><updated>2009-09-23T03:26:24.080-07:00</updated><title type='text'>The Time Machine – Part I</title><content type='html'>When watching movies like “Back to the Future” or “Terminator”, it was interesting to observe how most people envision a time machine as a way to transport people. It is far more practical to simply transport information. Yet, given a valuable piece of information now, and given a time machine, how would I correctly pick the right person and the right time to send back the information? What guarantees would I have that the person would correctly understand the information, instead of ignoring it? No reason to stop: let's be positive and keep working.&lt;br /&gt;&lt;br /&gt;The smallest amount of information that can be transferred, what would take the least amount of energy to send back, would be a single bit. Such piece of information has to answer a binary question made in the past by someone. There is still the issue of proper encoding, and I hereby define that future time machines should always send 1 for yes, and 0 for no (reminder to self: patent this as “time machine encoding”!). What I pose as my first binary question to the future is: Will we ever have a time machine?&lt;br /&gt;&lt;br /&gt;The next part: work on the receiver for that bit that I should soon receive with the answer. Or should I work on the transmitter first? (Only the future will tell me!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-790082589723319178?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/790082589723319178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=790082589723319178' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/790082589723319178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/790082589723319178'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/09/time-machine-part-i.html' title='The Time Machine – Part I'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-3433240138942881040</id><published>2009-08-31T03:49:00.000-07:00</published><updated>2009-08-31T03:50:56.782-07:00</updated><title type='text'>Basic Math and the Stock Market</title><content type='html'>One can always make Math mistakes. I myself have this mental process of trying to work out the order of magnitude for a calculation result first, before going into the details. I remember recently when someone told me that something cost 154, and before it was 149. I promptly replied that the approximate difference was 6, to the surprise of the other person. Obviously, this was a very easy calculation to make directly, but I just followed my mental process of approximating 149 to 150 first, and storing the difference for later. Then, I approximated 154 to 155, and stored the difference to 150. Adding the differences, you would find the reason for my 6. I know it doesn’t sound efficient in this particular case, but it would make it far easier for you to get the upper limit for the difference between 149.828 and 154.249. Better yet, it then allows us to make the exact calculation with more confidence.&lt;br /&gt;&lt;br /&gt;Having a mental method at times delays you, but it is better than having no method at all or, worse, having no knowledge of the basic principles behind a method. I recently overheard someone saying: “&lt;em&gt;Yes, I lost 25% of my stock portfolio last year, but this year I’ve already gained back 25%&lt;/em&gt;”. I couldn’t but think and say, rhetorically I hoped, that the person still lost money. Yet, everyone looked surprised with my statement.&lt;br /&gt;&lt;br /&gt;Suppose someone had 100K (in any unit of money) at the beginning of 2008, and the person lost 25% of that in the stock market. At the end of the year, the person had 75K. Now, supposed one has gains of 25% during 2009 so far. The result is that the portfolio is now worth 75K * 1.25 = 93.75K. A way to “visualize” why this happens is: the person is missing the 25% valuation on the 25K lost last year. That is why loses in the stock market are so bad: you have to gain even more to get back to the original situation.&lt;br /&gt;&lt;br /&gt;A lot of people keep claiming that education is getting worse, and that new generations cannot do anything without a calculator. Yet, what is the point of being able to quickly and precisely take 149.828 from 154.249 using an abacus if people cannot relate Math to their daily lives? The housing bubble wasn’t created by the youngsters at school today. It was created by people that consider themselves very well-educated, but were too proud to get a calculator or spreadsheet and see how absurd it was to believe that 20% annual increases of house prices could continue forever.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-3433240138942881040?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/3433240138942881040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=3433240138942881040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3433240138942881040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3433240138942881040'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/08/basic-math-and-stock-market.html' title='Basic Math and the Stock Market'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-8096025348596193572</id><published>2009-08-22T04:22:00.001-07:00</published><updated>2009-08-22T04:22:34.424-07:00</updated><title type='text'>3-D Movies at Home</title><content type='html'>The Coraline 3-D blu-ray version provided to my family a first glance of what will be the future of 3-D movies at home. Going straight through the bad news first: the weak spot is still the glasses. If you have a family of more than 4 then you are out of luck with the 4 glasses that come in the box. Luckily, you probably have some identical glasses somewhere, as long as you have the patience to search up and down your house. Not that I had that problem, and neither the problem of having a child less than 3 years old (the glasses come with a clear warning of being a choking hazard for toddlers!).&lt;br /&gt;&lt;br /&gt;The first bit of good news is that the Coraline blu-ray disc is region-free. It also comes with a DVD (this one region-based) and the rights for a digital copy. The movie itself makes little use of 3-D as a distraction from the story. The definition of blu-ray is adequate for getting the 3-D effect from a TV of reasonable size. The fact that Coraline is a dark movie, better seen in a dark room, definitely helps.  But nothing would make any sense if the 3-D effect didn’t work, and it works surprisingly well. A few flashes happen occasionally, mainly due to the color of Coraline’s hair. Yet, other than that, the 3-D effect just works. With better glasses that wouldn’t need to be adjusted on your nose every few minutes, the future of 3-D movies at home is promising. So far, most of the market is focused on movies for kids, but that should hopefully change soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-8096025348596193572?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/8096025348596193572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=8096025348596193572' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8096025348596193572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8096025348596193572'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/08/3-d-movies-at-home.html' title='3-D Movies at Home'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-8675804627566552483</id><published>2009-08-16T12:47:00.000-07:00</published><updated>2009-08-16T12:49:55.663-07:00</updated><title type='text'>The Busted Bubble</title><content type='html'>Around 2005 I was seeing an interesting pattern of behavior in many of my colleagues of the Seattle region. Those were all well-educated people, with 3-digit salaries, and yet all of them looked like doing a very strange decision. Instead of starting to enjoy the benefits of life, they were one after another buying houses at unreasonable prices, at least in my opinion. A then small website caught my attention: &lt;a href="http://SeattleBubble.com"&gt;http://SeattleBubble.com&lt;/a&gt;. By looking at several indexes, the blog author, Timothy Ellis, made a reasonable case for the existence of a bubble in the house prices around Seattle. Yet, almost everyone else was telling me it was foolish not to jump into buying a house and getting a 20% increase in value every year. I couldn’t but think of a Ponzi scheme. It was too much for me to think that living in Seattle was more desirable than to live in … San Diego.&lt;br /&gt;&lt;br /&gt;Maybe had I read the very informative review by &lt;a href="http://meganmcardle.theatlantic.com/archives/2009/05/the_road_to_bankruptcy.php"&gt;Megan McArdle&lt;/a&gt;, I wouldn’t even have bought the book Busted, by Edmund L. Andrews. But that would be a shame. Because, other than “The Appeal”, by John Grisham, I haven’t had so much fun with another novel this year. And I probably read more than the average busy adult.&lt;br /&gt;&lt;br /&gt;I classify Andrews’ work as a novel not only due to the many missing pieces of information, as later revealed by many reviewers. The problem is that one clearly cannot classify the work as journalism. Mr Andrews looks like a reasonable journalist. Not that the NY Times won’t hire sleazy journalists. Just search the Internet for the name Jayson Blair. But the problem here is that clearly Mr Andrews doesn’t even try to disguise his work as investigative journalism. The central story around his family problems is nothing more than that. It is not even close to an investigation. The main failure of the book as a novel is the lack of an end. However, as others already pointed out, that is probably consistent with the current stage of the economy, and probably Mr Andrews will someday publish somewhere updates about his personal life.&lt;br /&gt;&lt;br /&gt;Those seeking for more technical information or a journalistic approach will certainly be disappointed. There are some lax efforts to insert into the book stories for other points-of-view. But the book fails miserably to even seek for a very important point-of-view: those of the taxpayers that didn’t join the Ponzi scheme of buying houses beyond their means, either as an investment or as an “excessively comfortable home”. When interviewing the Delgados in Chapter 12, Mr Andrews fail to consider the fact that when buying a house for $720K, the Delgados certainly cheated some other family out of their possibility of buying the same house for a far more reasonable price, and within their means. One shouldn’t just consider that the same house had a value of $535K by early 2008. That was probably also the value of the house by 2005, had it not been for the Delgados being there to eagerly participate in the Ponzi scheme, along with the banks. Such many stories come and go in the book without any closure, as it happens for the main story. But so it happens in every novel. Yet, another positive result of reading the book was learning about Dean Baker, the sane soul cited in Chapter 2. He writes a very interesting blog at &lt;a href="http://prospect.org/csnc/blogs/beat_the_press"&gt;http://prospect.org/csnc/blogs/beat_the_press&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-8675804627566552483?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/8675804627566552483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=8675804627566552483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8675804627566552483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8675804627566552483'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/08/busted-bubble.html' title='The Busted Bubble'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-2466549840471612852</id><published>2009-07-29T08:08:00.000-07:00</published><updated>2009-07-29T08:10:37.212-07:00</updated><title type='text'>The Blu Ray Fiasco</title><content type='html'>There I was in a visit to Costco, and of all recent movies that my daughters like, the only one I could really consider buying again in Blu Ray were those of the Narnia series. Those great scenarios would certainly look better in high resolution. The final incentive was the fact that the available disc would play in all regions. For those of you who still didn’t pay attention, Blu-Ray has regions A, B and C, and Europe is in region B.&lt;br /&gt;&lt;br /&gt;Daughters ready, I place the disc in the LG BD370 player and… nothing. Now, before I babble further, let’s digress a little about the loading time of Blu-Ray discs. It makes a Windows Vista boot look quick! (Yes. Irony!) If this is really one of the fastest players around then I cannot even start to imagine how people deal with the slow ones.&lt;br /&gt;&lt;br /&gt;The problem is still not solved, but I believe that I will eventually stumble upon a solution. In between firmware updates, resetting back to default and other idiosyncrasies, I can only imagine if Blu-Ray will really survive as long as DVDs have. I can understand incompatibilities. Yet, those are being created mostly by additional content that users couldn’t care less about. Who cares about bonus features and BD Live content, when you cannot even simply watch the movie?&lt;br /&gt;&lt;br /&gt;This is the kind of technology fiasco that makes people think more and more that politicians should be given the chance of adding more regulations to our lives. When companies cannot really deliver value for customers, a window of opportunity is opened. Politicians rarely pass on such opportunities.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-2466549840471612852?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/2466549840471612852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=2466549840471612852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2466549840471612852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2466549840471612852'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/07/blu-ray-fiasco.html' title='The Blu Ray Fiasco'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-6170422849077812125</id><published>2009-07-22T23:26:00.000-07:00</published><updated>2009-07-22T23:27:16.544-07:00</updated><title type='text'>Moving the blog</title><content type='html'>For technical and aesthetical reasons, I’ve decided to move my blog address to http://blog.alissonsol.com. Since I already had the domain anyway, I was just waiting for some glitch with the previous location to get that “motivation” to disrupt the life of my 3 readers!&lt;br /&gt;&lt;br /&gt;Sorry for the disruption… but the new location is redirecting to a subfolder of my own domain, which is framing the content of one of my real blog sources. Other than DNS disruptions, this should be good enough for me to declare that I’m now happy with the level of redundancy for my blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-6170422849077812125?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/6170422849077812125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=6170422849077812125' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6170422849077812125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6170422849077812125'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/07/moving-blog.html' title='Moving the blog'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-7208050746758343720</id><published>2009-07-12T17:14:00.000-07:00</published><updated>2009-07-12T17:17:47.486-07:00</updated><title type='text'>Paris au XXe siècle</title><content type='html'>If Amazon can share my account information across its international stores, probably only due to some legal issue should they not be able to share their stock. Why else wouldn’t they sell me via the UK store a book that I know for sure that they have in stock in France? At least the France store sells to a set of European countries without problems. I have too much faith in Amazon to even think about dealing with the options. I can understand the reasons for the Kindle stock not to be shared internationally. Yet, it is hard to understand why not to have at least daily shipments of books across subsidiaries. There must be a good reason.&lt;br /&gt;&lt;br /&gt;Jules Verne would probably be a little more disappointed with the future than he thought. Art and literature are not being crushed by technology because people are forgetting the past efforts and focusing on ephemeral works of this time. Most people are just not focusing on anything, be it past, present or future. It will be a shame if, instead of works like those of Victor Hugo, all this generation will leave for the future are blog posts and status updates in social networks. It is ironic how husbands update their wives about their status via public messages followed by unknown people. Even more ironic when they talk about a reality show singer, instantaneous famous with a song from a musical version of… Les Misérables!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-7208050746758343720?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/7208050746758343720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=7208050746758343720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7208050746758343720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7208050746758343720'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/07/paris-au-xxe-siecle.html' title='Paris au XXe siècle'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-6663821974799005232</id><published>2009-06-30T16:32:00.000-07:00</published><updated>2009-06-30T16:33:58.977-07:00</updated><title type='text'>Private Social Networks</title><content type='html'>In the real world, it is very unlikely that you make a comment about a comment that someone made at work, and within the next 5 minutes one of your spouse’s friends already knows about that. Yet, that is the model that most social network sites want you to accept today. Another side-effect of the user interface of most social networks is that you are suddenly reading about the comments that someone you never heard of made about some life event for a person you met for less times than the number of years that passed since the last meeting. Interesting... but useless. One could say that social networks in the computer world just mirror and amplify the effect of the real world. Those people that literally pollute your email or social site with the minor details of their lives would certainly do it in person also, if only they had a chance.&lt;br /&gt;&lt;br /&gt;There is an alternative to the polluted environments of most social network sites. I’ve been doing some experiments with Twitter as a way to communicate with a few close people. With the setting to “Protect my updates” selected, Twitter is definitely a great way to keep a log of SMS messages, while simultaneously providing the richer alternative of a web client. Another option is to use sites that allow you to create your own social network, like Ning (&lt;a href="http://www.ning.com/"&gt;http://www.ning.com&lt;/a&gt;). My opinion is that, in the long term, the coolness of the huge and open social networks sites that dominate the market today (Facebook, MySpace, Bebo, Orkut, etc.) will diminish. Most people will then realize that it is better that their virtual life matches a little more their real life. It is safer to keep the social network of the school PTA isolated from the network of the high-school reunion. After all, there is nothing as cool as an “exclusive club”!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-6663821974799005232?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/6663821974799005232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=6663821974799005232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6663821974799005232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6663821974799005232'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/06/private-social-networks.html' title='Private Social Networks'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-674122799565704163</id><published>2009-06-13T13:51:00.000-07:00</published><updated>2009-06-13T13:53:36.049-07:00</updated><title type='text'>Debugging Your Mindset</title><content type='html'>One of the questions I got after doing a presentation yesterday during the &lt;a href="http://www.nxtgenug.net/"&gt;NxtGenUG&lt;/a&gt; Fest 09 was about motivating developers to do debugging. As it was correctly said, it is far easier to motivate a software developer to create new code. Meanwhile, maintaining your own code or, worse, code written by others, is probably not what most people think of doing when studying Computer Science. Part of a good motivation strategy is to keep the bug count low during the entire development process. That way, developers won’t see a huge pile of bugs waiting for them after “feature complete”.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Yet, another part of the strategy is just hiring good professionals, who take pride on shipping code with great quality. A lot of people can have an idea in the software area. A smaller set of people can write a prototype, or start a business based on software products or services. Only in those businesses that succeed is that you will find people that can really produce a finished product or service. Those are people that won’t have any need of motivation to debug their own code, or the code of others, fixing whatever is needed to create a result that is valuable for customers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-674122799565704163?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/674122799565704163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=674122799565704163' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/674122799565704163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/674122799565704163'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/06/debugging-your-mindset.html' title='Debugging Your Mindset'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-5638792946452668198</id><published>2009-05-31T16:38:00.001-07:00</published><updated>2009-05-31T16:40:05.214-07:00</updated><title type='text'>Spam Filters: One year later – Circa 2009</title><content type='html'>About a year ago I wrote about &lt;a href="http://alissonsol.blogspot.com/2008/07/spam-filters.html"&gt;spam filters&lt;/a&gt;. What happened in one year? For me, things got considerably worse. I’ve read recently that about 90% of email messages nowadays are spam. Given what happens with my personal email account, I have to disagree with that. For my personal email, at least 95% of the messages are spam.&lt;br /&gt;&lt;br /&gt;If only the increase in quantity of spam had caused a similar increase in quality of the spam filters… But there is where things got considerably worse. A year ago, I used go over the messages that still got to my inbox, and quickly delete those that I found to be spam but that the spam filters didn’t get. After a series of occurrences of “false positives”, in which a message really coming from an authentic friend or business contact ended-up being classified as spam, I had to add to my routine the habit of no longer just deleting the content of the spam folder, but instead inspecting it carefully on a regular basis. That practice is now spotting at least a message per week that was misjudged by the spam filters. Not that much, but how would people judge the regular mail service if 52 letters per year where not delivered properly?&lt;br /&gt;&lt;br /&gt;I definitely hope that things get better within the next year, and I will be looking around for tools to improve my email experience.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-5638792946452668198?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/5638792946452668198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=5638792946452668198' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/5638792946452668198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/5638792946452668198'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/05/spam-filters-one-year-later-circa-2009.html' title='Spam Filters: One year later – Circa 2009'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-1401600567131338000</id><published>2009-05-17T07:52:00.000-07:00</published><updated>2009-05-17T08:00:18.427-07:00</updated><title type='text'>The 3 C’s That Kill Big Companies</title><content type='html'>Companies obviously die by lack of money. Nobody will ever see news like “Company A reports record revenue of several billions, returns money to investors, and decides to cease operations”. The root causes for the drop in revenue, spiraling of costs and the ultimate mountains of debt that bring companies to bankruptcy will vary from case to case. Yet, I dare to point out 3 basic causes for failures of big companies: corruption, carelessness (mainly regarding customers) and competitors.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CORRUPTION&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The “use of a position of trust for dishonest gain” is not something that happens only in external company relationships. Bribery is clearly avoided nowadays in most countries, and let’s not focus on the exceptions. What kills a company from the inside are the many subtle forms of internal corruption, be it nepotism, cronyism, kickbacks, etc.&lt;br /&gt;&lt;br /&gt;It is very visible when a manager favors a person that could better help his/her career instead of the person that could provide better results for the company. It is also very visible when groups that provide “internal services” in a company will prioritize their services according to relationships with other teams, instead of working to provide the best results for the company. And what about all those scorecards that report that all is going well, even just before a company goes into bankruptcy?&lt;br /&gt;&lt;br /&gt;It is not like corruption cannot happen on small or medium-size companies. It is just a question of time. Most people are really busy in small companies, and have no time to create or explore opportunities for corruption. Meanwhile, in large companies too many people no longer have any relationship with real production. At times entire teams exist just because… nobody considered getting rid of them. Inside large companies, it is common nowadays to hear complaints about “division A”, or about “group B”, etc. as if such internal divisions of a company had become their own institutions. An old relative once told me to get away from people that “create difficulties so that they can sell you some facilities”. That is not that hard in small companies, but increasingly a job in itself for employees of big companies.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CARELESSNESS&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;It doesn’t take an MBA to know that winning a new customer is far harder than keeping an existing customer. I know of only two companies that I worked on or with that clearly decided to give priority to existing customers over promising leads. The reason was simple: preserve the quality of service for those that bet on the company first, and avoid the dreaded ex-customer syndrome. A disgruntled customer, or ex-customer, can wreck havoc on a company like no competitor can, except in the worst case scenario of a competitor using a disgruntled ex-customer in marketing testimonials.&lt;br /&gt;&lt;br /&gt;Few small companies suffer from the lack of attention to customers that I witnessed in large companies. The reason is simple: if a customer means more than 10% of the business then all efforts will be done to avoid any bad experience. But large companies always focus on “expanding the customer base”, and soon a phone call from a customer that means 0.0001% of the revenue is put on hold while a customer service representative helps a VP relative on a “pro bono basis” (didn’t I start the text with corruption?!).&lt;br /&gt;&lt;br /&gt;Customer care is not only supporting the customer after a sale, but an entire attitude of doing what is possible to keep customers happy in a truthful way. Every single customer I’ve talked with prefers the truth, even if it hurts on short term. What customers don’t accept is the eternal promise of “we are working on it” when that doesn’t match reality. One can fool a few for a long time… but not eternally!&lt;br /&gt;&lt;br /&gt;Carelessness doesn’t affect only customers, but also employees and investors. I’ve never seen a company with a policy as open as “our goal is to get the best return on investment from every one of our employees”. Corporate policies always have to be pretentious like “our employees are our most important asset”. And soon the company is laying off its most important asset. Similarly, investors are asked for money to “help a company grow”, and then it grows, and it tells investors… that it needs more money, in order to keep growing. Returning money to investors is probably something that corporate administrators have to pledge never to do as a hiring requirement.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;COMPETITORS&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In a strange paradox, competitors may be the best and at the same time the worst thing that may happen to a big company. While a big company is still healthy, a visible competitor may be all that is needed to unite internal efforts. From research to marketing, suddenly teams/groups/divisions forget internal disputes over nothing, and focus on doing everything better than the competitor.&lt;br /&gt;&lt;br /&gt;When the corruption has dominated a big company, and customers are seen as a small and boring detail of the operations, a visible competitor may be the catalyst for the downfall. An employee tries to present a new idea for a product that addresses a real customer need, and nobody wants to listen. The same employee presents the same idea as a way to attack a product from a certain competitor and suddenly everyone is all ears!&lt;br /&gt;&lt;br /&gt;Employees shouldn’t have to adapt their messages to circumvent the obsession that a few business managers may have with competitors. This view of having to align everyone’s efforts with some overall strategy to hurt competitor X, instead of focusing on ideas to benefit customers is a major indication that a company may already be past its glory days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-1401600567131338000?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/1401600567131338000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=1401600567131338000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/1401600567131338000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/1401600567131338000'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/05/3-cs-that-kill-big-companies.html' title='The 3 C’s That Kill Big Companies'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-8581766547080041793</id><published>2009-05-10T05:12:00.000-07:00</published><updated>2009-05-10T05:13:54.976-07:00</updated><title type='text'>Machine Translation Still Not Ready Circa 2009</title><content type='html'>I frequently use dictionaries, online or offline, to translate words. Most of the time, I found the results to be very good. But when going to the sentence level the success rate goes down quickly. Most human sentences, even those without an intentional second interpretation, aren’t easy to understand out of context. What about sentences fully within a certain technical context?&lt;br /&gt;&lt;br /&gt;A while ago, someone close to me started to face a problem with the Windows key in a certain machine. For some unknown reason, the key would activate at random times, and then whatever other key was pressed would have its meaning changed by the apparent simultaneous pressing of the Windows key. After the typical tries to clean the keyboard failed, I was asked for help, and luckily found a Microsoft Knowledge Base article entitled exactly “How to disable the keyboard Windows key”: &lt;a href="http://support.microsoft.com/kb/216893"&gt;http://support.microsoft.com/kb/216893&lt;/a&gt;. It couldn’t have been more perfect. But this person, which uses Windows with regional settings for Brazilian Portuguese, couldn’t follow the KB Article successfully.&lt;br /&gt;&lt;br /&gt;The problem then became obvious when I did a remote assistance session. Microsoft Internet Explorer would automatically show the KB Article page in (obviously) Brazilian Portuguese: &lt;a href="http://support.microsoft.com/kb/216893/pt-br"&gt;http://support.microsoft.com/kb/216893/pt-br&lt;/a&gt;. The translation itself doesn’t really change the meaning of the instructions, which are mostly correct. Except for the over-translation of a few registry keys. By translating a few registry keys, the KB article becomes technically incorrect, since Windows obviously is not verifying the “translated registry key”.&lt;br /&gt;&lt;br /&gt;The problem is made worse by the fact that a very important path in the registry key, in step 3, is not translated. There is a clearly over-translated registry key in step 2, but the key issue that is wrong is in step 4, which again has some non-translated items, like the registry type, which helps to avoid making the steps suspicious. It is one of those situations in which if the steps were “obviously wrong”, they couldn’t be followed. But the machine translation made the steps good enough to be followed and do not work! There is a warning about the fact that the machine translation may not be perfect early on KB Articles. However, this is in a link label preceded by an icon not normally associated with warnings (Why?!).&lt;br /&gt;&lt;br /&gt;This kind of incident clearly diminishes my confidence on the value of machine translation for a few more years. It makes me even more worried to know that the results are not so bad for most people to second-guess the machine translation. At times, being 90% correct may be worse than being 0% correct. It is like when you ask unknown people for directions on the street, and become upset when some people tell you that they don’t know about a certain address. Yet, what you should be really upset about is the possibility of someone telling you that they know where an address is, but sending you in the wrong direction. That looks like the current status of machine translation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-8581766547080041793?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/8581766547080041793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=8581766547080041793' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8581766547080041793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8581766547080041793'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/05/machine-translation-still-not-ready.html' title='Machine Translation Still Not Ready Circa 2009'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-8389589791250782628</id><published>2009-05-03T10:59:00.000-07:00</published><updated>2010-01-18T04:32:02.809-08:00</updated><title type='text'>Touch Won't Come Easy</title><content type='html'>&lt;em&gt;All Microsoft® Windows® applications should have a great touch experience. And doing so is easier than you think&lt;/em&gt;. So it starts the Microsoft guidelines on interaction using touch (&lt;a href="http://msdn.microsoft.com/en-us/library/cc872774.aspx"&gt;http://msdn.microsoft.com/en-us/library/cc872774.aspx&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Many developers today don’t remember the time when applications were developed for text-based screens. Applications would present users a numbered list of options, and users would have to press a number key or a “function key” to proceed to the “next screen”. Indeed, the function keys were probably far more active at that time, when they were used to quickly escape from the current data entry mode into some other functionality. Yet, they are still there nowadays, mostly for compatibility reasons. It took a lot of time for developers to stop designing applications for graphical user interfaces exactly mirroring the limited user experience of text-based applications.&lt;br /&gt;&lt;br /&gt;Touch by itself is not that new. Most people have seen touch screens in vertical applications, with the main example being supermarkets cashiers. But to say that doing touch-based applications will be easy is probably a little far from reality. At least the current guidelines are written for Windows Vista, for which probably only a handful of devices support touch, without multi-touch support. But the changes for Windows 7 will certainly be more significant.&lt;br /&gt;&lt;br /&gt;There is a section in the previously cited guidelines for those in a hurry, named &lt;strong&gt;If you do only four things...&lt;/strong&gt;. From self-inflicted experience, I have the following considerations regarding this comment.&lt;br /&gt;&lt;br /&gt;1. &lt;em&gt;Make your Windows programs have a great touch experience! Users should be able to perform your program's most important tasks efficiently using a finger (at least the tasks that don't involve a lot of typing or detailed pixel manipulation)&lt;/em&gt;.&lt;br /&gt;The problem is that users should either be able to do everything using touch, or they won’t use it at all. Indeed, let’s remember the problem that happened with Tablet PCs: after the novelty was gone, most Tablet PCs were used exactly like normal laptops. Users got tired of the “get the pen”, “store the pen”, “get the pen”, “store the pen”. If you can do everything with the keyboard, and only some things with the pen, why use the pen at all?&lt;br /&gt;&lt;br /&gt;2. &lt;em&gt;For common controls, use the standard control sizing. For other controls, make sure they have at least a 23x23 pixel (13x13 DLU) click target, even if their static appearance is much smaller&lt;/em&gt;.&lt;br /&gt;That is a minimum you shouldn’t stick to. If a control has less than 32 pixels in any dimension you are probably only going to have small kids being able to touch it with precision. After 40 pixels – in normal 96 dpi screens – is that controls are barely usable for typical adults, and you probably want to be safe and have controls with at least 60 pixels in any dimension whenever possible.&lt;br /&gt;&lt;br /&gt;3. &lt;em&gt;Take full advantage of hover, but only in ways that are not required to perform an action. Hover isn't supported by all touchscreen technologies&lt;/em&gt;.&lt;br /&gt;If you only have time to do 4 things, probably you don’t want to misuse time doing something that not all your customers will take advantage of.&lt;br /&gt;&lt;br /&gt;4. &lt;em&gt;Make sure your program provides the ability to reverse or correct any undesired actions—especially for destructive commands. Accidental actions are more likely when using touch&lt;/em&gt;.&lt;br /&gt;This is only half true. Obviously, accidents will happen when users first start to use touch for long periods of time, mainly in multi-touch scenarios. But just look at the supermarket scenarios: what is that hard about pressing a few buttons directly on the screen? And that is probably far more intuitive that the experience with mouse devices. Remember that the use of mouse devices wasn’t such “intuitive” and was heavily criticized just a few years ago.&lt;br /&gt;&lt;br /&gt;Obviously, if applications continue to be developed exactly like they are today then users will have a hard time pressing the screen hundreds of times. But hopefully things will change, and soon voice will become a major way for data entry. Even on major applications it is possible that machine learning could be used to automate most tasks, and only a few user decisions will be needed here and there. For those few cases, pressing a button looks like a very intuitive user experience.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-8389589791250782628?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/8389589791250782628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=8389589791250782628' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8389589791250782628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8389589791250782628'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/05/touch-wont-come-easy.html' title='Touch Won&apos;t Come Easy'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-6168105527061661479</id><published>2009-04-22T00:03:00.000-07:00</published><updated>2009-04-22T00:04:17.128-07:00</updated><title type='text'>Mobile Application Owes</title><content type='html'>After some recently issues with a certain mobile application, I’m starting to rethink my laissez-faire strategy regarding “mobile software” applications. I strongly believe that mobile phones are the computer of the future, and possibly the only computer in the usual sense of the word that people will use in 2 or 3 generations. Now, a strategy to move applications freely across devices is needed.&lt;br /&gt;&lt;br /&gt;Evaluations of mobile phones are nowadays still very passionate. Interestingly enough, mobile comparisons are mainly based on the software features of a mobile device. Unlike the “desktop generation”, most mobile users don’t know the CPU frequency, the available memory, or even the screen resolution of their mobile devices. Yet, evaluation only by software features also has its problems. Nowadays a lot of users have mobile phones with dozens of cool features that are used only when showing to others their new device. What about the mobile applications, and their maintenance?&lt;br /&gt;&lt;br /&gt;I was recently reading the &lt;a href="http://support.microsoft.com/gp/lifepolicy"&gt;Microsoft Support Lifecycle Policy FAQ&lt;/a&gt;. Most companies cannot offer a minimum of 10 years of support for their products (they simply won’t exist in 10 years!). But what does it means to be using nowadays products that are 10 years old? If we could get a computer from 10 years ago, software from 10 years, and still be productive, what is the “result” of the software development in the last 10 years?&lt;br /&gt;&lt;br /&gt;Beyond the price reduction, have current mobile phones given their users a better return on investment than those from 10 years ago? The effort put on technology for the last 10 can easily be seen, but objectively looking at the overall result, the next 10 years will be certainly more productive, focusing on improving the overall “User Experience” and “Return On Investment”. And the business model of giving phones full of cool features almost for free and then locking customers into the operator for years won’t last long.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-6168105527061661479?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/6168105527061661479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=6168105527061661479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6168105527061661479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/6168105527061661479'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/04/mobile-application-owes.html' title='Mobile Application Owes'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-4031771951253802440</id><published>2009-03-29T03:37:00.000-07:00</published><updated>2009-03-29T03:41:51.540-07:00</updated><title type='text'>Lan House Model for Offices</title><content type='html'>Lan Houses, or cyber cafés, are nowadays claiming 49% of the Internet traffic in Brazil. The reason is quite simple: it is cheaper. Computers in Brazil are too expensive. The cheapest computer I could find at a well-known online dealer costs the equivalent of U$500.00. Probably most households in the country could afford that. What they cannot afford is the absurd cost of broadband access in Brazil. Adding up the cost of broadband and the cost of electricity, it is likely that a household would use about U$40.00/month to get reasonable broadband Internet access, if they can get it. Outside the major urban centers, forget about it, unless one wants to use complex systems based on a dial-up channel and satellite-based downloads. I won’t even go into the cost of software in Brazil: not a good topic to write about after lunch (or before, or during…).&lt;br /&gt;&lt;br /&gt;Meanwhile, Lan Houses offer reasonably up-to-date computers, at the cost of about U$1.00/hour (usually cheaper). Think about a year of use of Internet, at an average of 10 hours/week. That would amount to a total of U$520.00/year, what is still about half the cost of the computer and the broadband access estimated above. Several Lan Houses even have all their software legally licensed. That is better than what one could say about most other companies that don’t have to open their computers to any passerby.&lt;br /&gt;&lt;br /&gt;Obviously, this model is not adequate for everyone, since at times Internet access has huge value “here and now”, and not if one has to dress up, go to a Lan House, and possibly wait in line. People pay a lot for convenience, and the European-based culture of most countries looks down at rubbing shoulders with strangers. Most importantly: some people associate a lot of social status with “having things”, even if those are used for a ridiculously small fraction of time, be those computers, mobile phones, cars or holiday houses.&lt;br /&gt;&lt;br /&gt;Nowadays, the middle class in most countries probably don’t even need Internet access at home for employeed adults. They arrive home already tired of hours and hours looking at computer screens at work. It is obvious that not all Internet access at work is really “work-related”. The reality in most companies is that Internet access became an constant source of tension between IT and the other employees. It is not just a question of bandwidth, but of protecting the “good company” name. What if an employee of a bailed-out bank access a nudity site during work hours? What a scandal: no nudity site wants to be associated with an immoral organization!&lt;br /&gt;&lt;br /&gt;There is a simple solution to the problem of employee access to the Internet: the Lan House model. Employees could still enjoy access to the Internet during work hours, but would use some individual account mechanism. Employees could be granted some credit, what would allow for activities like paying a bill online, or possibly reading some online article relevant to work. Most of such articles could also be moved into an offline cache. Another advantage is that most employees would wake up to the reality of Internet access from workplaces: all traffic is logged. I doubt this wouldn’t reduce significantly the Internet traffic for most companies, and the associated bill. Some initial reaction from employees could be easily addressed with good positioning: who would prefer to continue having more than 40 hours of free Internet access per month, instead of medical insurance? Anyone raising their hands should be probably sent immediatley to psychiatric services (keep their medical insurance, they will need it!).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-4031771951253802440?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/4031771951253802440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=4031771951253802440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/4031771951253802440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/4031771951253802440'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/03/lan-house-model-for-offices.html' title='Lan House Model for Offices'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-4394881865267760500</id><published>2009-03-21T04:42:00.000-07:00</published><updated>2009-03-21T04:43:08.707-07:00</updated><title type='text'>Performance Review for the Three Little Pigs</title><content type='html'>The Harvard Business Review on Appraising Employee Performance starts with a great article entitled “Management by Whose Objectives?”. As I read this article, which cites many wrong things big companies typically do when evaluating employee performance and provides a few hints on how to fix those, I couldn’t but wonder: If fellow MBAs and HR personnel are not reading books like this, what are they reading?&lt;br /&gt;&lt;br /&gt;Suppose the Big Bad Wolf was lazy, and upon seeing a house, wouldn’t really “test it”. If that was the case, reality is that the three little pigs would get the following performance reviews from most big pig employers nowadays.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The first pig, with a house of straw&lt;/span&gt;. Congratulations! You exceed all our expectations by building a house in record time, and in an economical way. It is extremely important to acknowledge that, upon receiving this ambiguous task, you acted immediately, and finished first. It is also important to put on record that you then proceeded with several follow-up activities, including performing a presentation during the Engineering Excellence workshop showcasing “How to quickly build your own house of straw”. You also proposed and organized the CornFest, which had massive attendance and made our division very visible within and outside the company. Finally, you kept a positive attitude, despite undue criticism by a few colleagues that tried to point out weaknesses in your results. Your overall confidence, positive attitude and ability to deliver results quickly made you receive a promotion at this time. I congratulate you for this recognition, and hope you will continue to deliver amazing results at the next level.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The second pig, with a house of sticks&lt;/span&gt;. During this last review period you have done a good effort, and we are glad to recognize that you achieved our expectations. The design of the house of sticks may have been a little more complex than needed but the management community praises your effort to finish the implementation on time. We also recognize that you have prepared a presentation about “How to build a resilient house of sticks in an economical way”. Yet, that presentation couldn’t be performed, due to conflicts of dates with previously scheduled presentations. In the future, we recommend that you focus a little more on prompt execution of tasks, and avoid complex design with unnecessary features. You have a promising career, and we look forward to have you learning from this experience, and being more agile in the future.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The third pig, with a house of bricks&lt;/span&gt;. Thanks for your efforts over the last review period. Unhappily, we have to communicate that you underperformed, when compared to peers at the same level. When tasked with building a house, you produced a very complex design, and despite the fact that you finished your implementation within the scheduled time, you didn’t leave time for any other activities. Your complex, overly robust and expensive design included features that have little interest to customers, like the ability to withstand storms, individual bedrooms, and a chimney. You sent by pigmail a spreadsheet listing all the features of your house design, along with detailed comparison with alternatives. Yet, that was not in a format that our customers would understand, or that our management has the time to dig through. You demonstrated great potential, but we need to evaluate performance based on results, and your results weren’t adequate. Moving forward, it is clear you can learn from the work of your colleagues, and produce results faster, without unnecessary features, freeing up time for networking activities. I will continue to support you as we work together over the next period to better align your results with expectations.&lt;br /&gt;&lt;br /&gt;At times a “Big Bad Wolf” may not be so bad at all…&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-4394881865267760500?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/4394881865267760500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=4394881865267760500' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/4394881865267760500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/4394881865267760500'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/03/performance-review-for-three-little.html' title='Performance Review for the Three Little Pigs'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-1683446678061887969</id><published>2009-03-11T15:29:00.000-07:00</published><updated>2009-03-11T15:31:10.893-07:00</updated><title type='text'>Warning Dialogs Need CAPTCHA</title><content type='html'>I’m probably not a typical computer user, since in all my history of application usage, I rarely lost data. Despite many hardware failures, I always had some backup somewhere. Yet, about twice a year something happens that makes me think that we definitely need to improve warning dialogs. Recently, one of these things happened: I was improving formatting of an Excel spreadsheet, while copying data from an existing spreadsheet to another. After a few minutes working on that, I made a keyboard mistake when trying exactly to see the result of my work: I hit Ctrl+F4, when I should have hit Ctrl+F5. Almost in the end of my task, I was warned by this small dialog if I wanted to save changes. Trying to dismiss quickly what looked like just more “warning nonsense”, I clicked the “No” button, which happened to be just under the mouse cursor, as per Murphy’s Law. Consequently, I just lost all of my work (what luckily wasn’t that much… Take that Murphy!).&lt;br /&gt;&lt;p&gt;If applications can continue the task without losing user data then probably just a popup warning should be used instead of a dialog box. But when data is about to be lost, I won’t mind having to type three or four letters to confirm that I read the warning message, in a kind of CAPTCHA challenge (Completely Automated Public Turing test to tell Computers and Humans Apart).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-1683446678061887969?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/1683446678061887969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=1683446678061887969' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/1683446678061887969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/1683446678061887969'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/03/warning-dialogs-need-captcha.html' title='Warning Dialogs Need CAPTCHA'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-3721616034608863567</id><published>2009-02-21T03:29:00.000-08:00</published><updated>2009-07-22T23:10:34.023-07:00</updated><title type='text'>When WPF applications don't start</title><content type='html'>Consider this stack trace:&lt;br /&gt;at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)&lt;br /&gt;at System.Uri..ctor(String uriString, UriKind uriKind)&lt;br /&gt;at MS.Internal.FontCache.FontSourceCollection.SetFontSources()&lt;br /&gt;at MS.Internal.FontCache.FontSourceCollection.GetEnumerator()&lt;br /&gt;at MS.Internal.FontCache.FamilyCollection.BuildFamilyList(List`1&amp;amp; familyList, SortedDictionary`2&amp;amp; familyNameList, SortedList`2&amp;amp; frequentStrings)&lt;br /&gt;at MS.Internal.FontCache.FamilyCollection.MS.Internal.FontCache.IFontCacheElement.AddToCache(CheckedPointer newPointer, ElementCacher cacher)&lt;br /&gt;at MS.Internal.FontCache.HashTable.Lookup(IFontCacheElement e, Boolean add)&lt;br /&gt;at MS.Internal.FontCache.CacheManager.Lookup(IFontCacheElement e)&lt;br /&gt;at System.Windows.Media.FontFamily.PreCreateDefaultFamilyCollection()&lt;br /&gt;at System.Windows.Media.FontFamily..ctor()&lt;br /&gt;&lt;br /&gt;This caused the following problem in a customer machine: no WPF application would start. Other .NET applications based on WinForms would start fine. Yet, a very simple WPF application sent to the customer, with just the default window created by the Visual Studio default project, would crash and present such stack trace.&lt;br /&gt;&lt;br /&gt;Pinpointing the problem took a while: for some unknown reason, the customer had wrong entries in the registry keys that are used to build that “default font family” cache cited in the stack trace.&lt;br /&gt;The customer was asked to export the entries under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts, and send the file to me. There were several font filenames strangely starting with dashes (---). These were fixed, and a registry file was sent back to the customer to import. After that, the application successfully started!&lt;br /&gt;&lt;br /&gt;Note: There may also be the need of deleting your font cache, as per instructions in this link &lt;a href="http://support.microsoft.com/kb/937135"&gt;http://support.microsoft.com/kb/937135&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-3721616034608863567?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/3721616034608863567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=3721616034608863567' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3721616034608863567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3721616034608863567'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/02/when-wpf-applications-dont-start.html' title='When WPF applications don&apos;t start'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-51558560233721579</id><published>2009-02-19T13:01:00.000-08:00</published><updated>2009-02-19T13:02:25.943-08:00</updated><title type='text'>The Curse of the Committee</title><content type='html'>It is now the subject of a scientific paper: committees simply don't work. Please refer to the New Scientist's &lt;a href="http://www.newscientist.com/article/mg20126901.300-explaining-the-curse-of-work.html"&gt;article on the subject&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-51558560233721579?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/51558560233721579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=51558560233721579' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/51558560233721579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/51558560233721579'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/02/curse-of-committee.html' title='The Curse of the Committee'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-3242317465637760339</id><published>2009-01-31T08:12:00.000-08:00</published><updated>2009-01-31T10:47:27.319-08:00</updated><title type='text'>Succeeding as a UI Developer</title><content type='html'>When recently asked about advice on how to succeed as a UI developer, my first reaction was: Why succeed as a UI developer? You should succeed as a software developer, no matter if doing UI development today, database development tomorrow, or a network driver a year later. One of the best things that may happen in your career is to have the opportunity to work on several different areas. Being a one tricky pony is not a good thing. Technologies that look very important today may be irrelevant tomorrow. More on that some other day. For now, I will not avoid the question, and I took some time to summarize my advice into 3 technical pieces of advice, and 3 non-technical ones.&lt;br /&gt;&lt;br /&gt;Technical Advice 1: &lt;span style="font-weight: bold;"&gt;Get out of the UI thread.&lt;/span&gt; If you understood it, the advice is finished. If you didn’t get it, probably you cannot be considered an UI developer yet, and won’t benefit from these comments at this time. Come back when you have more experience. While at it, remember to learn about multi-threaded development. It is ironic that most CS graduates nowadays can discuss for hours about balancing tree structures (something most will never do in their careers) while few can find a bug in multi-threaded code as simple as: temp = a; a = b; b = temp; Got it?&lt;br /&gt;&lt;br /&gt;Technical Advice 2: &lt;span style="font-weight: bold;"&gt;Minimize data transfer between the UI and the backend.&lt;/span&gt; That will be the user experience bottleneck. Minimize from day one, and keep improving. If the application needs just to show a name and a surname, then retrieve only the name and the surname. Do not retrieve anything else “for later” at the UI level: this should be done in some other layer. Scalability is a word that you should think about from day 1.&lt;br /&gt;&lt;br /&gt;Technical Advice 3: &lt;span style="font-weight: bold;"&gt;There should be a way to cancel the user action.&lt;/span&gt; It is clear many developers think that “if it works under my stress test then it will always work”. On a daily basis I see several Windows applications become irresponsive for many seconds. Most of the times that is because technical advice 1 wasn’t followed. But at times that is just because the testers didn’t ever face my customer scenario, and nobody considered that the user might want the cancel the task. Obviously, there are limitations to this: do not offer a cancel button if nothing will be really “cancelled”. You don’t want to let the customer thinking that a bank transaction was cancelled, when all that was cancelled was the displaying of the results.&lt;br /&gt;&lt;br /&gt;Now, for the non-technical advice.&lt;br /&gt;&lt;br /&gt;Non-technical Advice 1: &lt;span style="font-weight: bold;"&gt;There is no such thing as an “intuitive human-computer interface”.&lt;/span&gt; Whoever tells you otherwise may try to sell you some land in the moon if you believe it. Look at your keyboard. Is the position of keys “intuitive”, or is it based on compatibility with previous typing machines, which had keys put in place to “minimize the typing speed”? I can go on with examples forever, but you get the gist of it... or not. Focus always on a good user experience for your customers, and ignore every comment from “experts” that includes a catch phrase similar to “it would be more intuitive if...”.&lt;br /&gt;&lt;br /&gt;Non-technical Advice 2: &lt;span style="font-weight: bold;"&gt;There will be no consistency.&lt;/span&gt; Not only they are not intuitive, but good user interfaces are consistently inconsistent. Working in a large company like Microsoft, there are opportunities for consistency that I definitely miss: consistency of icons, for example. How many different icons one can find in Microsoft products for the same thing as: tasks, reports, user, group, picture, etc.? Meanwhile, at times there is paralysis in UI projects while the crusade for consistency passes by, trying to consolidate behavior across disparate applications, or disparate parts of the same application. The problem is that such consistency “a la carte” is pure waste of time. In the end, no consistency is achieved anyway, and instead of trying to create the best user experience in every scenario, the crusade for consistency only manages to get uniform lack of innovation everywhere!&lt;br /&gt;&lt;br /&gt;Non-technical Advice 3: &lt;span style="font-weight: bold;"&gt;Think about accessibility.&lt;/span&gt; Over the next 40 years, when the first generation of people that developed software applications start to depend on glasses, they will soon realize one thing: they messed up big time on accessibility. Are developers really thinking that the solution for accessibility is just the use of magnifiers, narrators or equivalent operating system level accessories? At work, when I look at my dual 27” monitors, I can only think: how can people work with smaller monitors? Worse is to realize that almost all the screen real state is wasted with icons and text that shouldn’t have been there, while I have to seek for minuscule icons to open the view for threads in my debugger!&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");&lt;br /&gt;document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;var pageTracker = _gat._getTracker("UA-873241-3");&lt;br /&gt;pageTracker._trackPageview();&lt;br /&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-3242317465637760339?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/3242317465637760339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=3242317465637760339' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3242317465637760339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3242317465637760339'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/01/succeeding-as-ui-developer.html' title='Succeeding as a UI Developer'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-5338688104426258338</id><published>2009-01-25T13:37:00.000-08:00</published><updated>2009-01-25T13:38:38.454-08:00</updated><title type='text'>The Painful Path to PHP</title><content type='html'>The time it took me to get the code from the help topic “How to: Retrieve Data as an Array”, adapt it for my own database/table, and retrieve a few rows of data: about 5 minutes. Time it took me to install PHP, the SQL Server 2005 Driver for PHP, and all the other components to get that simple PHP page working: about 4 hours. It certainly would take significantly less time now that I know what I need to install, and have been through the entire experience.&lt;br /&gt;&lt;br /&gt;The key to success is to download first the &lt;a href="http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx"&gt;SQL Server 2005 Driver for PHP&lt;/a&gt;. That also works with SQL Server 2008, which is the version I installed. The good thing about downloading the driver first is that the help file has all the needed links to articles on how to configure the IIS server, the setup of the FastCGI module, etc. Once you get past that, it is amazingly fast to adapt the sample pieces of code and start using those against SQL Server, although I probably cheated a little in the security settings to “get things going”.&lt;br /&gt;&lt;br /&gt;At this time, and without ever reading a single page from a PHP book, I’m impressed with the results I’ve already got. The path so far was definitely painful, but the results I got since starting to “program” in the language (so far basically, copying, pasting and adapting) are definitely promising.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-5338688104426258338?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/5338688104426258338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=5338688104426258338' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/5338688104426258338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/5338688104426258338'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/01/painful-path-to-php.html' title='The Painful Path to PHP'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-3726886357079941127</id><published>2009-01-21T16:57:00.000-08:00</published><updated>2009-01-21T17:02:28.338-08:00</updated><title type='text'>Engineering Lessons from AutoCollage</title><content type='html'>Every project I finish, and usually long past the post mortem, to avoid mixing “process issues” with real “technical issues”, I do a summary of my “Engineering Lessons” from the experience. I don’t include those with post mortem documents, since such findings very likely won’t apply to another project that won’t address exactly the same problem, or use exactly the same technology. Yet, I try to generalize the issues as much as possible, hoping to avoid similar mistakes in the future, or to continue doing what went well. Here are my 3 main engineering lessons as a Development Manager for Microsoft Research AutoCollage 2008.&lt;br /&gt;&lt;br /&gt;1) &lt;span style="font-weight: bold;"&gt;Implement features because of return on investment, not because of “estimated coding cost”.&lt;/span&gt; Fool me once. Fool me twice. Fool me almost every time… Guilty as charged! Except for those developing an operating system, most software developers should stay away from coding any functionality already provided by the operating system. Yet, we always think we can do it in a simpler way. Or “a more intuitive way”. Or a more “discoverable” way. AutoCollage has an “Image Browser” control showing the folders in the file system under a selected “Root Folder”, followed by the number of images in each folder. The control is done, it is working, and it is probably well-contained. The last time I checked it accounted for 7% of the user interface code (considering file sizes). Yet, it corresponds directly to at least 10% of all bugs, and probably to 30% of the “coding pain”. My “guess” of the value for customers: no more than 2% of the total value of the application. Proportionally it is certainly the most costly component of the application, and almost certainly the one with the worst return on investment. Don’t get me wrong: customers don’t complain about it being there, and other than a couple of questions regarding the name, most of the feedback has been positive. However, customers could get the same information from the operating system explorer. The functionality doesn’t really relate to the research of doing an “AutoCollage”. If customers could just directly select a single folder for input using a standard Windows dialog there would probably be just one or two suggesting something like the “Image Browser”. It clearly should have been cut at the specification phase. But we engineers look too much at what we “can do” (and it may look cool) instead of what we “should do” (and it will provide a good “return on coding investment”). Lesson learned?&lt;br /&gt;&lt;br /&gt;2) &lt;span style="font-weight: bold;"&gt;Work with a copy of input documents.&lt;/span&gt; Unbelievable! If there is something that (I was thinking that) I’ve learned from my experience in the Microsoft Office organization was to “work with a copy of input documents”. Your application should never touch the original files until the user explicitly acts towards “saving” work done since the document was opened. But then you get “smart”. You think that if you are not ever really “changing the input document” then you can work directly with references to the input. Surprise: there are other applications! Both those other applications and the operating system may be changing your input at any time. What to do? There are too many options, but I now realize that the best one is very simple (and… the one used by Office): you should work with a copy of the input files, and possibly watch the input and alert users when the input changes, allowing them to decide what to do with the “cached copy”. The second best option is to lock the input files. But then users will certainly complain about not being able to change input while technically just “browsing” through it in your application. What happens if you ever need to work with files from a network share? You can no longer surely “lock” your input, and will have to accept the fact that “things change” anyway. Another surprise: if your application don’t cache input files explicitly, the operating system may “do something for you”, which may not be what you wanted. You will be soon surprised to know that after disconnecting the network cable there is still some latency until you start to get errors when accessing remote files. And for every one of these “surprises” there will be a “workaround”, and then more surprises. The bottom line: copy all you input documents to a local temporary folder, and work from that copy. A single “refresh” button may solve 90% of your “update problems” in the user experience (the other 10% will be decided by the user when trying to save, and possibly getting warnings about overwriting changes made since the file was last opened, etc.).&lt;br /&gt;&lt;br /&gt;3) &lt;span style="font-weight: bold;"&gt;Do not redo what is already done.&lt;/span&gt; At least something had to be just a confirmation of my previous lessons! Past the problem of redoing the operating system, most developers, whenever inheriting some code base, will automatically create a huge list of problems, and use that as a reason to “rewrite from scratch”. That should certainly be the best option in a few cases. But frequently it is just an extreme case of the “&lt;a href="http://blogs.msdn.com/eric_brechner/archive/2008/11/01/nihilism-and-other-innovation-poison.aspx"&gt;Not Invented Here&lt;/a&gt;” syndrome, whereby the developer cannot fix bugs that were not coded by himself/herself. Yet, understanding someone else’s code should be one of the main competencies of great developers. It may surprise you at times to review your own code from a few years back. Didn’t all those variable names look obvious at that time?! Weren’t all those comments absolutely valuable? From the point-of-view of the customer, what is the value of your change/rewrite/refactoring? The customer doesn’t really care that you feel a little guilty about a huge part of the code that will ship using HResults, whereas other parts of the code use exceptions. Only a few curious other developers not in your target audience will ever care if part of the code is in C++, and another part in C#, or Java, or “Diamonds outside of Rails”!  Do not code for other developers: code for the customer that pays your salary. For AutoCollage, a lot of code that was ready was reused, and while at times a few changes and bug fixes were painful, I cannot see how it would have been better otherwise!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-3726886357079941127?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/3726886357079941127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=3726886357079941127' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3726886357079941127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3726886357079941127'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/01/engineering-lessons-from-autocollage.html' title='Engineering Lessons from AutoCollage'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-2003234892594017893</id><published>2009-01-18T12:19:00.001-08:00</published><updated>2009-01-18T12:21:54.265-08:00</updated><title type='text'>The 72 Scientists</title><content type='html'>Yesterday, in the way back to Gare du Nord, I decided to go up the Eiffel Tower, since I couldn’t do that during my trip there last summer. While the view from the top is certainly impressive, it is not as impressive to a physicist as the bottom view of 72 scientist names engraved on the façades.&lt;br /&gt;&lt;br /&gt;Education in Physics is a great privilege, as long as one doesn’t take “the current models” as unbreakable and eternal, and starts to think of science as another form of religion. Most of my friends, having mainly education and interests on exact sciences, have no knowledge of events as relevant as the Templeton Prize, or entire fields like Memetics. At times the names of scientists are really of historical relevance, but at other times the ideas themselves are far more important than any single individual. It is still impressive to me to see results like those of the “Improv Anywhere” missions, although I would have no interest on knowing the names of whoever came up with the idea for each mission.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-2003234892594017893?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/2003234892594017893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=2003234892594017893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2003234892594017893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2003234892594017893'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/01/72-scientists.html' title='The 72 Scientists'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-3237502051588665903</id><published>2009-01-10T12:49:00.000-08:00</published><updated>2009-01-11T02:55:10.743-08:00</updated><title type='text'>Accountability</title><content type='html'>Two interesting stories sent to me by friends this week relate directly to accountability. First, a friend asked me what I think of the “&lt;a href="http://www.nytimes.com/2009/01/08/business/worldbusiness/08satyam.html"&gt;Satyam fraud&lt;/a&gt;”. Honestly: too early to say something. Except: what happens with the auditors? Time after time we hear of all these companies that have frauds in the billion dollar level and yet auditors have published their reports with sentences like: “As a result of our audit, we found nothing to indicate that [Company] is not in compliance with [country regulations]”. Is money returned to the [audited] company [by the auditing one] if a fraud like this is proven after due investigations? If an auditing company receives 10 million dollar per year, and it is providing auditing services for 10 years to a company that has a proven fraud of billions of dollars, what is the problem of getting a fine of 1 million dollars?&lt;br /&gt;&lt;br /&gt;The most interesting story link is entitled “&lt;a href="http://www.rbogash.com/boeing_delay.html"&gt;Not Acceptable!!!!!&lt;/a&gt;” and it is a personal opinion of a retired employee about recent events at Boeing. The reality: we could replace the company name with that of most large companies nowadays. I particularly have a problem with the issue of “scheduling” in large companies, and how it differs from my experience in smaller companies. In smaller companies I’ve worked for, we never changed the schedule. Obviously the projects were smaller, but the risk was at times larger. Yet, the safety margin played with our “pride to get things done”: if we had to demo or deliver something early Monday morning, all tasks converged to a milestone on the previous Thursday. On Friday we would evaluate the status, and if something was not ready yet, the solution was simple: let’s work through the weekend until everything is ready. How far is this from large companies?&lt;br /&gt;&lt;br /&gt;When working for a large company, I’ve been in a meeting on November of a certain year, during which a bunch of “team leaders” where discussing if the schedule for a certain (already late) project would be extended to June or to September next year. Any doubt it got extended to September?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-3237502051588665903?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/3237502051588665903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=3237502051588665903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3237502051588665903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3237502051588665903'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2009/01/accountability.html' title='Accountability'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-8951747272459379218</id><published>2008-12-29T13:12:00.000-08:00</published><updated>2008-12-29T13:13:47.539-08:00</updated><title type='text'>Management Excellence</title><content type='html'>If there is one thing that I’ve learned after a few years managing and being managed is that all the management training of the world can only do to a mediocre natural manager about the same that any amount of training can do to make me the next swimming champion in the Olympic games: little. Yet, exactly like swimming training, management training may prevent one from drowning, or at least inspire in the person some respect for the “water”.  I don’t have the talent to swim. I also lack the desire. Despite some efforts when I was young, I was so mediocre swimming that I developed at that time an enormous ability to stay for a long time under water. As incredible as it may look like, I would be able to cross a 50 meters pool under water faster than I could do it swimming. My peers would be amazed with my ability to stay long periods without breathing, while I amazed myself with how I ingeniously avoided confrontation with my lack of swimming skills!&lt;br /&gt;&lt;br /&gt;In a sense, I now look back at such facts as a good example of “managing my own expectations”. And that is probably one of the main failures I see in management nowadays. First, there is the notion that “some people in a company are managers, while others aren’t”. In a formal way, I surely can understand that. But reality is: everybody is a manager. Before managing anyone else, you should be able to manage yourself. A main problem for corporate effectiveness if that most people cannot effectively manage themselves. Most people do know what they need to do. I would suspect that, when asked about their priorities, most employees do have their work items in the same priority that their managers would agree with. Yet, most people work in the order that pleases them, not in the order of assignments that would produce the best results for their companies and customers. How to improve self-management?&lt;br /&gt;&lt;br /&gt;Past self-management, another big problem, and one barely addressed in most of the books and blogs I’ve read about management, is that it takes time for you and your manager to develop a good and trustful “ management relationship”. Indeed, my searches for work on “management relationship” produced literally nothing valuable. Just search for “relationship management” for comparison!&lt;br /&gt;&lt;br /&gt;In the current world of snap decisions, people have the tendency to make up their minds about something or someone based on pieces of information at times taken totally out of context. You frequently see a manager in a meeting asking about information that he or she certainly should already know. What are your thoughts? If you don’t know the person, you can think almost anything, from total incompetency, going through double-checking information, or a generous inquirer that just wanted to give someone a chance to provide explanation and save face in a vexing situation.&lt;br /&gt;&lt;br /&gt;When you know your manager, you will know exactly what he/she means with each word or action. And the reciprocal is probably even more important for you and your career. Your manager should be able to fully understand what you mean with your words and actions, so that he or she won’t react (or, worse, overreact) when you take some action or say something that cannot be fully “put into context” without repeating hundreds of hours of information. A sentence like “What is the POR on bug 1234?” may have too many different interpretations for one to take it away from context and still pass judgment based only on the question, or the answers. Things are even worse with email: people pass judgment on others based on fragments of email messages that at times have a background of hundreds of hours of discussions and work. All the background is quickly ignored, while importance is usually placed only on two or three sentences literally “out of context”.&lt;br /&gt;&lt;br /&gt;I’ve recently attended training on “Management Excellence”, and my focus was to create conditions for different teams, each with a different task, to “collaborate”. I failed miserably. Each team focused on its assignment, ignored other teams, and literally “couldn’t care less about the success or failure of others”. Despite working on disparate assignments, competitiveness kicked in quickly. My learning: there was no way to have gotten better collaboration unless, from the beginning, more time had been put on schedule for the collaboration, and unless collaboration was clearly set as a goal. Would I have learned that if not in a safe environment? Would I’ve even have noticed my failure if it was not from the candid feedback received in such environment?&lt;br /&gt;&lt;br /&gt;Now connecting the threads, my point is: how could companies focus more in the “management relationship” in the long term? I suspect that one cannot really pass judgment on his manager, or vice-versa, in less than 3 months, with more meaningful feedback coming only after 9 months of a good relationship. How to allow for this to happen in an environment in which you “inherit” an employee today and have to write his/her review next month? (and possibly be judged on how effective you are as a manager based in just a few weeks of joint work?!). How to properly consider aspects like remote management, part-time work on different projects, different priorities from different managers, etc.?&lt;br /&gt;&lt;br /&gt;I strongly believe that companies need to really focus on giving everyone management training (not only those with a formal manager title). And companies should be giving great managers a great reward. A company is not defined by its vision, its mission statement, or its stock value. A company is defined in great part by its managers, and in a broader vision by all its employees. Unless companies focus on management excellence, there is no point on hiding behind “customer focus”: no company will have customers for long if letting mediocre managers run the show!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-8951747272459379218?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/8951747272459379218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=8951747272459379218' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8951747272459379218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8951747272459379218'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2008/12/management-excellence.html' title='Management Excellence'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-7516332475510892221</id><published>2008-12-25T09:26:00.000-08:00</published><updated>2008-12-30T00:44:40.038-08:00</updated><title type='text'>Error Messages: my 2008 list of "interesting" ones</title><content type='html'>And since the list posted last year was a hit, it is now officially a tradition.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5)&lt;/b&gt; Let’s start with the Microsoft Windows Live installers, which provided not only one interesting error message, but an entire sequence. It all starts with a warning.&lt;br /&gt;&lt;b&gt;Windows Live Installer.&lt;/b&gt; &lt;i&gt;Installation may take a few minutes. Feel free to do other things while you wait.&lt;br /&gt;&lt;/i&gt;Thanks for the freedom! But, after a few minutes that warning changes to...&lt;br /&gt;&lt;b&gt;Windows Live Installer.&lt;/b&gt; &lt;i&gt;Sorry, this is taking a little longer than expected. Please bear with us just a few more minutes.&lt;/i&gt;&lt;br /&gt;In the end, you finally get the very meaningful error message.&lt;br /&gt;&lt;b&gt;Windows Live Installer.&lt;/b&gt; &lt;i&gt;Sorry, we couldn't install this program. To try to fix the problem, click 'Try again later' and we we'll add the installer to your desktop so you can easily restart it later.&lt;/i&gt;&lt;br /&gt;And that is all you wanted, isn’t it: to get a desktop icon to try again later!&lt;br /&gt;What I particularly like is how verbose such messages are, creating a problem for the globalization/localization team. If you are going to fail, at least do it with only a few words. But then, the Windows Live Sync setup comes up with this pearl:&lt;br /&gt;&lt;b&gt;Windows Live Sync&lt;/b&gt;. &lt;i&gt;Sorry, something went wrong and we weren't able to set up your personal folders. Please visit the Sync website to set up the folders yourself.&lt;/i&gt;&lt;br /&gt;An error message because “something went wrong”?! Who would think of that?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4)&lt;/b&gt; And an interesting notification appears...&lt;br /&gt;&lt;b&gt;Microsoft Visual Studio is Busy.&lt;/b&gt; &lt;i&gt;Microsoft Visual Studio is waiting for an internal operation to complete. If you regularly encounter this delay during normal usage, please report this problem to Microsoft.&lt;/i&gt;&lt;br /&gt;Not exactly an “error”, but I could only wonder why time was taken from the thread that is doing the internal operation to create a notification popup, delaying even more the internal operation!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3)&lt;/b&gt; Runtime errors like to provide to users a lot of useless information. While using Internet Explorer...&lt;br /&gt;&lt;b&gt;Microsoft Visual C++ Runtime Library.&lt;/b&gt; &lt;i&gt;Runtime Error! Program C:/Program Files/Internet Explorer/iexplore.exe. This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.&lt;/i&gt;&lt;br /&gt;Ultimately, the problem is in some Visual Studio runtime, but since the message appeared while using IE, the customer is already confused. But there is more: where is really such message? Because it obviously is not in the IE code, this probably means that a customer running a localized version of IE will also see this same message… in English.&lt;br /&gt;But wait, runtime errors can be made worse:&lt;br /&gt;&lt;b&gt;C:/Windows/System32/XPSViewer/XPSViewer.exe.&lt;/b&gt; &lt;i&gt;Function address 0x6cbd85b8 caused a protection fault (exception code 0xc0000005). Some or all property page(s) may not be displayed.&lt;/i&gt;&lt;br /&gt;I really have this desire to call support and just say that the error was in address 0x6cdb85b8, for the fun of seeing what happens!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2)&lt;/b&gt; It looks like the most interesting error message from 2007 created a new trend.&lt;br /&gt;Windows Vista, while rebooting. &lt;b&gt;The following programs are still running: TaskEng - Task Scheduler Engine Process.&lt;/b&gt; &lt;i&gt;Task Scheduler is executing shutdown tasks, and stopping tasks that are already running.&lt;/i&gt;&lt;br /&gt;Let me try to understand: Windows is rebooting... but it cannot reboot... because the task scheduler is running... so that is can stop tasks. Great!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1)&lt;/b&gt; After counting twice my single ballot, the most interesting error message seen during 2008 is:&lt;br /&gt;&lt;b&gt;Family Safety.&lt;/b&gt; &lt;i&gt;An unexpected error occurred. Error: 8000ffff. Catastrophic failure.&lt;/i&gt;&lt;br /&gt;It didn't start well for a product that is supposed to improve “family safety”...&lt;br /&gt;&lt;br /&gt;Microsoft has the dubious merit of getting all the prizes this year. If only the company followed its own &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms679325%28VS.85%29.aspx"&gt;error message guidelines&lt;/a&gt;...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-7516332475510892221?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/7516332475510892221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=7516332475510892221' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7516332475510892221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7516332475510892221'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2008/12/and-since-list-posted-last-year-was-hit.html' title='Error Messages: my 2008 list of &quot;interesting&quot; ones'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-7592893651017140475</id><published>2008-12-09T16:05:00.000-08:00</published><updated>2008-12-09T16:06:25.641-08:00</updated><title type='text'>ItzaBitza, Windows 7 and a Personal Opinion</title><content type='html'>Two apparently unrelated events got me thinking about a third, apparently unrelated topic. One day this week I learned about and decided to buy a game named &lt;a href="http://www.itzabitza.com"&gt;ItzaBitza &lt;/a&gt;for my daughters. The other day I was asked about what I think of Windows 7.&lt;br /&gt;&lt;br /&gt;ItzaBitza results from a collaboration between Sabi  and Microsoft. One of the interesting features of the game is to bring to life drawings made by the user. I bought the game mainly due to the lack of games for children in the range of 5 to 10 years. Initially, I considered that my younger daughter would be the main user, but she had little interest in the game. Yet, my older daughter loved it, and I don’t think that is related to the age difference. My explanation is that one of my daughters likes to draw, while the other likes music-related activities. The game if focused on drawings, with no tasks related to music. It is definitely a great game for the right kind of child, and I could only think of improvements in the quality area, since my daughter already got it to crash twice. Yet, even redoing some of the tasks looked like something enjoyable. If released to market directly by Microsoft the game probably would have at least a hundred more “features”, and wouldn’t have hit the market any sooner (for those not previously reading the blog: I currently work at Microsoft).&lt;br /&gt;&lt;br /&gt;Meanwhile, I was really puzzled by a question from a friend about Windows 7. It is reasonable for people outside Microsoft to think that internally we have early access to product builds, in the best “eat your own dogfood” approach. They just don’t know about the bureaucracy involved… But then, I wouldn’t be able to comment on anything other than the publicly available build anyway (the only one I know of being the one distributed at PDC). Strangely, there was no interest on my comments regarding that already extensively reviewed build.&lt;br /&gt;&lt;br /&gt;And from these two, apparently unrelated facts, I came to my third topic, which is a “personal opinion”: it would be wise by now for Microsoft to definitely break Windows and Office. Not in the usual way that antitrust regulators wanted, but in home, enterprise and mobile/embedded versions, with collaboration between teams but possibly different features and source code.&lt;br /&gt;&lt;br /&gt;When I talk with my friends in the IT field about product features, there is almost a complete different set of requests from what I hear when talking with friends using software at home. Corporations would like to lock down computers, and possibly prevent users from installing anything. Corporations have by now realized that the phone is no longer the main distraction for employees. The computer, if ever used to really produce anything related to work activities, is becoming a huge obstacle exactly to what it was supposed to help with: productivity. And when not wasting time in social networks, employees don’t want to be in training sessions to learn about new software features, when one hardly had time to use the features in the previous versions. Who cares about ribbons and configurable menus? From the time one boots a computer nowadays to the time the brawl with the printer drivers is finished, it not hard to imagine that it would be better to use a mechanical typewriter to type a letter. And don’t even get anyone in the IT area of big corporations started on the topics of email, spam or “instant MESSenger”.&lt;br /&gt;&lt;br /&gt;Home users, at least the ones I talk with, are also getting into different segments. Although all would agree that they need freedom to install whatever they want, there are different requests afterwards from gamers, sporadic users, children, adults, etc. Interestingly enough, I still think they would all accept a unique version of a home operating system and the “document editors”, as long as the software has some customization capabilities and focus on “getting everything else out of the way”. By everything else I typically hear 3 things: setup, maintenance and backup. I don’t think it is such a big issue (for me and those “IT helpers in every family”) to help family and friends with setup issues from time to time. The fact that some of such issues could not be addressed by the customers is just a yellow flag: most people also cannot install their dishwashers, or even an electrical shower. The real problem is that most dishwashers and showers would go on for years after installation without any problems. The same cannot be said about computers and software nowadays. The annoying and frequent software updates are not even the worst that can happen. In the case of hardware failures, how many families would really have up-to-date backups?&lt;br /&gt;&lt;br /&gt;Unifying the interests of home users and corporate users is simply impossible. Continuing to try that will produce average results for all users and none will be really happy. At times, persistence is not the best strategy: it only perpetuates a mistake. Trying to mix requirements from corporate and home users with those of mobile/embedded users and "the cloud" is just creating products with an infinite test matrix. And since there are no infinite testers with infinite time to test all possible scenarios, or infinite developers to fix all found bugs, customers are starting to lose their finite patience.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-7592893651017140475?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/7592893651017140475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=7592893651017140475' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7592893651017140475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7592893651017140475'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2008/12/itzabitza-windows-7-and-personal.html' title='ItzaBitza, Windows 7 and a Personal Opinion'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-7244363427144405855</id><published>2008-11-30T07:09:00.000-08:00</published><updated>2008-11-30T07:12:58.042-08:00</updated><title type='text'>ERP Systems</title><content type='html'>For many years I worked as a system architect for an ERP (Enterprise Resource Planning) system. Later, I had the opportunity to work in a “performance management” system. Recently, I’ve been asked what I think about such systems, and how they affect the productivity of companies. Most importantly, I’ve been asked that in the context of Brazil, where a lot of companies are nowadays experimenting with open source, and the country government has currently a political preference for open source. My answer was simple: ERP systems don’t affect anything. They just capture some data about a company, most times totally disconnected from the reality. That is why companies that a year ago posted record income are nowadays going bankrupt. Certainly the ERP systems are not the ones to blame.&lt;br /&gt;&lt;br /&gt;First, let me take the government out of the question: I think that whatever a government does - other specific legislation - shouldn’t influence what a company does. Governments are usually not seeking “competitive advantage” or the kind of “transparency” that one would usually expect from companies. ERP systems have little value to any government. Their proper use would lead to accountability, something politicians fear more than elections. Could you imagine what would happen if it was easy to double-check all the numbers that politicians say during debates and speeches? And I don't have anything against or pro the open source ERP systems. Most companies will not worry about reading or modifying the source code for their ERP systems, since that is not their core business.&lt;br /&gt;&lt;br /&gt;For companies really targeting a competitive advantage, I believe that there are two main problems with the current generation of ERP systems: one is technical, and the other procedural.&lt;br /&gt;&lt;br /&gt;The technical problem is related to unstructured data. ERP systems nowadays try so hard to support structured data that they fail miserably to support unstructured data. Forget for a while the fact that the “structured data” most times is very poorly “structured” also. Most systems create standard tables in relational databases and depend on customizations at the user interface level to minimize the burden for end-users. Elaborated excuses and explanations are used to prevent users from trying to store files with audio, video or other media formats in any ERP system, even if a company depends on such artifacts for its core processes. In a world of “globalization”, one can hardly track a currency value properly in most existing ERP systems.&lt;br /&gt;&lt;br /&gt;However, the main problem I see in the current generation of ERP systems is that they don’t even try to capture the business processes of a given company: they just try to either “reengineer” such processes in whatever the system supports, or not even that. Most times, a company continues doing whatever it was doing, while the ERP systems capture some data totally disconnected from reality, just to fulfill legal obligations. Whenever there is some financial scandal, some of my non-IT friends quickly ask: how could nobody see those things coming? These friends really think that somewhere, some computer system has all the information about all the taxes not properly paid by a company, all the contracts made with suppliers and customers based on the exchange of favors, etc. It is awfully hard for most people to believe that, no matter how big a company is, and how much money is invested in ERP systems, customization, employee training and auditors, there is always a difference between what is captured in the “data” and the reality.&lt;br /&gt;&lt;br /&gt;The cost of precisely capturing what companies really do is still too high, and there is not that much benefit, since most companies don’t really want to change their processes, at least until things start to really go badly. That is why small bakeries in street corners will survive the recession, while some large companies with the best available ERP systems will face bankruptcy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-7244363427144405855?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/7244363427144405855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=7244363427144405855' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7244363427144405855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7244363427144405855'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2008/11/erp-systems.html' title='ERP Systems'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-3773855844953894124</id><published>2008-11-16T06:39:00.000-08:00</published><updated>2008-11-16T06:44:53.419-08:00</updated><title type='text'>Collaboration is disruptive</title><content type='html'>I've recently read a very good column about the problems caused by the "&lt;a href="http://blogs.msdn.com/eric_brechner/archive/2008/11/01/nihilism-and-other-innovation-poison.aspx"&gt;Not Invented Here&lt;/a&gt;" syndrome that pervades not only Microsoft, but many other companies. Indeed, there was just a single sentence in the column that I couldn't fully agree with: "&lt;span style="font-style: italic;"&gt;The key to gaining advantage instead of hardship from using the work of others is ensuring the things you depend upon are stable. Take a dependency on version n-1, be careful about using the latest and greatest. That goes for libraries, tools, and even techniques. Grief is avoidable&lt;/span&gt;". This is a very reasonable recommendation, yet one cannot follow it at Microsoft, and probably neither at most other software companies. In such cases, it is better to recognize that the grief is not avoidable!&lt;br /&gt;&lt;br /&gt;Let's imagine someone inside Microsoft wants today to start a project based on SQL Server 2005, Office 2003, and Windows XP. Nobody in their right minds will consider talking about that. But one may think that, being inside Microsoft, the "version n-1" is that already in the market, while version "n" is the next version that we know it is currently under development. Consequently, a new project inside the company would still be cautious by considering the use of SQL Server 2008, Office 2007, and Windows Vista (let's forget Service Packs for now). How realistic is that? What if, in about a year, Microsoft releases a project based on such product versions? What it will look like to all those professional developers that just attended the Microsoft PDC 2008 conference, and heard about all the grace that will come upon them should they start embracing Windows 7 sooner than later?&lt;br /&gt;&lt;br /&gt;I'm not saying that we should "eat our own dogfood" for the sake of doing it (and I certainly prefer better food!). The problem is that any developer has to accept the fact that collaboration is disruptive, both for those reusing some artifact and for those providing it for reuse. I've worked in more than a project that took a dependency on a beta of Visual Studio. Nothing can be more painful for a developer than to uncover a bug in its main tool. Yet, what if nobody was using the pre-release version of the tool and uncovering that problem? In every single case I worked in a project using a beta of Visual Studio, there was a huge benefit in the end: we could deliver the final build using the latest and greatest build of the development tool, which went to market a few months before the dependent project. There was some payoff for the grief!&lt;br /&gt;&lt;br /&gt;There should be also some recognition of problems avoided. Reuse is hard, and if there is no prospect of a reward then it is easy to concede to some of the several possible excuses to avoid it. While working in the Microsoft Office IBF (Information Bridge Framework) I [and others] suggested the reuse of the BizTalk Mapper as the tool that IBF needed to map between schemas. Was it a perfect fit? No. Would the final integration be perfect? No. Yet, after many meetings, somehow the integration was working, and one more codebase for a "schema mapper" was avoided within the company. Wouldn't that look like a major achievement? Yes. But any line of code that shipped probably got more recognition than all the lines of code that this reuse effort avoided... despite all the grief that, in this case, was avoided.&lt;br /&gt;&lt;br /&gt;It is also hard to be there providing the reusable artifact to someone else. Some developers think that they should come to work and sit in their offices, and never provide intermediate builds, updates about just uncovered difficulties, and early warnings about possible delays. I certainly know that frequently stopping your work to explain why some piece of code has 10% chance of being a day or two late will most times change the scenario to one of 90% chance of that same piece of code being a week late! And that is why you frequently see so many "heroics" coming from developers: it is not that one wants to work overtime for one day or two. It is just that anyone that has been through one cycle of "explaining why we are a little late" in any significant development process will prefer overtime instead of meetings in which the original contract will be changed, new work added, and then some people will leave saying that they brought the project back to a manageable state, while developers leave to work twice the overtime they had originally tried to avoid. Going through a little grief at times avoids a bigger one!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-3773855844953894124?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/3773855844953894124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=3773855844953894124' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3773855844953894124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3773855844953894124'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2008/11/collaboration-is-disruptive.html' title='Collaboration is disruptive'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-2688619799560928339</id><published>2008-11-04T16:47:00.000-08:00</published><updated>2008-11-04T16:49:00.697-08:00</updated><title type='text'>Don’t Touch my Screen</title><content type='html'>Lately, I’ve been thinking a lot about touch screens. As always, the problem is not a technology itself, but how it is used. The iPhone and the iPod Touch are very good examples of use of touch screens. Such devices are mostly personal (diminishing the hygiene concerns) and the direct manipulation interface provides real value. It is hard to imagine how so much functionality could be packed in so little space without a touch screen. For the Microsoft Surface tables, I have a little more concern. Other than the uses for casinos and stores, I believe that the current surface technology has limited possibilities. It is certainly not something I would want in my home. Nobody wants additional stress when a child drops a cup of milk over an electronic table. And a similar problem may happen in most other public spaces (even in casinos, but there replacing the surface table won’t be a problem, as long as it is providing return on the investment). Yet, as a “picture surface”, the device would make sense. Bringing the surface technology to TVs for incidental “point and click” over a significant area, mainly in upcoming OLED monitors, would certainly be a major achievement.&lt;br /&gt;&lt;br /&gt;What I can hardly believe is the recent trend of touch screen monitors for normal applications, not the ATM kind of application. Last week, I heard that some developers are redesigning web sites for touch screens. That is probably all we needed to forever remove accessibility from the list of priorities for the already poorly accessible web sites available today. And I should probably write in the future about the recent trend of using 4 minutes of video in web sites to replace transmission of the same information in 4 sentences. For now, let’s avoid more digressions.&lt;br /&gt;&lt;br /&gt;The mouse is a great pointing device, and its replacement should make things better, not worse. Almost everyone I know plugs a mouse device in their laptops as soon as they are able to do so, replacing the embedded pointing device (a touchpad or a pointing stick). The mouse is a comfortable device for one to use. The feeling of direct manipulation may not be “intuitive” but most children over 3 years learn to use the mouse without difficulty. The mouse doesn’t get in front of what it is pointing at. As a complimentary benefit, the mouse cursor provides feedback about application modes. Certainly some mouse devices I’ve seen make airline toilets look the most hygienic place in the world. But it is easier to clean a mouse than to clean most computer monitors.&lt;br /&gt;&lt;br /&gt;Despite my rejection to this recent trend, I have other priorities ahead of starting a movement against touch screens. Yet, I’m hopeful that someone in the “green movement” will perceive that such screens, after the initial fashion period, will represent yet another environmental hazard. We are barely finding a way to recycle the CRTs nowadays, and all we don’t need is another new device that people would buy and use only for a year, and then get back to whatever they used before. At times, being in a recession may not be so bad, since it will probably do more benefit to the environment than several protests.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-2688619799560928339?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/2688619799560928339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=2688619799560928339' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2688619799560928339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2688619799560928339'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2008/11/dont-touch-my-screen.html' title='Don’t Touch my Screen'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-2329743112464896605</id><published>2008-10-02T16:48:00.000-07:00</published><updated>2008-10-03T09:04:49.236-07:00</updated><title type='text'>A Good Windows Home Server Surprise</title><content type='html'>My wife's laptop is doing well for its age (about 2 years old). And it looks like I have better ability to anticipate &lt;a href="http://alissonsol.blogspot.com/2007/08/recession-and-pleasant-lies.html"&gt;recessions&lt;/a&gt; than some professional economists. So, to continue being cautious, I decided to upgrade just the hard-disk space, instead of buying a new laptop at this time. Then the problem becomes: how to transfer all the data and applications, and the two years of carefully setting application preferences, configuring accounts, etc?&lt;br /&gt;&lt;br /&gt;And the Windows Home Server shows its value. The old hard-disk had 80GB of space, with 2 backed-up partitions of about 40GB, which I usually name System and UserData. How come 40GB is nowadays hardly enough for Windows Vista and a mere handful of applications? To the rescue comes the new 320GB hard-disk, with better speed (7200RPM), bigger cache, etc. I just had to backup the machine to the WHS, remove the old hard-disk, install the new one, and boot with the WHS restore CD. The only minor problem is that someone decided that all the Windows Home Servers of the world should be named “Server”. What an inspiration!&lt;br /&gt;&lt;br /&gt;My other problem was self-inflicted. I connect my machines to a dedicated switch for such data transfers, without any DHCP server in such private network. For that to work, I have to manually set the IP address in each network card. However, booting with the WHS restore CD won’t allow that, and I had then to allow the automatic configuration in both the client (no other way) and in the server. One could claim that I should have never had to configure that in the first place, but such is not a real option when you have some other devices in a private network; but I digress…&lt;br /&gt;&lt;br /&gt;The final tally is quite positive: after the restore operation was complete, the machine booted quite happily in all its new available hard-disk space. Kudos to the WHS team for such productivity boost: what I did in one hour would probably take a full day without the WHS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-2329743112464896605?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/2329743112464896605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=2329743112464896605' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2329743112464896605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/2329743112464896605'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2008/10/good-windows-home-server-surprise.html' title='A Good Windows Home Server Surprise'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-3903938447017946206</id><published>2008-09-15T00:06:00.001-07:00</published><updated>2008-09-15T00:06:47.206-07:00</updated><title type='text'>Vacation Books</title><content type='html'>"Playing for Pizza" is certainly not the best book by John Grisham that I’ve read. Yet, it wins by such a large margin as the best book I read during my recent vacation that it makes me worried.&lt;br /&gt;&lt;br /&gt;In a distant second comes "The Servant", by James C. Hunter. For some reason that I didn’t have time to investigate, this book is still popular in Brazil. It is not that this is a bad book: it just doesn’t introduce anything new, except possibly a monotonous story with some controversial religious background. I’m always suspicious of management books in general, because most of the good ones could be summarized in three words: “use common sense”. This one doesn’t depart from the rule, and won’t disappoint you in that sense. Yet, as I read the book I couldn’t but wonder what would non-Christians think of this book, and that is already a problem: either a book should be about management or a about religion. Each subject by itself is already contentious enough. Making claims about leadership based on the principles or the popularity of a religion is all we don’t need nowadays. Probably reading this book should be followed by some diversity training for all those that have not done that already!&lt;br /&gt;&lt;br /&gt;Way down in the third place is "The Apple Way", by Jeffrey L. Cruikshank. This book is ideal for airplane reading. The main problem with it is that the author tries too hard to prove that he wrote an impartial book about Apple, and then fails miserably. Worse is that there would be no problem if the author just openly said that he was/is an Apple fan. Even employees from competing companies are going to acknowledge that Apple is known for the good design of its products, both in hardware and software. And I probably learned more about entrepreneurship in the books from Guy Kawasaki than in several other “independent books”. What could have been a great book just let you down when the author doesn’t see that certain scenarios used to illustrate “the way” are presented with an extremely biased point-of-view. Even when there is some criticism of Apple it sounds fake, almost as if mistakes were intentional. If this was a book about “Lehman Brothers’ Way”, then bankruptcy would be a necessary step in the company history.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-3903938447017946206?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/3903938447017946206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=3903938447017946206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3903938447017946206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/3903938447017946206'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2008/09/vacation-books.html' title='Vacation Books'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-7359143928710204576</id><published>2008-09-07T04:57:00.000-07:00</published><updated>2008-09-07T10:02:13.075-07:00</updated><title type='text'>The BRICs and the Bridges</title><content type='html'>Last Thursday it was announced that the Brazilian Supreme Federal Tribunal (known as STF, after the Brazilian acronym for “Supremo Tribunal Federal”) has decided that a Brazilian that received a scholarship to study abroad will have to return money to the entity known as CNPq (Conselho Nacional de Desenvolvimento Científico e Tecnológico) due to not returning to Brazil after finishing the course abroad. CNPq is one of the two main institutions in Brazil that provide scholarships for those that want to pursue graduate studies, the other main institution being CAPES (Coordenação de Aperfeiçoamento de Pessoal de Nível Superior).&lt;br /&gt;&lt;br /&gt;As someone who has received scholarships from both CNPq and CAPES, I’m definitely grateful to those institutions, despite several “small details” that I could focus on instead (delays on payment; the way the values are calculated disregarding inflation; etc.). Luckily, I have decided not to make any graduate studies abroad exactly because of the “contractual obligations”. So, I feel free to comment on this topic without the risk of looking like someone self-interested. Yet, I will not comment on the legal aspects of this specific case, since I couldn’t find anything about it when searching the STF website. What I could find is that &lt;a href="https://www.stf.gov.br/arquivo/djEletronico/DJE_20080903_166.pdf"&gt;a day earlier&lt;/a&gt; it was published in the electronic version of Brazilian judicial diary the decision about a process (1.195-1) in which CNPq tries to get away from paying certain taxes when importing into the country equipment to be used by Brazilian researchers.&lt;br /&gt;&lt;br /&gt;The judicial diary has the following sentence (in Portuguese): “A propósito, informa-se que vários bens já importados pelo CNPq encontram-se impedidos de serem liberados, na alfândega, em face da insistência da cobrança do ICMS. Além do prejuízo para a pesquisa em si, esclarece-se que o Impetrante vem arcando, em face do impedimento do desembaraço alfandegário, com altos custos de armazenamento.”. That would translate to something equivalent to (not a word by word translation): “By the way, several assets imported by CNPq are prevented from being discharged by customs due to the insistence on the payment of ICMS [a Brazilian tax]. Besides the damage to research, the applicant [CNPq] is expending, due to the delay, a high storage cost”.&lt;br /&gt;&lt;br /&gt;While doing my graduate studies at USP (University of São Paulo) I was studying the LPCVD (Low pressure Chemical Vapor Deposition) process (won’t bore you to death with details, since you can search the web about that, if interested). One of the main problems that prevented not only me, but many others from finishing their graduate studies on time was… equipment not going through customs on a timely way. I then decided to work on simulation of the LPCVD process using computers, what was the final step that made me jump away from micro-electronics and move on to really study Computer Science.&lt;br /&gt;&lt;br /&gt;The claim that a scholarship beneficiary “is not compensating the Brazilian society” by staying abroad after the graduate studies is absurd. It is just as absurd as similar complaints made from time to time regarding foreign teachers in Brazilian universities. Soon, Brazil will be the only one of the BRICs (Brazil, Russia, India and China) that doesn’t have a massive presence of scientists outside the country (or vice-versa). Each scientist outside the country (or foreign scientist in Brazil) is a bridge that eases the flow of knowledge both ways, with benefits for both countries. I understand why CNPq’s legal department is doing what it is doing. I just don’t agree with its reasoning.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-7359143928710204576?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/7359143928710204576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=7359143928710204576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7359143928710204576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7359143928710204576'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2008/09/brics-and-bridges.html' title='The BRICs and the Bridges'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-7089055832921738635</id><published>2008-08-26T12:43:00.000-07:00</published><updated>2008-08-26T12:44:00.200-07:00</updated><title type='text'>Tesco’s Photo Station Vulnerability</title><content type='html'>Before starting my vacation, I had some digital photos to print. Not that Tesco is the best place for one to do that, but at least their in-store labs will use for digital prints the same machines that are used to get prints from traditional films, what usually produces results with reasonable quality. Costco is too far away for me to go there just for photo prints, and Asda has far better service, but their digital printers produce something barely better than my old ink-based printer. And, should you be able to wait for 24 hours, Tesco has reasonable price (a hint: the 1-hour price to get prints from exactly the same machine is about 2.5 times the price you get if you can wait 24 hours!).&lt;br /&gt;&lt;br /&gt;My problems started on a Sunday, when I uncovered that Tesco’s 24-hours print service in their stores doesn’t open on Sundays. That is fine: I stopped by early on Monday, but then I uncovered that their “person in charge” of the photo booth would show up late that day. Being in a hurry, and having no time to return on Monday, I could get by only after work on Tuesday. Too late: the person is charge of the photo booth had gone home! The computer was covered, and I just uncovered it to confirm the hours of operation. To my surprise, the computer was turned on (Why?! What about all the buzz about being a green company?!).&lt;br /&gt;&lt;br /&gt;With the screen clearly showing that to be a 24-hour photo station, I started to make an order. After my card had been read, I was suddenly interrupted by a person that claimed that I couldn’t complete my order, since the machine wasn’t in operation. That person told me that my order would be ignored, and that I should return when the person in charge of the photo station was in store. I found that strange, and replied that I didn’t think my order would be ignored. Based on what I know about computer systems, I couldn’t imagine that a developer would create a system that would print a receipt and then not do something as simple as place the digital photos in a buffer. I was then assured that was not the case, and that my order would be ignored, and that I was wasting my time. Well, if they were sure about that, then I thought there would be no problem at all with continuing my order until the end. Not to my surprise, the photo station had no problems completing the order, and printing the receipt. I then took the receipt to the cashier but, surprisingly, they told me that they couldn’t receive the money, since the order wouldn’t be processed, because I’ve tried to make an order “after hours” (that on a 24-hours photo station!). I repeated that I was under the impression that the order would be printed as soon as the print machine got turned on, but was again assured that not to be the case. Since the receipt has the warning that “Your order will not be processed until you take your receipt(s) to the counter and pay for your order”, and since they couldn’t accept my payment, I just went home disappointed.&lt;br /&gt;&lt;br /&gt;Wednesday morning starts, and I decide to stop by the same photo station and order the prints. I had a flight on Thursday, and that would be my last chance to order the prints and get the 24-hours price.&lt;br /&gt;&lt;br /&gt;It was Thursday morning and I stopped by to get my prints ordered a day earlier. To my surprise, the person in charge of the photo booth (let’s refer to her a Mrs. J) told me that she got two sets of prints from my pictures, one that I paid for, and one that I didn’t pay for. As per her manager I would have to pay for the still unpaid set of prints, since I’ve been warned that I shouldn’t have used the photo station on Tuesday, which was covered as a clear indication that it should have not be used. I replied that the cover, which is a normal computer cover, frequently used to prevent dust, has nothing written on it saying that customers shouldn’t just uncover the computer. I informed her that I didn’t turned on the computer: it was there turned on, with a clear “24-hour photo station” text in the screen. Also, by no means had “two people warned me that I shouldn’t use the computer”. Instead, I had two people telling on Tuesday that I was just wasting my time, and that my order would be ignored.&lt;br /&gt;&lt;br /&gt;Obviously, such problem wouldn’t be solved by Mrs. J, who had to authority to “release any of my pictures” without payment (by now, my pictures were “arrested”!). I had to talk with the manager (let’s refer to her as Mrs. V). When Mrs. V shows up, all the same sentences are exchanged again (it is almost a principle of bad service: make the customer repeat everything at least twice!). The discussion was now a little heated, since Mrs. V had the habit of interrupting me in the middle of every sentence to try to point out some “inconsistency” in my story, as if I was already under cross-check at some court of law. At the end of the annoying discussion, I told Mrs. V that what they were doing was illegal: I had a set of prints that I wanted, and that I paid for, and another set that I didn’t want, and that I had not paid for. Should Tesco think that they had a case against me, I would be willing to provide full information on how they could contact me to take the case to a real court, with a real judge, since I didn’t recognize Mrs. V as having more authority than I do to make creative interpretations of country laws.&lt;br /&gt;&lt;br /&gt;In the same way that Tesco had no way to force me to pay for a set of prints that I didn’t want, I wouldn’t just get the set of prints that I already paid for and run (even though that would be totally legal!). Yet, I wouldn’t pay for duplicate set of prints, or pay for it and then try to solve the problem on a “free phone call” to a Tesco Customer Service center (really bad customer service makes of you repeat everything at least three times!). I had no sympathy at all for the claim that the prints would be useless for other people, and that money was spent to buy the paper and ink for the prints (poor Tesco: just turn off the photo stations and save energy!). I was by no means someone that intentionally tried to cause any problems or loss for Tesco. Should I really want that, can you see the huge vulnerability on Tesco’s photo system that I could take advantage of to misuse a lot of paper and ink?&lt;br /&gt;&lt;br /&gt;Seeing that I wouldn’t accept the bundling that Tesco was trying to impose on me, Mrs. V decided to direct her harassment not at me: she decided to threaten the employment of Mrs. J, who would “probably lose her job” due to the about £10 (10 pounds) of lost revenue that we have been talking about for more than 0.5 hour already. Since the original discussion was technically over, I couldn’t but notice that if a manager is bad enough to publicly threaten the employment of a person then probably that manager is also bad enough to follow-up on those words. I could just ignore that, and consider that Mrs. V was trying a final “sentimental card” to avoid having to report £10 less revenue in her shift! Yet, I couldn’t play with the job security of Mrs. J, and simply told Mrs. V that I would pay for my duplicate pictures, if she accepted the risk of some bad publicity from this story, which could make her threats turn against her. In her way to be the next VP at Tesco, Mrs. V replied that she couldn’t care less, since she was quite sure that she had done the right thing, despite my references to the fact that an upset customer usually means about £25,000 of lost revenue for a supermarket chain over that person’s lifetime. But that is “future revenue”, whereas Mrs. V now had £10 of certain revenue to report! Well, I hope that Tesco enjoys the additional £10 of revenue, which I recommend to be used to pay for someone to improve the software of their photo booths, before multiple copies of black pictures start to be printed every morning.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-7089055832921738635?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/7089055832921738635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=7089055832921738635' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7089055832921738635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7089055832921738635'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2008/08/tescos-photo-station-vulnerability.html' title='Tesco’s Photo Station Vulnerability'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-8893849194812557385</id><published>2008-08-05T12:23:00.000-07:00</published><updated>2008-08-05T15:18:59.828-07:00</updated><title type='text'>Facing the Mona Lisa Effect</title><content type='html'>Several people already wrote about the Mona Lisa effect, and for those focusing on the real thing, I suggest reading &lt;a href="http://www.guardian.co.uk/artanddesign/2004/oct/19/art.france"&gt;this article&lt;/a&gt;. What I will write about here is the Mona Lisa effect in the software development context: the horde effect of doing what everyone else has done (or is doing) because everyone else has done it (or is doing it), and having to have an opinion about it.&lt;br /&gt;&lt;br /&gt;A few weeks back I experienced myself the Mona Lisa effect. Being in the Louvre, and being totally unable to really see the painting through the crowd in front of it, I decided to turn 180 degrees. While the crowd fought for a convenient place to face the Mona Lisa, I enjoyed the opportunity of being the only one in the room appreciating the beautiful and enormous painting "The Wedding at Cana". In the meantime, I also could perceive that, despite its huge dimensions, and despite of its historical importance, this painting was totally ignored by the crowd in the room.&lt;br /&gt;&lt;br /&gt;Let’s now change topic to what some friends really asked my opinion about: "Agile Software Development". The short answer is: I don’t have an opinion about it. You can stop reading here, since that won’t change, or you can enjoy the long answer below.&lt;br /&gt;&lt;br /&gt;The long answer is: I don’t have an opinion about a lot of things. Long ago, I learned two important things that luckily changed my life for better. First, I don’t have to know everything. Second, I don’t have to have an opinion about everything. Those are rhetorical statements that only become meaningful when you learn not to be embarrassed by not knowing something or not having an opinion about a subject. That avoids giving up to the constant harassment in our society that demands you to "express your opinion" about something, even if you never heard about the subject before.&lt;br /&gt;&lt;br /&gt;That is not the case here: I took some time during the last few years to learn about Agile Development, and also about the debate around it. I read books, papers, and online blogs. I learned the opinions of others, both pro and against Agile Development. I saw lists of companies training their developers on Agile Development, and list of other companies selling such training. I read criticism on Agile Development, and then criticism of the criticism. And then I read criticism of the criticism of the criticism. But that I learned something about a subject doesn’t mean that I have an opinion about it, even if I could. For example, I do have an opinion about the Deoxyribonucleic Acid: I find its name to be very strange.&lt;br /&gt;&lt;br /&gt;In between all my reading, I had very interesting software projects to work on over the last few years. While I kept my mind open about the possibility of using Agile Development, should the team decide on doing that, reality is that each and every project had other priorities. I felt all this time exactly like I felt there in the Louvre: while I was certainly losing something by turning my back at the Mona Lisa, I was really enjoying what I had in front of me. I may have left the room without really "experiencing the Mona Lisa", but I should tell you that I really liked "The Wedding at Cana". I glanced at the Mona Lisa, and I can tell you that it looks a lot like the copies I’ve seen previously. Yet, I cannot give you an honest opinion about it, as I cannot give an opinion about "Agile Development"...yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-8893849194812557385?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/8893849194812557385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=8893849194812557385' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8893849194812557385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8893849194812557385'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2008/08/facing-mona-lisa-effect.html' title='Facing the Mona Lisa Effect'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-7626042745495711336</id><published>2008-07-27T15:12:00.000-07:00</published><updated>2008-07-28T15:40:24.504-07:00</updated><title type='text'>Selfosophy</title><content type='html'>Let's start by making some statements, which will be taken as axioms.&lt;br /&gt;Statement 1: &lt;span style="font-style: italic;"&gt;You can always find a way to reuse some implementation of a software algorithm.&lt;/span&gt;&lt;br /&gt;Statement 2: &lt;span style="font-style: italic;"&gt;You can always rewrite the implementation of a software algorithm.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Because I’ve succeeded in the past with the strategies of both statements 1 and 2, I’m asked from time to time if a team should continue trying to reuse some old code, or if efforts should instead be started to rewrite that implementation. Most of those asking such question then get very disappointed when the answer starts with “It depends”. Yet, that is the problem of most bad questions: they almost never have good and direct answers.&lt;br /&gt;&lt;br /&gt;First, if you need to ask someone, mainly a person outside your team, what to do about a certain software problem, you are making typically at least two mistakes (and those that known me have heard my theory of “mistakes happening in pairs”). First: it is not disrespectful to your team to ask externally for opinions regarding a certain problem, but it is disrespectful to yourself. If you are not in a position of leadership, you are excused: you are probably just venting some frustration. But if you are in a position of leadership then shame on you: your team is looking at you for guidance, and here you are looking outside for guidance. Probably, from the biased and incomplete information that you pass along you are hoping to have a more profound and correct assessment of the situation than that coming from your team members. And you call yourself a leader?&lt;br /&gt;&lt;br /&gt;Secondly, and most importantly, most problems in a software project are not “NP Complete” problems. Typically, a CS intern with the adequate skills and references can solve most problems in a few weeks. If only left alone… Yet, in most situations what happens is that the decision of what to do about certain software task becomes a war of egos, instead of considering its most important aspect: what will happen to the team developing that “software part”.&lt;br /&gt;&lt;br /&gt;If the team will be dismantled and never work together again, then reuse as much as you can, and avoid rewriting at all costs. Never trade old and well-known bugs for new and unknown bugs, mainly if the team that is creating the new bugs will disappear as soon as the project is complete (probably the same that happened to the previous team!). Yet, if part of the project goals is to also “build a team” then start everything from scratch as many times as you have the luxury to do. Every single time the team rewrites a component they will make it better, building on the experience of the previous failures. And that will also help to develop the spirit of “building something together”, what can hardly be achieved in a team doing maintenance in old code.&lt;br /&gt;&lt;br /&gt;Sadly, in most cases a software rewrite starts not to build a new team but just out of laziness to understand the previous code. Typically that is preceded by excuses like: there is no good documentation for the old code. And then code as bad as the previous one is written and… surprise: no documentation is available afterwards also… Worse is when managers try to “save you some time” and make you reuse some inadequate piece of software just when you had the chance to build a team that would probably hold the expertise of the company in a subject for decades. You suddenly have the desire that the books of Selfosophy really existed. Because almost everyone would appreciate reading "How to Be Happy, Even When You Shouldn't."!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-7626042745495711336?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/7626042745495711336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=7626042745495711336' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7626042745495711336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7626042745495711336'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2008/07/selfosophy.html' title='Selfosophy'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-692600804547511503</id><published>2008-07-22T23:57:00.000-07:00</published><updated>2008-07-23T06:26:27.956-07:00</updated><title type='text'>Puzzling Questions</title><content type='html'>Unlike a close friend, I don’t believe that &lt;a href="http://deperto.spaces.live.com/blog/cns%216A4DFC35BFB4DFE0%21414.entry"&gt;puzzle questions are stupid&lt;/a&gt;. What is important is not the question or the answer that a candidate gives you during an interview. The ultimate goal for the interviewer is to identify a candidate with the right potential and attitude for a certain position. And the ultimate goal for the interviewee is to demonstrate such potential and attitude. There are many different means for that.  &lt;p class="MsoNormal"&gt;I once was interviewed for a teaching position at the oldest University in Brazil (UFPR). Part of the interview process was to prepare in 24 hours a class about a topic to be chosen from a long list (that we knew about just at the moment of the drawing). After the drawing, we discovered that the selected topic was &lt;a href="http://en.wikipedia.org/wiki/Dithering"&gt;dithering&lt;/a&gt;, a subject that I particularly like. Never mind the topic: the objective of the class, which would be presented to teachers, not students, was to evaluate the candidates’ ability to be good teachers. I probably have never been in a more “adequate” interview process.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;In my industry experience, one of the main problems that we have is very simple: while a few Universities already teach students on how to be interviewed, I’ve still never heard of Computer Science curriculum including a discipline: How to perform a technical interview. Most of my technical interviews start not with puzzle questions, but with puzzling questions like: Why do you want to work in this company/division/project/etc.? That is so annoying that I can barely speak after such questions. Is that the best “warm up” question the interviewer could think of? Or there was no preparation or thinking at all? (by the way, this example is also in a list &lt;a href="http://www.businessweek.com/careers/content/sep2005/ca20050921_1099_ca009.htm"&gt;inglorious interview questions&lt;/a&gt;)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Let’s consider some “non-puzzle” questions that I’ve really faced:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; What is a COM category?&lt;/span&gt;&lt;br /&gt;I cannot imagine why this is relevant at all nowadays. And if you don’t know this, a COM book will explain to you in 2 hours.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Explain to me the visitor pattern?&lt;/span&gt;&lt;br /&gt;The question is not so bad, but the problem is that it demands people to remember a specific pattern, measuring probably only the competency of “memorization”. For some people with difficulties to remember names, like me, this is similar to asking the dates of Napoleon battles (I probably have a better chance with the second). And, to make things worse, design patterns have at times different subtle differences, and this kind of question can start a discussion about &lt;span&gt;“who better knows it” between the interviewer and interviewee.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; What are the methods of the IUnknown interface?&lt;/span&gt;&lt;br /&gt;Should I rest my case here, or do you need more?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Could you write the high level algorithm for some cryptographic hash function, like MD5?&lt;/span&gt;&lt;br /&gt;Probably the authors of such hash functions cannot do that unprepared! I rest my case…&lt;/p&gt;  &lt;p class="MsoNormal"&gt;What I usually do for an interview loop is very simple: I imagine a new question, and try to answer it. If I can think aloud of a solution in about 15 minutes, then I will use the question. I will give the candidate 25 minutes to answer the question, and also establish clearly in advance which competencies I am going to be looking at while the candidate answers the question. Most times it is easy to measure technical passion, problem solving skills and some logical and/or mathematical knowledge. But you would be surprised by how many other competencies can be measured with a simple puzzle.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Suppose you ask a candidate some kind of &lt;a href="http://en.wikipedia.org/wiki/Knights_and_knaves"&gt;knights and knaves&lt;/a&gt; puzzle. Do I care about the answer? No. The candidate can demonstrate ability to follow-up and really provide results by providing an answer, no matter if it is wrong or right. Candidates can demonstrate to be more “action-oriented” than “results-oriented” by constantly restarting their entire solution when facing any difficulty (instead of possibly asking a question to get further explanation, or making and communicating some assumption that may simplify the problem). And some candidates demonstrate clearly to be frustrated when facing a difficulty, instead of being motivated by the chance to overcome the problem. Do we need more developers at Microsoft frustrated when they uncover that it will not be so simple to fix a bug as they were thinking?&lt;/p&gt;  &lt;p class="MsoNormal"&gt;I’ve recently used a question that can be considered a puzzle, but was as simple as: “&lt;span style="font-style: italic;"&gt;Could you give me the possible differences of time between two cities A and B?&lt;/span&gt;” and I would provide two cities. This may look like demanding too much knowledge of Geography, but the reality is that all that I wanted was to see if the candidate could think about why there would be a difference of time at all, what could affect that (like daylight savings time), and how he or she could come up with a list of the possible time zone differences. It may be a puzzle, but it allowed me to select candidates far better prepared for the reality of software development than just asking about their memorized knowledge of COM categories.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-692600804547511503?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/692600804547511503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=692600804547511503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/692600804547511503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/692600804547511503'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2008/07/puzzling-questions.html' title='Puzzling Questions'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-8088364539339855000</id><published>2008-07-12T02:29:00.000-07:00</published><updated>2008-07-15T13:51:53.838-07:00</updated><title type='text'>Spam Filters</title><content type='html'>I've sent a message to a dozen friends about the beta of a new application that has been under development by the Microsoft Research Cambridge Incubation team. Soon I received a reply from two of them: your message went directly to the spam folder! Had they not the habit of taking a look at the spam folder from time to time my message would be just ignored.&lt;br /&gt;&lt;br /&gt;Yes, the message was not sent from a company email, it included the name of a company, and it included a link for my friends to download the setup file from a Windows Live SkyDrive location. But I'm still puzzled to see that message classified as spam, when I receive without problems (or spam warnings) all those daily messages about viagra, coupons, getting a degree online, getting rich quickly...&lt;br /&gt;&lt;br /&gt;Meanwhile, for all the friends that received the message and may have suspicions: it is a valid message. You can get more details about the research behind the automatic collage of a photo collection &lt;a href="http://research.microsoft.com/vision/cambridge/i3l/AutoCollage/default.htm"&gt;here&lt;/a&gt;, and you can install the beta of the AutoCollage application by getting the setup file from this &lt;a href="http://research.microsoft.com/AutoCollage/"&gt;link&lt;/a&gt;. You can send feedback to me or the alias included in the release notes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-8088364539339855000?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/8088364539339855000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=8088364539339855000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8088364539339855000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/8088364539339855000'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2008/07/spam-filters.html' title='Spam Filters'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-18689779.post-7696214966437763411</id><published>2008-07-07T16:59:00.000-07:00</published><updated>2008-07-07T17:00:14.331-07:00</updated><title type='text'>Mobile Maps</title><content type='html'>When I bought my mobile phone, I got a good discount to also get a GPS and the CoPilot application. That was certainly a good deal at that time, and I was a happy user of both my hardware and software acquisitions for a while. But the problems started first with the software: for some strange reason, even at the time I acquired it, CoPilot had some outdated maps. Then, the unfortunate sequence of hardware failures that I’m having with my mobile phone started. By now, I believe that my mobile phone has some kind of “time bomb” after which it expires: every 4 months the screen goes totally blank, without any apparent reason. At least I mastered the process of going to the T-Mobile store and getting it fixed. But that creates a problem, because when a new phone is back I have to reinstall CoPilot, and then reactivate it. I fully understand why some companies would depend of such activation mechanisms as an important part of their business model. It is nevertheless a hassle to the users, mainly because you usually remember about that just when you finally need the software. That gave me some motivation to try alternative software, mostly based on a different business model.&lt;br /&gt;&lt;br /&gt;Google Maps installation is quite easy, and the application user interface is very easy to use. The Windows Mobile version does not have the “voice” feature that CoPilot has (and I don’t know about other versions). But at least the data is coming from a server, and won’t suffer (at least in my experience) from the problem of being outdated. The interface for searching both addresses and locations is very easy and efficient. I also liked the way you handle “Favorites”, and how easy it was to create a route among those. Other than the issue of having to do a web search to find out the Bluetooth partnership code for the same GPS previously connected to CoPilot (0183) the GPS support was easy to install, and worked fine. There are only two minor issues that I disliked in the Google Maps UI (for the Windows Mobile). The first problem is that the GPS location is just a spot without any orientation in the map, and not centered in the screen. And the complimentary second problem is that routes are indicated by a line without any orientation. If you don’t keep looking at the screen, you soon get lost. And since you cannot really keep looking at a small phone screen while driving…&lt;br /&gt;&lt;br /&gt;The Windows Live support for maps is installed in the Live Search package for mobile devices. Let’s go straight to bad news: I know that probably the business model relies on searching for locations, but is the search for addresses just not implemented? Most of the time it won’t find a perfectly typed address. Just for the fun of testing it, at times I search for a certain hotel, get its address, then search for the address, and it won’t be found! I wouldn’t believe if I hadn’t seen it myself. Other than that, GPS support is also easy to use, and I typically prefer the routes suggested by Live Maps. Also, the GPS position can be centered in the screen, and it is an arrow that clearly indicates which way the car is going. It would help if there were a few simple buttons over the map, like both CoPilot and Google Maps have, for common tasks, like zoom in and zoom out. Having to open a menu to select an item to zoom in is a cumbersome user experience (remember: you are supposed to be driving!).&lt;br /&gt;&lt;br /&gt;Reality is clearly: both Google Maps and Live Maps will get better, and reduce the market even more for applications like CoPilot. Yet, CoPilot is still clearly the better option nowadays, and I just hope that their support will answer my email messages someday soon and give me instructions on how to again activate the software in my new phone (by now, with only 3.5 more months to go!).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18689779-7696214966437763411?l=alissonsol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alissonsol.blogspot.com/feeds/7696214966437763411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=18689779&amp;postID=7696214966437763411' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7696214966437763411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/18689779/posts/default/7696214966437763411'/><link rel='alternate' type='text/html' href='http://alissonsol.blogspot.com/2008/07/mobile-maps.html' title='Mobile Maps'/><author><name>Alisson Sol</name><uri>http://www.blogger.com/profile/05148795434153640233</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
