<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2073033124716732936</id><updated>2026-03-27T08:49:42.754+01:00</updated><category term="berlin"/><category term="viajes"/><category term="vacaciones"/><category term="USA"/><category term="panoramas"/><category term="New Zealand"/><category term="serenity"/><category term="aero"/><category term="misc"/><category term="familia"/><category term="edificios"/><category term="Christchurch"/><category term="New York"/><category term="Python"/><category term="Leipzig"/><category term="Flashback"/><category term="La Mancha"/><category term="El Toboso"/><category term="Favoritas"/><category term="museos"/><category term="HDR"/><category term="Deutschland"/><category term="Mallorca"/><category term="Españoles en Alemania"/><category term="photowalk"/><category term="Zwei"/><category term="gente"/><category term="recuerdos"/><category term="Alcalá"/><category term="Ausstellung"/><category term="B/W"/><category term="collage"/><category term="ai"/><category term="coding"/><category term="vehículos"/><category term="Instagram"/><category term="Cazadores cazados"/><category term="edx"/><category term="mapa"/><category term="PhotosFromMyWindows"/><category term="casa"/><category term="ALCE"/><category term="Barcelona"/><category term="Eins"/><category term="Festival of Lights"/><category term="Más fotos"/><category term="felicitaciones"/><category term="Tokyo"/><category term="estatuas"/><category term="mosaico"/><category term="Libraries"/><category term="MITx"/><category term="Ultimate frisbee"/><category term="Xmas"/><category term="flores"/><category term="strobist"/><category term="Books"/><category term="Boston"/><category term="MIT"/><category term="reminiscing"/><category term="Munich"/><category term="Xi&#39;an"/><category term="grunewald"/><category term="relatos"/><category term="sellos"/><category term="Hanoi"/><category term="cosas que me pasan"/><category term="Beirut"/><category term="MOOC"/><category term="Madrid"/><category term="Valencia"/><category term="Zoo"/><category term="c25k"/><category term="Camino"/><category term="Light painting"/><category term="London"/><category term="español"/><category term="fotos que no hice"/><category term="graffitis"/><category term="mobile"/><category term="puertas"/><category term="BeingPartoftheSolution"/><category term="India"/><category term="Twitter"/><category term="blogs"/><category term="libro"/><category term="retratos"/><category term="short stories"/><category term="Advent of Code"/><category term="Bayreuth"/><category term="Bluesky"/><category term="Japan"/><category term="Lighting 102"/><category term="Night photography"/><category term="Visualizations"/><category term="chess"/><category term="html tools"/><category term="humour"/><category term="meme"/><category term="raspberry pi"/><category term="videos"/><category term="Coursera"/><category term="Drei"/><category term="LinkedIn"/><category term="Sevilla"/><category term="apps"/><category term="crypto"/><category term="puente"/><category term="rant"/><category term="work"/><category term="Bangalore"/><category term="Buzón"/><category term="Calliope"/><category term="Córdoba"/><category term="Derby"/><category term="Doha"/><category term="Galicia"/><category term="Guadalupe"/><category term="Harvard"/><category term="Kyoto"/><category term="LLM"/><category term="Moscú"/><category term="Mt Fuji"/><category term="Mumbai"/><category term="Mérida"/><category term="Peenemünde"/><category term="Pune"/><category term="Qatar"/><category term="Steglitz"/><category term="Time Lapse"/><category term="Trujillo"/><category term="UK"/><category term="Vier"/><category term="airports"/><category term="alemañol"/><category term="arduino"/><category term="deutsch"/><category term="hacks"/><category term="half marathon"/><category term="historia"/><category term="math"/><category term="podcast"/><category term="radio"/><category term="street art"/><category term="wallpaper"/><title type='text'>Puntos suspensivos...</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default?start-index=26&amp;max-results=25'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>971</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-5712787853372089415</id><published>2026-03-13T08:25:00.000+01:00</published><updated>2026-03-13T08:25:07.365+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Books"/><category scheme="http://www.blogger.com/atom/ns#" term="libro"/><title type='text'>Puntos Suspensivos en papel</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEg1-6KyRUZ5LMM20EPjZm2O_NRzH3G7NJGA9DpC6f5eS5r-Nhd7eZc9RN8-PFv4Z9qgMuHkM-sR4-u71yLPHGx8q1NUhLz-FECWODnROZwhBMtBn7fzunN_chNP_0vnJehmNx6yoHMpkciYuuqnU7e4xHcfkJA8hXb6y_3DNrfGkLLu3hQ3OaTtewS6dPeh&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;2611&quot; data-original-width=&quot;2610&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEg1-6KyRUZ5LMM20EPjZm2O_NRzH3G7NJGA9DpC6f5eS5r-Nhd7eZc9RN8-PFv4Z9qgMuHkM-sR4-u71yLPHGx8q1NUhLz-FECWODnROZwhBMtBn7fzunN_chNP_0vnJehmNx6yoHMpkciYuuqnU7e4xHcfkJA8hXb6y_3DNrfGkLLu3hQ3OaTtewS6dPeh=w640-h640&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Casi mil páginas, muchas fotos y muchas entradas en los casi diecinueve años del blog. Me encanta el detalle de diseño con los tres puntos en la banda, con uno diferente de color rojo en cada volumen.&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/5712787853372089415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/5712787853372089415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/5712787853372089415'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/5712787853372089415'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2026/03/puntos-suspensivos-en-papel.html' title='Puntos Suspensivos en papel'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEg1-6KyRUZ5LMM20EPjZm2O_NRzH3G7NJGA9DpC6f5eS5r-Nhd7eZc9RN8-PFv4Z9qgMuHkM-sR4-u71yLPHGx8q1NUhLz-FECWODnROZwhBMtBn7fzunN_chNP_0vnJehmNx6yoHMpkciYuuqnU7e4xHcfkJA8hXb6y_3DNrfGkLLu3hQ3OaTtewS6dPeh=s72-w640-h640-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-2362754351714262854</id><published>2026-03-07T11:33:00.006+01:00</published><updated>2026-03-07T11:33:42.374+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c25k"/><category scheme="http://www.blogger.com/atom/ns#" term="half marathon"/><title type='text'>Half Marathon preparations</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjcCS2CZbPwGEmPXifsma89aPp39ET4yimg0hEM1Ng3N_Yub7CGeqlUmb_E-sEAZRYNv9pDGI68bMeXMv5AaJ28uKfO-PTQMHbYQnYi5V-kXvz-t-q-bHovGgSU1i7B44LORqkKw7P4fECS4v_AdbFURuH9wjCHPNHhpwaDIrm44MsWo905MluOcAg08aYv&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;891&quot; data-original-width=&quot;1397&quot; height=&quot;408&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjcCS2CZbPwGEmPXifsma89aPp39ET4yimg0hEM1Ng3N_Yub7CGeqlUmb_E-sEAZRYNv9pDGI68bMeXMv5AaJ28uKfO-PTQMHbYQnYi5V-kXvz-t-q-bHovGgSU1i7B44LORqkKw7P4fECS4v_AdbFURuH9wjCHPNHhpwaDIrm44MsWo905MluOcAg08aYv=w640-h408&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Only six weeks left until the S25 Half Marathon here in Berlin. Good that the weather has improved and the icy days are over. Quite some work to do though until race day. Today I was curious about the track so I plotted it in&amp;nbsp;&lt;a href=&quot;https://www.plotaroute.com/runningrouteplanner&quot;&gt;https://www.plotaroute.com/runningrouteplanner&lt;/a&gt;&amp;nbsp;and I was pleased to see that it is mostly flat, and actually not much different from my usual training track. I also found out that I can generate gpx files and upload them to my mobile, which seems quite useful.&lt;/p&gt;&lt;p&gt;Maybe one weekend I will do my long run there to get familiar with the track.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/2362754351714262854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/2362754351714262854' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/2362754351714262854'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/2362754351714262854'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2026/03/half-marathon-preparations.html' title='Half Marathon preparations'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEjcCS2CZbPwGEmPXifsma89aPp39ET4yimg0hEM1Ng3N_Yub7CGeqlUmb_E-sEAZRYNv9pDGI68bMeXMv5AaJ28uKfO-PTQMHbYQnYi5V-kXvz-t-q-bHovGgSU1i7B44LORqkKw7P4fECS4v_AdbFURuH9wjCHPNHhpwaDIrm44MsWo905MluOcAg08aYv=s72-w640-h408-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-164035100635507421</id><published>2026-02-28T09:02:00.002+01:00</published><updated>2026-02-28T09:02:48.155+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Books"/><category scheme="http://www.blogger.com/atom/ns#" term="cosas que me pasan"/><category scheme="http://www.blogger.com/atom/ns#" term="Flashback"/><category scheme="http://www.blogger.com/atom/ns#" term="reminiscing"/><title type='text'>Puntos Suspensivos 2007 - 2025</title><content type='html'>&lt;p&gt;Ya están en camino tres volúmenes con casi mil páginas en total con las entradas de este blog del 2007 al 2025. Todo mucho más rápido de lo que me pensaba.&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjKxqalJQ9eTHOz-NuCwvJjG1EB8WD3I86Ye_NFaMyi06CRA9vQbPAyhTHRaT9ZH-_X-EqdI_3rC8eaYC10zBl33yjDt24qtofJ8Cao82iSTQf2xjQvMC_VmP03bOZNblS-mv7hlwfWQInGbGhNcy55LKUp0hJRlWWRf5C5PnxPogw8v9pz804Azvbo8UYM&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1002&quot; data-original-width=&quot;1538&quot; height=&quot;416&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjKxqalJQ9eTHOz-NuCwvJjG1EB8WD3I86Ye_NFaMyi06CRA9vQbPAyhTHRaT9ZH-_X-EqdI_3rC8eaYC10zBl33yjDt24qtofJ8Cao82iSTQf2xjQvMC_VmP03bOZNblS-mv7hlwfWQInGbGhNcy55LKUp0hJRlWWRf5C5PnxPogw8v9pz804Azvbo8UYM=w640-h416&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiVqVRPkHL2IuXVX3fcij2Yc5wxNiDBqXUUDRpWrGgv6rZKeNlZcRhjff8VHDJWHZg3f2iPb7nLzNdu5keygeR0j_YDERubcKxt44s6-0xil-e01yt_XXX75fPG3R2tixsIC0tyclQCWsClKzknIgqdsDuACuMVkkNOIhQJSTotV91f1aKE23qAZWUs4zVo&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;977&quot; data-original-width=&quot;1557&quot; height=&quot;402&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiVqVRPkHL2IuXVX3fcij2Yc5wxNiDBqXUUDRpWrGgv6rZKeNlZcRhjff8VHDJWHZg3f2iPb7nLzNdu5keygeR0j_YDERubcKxt44s6-0xil-e01yt_XXX75fPG3R2tixsIC0tyclQCWsClKzknIgqdsDuACuMVkkNOIhQJSTotV91f1aKE23qAZWUs4zVo=w640-h402&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjg6sSWScJ431jBDtJMYor6_jw4fzfQ6-7O8MHVu3gK8dnkYh4STw2fb74hH2feWCCG65G6HI-AlNZvtLkEUejDmq0m2Iz2pN6tZPZEKvONePFUGvfmC5XGuzzEcbZgcP88PDUV8GakVVH4F9cT-6ikBSxZLHftxZZyBEvlRTNZ40CDwFYES-yvBjqw3DqP&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;993&quot; data-original-width=&quot;1556&quot; height=&quot;408&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjg6sSWScJ431jBDtJMYor6_jw4fzfQ6-7O8MHVu3gK8dnkYh4STw2fb74hH2feWCCG65G6HI-AlNZvtLkEUejDmq0m2Iz2pN6tZPZEKvONePFUGvfmC5XGuzzEcbZgcP88PDUV8GakVVH4F9cT-6ikBSxZLHftxZZyBEvlRTNZ40CDwFYES-yvBjqw3DqP=w640-h408&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/164035100635507421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/164035100635507421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/164035100635507421'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/164035100635507421'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2026/02/puntos-suspensivos-2007-2025.html' title='Puntos Suspensivos 2007 - 2025'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEjKxqalJQ9eTHOz-NuCwvJjG1EB8WD3I86Ye_NFaMyi06CRA9vQbPAyhTHRaT9ZH-_X-EqdI_3rC8eaYC10zBl33yjDt24qtofJ8Cao82iSTQf2xjQvMC_VmP03bOZNblS-mv7hlwfWQInGbGhNcy55LKUp0hJRlWWRf5C5PnxPogw8v9pz804Azvbo8UYM=s72-w640-h416-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-147464521546829268</id><published>2026-02-07T22:38:00.006+01:00</published><updated>2026-02-07T22:38:47.790+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ai"/><category scheme="http://www.blogger.com/atom/ns#" term="coding"/><category scheme="http://www.blogger.com/atom/ns#" term="html tools"/><title type='text'>more html tools</title><content type='html'>&lt;p&gt;Using AI I have created a landing page for whatever html tools I create in the future, even if they are only useful to myself. If curious, have a look at&amp;nbsp;&lt;a href=&quot;https://jccabrejas.github.io/&quot; target=&quot;_blank&quot;&gt;https://jccabrejas.github.io/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhoPRFBz-CkfkrHtiT24xsF_EypcDrNL-QvhCon5rSCzTDF9l95OfdAMpd9E7TTzhpO8Et6n6htwxl0Je0Ab9NpN9xellN_ASYHtJrD163KE8B5Qv8d_-aeg4H2tZykIDdm6SbR9iAjdHpC1wwY8YhBiXts-DBffYun_gjq5j1X750zVCXwSUZFwAMLW8gu&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;836&quot; data-original-width=&quot;1261&quot; height=&quot;424&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhoPRFBz-CkfkrHtiT24xsF_EypcDrNL-QvhCon5rSCzTDF9l95OfdAMpd9E7TTzhpO8Et6n6htwxl0Je0Ab9NpN9xellN_ASYHtJrD163KE8B5Qv8d_-aeg4H2tZykIDdm6SbR9iAjdHpC1wwY8YhBiXts-DBffYun_gjq5j1X750zVCXwSUZFwAMLW8gu=w640-h424&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/147464521546829268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/147464521546829268' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/147464521546829268'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/147464521546829268'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2026/02/more-html-tools.html' title='more html tools'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEhoPRFBz-CkfkrHtiT24xsF_EypcDrNL-QvhCon5rSCzTDF9l95OfdAMpd9E7TTzhpO8Et6n6htwxl0Je0Ab9NpN9xellN_ASYHtJrD163KE8B5Qv8d_-aeg4H2tZykIDdm6SbR9iAjdHpC1wwY8YhBiXts-DBffYun_gjq5j1X750zVCXwSUZFwAMLW8gu=s72-w640-h424-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-2034614626465466595</id><published>2026-01-31T13:19:00.001+01:00</published><updated>2026-02-01T12:12:28.611+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ai"/><category scheme="http://www.blogger.com/atom/ns#" term="coding"/><category scheme="http://www.blogger.com/atom/ns#" term="html tools"/><title type='text'>Splitting images</title><content type='html'>&lt;p&gt;Today I decided to scan an old album of photos from almost 30 years ago. To save some time and effort I started scanning the photos three at a time and then four at a time. Which of course means that photos need to be split later. For this I used this prompt with Gemini and it worked as a charm. First time I do not have to change anything in the code.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier; font-size: small;&quot;&gt;Build an artifact that lets me split a photo into several subphotos of equal size.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;There needs to be a field in which the user can select the photo (upload from computer or paste).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;There needs to be a field with a template for name of resulting subphotos&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;Then the user has three options to split the photos:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;3 photos horizontal split&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;3 photos vertical split&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;4 photos&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;After one of these three options is selected the user will be able to review the result before each photo is saved (some guidelines will be overimposed to the original photoo). It will be possible to adjust the guidelines horizontally and vertically as appropriate)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;Once reviewed it will be possible for the user to download each single photo. The name of the files will include the template provided previously by the user plus a string with time stamp to avoid duplications and overwriting existing files.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;No React.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;__________________________________________________________&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhFU33Q3DlS7kLiDxiF1If4Nu9rAahioIhMX1kHAEArLBAFeTx2GKJBPXd2n0q7cBsToSpcxnED-a4GrlPQCZHVMOZMqJfQ1gnAV-pAyjhhPQkDEWA2bUTkjLN9lqkQ_0WHob97XBtfCmfSvSUcPAasihCZm850cFe8ZCse5G9CaOD6wH05ri65QrTu6dGd&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;932&quot; data-original-width=&quot;466&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhFU33Q3DlS7kLiDxiF1If4Nu9rAahioIhMX1kHAEArLBAFeTx2GKJBPXd2n0q7cBsToSpcxnED-a4GrlPQCZHVMOZMqJfQ1gnAV-pAyjhhPQkDEWA2bUTkjLN9lqkQ_0WHob97XBtfCmfSvSUcPAasihCZm850cFe8ZCse5G9CaOD6wH05ri65QrTu6dGd=w320-h640&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhLEltaPxKjYFLLqGlKRbhgXaMdWE9fEuCd4_nteyYkanuROAWW7srXF6IpVSRoQkiwCvg3OxyTvpGXgq_ko7LE7MwGJpikoEeBJNg5-rPHmwhibgh-dgoqW7Et_cp7dWao2QgeRhn11d3JzxqKUgkhiPihKgB-D5RjuE0ePM0neqLiMcMSs4FLLsj8DozX&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;642&quot; data-original-width=&quot;703&quot; height=&quot;584&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhLEltaPxKjYFLLqGlKRbhgXaMdWE9fEuCd4_nteyYkanuROAWW7srXF6IpVSRoQkiwCvg3OxyTvpGXgq_ko7LE7MwGJpikoEeBJNg5-rPHmwhibgh-dgoqW7Et_cp7dWao2QgeRhn11d3JzxqKUgkhiPihKgB-D5RjuE0ePM0neqLiMcMSs4FLLsj8DozX=w640-h584&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;From this&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgV1As5Xd5amBHRfJ21gObIi5t9NPXeG9XempIhjlRe-0Gzl-TTHvOKaDrnas7T6S2l-N07RWJbHAaGdWCaabUNPo4lwu3QLbBqIPelsnVvU49QWql81_ftVNHzifnaNaOlCpd3q7IWCXOsV3ryXki74LJcdGiwe72-2YKjlUIujQfFqdZnWy-3a3-YvFsa&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;235&quot; data-original-width=&quot;512&quot; height=&quot;184&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgV1As5Xd5amBHRfJ21gObIi5t9NPXeG9XempIhjlRe-0Gzl-TTHvOKaDrnas7T6S2l-N07RWJbHAaGdWCaabUNPo4lwu3QLbBqIPelsnVvU49QWql81_ftVNHzifnaNaOlCpd3q7IWCXOsV3ryXki74LJcdGiwe72-2YKjlUIujQfFqdZnWy-3a3-YvFsa=w400-h184&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;to this&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEj-xyW-yzn0TWoapsl9mBPguqoYuBchtjs9g7O30oV8n_1fL0qI-AkXYu0kaPaHfe-ro6tQ3irI2JHxnZVvNHAflDasuPgX9K-lAujQlRpDWEkl1enbpc0Em3bIBAQjNrGNifwcSiGq9WUR9C5-_sWKSBBHFWkBt3SZ2TBVTSAAhJ5RvJ5qXVZGTo3Yd0_z&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;559&quot; data-original-width=&quot;842&quot; height=&quot;265&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEj-xyW-yzn0TWoapsl9mBPguqoYuBchtjs9g7O30oV8n_1fL0qI-AkXYu0kaPaHfe-ro6tQ3irI2JHxnZVvNHAflDasuPgX9K-lAujQlRpDWEkl1enbpc0Em3bIBAQjNrGNifwcSiGq9WUR9C5-_sWKSBBHFWkBt3SZ2TBVTSAAhJ5RvJ5qXVZGTo3Yd0_z=w400-h265&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/2034614626465466595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/2034614626465466595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/2034614626465466595'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/2034614626465466595'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2026/01/splitting-images.html' title='Splitting images'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEhFU33Q3DlS7kLiDxiF1If4Nu9rAahioIhMX1kHAEArLBAFeTx2GKJBPXd2n0q7cBsToSpcxnED-a4GrlPQCZHVMOZMqJfQ1gnAV-pAyjhhPQkDEWA2bUTkjLN9lqkQ_0WHob97XBtfCmfSvSUcPAasihCZm850cFe8ZCse5G9CaOD6wH05ri65QrTu6dGd=s72-w320-h640-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-1940478819963206266</id><published>2026-01-10T16:16:00.003+01:00</published><updated>2026-01-31T13:19:24.740+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ai"/><category scheme="http://www.blogger.com/atom/ns#" term="coding"/><category scheme="http://www.blogger.com/atom/ns#" term="html tools"/><title type='text'>HTML tools</title><content type='html'>&lt;p&gt;I came across &lt;a href=&quot;https://simonwillison.net/2025/Dec/10/html-tools/&quot;&gt;Useful patterns for building HTML tools&lt;/a&gt;&amp;nbsp;by Simon Willison and found it very interesting so decided to give it a try at some point, ie today.&lt;/p&gt;&lt;p&gt;A colleague will be running the London marathon and looking into the training plan, I thought it would have been nice for the organizers to allow you to download an ics file rather than a pdf file (or both). Something you can add to your calendar with no effort.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.londonmarathonevents.co.uk/sites/default/files/2025-10/2026_TCSLM_Beginner_Training_Plan.pdf&quot;&gt;https://www.londonmarathonevents.co.uk/sites/default/files/2025-10/2026_TCSLM_Beginner_Training_Plan.pdf&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhOkYpHOSC-SNWlHBVmpS7B-hw0wuDdzFxnlx9cpTmzucjEX8YKtiRIAKDXQnZGRMiKcJMCK-XW4dynqNB1JZ_LC52NnqCTstQM2iXYQANGdFdoB6258SUcFS_zGztJnRmmKbCminZdvIiNYD0hoE_FlqRZQ0hOGcJrmFUgkPed6-7u45bZraYJFAHy0Sju&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;816&quot; data-original-width=&quot;1174&quot; height=&quot;278&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhOkYpHOSC-SNWlHBVmpS7B-hw0wuDdzFxnlx9cpTmzucjEX8YKtiRIAKDXQnZGRMiKcJMCK-XW4dynqNB1JZ_LC52NnqCTstQM2iXYQANGdFdoB6258SUcFS_zGztJnRmmKbCminZdvIiNYD0hoE_FlqRZQ0hOGcJrmFUgkPed6-7u45bZraYJFAHy0Sju=w400-h278&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjUhpKamhrI6Om3ZoOAs3ImRtyf22TuTf7-eECd0zdfDzTB0U5M2cEnZwf7aP0oBAPTobYnHkApemvpjIwIjijVRQlYy0l4mtZgqB2N_-9gq82yWv-j89dMNGARDAP60_ck9E_Uo0vspincNIZC4qCvCCVo4-HtRleGBUA34732JEu7plvDoLNaiyxSTOZ9&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;826&quot; data-original-width=&quot;1166&quot; height=&quot;284&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjUhpKamhrI6Om3ZoOAs3ImRtyf22TuTf7-eECd0zdfDzTB0U5M2cEnZwf7aP0oBAPTobYnHkApemvpjIwIjijVRQlYy0l4mtZgqB2N_-9gq82yWv-j89dMNGARDAP60_ck9E_Uo0vspincNIZC4qCvCCVo4-HtRleGBUA34732JEu7plvDoLNaiyxSTOZ9=w400-h284&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So, enter html tools using Gemini. Needless to say, it took several iterations, so I really need to work on my prompts.&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;First prompt&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;Build an artifact that lets me open a pdf file. The file has a training plan to run a marathon and only pages 3 and 4 are relevant as they contain a table with the training plan. Pages 1 and 2 can be dismissed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;There needs to be a field in which the user can select the date of the marathon. The artifact will then generate calendar entries (ics file) for each day in the plan back from the date of the marathon. Each day is either a &quot;Rest day&quot; or a day in which you have to run or walk (or both). Rest days can be dismissed.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;For each day in which there is a walk or run planned there is small text with a description.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;It will be possible for the user to download those ics file. No React.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;As an example, if the selected date is April 26 2026, then the plan will start 16 weeks before.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Second prompt&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;Dismiss the parsing logic and simply include the text in each cell of the table for running days&lt;/span&gt;&lt;/p&gt;&lt;p&gt;At this point I remembered that Excel can parse pdf into columns so I gave it a try (not perfect) and changed the prompt so that it would accept a slightly edited excel table (maybe I should have tried uploading the excel file instead)&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjKwli-iLeXWzq9LKyYKoI1g9X3wIYr73Zso8Oikjja7vDSj_jI7QWoL6VIOYqXBAHS2EY_CnszpX9E7yWIVzTmF2Cgtyv0lEAIlI8pAP5-maR2NSPMtnWdji4rALN9HqrPA638I9dVjrNe_Z4Z6w0akzRju6DujReRoHHDNq0NH1HGVl5DojCO1n1tzkau&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;375&quot; data-original-width=&quot;792&quot; height=&quot;190&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjKwli-iLeXWzq9LKyYKoI1g9X3wIYr73Zso8Oikjja7vDSj_jI7QWoL6VIOYqXBAHS2EY_CnszpX9E7yWIVzTmF2Cgtyv0lEAIlI8pAP5-maR2NSPMtnWdji4rALN9HqrPA638I9dVjrNe_Z4Z6w0akzRju6DujReRoHHDNq0NH1HGVl5DojCO1n1tzkau=w400-h190&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Third prompt&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;ok, the parsing of the pdf file is not working. Instead of loading a pdf file, the user can paste an excel table. First column has week number, columns 2 to 8 have plans for each day of the week&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Fourth prompt&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;That did not quite work. Each cell has text delimited with inverted commas (&quot;). All text needs to be part of the training activity. Do not dismiss Rest days, however do not include them in the ics file&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Fifth prompt&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;all text within &quot; characters needs to be displayed, not only the first row&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Sixth prompt&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;This looks good, please express distance in km, not miles&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Seventh prompt&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;MIN stands for minutes, not miles&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Eight prompt&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;This looks good. It should be possible to edit rach row in the schedule&lt;/span&gt;&lt;/p&gt;&lt;p&gt;After these prompts, which did not really take long, I got this (note it works even with typos in the last prompt, yes, read it again). Nice and sweet.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhDMFk0vXxYgt755WFpF3n1voktQokp52ZQcG9GmqLk1Ztr1M7J1SozYxcGm3Y32qK0gid81B6_DFQb9PTaz7aTT3_yaePVavf-WKFCSw7up1FSs-a6rOnzV6FxQQEIoqcv_NgedDQhvtt8k3XcEHA2Y-b9rquBzTE1M5Ltk97XNpX1d_Aw8HgdcX0E5AJ3&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;803&quot; data-original-width=&quot;626&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhDMFk0vXxYgt755WFpF3n1voktQokp52ZQcG9GmqLk1Ztr1M7J1SozYxcGm3Y32qK0gid81B6_DFQb9PTaz7aTT3_yaePVavf-WKFCSw7up1FSs-a6rOnzV6FxQQEIoqcv_NgedDQhvtt8k3XcEHA2Y-b9rquBzTE1M5Ltk97XNpX1d_Aw8HgdcX0E5AJ3=w499-h640&quot; width=&quot;499&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/1940478819963206266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/1940478819963206266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/1940478819963206266'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/1940478819963206266'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2026/01/html-tools.html' title='HTML tools'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEhOkYpHOSC-SNWlHBVmpS7B-hw0wuDdzFxnlx9cpTmzucjEX8YKtiRIAKDXQnZGRMiKcJMCK-XW4dynqNB1JZ_LC52NnqCTstQM2iXYQANGdFdoB6258SUcFS_zGztJnRmmKbCminZdvIiNYD0hoE_FlqRZQ0hOGcJrmFUgkPed6-7u45bZraYJFAHy0Sju=s72-w400-h278-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-4741019512009226099</id><published>2026-01-03T14:15:00.001+01:00</published><updated>2026-01-03T14:15:36.739+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="reminiscing"/><title type='text'>2025: A year in review</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjPGZbyKAU5w_XXLnKp__lY48lJbAHFp3RIatZ_PUWCiQpwZ1q-2HWLUsjXSR-8FgQ7tKIPtJR_8OqYGq_2xu7267RiyhEF_SFaUnFBZRjl-WXySHYDec7Xvu86kwBvhzl7RVuL2AJycAintuTNh6eTqYI_G9nHcHlKladnX4u6_sfkXp90ivTuymENP5sY&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;527&quot; data-original-width=&quot;503&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjPGZbyKAU5w_XXLnKp__lY48lJbAHFp3RIatZ_PUWCiQpwZ1q-2HWLUsjXSR-8FgQ7tKIPtJR_8OqYGq_2xu7267RiyhEF_SFaUnFBZRjl-WXySHYDec7Xvu86kwBvhzl7RVuL2AJycAintuTNh6eTqYI_G9nHcHlKladnX4u6_sfkXp90ivTuymENP5sY=w382-h400&quot; width=&quot;382&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Now that the holidays are almost over, it is a good time to write about 2025 before the normal routine starts. All in all, 2025 was a pretty good year. Holidays again played a big role, and similar to 2024 this was mainly because of sharing them with family. We spent a few days in Easter and in October to enjoy the sun in Spain, enjoyed a busy Summer road trip to Belgium and Netherlands with one of my nieces and, again, but not quite the same, I took on the challenge of the Camino de Santiago, this time with my brother. Difficult to say what was the highlight of the year with so many good breaks. Following on what hopefully by now is a tradition, I wrote a couple of booklets with my travel notes, both or the Camino and the business trip to India.&lt;/p&gt;&lt;p&gt;If I thought I did well in 2024 regarding keeping physically active, 2025 was in a league of its own. I lost more than 10 kilos in six months through a combination of running, exercise and better nutrition, focusing on creating habits rather than quick returns. I started again the C25K programe and ended up running 10 km several times through the year, not to forget the multiple times I have been to Teufelsberg on 20+ km treks training for the Camino. No surprise then that the 165 km in early September including a 50 km final day was more fun than pain.&lt;/p&gt;&lt;p&gt;Work wise, another very busy and successful year thanks to the great team, which keeps changing and evolving and never stops to amaze me with their skill and dedication. 2026 will be again a busy year in which I am making my best to see challenges as opportunities while still trying to have fun and enjoy what we are building.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/4741019512009226099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/4741019512009226099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/4741019512009226099'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/4741019512009226099'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2026/01/2025-year-in-review.html' title='2025: A year in review'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEjPGZbyKAU5w_XXLnKp__lY48lJbAHFp3RIatZ_PUWCiQpwZ1q-2HWLUsjXSR-8FgQ7tKIPtJR_8OqYGq_2xu7267RiyhEF_SFaUnFBZRjl-WXySHYDec7Xvu86kwBvhzl7RVuL2AJycAintuTNh6eTqYI_G9nHcHlKladnX4u6_sfkXp90ivTuymENP5sY=s72-w382-h400-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-4974101060671959005</id><published>2025-12-14T12:52:00.003+01:00</published><updated>2025-12-14T12:52:38.582+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="LinkedIn"/><category scheme="http://www.blogger.com/atom/ns#" term="work"/><title type='text'>Civil ET&amp;S Award 2025</title><content type='html'>&lt;p&gt;Posted in LinkedIn earlier this week&lt;/p&gt;&lt;p&gt;What a great way to finish the year, really honoured to be part of the team which has received the Civil ET&amp;amp;S Award in the Engineering Excellence category.&lt;/p&gt;&lt;p&gt;Nice example of how collaboration across Services, Digital &amp;amp; Engineering working as one team towards a common objective really makes a difference.&lt;/p&gt;&lt;p&gt;Kimon Abu-Taa, Theodora Tzortzoglou, Christian Otterbach, Oguzhan Bozkurt, Theresa Robinson, Łukasz Więckowski, Alberto Bava, José Manuel Sarrión Navarro, Luca Fontana, Pasquale D&#39;Urso&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiqeRD1ayRo1jGhtfHOznWJPiFeM1EDIk9hkHgtwnQSpwEJVK7Omc-9crOZ5Fv5Vlk-2Gc6LfBVB0SMBV5e68E4xrYW6AkNCw5wkp6NrU1IDIFsKlV53ZyWy8FN4IavTBBLxAmPJLO_sDH7xb6gbNZjJiNw1Rn_dC7KZgMLg5p4u1X4b9P6FzTDZS7cFKv9&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;721&quot; data-original-width=&quot;598&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiqeRD1ayRo1jGhtfHOznWJPiFeM1EDIk9hkHgtwnQSpwEJVK7Omc-9crOZ5Fv5Vlk-2Gc6LfBVB0SMBV5e68E4xrYW6AkNCw5wkp6NrU1IDIFsKlV53ZyWy8FN4IavTBBLxAmPJLO_sDH7xb6gbNZjJiNw1Rn_dC7KZgMLg5p4u1X4b9P6FzTDZS7cFKv9=w531-h640&quot; width=&quot;531&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/4974101060671959005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/4974101060671959005' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/4974101060671959005'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/4974101060671959005'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2025/12/civil-et-award-2025.html' title='Civil ET&amp;S Award 2025'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEiqeRD1ayRo1jGhtfHOznWJPiFeM1EDIk9hkHgtwnQSpwEJVK7Omc-9crOZ5Fv5Vlk-2Gc6LfBVB0SMBV5e68E4xrYW6AkNCw5wkp6NrU1IDIFsKlV53ZyWy8FN4IavTBBLxAmPJLO_sDH7xb6gbNZjJiNw1Rn_dC7KZgMLg5p4u1X4b9P6FzTDZS7cFKv9=s72-w531-h640-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-2711210867703267416</id><published>2025-12-05T08:55:00.001+01:00</published><updated>2025-12-05T08:58:30.588+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="India"/><category scheme="http://www.blogger.com/atom/ns#" term="LinkedIn"/><category scheme="http://www.blogger.com/atom/ns#" term="viajes"/><category scheme="http://www.blogger.com/atom/ns#" term="work"/><title type='text'>Business trip to India</title><content type='html'>&lt;p&gt;I posted this in LinkedIn a few days ago&lt;/p&gt;&lt;p&gt;Kristian Harder and I visited Tata Consultancy Services in Bangalore and Pune two weeks ago, and I would like to thank the whole team for making us feel truly welcome, specially our hosts Anil Gangolli, Ronney Samuel and Sneha Sikchi (Malpani).&lt;/p&gt;&lt;p&gt;Our teams have been working together for several years and there is a strong foundation to continue our collaboration, based on our common commitment to deliver high quality data and software products. Thanks for letting us take part in your townhall meetings to provide context on Business Aviation and how we use data to drive decisions and enable value.&lt;/p&gt;&lt;p&gt;On a more personal note, playing cricket for the first time and doing it in India will be a cherished memory.&lt;/p&gt;&lt;div&gt;&lt;span color=&quot;rgba(0, 0, 0, 0.9)&quot; face=&quot;-apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif&quot; style=&quot;background-color: white; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span color=&quot;rgba(0, 0, 0, 0.9)&quot; face=&quot;-apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif&quot; style=&quot;background-color: white; font-size: 14px;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEijHAhUhU_lcKESliBV7I2G672HUIMpcvetis1FRojjyc6maG0-AkJ1hqqFgZrQ9aazPFgpl2IMTYdTAqaLUre-0Qx0ygiV-sNt9GB7R4hcbKgBmJPGMaHKsjUpnUD0N9iIFOx9Zc0GhIP-qSOJjTn11QNUzIXZUwiycxYUMfzD5aoQ88jSYaCWGsOnGqSt&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;671&quot; data-original-width=&quot;734&quot; height=&quot;584&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEijHAhUhU_lcKESliBV7I2G672HUIMpcvetis1FRojjyc6maG0-AkJ1hqqFgZrQ9aazPFgpl2IMTYdTAqaLUre-0Qx0ygiV-sNt9GB7R4hcbKgBmJPGMaHKsjUpnUD0N9iIFOx9Zc0GhIP-qSOJjTn11QNUzIXZUwiycxYUMfzD5aoQ88jSYaCWGsOnGqSt=w640-h584&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/2711210867703267416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/2711210867703267416' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/2711210867703267416'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/2711210867703267416'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2025/12/business-trip-to-india.html' title='Business trip to India'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEijHAhUhU_lcKESliBV7I2G672HUIMpcvetis1FRojjyc6maG0-AkJ1hqqFgZrQ9aazPFgpl2IMTYdTAqaLUre-0Qx0ygiV-sNt9GB7R4hcbKgBmJPGMaHKsjUpnUD0N9iIFOx9Zc0GhIP-qSOJjTn11QNUzIXZUwiycxYUMfzD5aoQ88jSYaCWGsOnGqSt=s72-w640-h584-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-6187130753833794730</id><published>2025-11-28T18:11:00.002+01:00</published><updated>2025-11-28T18:11:39.168+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="airports"/><category scheme="http://www.blogger.com/atom/ns#" term="B/W"/><category scheme="http://www.blogger.com/atom/ns#" term="India"/><category scheme="http://www.blogger.com/atom/ns#" term="Mumbai"/><category scheme="http://www.blogger.com/atom/ns#" term="viajes"/><title type='text'>Mumbai airport</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgrGT_wRqsrwLM748RtD7sF3fidGBIm7WRVrhi8-nMBUpHjuTDY-_OX1TXK78EJeWUfsu-V1ue0m5qJbNt439lfOoNH76dUGhtrsnEJ0QYWbALoAC3jWd0qQ3RTFkwp_EjTl0JwjpzvqpZ6SZgvf4FuR5uWK53DwKNlnRN9jsAatjbrh1msIUBngIkezNDX&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;720&quot; data-original-width=&quot;591&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgrGT_wRqsrwLM748RtD7sF3fidGBIm7WRVrhi8-nMBUpHjuTDY-_OX1TXK78EJeWUfsu-V1ue0m5qJbNt439lfOoNH76dUGhtrsnEJ0QYWbALoAC3jWd0qQ3RTFkwp_EjTl0JwjpzvqpZ6SZgvf4FuR5uWK53DwKNlnRN9jsAatjbrh1msIUBngIkezNDX=w525-h640&quot; width=&quot;525&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/6187130753833794730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/6187130753833794730' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/6187130753833794730'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/6187130753833794730'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2025/11/mumbai-airport.html' title='Mumbai airport'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEgrGT_wRqsrwLM748RtD7sF3fidGBIm7WRVrhi8-nMBUpHjuTDY-_OX1TXK78EJeWUfsu-V1ue0m5qJbNt439lfOoNH76dUGhtrsnEJ0QYWbALoAC3jWd0qQ3RTFkwp_EjTl0JwjpzvqpZ6SZgvf4FuR5uWK53DwKNlnRN9jsAatjbrh1msIUBngIkezNDX=s72-w525-h640-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-4108099278322789826</id><published>2025-11-28T18:09:00.003+01:00</published><updated>2025-11-28T18:09:46.335+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Bangalore"/><category scheme="http://www.blogger.com/atom/ns#" term="collage"/><category scheme="http://www.blogger.com/atom/ns#" term="India"/><category scheme="http://www.blogger.com/atom/ns#" term="Pune"/><category scheme="http://www.blogger.com/atom/ns#" term="viajes"/><title type='text'>India - Bangalore and Pune</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjemFG4y60xibvBADocDf_L99wQPFTRLaRzOaCrxSdgjNPAqLfbTqWEYcJOr3Fi3p26EZjfptEeOXlJhRV_MEYsB0Z31tLV1rXkYwSgNuSfCezjr15NMOrRMvraevBX9D8PNe0x5BEMWW07vKDTLhnjpLUDZMXKyU0iR2JJ6XLe1AIsj_lDeRMtbc3x9C9W&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;634&quot; data-original-width=&quot;774&quot; height=&quot;524&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjemFG4y60xibvBADocDf_L99wQPFTRLaRzOaCrxSdgjNPAqLfbTqWEYcJOr3Fi3p26EZjfptEeOXlJhRV_MEYsB0Z31tLV1rXkYwSgNuSfCezjr15NMOrRMvraevBX9D8PNe0x5BEMWW07vKDTLhnjpLUDZMXKyU0iR2JJ6XLe1AIsj_lDeRMtbc3x9C9W=w640-h524&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Business trips are always busy and you end up seeing hotels, airports, offices and restaurants (if you are lucky). Not everything is nice, however there is always a chance to capture beauty when you see things through the eye of a photographer&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/4108099278322789826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/4108099278322789826' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/4108099278322789826'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/4108099278322789826'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2025/11/india-bangalore-and-pune.html' title='India - Bangalore and Pune'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEjemFG4y60xibvBADocDf_L99wQPFTRLaRzOaCrxSdgjNPAqLfbTqWEYcJOr3Fi3p26EZjfptEeOXlJhRV_MEYsB0Z31tLV1rXkYwSgNuSfCezjr15NMOrRMvraevBX9D8PNe0x5BEMWW07vKDTLhnjpLUDZMXKyU0iR2JJ6XLe1AIsj_lDeRMtbc3x9C9W=s72-w640-h524-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-4199184970189367876</id><published>2025-11-28T17:58:00.003+01:00</published><updated>2025-11-28T18:00:19.106+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="collage"/><category scheme="http://www.blogger.com/atom/ns#" term="Doha"/><category scheme="http://www.blogger.com/atom/ns#" term="Qatar"/><category scheme="http://www.blogger.com/atom/ns#" term="viajes"/><title type='text'>Doha</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiOuNv2PKyZadQhNAQijTFM6b3nAx-RV0_DfDH8QxaQumF2dbwJ0DPfsjIfNYgRocmJOgfJYRugdTjZ7iwNJAahJPsTniMs7GqyQbYxn4WZCnkC-IhukjKU0G3ZsxWXI96LSKQERfzazeU4rw12q_t3E7stzRp058zZxkTlHp3Qu_kRwhpngcJ8U-zZEii2&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;722&quot; data-original-width=&quot;783&quot; height=&quot;591&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiOuNv2PKyZadQhNAQijTFM6b3nAx-RV0_DfDH8QxaQumF2dbwJ0DPfsjIfNYgRocmJOgfJYRugdTjZ7iwNJAahJPsTniMs7GqyQbYxn4WZCnkC-IhukjKU0G3ZsxWXI96LSKQERfzazeU4rw12q_t3E7stzRp058zZxkTlHp3Qu_kRwhpngcJ8U-zZEii2=w640-h591&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Turns out you can see a fair amount of Doha in a long layover en route to somewhere else, which is what I did a couple of weeks ago. Just get a transit visa, jump in the metro with a day pass and be willing to do quite some walking (we clocked over 30 thousand steps).&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEi8BHH1mmr6XlSuCG3BWVQNZE-292Scqt0UrUdXA2zkpj4eqIE173MIopfdJbj3SRqnPj32W_4E5KkMaRq_7ve-HBchUDmy1yv3FRnML946T7k31yPgHdCbmzaO04W0WeF2nFBrUXeBrW97QMoI7l9T9XiGQ4wSxDWTwROooUy8xk--3krscoOH49iMgSiT&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;723&quot; data-original-width=&quot;785&quot; height=&quot;589&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEi8BHH1mmr6XlSuCG3BWVQNZE-292Scqt0UrUdXA2zkpj4eqIE173MIopfdJbj3SRqnPj32W_4E5KkMaRq_7ve-HBchUDmy1yv3FRnML946T7k31yPgHdCbmzaO04W0WeF2nFBrUXeBrW97QMoI7l9T9XiGQ4wSxDWTwROooUy8xk--3krscoOH49iMgSiT=w640-h589&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/4199184970189367876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/4199184970189367876' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/4199184970189367876'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/4199184970189367876'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2025/11/doha.html' title='Doha'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEiOuNv2PKyZadQhNAQijTFM6b3nAx-RV0_DfDH8QxaQumF2dbwJ0DPfsjIfNYgRocmJOgfJYRugdTjZ7iwNJAahJPsTniMs7GqyQbYxn4WZCnkC-IhukjKU0G3ZsxWXI96LSKQERfzazeU4rw12q_t3E7stzRp058zZxkTlHp3Qu_kRwhpngcJ8U-zZEii2=s72-w640-h591-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-518707963593537345</id><published>2025-09-13T10:00:00.000+02:00</published><updated>2025-09-13T10:00:56.768+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Camino"/><title type='text'>Camino 2025</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgyfWzUK-DvNmuYOsIYFnoFePdO5UOcdxpOOGlS166h1me0ji-Pkbz6x3krt42TZQ5rlxtuZnAHXB7TzcT05hzKEEiZAIkvXeynbnlvfpPlIR2ul0HuiFTyaDOYbfbrfB-4ruVar3xGZNlYKdq4RnepcerhSOUp52IG6adGnSO96w67vKU8uBunx9fNwsJ5&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;853&quot; data-original-width=&quot;1343&quot; height=&quot;406&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgyfWzUK-DvNmuYOsIYFnoFePdO5UOcdxpOOGlS166h1me0ji-Pkbz6x3krt42TZQ5rlxtuZnAHXB7TzcT05hzKEEiZAIkvXeynbnlvfpPlIR2ul0HuiFTyaDOYbfbrfB-4ruVar3xGZNlYKdq4RnepcerhSOUp52IG6adGnSO96w67vKU8uBunx9fNwsJ5=w640-h406&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgX54t0RKIj-IIlOflrIAvNqPUVfeD6sXgwVXeDicYZJFYRBNo2WIa7S_k7TWaNB1xjOR6wTyFtNWIs7FPbzGTDCkPhphQDL9uRhvndiDRHddovJe8xuvtKEIIPCaFRfHX1FT3gtyJqjVbvZywJxkORBSq7rYkq0zedxGo5lC3U_OW-vsw6G0Cj3TqHc8uZ&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;360&quot; data-original-width=&quot;999&quot; height=&quot;230&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgX54t0RKIj-IIlOflrIAvNqPUVfeD6sXgwVXeDicYZJFYRBNo2WIa7S_k7TWaNB1xjOR6wTyFtNWIs7FPbzGTDCkPhphQDL9uRhvndiDRHddovJe8xuvtKEIIPCaFRfHX1FT3gtyJqjVbvZywJxkORBSq7rYkq0zedxGo5lC3U_OW-vsw6G0Cj3TqHc8uZ=w640-h230&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Camino Planner:&amp;nbsp;&lt;a href=&quot;https://godesalco.com/&quot; style=&quot;text-align: left;&quot;&gt;Godesalco.com&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/518707963593537345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/518707963593537345' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/518707963593537345'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/518707963593537345'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2025/09/camino-2025.html' title='Camino 2025'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEgyfWzUK-DvNmuYOsIYFnoFePdO5UOcdxpOOGlS166h1me0ji-Pkbz6x3krt42TZQ5rlxtuZnAHXB7TzcT05hzKEEiZAIkvXeynbnlvfpPlIR2ul0HuiFTyaDOYbfbrfB-4ruVar3xGZNlYKdq4RnepcerhSOUp52IG6adGnSO96w67vKU8uBunx9fNwsJ5=s72-w640-h406-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-3119920507650411710</id><published>2025-09-13T09:08:00.000+02:00</published><updated>2025-09-13T09:08:12.417+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Camino"/><title type='text'> Yet another incredible adventure on the Camino de Santiago!</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhD8uY1P72cL4ZYnd5Su5MspZHw9byhm-lNqsW4thXZtJ9t1mpOAdi-qi5pyDxn5FvN-YnqvsfCs_ea59jCv7Cm1h2P40fHrb3ksBVTmoGLd1gCI8MG5-KHD5sIrKF_xY9qITBYRrHmEMikbQeiSfF_hu6kU5BdfdJtGFSC4SboGuObP-J9j9PiNYT5POMj&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1024&quot; data-original-width=&quot;768&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhD8uY1P72cL4ZYnd5Su5MspZHw9byhm-lNqsW4thXZtJ9t1mpOAdi-qi5pyDxn5FvN-YnqvsfCs_ea59jCv7Cm1h2P40fHrb3ksBVTmoGLd1gCI8MG5-KHD5sIrKF_xY9qITBYRrHmEMikbQeiSfF_hu6kU5BdfdJtGFSC4SboGuObP-J9j9PiNYT5POMj=w480-h640&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Over seven days last week, my brother and I walked ~165 km from St Jean Pied de Port to Logroño. We faced plenty of challenges, from an extremely rainy and steep first stage—an 8 km climb to a refuge at 800m after a nine-hour journey—to a scorching 50 km final day in 30°C heat. That last day alone set a new personal record for most steps: a whopping 72k!&lt;/p&gt;&lt;p&gt;This experience felt very different from last year&#39;s journey. It was a powerful testament to how much my physical condition has improved, and a great reminder that my training and wellness goals are paying off.&lt;/p&gt;&lt;p&gt;As always on the Camino, we met many amazing fellow pilgrims. It was inspiring to connect with those on their full journey to Santiago, not just walking a few days like us.&lt;/p&gt;&lt;p&gt;This journey wasn&#39;t about stepping out of my comfort zone, but rather about expanding it. The rewarding feeling of meeting a great challenge is what I&#39;ve come to know as &quot;type 2 fun.&quot;&lt;/p&gt;&lt;p&gt;Here&#39;s to a greater sense of well-being and more rewarding adventures ahead!&lt;/p&gt;&lt;p&gt;#CaminoDeSantiago #Wellness #OutdoorAdventure #Gratitude #PersonalGrowth&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;This was originally posted in LinkedIn&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/3119920507650411710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/3119920507650411710' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/3119920507650411710'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/3119920507650411710'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2025/09/yet-another-incredible-adventure-on.html' title=' Yet another incredible adventure on the Camino de Santiago!'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEhD8uY1P72cL4ZYnd5Su5MspZHw9byhm-lNqsW4thXZtJ9t1mpOAdi-qi5pyDxn5FvN-YnqvsfCs_ea59jCv7Cm1h2P40fHrb3ksBVTmoGLd1gCI8MG5-KHD5sIrKF_xY9qITBYRrHmEMikbQeiSfF_hu6kU5BdfdJtGFSC4SboGuObP-J9j9PiNYT5POMj=s72-w480-h640-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-1164860474461974290</id><published>2025-06-28T13:22:00.003+02:00</published><updated>2025-06-28T13:22:30.003+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c25k"/><category scheme="http://www.blogger.com/atom/ns#" term="Camino"/><title type='text'>Running and hiking is fun</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEi3ZnnQ8QYyJmKae8GW4Awu7djQq0mZAGOzrKjCGBukUL208mcwdDe78gY9DS44omaSRuwWcNb0Mfx5hLyAKzJTAy_GelRxLA5KWAer3hbBltNHzIwdyw9iCNw4ZML26t1wACTEuSt4_WpeFKskDgn_lUsS7lZbG4gJcWE3E1hP4pBqL2FCABodlgFwNUjl&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;614&quot; data-original-width=&quot;1277&quot; height=&quot;308&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEi3ZnnQ8QYyJmKae8GW4Awu7djQq0mZAGOzrKjCGBukUL208mcwdDe78gY9DS44omaSRuwWcNb0Mfx5hLyAKzJTAy_GelRxLA5KWAer3hbBltNHzIwdyw9iCNw4ZML26t1wACTEuSt4_WpeFKskDgn_lUsS7lZbG4gJcWE3E1hP4pBqL2FCABodlgFwNUjl=w640-h308&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;It&#39;s been a while since the last post. Running is going great, I finished the C25K as planned and kept running regularly two or three times per week, at some point starting to do slightly longer routes. And then, all of a sudden, last week I went out for an easy 6 km run, however half way through I decided to make it 8 km and a bit later I thought I may as well do 10 km. Slow average pace of 6&#39;47&quot;, pretty constant&amp;nbsp; pace throughout (max 6&#39;42&quot; and min 6&#39;47&quot;) despite a few unexpected ups and downs in the unplanned route. Even better, when I finished, I was tired but not exhausted and definitely proud of myself, quite some progress in the last months.&lt;p&gt;&lt;/p&gt;&lt;p&gt;At the same time I have been doing some longer walks each weekend, around 20 km each, with a full backpack and with repeat ups and downs in Teufelsberg Rodelberg. Training for El Camino!&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/1164860474461974290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/1164860474461974290' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/1164860474461974290'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/1164860474461974290'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2025/06/running-and-hiking-is-fun.html' title='Running and hiking is fun'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEi3ZnnQ8QYyJmKae8GW4Awu7djQq0mZAGOzrKjCGBukUL208mcwdDe78gY9DS44omaSRuwWcNb0Mfx5hLyAKzJTAy_GelRxLA5KWAer3hbBltNHzIwdyw9iCNw4ZML26t1wACTEuSt4_WpeFKskDgn_lUsS7lZbG4gJcWE3E1hP4pBqL2FCABodlgFwNUjl=s72-w640-h308-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-465055945099453320</id><published>2025-03-25T20:28:00.008+01:00</published><updated>2025-04-14T08:44:23.342+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c25k"/><title type='text'>C25K 2025 edition</title><content type='html'>&lt;p&gt;I started jogging again a few weeks ago. In fact, tomorrow I will start week 4, so far so good.&lt;/p&gt;&lt;p&gt;PS April 11th: Finishing week six, 25 minutes without stops. From now on, it´s &quot;just&quot; 25, 28 &amp;amp; 30 minutes of running in weeks seven, eight and nine. Almost there and it feels like I could run 30 minutes already now anyway.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://c25k.com/c25k_plan/&quot;&gt;C25k Plan | Couch to 5k - C25K Running Program&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/465055945099453320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/465055945099453320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/465055945099453320'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/465055945099453320'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2025/03/c25k-2025-edition.html' title='C25K 2025 edition'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-8970768959382696988</id><published>2025-02-14T20:27:00.000+01:00</published><updated>2025-02-14T20:27:27.326+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PhotosFromMyWindows"/><title type='text'>El pájaro grande se come al pequeño</title><content type='html'>&lt;p&gt;Muy apropiado en estos tiempos que corren en los que parece que la ley del más fuerte está a punto de imponerse.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhs_y1Yj0Ss2YnU4Ro10pLpRzncvsHsmXksNlzuXeodPKIyQ0SVTkm-HjlIVAKlZKw6vy7fb2Z870Q4_hpAiwdYS91IQgdLprmrR83v7IQgMpkbELwmtrR0i-IoS_6a0Rq0VqCxrvZnKz1eAHrzdzwGA44bZ5r4bz975iC4XgBpxmAKfLl2DSA87-2GxIRa&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;710&quot; data-original-width=&quot;1067&quot; height=&quot;426&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhs_y1Yj0Ss2YnU4Ro10pLpRzncvsHsmXksNlzuXeodPKIyQ0SVTkm-HjlIVAKlZKw6vy7fb2Z870Q4_hpAiwdYS91IQgdLprmrR83v7IQgMpkbELwmtrR0i-IoS_6a0Rq0VqCxrvZnKz1eAHrzdzwGA44bZ5r4bz975iC4XgBpxmAKfLl2DSA87-2GxIRa=w640-h426&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiSJEiKP0qU-Ja8cMoZ0u1OLMRwlw6lUMEbnPxTGK1jiSCoAe9EECR9Etew-nzfYzvRUpkUxN4TPht-QJh-DnFtvb0nrJG9Y6C1FNoN_3PC67smEJ8HiNOa7eSL8eHWUpBEMmXMZkdglPIcCkkUq5DJ_Azqd9xFsCkf-lgrK6Grh8pQyv8WDFCtiLiRFwqB&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;774&quot; data-original-width=&quot;1395&quot; height=&quot;356&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiSJEiKP0qU-Ja8cMoZ0u1OLMRwlw6lUMEbnPxTGK1jiSCoAe9EECR9Etew-nzfYzvRUpkUxN4TPht-QJh-DnFtvb0nrJG9Y6C1FNoN_3PC67smEJ8HiNOa7eSL8eHWUpBEMmXMZkdglPIcCkkUq5DJ_Azqd9xFsCkf-lgrK6Grh8pQyv8WDFCtiLiRFwqB=w640-h356&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/8970768959382696988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/8970768959382696988' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/8970768959382696988'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/8970768959382696988'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2025/02/el-pajaro-grande-se-come-al-pequeno.html' title='El pájaro grande se come al pequeño'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEhs_y1Yj0Ss2YnU4Ro10pLpRzncvsHsmXksNlzuXeodPKIyQ0SVTkm-HjlIVAKlZKw6vy7fb2Z870Q4_hpAiwdYS91IQgdLprmrR83v7IQgMpkbELwmtrR0i-IoS_6a0Rq0VqCxrvZnKz1eAHrzdzwGA44bZ5r4bz975iC4XgBpxmAKfLl2DSA87-2GxIRa=s72-w640-h426-c" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-4090515674035059612</id><published>2025-02-07T20:49:00.001+01:00</published><updated>2025-02-08T17:17:17.524+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Bluesky"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><title type='text'>Bluesky posts and followers</title><content type='html'>&lt;p&gt;Now that I am posting a random photo each day, I find myself looking forward to see which one will be posted. A few days ago &lt;a href=&quot;https://cabrejas.blogspot.com/2012/09/new-synagogue.html&quot; target=&quot;_blank&quot;&gt;an old photo&lt;/a&gt; got almost 300 likes and yesterday &lt;a href=&quot;https://cabrejas.blogspot.com/2012/03/joy-of-reading.html&quot; target=&quot;_blank&quot;&gt;another old photo&lt;/a&gt; got also ~300 likes and over 30 reposts.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I have also been looking at my followers in Bluesky, most of which follow me because of one list I am in.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjimwZg-qrdvXK1W5NMChvFbX8g54yfS49hDtjjdn4TUoL636Wv65gbL_wyRpglcz6ZZTZX5j6AGyajbdQNBvH-Vgbhb_qE6KgjMvgC9i5NgBaBhhXB68JS5wEY_HhdxcP1QLtpJe4piltWT1bbkLPuba8HTYgWAodzhATlrJxiNEI71op8yo-U9WZocguI&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;800&quot; data-original-width=&quot;1000&quot; height=&quot;512&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjimwZg-qrdvXK1W5NMChvFbX8g54yfS49hDtjjdn4TUoL636Wv65gbL_wyRpglcz6ZZTZX5j6AGyajbdQNBvH-Vgbhb_qE6KgjMvgC9i5NgBaBhhXB68JS5wEY_HhdxcP1QLtpJe4piltWT1bbkLPuba8HTYgWAodzhATlrJxiNEI71op8yo-U9WZocguI=w640-h512&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;~1.2k followers. Number of posts of each account is shown both as color map and size of the bubble (also log scale dealing with accounts with 0 &amp;amp; 1 posts as if they have 1.5 posts to avoid minus infinite or zero size).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Insights&lt;/div&gt;&lt;div&gt;~300 accounts have not posted at all yet. They may be new accounts, or they may be lurkers.&lt;/div&gt;&lt;div&gt;About half of the followers have less than ten posts&lt;/div&gt;&lt;div&gt;~80 accounts have more than 1000 posts&lt;/div&gt;&lt;div&gt;1 account has over 25k posts (!) and as far as I can see, it is not a bot.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;PS Feb 8th: I will run this as a cron job each week. Let´s see what it looks like in one year time.&amp;nbsp;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/4090515674035059612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/4090515674035059612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/4090515674035059612'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/4090515674035059612'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2025/02/bluesky-posts-and-followers.html' title='Bluesky posts and followers'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEjimwZg-qrdvXK1W5NMChvFbX8g54yfS49hDtjjdn4TUoL636Wv65gbL_wyRpglcz6ZZTZX5j6AGyajbdQNBvH-Vgbhb_qE6KgjMvgC9i5NgBaBhhXB68JS5wEY_HhdxcP1QLtpJe4piltWT1bbkLPuba8HTYgWAodzhATlrJxiNEI71op8yo-U9WZocguI=s72-w640-h512-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-7342104618836971006</id><published>2025-02-03T11:11:00.004+01:00</published><updated>2025-02-05T09:39:55.099+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ai"/><category scheme="http://www.blogger.com/atom/ns#" term="Bluesky"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><title type='text'>Even more flet adventures</title><content type='html'>&lt;p&gt;The automated posts of random photos started well, however I wanted to have customized messages for each photo. That means writing a short message for each one. Not difficult, but tedious. Enter Gemini and flet.&lt;/p&gt;&lt;p&gt;I used this prompt to create a skeleton script of what I wanted. Of course the script did not work out of the box even after a few attempts. Still, good enough to start the debugging and make something useful.&lt;/p&gt;&lt;p _ngcontent-ng-c2479361043=&quot;&quot; class=&quot;query-text-line ng-star-inserted&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;I would like to create a flet app which allows the following:  &lt;!----&gt;&lt;!----&gt;&lt;/span&gt;&lt;/p&gt;&lt;p _ngcontent-ng-c2479361043=&quot;&quot; class=&quot;query-text-line ng-star-inserted&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;  -select folder with images (jpg and png file formats). Do not use filedialog for this. Use filepicker  &lt;!----&gt;&lt;!----&gt;&lt;/span&gt;&lt;/p&gt;&lt;p _ngcontent-ng-c2479361043=&quot;&quot; class=&quot;query-text-line ng-star-inserted&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;  -for each photo, the user can create image captions which are saved in separate text files (same name as photo, just with .txt extension)&lt;/span&gt;&lt;/p&gt;&lt;p _ngcontent-ng-c2479361043=&quot;&quot; class=&quot;query-text-line ng-star-inserted&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p _ngcontent-ng-c2479361043=&quot;&quot; class=&quot;query-text-line ng-star-inserted&quot;&gt;I ended up with less than 80 lines of code to create this mini tool, which made the whole task a lot easier. At some point I may give a try to one of the image captioning ai models in Huggingface. Just not sure I want my photos captioned without supervision and the posted.&lt;/p&gt;&lt;p _ngcontent-ng-c2479361043=&quot;&quot; class=&quot;query-text-line ng-star-inserted&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjIErmP6RfeemQsgoIUy2THixM3DXI5D6LYsKuRYSaQ3By0lDKGGtZvtcVu80azZ843KtT3nKgPKwjZ2eamkdMidy0g5A2pFDx78jk2kz9HygPqZM8WQrk_8zRVZr5rKXEYbGDMzaQmWK6d1YG3Y9q-m3pzeRRnomlQ5Bb_Qzy9fts_h6bQuCZI2_r6OHF-&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;661&quot; data-original-width=&quot;938&quot; height=&quot;452&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjIErmP6RfeemQsgoIUy2THixM3DXI5D6LYsKuRYSaQ3By0lDKGGtZvtcVu80azZ843KtT3nKgPKwjZ2eamkdMidy0g5A2pFDx78jk2kz9HygPqZM8WQrk_8zRVZr5rKXEYbGDMzaQmWK6d1YG3Y9q-m3pzeRRnomlQ5Bb_Qzy9fts_h6bQuCZI2_r6OHF-=w640-h452&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;PS: I downloaded the Salesforce/blip-image-captioning-base model from Huggingface and gave it a try. Considering the low effort the hit rate is not bad. Still, not something I would trust being posted without supervision. The automated text generated for the five photos above was:&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;a photography of a rose&lt;/div&gt;&lt;div&gt;a photography of a road in paris&lt;/div&gt;&lt;div&gt;a photography of a clay sculpture of a man with a boxing glove&lt;/div&gt;&lt;div&gt;a photography of a jet engine&lt;/div&gt;&lt;div&gt;a photography of the tokyo tower&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;PPS: For comparison, I got myself an API key for Google Gemini and used &quot;Describe this photo. The resulting text must have at most 250 characters.&quot; Wow. This is not even the latest model, as I used Gemini 1.5 Flash&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A single, red rose, partially open, is shown against a blurred green background.&amp;nbsp; The rose&#39;s petals are a blend of deep red and lighter pink, showcasing delicate texture.&amp;nbsp; The stem and leaves are visible.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A high-angle, long shot reveals a wide, tree-lined avenue cutting through a lush green park.&amp;nbsp; Vehicles travel along the road, leading toward a distant cityscape under a cloudy sky.&amp;nbsp; A television tower is visible on the horizon.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A small ceramic figurine, resembling a gnome, sits on a white surface. It has a large red nose, brown body, and a dark green hat.&amp;nbsp; The background is plain white.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Black and white photo of a large turbofan engine.&amp;nbsp; The engine&#39;s fan blades are prominent, filling most of the frame.&amp;nbsp; It&#39;s displayed indoors, in what appears to be an airport terminal.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tokyo Tower, a red and white lattice tower, rises above lush green trees under a partly sunny sky.&amp;nbsp; The tower is partially obscured by the foliage.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;P³S 5th Feb: Posts will now have the AI generated description as Alt text&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/7342104618836971006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/7342104618836971006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/7342104618836971006'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/7342104618836971006'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2025/02/even-more-flet-adventures.html' title='Even more flet adventures'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEjIErmP6RfeemQsgoIUy2THixM3DXI5D6LYsKuRYSaQ3By0lDKGGtZvtcVu80azZ843KtT3nKgPKwjZ2eamkdMidy0g5A2pFDx78jk2kz9HygPqZM8WQrk_8zRVZr5rKXEYbGDMzaQmWK6d1YG3Y9q-m3pzeRRnomlQ5Bb_Qzy9fts_h6bQuCZI2_r6OHF-=s72-w640-h452-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-178860383101783287</id><published>2025-01-31T17:56:00.003+01:00</published><updated>2025-01-31T17:56:43.402+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ai"/><category scheme="http://www.blogger.com/atom/ns#" term="Bluesky"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><title type='text'>Hello automated posting of photos in Bluesky</title><content type='html'>&lt;p&gt;I posted a daily photo in IG for a long long time. This time round, I will be posting a photo each day in Bluesky using a script. Plus it is a random photo from a folder containing a few hundred of them, so it is also a surprise for me which one ges published each day. I would love to add Alt text, but that would require to run them all through some sort of AI (aka learning how to automate it). Not quite sure about that from the ethical point of view (plus who says the descriptions will be any good). On the other hand, creating descriptions for hundreds of photos is quite some work. Need to think about it.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/178860383101783287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/178860383101783287' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/178860383101783287'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/178860383101783287'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2025/01/hello-automated-posting-of-photos-in.html' title='Hello automated posting of photos in Bluesky'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-5051266962431500631</id><published>2025-01-19T17:05:00.004+01:00</published><updated>2025-01-19T17:05:58.390+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="coding"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><title type='text'>More flet adventures</title><content type='html'>&lt;p&gt;After getting the photo collage desktop app to a reasonable state, I am looking now at using it as a web app, which turns out to be reasonably straight forward, although a few tweaks are required here and there. I got myself a small server in the cloud to do &lt;a href=&quot;https://flet.dev/docs/publish/web/dynamic-website/hosting/self-hosting&quot; target=&quot;_blank&quot;&gt;some trials&lt;/a&gt; and so far I managed to &lt;a href=&quot;https://ubuntu.com/tutorials/install-and-configure-nginx&quot; target=&quot;_blank&quot;&gt;set up nginx&lt;/a&gt; as a reverse proxy, set up certificates with &lt;a href=&quot;https://certbot.eff.org/instructions?ws=nginx&amp;amp;os=pip&quot; target=&quot;_blank&quot;&gt;certbot&lt;/a&gt;, and set up two separate apps side by side which are launched as services.&lt;/p&gt;&lt;p&gt;Lots of learning. Also plenty of issues to fix so it shows well on mobiles and tablets and to manage upload and download of files. Still, plenty of fun.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/5051266962431500631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/5051266962431500631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/5051266962431500631'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/5051266962431500631'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2025/01/more-flet-adventures.html' title='More flet adventures'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-1329272023260166311</id><published>2025-01-18T16:12:00.003+01:00</published><updated>2025-01-18T16:12:23.258+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><title type='text'>Good bye, CalendarPuzzle bot in twitter</title><content type='html'>&lt;p&gt;&amp;nbsp;After a bit more than three years, today the&amp;nbsp;&lt;a href=&quot;https://cabrejas.blogspot.com/2021/12/calendar-puzzle-ii.html&quot; target=&quot;_blank&quot;&gt;CalendarPuzzle&lt;/a&gt;&amp;nbsp;posted its last post in Twitter. Sorry for the followers there, I do hope that they will make their way to Bluesky and follow the bot posting there.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/1329272023260166311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/1329272023260166311' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/1329272023260166311'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/1329272023260166311'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2025/01/good-bye-calendarpuzzle-bot-in-twitter.html' title='Good bye, CalendarPuzzle bot in twitter'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-9464599201906218</id><published>2024-12-28T19:53:00.001+01:00</published><updated>2024-12-28T19:53:12.258+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><title type='text'>Photo Collage app - progress update</title><content type='html'>&lt;p&gt;Scope creep was unavoidable since basic functionality took me less than expected :-)&lt;/p&gt;&lt;p&gt;Very enjoyable side project!&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;7 minutes ago : add filter capability to layouts&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;2 hours ago : collage items resizing and show values to user to make alignment easier&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;2 hours ago : delete collage items in layouts with right click&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;3 hours ago : grid spacing added&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;2 days ago : clean up&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;2 days ago : clean up save_collage&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;2 days ago : adjust crop area saved&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;2 days ago : basic save capability (ImageGrab)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;2 days ago : added filename text field with default time stamp, extension dropdown and save button&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;2 days ago : Added selection of background color&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;6 days ago : clean up unused code&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;6 days ago : interactive viewer in collage area :-)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;6 days ago : interactiveviewer in separate screen area&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;8 days ago : Merge branch &#39;working_app&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;8 days ago : fixed clash between src and src_base64&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;8 days ago : clean up, remove png thumbnails, only use base64&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;8 days ago : fixed base64 image thumbnails&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;8 days ago : clean up&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;8 days ago : saving layouts now works&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;8 days ago : remove commented out code&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;8 days ago : load layouts from files&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;8 days ago : list layouts and show them&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;8 days ago : able to save and load new layouts&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;8 days ago : able to create collage areas&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;9 days ago : add comments to each secion of the code to group statements related to each area&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;9 days ago : reorder rail, start new layout section&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;10 days ago : ImageFit.CONTAIN&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;11 days ago : set layout as start of rail&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;11 days ago : initial layout definition accepting photos&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;13 days ago : placeholder moved to assets folder&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;13 days ago : files can be dragged to destination&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;2 weeks ago : draggable photo thumbs&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;2 weeks ago : create photos.py for first rail action&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier; font-size: x-small;&quot;&gt;2 weeks ago : initial page and working areas without any functionality&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/9464599201906218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/9464599201906218' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/9464599201906218'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/9464599201906218'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2024/12/photo-collage-app-progress-update.html' title='Photo Collage app - progress update'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-2292655987385209874</id><published>2024-12-25T13:18:00.000+01:00</published><updated>2024-12-25T13:18:31.560+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ai"/><category scheme="http://www.blogger.com/atom/ns#" term="reminiscing"/><title type='text'>2024: A year in review</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh54e3aa5AGHWPhtQYBHMcsb4VLCD0pG_n1wKHNenv09p1-7l_w89JR6pJZYOreG4dHM5K7YORvMtp1JORsdnN71IhGnr_8h4lsWdC_ILdOytt_Eb03os7SROLhyphenhyphenAJm-8E_7WAeUAwVwOvBngp5jze35QET1SXOaMb76t7bhgJbWLmXYwD1czqEJmdaQbc9/s1261/IMG_20241225_121737~2.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1261&quot; data-original-width=&quot;1261&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh54e3aa5AGHWPhtQYBHMcsb4VLCD0pG_n1wKHNenv09p1-7l_w89JR6pJZYOreG4dHM5K7YORvMtp1JORsdnN71IhGnr_8h4lsWdC_ILdOytt_Eb03os7SROLhyphenhyphenAJm-8E_7WAeUAwVwOvBngp5jze35QET1SXOaMb76t7bhgJbWLmXYwD1czqEJmdaQbc9/w400-h400/IMG_20241225_121737~2.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;The winter solstice is always a good time to reflect on what has happened during the last year. Also a good time to express gratitude for all the good things that have happened. I appreciate this is not the case for everyone and, in fact, the Xmas period can be stressful or downright sad, particularly if you are missing loved ones. Maybe because of this, an extra reason to be thankful.&lt;/p&gt;&lt;p&gt;Holidays played a major role this year, not because we visited distant places such as we did in 2023, but rather because we shared them. First with my parents in our little tour of Extremadura and Andalucía, then with one my nephews in a Summer road trip including five countries in Europe and, last but definitely not least, the Camino de Santiago with my sister, the highlight of the year. So much so that I wrote a 70-page booklet with my travel notes similar to what I did last year with the trip to Japan. Finally, we also stayed overnight in El Toboso, something we had not done for many years.&lt;/p&gt;&lt;p&gt;One thing I did better this year than last was keeping physically active. I did follow through the C25K programe, which was a good enough training to make through the 140km of el Camino. Who knows, maybe next year there will an opportunity to do other parts of el Camino. With so many trips, it was not difficult to take the one or the other nice picture, almost completely with my phone, which I have come to accept as my main camera now. And talking about photos, this year I have (almost) completed something I had been thinking about for a long time, a desktop app to make collages. It turns out it was a lot easier than expected thanks to a great framework I discovered through my brother.&lt;/p&gt;&lt;p&gt;Work wise, another very busy year, although I managed to control the amount of overtime despite (or maybe because of?) a surge in office days compared to previous years. The team managed a couple of major breakthroughs in the product we are developing and, of course, there is no shortage of challenges. Tremendously proud of my team and everything we have achieved. It&#39;s now seven years that I am in this position, the longest I have ever been in the same place in the soon to be twenty five years working at Rolls-Royce. Time flies when you are having fun.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Same post rewritten with AI (Gemini)&lt;/p&gt;&lt;p&gt;The Winter Solstice always marks a time for reflection – a moment to acknowledge the journey of the past year. Gratitude fills my heart as I consider the blessings I&#39;ve received. I understand this sentiment may not resonate with everyone, and the holiday season can be a challenging time, especially for those grieving the absence of loved ones. Perhaps this shared understanding makes gratitude even more meaningful.&lt;/p&gt;&lt;p&gt;Holidays played a significant role this year, not through far-flung travels like 2023, but through cherished moments shared with loved ones. A road trip through Extremadura and Andalucía with my parents, a summer adventure across five European countries with my nephew, and the unforgettable Camino de Santiago with my sister – these experiences stand out as highlights. The Camino, in particular, inspired me to document our journey in a 70-page travelogue, much like I did after my trip to Japan last year. And finally, a long-awaited visit to El Toboso brought joy and a sense of homecoming.&lt;/p&gt;&lt;p&gt;This year, I made a conscious effort to prioritize physical well-being. Completing the C25K program proved invaluable, providing the necessary foundation for the 140km Camino trek. Perhaps future opportunities will allow me to explore other sections of this remarkable path. With so much travel, capturing memories through photography became a natural extension of these experiences. My phone has become my primary camera, and I&#39;ve embraced its capabilities. Speaking of photography, I finally achieved a long-held dream: developing a desktop app for creating photo collages. Thanks to a fantastic framework discovered through my brother, the process turned out to be far easier than anticipated.&lt;/p&gt;&lt;p&gt;Professionally, this year has been another whirlwind of activity. Despite a significant increase in office days compared to previous years, I successfully managed my workload and limited overtime. The team achieved several remarkable breakthroughs in our product development, though challenges undoubtedly remain. I am immensely proud of my team and their accomplishments. Seven years in this role marks the longest tenure I&#39;ve held in my 25-year career at Rolls-Royce. Time truly flies when you&#39;re passionate about your work.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/2292655987385209874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/2292655987385209874' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/2292655987385209874'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/2292655987385209874'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2024/12/2024-year-in-review.html' title='2024: A year in review'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh54e3aa5AGHWPhtQYBHMcsb4VLCD0pG_n1wKHNenv09p1-7l_w89JR6pJZYOreG4dHM5K7YORvMtp1JORsdnN71IhGnr_8h4lsWdC_ILdOytt_Eb03os7SROLhyphenhyphenAJm-8E_7WAeUAwVwOvBngp5jze35QET1SXOaMb76t7bhgJbWLmXYwD1czqEJmdaQbc9/s72-w400-h400-c/IMG_20241225_121737~2.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2073033124716732936.post-1517719800055547402</id><published>2024-12-14T00:02:00.005+01:00</published><updated>2024-12-22T23:57:25.176+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><title type='text'>Photo Collage app</title><content type='html'>&lt;p&gt;One tool I would like to have is a mini app which allows me to make a photo collage. I already have a notebook which allows me to do matrix-type of collages but I don´t get to select the order of the photos or manipulate photos (zooming and moving). Instead of doing Advent of Code, this year I will (try to) build this app by myself. I am going to give flet a try and see how far I get. Wish me luck&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;So, a few requirements:&lt;/p&gt;&lt;p&gt;I want to be able to select photos from a local folder. Stretch: select photos from several folders.&lt;/p&gt;&lt;p&gt;I want to be able to use different layouts for the collage. Stretch: I can define new layouts within the app&lt;/p&gt;&lt;p&gt;I want to be able to drag and drop photos into each area of the collage&lt;/p&gt;&lt;p&gt;I want to be able to zoom in and out and pan the photo within each area of the collage&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgsg3jh9CzsIuMJJFqOIK5e8-Hwfz9FP9owz0D6CK8cfUB-bmx28qrpt-hBG6IuEvjTtWzTRknFSQe7eDvtPZMAeRo6s-J-2yGBx1uDT9rOmnFgocwzGBCvhCvhBovYWT9otNrV0A7kExW6SZY0QaAdIrftNHCIXr1rvCGejiJi12nKSSmcYyea8Tg0kaJ4&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;699&quot; data-original-width=&quot;994&quot; height=&quot;450&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgsg3jh9CzsIuMJJFqOIK5e8-Hwfz9FP9owz0D6CK8cfUB-bmx28qrpt-hBG6IuEvjTtWzTRknFSQe7eDvtPZMAeRo6s-J-2yGBx1uDT9rOmnFgocwzGBCvhCvhBovYWT9otNrV0A7kExW6SZY0QaAdIrftNHCIXr1rvCGejiJi12nKSSmcYyea8Tg0kaJ4=w640-h450&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Update 15th Dec&lt;p&gt;&lt;/p&gt;&lt;div&gt;This tutorial is great:&amp;nbsp;&lt;a href=&quot;https://www.youtube.com/watch?v=L3lBDQBs2sY&quot;&gt;Automatiza tu Vida con Python y Flet 🚀 | Capítulo 1&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I can already select Photos from several folders (just click the button several times and they will be appended to the list)&lt;/div&gt;&lt;div&gt;I can already drag and drop photos into certain areas&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjSEb1w7a96GQA3AH-Y354YMZuZlJ_g0_Y837SITft3C21lEHqxM7zA7POGgbW9CXM1jU_9umCus41MKTk-JlzxOJREvnXW0bdKmKo2ZKSZgcDeh0qMfDjP65lYkcJCQrmaRsZ6NXXvgcd8zHlPT2Akkf1ZodZOGw1R_QrOULrtP4DioO9L7SsSn7ghtu3s&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;683&quot; data-original-width=&quot;776&quot; height=&quot;563&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjSEb1w7a96GQA3AH-Y354YMZuZlJ_g0_Y837SITft3C21lEHqxM7zA7POGgbW9CXM1jU_9umCus41MKTk-JlzxOJREvnXW0bdKmKo2ZKSZgcDeh0qMfDjP65lYkcJCQrmaRsZ6NXXvgcd8zHlPT2Akkf1ZodZOGw1R_QrOULrtP4DioO9L7SsSn7ghtu3s=w640-h563&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Update 20th Dec&lt;/div&gt;&lt;div&gt;I can select fotos from local folders. If I select photos from different folders, they are added to the list of available photos&lt;/div&gt;&lt;div&gt;I can define (manually in the code) different layouts and then select one and drop it to be used&lt;/div&gt;&lt;div&gt;I can allocate photos to each collage area dragging and dropping photos into the desired area&lt;/div&gt;&lt;div&gt;I can create new layouts (not yet save them though) creating separate areas of desired sizes and moving them as I wish in the collage area (thanks to&amp;nbsp;&lt;a href=&quot;https://www.youtube.com/watch?v=VSQgtlBApTo&quot;&gt;Flet Tutorial - Create Image Photo Crop App&lt;/a&gt;)&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhXLe2yaBPbQVucziQ1dPMPv7sLn7lkKnvDEbRXmZS4rcWlpwHJ_VZNi-Ek5M0n3AdHaVDwaYdFUC1eGm8nRQs44lx2ZmME9t0DrRy2D1ud-B761KNPFsS6sArd8PjDSTcKTTa6dKfGVSwAftES1Y97r1POeWYmqlo_zLIDHFGMjd93BASIilqh5nK66R_s&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;660&quot; data-original-width=&quot;707&quot; height=&quot;598&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhXLe2yaBPbQVucziQ1dPMPv7sLn7lkKnvDEbRXmZS4rcWlpwHJ_VZNi-Ek5M0n3AdHaVDwaYdFUC1eGm8nRQs44lx2ZmME9t0DrRy2D1ud-B761KNPFsS6sArd8PjDSTcKTTa6dKfGVSwAftES1Y97r1POeWYmqlo_zLIDHFGMjd93BASIilqh5nK66R_s=w640-h598&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhDAfLVeN2EGN8LwwjHwHGupRQEjkHwq5Dn0hdpeXcuBHlPomG3lWtRp4Sf7cGa30fKSTMxzTe9KJSoEbKx5soOQKTGGcuUdmmn4-v_0n2Wf1mrYt1wha8ANtj6bTSXSFkHZ2Sa6XkPu8ddrPP-yHQldwxwOgHyRzp0mHKItAZYikKZVKbRRUBclSph3Teb&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;740&quot; data-original-width=&quot;727&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhDAfLVeN2EGN8LwwjHwHGupRQEjkHwq5Dn0hdpeXcuBHlPomG3lWtRp4Sf7cGa30fKSTMxzTe9KJSoEbKx5soOQKTGGcuUdmmn4-v_0n2Wf1mrYt1wha8ANtj6bTSXSFkHZ2Sa6XkPu8ddrPP-yHQldwxwOgHyRzp0mHKItAZYikKZVKbRRUBclSph3Teb=w629-h640&quot; width=&quot;629&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgyuXVAICCzWvoJQoxYOX3dcK5rCp6Jqoc9PVr9q8S88ZN0WI2z0rrCDtPy0_BNrFF-TCY1Qz-89iX8k0AbsmKMawEbgt6KqtH3iW8MC_HChEKP8-YMsEu5sDNQ2KintNBNDK-LXqMn2Nwv6q9erp-E5QexovNyuJbLa79_fZMYcO4_oigOvZZxFUm07-gn&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;460&quot; data-original-width=&quot;745&quot; height=&quot;396&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgyuXVAICCzWvoJQoxYOX3dcK5rCp6Jqoc9PVr9q8S88ZN0WI2z0rrCDtPy0_BNrFF-TCY1Qz-89iX8k0AbsmKMawEbgt6KqtH3iW8MC_HChEKP8-YMsEu5sDNQ2KintNBNDK-LXqMn2Nwv6q9erp-E5QexovNyuJbLa79_fZMYcO4_oigOvZZxFUm07-gn=w640-h396&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Update 22nd Dec&lt;/div&gt;&lt;div&gt;Almost there, much faster than I thought.&lt;/div&gt;&lt;div&gt;I can pan and zoom in/out each photo separately. Just need to save the resulting photo and a few finishing touches. All in all, great experience. Plus it would work with little effort as a web app. Nice!&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEh5dvxOmt0NydRMn0fP677iZARLdIHVbqXqIU5CXFrx4HPV30ywQVu8Ioj08qvtDeQtBPwTmPB18-EYFdbKgscpy-vvP15XeW1nFS6L8AyF4CtgJ6JaOiGdR3Zm9lxiYAzdmC1WYlJMOlyD3ZeMAOQ7EXD0EQwtVojZIaabyo4ZZDCBtUunRasEI1z83Vl1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;830&quot; data-original-width=&quot;1137&quot; height=&quot;468&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEh5dvxOmt0NydRMn0fP677iZARLdIHVbqXqIU5CXFrx4HPV30ywQVu8Ioj08qvtDeQtBPwTmPB18-EYFdbKgscpy-vvP15XeW1nFS6L8AyF4CtgJ6JaOiGdR3Zm9lxiYAzdmC1WYlJMOlyD3ZeMAOQ7EXD0EQwtVojZIaabyo4ZZDCBtUunRasEI1z83Vl1=w640-h468&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;587&#39; height=&#39;488&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dw2iKj7hQBMkOSSyI8QnmTFtGxyf8rwTGzbl5vwM6FnlRGFj7QN9kzRJQ2-BWplCHBc0HwpIuvooT5Y5YO4zw&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://cabrejas.blogspot.com/feeds/1517719800055547402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment/fullpage/post/2073033124716732936/1517719800055547402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/1517719800055547402'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/2073033124716732936/posts/default/1517719800055547402'/><link rel='alternate' type='text/html' href='https://cabrejas.blogspot.com/2024/12/photo-collage-app.html' title='Photo Collage app'/><author><name>JC</name><uri>http://www.blogger.com/profile/13432257748168600000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEgsg3jh9CzsIuMJJFqOIK5e8-Hwfz9FP9owz0D6CK8cfUB-bmx28qrpt-hBG6IuEvjTtWzTRknFSQe7eDvtPZMAeRo6s-J-2yGBx1uDT9rOmnFgocwzGBCvhCvhBovYWT9otNrV0A7kExW6SZY0QaAdIrftNHCIXr1rvCGejiJi12nKSSmcYyea8Tg0kaJ4=s72-w640-h450-c" height="72" width="72"/><thr:total>0</thr:total></entry></feed>