tag:blogger.com,1999:blog-77359772827921440142024-03-16T09:56:49.341-07:00/egilhLearning By Doing/egilhhttp://www.blogger.com/profile/07640311410701852519noreply@blogger.comBlogger384125tag:blogger.com,1999:blog-7735977282792144014.post-42381874127290558432022-08-18T05:31:00.003-07:002022-08-18T05:31:39.201-07:002022 - 07 - 17 - Peru - Lima<p><span style="font-family: verdana;">The initial idea for our three week Peru trip was to do everything ourselves and plan bus, trian, taxi whatever on a day to day basis like we usually do, but in the end we ended up using <a href="http://www.PeruHop.com/">http://www.PeruHop.com/</a> for most of our travel needs and we couldn't have be happier. </span></p><p><span style="font-family: verdana;">PeruHop has different "hop on hop off" experiences where you pay for the end to end trip and spend as much time as you want in each stop. We went for the Lima - La Paz - Cusco trip and booked a return flight with </span><span style="font-family: verdana;">Viva Airlines from Cusco to Lima.</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtlJfgNHmWhuZnOCGqrWcgkDiAA3KUcVQBP_A60duz1LxoEHQXXdHQW_ay0NL3k1mFpS_7T4f4MhfVMJSmwl0PZHbDzjP_k3vsp93oKG6ilswVgMahKRImC-PN3i7wWymO8QIvFM6ykrXknjvtON53bQn1xAvU_ghLu6QSeeTWKWk6Yerhc0aEBCaiAw/s849/new-lima-to-la-paz-to-cusco.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="714" data-original-width="849" height="483" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtlJfgNHmWhuZnOCGqrWcgkDiAA3KUcVQBP_A60duz1LxoEHQXXdHQW_ay0NL3k1mFpS_7T4f4MhfVMJSmwl0PZHbDzjP_k3vsp93oKG6ilswVgMahKRImC-PN3i7wWymO8QIvFM6ykrXknjvtON53bQn1xAvU_ghLu6QSeeTWKWk6Yerhc0aEBCaiAw/w574-h483/new-lima-to-la-paz-to-cusco.png" width="574" /></a></div><br /><p><span style="font-family: verdana;">The first day in Lima was a bit of a shock, even after living in a reasonably "crowded" city like Milan. <a href="https://www.airportexpresslima.com/" target="_blank">https://www.airportexpresslima.com/</a> was recommended by every source we found to go from the airport to the city centre but they shut down in mid July. </span><span style="font-family: verdana;">After seeing the warnings of </span><a href="https://en.wikipedia.org/wiki/Express_kidnapping" style="font-family: verdana;" target="_blank">express kidnappings</a><span style="font-family: verdana;"> we ended up booking a taxi in the airport which cost more than negotiating a price with a taxi driver.</span></p><p><span style="font-family: verdana;">One of the first things I do when visiting a new country is go to a local supermarket so see what they sell. I was surprised to see that they sold a typical Italian Christmas sweet "<a href="https://en.wikipedia.org/wiki/Panettone" target="_blank">Panettone</a>" in what would be the middle of summer for us:</span></p><p><span style="font-family: verdana;"></span></p><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdpY2Cm7UQRR4QIK9KDHYOhb3AzbQDW4LQ6LvGGUbxVlc5lRWtKIcMl7-waS-hpKUf2PbwDwwSR2-67JBjuHjXB56FT8dSJG0EGuPGEgmeaNWTr_pjODylMy8XnKtdEILPTxlJx1gerSxPILlsAc7j0vbeEXJjnFtPdI4lh_Pn2K6ZzkHheOBGchBwmg/s4032/PXL_20220717_003242662.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3024" data-original-width="4032" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdpY2Cm7UQRR4QIK9KDHYOhb3AzbQDW4LQ6LvGGUbxVlc5lRWtKIcMl7-waS-hpKUf2PbwDwwSR2-67JBjuHjXB56FT8dSJG0EGuPGEgmeaNWTr_pjODylMy8XnKtdEILPTxlJx1gerSxPILlsAc7j0vbeEXJjnFtPdI4lh_Pn2K6ZzkHheOBGchBwmg/w611-h458/PXL_20220717_003242662.jpg" width="611" /></a></span></div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><br /></span></div><div class="separator" style="clear: both; text-align: center;"><span style="font-family: verdana;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">We soon learned that Peruvians <b>love</b> sweet stuff. <a href="https://en.wikipedia.org/wiki/Inca_Kola" target="_blank">Inka Kola</a> is probably the best example. It's extremely sweet, tastes like bubblegum and people have it with food instead of water, beer or wine. </span></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEaDm_Y0FRtWo4LhOST-a8ZlBSbSJ0lhrQO3Z7ka3ma5XKjLf3Wmbep5lx8685ObUV4VX-aPHdIJG5jgMyuoFmvQg4nPPtNtfodkJDE7bALAsi2OU3RV3F3H2dH7PVrPQjie6sShWTVtvmwTSK-SANQ4Ksg0fLE1bwknNGl-AaE4dgOwFjWOAH1sN34Q/s1000/inca-kola.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEaDm_Y0FRtWo4LhOST-a8ZlBSbSJ0lhrQO3Z7ka3ma5XKjLf3Wmbep5lx8685ObUV4VX-aPHdIJG5jgMyuoFmvQg4nPPtNtfodkJDE7bALAsi2OU3RV3F3H2dH7PVrPQjie6sShWTVtvmwTSK-SANQ4Ksg0fLE1bwknNGl-AaE4dgOwFjWOAH1sN34Q/s320/inca-kola.jpeg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;">The <a href="https://goo.gl/maps/fr79f81tFtU3r9Tb8" target="_blank">tourist info in Miraflores</a> was excellent and we bought a <a href="https://perusim.com/">Peru SIM</a> and booked a free walking tour of Lima. In retrospect we didn't need the Peru SIM as <a href="https://fi.google.com/" target="_blank">Google Fi</a> gave better coverage and speed and worked in Bolivia and Colombia as well. The Motorola G8 Power battery life is also way better than the Alcatel - MW40V 4G router we used with the local SIM.</span></div><br /><span style="font-family: verdana;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: verdana;"><br /><br /></span></div><span style="font-family: verdana;"><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /> </span><p></p>egilh - Learning By Doinghttp://www.blogger.com/profile/02735065945309943689noreply@blogger.com3tag:blogger.com,1999:blog-7735977282792144014.post-65089657277224223682022-08-17T08:35:00.000-07:002022-08-17T08:35:22.635-07:00I'm back (sort of)<p><span style="font-family: verdana;">It's been way too long since I wrote anything here. I can't really cover what I do at work so I'm pivoting to cover other topics that interest me like travel and photography. </span></p><p><span style="font-family: verdana;">If all goes as planned I'll publish a post every day or so about my trip Peru this summer. </span></p>egilh - Learning By Doinghttp://www.blogger.com/profile/02735065945309943689noreply@blogger.com7tag:blogger.com,1999:blog-7735977282792144014.post-40645852284676758822016-04-27T14:36:00.000-07:002016-04-27T14:36:23.456-07:00Fellow early birdIt was a great morning to get some exercise.<br />
<br />
<a href="https://www.google.com/maps/@45.5421954,9.2093665,15z">Parco Bresso</a> ~7am<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvMtJMEo3KahHHrFNpBqM-R2AjKz-aEix5yubPRMcMQNIW481bo09UxGe5SlMpv6mRIl036xtjSMMKnyXgUvdrXh2g-46yBaCHitu2TsJ6ZKWB743kmTEIC2_bgzt-_VYO7gwDTfkavxLy/s1600/IMG_0630.JPG" imageanchor="1"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvMtJMEo3KahHHrFNpBqM-R2AjKz-aEix5yubPRMcMQNIW481bo09UxGe5SlMpv6mRIl036xtjSMMKnyXgUvdrXh2g-46yBaCHitu2TsJ6ZKWB743kmTEIC2_bgzt-_VYO7gwDTfkavxLy/s640/IMG_0630.JPG" width="640" /></a>egilh - Learning By Doinghttp://www.blogger.com/profile/02735065945309943689noreply@blogger.com6tag:blogger.com,1999:blog-7735977282792144014.post-11452566209452629282013-03-04T14:17:00.002-08:002013-03-04T14:17:31.068-08:00Bye, bye Linate as a motorbike friendly airportOne of the things I really liked about <a href="http://www.milanolinate.eu/">Milan Linate airport</a> was the free motorbike parking next to the checkin area. I have saved a lot of time, and money, over the years by going by motorbike.<br />
<br />
That changed last year when they "upgraded" the free area with subpar asphalt which made motorbikes fall over:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6h4HiXUZdLzQOp7ehhGjMyQ5HdVH5lxl89AmbmJdlZspCPSzpc8ayxdoqawEsdvItHdfu26XR2u7FetqYtap1TcYiVuFG1Sp1zYiPVSta1IRXhoMMG031IgmENqHC0OKBsFRZWq7-fAV7/s1600/IMG_20120709_101932.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6h4HiXUZdLzQOp7ehhGjMyQ5HdVH5lxl89AmbmJdlZspCPSzpc8ayxdoqawEsdvItHdfu26XR2u7FetqYtap1TcYiVuFG1Sp1zYiPVSta1IRXhoMMG031IgmENqHC0OKBsFRZWq7-fAV7/s400/IMG_20120709_101932.jpg" width="400" /></a></div>
<br />
It's weird, but it's cheaper to fly London and back than to go to the airport and back by taxi or park your motorbike for a business trip...egilh - Learning By Doinghttp://www.blogger.com/profile/02735065945309943689noreply@blogger.com10tag:blogger.com,1999:blog-7735977282792144014.post-63952132654230510972012-10-28T07:22:00.002-07:002012-10-28T07:22:45.817-07:00Arduino Halloween<br />
Had fun with the kids yesterday preparing for Halloween<br />
<br />
Ingredients:<br />
1 pumpkin<br />
1 recycled Happy Meal toy (I think)<br />
1 Arduino Duemilanove<br />
1 distance sensor<br />
3 yellow LEDs<br />
3 red LEDs<br />
2 blue LEDs<br />
1 9V battery<br />
1 300 Ohm resistor<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVIQuZU8NAT4cWhV0SdcTOD7-VcuycvgSb2-3a2-Au0OXvW-aShrSN3vVZqlbZKxIdRrPQ2bdn5g3Iq8iBFa7Rja1NlR-8kSL_jcSFgr1Mjq9-6imdmdfu62gMR5Y1kqPVWxv7qWbRsKkn/s1600/IMG_20121028_144326.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVIQuZU8NAT4cWhV0SdcTOD7-VcuycvgSb2-3a2-Au0OXvW-aShrSN3vVZqlbZKxIdRrPQ2bdn5g3Iq8iBFa7Rja1NlR-8kSL_jcSFgr1Mjq9-6imdmdfu62gMR5Y1kqPVWxv7qWbRsKkn/s320/IMG_20121028_144326.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dzc2IUwRnfXp78k6bZiMCDpiGVAn4Sl554Jua3NJvxwXCn0-mAfZ65hsV2C6smzCAIKr_J36_UBWfw5aEobgQ' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<br />
egilh - Learning By Doinghttp://www.blogger.com/profile/02735065945309943689noreply@blogger.com7tag:blogger.com,1999:blog-7735977282792144014.post-5221646369185139332012-10-09T14:09:00.002-07:002012-10-09T14:09:31.187-07:00I love hacker friendly toysMy old <a href="http://blog.egilh.com/2011/11/nabaztag-is-dead-long-live-nabaztag.html">Nabaztag</a> was the first victim. This time it's the turn of a Nerf Blaster clone:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0UI07yzqxIAtnNRH3BxlVvHqX_77HxDfu6-lnIJ4H4fQ3ML61y-gLHSRBVP2So1Hni3r3H-6dawKsJHpCfr3ncel50J0bIbFvm68CeTSSwx4tA5mfKxZo8VY35bB4oTtUlyjqRZn9ShTt/s1600/IMG_20121009_221007.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0UI07yzqxIAtnNRH3BxlVvHqX_77HxDfu6-lnIJ4H4fQ3ML61y-gLHSRBVP2So1Hni3r3H-6dawKsJHpCfr3ncel50J0bIbFvm68CeTSSwx4tA5mfKxZo8VY35bB4oTtUlyjqRZn9ShTt/s400/IMG_20121009_221007.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
After removing some standard Phillips screws, I got exactly what I wanted:</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul>
<li>The orange "launch" module in the bottom left of the picture. It's a standalone piece that's originally powered by 3 AA batteries but should work fine on a Arduino friendly 5V (or higher :-). Even the mounts can be recycled for the project I'm working on.</li>
<li>The orange "piston" at the top of the picture. I had a simpler design in mind but this one is more compact so it will work even better.</li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: left;">
I bought this toy in a local store but I usually go to the <a href="http://www.survivemilano.it/2011/mercati/grande-mercato-dell%E2%80%99usato-a-cormano/">flea market in Cormano</a> where I can pick up a R/C car / toy without remote control for a few euros. Way cheaper than buying individual components like wheels, engines, and electrical components piece by pice.</div>
<br />
Photos / video of the final project should be available "soon".egilh - Learning By Doinghttp://www.blogger.com/profile/02735065945309943689noreply@blogger.com31tag:blogger.com,1999:blog-7735977282792144014.post-45411986720332348482012-08-13T07:45:00.000-07:002012-08-13T07:45:36.245-07:00How to configure WiFi connection on a HP F4580<i>Just a note to myself as I wasted more time than I should have fixing this.</i><br />
<br />
I recently changed the WiFi access credentials and my <a href="http://h10025.www1.hp.com/ewfrf/wc/product?cc=us&lc=en&dlc=en&product=3944758">HP F4580</a>, obviously, stopped working. Neither the Mac nor the Windows drivers I had let me edit the WiFi settings but I finally found a way to reset the WiFi configuration:<br />
<br />
<ul>
<li>Turn on the printer</li>
<li>Click and hold down the Cancel button</li>
<li>Click and release the WiFi button</li>
<li>Release the Cancel button</li>
</ul>
<div>
This creates a ad hoc network called hpsetup that you can connect to via WiFi to configure the router.</div>
egilh - Learning By Doinghttp://www.blogger.com/profile/02735065945309943689noreply@blogger.com30tag:blogger.com,1999:blog-7735977282792144014.post-33953491787777612762012-03-09T15:50:00.004-08:002012-03-09T15:59:48.081-08:00Android table rover<a href="http://youtu.be/c1dJ85J35l0">This guy</a> is the reason is the reason I haven't gotten any more work done on my <a href="http://blog.egilh.com/2011/11/nabaztag-is-dead-long-live-nabaztag.html">Android powered rabbit</a>.<br />
<br />
I started off using 3 <a href="http://www.maxbotix.com/products/MB1000.htm">MaxBotix MB1000</a> sensors (downwards left, forward, downwards right). The forward sensor always worked pretty well but I had problems getting fast and accurate readings from the sensors pointing downwards. Without calibrating the sensors (making sure they were pointed away from any object) I got results that where to inaccurate to use for table top navigation.<br />
<br />
Tonight I tried the <a href="http://www.hobbytronics.co.uk/sharp-distance-sensor-10cm?keyword=gp2y0d810">Sharp GP2Y0D810 sensor from hobbytronics</a> which makes a huge difference. It's lightning fast and it has a small red LED which is lit when there is an object within a 2-10 cm range which is a great help for debugging. The sensor may be less versatile then the MaxBotix sensor as it only gives a true/false result for a limited range but, in my experience, it's fast, accurate and developer friendly which I exactly what I need. It also cost a lot less :-)<br />
<br />
The rover in the <a href="http://youtu.be/c1dJ85J35l0">video</a> is using two Sharp GP2Y0D810 sensors pointing downwards and a MaxBotix MB1000 for obstacle detection.<br />
<br />/egilhhttp://www.blogger.com/profile/07640311410701852519noreply@blogger.com4tag:blogger.com,1999:blog-7735977282792144014.post-86393459084721229542012-02-15T12:42:00.001-08:002012-02-15T12:42:15.982-08:00ICSI Netalyzr comparison of SiADSL and Tiscali<span style="font-family: inherit;">I'm in the process of migrating from <a href="http://www.siadsl.it/">SiADSL</a> to <a href="http://abbonati.tiscali.it/">Tiscali</a> for my home ADSL connection. I have been very happy with SiADSL but I need more bandwidth in upload for video conferences, i.e. Google+ Hangouts with extras. The increase from 7Mb/512kb to 20Mb/1Mb should make a significant difference.</span><br />
<span style="font-family: inherit;"><br /></span><br />
<span style="font-family: inherit;">I heard from <a href="http://www.bordoni.org/">Michele</a> that Tiscali blocks some ports so I wanted to have a record of the differences between the two provider in case I had problems. <a href="http://www.blogger.com/goog_252597060">N</a></span><a href="http://netalyzr.icsi.berkeley.edu/">etalyzr</a> to the rescue! It can run as a Java Applet or as a command line client for the more security conscious. It takes several minutes to run and tests everything I ever knew about and then some...<br />
<br />
So, what changes between Tiscali and SiADSL?<br />
<br />
Tiscali blocks some TCP and UDP ports which I consider a <b>feature</b>, not a problem, if you have Windows machines on the network:<br />
<br />
<ul>
<li></li>
<li>Direct TCP access to remote RPC servers (port 135) is blocked. This is probably for security reasons, as this protocol is generally not designed for use outside the local network.</li>
<li>Direct UDP access to remote NetBIOS NS servers (port 137) is blocked.</li>
<li></li>
<li>Direct UDP access to remote IKE key exchange servers (port 500) is blocked.</li>
</ul>
<br />
I was surprised to notice this potential problem though after I moved to Tiscali:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGMMKt_Q6M9qIQFIA3zhArtxoNCbzu0D5ZSwbdu5HTa5Z8RZLVkZhXqI4YtUnhMtYBDW-lWVnA4XFwgxjJ7TENh9Ud3lpei8hx6lSA5kEkvBUplgejFtPu3j-4MTjGLFpWaAr29zC6tJ1-/s1600/Netalyzr.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGMMKt_Q6M9qIQFIA3zhArtxoNCbzu0D5ZSwbdu5HTa5Z8RZLVkZhXqI4YtUnhMtYBDW-lWVnA4XFwgxjJ7TENh9Ud3lpei8hx6lSA5kEkvBUplgejFtPu3j-4MTjGLFpWaAr29zC6tJ1-/s1600/Netalyzr.png" /></a></div>
<br />
I passed from PPPoE which uses a max MTU of 1492 to PPPoA which supports 1500 and I had forgotten to update the max MTU on my border router. I tried to leave the max MTU at 1492 but quickly had problems so I increased it to 1500 and it has been working like a charm since. I would have blamed my connectivity problems at Tiscali unless Netalyzr found the problem for me.<br />
<br />
I'm also pleased to see that this warning I had on the SiADSL connection is gone with Tiscali:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFC5Kx8X_5aLMPr5ee-OnmJe9HxxqoGCH3zgpcs4QD7vXeVTwuZgRHZe-QVh0m5hfG1-8DSGDicSK1CFaRUuNhZ4sCiO8WFzbrzyOgpb459HVIMOcrO-5TnIEAi6FuqCal0mzIVlr71zWJ/s1600/Buffering.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFC5Kx8X_5aLMPr5ee-OnmJe9HxxqoGCH3zgpcs4QD7vXeVTwuZgRHZe-QVh0m5hfG1-8DSGDicSK1CFaRUuNhZ4sCiO8WFzbrzyOgpb459HVIMOcrO-5TnIEAi6FuqCal0mzIVlr71zWJ/s1600/Buffering.png" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<b>Exactly</b> the behavior I have seen over the last year(s). Uploads with Picasa killed internet access and video conferencing with many participants is "impossible" even with no other traffic.</div>
<div class="p1">
<br /></div>egilh - Learning By Doinghttp://www.blogger.com/profile/02735065945309943689noreply@blogger.com4tag:blogger.com,1999:blog-7735977282792144014.post-16230178146443399492012-01-25T14:14:00.000-08:002012-01-25T14:14:40.633-08:00Finally an anti fog solution for helmets and glasses that works!I use my motorcycle every single day of the year as long as the roads are not icy which is 360+ days a year in Milan :-)<br />
<br />
The only problem I have is that my helmet and glasses fog up when it get's very foggy or cold. I have tried <b>everything</b>, but so far the only thing that has worked is keeping the visor up. Not fun when it's below zero...<br />
<br />
<a href="http://www.eicma.it/">EICMA</a> changed that when I found the <a href="http://zeibe.es/">Zeibe.es</a> stand. I got a sample of their <a href="http://www.zeibe.com/products/helmet/visor-cleaner-and-anti-fog-10111.html">helmet anti fog product</a> which worked very well on my glasses so I ordered a set of their long lasting anti-fog treatment. It worked <b>perfectly</b> today on my helmet visor and glasses. I don't know if it will last the advertised two weeks, but I'm very happy so far.<br />
<br />
It really does work as well as the demo video shows:<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/FPMNOiROyZY?feature=player_embedded' frameborder='0'></iframe></div>
<br />
<br />
<br />egilh - Learning By Doinghttp://www.blogger.com/profile/02735065945309943689noreply@blogger.com5tag:blogger.com,1999:blog-7735977282792144014.post-61287438109052931842011-11-16T12:13:00.001-08:002011-11-16T12:30:29.478-08:00How to fix Roomba 500 series battery problemMy <a href="http://www.irobot.it/roomba/520.htm">Roomba 520</a> has been out of service for more than six months. The wheels worked fine but the internal brushes didn't turn around anymore. I picked it apart and cleaned the internal gears and engine several times which made it work for a while but I finally gave in and bought a new engine.<br />
<br />
Surprise, surprise, it refused to start even after charging it for more than one day. I always got this never ending loop:<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/b8QDckMsm7A?feature=player_embedded' frameborder='0'></iframe></div>
<br />
It successfully undocked from its docking station but it just reset whenever it tried to start the brushes which led me to believe it was a low battery problem.<br />
<br />
Mixing various instructions I found on the internet, I ended up with this procedure which seems to fix the problem:<br />
<br />
<ol>
<li>Connect the Roomba and charge it completely (until the light turns green)</li>
<li>Disconnect the Roomba from the charger (the light turns off)</li>
<li>Turn on the Roomba by pressing the Start button once (the light turns green)</li>
<li>Press and hold down the Dock and Spot buttons for 15 seconds to reset the Roomba (the Roomba turns off)</li>
<li>Release the Dock and Spot buttons (the Romba plays the 5 tone startup sound)</li>
<li>Go back to step 1</li>
</ol>
<div>
I have repeated the procedure 5 times so far and the run time keeps increasing. </div>egilh - Learning By Doinghttp://www.blogger.com/profile/02735065945309943689noreply@blogger.com4tag:blogger.com,1999:blog-7735977282792144014.post-91543133393055024382011-11-10T12:15:00.001-08:002011-11-10T13:17:57.839-08:00The Nabaztag is dead, long live the NabaztagMy <a href="http://en.wikipedia.org/wiki/Nabaztag">Nabaztag</a> has been collecting dust on my desk since the online service powering it <a href="http://www.01net.com/editorial/536566/nabaztag-le-lapin-est-mort-ce-soir/">died this summer</a>.<br />
<br />
The <a href="http://www.googlab.it/2011/11/gtug-report-del-primo-incontro-del-gtug.html">first meeting</a> of <a href="http://milano.gtugs.org/home">GTUG Milano</a> was the perfect excuse to have some fun and use the Nabaztag for something useful. Using this <a href="http://www.youtube.com/watch?v=yFYhywSdC6A">Nabaztag disassembly video</a> it didn't take long to pick it apart and figure out which wires controlled what. <br />
<br />
Thomas took care of all the electronics work and I added some lines of code to the <a href="http://developer.android.com/guide/topics/usb/adk.html">Android ADK demo code</a> to create a proof of concept Android ADK powered rabbit.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9ifK8ZJv_0yq4cRiqbFg0wsaQ4TptvEP8wH6WVFq_iGdeik6ett5ePQhqaIz2rQVh8RCQ83iXf7SwLIVRT0fe6BEr35tY9E_dJaqfXFkhXLqeyLvHo8wBmSUFU0kxEdMgZSt5MEqamZ0h/s1600/IMG_20111102_112336.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9ifK8ZJv_0yq4cRiqbFg0wsaQ4TptvEP8wH6WVFq_iGdeik6ett5ePQhqaIz2rQVh8RCQ83iXf7SwLIVRT0fe6BEr35tY9E_dJaqfXFkhXLqeyLvHo8wBmSUFU0kxEdMgZSt5MEqamZ0h/s320/IMG_20111102_112336.jpg" width="240" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhufAtlGlo9gz585B_WiSJm7btyga9Nt0XyL1oBnhL9BkJLp8EmhvNN9iMhDZwbTu0SrFumXaa5nr310XLmHFgR1Sbmd2pmmAZuThPQXDI58kNz25xerIbHLVeUJvZ56tdzV6HAAtTxSdM5/s1600/IMG_20111102_094837.jpg" imageanchor="1" style="clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhufAtlGlo9gz585B_WiSJm7btyga9Nt0XyL1oBnhL9BkJLp8EmhvNN9iMhDZwbTu0SrFumXaa5nr310XLmHFgR1Sbmd2pmmAZuThPQXDI58kNz25xerIbHLVeUJvZ56tdzV6HAAtTxSdM5/s320/IMG_20111102_094837.jpg" width="240" /></a><br />
<br />
Take it for what it is; a proof of concept that just controls the two ears, 3 multi color LEDs and does some text to speech. It does not do any of the useful things that the Nabaztag did like reading mails, rss feeds, showing weather information etc.<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/gTzp5QwNkFk?feature=player_embedded' frameborder='0'></iframe></div>
<br />
<br />
It could though, as all of it is easy to implement on Android. Which is why it's time to make it do something useful :-)<br />
<br />
I've decided to replace the Android ADK Demo Shield with a <a href="http://store.arduino.cc/eu/index.php?main_page=product_info&cPath=11_12&products_id=144">Arduino Mega ADK</a> which is smaller an "only" costs 59 euro. It will be the interface with the Nabaztag hardware and control the ears and LEDs initially. The rest of the work will be done by an Android device.<br />
<br />
To be perfectly honest, I probably got a bit carried way when ordering the Arduino Mega ADK. I got some LEDs with the idea of organizing them in a grid to show basic symbols, but then I found the <a href="http://store.arduino.cc/eu/index.php?main_page=product_info&cPath=6&products_id=178">32x16 LED matrix</a> and couldn't resist it. The idea of replacing the 3 multi colored LEDs found in the Nabaztag with something that can <a href="http://timewitharduino.blogspot.com/2010/12/experimenting-with-3216-led-display.html">display information</a> was just too much to resist. I think it should fit in the almost empty Nabaztag shell but I may have to do some rabbit surgery if it doesn't.<br />
<br />
Add the power of <a href="http://code.google.com/p/cellbots/">cellbots</a> and we have a pretty powerful rabbit on our hands. Let's just hope it does not turn <a href="http://www.youtube.com/watch?v=Nvs5pqf-DMA">Evil</a>...<br />
<br />egilh - Learning By Doinghttp://www.blogger.com/profile/02735065945309943689noreply@blogger.com4tag:blogger.com,1999:blog-7735977282792144014.post-29828064365480222402011-05-19T02:44:00.000-07:002011-05-19T02:48:09.854-07:00WhyMCA Mobile Developer Conference tomorrow and Saturday in MilanoThe <b>free</b> <a href="http://www.whymca.org/">WhyMCA Mobile Developer Conference</a> looks very interesting with tracks for Android, iPhone, Windows Phone 7, cross platform development etc. There will be a parallel Mobile Hackathon if you want to show of your coding skillz.<br />
<br />
Plenty of interesting topics on the <a href="http://www.whymca.org/agenda/dev-conf-hackaton-maggio-2011">agenda</a>./egilhhttp://www.blogger.com/profile/07640311410701852519noreply@blogger.com2tag:blogger.com,1999:blog-7735977282792144014.post-55799094849568900652011-05-16T02:40:00.000-07:002011-05-16T02:40:23.108-07:00Friday 13th<div class="separator" style="clear: both; text-align: left;">Disaster struck Friday:</div><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNnDNPdYvIzMG-qQRbirqrifoR0JMYpCqBIszehPV9mJ-krooHnAt7ui_1YYLA-yahVi22ghc4odkBPu0xei9zBzmabIuPUFiJ6rJ2ya6W_-QclDowldZzKpc_5-FEa0FaLqkKW6h8u9s/s1600/Friday13th.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNnDNPdYvIzMG-qQRbirqrifoR0JMYpCqBIszehPV9mJ-krooHnAt7ui_1YYLA-yahVi22ghc4odkBPu0xei9zBzmabIuPUFiJ6rJ2ya6W_-QclDowldZzKpc_5-FEa0FaLqkKW6h8u9s/s320/Friday13th.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;">You can say what you want about the dreaded <a href="http://www.google.com/search?q=bsod&hl=en&prmd=ivns&tbm=isch&tbo=u&source=univ&sa=X&ei=furQTcTvN8mAOs2zgY8N&ved=0CEAQsAQ&biw=1280&bih=1484">BSOD</a> on Windows but at least it tells you something.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><a href="http://en.wikipedia.org/wiki/Murphy's_law">Murphy's law</a> struck at the worst possible time (of course) as I had just <u>moved</u> a lot of photos from my digital camera to my harddisk for editing and I hadn't uploaded them to Picasa yet. </div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><a href="http://www.cgsecurity.org/wiki/PhotoRec">PhotoRec</a> to the rescue, again, as it was able to recover all photos from the memory card. I've used in the past when my Compact Flash card got corrupted. PhotoRec managed to recover all the pictures including old, partially overwritten, photos. <b>It's free</b>, <b>it works</b> and runs on just about every OS there is. What more can you ask for?</div><br />
I've got almost all my data in the cloud so I didn't loose much but I did loose some Android code I was playing around with. <a href="http://www.apple.com/macosx/what-is-macosx/time-machine.html">Time Machine</a> would have kept my data safe but I cannot use it on my work machine so I put together a quick script using rsync to backup my personal directory yesterday. Let's see if it works on Friday January 13th 2012.../egilhhttp://www.blogger.com/profile/07640311410701852519noreply@blogger.com1tag:blogger.com,1999:blog-7735977282792144014.post-37477834090994502112011-05-03T12:38:00.000-07:002011-05-03T12:38:00.038-07:00Challenge: a new dinner recipe each weekI'm trying a less extreme version of <a href="http://www.mattcutts.com/blog/type/30-days/">Matt Cutts' 30 day challenge</a> for the next few months; at least one new dinner recipe each week.<br />
<br />
<br />
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><u>Why?</u></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">I have a set of dinners recipes that I really like so I end up making them over and over again instead of trying something new. It's not a problem from a nutritional point of view due to the variety (meat, fish, pasta, salads, etc) but it gets boring after a while. The kids are old enough to try something new and tell what they think my experiments so why not?</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><u>What?</u><br class="Apple-interchange-newline" />Try at least one new recipe each week.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br />
</div><br />
The first experiment is: <a href="http://translate.google.com/translate?js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&sl=auto&tl=en&u=http%3A%2F%2Fricette.giallozafferano.it%2FPolpette-al-sugo.html">Meatballs in tomato sauce</a> (automatically translated so be careful...) with spinach as a side dish:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://ricette.giallozafferano.it/images/ricette/4/495/preview.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="http://ricette.giallozafferano.it/images/ricette/4/495/preview.jpg" width="320" /></a></div><br />
<br />
<u><br />
</u>/egilhhttp://www.blogger.com/profile/07640311410701852519noreply@blogger.com3tag:blogger.com,1999:blog-7735977282792144014.post-56952499053790789172011-04-26T06:03:00.000-07:002011-04-26T06:03:36.649-07:00The Human Chaos MonkeyI have never worked on a project with an automated <a href="http://www.codinghorror.com/blog/2011/04/working-with-the-chaos-monkey.html">Chaos Monkey</a>, but I have had the great pleasure of working with a human Chaos Monkey for many years (I'm sure you know who you are :-)<br />
<br />
This particular Chaos Monkey insisted on;<br />
<br />
<ol><li>Having everything load balanced/replicated even in the testing environment (both for testing and for making sure it matched the production environment as much as possible)</li>
<li>Making sure that the replicated services worked correctly but killing one instance, waiting for it to fail over then kill it again to make sure it failed back.</li>
<li>Running a short stress test even for minor changes</li>
<li>Running long, preferably over the weekend, load tests for major infrastructure changes</li>
</ol>The result was a rock solid infrastructure that had close to zero downtime apart from planned maintenance windows where changes depended on other systems. The outages we had were due to external systems replying slower than required so we implemented a killer monkey that recycled <a href="http://blog.egilh.com/2005/02/557aspx.html">com+ processes taking to long</a>.<br />
<br />
Making the process clear upfront is a great help; <i>there is no way your code is going into production until you've passed the Chaos Monke</i>y./egilhhttp://www.blogger.com/profile/07640311410701852519noreply@blogger.com0tag:blogger.com,1999:blog-7735977282792144014.post-45804140955792463542011-04-24T12:58:00.000-07:002011-04-24T12:58:44.975-07:00Five-leaf clover<a href="http://en.wikipedia.org/wiki/Four-leaf_clover">Four-leaf clovers</a> should bring luck. What about the five-leaf clover I found in the local park?<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg2pUw9UDpo_GYZjeVRu3785tQQMIRP6DkWBgxaRN5wQMaLCTb6B4HyHiG9MAcxBQzl33CaWI-icg-pw4vq29nyC_lOjPI-U_ivFP6KQ_jBUSvef5q9Zw-TZDg0Y8QHs9WpFrtixdUsD8/s1600/Screen+shot+2011-04-24+at+9.56.00+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg2pUw9UDpo_GYZjeVRu3785tQQMIRP6DkWBgxaRN5wQMaLCTb6B4HyHiG9MAcxBQzl33CaWI-icg-pw4vq29nyC_lOjPI-U_ivFP6KQ_jBUSvef5q9Zw-TZDg0Y8QHs9WpFrtixdUsD8/s320/Screen+shot+2011-04-24+at+9.56.00+PM.png" width="212" /></a></div><div class="separator" style="clear: both; text-align: left;">Too close to Milano and pollution or will I be extra lucky?</div>/egilhhttp://www.blogger.com/profile/07640311410701852519noreply@blogger.com3tag:blogger.com,1999:blog-7735977282792144014.post-3465400366861344772011-04-22T02:50:00.000-07:002011-04-22T02:50:55.747-07:00Reading protected PDF files on the Amazon Kindle 2I recently bought a new Nikon DSLR on Amazon.fr as it had the best price I could find in Europe. As usual it arrived in no time in perfect condition but it only had the French manual. I found an English version of the PDF version of the Users' Manual on the Nikon web site but is not readable by the Amazon Kindle 2 as printing is password protected.<br />
<br />
I already own a paper copy of the manual so I don't feel guilty about removing the password protection of the PDF file so I can read it on my Kindle. This one line command on Mac/Linux uses GhostScript to remove the password protection:<br />
<br />
<blockquote><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=<i>unprotected</i>.pdf -c .setpdfwrite </span><span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;">-f <i>protected</i>.pdf</span></blockquote>It also reduced the size of the file from 23Mb to 14Mb :-)<br />
<br />
<br />
<iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=widgetsamazon-20&o=1&p=8&l=bpl&asins=B0042X9LC4&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"></iframe>/egilhhttp://www.blogger.com/profile/07640311410701852519noreply@blogger.com1tag:blogger.com,1999:blog-7735977282792144014.post-54869093952562611622011-01-16T09:39:00.000-08:002011-01-16T09:39:18.529-08:00The first real motorcycle trip of the yearThick fog in Milan, humid and <b>cold</b> this morning but I decided to trust the weather forecast that promised sunshine further north. Just above freezing until I hit the first hills and <a href="http://maps.google.com/?ie=UTF8&ll=45.827863,9.264474&spn=0.019378,0.045447&t=p&z=15">Lago di Segrino</a>. Took a quick stop at <a href="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Madonna+del+Ghisallo,+Magreglio,+Italia&sll=45.925603,9.268652&sspn=0.002418,0.005681&ie=UTF8&hq=&hnear=Madonna+del+Ghisallo,+Magreglio+Como,+Lombardy,+Italy&ll=45.924215,9.267783&spn=0.004836,0.011362&t=h&z=17">Madonna del Ghisallo</a> just to enjoy the warm weather (+10), blue sky and fantastic view.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyBPBvAWJHgc0X-_YY5QfrhEXhpfzT6dEAdPWebbF7f8Aa_3E5dbuSk3BnWViWTS3hWU-2n5_zgMFSU5Hqg_PMfaZ7PUcPzVc78LJUcC3IZlQ1meEzLlJIIrg6JHvpPC6kOM3Aj9YxHf8/s1600/IMG_20110116_132043.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyBPBvAWJHgc0X-_YY5QfrhEXhpfzT6dEAdPWebbF7f8Aa_3E5dbuSk3BnWViWTS3hWU-2n5_zgMFSU5Hqg_PMfaZ7PUcPzVc78LJUcC3IZlQ1meEzLlJIIrg6JHvpPC6kOM3Aj9YxHf8/s400/IMG_20110116_132043.jpg" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><br />
<div class="separator" style="clear: both; text-align: left;">The road up to San Primo was surprisingly good considering the time of year. Only found a few places close to the parking where the road was completely covered by ice.</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7BqxXNDLdUhoLKMk6zlFlQ5tS1JCiCQvyPPJ_FRuGwxHZsB0Wzn-KMY4XTVQuTBL6l8-C-LxGFvGngR_1FAUqU6xpKhMY7a47nL2kWwX3KXobSY94E65P4sHe79rq6AnmC-an6BBCJ-0/s1600/IMG_20110116_140516.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7BqxXNDLdUhoLKMk6zlFlQ5tS1JCiCQvyPPJ_FRuGwxHZsB0Wzn-KMY4XTVQuTBL6l8-C-LxGFvGngR_1FAUqU6xpKhMY7a47nL2kWwX3KXobSY94E65P4sHe79rq6AnmC-an6BBCJ-0/s400/IMG_20110116_140516.jpg" width="400" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div>Didn't stop for lunch at Rifugio Martina this time which is a shame as they have excellent food and a view of both the Lecco and Como branches of the Como lake.<br />
<br />
View of San Primo close to the <a href="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=rifugio+Martina&sll=45.927304,9.262344&sspn=0.004836,0.011362&ie=UTF8&hq=rifugio+Martina&hnear=&ll=45.92202,9.230576&spn=0.03869,0.090895&t=h&z=14">Rifugio Martina restaurant</a>:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieKExmZ5LeiFgmVpiowE3puKwzLENn6Jsueovweja1naR7puffner-paySGw98IK4yVxXkYv5QP9xkHXDPtbCBS4pXrRfnLMG78PTu1ggz88f-Jw1s0tOETdvoy-D561ydOUROBY-y32M/s1600/IMG_20110116_134208.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieKExmZ5LeiFgmVpiowE3puKwzLENn6Jsueovweja1naR7puffner-paySGw98IK4yVxXkYv5QP9xkHXDPtbCBS4pXrRfnLMG78PTu1ggz88f-Jw1s0tOETdvoy-D561ydOUROBY-y32M/s400/IMG_20110116_134208.jpg" width="400" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;">Headed down to Onno instead which offered a great view of Mandello del Lario, home town of <a href="http://en.wikipedia.org/wiki/Moto_Guzzi">Moto Guzzi</a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: left;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglkMwhp-xhWkfOy-oOZ9PpH-V16OFgzCoPFjenogVzv_pITTPaz-wS4WZdikwZQyNd2Hr6WoxK0UaXXd55VmISZ4zcCA1E3EMpIie1seZQRIFvouldvFN0H6BambO7utWcIxVXGiavMcI/s1600/IMG_20110116_143936.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglkMwhp-xhWkfOy-oOZ9PpH-V16OFgzCoPFjenogVzv_pITTPaz-wS4WZdikwZQyNd2Hr6WoxK0UaXXd55VmISZ4zcCA1E3EMpIie1seZQRIFvouldvFN0H6BambO7utWcIxVXGiavMcI/s400/IMG_20110116_143936.jpg" width="300" /></a></div><div class="separator" style="clear: both; text-align: left;"><br />
</div>/egilhhttp://www.blogger.com/profile/07640311410701852519noreply@blogger.com5tag:blogger.com,1999:blog-7735977282792144014.post-88361833911035113772010-01-21T10:50:00.001-08:002010-01-21T11:17:00.924-08:00Moving from .text 0.95 to BloggerMy blogs are moving.<br /><br />I have hosted my blogs for several years on a Virtual Server provided by <a href="http://www.aruba.it/">http://www.aruba.it/</a> They have an excellent service, great customer support and you get a "dedicated" Virtual Server running Windows Server for 12 euro a month is a great bargain.<br /><br />So, why am I moving the blogs? The main reason is that I'm running out of space on the Virtual Server so I have to upgrade to the "professional" version which costs 30 euro. Still a decent price but paying 360 euro a year just to keep my old blogs alive doesn't make much sense so I have decided to move the blogs to blogger. Hosting a blog on Blogger is free and it offers a lot of features that are not present in .text<br /><br />The main challenge is to keep the old deep links and images working. I think I have found a way to migrate everything using a combination of Blogger and Google App Engine. If all goes well there will be a series of articles about the move to Blogger and the old articles should show up here during the following weeks. Please let me know if you've already migrated from .text to Blogger and have tips to share./egilhhttp://www.blogger.com/profile/07640311410701852519noreply@blogger.com5tag:blogger.com,1999:blog-7735977282792144014.post-39121810581531805022009-08-20T12:03:00.000-07:002010-04-24T01:27:35.415-07:004942.aspx<h3>Are you a great problem solver?</h3> <P>Then you should try your skills at <A href="http://code.google.com/codejam">Code Jam 2009</A></P><br /><P>It's all about solving problems so knowing the latest development fads will not help you. You can access last years tasks in the <A href="http://code.google.com/codejam/contest">practice section</A> to get a feel for the problems you will have to solve. You can use any programming language, development environment or text editor as long as the compiler or interpreter you use is freely available and easy to download and use. Visual Studio can be used as there is a free version available: Visual Studio Express.</P><br /><P>The top 25 online contestants will travel to Google headquarters in Mountain View, California where they will will compete for ACRush's title of Code Jam Champion and the grand prize of $5,000.</P><br /><P>Registration ends <STRONG>September 3rd</STRONG> so register <STRONG>now</STRONG>.</P><br /><P>Good luck!</P>/egilhhttp://www.blogger.com/profile/07640311410701852519noreply@blogger.com3tag:blogger.com,1999:blog-7735977282792144014.post-58215321369339351562009-08-20T11:48:00.000-07:002010-04-24T01:27:35.064-07:004941.aspx<h3>How to fix The address is not valid error in Internet Explorer 7</h3> <P>I hardly ever user Internet Explorer so I don't know when it broke, but today it gave me this error for all sites:</P><br /><BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"><br /><P>The address is not valid</P><br /><P>Most likely causes:</P><br /><UL><br /><LI>There might be a typing error in the address.</LI><br /><LI>If you clicked on a link, it may be out of date.</LI></UL></BLOCKQUOTE><br /><P>Looks like one of the latest set of security patches messed up something as the problem went away after I reset the browser settings:</P><br /><UL><br /><LI>Go to the Tools menu</LI><br /><LI>Choose “Internet Options“</LI><br /><LI>Click on the “Advanced“ tab</LI><br /><LI>Click the “Reset“ button</LI><br /><LI>Close the browser</LI></UL>/egilhhttp://www.blogger.com/profile/07640311410701852519noreply@blogger.com2tag:blogger.com,1999:blog-7735977282792144014.post-51935356070257647602009-01-19T22:25:00.000-08:002010-04-24T01:27:34.875-07:004810.aspx<h3>Make sure you subscribe to the Chrome dev channel</h3> <P>You can get a preview of the next version of <A href="http://www.google.com/chrome">Google Chrome</A> by enabling the developer preview channel. It is not for the faint of hart so only do this if you have time to waste or like to be on the cutting edge:</P><br /><BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"><br /><P>The Dev channel is where ideas get tested (and sometimes fail). The Dev channel can be very unstable at times, and new features usually require some manual configuration to be enabled. Still, simply using Dev channel releases is an easy (practically zero-effort) way for anyone to help improve Google Chrome.</P></BLOCKQUOTE><br /><P dir=ltr style="MARGIN-RIGHT: 0px">The latest build picks up a lot of fixes from Web Kit so you will notice increased compatability and several new features like <A href="http://dev.chromium.org/developers/design-documents/user-scripts">user scripts</A>.</P>/egilhhttp://www.blogger.com/profile/07640311410701852519noreply@blogger.com1tag:blogger.com,1999:blog-7735977282792144014.post-7483171819425493652009-01-19T22:17:00.000-08:002010-04-24T01:27:34.233-07:004809.aspx<h3>Trouble....</h3> <P>Trust me. You do <STRONG>not</STRONG> want this message flashing on your TV when you transfer old camcorder videos of your kids to a DVD Recorder:</P><br /><P><IMG src="http://text2blogger.appspot.com/static/egilh/Images/63/t_Trouble.PNG"></IMG> </P><br /><P>It will be a pain to edit the pieces together, but I hope I got most of the tape starting/stopping/rewinding a few times. At least I hope so or I'm in trouble...</P><br /><P> </P>/egilhhttp://www.blogger.com/profile/07640311410701852519noreply@blogger.com4tag:blogger.com,1999:blog-7735977282792144014.post-47447783192949838442008-12-10T20:36:00.000-08:002010-04-24T01:27:34.061-07:004793.aspx<h3>The last barrier to developing for Android is gone</h3> <P>Developing with emulators is “fine” but you have no idea how it works on the final device. Which is why I usually make builds for the real device as soon as possible to verify that what I am trying to do is feasible on the real device. </P><br /><P>So I'm thrilled to see that Google has launched a $399 <A href="http://code.google.com/android/dev-devices.html">Android Dev Phone</A> that is not locked to any provider: </P><br /><BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"><br /><P>The Android Dev Phone 1 is a <STRONG><U>SIM-unlocked and hardware-unlocked device</U></STRONG> that is designed for advanced developers. The device ships with a system image that is fully compatible with Android 1.0, so you can rely on it when developing your applications. You can use any SIM in the device and can flash custom Android builds that will work with the unlocked bootloader. Unlike the bootloader on retail devices, the bootloader on the Android Dev Phone 1 does not enforce signed system images. The Android Dev Phone 1 should also appeal to developers who live outside of T-Mobile geographies.</P></BLOCKQUOTE><br /><P>I got an Apple iPhone 3G this summer but this is pretty tempting as I haven't done much device coding after I changed jobs last year. I have got several requests for improving my Windows Mobile apps but I'm still evaluating my options; make cross device web apps (iPhone, Android, Win Mobile), buy a (very) expensive Mac, buy a expensive Visual Studio license or go for the free and <A href="http://source.android.com/">open source Android</A>. I had loads of fun, and I have learned a lot, developing the apps but at the moment they are frozen as I don't use my Windows Mobile device anymore.</P><br /><P>I firmly believe that web apps (with syncronization in some cases) are the way to go but they are not very well suited for the apps I have developed for Windows Mobile so far (password manager, gmail notifier with Today Screen support). Android has a very interesting model for extending built in features so that may be the way to go (if Santa gets me a Android Dev Phone :-)</P>/egilhhttp://www.blogger.com/profile/07640311410701852519noreply@blogger.com14