tag:blogger.com,1999:blog-1067395891046538212024-03-13T09:14:58.183+01:00TechGineer - All technic topics @kvstrienKooZhttp://www.blogger.com/profile/02544370655515078046noreply@blogger.comBlogger15125tag:blogger.com,1999:blog-106739589104653821.post-68044570061205439322018-08-01T10:15:00.001+02:002018-08-01T10:15:31.109+02:00The pendulum<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
When doing research about developing applications on both the Windows Desktop and the Windows Phone environment, the question comes to pass: shouldn't you "just" develop a web application?</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br />
When raising the question whether applications should be hosted on "a server" in "a datacenter", or whether everything should move to "the cloud", it's important to keep in mind that <a href="http://www.biblija.net/biblija.cgi?m=Eccl+1%3A9">nothing´s new under the sun</a>.<br />
<br />
Let me tell you about a pendulum.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Simple_gravity_pendulum.svg/300px-Simple_gravity_pendulum.svg.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Simple_gravity_pendulum.svg/300px-Simple_gravity_pendulum.svg.png" /></a></div>
<br />
<br />
The pendulum is not a myth. It is a fact. From the dawn of computing, there has been one. To put it accurately, there have been many. The pendulum I'm talking about is a pendulum of doing thing <i>local</i> (on your own computer) and <i>on a server </i>(your "local" computer being only the terminal). Sometimes it swings to one side, sometimes to the other. Look at this:</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
</div>
<ul>
<li>During the 60's, every computing action took place on a local computer. <a href="http://archive.computerhistory.org/resources/text/CDC/CDC.160A.1962.102646114.pdf">Those were the days</a>, my friend :-).</li>
<li>During the 70's, mainframe-terminal combinations became the way to go. An enormous leap, because from a regular <i>workplace</i>, you could access those large machines!</li>
<li>During the 80's PC's became powerful enough to do everything themselves</li>
<li>During the mid-90's till the '00s the Web Bubbles showed up. Everything was on the web and should be moved to the web. Google was booming</li>
<li>The '00s: Mobile devices became more powerful (Windows Mobile and Palm - iPhone only appeared in 2007). However the need for synchronization rose, the actual content was stored locally on your phone and PC. (Even with the first iPhone in 2007, this was still the case). Remember TomTom, running on top of PocketPC and having all maps on board?</li>
<li>The '10s (starting around 2008): Although mobile phones became even more powerful, the increasing number of devices per user and the availability of affordable broadband wireless networking lead to a shift back: smartphones started to interact directly with their servers, storing and downloading only the data needed to fulfill the user´s need. The rise of the cloud moved even more applications "back to the server".</li>
</ul>
The pendulum swings. At the extrema, borders are extended. When swinging back, technologies are abandoned - but the good parts remain.<br />
<ul></ul>
KooZhttp://www.blogger.com/profile/02544370655515078046noreply@blogger.com0tag:blogger.com,1999:blog-106739589104653821.post-3271733244134910122014-11-20T15:03:00.001+01:002014-11-20T15:09:14.519+01:00If you ever need to determine daylight saving time in Europe, here's the T-SQL scriptOr, as the Dutch call it, 'zomertijd' and 'wintertijd'<br />
<br />
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">CREATE</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">TABLE</span>
#daylight_saving<span style="color: blue;"> </span><span style="color: grey;">(</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> date_utc <span style="color: blue;">DATETIME</span><span style="color: grey;">,</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> is_dst <span style="color: blue;">BIT</span><span style="color: grey;">,</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> date_cet <span style="color: blue;">DATETIME</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: grey; font-family: Consolas; font-size: 9.5pt;">)</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">INSERT</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">INTO</span>
#daylight_saving<span style="color: blue;"> </span><span style="color: grey;">(</span>date_utc<span style="color: grey;">,</span> is_dst<span style="color: grey;">,</span> date_cet<span style="color: grey;">)</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">VALUES</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: grey; font-family: Consolas; font-size: 9.5pt;">(</span><span style="color: red; font-family: Consolas; font-size: 9.5pt;">'2014-11-20 14:36'</span><span style="color: grey; font-family: Consolas; font-size: 9.5pt;">,</span><span style="font-family: Consolas; font-size: 9.5pt;"> 0<span style="color: grey;">,</span>
<span style="color: red;">'2014-11-20 15:36'</span><span style="color: grey;">)</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: grey; font-family: Consolas; font-size: 9.5pt;">,</span><span style="color: blue; font-family: Consolas; font-size: 9.5pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 9.5pt;">(</span><span style="color: red; font-family: Consolas; font-size: 9.5pt;">'2014-11-20 23:59'</span><span style="color: grey; font-family: Consolas; font-size: 9.5pt;">,</span><span style="font-family: Consolas; font-size: 9.5pt;"> 0<span style="color: grey;">,</span>
<span style="color: red;">'2014-11-21 00:59'</span><span style="color: grey;">)</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: grey; font-family: Consolas; font-size: 9.5pt;">,</span><span style="color: blue; font-family: Consolas; font-size: 9.5pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 9.5pt;">(</span><span style="color: red; font-family: Consolas; font-size: 9.5pt;">'2014-03-30 00:00'</span><span style="color: grey; font-family: Consolas; font-size: 9.5pt;">,</span><span style="font-family: Consolas; font-size: 9.5pt;"> 0<span style="color: grey;">,</span>
<span style="color: red;">'2014-03-30 01:00'</span><span style="color: grey;">)</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: grey; font-family: Consolas; font-size: 9.5pt;">,</span><span style="color: blue; font-family: Consolas; font-size: 9.5pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 9.5pt;">(</span><span style="color: red; font-family: Consolas; font-size: 9.5pt;">'2014-03-30 00:59:59'</span><span style="color: grey; font-family: Consolas; font-size: 9.5pt;">,</span><span style="font-family: Consolas; font-size: 9.5pt;"> 0<span style="color: grey;">,</span>
<span style="color: red;">'2014-03-30 01:59:59'</span><span style="color: grey;">)</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: grey; font-family: Consolas; font-size: 9.5pt;">,</span><span style="color: blue; font-family: Consolas; font-size: 9.5pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 9.5pt;">(</span><span style="color: red; font-family: Consolas; font-size: 9.5pt;">'2014-03-30 01:00:00'</span><span style="color: grey; font-family: Consolas; font-size: 9.5pt;">,</span><span style="font-family: Consolas; font-size: 9.5pt;"> 1<span style="color: grey;">,</span>
<span style="color: red;">'2014-03-30 03:00:00'</span><span style="color: grey;">)</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: grey; font-family: Consolas; font-size: 9.5pt;">,</span><span style="color: blue; font-family: Consolas; font-size: 9.5pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 9.5pt;">(</span><span style="color: red; font-family: Consolas; font-size: 9.5pt;">'2014-10-26 00:59:59'</span><span style="color: grey; font-family: Consolas; font-size: 9.5pt;">,</span><span style="font-family: Consolas; font-size: 9.5pt;"> 1<span style="color: grey;">,</span>
<span style="color: red;">'2014-10-26 02:59:59'</span><span style="color: grey;">)</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: grey; font-family: Consolas; font-size: 9.5pt;">,</span><span style="color: blue; font-family: Consolas; font-size: 9.5pt;"> </span><span style="color: grey; font-family: Consolas; font-size: 9.5pt;">(</span><span style="color: red; font-family: Consolas; font-size: 9.5pt;">'2014-10-26 01:00:00'</span><span style="color: grey; font-family: Consolas; font-size: 9.5pt;">,</span><span style="font-family: Consolas; font-size: 9.5pt;"> 0<span style="color: grey;">,</span>
<span style="color: red;">'2014-10-26 02:00:00'</span><span style="color: grey;">)</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">SELECT</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">CASE</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">WHEN</span> date_utc <span style="color: grey;"><</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: magenta;">DATEADD</span><span style="color: grey;">(</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: magenta;">HOUR</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">,</span> 1<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">,</span> <span style="color: magenta;">DATEADD</span><span style="color: grey;">(</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: magenta;">DAY</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">,</span> <span style="color: grey;">-</span><span style="color: magenta;">DATEDIFF</span><span style="color: grey;">(</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: magenta;">DAY</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">,</span> 6<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">,</span> <span style="color: magenta;">CAST</span><span style="color: grey;">(</span><span style="color: magenta;">YEAR</span><span style="color: grey;">(</span>date_utc<span style="color: grey;">)</span> <span style="color: blue;">AS</span> <span style="color: blue;">char</span><span style="color: grey;">(</span>4<span style="color: grey;">))</span> <span style="color: grey;">+</span> <span style="color: red;">'0331 00:00:00'</span> <span style="color: green;">-- last day of March</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">)</span> <span style="color: grey;">%</span> 7<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">,</span> <span style="color: magenta;">CAST</span><span style="color: grey;">(</span><span style="color: magenta;">YEAR</span><span style="color: grey;">(</span>date_utc<span style="color: grey;">)</span> <span style="color: blue;">AS</span> <span style="color: blue;">char</span><span style="color: grey;">(</span>4<span style="color: grey;">))</span> <span style="color: grey;">+</span> <span style="color: red;">'0331 00:00:00'</span> <span style="color: green;">-- last day of March</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">)</span> <span style="color: green;">-- last Sunday of March</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">)</span> <span style="color: green;">-- last Sunday of March
01:00 UTC = DST start</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">OR</span> date_utc <span style="color: grey;">>=</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: magenta;">DATEADD</span><span style="color: grey;">(</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: magenta;">HOUR</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">,</span> 1<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">,</span> <span style="color: magenta;">DATEADD</span><span style="color: grey;">(</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: magenta;">DAY</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">,</span> <span style="color: grey;">-</span><span style="color: magenta;">DATEDIFF</span><span style="color: grey;">(</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: magenta;">DAY</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">,</span> 6<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">,</span> <span style="color: magenta;">CAST</span><span style="color: grey;">(</span><span style="color: magenta;">YEAR</span><span style="color: grey;">(</span>date_utc<span style="color: grey;">)</span> <span style="color: blue;">AS</span> <span style="color: blue;">char</span><span style="color: grey;">(</span>4<span style="color: grey;">))+</span> <span style="color: red;">'-10-31 00:00:00'</span> <span style="color: green;">-- last
day of October</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">)</span> <span style="color: grey;">%</span> 7<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">,</span> <span style="color: magenta;">CAST</span><span style="color: grey;">(</span><span style="color: magenta;">YEAR</span><span style="color: grey;">(</span>date_utc<span style="color: grey;">)</span> <span style="color: blue;">AS</span> <span style="color: blue;">char</span><span style="color: grey;">(</span>4<span style="color: grey;">))+</span> <span style="color: red;">'-10-31 00:00:00'</span> <span style="color: green;">-- last
day of October</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">)</span> <span style="color: green;">-- last Sunday of October</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">)</span> <span style="color: green;">-- last Sunday of October
01:00 UTC = DST end</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">THEN</span> <span style="color: magenta;">DATEADD</span><span style="color: blue;"> </span><span style="color: grey;">(</span><span style="color: magenta;">HOUR</span><span style="color: grey;">,</span> 1<span style="color: grey;">,</span> date_utc<span style="color: grey;">)</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">ELSE</span> <span style="color: magenta;">DATEADD</span><span style="color: grey;">(</span><span style="color: magenta;">HOUR</span><span style="color: grey;">,</span> 2<span style="color: grey;">,</span> date_utc<span style="color: grey;">)</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">END</span> date_cet_calculated<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">,</span> date_cet<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">,</span> date_utc<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: grey;">,</span> is_dst<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">FROM</span><span style="font-family: Consolas; font-size: 9.5pt;"> #daylight_saving <o:p></o:p></span></div>
<br />
<div class="MsoNormal">
<br /></div>
</div>
KooZhttp://www.blogger.com/profile/02544370655515078046noreply@blogger.com0tag:blogger.com,1999:blog-106739589104653821.post-39518686423151456932011-02-28T12:32:00.003+01:002011-02-28T13:17:19.945+01:00Even older than RaskinAs promised, a post about Fitts's Law - the second post about GUI paradigms.<br />
<br />
Paul Fitts was an Ohio State Univerty psychologist who developed a model about human movement (<a href="http://en.wikipedia.org/wiki/Paul_Fitts">wikipedia</a>). It turned out to be a very accurate and usable model, predicting how fast we (humans) can accurately aim at a target depending on the size and the distance of the target. This model is called Fitts's Law.<br />
<br />
The reason why Fitts's Law became so widely used in GUI design is because it's well applicable to the usage of pointer devices such as the <a href="http://en.wikipedia.org/wiki/Mouse_(computing)">mouse</a> - it predicts, for example, why it's so easy to hit targets that are on the edge of your screen (and even easier to reach targets that are on the corners of your screen). For details, see the (somewhat dated) article on AskTog: <a href="http://www.asktog.com/basics/firstPrinciples.html">First Principles of Interaction Design</a>. Or, for a straight-forward explanation of the impact of Fitts's Law: see Particletree's <a href="http://particletree.com/features/visualizing-fittss-law/">Visualizing Fitts's Law</a>.<br />
<br />
The reason why I post about it is the reason that we're still discovering new ways about <u>how to apply a well-known law from 1954</u>:<br />
- In<b> 1954</b>, Fitts's law was "discovered"<br />
- In<b> 1984</b>, Fitts's Law is used "for real" for the first time (I think) in a Graphical User Interfaces (GUI) with the Apple Macintosh, having a menu bar always on top of the screen which is very easy to target<br />
- In <b>2003</b>, Apple introduced Exposé with Active Screen Corners, making effectively use of these easy-to-use areas to operate functions in your computer<br />
- In <b>2009</b>, Windows 7 was introduced - using the edges for arranging your windows quickly - just smash a window to the top to maximise it, to the left to fill only the half of your screen et cetera.<br />
<br />
That means that, <b>54 years after Fitts developed his model</b> about human movement, <b>we're still finding new ways how to implement it the right way. </b>That's a long time - about 10 generations. And it makes me look forward to what ways we'll find the next 30 years about how to operate touch devices :-)...KooZhttp://www.blogger.com/profile/02544370655515078046noreply@blogger.com0tag:blogger.com,1999:blog-106739589104653821.post-58244847828652099622011-02-25T16:00:00.002+01:002011-02-28T13:18:05.155+01:00About User InterfacesLast week I did some research for a tiny project I'm doing at the University of Amsterdam.<br />
<br />
This project is about the development of User Interfaces through the years. For example, back in olden days your monitor was... well... just a speaker! Imagine a processor running ticking at 8 kHz, and the checksum of the "input bits" being redirected to a speaker. It turns out you get a strange kind of melody. If you were to see a stream of dots passing by at this speed, you wouldn't recognize an unevenness in the pattern. But when one bit is missing, the pitch changes dramatically - so the <i>monitoring</i> proceeded by ear. dr. Gerard Alberts has posted some videos of these early computers but I can't find them right now (so I'll post 'em later).<br />
<br />
Anyhow, while looking for history on User Interfaces I stumbled across the book "<a href="http://en.wikipedia.org/wiki/The_Humane_Interface">The Humane Interface" by Jef Raskin</a>. Ordered it at the university library, and read it last week. It's a really good read, and triggered me by thinking about how User Interfaces are supposed to work. Raskin explores User Interfaces from the viewpoint of humans and human shortcomings (very interesting!). Some human shortcomings (such as the time we need to switch from one task to another) can be exploited by UI's. Read the wiki page, and if you're not convinced, read the book :-). Some of the points Raskin states are (points are from Wikipedia, explanation is mine):<br />
<ul><li>Modelessness. Computers shouldn't be in different "modes" where they react different - for example: using ctrl-c for copying text in one context and ctrl-c for terminating a program in another are different modes where the same action triggers different behavior.</li>
<li>Monotony of design. System / UI designers should figure out the <i>best</i> way to do something, and only implement that one - it confuses users when dozens of options are offered to do one task.</li>
<li>Every action must be <i>undoable. </i>Programmers have known this for long and name it version control ;-). The effect is, however, that save-buttons should be obsolete. A computer should <i>never</i> discard your work. This also diminshes the need for dialog boxes</li>
<li>Elimination of warning screens. People tend to automate tasks, almost making it a reflex to click away a dialog box.</li>
<li>Universal use of text. Icons are okay, but should be accompanied by text so it's obvious what they do</li>
<li>When you stop using your computer, you shouldn't have to wait for booting, but continue with the task where you left off</li>
</ul><div>Especially the <i>undoable </i>functionality struck me. Of course, there will be operations where it's (because of law restrictions) needed to explicitly save things. But still, a computer should simply never, <u>never</u> discard my work! When the lights go off and I turn my computer back on, my work should be still there.</div><div><br />
</div><div><div>This was <b>2000.</b> Eleven years ago - nearly two computer-lifespans (you remember, in 2000 you still played around with Win ME, when you were on Microsoft. The first stable Microsoft-consumer-OS - Windows XP - wasn't even completed at that moment!).</div></div><div><br />
</div><div>What you should know, however, is that Jef Rasking designed the original Macintosh interface. Not all of his ideas were implemented, though. Today the new specifications of Mac OS X 10.7 (Lion) <a href="http://www.apple.com/macosx/lion/">were made public</a>. And imagine what? Three in a row:<br />
<br />
<blockquote><ul><li><b>Auto Save</b> - "Say good-bye to manual saving. Auto Save in Mac OS X Lion automatically saves your work - while you work - so you don’t have to."</li>
<li><b>Versions</b> - Versions records the evolution of a document as you create it. Mac OS X Lion automatically creates a version of the document each time you open it and every hour while you’re working on it. If you need to revert to an older version or retrieve part of a document, Versions shows you the current document next to a cascade of previous versions (...) so you can see how your work looked at any given time. </li>
<li><b>Resume</b> - If you’ve ever restarted your Mac, you know what’s involved. First you save your work, then close all your apps, then spend valuable time setting everything up again. With Resume, that time-consuming process is a thing of the past. Resume lets you restart your Mac — after a software update, for example — and return to what you were doing. With all your apps back in the exact places you left them. In fact, whenever you quit and relaunch an app, Resume opens it precisely the way you left it. So you never have to start from scratch again.</li>
</ul></blockquote>Amazing - ideas from eleven years ago (technically already no problem for over a decade) still inspiring today's computer makers. Of course, Apple will claim this as their invention. We know it isn't, but still they're the first to include the features in consumer-grade OS - makes it (for me at least) worth considerable when buying my next computer..<br />
<br />
Next time I'll digg in some more UI-stuff with <b>Fitts's Law</b> (even older than Raskin)</div>KooZhttp://www.blogger.com/profile/02544370655515078046noreply@blogger.com0tag:blogger.com,1999:blog-106739589104653821.post-43351241587669239792011-02-24T16:00:00.003+01:002011-02-28T13:19:03.601+01:00Twin-platform-development on Silverlight for Desktop and WP7It's been a while since I did my last post. I'm hoping to do more posts several weeks, and become eventually a <em>real active </em>blogger. Just kidding :-).<br />
<br />
From now on, I'll use this blog to posts about my research project (my bachelor's final project). The project will be about developing an application on different devices; whereby the focus of the project will be about the Windows Desktop and the Windows Phone. For me as a Linux-user pretty new, but I'm curious to the stuff Microsoft has to offer! (and for that sentence I will be brought to death before the Open Source Inquisition).<br />
<br />
At the end of the research, I will produce a whitepaper containing advices, best practices and pitfalls about developing on two different devices. Besides, I will deliver a Proof of Concept-application that I will develop myself. My research will be largely based on literature (scientific papers and articles), community content (weblogs, general articles) and written-down experience.<br />
<br />
The next couple of posts will be about my explorings of the Microsoft-universe; if you're interested about my quest and findings: stay tuned!KooZhttp://www.blogger.com/profile/02544370655515078046noreply@blogger.com0tag:blogger.com,1999:blog-106739589104653821.post-78561315748884323682010-10-12T17:39:00.000+02:002010-10-12T17:39:18.005+02:00Windows Phone 7I'm not fully convinced about the Windows Phone 7 ideas, but they have some cool videos really taking on me - one called "Really?" and another called "Season of the Witch".<br />
<br />
The cool thing about the concept is that Windows Phone is not another mobile OS immersing you in its experience. As Steve Ballmer stated: "You get in, out, and back to life." - so the videos are making fun of everyone always everywhere looking at their mobile phones. And they've got a point there. Maybe we have no need for another "beautiful phone" phones using even more of your time. Not another phone that you just "keep using" because it looks so beautiful and works so well. Maybe it's time for phones using less of your time, that don't go in the way of communicating with others, but still let you do the things you want to do.<br />
<br />
Or, maybe it's time for users that can handle priorities. Maybe it's not the phone that needs change. Maybe it's the people and their behaviour, which is not changed by a different type of mobile phone. Even then, the videos are still funny.<br />
<br />
To finish: one quote from the developer videos (announcing the most recent tools available): "Go get 'em. Be inspired, be awesome, stay nerdy" :-).KooZhttp://www.blogger.com/profile/02544370655515078046noreply@blogger.com0tag:blogger.com,1999:blog-106739589104653821.post-34795109201675045712010-10-12T15:14:00.001+02:002010-10-12T15:17:55.770+02:00Android 2.2 - updateOk, so even Android 2.2 isn't a silver bullet ;-).<br />
<br />
After using it for a while, I had to turn of JIT-compiling, because it made my phone .. well .. run <i>slower</i>. The only reason for that I can think of is a lack of internal memory. Binary code simply is larger - and thus uses more memory than bytecode does, and my two year old G1 - being the first Android handset - hasn't that much RAM (around 74 MB, compare that to the myTouch and iPhone 4 having 512 MB).<br />
<br />
Still, it's an amazing system. A state-of-the-art Smartphone OS running quite smooth on quite old hardware. Thumbs up for Cyanogen (and a $10-donation).KooZhttp://www.blogger.com/profile/02544370655515078046noreply@blogger.com0tag:blogger.com,1999:blog-106739589104653821.post-49656037659391122902010-08-15T18:11:00.000+02:002010-08-15T18:11:31.759+02:00Android 2.2 - Android grown mature :)At first, I could hardly believe it - on my two year old (!) G1, I installed a new Android OS and it actually ran <i>faster </i>than any before! After digging in, I could hardly believe another thing - that Google managed to go on for three years with "scripted" apps that knew no compiling... But finally, Android seems to have grown mature.<br />
<br />
Highlight for the moment (running it for only two hours now)<br />
- JIT: speeeeeedy :)<br />
- Gallery - integrates with Picasa, and the "stack peek" we know from the iPad is implemented in a really nice way. Ever been looking at a Photo, and after a while realised that is what floating in 3D while following the direction of your hand? It's a WOW. Two thumbs up for Android - (ok, and for Cyanogen, who makes this available for my old G1)KooZhttp://www.blogger.com/profile/02544370655515078046noreply@blogger.com0tag:blogger.com,1999:blog-106739589104653821.post-52373933877397405652009-04-29T11:59:00.011+02:002009-06-27T14:56:12.774+02:00DefaultismThree decades ago, a software company named Microsoft successfully started to use a new marketing device: the OEM license. With a pre-installed OS on you new-bought PC, users didn't think anymore about which OS to use - the default, pre-installed OS <span style="font-style: italic;">did</span> indeed meet much requirements, so why should you ever take the effort of looking further?<br /><br />Much has changed since then, but one thing has not: users are still using mainly the software bundled with the computer or OS, until it lacks important possibilities or they already have experience with a piece of software not present by default. Of course, I am guilty of this behavior as well: back in the days I was still using Windows, I started using a Linux distro because I was very sure it was better. But I became disappointed: as an unexperienced user, not all peripherals did work right out of the box, and messing with configuration files in Vi is quite difficult if all you ever worked with was Dreamweaver. I didn't start using Linux until I got a smooth working distribution out of the box <span style="font-style: italic;">by default settings (or by few and very easy configuration)</span>. This behavior I call <span style="font-style: italic;">defaultism</span>.<br /><br />Most of the Linux users don't act that way. At least, they think they don't. Because <span style="font-style: italic;">they</span> install an OS that's not bundled with the computer by default. After some playing around with desktop enivronments <span style="font-style: italic;">they</span> start looking around and <span style="font-style: italic;">they </span>start discovering the shell. And more and more <span style="font-style: italic;">they</span> become aware of the powerful possibilities. But this is where it ends for the most people.<br />For most Linux distributions, BASH (the GNU Bourne Again Shell) is default. And it's a pretty good one. It's powerful, relatively easy to use, there is a lot of documentation about it on the internet and - hey, it's <span style="font-style: italic;">default! </span>Sometimes users try other shells like the C shell, the Korn shell, TCSH or ZSH. However, <span style="font-style: italic;">by</span> <span style="font-style: italic;">default</span>, the shells aren't configured the way Bash is<span style="font-style: italic;"></span>. So they experience the shell as "difficult", say it has a "lack of possibilities" or isn't "accessible" enough. All because a decent configuration file is absent.<br /><br />Last months I've become enthusiast about a particular shell - ZSH. But not before I got a useful .zshrc file - the ZSH config file you have to store in your home directory to make it useful. ZSH is much faster than Bash, extremely configurable and available on nearly every Unix-box. Including Mac. Including BSD. Including every Linux distro I've known so far.<br /><br />Right now I discover I'm falling back into defaultism again - all I do is making some minor tweaks to existing zsh config files to get it working my way. I don't dive deep into the zshrc file structure to fine-tune it to my wishes. Again, I'm sticking with default settings.<br /><br />Same story with Vim: I discovered Vim, got used to the basics and became very excited about the ease and efficiency of use. Still I didn't dive into the configuration to make it even more useful. I didn't explore all possibilities but a few - although they're very useful and even now Vim outperforms any other editor I've ever used. But still I stick to <span>defaults</span>.<div><div><br />"Never change a winning team" is well-known, but applied somewhat too easy. I think as computer users, <span style="font-style: italic;">sometimes we don't know whether we're winning or not.</span><br /><br />Definitely, in many cases we know. As a beginning C programmer, I <span style="font-style: italic;">knew</span> I wasn't winning when I din't use Makefiles. As a decent company, you <span style="font-style: italic;">know</span> you're not winning when you don't have a website (Besides, are you decent at all without a website?). But in that case, as soon as you will get the opportunity, you will leap up and make sure the winning gear will be in house - before losing even more.<br />However, sometimes we <i>don't</i> know whether we're winning or not. I never knew I was <span style="font-style: italic;">not</span> winning when I used Linux without using the shell. Until I experienced the advantages. I never knew I was <span style="font-style: italic;">not </span>winning while sticking to Eclipse or gedit. Until I discovered the advantages of Vim. And I'm aware I will be winning when I set applications to my preferences.</div><div><br />Undoubtedly there are improvements out there still unknown to me. Everytime I choose the non-defaultist's way there are. So I got to keep my eyes open for the non-default way to keep winning.<span style="font-style: italic;"></span><br /><br />(P.S. wanna get excited too about ZSH?<br /><span style="text-decoration: underline;"><a href="http://friedcpu.wordpress.com/2007/07/24/zsh-the-last-shell-youll-ever-need/">ZSH: the last shell you'll ever need (Fried CPU)</a><br /></span><a href="http://www.prashblog.com/2008/08/zsh-for-productivity.html">ZSH for productivity (Prashblog)</a><br /><a href="http://aperiodic.net/phil/prompt/">Phil!'s ZSH prompt</a><br /><a href="http://wiki.archlinux.org/index.php/Zsh">ZSH description from ArchLinux wiki</a>)</div></div>KooZhttp://www.blogger.com/profile/02544370655515078046noreply@blogger.com0tag:blogger.com,1999:blog-106739589104653821.post-59792163372827337512008-10-06T15:02:00.006+02:002011-02-28T13:19:31.445+01:00VIM tutorialWe hebben gezien dat veel van jullie nog werken met de editor Kate / Kwrite. Weliswaar zijn deze editors toegankelijk en snel te begrijpen, ze werken voor een programmeur behoorlijk inefficient (bedenk alleen al eens hoe vaak je op de spatiebalk moet rammen tijdens een sessie programmeren of wat een moeite het kost om een loop in z'n geheel te indenten).<br />
<br />
We zouden jullie willen aanraden om VIM te gaan gebruiken. Uiteraard kunnen we jullie niets verplichten, maar VIM heeft voordelen als:<br />
- alles te bedienen met het toetsenbord ZONDER ingewikkelde toetscombinaties (Ctrl-Shift-Alt Z e.d. zul je niet tegenkomen)<br />
- de aanwezigheid van verschrikkelijk geavanceerde functies (waar veel IDEs niet aan kunnen tippen), maar tegelijkertijd het binnen een seconde opgestart zijn en draaiend op de traagste systemen (of over je SSH-verbinding)<br />
<br />
We kunnen hier nog wel even doorgaan met een lofzang op VIM, maar dat doen we niet. We zouden jullie willen aanmoedigen om VIM uit te proberen.<br />
Omdat VIM een kleine drempel heeft om ermee te beginnen, heeft Tim een tutorial geschreven. Deze staat <a href="http://www.science.uva.nl/~vdeurzen/VimInleiding.pdf">hier</a>.KooZhttp://www.blogger.com/profile/02544370655515078046noreply@blogger.com0tag:blogger.com,1999:blog-106739589104653821.post-74646225893659684792008-09-20T00:04:00.004+02:002008-09-20T00:18:12.057+02:00SSH & SCP for Windows -> PuTTYFor those first-year students still on Windows, I'll post two articles.<br /><br />The first one is on how to get the SSH-functionality while you're still running Windows, the second one will be (I hope within a week) to post another article - about migrating to Linux.<br /><br />When you want to access your UvA-home folder and you have only a Windows environment, here's the solution: PuTTY. PuTTY is a program that has the SSH-functionality, and you can simply run it from the Windows-shell (cmd.exe).<br /><br />I won't give too many details over here - just try to download it, you won't have to do any installation (many people carry PuTTY with them on a USB-stick because of that). The PuTTY SCP program is called pscp.<br /><br />Download PuTTY here:<br /><a href="http://www.chiark.greenend.org.uk/%7Esgtatham/putty/download.html">http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html</a><br /><br />(I hope you know how to use a Windows commandline..)KooZhttp://www.blogger.com/profile/02544370655515078046noreply@blogger.com0tag:blogger.com,1999:blog-106739589104653821.post-48588357661012528872008-09-19T15:36:00.012+02:002008-09-20T00:19:11.173+02:00SCP (follow-up to SSH)(If you don't know how to use SSH, first read the previous post)<br /><br />Another post for the first year students of UvA..<br /><br />SSH starts a remote shell, enabling you to work on a computer and have full control while you're on the other side of the world (but also if you're sitting next to it, of course). A little downside is, that you - when you're physically on another pc - cannot access your local pc from within the same shell. To move files to and from remote pc's over a SSH connection, there's another tool in Linux, called SCP.<br /><br />(Before copying anything using scp, you don't have to log in to a ssh server. Of course it is possible to copy anything after logging in, but in that case the "local" file is in reality the "remote" file, and the "remote" file is a file on another "remote" server.<br /><br />Syntax is quite simple if you're used to ssh:<br /><span style="font-family:courier new;">scp user@host:/path/to/sourcefile /path/to/destinationfile</span><br />of course it will work in two directions:<br /><span style="font-family:courier new;">scp /path/to/sourcefile user@host:/path/to/destinationfile</span><br />and, instead of destinationfile you'll also be able to specify a directory:<br /><span style="font-family:courier new;">scp user@host:/path/to/sourcefile /path/to/destinationfolder/</span><br />use of wildcards is also permitted.<br /><span style="font-family:courier new;">scp user@host:/path/to/sourcefolder/* /path/to/destinationfolder/</span><br /><br />So, let's copy a all .txt-files from our UvA-home directory to the directory at the pc I'm now working on:<br /><span style="font-family:courier new;">scp scienceaccount@sremote.science.uva.nl:~/*.txt .</span><br />(the last "." stands for "current directory")<br /><br />Or, copy everything in my UvA-home directory to the directory called "uva_homedir" on the PC I'm right now working on:<br /><span style="font-family:courier new;">scp -r scienceaccount@sremote.science.uva.nl:~/* ~/uva_homedir</span>KooZhttp://www.blogger.com/profile/02544370655515078046noreply@blogger.com0tag:blogger.com,1999:blog-106739589104653821.post-81474044684291463762008-09-19T15:36:00.011+02:002008-09-20T00:18:38.370+02:00SSHA special post just for our beloved first-year students at UvA :).<br /><br />It might well happen that you're at home and while having a beer with your dad (or anyone else) you remember you forgot to e-mail your assignment you was working on to yourself. Trouble. You just planned to finish your assignment tonight, but now you left everything you did at the university!<br /><br />Well, I got some good news for ya: SSH.<br /><br />On any Linux-pc with a working internet connection, just open a shell and type:<br /><br /><span style="font-family:courier new;">ssh user@host</span><br /><br />to open a secured remote shell (where user has to be the user to log in on the remote pc, and host has to be the address of the remote pc).<br /><br />In case of the University of Amsterdam, user will be your science-account, and host will be sremote.science.uva.nl, so:<br /><br /><span style="font-family:courier new;">ssh scienceaccount@sremote.science.uva.nl</span><br /><br />After connecting (this will take about half a minute) you'll be welcomed by the FNWI welcome screen, and asked for your password. While you type in your password, the cursor will NOT move - this is default on UNIX shells.<br /><br />After logging in, you'll get your bash shell and can access all your files directly. However, the policy of the sremote server requires us to ssh from there to a physical pc - no calculations are allowed at the sremote server (some people have been banned for that).<br /><br />So, after logging in, choose a pc (ow124, ow125, .. ow141 and so on) and type:<br /><br /><span style="font-family:courier new;">ssh ow124</span><br /><br />(because you are already logged in, your current username will be used, and because you're on an internal network you don't have to specify a domain name or something).<br /><br />From that on, you can perform everything you can on a UvA-PC. Even running graphical programs (nautilus, firefox, try it!).<br /><br />If the graphical part doesn't work, give SSH the parameter -X (capital x). This will enable X forwarding.<br /><br />If you're in a Gnome Desktop Environment, you can also select "Connect to Server.." from the "Places" menu. Login credentials:<br />Service type: SSH<br />Server: sremote.science.uva.nl<br />Port: (default, leave empty)<br />Folder: (default, leave empty)<br />User name: Your science account user name<br />Name to use for connection: Be creative :).<br /><br />After clicking "connect" you will be asked for your password. Now you have your SSH connection integrated in Nautilus!Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-106739589104653821.post-57050232375547697842008-02-16T20:19:00.000+01:002008-02-23T14:07:18.590+01:00Opening your VAIO - part 2My SONY VAIO notebook. In the previous post you can read something of my not-working keyboard, so now I have to open it again.. While taking some photos of course :-).<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpGbfkFKWoew-JSK82LXjTXChte7Th8VaIivXtnhiXuyrXUJq8FNJW9yDsbrZFZ3cMqT6rShSaF1dN7K1nA4MjAQyuny5_zB4bpazmzq48PgCbac_gbQtOYn2XrUoskA-JQt4fwm_HLi9O/s1600-h/1.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpGbfkFKWoew-JSK82LXjTXChte7Th8VaIivXtnhiXuyrXUJq8FNJW9yDsbrZFZ3cMqT6rShSaF1dN7K1nA4MjAQyuny5_zB4bpazmzq48PgCbac_gbQtOYn2XrUoskA-JQt4fwm_HLi9O/s200/1.JPG" alt="" id="BLOGGER_PHOTO_ID_5167356205474499954" border="0" /></a><br />The first thing we have to take off is the battery.<br />To access anything inside the laptop, we first have to remove silver panel just above the keyboard - because some of the screws are beneath that panel.<br />To take this panel off, take out all screws on the red marked positions (at the image, not on your laptop - unless you've marked them red yourself like I did).<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWugGFd3qdlDHA9vKLq56QBT9PIMPyueZR78zlSDP212r3eUTjAFtvsA8427AKEMSJRLUuuYNKevg0Orh6jSKP2BeHYbvLSzPzbe-48Q1kuaHIjaYoP28wd3iDVLAm9AwiivjRihFkK4hS/s1600-h/2.JPG"><img style="margin: 0px auto 10px; display: block; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWugGFd3qdlDHA9vKLq56QBT9PIMPyueZR78zlSDP212r3eUTjAFtvsA8427AKEMSJRLUuuYNKevg0Orh6jSKP2BeHYbvLSzPzbe-48Q1kuaHIjaYoP28wd3iDVLAm9AwiivjRihFkK4hS/s200/2.JPG" alt="" id="BLOGGER_PHOTO_ID_5167356561956785538" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXjXo7sH6I45D6kai-gIN9YtOPaFudS7kfIsRnSFQ4XAXk2D1q4w1s4rD-_AG3IxW28aA5yuzY8Zx2CMJ34weZE8QpJkPR7L68dwVCfhpLh3JaCWdg85QVdG2wj-V5zgdEg9x41e1Dhvfx/s1600-h/3.JPG"><img style="margin: 0px auto 10px; display: block; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXjXo7sH6I45D6kai-gIN9YtOPaFudS7kfIsRnSFQ4XAXk2D1q4w1s4rD-_AG3IxW28aA5yuzY8Zx2CMJ34weZE8QpJkPR7L68dwVCfhpLh3JaCWdg85QVdG2wj-V5zgdEg9x41e1Dhvfx/s200/3.JPG" alt="" id="BLOGGER_PHOTO_ID_5167357236266651026" border="0" /></a><br />Now take out the DVD drive. This is because there's a tiny bracket positioned over there - if you don't release it, the front panel won't come off<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc3h-8HyORRyHMyv8MNzzKFwN8uUwOXoCFJWV17QN7J588Q7PR9fSQOgkGbgqQYIH3LnF1GSt0XPIfdA8Y-5X_Uenl8x0K0446ifLPS25AkOg7YwMTqyJfyWgkqLw2hVTPEe9Dd0jeXTNw/s1600-h/4.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc3h-8HyORRyHMyv8MNzzKFwN8uUwOXoCFJWV17QN7J588Q7PR9fSQOgkGbgqQYIH3LnF1GSt0XPIfdA8Y-5X_Uenl8x0K0446ifLPS25AkOg7YwMTqyJfyWgkqLw2hVTPEe9Dd0jeXTNw/s200/4.JPG" alt="" id="BLOGGER_PHOTO_ID_5167357575569067426" border="0" /></a><br />The tiny bracket. Push it away with a small screwdriver.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjmOXlP8qn7T8l9rVglE4Hdjm6fXwVr6VymOZwR_TSdBFRzUZOwzXTe0lGkMV-5xIIbidv2gA0Rpc-HZF8FVxHx8NuprzwQbmtyw6DGYbDCeWY7oIjbC_XeKkEQU2FaFj1MWnfhyphenhyphenREV2Ie/s1600-h/5.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjmOXlP8qn7T8l9rVglE4Hdjm6fXwVr6VymOZwR_TSdBFRzUZOwzXTe0lGkMV-5xIIbidv2gA0Rpc-HZF8FVxHx8NuprzwQbmtyw6DGYbDCeWY7oIjbC_XeKkEQU2FaFj1MWnfhyphenhyphenREV2Ie/s200/5.JPG" alt="" id="BLOGGER_PHOTO_ID_5167357859036908978" border="0" /></a><br />Now, take that small screwdriver again, to push away some more brackets. Try to find them (it's quite easy if your screwdriver isn't too large and you are careful) and release them with a "click". When the front panel is no longer fixed on the front side, it's time for the next step.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioES8PCyhJBHqvC9LYo7jqybRhp5AVK0B4cGe7reOCEriU_A14iWgTutiwxohyqwUxA3zwI3yCa84GDMmae-AsQswtEt8joMnrliyqq7YH9cPMYaHqncNDiQXSsavLqKEDPILLjJ8RGI1n/s1600-h/6.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioES8PCyhJBHqvC9LYo7jqybRhp5AVK0B4cGe7reOCEriU_A14iWgTutiwxohyqwUxA3zwI3yCa84GDMmae-AsQswtEt8joMnrliyqq7YH9cPMYaHqncNDiQXSsavLqKEDPILLjJ8RGI1n/s200/6.JPG" alt="" id="BLOGGER_PHOTO_ID_5167358176864488898" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7LuYuz4N-IWDJlqnjljnnTIP-ZdDJ91xp82YH6YhvtldhScWN7BQlTm1HkcgtbLHyfZm1pVns0f6yptX5dRNQ-3uTgpsVAanNhfJRCFxZF2CoRQ_0Er2GWQI3aHF9ShXXc4vfshKAi2dj/s1600-h/7.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7LuYuz4N-IWDJlqnjljnnTIP-ZdDJ91xp82YH6YhvtldhScWN7BQlTm1HkcgtbLHyfZm1pVns0f6yptX5dRNQ-3uTgpsVAanNhfJRCFxZF2CoRQ_0Er2GWQI3aHF9ShXXc4vfshKAi2dj/s200/7.JPG" alt="" id="BLOGGER_PHOTO_ID_5167358181159456210" border="0" /></a><br />At the back side of the front panel, there are more brackets - I've marked them on these photos. Be careful! Maybe you've to change the position of the laptop screen a few times to release the front panel totally. This I find the most difficult point myself.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5iGUTStj071Aa3SVjpnx7Bx8v4Gvhz6LCxUHmnm0aqSD6vrS4z35wxUnNd4Ts0mHTLoVKtj9ogw_yaR5FuedNNh4IZ35ykzz-lERHlDPmRoA3qc4pzRVCoYfNOHvu7-ntcXDlEf1LlZcP/s1600-h/9.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5iGUTStj071Aa3SVjpnx7Bx8v4Gvhz6LCxUHmnm0aqSD6vrS4z35wxUnNd4Ts0mHTLoVKtj9ogw_yaR5FuedNNh4IZ35ykzz-lERHlDPmRoA3qc4pzRVCoYfNOHvu7-ntcXDlEf1LlZcP/s200/9.JPG" alt="" id="BLOGGER_PHOTO_ID_5167359456764743138" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlivvOUTJdRV8fzbf78xEUMuXEz5MjDRcD1rUH5OLfadX5DOADQswz-flYXi9450qIctF8Wo4mXjXXDCqA21UHJRc7FoRkpJhsDy-At84RDfB4c4OPz7TQZvoLMJW0rk_lwzeaSAscDPCi/s1600-h/8.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlivvOUTJdRV8fzbf78xEUMuXEz5MjDRcD1rUH5OLfadX5DOADQswz-flYXi9450qIctF8Wo4mXjXXDCqA21UHJRc7FoRkpJhsDy-At84RDfB4c4OPz7TQZvoLMJW0rk_lwzeaSAscDPCi/s200/8.JPG" alt="" id="BLOGGER_PHOTO_ID_5167359461059710450" border="0" /></a><br />The front panel's off! In order to remove the keyboard, only three more screws need to be removed. The first two are just on the place where the front panel used to be.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilaybZZnlMQO6Lc1Rhim4L-ineOQpFA6FQjI8YHthTaBZTP3Iuw5Vu2WF-j0dcyn-Epq9zvYkS2N8uG-vu-Kxl8aynID_VMVvmdlM8LUzNSLHq1WfSw_ou62CuUxwl_f_bRrQTcKcRxna9/s1600-h/10.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilaybZZnlMQO6Lc1Rhim4L-ineOQpFA6FQjI8YHthTaBZTP3Iuw5Vu2WF-j0dcyn-Epq9zvYkS2N8uG-vu-Kxl8aynID_VMVvmdlM8LUzNSLHq1WfSw_ou62CuUxwl_f_bRrQTcKcRxna9/s200/10.JPG" alt="" id="BLOGGER_PHOTO_ID_5167359920621211138" border="0" /></a>The third one is on the other side. Remove the cap protecting your memory modules (that's the one in the center) and in the upper right corner of there's our final screwed friend.<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMoYovApUXm2brYYDC490peBT39sMgYiTsTjn4wBtWuzJKGBufr1o5P3Tx1rTnT-Uh7ykvUtI6OWtaZWDozk7-KDs3Gy67Y-f2idd6e42nJKFRQyUlZdY-mn2YeQXH9Og4YgRPyvvxA_w0/s1600-h/11.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMoYovApUXm2brYYDC490peBT39sMgYiTsTjn4wBtWuzJKGBufr1o5P3Tx1rTnT-Uh7ykvUtI6OWtaZWDozk7-KDs3Gy67Y-f2idd6e42nJKFRQyUlZdY-mn2YeQXH9Og4YgRPyvvxA_w0/s200/11.JPG" alt="" id="BLOGGER_PHOTO_ID_5167359924916178450" border="0" /></a><br />Now the keyboard should be free! You can take it off - be careful with the cable (it's long enough, but anyway). Maybe in another post I'll show how to open the rest of the notebook, but I think this will be enough for today.<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxZ-iCwHOZ5nrleZsd_dJGYYQgzzPnJyoeUd3xgC0UFNYSHC-dm1ztvAUXn4aKCD3F3ATsOWfxGREZUcTav3LhiGC_gActKTkhfAbkHuMTG1TjYR32X6HJzQPr7x7v40sUDEk4895HQ5w7/s1600-h/12.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxZ-iCwHOZ5nrleZsd_dJGYYQgzzPnJyoeUd3xgC0UFNYSHC-dm1ztvAUXn4aKCD3F3ATsOWfxGREZUcTav3LhiGC_gActKTkhfAbkHuMTG1TjYR32X6HJzQPr7x7v40sUDEk4895HQ5w7/s200/12.JPG" alt="" id="BLOGGER_PHOTO_ID_5167359924916178466" border="0" /></a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-106739589104653821.post-51202336489745335472008-02-15T21:40:00.000+01:002008-02-23T14:06:16.989+01:00Opening your VAIO - part 1A while ago, when trying to install certain version of Mac OS X Leopard on my VAIO-FZ19VN notebook (OSX86), I read somewhere that my Intel wireless network card would not work in Mac OS X, but according to some people on the net it should be easy to replace.<br /><br />And I got myself two notebooks over here! No, that's not because I have too much money, and no, it's not a PC and a Mac, alas.<br />My second notebook, an HP laptop, I bought second hand from my mother. She used it for about 1,5 year and about that time errors began to happen. Strange lines across the screen, and the system hanging time after time. Nowadays, I even can't install Windows - only some Linux-versions will boot in this strange machine. But it HAS a wireless network card - Broadcom,<span style="font-style: italic;"> </span>so it should work under Mac OS X.<br /><br />It was not very difficult to open my VAIO, if I had known how. Anyway, I figured it out without damaging my notebook.<br />Once it was open, it became clear that the slot containing the network card in the VAIO was different from the slot in the HP, so I had to put the whole laptop back together, without any changes made.<br /><br />Next day, when I was entering in the minutes at a meeting, some of the keys on my keyboard stopped working. So I had to substitute each "r", "u", "f", "j" - and some other keys.<br />And I had to open my notebook again - my keyboard cable was not connected properly.<br />This second time opening my notebook, I've taken some photos for all VAIO users out there who want to open their laptops for one or another reason. I'll post them in my next postUnknownnoreply@blogger.com0