<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Solo sé que se querer, que tengo Dios y tengo fe</title><link href="https://perezmeyer.com.ar/" rel="alternate"/><link href="https://perezmeyer.com.ar/blog/feeds/all.atom.xml" rel="self"/><id>https://perezmeyer.com.ar/</id><updated>2025-04-06T00:17:00-03:00</updated><subtitle>(y eso no es poca cosa)</subtitle><entry><title>Roxette, forever Roxette</title><link href="https://perezmeyer.com.ar/blog/2025/04/06/roxette-por-siempre-roxette/" rel="alternate"/><published>2025-04-06T00:17:00-03:00</published><updated>2025-04-06T00:17:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2025-04-06:/blog/2025/04/06/roxette-por-siempre-roxette/</id><summary type="html">&lt;p&gt;Mas de 30 años mas tarde de escucharlo por primera vez, acá estoy reviviendo un
gran album de mi juventud, &lt;a href="https://es.wikipedia.org/wiki/Joyride"&gt;Joyride&lt;/a&gt;. Y
dándome cuenta (otra vez) de un detalle no menor: es un &lt;strong&gt;gran&lt;/strong&gt; album de una
&lt;strong&gt;gran&lt;/strong&gt; banda. No, no es sólo el idilio adolescente con la banda que …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Mas de 30 años mas tarde de escucharlo por primera vez, acá estoy reviviendo un
gran album de mi juventud, &lt;a href="https://es.wikipedia.org/wiki/Joyride"&gt;Joyride&lt;/a&gt;. Y
dándome cuenta (otra vez) de un detalle no menor: es un &lt;strong&gt;gran&lt;/strong&gt; album de una
&lt;strong&gt;gran&lt;/strong&gt; banda. No, no es sólo el idilio adolescente con la banda que consiguió
en un casette y se puso a escuchar de lado a lado agotando pilas del Walkman. Es
mucho mas. Es mas que el casette que llegó luego de enganchar la cinta de un
compilado por rebobinar para esuchar una y otra vez su tema insignia, el
homónimo Joyride, con los efectos de gente en un circo.&lt;/p&gt;
&lt;p&gt;No. Es una &lt;strong&gt;gran&lt;/strong&gt; banda. Una banda con una sonoridad propia. Con una enorme
atención a los detalles... y una enorme cantidad de delicados ellos en sus
canciones y letras. Letras. Lo que menos tiendo a tener en cuenta al apreciar
una canción... pero no con Roxette.&lt;/p&gt;
&lt;p&gt;Tampoco me tendría que resultar raro que haya conseguido tanto éxito en América
latina, y en particular en Argentina, donde según Wikipedia vendió mas de
400.000 copias, siendo el álbum en inglés mas vendido hasta la época, superando
a The Beatles o Abba. Mamita, que pesos pesados. Pero no. No es la misma
sonoridad que nuestro Rock Nacional, pero claramente comparte algo importante,
indescriptible quizás. Algo que está mas del lado europeo continental que de
norte América...&lt;/p&gt;
&lt;p&gt;Pensar que estuve así 👉👈 de cerca de verlos en vivo... y lo dejé para mas
tarde. Grave error. Quizás, algún dia, logre conocer a Per. A Marie la saludo
al cielo. Y ambos (y la banda) les agradezco su música.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Mer än 30 år efter att jag hörde den för första gången, återupplever jag här en
bra album från min ungdom, &lt;a href="https://es.wikipedia.org/wiki/Joyride"&gt;Joyride&lt;/a&gt;. OCH
inser (igen) en ingen liten detalj: det är ett &lt;strong&gt;bra&lt;/strong&gt; album av a
&lt;strong&gt;bra&lt;/strong&gt; band. Nej, det är inte bara tonårskärleken med bandet som han fick
på en kassett och började lyssna från sida till sida, tömde Walkmans batterier. är
mycket mer. Det är mer än kassetten som kom efter att ha hakat på bandet från en
sammanställd genom att spola tillbaka för att lyssna på hans signaturlåt om och om igen, den
eponymous Joyride, med effekterna av människor i en cirkus.&lt;/p&gt;
&lt;p&gt;Nej. Det är ett &lt;strong&gt;bra&lt;/strong&gt; band. Ett band med ett eget sound. Med en enorm
uppmärksamhet på detaljer... och en enorm mängd känsliga dem i deras
sånger och texter. Bokstäver. Det jag minst tenderar att ta hänsyn till när jag uppskattar
en låt... men inte med Roxette.&lt;/p&gt;
&lt;p&gt;Det borde inte heller verka konstigt för mig att han har nått så mycket framgångar i Amerika
Latinamerika, och särskilt i Argentina, där det enligt Wikipedia sålde mer än
400 000 exemplar, som det hittills mest sålda albumet på engelska, överträffar
till Beatles eller Abba. Mamma, vilka tunga vikter. Men inte. Det är inte samma sak
sonoritet än vår National Rock, men den delar helt klart något viktigt,
obeskrivligt kanske. Något som är mer på den kontinentaleuropeiska sidan än på
Nordamerika...&lt;/p&gt;
&lt;p&gt;Att tro att jag var så här 👉👈 nära att se dem live... och jag lämnade det för mer
sent. Allvarligt misstag. Kanske träffar jag Per en dag. Jag hälsar Marie
to heaven Och jag tackar er båda (och bandet) för er musik.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;More than 30 years after hearing it for the first time, here I am reliving a
great album from my youth, &lt;a href="https://es.wikipedia.org/wiki/Joyride"&gt;Joyride&lt;/a&gt;. And
realizing (again) a significant detail: it's a &lt;strong&gt;great&lt;/strong&gt; album from a
&lt;strong&gt;great&lt;/strong&gt; band. No, it's not just the teenage love affair with the band that I found
on a cassette and started listening to from side to side, draining the batteries in my Walkman. It's
much more. It's more than the cassette that arrived after plugging in a compilation tape to rewind it to listen to its signature track, the
eponymous Joyride, over and over again, with the effects of people in a circus.&lt;/p&gt;
&lt;p&gt;No. It's a &lt;strong&gt;great&lt;/strong&gt; band. A band with its own sound. With enormous
attention to detail... and an enormous amount of delicate detail in their
songs and lyrics. Lyrics. What I tend to take least into account when appreciating a song... but not with Roxette.&lt;/p&gt;
&lt;p&gt;It shouldn't seem strange to me that it's achieved so much success in Latin America, and particularly in Argentina, where according to Wikipedia it sold more than 400,000 copies, making it the best-selling English-language album to date, surpassing The Beatles and Abba. Damn, what heavyweights. But no. It's not the same sound as our National Rock, but it clearly shares something important, perhaps indescribable. Something that is more on the continental European side than North American...&lt;/p&gt;
&lt;p&gt;To think that I was so close to seeing them live... and I put it off for later. Big mistake. Maybe, one day, I'll get to meet Per. I salute Marie. And I thank both of them (and the band) for their music.&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="svenska"/><category term="english"/><category term="planetdebian"/><category term="roxette"/></entry><entry><title>Bahía Blanca floods - Mother nature says: no Nuremberg for you today</title><link href="https://perezmeyer.com.ar/blog/2025/03/08/bahia-blanca-2025-floods/" rel="alternate"/><published>2025-03-08T19:27:00-03:00</published><updated>2025-03-09T15:35:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2025-03-08:/blog/2025/03/08/bahia-blanca-2025-floods/</id><summary type="html">&lt;h2&gt;Update 20250309 13:20-03:00 - How to help&lt;/h2&gt;
&lt;p&gt;A friend of mine living in the USA sent me this link to help the flood victims: &lt;a href="https://www.zeffy.com/en-US/donation-form/support-bahia-blanca-argentina-flood-victims"&gt;Support Bahía Blanca (Argentina) Flood Victims&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Original blog post&lt;/h2&gt;
&lt;p&gt;These are not good news. In fact, much the contrary. Compared to the real issue, the …&lt;/p&gt;</summary><content type="html">&lt;h2&gt;Update 20250309 13:20-03:00 - How to help&lt;/h2&gt;
&lt;p&gt;A friend of mine living in the USA sent me this link to help the flood victims: &lt;a href="https://www.zeffy.com/en-US/donation-form/support-bahia-blanca-argentina-flood-victims"&gt;Support Bahía Blanca (Argentina) Flood Victims&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Original blog post&lt;/h2&gt;
&lt;p&gt;These are not good news. In fact, much the contrary. Compared to the real issue, the fact that I'm not able to attend Embedded World at Nuremberg is, well, a detail. Or at least that's what I'm forcing myself to believe, as I &lt;em&gt;REALLY&lt;/em&gt; wanted to be there. But mother nature said otherwise.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Plaza Dr. Alberto Martinelli - Barrio Parque Las Cañitas" src="https://perezmeyer.com.ar/images/bahia_blanca_flood_2025_park.jpg"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://maps.app.goo.gl/zhBGwzS3yvJKZEGk7"&gt;Park "D. Alberto Martinelli", Las Cañitas, Bahía Blanca (Google Maps)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Bah%C3%ADa_Blanca"&gt;Bahía Blanca &lt;/a&gt;, the city I live, has received a lot on rainfall. Really, a lot. Let me introduce the number like this: the previous highest recorded measurement was 170mm (6.69 inch)... in a month. Yesterday Friday 07 we had more than 400mm (15.75 inch) in 9 hours.&lt;/p&gt;
&lt;p&gt;But those are just numbers. Some things are better seen in images.&lt;/p&gt;
&lt;p&gt;I'll start with some soft ones.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Streetk sink 1" src="https://perezmeyer.com.ar/images/bahia_blanca_flood_2025_street_sink_1.jpg" title="Street sink in Fournier and Cambaceres, Bahía Blanca"&gt;
&lt;img alt="Streetk sink 2" src="https://perezmeyer.com.ar/images/bahia_blanca_flood_2025_street_sink_2.jpg" title="Street sink in Fournier and Cambaceres, Bahía Blanca"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://maps.app.goo.gl/H5C8nzYWrYbjVpgy5"&gt;Sink in Fournier street near Cambaceres (Google Maps)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I also happen to do figure skating in the same school of the 4 times world champions (where "world" means the whole world) &lt;a href="https://www.instagram.com/rollerdreamsargentina/?hl=en"&gt;Roller Dreams precision skating team - Instagram&lt;/a&gt;, from Club El Nacional. Our skating rink got severely damaged with the hail we had like 3 weeks ago (yes, we had hail too!!!). Now it's just impossible:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Roller Dreams CEN skating rink" src="https://perezmeyer.com.ar/images/bahia_blanca_flood_2025_roller_dreams_cen_rink.jpg"&gt;&lt;/p&gt;
&lt;h2&gt;The "real" thing&lt;/h2&gt;
&lt;p&gt;Let's get to the heavy, heartbreaker part. I did go to downtown Bahía Blanca, but during night, so let me share some links, most of them in Spanish, but images are images:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.lanueva.com/nota/2025-3-8-8-8-0-el-dia-despues-de-la-catastrofe-bahia-volvio-a-amanecer-destrozada"&gt;El día después de la catástrofe: Bahía volvió a amanecer destrozada, La Nueva&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.lanueva.com/nota/2025-3-8-19-29-0-en-20-imagenes-el-inmenso-dano-que-provoco-el-temporal-en-bahia"&gt;En 20 imágenes, el inmenso daño que provocó el temporal en Bahía, La Nueva&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.instagram.com/reel/DG6WWOXy9Cx/?igsh=MWh5ZXVkdzdzdngwaw%3D%3D"&gt;Drone footage of the nearby stream, which now seems a river, Instagram&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vod.apolomedia.com/apolo-vod/gid2/vod/cadena3/cadena3/69/2-8-API-BACG1X1741453528_360P.mp4"&gt;Drone footage of the same above stream nearer the golf club and entering the city - MP4&lt;/a&gt;. I do not know the author, happy to give the proper credits if contacted!!!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;My alma matter, Universidad Nacional del Sur, lost its main library, great part of the Physics department and a lot of labs :-(&lt;/p&gt;
&lt;p&gt;A nearby town, General Cerri, had even worst luck. In Bahía Blanca, a city of 300k+ people, has around 400 evacuated people. General Cerri, a town of 3000? people, had at least 800.&lt;/p&gt;
&lt;h2&gt;Bahía Blanca, devil's land&lt;/h2&gt;
&lt;p&gt;Every place has its legends. We do too. This land was called "Huecuvú Mapú", something like "Devil's land" by the original inhabitants of the zone, due to its harsh climate: string winters and hot summers, couple with fierce wind. But back in 1855 the Cacique (chief) José María Bulnes Yanquetruz had a peace agreement with commander Nicanor Otamendi. But a battle ensued, which Yanquetruz won. At this point history defers depending upon who tells it. Some say Yanquetruz was assigned a military grade as Captain of the indigenous auxiliary forces and provided a military suit, some say he stole it, some say this was a setup of another chief wanting to disrupt peace. But what is known is that Yanquetruz was killed, and his wife, the "machi" (sorceress), issued a curse over the land that would last 1000 years, and the curse was on the climate.&lt;/p&gt;
&lt;h2&gt;Aftermath&lt;/h2&gt;
&lt;p&gt;No, we are not there yet. This has just happened. The third violent climate occurrence in 15 months. The city needs to mourn and start healing itself. Time will say.&lt;/p&gt;</content><category term="misc"/><category term="debian"/><category term="planetdebian-en"/><category term="english"/><category term="embeddedworld"/><category term="bahíablanca"/><category term="flood"/></entry><entry><title>Going to Embedded World 2025 in Nuremberg</title><link href="https://perezmeyer.com.ar/blog/2025/03/03/going-to-embedded-world-2025/" rel="alternate"/><published>2025-03-03T10:44:00-03:00</published><updated>2025-03-03T10:44:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2025-03-03:/blog/2025/03/03/going-to-embedded-world-2025/</id><summary type="html">&lt;p&gt;This year I'll be participating of &lt;a href="https://www.embedded-world.de/en"&gt;Embedded World&lt;/a&gt; 2025 in Nuremberg, representing the company I work for, &lt;a href="https://www.ics.com/"&gt;ICS&lt;/a&gt;. You will be able to find me at the &lt;a href="https://www.automotivelinux.org/"&gt;Automotive Grade Linux&lt;/a&gt; &lt;a href="https://www.embedded-world.de/en/exhibitors-products/a/automotive-grade-linux-agl"&gt;booth on hall 4, 4-209&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you are around be sure to come and say hi, and why not, exchange …&lt;/p&gt;</summary><content type="html">&lt;p&gt;This year I'll be participating of &lt;a href="https://www.embedded-world.de/en"&gt;Embedded World&lt;/a&gt; 2025 in Nuremberg, representing the company I work for, &lt;a href="https://www.ics.com/"&gt;ICS&lt;/a&gt;. You will be able to find me at the &lt;a href="https://www.automotivelinux.org/"&gt;Automotive Grade Linux&lt;/a&gt; &lt;a href="https://www.embedded-world.de/en/exhibitors-products/a/automotive-grade-linux-agl"&gt;booth on hall 4, 4-209&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you are around be sure to come and say hi, and why not, exchange PGP/GPG keys!&lt;/p&gt;</content><category term="misc"/><category term="debian"/><category term="planetdebian-en"/><category term="english"/><category term="embeddedworld"/><category term="ics"/><category term="agl"/></entry><entry><title>PGP/GPG transition from 0x6286A7D0 to 0xB48C1072</title><link href="https://perezmeyer.com.ar/blog/2025/03/02/pgp-transition-6286a7d0-to-B48C1072/" rel="alternate"/><published>2025-03-02T20:16:00-03:00</published><updated>2025-03-02T20:16:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2025-03-02:/blog/2025/03/02/pgp-transition-6286a7d0-to-B48C1072/</id><summary type="html">&lt;p&gt;I am currently transitioning my GPG/GPG key from &lt;a href="../../../../../files/keys/6286A7D0-public.asc" title="GPG public key (D/4096 0x12DDFA84AC23B2BBF04B313CAB645F406286A7D0)"&gt;D/4096 0x12DDFA84AC23B2BBF04B313CAB645F406286A7D0&lt;/a&gt; to &lt;a href="../../../../../files/keys/B48C1072-public.asc" title="GPG public key (D/4096 0xA94C9FBFA49AA7CD4F40BB9F5E9030CCB48C1072)"&gt;D/4096 0xA94C9FBFA49AA7CD4F40BB9F5E9030CCB48C1072&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Let's put this in plain text, signed with both keys:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="gh"&gt;-----BEGIN PGP SIGNED MESSAGE-----&lt;/span&gt;
&lt;span class="na"&gt;Hash&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;SHA512&lt;/span&gt;

&lt;span class="na"&gt;- -----BEGIN PGP SIGNED MESSAGE-----&lt;/span&gt;
&lt;span class="na"&gt;Hash&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;SHA512&lt;/span&gt;

&lt;span class="s"&gt;I&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;am&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;currently&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;transitioning&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;GPG/GPG&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;key&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;D/4096&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;0x12DDFA84AC23B2BBF04B313CAB645F406286A7D0 …&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</summary><content type="html">&lt;p&gt;I am currently transitioning my GPG/GPG key from &lt;a href="../../../../../files/keys/6286A7D0-public.asc" title="GPG public key (D/4096 0x12DDFA84AC23B2BBF04B313CAB645F406286A7D0)"&gt;D/4096 0x12DDFA84AC23B2BBF04B313CAB645F406286A7D0&lt;/a&gt; to &lt;a href="../../../../../files/keys/B48C1072-public.asc" title="GPG public key (D/4096 0xA94C9FBFA49AA7CD4F40BB9F5E9030CCB48C1072)"&gt;D/4096 0xA94C9FBFA49AA7CD4F40BB9F5E9030CCB48C1072&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Let's put this in plain text, signed with both keys:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="gh"&gt;-----BEGIN PGP SIGNED MESSAGE-----&lt;/span&gt;
&lt;span class="na"&gt;Hash&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;SHA512&lt;/span&gt;

&lt;span class="na"&gt;- -----BEGIN PGP SIGNED MESSAGE-----&lt;/span&gt;
&lt;span class="na"&gt;Hash&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;SHA512&lt;/span&gt;

&lt;span class="s"&gt;I&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;am&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;currently&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;transitioning&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;my&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;GPG/GPG&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;key&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;D/4096&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;0x12DDFA84AC23B2BBF04B313CAB645F406286A7D0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;to&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;D/4096&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;0xA94C9FBFA49AA7CD4F40BB9F5E9030CCB48C1072.&lt;/span&gt;

&lt;span class="s"&gt;This&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;file&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;is&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;first&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;signed&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;with&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;the&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;key&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;then&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;with&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;the&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;old&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;one.&lt;/span&gt;

&lt;span class="s"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;-----BEGIN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;PGP&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;SIGNATURE-----&lt;/span&gt;

&lt;span class="s"&gt;iQIzBAEBCgAdFiEEqUyfv6Sap81PQLufXpAwzLSMEHIFAmfE6RwACgkQXpAwzLSM&lt;/span&gt;
&lt;span class="s"&gt;EHJpUBAAwMAbOwGcRiuX/aBjqDMA9HerRgimNWE9xA35Asg3F+A5/AFrBo+BDng3&lt;/span&gt;
&lt;span class="s"&gt;jviCGxR6YdicSLZptaScLuRnqG1i/OcochGDxvHYVQ9I/G9SuHB7ylqD7zDnO5pw&lt;/span&gt;
&lt;span class="s"&gt;Lldwx9jovkszgXMC+vs1E9tQ4vpuWNQ1I7q90rdikywhvNdNs8XUSCUNCLol5fzm&lt;/span&gt;
&lt;span class="s"&gt;u64hcKex3pwt7wYs6TxtgO5DLpp//5Z6NoZ5f/esC0837zqy5Py6+7scN3tgRmXj&lt;/span&gt;
&lt;span class="s"&gt;SyALlhfOCsy4+v22K5xk0VNelEWUg+VKqgMjPYbEfGQ3e4LXId6gGlKF+OuXCJX5&lt;/span&gt;
&lt;span class="s"&gt;Eqi2leO/O3c+1MZ8LMh3YQft1/TmYktASMTdwV7Y87qMgVkXsJqIvw8d9VNlZvET&lt;/span&gt;
&lt;span class="s"&gt;B3MMsuPK9VNKCokbSiHwB2ZQR235Hq6LPrBfMPnoVb5QzUgIk8Kz92wM3NWVAjzE&lt;/span&gt;
&lt;span class="s"&gt;oj/660SZ7SfbBi6qmQyMjYKSKN+kSZazQfoUZo0fK1Y1mywN/XkeeV+gq/ZiYPhI&lt;/span&gt;
&lt;span class="s"&gt;QLbjEfoeHEVcufgQCU0PvUuKr/+ud8BAwdH/9YWxYnObAzXFxgOJ9AvDqKxbD+rw&lt;/span&gt;
&lt;span class="s"&gt;MVXCU4xMtNHHDqgZ+pSdB0br/bYtIqh1YsFfHw16lUgj9lcmfnujhl+h700pob6d&lt;/span&gt;
&lt;span class="s"&gt;oArO0Bjb0bM9PTRRAn3CMiz2UeerBzY6gvaSnO3oBQc/UAx3RgA=&lt;/span&gt;
&lt;span class="s"&gt;=r9Sr&lt;/span&gt;
&lt;span class="s"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;-----END&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;PGP&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;SIGNATURE-----&lt;/span&gt;

&lt;span class="s"&gt;-----BEGIN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;PGP&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;SIGNATURE-----&lt;/span&gt;

&lt;span class="s"&gt;iQIzBAEBCgAdFiEEEt36hKwjsrvwSzE8q2RfQGKGp9AFAmfE6U8ACgkQq2RfQGKG&lt;/span&gt;
&lt;span class="s"&gt;p9DEWA/+N1AtaPwVGRi3OTcC+mzjjVd3oB4H4E80559FCbWQLvbnlazCTgdVHxp5&lt;/span&gt;
&lt;span class="s"&gt;Pjlm4I/hKYSaWNirUvE7Dq7LNWYYhZRBunXc/VrrX2fkxj99D+F9co5fXYO3fsQn&lt;/span&gt;
&lt;span class="s"&gt;vlz1UZzq8OrvWJo5Cv65CkblQReB31SNY//gBk5SjaeL4bnH3qOLCn6gGrqIgkyj&lt;/span&gt;
&lt;span class="s"&gt;qb8vQzk9ssb0b2P2hNJlkYQA20LUshyShyfnaAJuEtmDYp3F3fWfuyTPEznJZ0AJ&lt;/span&gt;
&lt;span class="s"&gt;efxfkYqQIznY36Om8dW0ec5LI3Xb+Obj4ccfNhWBfVG4RKruKHEhQCDtZbMSGPDn&lt;/span&gt;
&lt;span class="s"&gt;ns4yOl5cqbN/2Gqa/Ww+LafWPsa73NYQNDOIM2XhVFLf2wikGMnb2bew3iZrEBo5&lt;/span&gt;
&lt;span class="s"&gt;BORucyd1sBFsdD2tXAZEaXBpuCU+7mI9bJz9Co2+NWf1+IDaKyvJSgl7cQxuUtd4&lt;/span&gt;
&lt;span class="s"&gt;tp7mDB7Czf4yDK+QHqeWY46DtU0dlDpyOt2IijkJzhH6nL9cfo+W4JUFJrhd42Tr&lt;/span&gt;
&lt;span class="s"&gt;fRqjt7WeGrauX+d8wfvVV/KFrCkuw51ojLAtztvH7iwDP85wAOu95AlT1kT4ZwlE&lt;/span&gt;
&lt;span class="s"&gt;uEmdgtYE3GGwQKP2osndJZwic/tZuKrm7p5xFYJr8N95nsRNlk1ia4EkyvQbe49m&lt;/span&gt;
&lt;span class="s"&gt;2+JHO8Q0EjUGfV2+bSw4Eupi6qEgWp2s4sIGpHEGzWYfNqmozWE=&lt;/span&gt;
&lt;span class="s"&gt;=A5kI&lt;/span&gt;
&lt;span class="gh"&gt;-----END PGP SIGNATURE-----&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The above can be found as a file &lt;a href="../../../../../files/keys/6286A7D0-to-B48C1072-transition.txt.asc.asc"&gt;here&lt;/a&gt;.&lt;/p&gt;</content><category term="misc"/><category term="debian"/><category term="planetdebian-en"/><category term="english"/><category term="pgp"/><category term="gpg"/></entry><entry><title>Mini DebConf 2023 in Montevideo, Uruguay</title><link href="https://perezmeyer.com.ar/blog/2023/11/12/mini_debconf_2023_montevideo_uruguay/" rel="alternate"/><published>2023-11-12T08:41:00-03:00</published><updated>2023-11-12T08:41:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2023-11-12:/blog/2023/11/12/mini_debconf_2023_montevideo_uruguay/</id><summary type="html">&lt;p&gt;15 years, "la niña bonita", if you ask many of my fellow argentinians, is the amount of time I haven't been present in any Debian-related face to face activity. It was already time to fix that. Thanks to Santiago Ruano Rincón and &lt;a href="https://gwolf.org/"&gt;Gunnar Wolf&lt;/a&gt; that proded me to come I …&lt;/p&gt;</summary><content type="html">&lt;p&gt;15 years, "la niña bonita", if you ask many of my fellow argentinians, is the amount of time I haven't been present in any Debian-related face to face activity. It was already time to fix that. Thanks to Santiago Ruano Rincón and &lt;a href="https://gwolf.org/"&gt;Gunnar Wolf&lt;/a&gt; that proded me to come I finally attended the &lt;a href="https://wiki.debian.org/DebianEvents/uy/2023/MiniDebConfUruguay"&gt;Mini DebConf Uruguay&lt;/a&gt; in Montevideo.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Me in Montevideo, Uruguay" src="https://perezmeyer.com.ar/images/me_in_montevideo.jpg" title="Me in Montevideo, Uruguay"&gt;&lt;/p&gt;
&lt;p&gt;I took the opportunity to do my first trip by ferry, which is currently one of the best options to get from Buenos Aires to Montevideo, in my case through Colonia. Living ~700km at the south west of Buenos Aires city the trip was long, it included a 10 hours bus, a ferry and yet another bus... but of course, it was worth it.&lt;/p&gt;
&lt;p&gt;In Buenos Aires' port I met Emmanuel &lt;code&gt;eamanu&lt;/code&gt; Arias, a fellow Argentinian Debian Developer from La Rioja, so I had the pleasure to travel with him.&lt;/p&gt;
&lt;p&gt;To be honest &lt;a href="https://gwolf.org/2023/11/there-once-was-a-minidebconf-in-uruguay.html"&gt;Gunnar already did a wonderful blog post&lt;/a&gt; with many pictures, I should have taken more.&lt;/p&gt;
&lt;p&gt;I had the opportunity to talk about device trees, and even look at Gunnar's machine one in order to find why a Display Port port was not working on a kernel but did in another. At the same time I also had time to start packaging &lt;a href="https://salsa.debian.org/qt-kde-team/qt6/qt6-grpc"&gt;qt6-grpc&lt;/a&gt;. Sadly I was there just one entire day, as I arrived on Thursday afternoon and had to leave on Saturday after lunch, but we did have a lot of quality Debian time.&lt;/p&gt;
&lt;p&gt;I'll repeat here what Gunnar already wrote:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We had a long, important conversation about an important discussion that we are about to present on &lt;code&gt;debian-vote@lists.debian.org&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Stay tuned on that, I think this is something we should all get involved.&lt;/p&gt;
&lt;p&gt;All in all I already miss hacking with people on the same room. Meetings for us mean a lot of distance to be traveled (well, I live far away of almost everything), but I really should try to this more often. Certainly more than just once every 15 years :-)&lt;/p&gt;</content><category term="misc"/><category term="english"/><category term="planetdebian-en"/><category term="mini-debconf"/></entry><entry><title>sd-mux-ctrl in Debian</title><link href="https://perezmeyer.com.ar/blog/2023/09/28/sd-mux-ctrl_in_debian/" rel="alternate"/><published>2023-09-28T16:19:00-03:00</published><updated>2023-09-28T16:19:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2023-09-28:/blog/2023/09/28/sd-mux-ctrl_in_debian/</id><summary type="html">&lt;p&gt;Part of what I love to do is to play with embedded devices running Linux. And many times I need to juggle with an SD card in order to copy a filesystem to a board... until I found &lt;a href="https://wiki.tizen.org/SDWire"&gt;SDWire&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="SDWire v1.4, top view" src="https://perezmeyer.com.ar/images/sdwire_top.jpg" title="SDWire v1.4, top view"&gt;
&lt;img alt="SDWire v1.4, bottom view" src="https://perezmeyer.com.ar/images/sdwire_bottom.jpg" title="SDWire v1.4, bottom view"&gt;&lt;/p&gt;
&lt;p&gt;This little gadget is an SD muxer: it allows you to …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Part of what I love to do is to play with embedded devices running Linux. And many times I need to juggle with an SD card in order to copy a filesystem to a board... until I found &lt;a href="https://wiki.tizen.org/SDWire"&gt;SDWire&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="SDWire v1.4, top view" src="https://perezmeyer.com.ar/images/sdwire_top.jpg" title="SDWire v1.4, top view"&gt;
&lt;img alt="SDWire v1.4, bottom view" src="https://perezmeyer.com.ar/images/sdwire_bottom.jpg" title="SDWire v1.4, bottom view"&gt;&lt;/p&gt;
&lt;p&gt;This little gadget is an SD muxer: it allows you to use it as a "normal" card reader or switch the SD card to the SD card slot. So next time I need to copy contents to a SD card and then push it to a board I can just do it from the command line.&lt;/p&gt;
&lt;p&gt;Now the software to control this device was not in Debian, so &lt;a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1051944"&gt;I fixed that&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I am keeping &lt;a href="https://gitlab.com/perezmeyer/sd-mux-ctrl"&gt;the code&lt;/a&gt; and &lt;a href="https://gitlab.com/perezmeyer/debian-package-sd-mux-ctrl"&gt;the packaging&lt;/a&gt; on GitLab, as &lt;a href="https://lists.tizen.org/pipermail/general/2023-September/004100.html"&gt;"The Tizen project is not anymore really active"&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At the time of writing the package was just accepted, so it might take a couple of hours to be available on the archive.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;</content><category term="misc"/><category term="english"/><category term="sd-mux-ctrl"/><category term="planetdebian-en"/></entry><entry><title>Open question: Podman and user/group IDs</title><link href="https://perezmeyer.com.ar/blog/2023/07/08/podman_and_user_group_ids/" rel="alternate"/><published>2023-07-08T17:45:00-03:00</published><updated>2023-07-08T17:45:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2023-07-08:/blog/2023/07/08/podman_and_user_group_ids/</id><summary type="html">&lt;p&gt;Here is an open question for &lt;a href="https://podman.io/"&gt;Podman&lt;/a&gt; users: is there a (ideally simple) way to keep the user/group ID between the real system and the container?&lt;/p&gt;
&lt;p&gt;Let me be more verbose.&lt;/p&gt;
&lt;p&gt;I use &lt;a href="https://www.docker.com/"&gt;Docker&lt;/a&gt; mostly in two "special" cases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;As Yocto build environment:&lt;/strong&gt; I can use whatever the people …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;Here is an open question for &lt;a href="https://podman.io/"&gt;Podman&lt;/a&gt; users: is there a (ideally simple) way to keep the user/group ID between the real system and the container?&lt;/p&gt;
&lt;p&gt;Let me be more verbose.&lt;/p&gt;
&lt;p&gt;I use &lt;a href="https://www.docker.com/"&gt;Docker&lt;/a&gt; mostly in two "special" cases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;As Yocto build environment:&lt;/strong&gt; I can use whatever the people I work with/Yocto version wants.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.ics.com/blog/how-i-run-developer-environments-docker"&gt;For creating developer environments&lt;/a&gt;:&lt;/strong&gt; I create Docker containers that have the same environments as the CI docker instances I use with GitLab + development tools I run sharing the X socket. In that way the people I work with can reuse the same environment and have the exact same set of tools, without the inconveniences of virtual machines.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now in both setups I mount some system directory into the chroot, normally as $HOME. Using Docker I can do the right UID/GID mapping and any file I create inside the container will have my system's UID/GID. And that's the thing I so far could not do with Podman.&lt;/p&gt;
&lt;p&gt;So dear Podman user: is there any way to do this with Podman? If you know, please feel free to send a comment/email!&lt;/p&gt;</content><category term="misc"/><category term="english"/><category term="podman"/><category term="docker"/><category term="planetdebian-en"/></entry><entry><title>Qt 6 in Debian bullseye, take 2</title><link href="https://perezmeyer.com.ar/blog/2023/06/16/qt6-in-debian-bullseye-take-2/" rel="alternate"/><published>2023-06-16T10:45:00-03:00</published><updated>2023-06-16T10:45:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2023-06-16:/blog/2023/06/16/qt6-in-debian-bullseye-take-2/</id><summary type="html">&lt;p&gt;Bookworm has been released and Bullseye is now old-stable. Non the less today I took the time to update the Qt 6 backports so they are as close as Bookworm as possible. Except security fixes are needed these ought to be the latest uploads of Qt 6 to bullseye-backports.&lt;/p&gt;
&lt;p&gt;Hope …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Bookworm has been released and Bullseye is now old-stable. Non the less today I took the time to update the Qt 6 backports so they are as close as Bookworm as possible. Except security fixes are needed these ought to be the latest uploads of Qt 6 to bullseye-backports.&lt;/p&gt;
&lt;p&gt;Hope you enjoyed them, and thanks again &lt;a href="https://www.qt.io/"&gt;The Qt Company&lt;/a&gt; and &lt;a href="https://www.ics.com/"&gt;ICS&lt;/a&gt; for making this possible.&lt;/p&gt;</content><category term="misc"/><category term="debian"/><category term="planetdebian-en"/><category term="english"/><category term="qt"/><category term="backports"/><category term="bullseye"/><category term="tqtc"/><category term="ics"/></entry><entry><title>Adventures in Debian's Qt land</title><link href="https://perezmeyer.com.ar/blog/2023/06/08/adventures_in_debian_s_qt_land/" rel="alternate"/><published>2023-06-08T00:00:00-03:00</published><updated>2023-06-08T00:00:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2023-06-08:/blog/2023/06/08/adventures_in_debian_s_qt_land/</id><summary type="html">&lt;p&gt;Debian (I might as well say "we", this is the beauty of it) is about to release &lt;a href="https://www.debian.org/releases/bookworm/"&gt;Debian 12 aka Bookworm&lt;/a&gt;. Let's take a quick look at what is new in Debian Qt land.&lt;/p&gt;
&lt;h1&gt;Qt 5&lt;/h1&gt;
&lt;p&gt;Bookworm has Qt 5.15.8, which is nothing but great news. KDE will …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Debian (I might as well say "we", this is the beauty of it) is about to release &lt;a href="https://www.debian.org/releases/bookworm/"&gt;Debian 12 aka Bookworm&lt;/a&gt;. Let's take a quick look at what is new in Debian Qt land.&lt;/p&gt;
&lt;h1&gt;Qt 5&lt;/h1&gt;
&lt;p&gt;Bookworm has Qt 5.15.8, which is nothing but great news. KDE will be switching to Qt 6 sooner than later and Qt 5 has been a fun ride, but &lt;a href="https://qa.debian.org/developer.php?login=mitya57&amp;amp;comaint=yes"&gt;Dmitry Shachnev&lt;/a&gt; and I &lt;a href="https://perezmeyer.com.ar/blog/2020/08/18/stepping-down-as-qt-6-maintainers/"&gt;needed a break&lt;/a&gt;, or at very least not handling two Qt versions. But in the end I need to be fair: you &lt;strong&gt;REALLY&lt;/strong&gt; need to thank Dmitry for Qt 5. He has been the man power behind it in 99.5% of the cases.&lt;/p&gt;
&lt;h1&gt;Qt 6&lt;/h1&gt;
&lt;p&gt;This will be the first Debian release to have official Qt 6 packages. &lt;em&gt;NOTHING&lt;/em&gt; would have happened if it weren't for &lt;a href="https://qa.debian.org/developer.php?login=deltaone&amp;amp;comaint=yes"&gt;Patrick "Delta-One" Franz&lt;/a&gt; standing up to maintain it. &lt;strong&gt;BIG&lt;/strong&gt; kudos to him!&lt;/p&gt;
&lt;p&gt;Well, there is a "little lie" in the paragraph above. Thanks to &lt;a href="https://www.qt.io/"&gt;The Qt Company&lt;/a&gt; and &lt;a href="https://www.ics.com/"&gt;ICS&lt;/a&gt; the current Qt 6 version, 6.4.2, is also available as Bullseye's &lt;a href="https://perezmeyer.com.ar/blog/2022/06/10/qt6-in-debian-bullseye/"&gt;backports&lt;/a&gt;. The Qt Company really also helped us here by providing us almost-to-be-released tarballs of Qt 6.4.2 so we were able to push them to unstable and do a transition in time for freeze, thanks a lot for that!&lt;/p&gt;
&lt;p&gt;So, what is the Qt 6 state?&lt;/p&gt;
&lt;p&gt;At the binary side all but &lt;a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1035985"&gt;OpenGL ES support&lt;/a&gt; should be there. Sadly this was discovered too late in the release process and we still might need help maintaining it (read the link to know why!).&lt;/p&gt;
&lt;p&gt;We are still not building the documentation. Properly building the whole documentation, as with Qt 5, would require &lt;a href="https://qt-kde-team.pages.debian.net/images/qt6_build_deps.png"&gt;all the Qt submodules' source code&lt;/a&gt; in one place, which we can't (easily?) do in Debian. So building the doc means hacking the build system and getting semi-linked documentation, much like with Qt 5. Now if you think you have an idea to solve this... we are happy to hear from you!&lt;/p&gt;
&lt;p&gt;Another &lt;em&gt;great&lt;/em&gt; thing to know about Qt 6 is that, thanks to &lt;a href="https://qa.debian.org/developer.php?login=helmutg&amp;amp;comaint=yes"&gt;Helmut Grohne&lt;/a&gt;, pure Qt 6 applications should be able to cross compile. Applications using multi-arch enabled libraries ought to work too. Even more, many Qt submodules themselves should also cross compile! Not all of them, as we missed some patches in time, but hey, if you need to cross compile Qt, you surely can apply them yourselves!&lt;/p&gt;
&lt;p&gt;And finally tests, unit tests. In Qt 5 we had some of those, but none yet in Qt 6. This is one of the areas I would &lt;strong&gt;love&lt;/strong&gt; to be able to put time... but time is scarce.&lt;/p&gt;
&lt;h1&gt;The future?&lt;/h1&gt;
&lt;p&gt;In my point of view the Debian 13 "Trixie" development cycle will see Qt 5 diminishing it's usage and Qt 6 becoming the major Qt version used, but from the Qt 4 experience I do not expect Qt 5 being dropped during this release cycle... let's see what the future brings us.&lt;/p&gt;
&lt;h1&gt;Thanks!&lt;/h1&gt;
&lt;p&gt;While I mentioned Dmitry and Patrick many more people helped us reach this place. I personally want to thank the people behind the KDE software, both upstream and, &lt;strong&gt;of course&lt;/strong&gt;, the Debian maintainers. You should be thankful with them too, many hours of effort go into this.&lt;/p&gt;
&lt;p&gt;And thanks to you our dear users. We are normally overflowed with what we have in our hands and might not be up to the task sometimes, but hey, you are part of the reason we are doing this!&lt;/p&gt;</content><category term="misc"/><category term="debian"/><category term="planetdebian-en"/><category term="english"/><category term="qt"/><category term="bookworm"/></entry><entry><title>Qt 6 in Debian bullseye</title><link href="https://perezmeyer.com.ar/blog/2022/06/10/qt6-in-debian-bullseye/" rel="alternate"/><published>2022-06-10T16:22:00-03:00</published><updated>2022-06-10T16:22:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2022-06-10:/blog/2022/06/10/qt6-in-debian-bullseye/</id><summary type="html">&lt;p&gt;As announced some time ago on &lt;a href="https://lists.debian.org/debian-backports/2022/04/msg00043.html"&gt;Debian Backport’s mailing list&lt;/a&gt; I will be backporting Qt 6 to Debian 11 “Bullseye”. This comprises the (so far) 29 source packages that compose Qt 6 and libassimp.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qt.io/"&gt;The Qt Company&lt;/a&gt; wanted to let us Debian users also enjoy Qt 6 on Bullseye …&lt;/p&gt;</summary><content type="html">&lt;p&gt;As announced some time ago on &lt;a href="https://lists.debian.org/debian-backports/2022/04/msg00043.html"&gt;Debian Backport’s mailing list&lt;/a&gt; I will be backporting Qt 6 to Debian 11 “Bullseye”. This comprises the (so far) 29 source packages that compose Qt 6 and libassimp.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qt.io/"&gt;The Qt Company&lt;/a&gt; wanted to let us Debian users also enjoy Qt 6 on Bullseye, so they contacted me (and by extension my employer &lt;a href="https://www.ics.com/"&gt;ICS&lt;/a&gt;) to bring this forward. As said in the mail I sent to the backports list I’m making the commitment to maintain the packages myself, but I’m really happy the Qt Company asked me for this.&lt;/p&gt;
&lt;p&gt;You can download Qt 6 for Debian Bullseye’s backports by following &lt;a href="https://backports.debian.org/Instructions/"&gt;the instructions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Also a big kudos to &lt;a href="https://qa.debian.org/developer.php?login=umlaeute%40debian.org"&gt;IOhannes m zmölnig&lt;/a&gt;, the assimp maintainer, who promptly helped me to get it backported.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;</content><category term="misc"/><category term="debian"/><category term="planetdebian-en"/><category term="english"/><category term="qt"/><category term="backports"/><category term="bullseye"/><category term="tqtc"/><category term="ics"/></entry><entry><title>CMake toolchain files with Debian's cross compilers</title><link href="https://perezmeyer.com.ar/blog/2021/10/21/cmake-toolchain-files-with-debian-cross-compilers/" rel="alternate"/><published>2021-10-21T10:02:00-03:00</published><updated>2021-10-21T10:02:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2021-10-21:/blog/2021/10/21/cmake-toolchain-files-with-debian-cross-compilers/</id><summary type="html">&lt;p&gt;Almost a year ago I added a script made by &lt;a href="https://qa.debian.org/developer.php?login=helmut%40subdivi.de"&gt;Helmut Grohne&lt;/a&gt; that is able to create a CMake toolchain file pre-filled with Debian-specifics ross compilers.&lt;/p&gt;
&lt;p&gt;The tool is installed by the &lt;a href="https://tracker.debian.org/pkg/cmake"&gt;cmake&lt;/a&gt; package and located at &lt;em&gt;/usr/share/cmake/debtoolchainfilegen&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;It's usage is simple:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;debtoolchainfilegen&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;arch&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;cmake_toolchain_&amp;lt;arch&amp;gt;.cmake …&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</summary><content type="html">&lt;p&gt;Almost a year ago I added a script made by &lt;a href="https://qa.debian.org/developer.php?login=helmut%40subdivi.de"&gt;Helmut Grohne&lt;/a&gt; that is able to create a CMake toolchain file pre-filled with Debian-specifics ross compilers.&lt;/p&gt;
&lt;p&gt;The tool is installed by the &lt;a href="https://tracker.debian.org/pkg/cmake"&gt;cmake&lt;/a&gt; package and located at &lt;em&gt;/usr/share/cmake/debtoolchainfilegen&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;It's usage is simple:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;debtoolchainfilegen&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;arch&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;cmake_toolchain_&amp;lt;arch&amp;gt;.cmake
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Where $arch can be any of the Debian supported architectures, like arm64 (aka aarch64):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;/usr/share/cmake/debtoolchainfilegen&lt;span class="w"&gt; &lt;/span&gt;arm64&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;/tmp/cmake_toolchain_aarch64
dpkg-architecture:&lt;span class="w"&gt; &lt;/span&gt;warning:&lt;span class="w"&gt; &lt;/span&gt;specified&lt;span class="w"&gt; &lt;/span&gt;GNU&lt;span class="w"&gt; &lt;/span&gt;system&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;aarch64-linux-gnu&lt;span class="w"&gt; &lt;/span&gt;does&lt;span class="w"&gt; &lt;/span&gt;not&lt;span class="w"&gt; &lt;/span&gt;match&lt;span class="w"&gt; &lt;/span&gt;CC&lt;span class="w"&gt; &lt;/span&gt;system&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;x86_64-linux-gnu,&lt;span class="w"&gt; &lt;/span&gt;try&lt;span class="w"&gt; &lt;/span&gt;setting&lt;span class="w"&gt; &lt;/span&gt;a&lt;span class="w"&gt; &lt;/span&gt;correct&lt;span class="w"&gt; &lt;/span&gt;CC&lt;span class="w"&gt; &lt;/span&gt;environment&lt;span class="w"&gt; &lt;/span&gt;variable
dpkg-architecture:&lt;span class="w"&gt; &lt;/span&gt;warning:&lt;span class="w"&gt; &lt;/span&gt;specified&lt;span class="w"&gt; &lt;/span&gt;GNU&lt;span class="w"&gt; &lt;/span&gt;system&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;aarch64-linux-gnu&lt;span class="w"&gt; &lt;/span&gt;does&lt;span class="w"&gt; &lt;/span&gt;not&lt;span class="w"&gt; &lt;/span&gt;match&lt;span class="w"&gt; &lt;/span&gt;CC&lt;span class="w"&gt; &lt;/span&gt;system&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;x86_64-linux-gnu,&lt;span class="w"&gt; &lt;/span&gt;try&lt;span class="w"&gt; &lt;/span&gt;setting&lt;span class="w"&gt; &lt;/span&gt;a&lt;span class="w"&gt; &lt;/span&gt;correct&lt;span class="w"&gt; &lt;/span&gt;CC&lt;span class="w"&gt; &lt;/span&gt;environment&lt;span class="w"&gt; &lt;/span&gt;variable
$&lt;span class="w"&gt; &lt;/span&gt;cat&lt;span class="w"&gt; &lt;/span&gt;/tmp/cmake_toolchain_aarch64
&lt;span class="c1"&gt;# Use it while calling CMake:&lt;/span&gt;
&lt;span class="c1"&gt;#   mkdir build; cd build&lt;/span&gt;
&lt;span class="c1"&gt;#   cmake -DCMAKE_TOOLCHAIN_FILE=&amp;quot;/path/to/cmake_toolchain_&amp;lt;arch&amp;gt;.cmake&amp;quot; ../&lt;/span&gt;
&lt;span class="c1"&gt;#&lt;/span&gt;
set&lt;span class="o"&gt;(&lt;/span&gt;CMAKE_SYSTEM_NAME&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Linux&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
set&lt;span class="o"&gt;(&lt;/span&gt;CMAKE_SYSTEM_PROCESSOR&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;aarch64&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
set&lt;span class="o"&gt;(&lt;/span&gt;CMAKE_C_COMPILER&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;aarch64-linux-gnu-gcc&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
set&lt;span class="o"&gt;(&lt;/span&gt;CMAKE_CXX_COMPILER&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;aarch64-linux-gnu-g++&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
set&lt;span class="o"&gt;(&lt;/span&gt;PKG_CONFIG_EXECUTABLE&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;aarch64-linux-gnu-pkg-config&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
set&lt;span class="o"&gt;(&lt;/span&gt;PKGCONFIG_EXECUTABLE&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;aarch64-linux-gnu-pkg-config&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
set&lt;span class="o"&gt;(&lt;/span&gt;QMAKE_EXECUTABLE&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;aarch64-linux-gnu-qmake&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; I kept the warnings, which can be ignored and won't end up on the final file.&lt;/p&gt;
&lt;p&gt;As you might have noticed the file itself has instructions on how to use it. Of course we will need the requires cross toolchain for the selected arch. For example using arm64:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;apt&lt;span class="w"&gt; &lt;/span&gt;install&lt;span class="w"&gt; &lt;/span&gt;crossbuild-essential-arm64
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;That's it, we can now start cross building our cmake-based software.&lt;/p&gt;</content><category term="misc"/><category term="debian"/><category term="planetdebian-en"/><category term="english"/><category term="cmake"/></entry><entry><title>Creating an app with QML: a heater control</title><link href="https://perezmeyer.com.ar/blog/2021/06/22/creating-an-app-with-qml-heater-control/" rel="alternate"/><published>2021-06-22T14:48:00-03:00</published><updated>2021-06-22T14:48:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2021-06-22:/blog/2021/06/22/creating-an-app-with-qml-heater-control/</id><summary type="html">&lt;p&gt;Last week I took the ICS course &lt;a href="https://www.ics.com/training/building-embedded-apps-with-qt"&gt;"Building an Embedded Application with Qt"&lt;/a&gt; and now it's time to put the gained knowledge into action. I decided to create an application to (simulate?) a heater control. Why? Because I have a very basic one at home, and I always dreamed of …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Last week I took the ICS course &lt;a href="https://www.ics.com/training/building-embedded-apps-with-qt"&gt;"Building an Embedded Application with Qt"&lt;/a&gt; and now it's time to put the gained knowledge into action. I decided to create an application to (simulate?) a heater control. Why? Because I have a very basic one at home, and I always dreamed of getting something better. So time to implement it.&lt;/p&gt;
&lt;hr&gt;
&lt;h1&gt;Requirements&lt;/h1&gt;
&lt;h2&gt;General&lt;/h2&gt;
&lt;p&gt;Try to do the business logic in C++ as much as possible.&lt;/p&gt;
&lt;h2&gt;Thermostat&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;0.1 ºC resolution.&lt;/li&gt;
&lt;li&gt;Regulable hysteresis in the range +/- [0.1  1.0].&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Temperature profiles&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;3 profiles to select (in fact I think 2 would be enough, but one more shouldn't hurt).&lt;/li&gt;
&lt;li&gt;Each profile will have each own target temperature and hysteresis.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Profile selection&lt;/h2&gt;
&lt;p&gt;The system should be able to configure the desired profile in &lt;strong&gt;slots&lt;/strong&gt; of 15' for each day (Monday to Sunday). So 96 slots per day.&lt;/p&gt;
&lt;h2&gt;Manual button&lt;/h2&gt;
&lt;p&gt;Sometimes I want to override the predefined configuration for a special situation. This button should allow me to set a new target temperature in a time slot from 15 minutes to 3 hours.&lt;/p&gt;
&lt;h2&gt;Heater on indicator&lt;/h2&gt;
&lt;p&gt;We want to know when the heater is being commanded to turn on.&lt;/p&gt;
&lt;h2&gt;Temperature sensor&lt;/h2&gt;
&lt;p&gt;This is not strictly decided, so the ability to use different kinds of sensors, one at a time, would be just nice.&lt;/p&gt;
&lt;hr&gt;
&lt;h1&gt;User interface&lt;/h1&gt;
&lt;p&gt;I did some sketches on what I would want as a UI. But I'm not a graphic designer, so I will first do a very simple but yet functional UI and then try to switch to a better designed UI. I dream on emulating an horizontal disc gauge, those where the user sees the border of the disc and the center of it shows the current temperature, perhaps even with a magnifier in the middle. Something &lt;a href="https://static.infragistics.com/marketing/Website/products/xamarin/control-images/gauges/linear-gauge/xamarin-linear-gauge-configurable-scale-l.png"&gt;like this&lt;/a&gt;, but with the needle fixed in the center.&lt;/p&gt;
&lt;hr&gt;
&lt;h1&gt;Implementing the idea&lt;/h1&gt;
&lt;h2&gt;The backend&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://gitlab.com/perezmeyer/heatcontrol"&gt;Code repository at GitLab&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;My first steps where to implement the C++ backend: a &lt;a href="https://gitlab.com/perezmeyer/heatcontrol/-/blob/develop/src/settings.h"&gt;Settings class&lt;/a&gt; and a &lt;a href="https://gitlab.com/perezmeyer/heatcontrol/-/blob/develop/src/temperatureengine.h"&gt;TemperatureEngine class&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For the temperature sensor I decided to make a very simple &lt;a href="https://gitlab.com/perezmeyer/heatcontrol/-/blob/develop/src/abstracttemperaturesensor.h"&gt;AbstractTemperatureSensor class&lt;/a&gt; and also implement a &lt;a href="https://gitlab.com/perezmeyer/heatcontrol/-/blob/develop/src/faketemperaturesensor.h"&gt;FakeTemperatureSensor&lt;/a&gt;. The later will come handy in order to be able to &lt;a href="https://gitlab.com/perezmeyer/heatcontrol/-/blob/develop/tests/temperatureengine_tst.cpp"&gt;run tests&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Later on I can implement other temperature sources like reading an analog voltage from some GPIO, &lt;a href="https://gitlab.com/mosimpa/mosimpaqt/-/blob/master/src/mosquittoclient.h"&gt;getting the data trough MQTT&lt;/a&gt;, etc.&lt;/p&gt;
&lt;h2&gt;The GUI&lt;/h2&gt;
&lt;p&gt;That's definitely Work In Progress :-)&lt;/p&gt;</content><category term="misc"/><category term="heater"/><category term="ICS"/><category term="planetdebian-en"/><category term="english"/><category term="qt"/><category term="qml"/></entry><entry><title>Firsts steps into QML</title><link href="https://perezmeyer.com.ar/blog/2021/06/21/firsts-steps-into-qml/" rel="alternate"/><published>2021-06-21T14:48:00-03:00</published><updated>2021-06-21T14:48:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2021-06-21:/blog/2021/06/21/firsts-steps-into-qml/</id><summary type="html">&lt;p&gt;After years of using and maintaining &lt;a href="https://qt.io/"&gt;Qt&lt;/a&gt; there was a piece of the SDK that I never got to use as a developer: &lt;a href="https://en.wikipedia.org/wiki/QML"&gt;QML&lt;/a&gt;. Thanks to &lt;a href="https://www.ics.com"&gt;ICS&lt;/a&gt; I've took the free (in the sense of cost) &lt;a href="https://www.ics.com/events/qml-programming-fundamentals-and-beyond"&gt;QML Programming — Fundamentals and Beyond&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It consists of seven sessions, which can be easily …&lt;/p&gt;</summary><content type="html">&lt;p&gt;After years of using and maintaining &lt;a href="https://qt.io/"&gt;Qt&lt;/a&gt; there was a piece of the SDK that I never got to use as a developer: &lt;a href="https://en.wikipedia.org/wiki/QML"&gt;QML&lt;/a&gt;. Thanks to &lt;a href="https://www.ics.com"&gt;ICS&lt;/a&gt; I've took the free (in the sense of cost) &lt;a href="https://www.ics.com/events/qml-programming-fundamentals-and-beyond"&gt;QML Programming — Fundamentals and Beyond&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It consists of seven sessions, which can be easily done in a few days. I did them all in 4 days, but with enough time available you can do them even faster. Of course some previous knowledge of Qt comes handy.&lt;/p&gt;
&lt;p&gt;The only drawback was the need of a corporate e-mail in order to register (or at least the webpage says so). Apart from that it is really worth the effort. So, if you are planning into getting into QML this is definitely a nice way to start.&lt;/p&gt;</content><category term="misc"/><category term="ICS"/><category term="planetdebian-en"/><category term="english"/><category term="qt"/><category term="qml"/></entry><entry><title>On configuring RAK LoRa devices, or how to avoid their Windows-only serial application</title><link href="https://perezmeyer.com.ar/blog/2021/03/16/on-configuring-rak-lora-devices-or-how/" rel="alternate"/><published>2021-03-16T11:02:00-03:00</published><updated>2021-03-16T11:02:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2021-03-16:/blog/2021/03/16/on-configuring-rak-lora-devices-or-how/</id><summary type="html">&lt;p&gt;&lt;strong&gt;tl;dr:&lt;/strong&gt; use a serial terminal which can buffer input and send it all at once, lines should end with \CR\LF.  &lt;/p&gt;
&lt;p&gt;I'm am currently working on bringing up a &lt;a href="https://en.wikipedia.org/wiki/LoRa"&gt;LoRa&lt;/a&gt; network in Bahía Blanca. Parts of the nodes I need to set up are made by &lt;a href="https://www.rakwireless.com/en-us"&gt;RAK Wireless&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;According …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;strong&gt;tl;dr:&lt;/strong&gt; use a serial terminal which can buffer input and send it all at once, lines should end with \CR\LF.  &lt;/p&gt;
&lt;p&gt;I'm am currently working on bringing up a &lt;a href="https://en.wikipedia.org/wiki/LoRa"&gt;LoRa&lt;/a&gt; network in Bahía Blanca. Parts of the nodes I need to set up are made by &lt;a href="https://www.rakwireless.com/en-us"&gt;RAK Wireless&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;According to their documentation the nodes can be configured by using a serial connection to them. So I quickly turned to &lt;a href="https://salsa.debian.org/minicom-team/minicom"&gt;minicom&lt;/a&gt; for it, with no avail. Somehow I could read whatever the device was writing to my machine but could not write any commands back to it.&lt;/p&gt;
&lt;p&gt;In order to get the issue solved I switched to running their RAK serial port tool under wine. Making it work made me download and install a huge amount of Windows libraries and tools, but in the end I wanted a Linux-only solution.&lt;/p&gt;
&lt;p&gt;After much  digging the web, trial and error I've found a way to solve this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Commands should end with \CR\LF.&lt;/li&gt;
&lt;li&gt;The command needs to be sent quickly, all in one go, trough the serial port. This means it can't be typed and sent as normal serial consoles.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The solution for (1) in minicom is easy, but I don't know if minicom is capable of doing the buffering thing, so I went to use &lt;a href="http://cutecom.sourceforge.net/"&gt;cutecom&lt;/a&gt;, for which one has to enter the input and send it all at once.&lt;/p&gt;</content><category term="misc"/><category term="hardware"/><category term="linux"/><category term="planetdebian-en"/><category term="english"/><category term="LoRa"/><category term="RAK"/></entry><entry><title>Stepping down as Qt 6 maintainers</title><link href="https://perezmeyer.com.ar/blog/2020/08/18/stepping-down-as-qt-6-maintainers/" rel="alternate"/><published>2020-08-18T10:09:00-03:00</published><updated>2020-08-18T10:09:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2020-08-18:/blog/2020/08/18/stepping-down-as-qt-6-maintainers/</id><summary type="html">&lt;p&gt;After quite some time maintaining Qt in Debian both Dmitry Shachnev and I decided to not maintain Qt 6 when it's published (expected in December 2020, see &lt;a href="https://wiki.qt.io/Qt_6.0_Release"&gt;https://wiki.qt.io/Qt_6.0_Release&lt;/a&gt;). We will do our best to keep the Qt 5 codebase up and running.  &lt;/p&gt;
&lt;p&gt;We &lt;strong&gt;**love**&lt;/strong&gt; Qt …&lt;/p&gt;</summary><content type="html">&lt;p&gt;After quite some time maintaining Qt in Debian both Dmitry Shachnev and I decided to not maintain Qt 6 when it's published (expected in December 2020, see &lt;a href="https://wiki.qt.io/Qt_6.0_Release"&gt;https://wiki.qt.io/Qt_6.0_Release&lt;/a&gt;). We will do our best to keep the Qt 5 codebase up and running.  &lt;/p&gt;
&lt;p&gt;We &lt;strong&gt;**love**&lt;/strong&gt; Qt, but it's a huge codebase and requires time and build power, both things that we are currently lacking, so we decided it's time for us to step down and pass the torch. And a new major version seems the right point to do that.  &lt;/p&gt;
&lt;p&gt;We will be happy to review and/or sponsor other people's work or even occasionally do uploads, but we can't promise to do it regularly.  &lt;/p&gt;
&lt;p&gt;Some things we think potential Qt 6 maintainers should be familiar with are, of course, C++ packaging (specially symbols files) and CMake, as Qt 6 will be built with it.  &lt;/p&gt;
&lt;p&gt;We also encourage prospective maintainers to remove the source's -everywhere-src suffixes and just keep the base names as source package names: qtbase6, qtdeclarative6, etc.  &lt;/p&gt;
&lt;p&gt;It has been an interesting ride all these years, we really hope you enjoyed using Qt.  &lt;/p&gt;
&lt;p&gt;Thanks for everything,  &lt;/p&gt;
&lt;p&gt;Dmitry and Lisandro.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note 20200818 12:12 ARST:&lt;/strong&gt; I was asked if the move has anything to do with code quality or licensing. The answer is a huge &lt;strong&gt;no&lt;/strong&gt;, Qt is a &lt;strong&gt;**great**&lt;/strong&gt; project which we love. As stated before it's mostly about lack of free time to properly maintain it.&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="qt"/><category term="debian"/></entry><entry><title>Simplified Monitoring of Patients in Situations of Mass Hospitalization (MoSimPa) - Fighting COVID-19</title><link href="https://perezmeyer.com.ar/blog/2020/06/02/simplified-monitoring-of-patients-in/" rel="alternate"/><published>2020-06-02T09:49:00-03:00</published><updated>2020-06-02T09:49:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2020-06-02:/blog/2020/06/02/simplified-monitoring-of-patients-in/</id><summary type="html">&lt;p&gt;I have been quite absent from Debian stuff lately, but this increased since COVID-19 hits us. In this blog post I'll try to sketch what I have been doing to help fight COVID-19 this last few months.&lt;/p&gt;
&lt;h1 id="in-the-beginning" style="text-align: left;"&gt;In the beginning&lt;/h1&gt;
&lt;p&gt;When the pandemic reached Argentina the government started a quarantine …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I have been quite absent from Debian stuff lately, but this increased since COVID-19 hits us. In this blog post I'll try to sketch what I have been doing to help fight COVID-19 this last few months.&lt;/p&gt;
&lt;h1 id="in-the-beginning" style="text-align: left;"&gt;In the beginning&lt;/h1&gt;
&lt;p&gt;When the pandemic reached Argentina the government started a quarantine. We engineers (like engineers around the world) started to think on how to put our abilities in order to help with the situation. Some worked toward providing more protection elements to medical staff, some towards increasing the number of &lt;a href="https://en.wikipedia.org/wiki/Ventilator"&gt;ventilation machines&lt;/a&gt; at disposal. Another group of people started thinking on another ways of helping. In &lt;a href="https://en.wikipedia.org/wiki/Bah%C3%ADa_Blanca"&gt;Bahía Blanca&lt;/a&gt; arised the idea of monitoring some variables remotely and in masse.&lt;/p&gt;
&lt;h1 id="simplified-monitoring-of-patients-in-situations-of-mass-hospitalization-mosimpa" style="text-align: left;"&gt;Simplified Monitoring of Patients in Situations of Mass Hospitalization (MoSimPa)&lt;/h1&gt;
&lt;p&gt;&lt;img alt="device" src="https://perezmeyer.com.ar/images/device.jpg"&gt;&lt;/p&gt;
&lt;p&gt;This is where the idea of remotely monitored devices came in, and MoSimPa (from the spanish of "monitoreo simplificado de pacientes en situación de internación masiva") started to get form. The idea is simple: &lt;a href="https://en.wikipedia.org/wiki/Pulse_oximetry"&gt;oximetry&lt;/a&gt; (SpO2), heart rate and body temperature will be recorded and, instead of being shown in a display in the device itself, they will be transmitted and monitored in one or more places. In this way medical staff doesn't has to reach a patient constantly and monitoring could be done by medical staff for more patients at the same time. In place monitoring can also happen using a cellphone or tablet.&lt;/p&gt;
&lt;p&gt;The devices do not have a screen of their own and almost no buttons, making them more cheap to build and thus more in line with the current economic reality of Argentina.&lt;/p&gt;
&lt;p&gt;&lt;img alt="paraayudar" src="https://perezmeyer.com.ar/images/paraayudar.png"&gt;&lt;/p&gt;
&lt;p&gt;This is where the project &lt;a href="https://www.facebook.com/paraayudardar/"&gt;Para Ayudar&lt;/a&gt; was created. The project aims to produce the aforementioned non-invasive device to be used in health institutions, hospitals, intra hospital transports and homes.&lt;/p&gt;
&lt;p&gt;It is worth to note that the system is designed as a complementary measure for continuous monitoring of a pacient. Care should be taken to check that symptomps and overall patient status don't mean an inmediate life threat. In other words, it is &lt;strong&gt;NOT&lt;/strong&gt; designed for ICUs.&lt;/p&gt;
&lt;p&gt;All the above done with &lt;a href="https://en.wikipedia.org/wiki/Free_and_open-source_software"&gt;Free/Libre/Open Source&lt;/a&gt; &lt;a href="https://gitlab.com/mosimpa/"&gt;software and hardware&lt;/a&gt; designs. Any manufacturing company can then use them for mass production.&lt;/p&gt;
&lt;h2 id="the-importance-of-early-pneumonia-detection" style="text-align: left;"&gt;The importance of early pneumonia detection&lt;/h2&gt;
&lt;p&gt;We were already working in MoSimPa when an NYTimes article caught or attention: &lt;a href="https://www.nytimes.com/2020/04/20/opinion/sunday/coronavirus-testing-pneumonia.html"&gt;"The Infection That’s Silently Killing Coronavirus Patients"&lt;/a&gt;. From the article:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;A vast majority of Covid pneumonia patients I met had remarkably low oxygen saturations at triage — seemingly incompatible with life — but they were using their cellphones as we put them on monitors. Although breathing fast, they had relatively minimal apparent distress, despite dangerously low oxygen levels and terrible pneumonia on chest X-rays.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This greatly reinforced the idea we were on the right track.&lt;/p&gt;
&lt;h1 id="the-project-from-a-technical-standpoint" style="text-align: left;"&gt;The project from a technical standpoint&lt;/h1&gt;
&lt;p&gt;As the project is primarily designed for and by Argentinians the &lt;a href="https://mosimpa.gitlab.io/"&gt;current system design and software documentation&lt;/a&gt; is written in spanish, but the source code (or at least most of it) is written in english. Should anyone need it in english please do not hesitate in asking me.&lt;/p&gt;
&lt;h2 id="general-system-description" style="text-align: left;"&gt;General system description&lt;/h2&gt;
&lt;p&gt;&lt;img alt="esquema_conexiones" src="https://perezmeyer.com.ar/images/esquema_conexiones.png"&gt;&lt;/p&gt;
&lt;p&gt;The system is comprised of the devices, a main machine acting as a server (in our case for small setups a Raspberry Pi) and the possibility of accessing data trough cell phones, tablets or other PCs in the network.&lt;/p&gt;
&lt;h2 id="the-hardware" style="text-align: left;"&gt;The hardware&lt;/h2&gt;
&lt;p&gt;As of today this is the only part in which I still can't provide schematics, but I'll update this blog post and technical doc with them as soon as I get my hands into them.&lt;/p&gt;
&lt;p&gt;Again the design is due to be built in Argentina where getting our hands on hardware is not easy. Moreover it needs to be as cheap as possible, specially now that the Argentinian currency, the peso, is every day more depreciated. So we decided on using an ESP32 as the main microprocessor and a set of Maxim sensors devices. Again, more info when I have them at hand.&lt;/p&gt;
&lt;h2 id="the-software" style="text-align: left;"&gt;The software&lt;/h2&gt;
&lt;p&gt;Here we have many more components to describe. Firstly the &lt;a href="https://gitlab.com/mosimpa/esp32-firmware"&gt;ESP32 code&lt;/a&gt; is done with the Arduino SDK. This part of the stack will receive many updates soon, as soon as the first hardware prototypes are out.&lt;/p&gt;
&lt;p&gt;For the rest of the stack I decided to go ahead with whatever is available in &lt;a href="https://www.debian.org/"&gt;Debian&lt;/a&gt; stable. Why? Well, Raspbian provides a Debian stable-based image and I'm a Debian Developer, so things should go just natural for me in that front. Of course each component has its own packaging. I'm one of Debian's &lt;a href="https://qt-kde-team.pages.debian.net/"&gt;Qt maintainers&lt;/a&gt; then using &lt;a href="https://www.qt.io/"&gt;Qt&lt;/a&gt; will also be quite natural for me. Plots? &lt;a href="https://qwt.sourceforge.io/"&gt;Qwt&lt;/a&gt;, of course. And with that I have most of my necessities fulfilled. I choose &lt;a href="https://www.postgresql.org/"&gt;PostgreSql&lt;/a&gt; as database server and &lt;a href="https://mosquitto.org/"&gt;Mosquitto&lt;/a&gt; as MQTT broker.&lt;/p&gt;
&lt;p&gt;Between the database and MQTT is &lt;a href="https://gitlab.com/mosimpa/datakeeper"&gt;mosimpa-datakeeper&lt;/a&gt;. The piece of software from which medical staff monitor patients is unsurprisingly called &lt;a href="https://gitlab.com/mosimpa/monitor"&gt;mosimpa-monitor&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="monitor_main" src="https://perezmeyer.com.ar/images/monitor_main.png"&gt;&lt;/p&gt;
&lt;p&gt;MoSimPa's monitor main screen&lt;/p&gt;
&lt;p&gt;&lt;img alt="monitor_plots" src="https://perezmeyer.com.ar/images/monitor_plots.png"&gt;&lt;/p&gt;
&lt;p&gt;Plots of a patient's data&lt;/p&gt;
&lt;p&gt;&lt;img alt="monitor_alarms" src="https://perezmeyer.com.ar/images/monitor_alarms.png"&gt;&lt;/p&gt;
&lt;p&gt;Alarm thresholds setup&lt;/p&gt;
&lt;p&gt;And for managing patients, devices, locations and internments (CRUD anyone?) there is currently a Qt-based application called &lt;a href="https://gitlab.com/mosimpa/abm/"&gt;mosimpa-abm&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="abm" src="https://perezmeyer.com.ar/images/abm.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="abm_internments" src="https://perezmeyer.com.ar/images/abm_internments.png"&gt;&lt;/p&gt;
&lt;p&gt;ABM internments view&lt;/p&gt;
&lt;p&gt;The idea is to replace it with a web service so it doesn't needs to be confined to the RPi or require installations in other machines. I considered using &lt;a href="https://webassembly.org/"&gt;webassembly&lt;/a&gt; but I would have to also build PostgreSql in order to compile Qt's plugin.&lt;/p&gt;
&lt;p&gt;Translations? Of course! As I have already mentioned the code is written in English. Qt allows to easily translate applications, so I keep a Spanish one as the code changes (and we are primarily targeting spanish-speaking people). But of course this also means it can be easily translated to whichever language is necessary.&lt;/p&gt;
&lt;p&gt;Even if I am a packager I still have some stuff to fix from the packaging itself, like &lt;a href="https://gitlab.com/mosimpa/datakeeper/-/issues/12"&gt;letting datakeeper run with its own user&lt;/a&gt;. I just haven't got to it yet.&lt;/p&gt;
&lt;iframe allowfullscreen class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/ml7ay9wAoOA" width="320" youtube-src-id="ml7ay9wAoOA"&gt;
&lt;/iframe&gt;
&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=ml7ay9wAoOA"&gt;A video showing the software in action&lt;/a&gt;&lt;/p&gt;
&lt;h1 id="certifications" style="text-align: left;"&gt;Certifications&lt;/h1&gt;
&lt;p&gt;We are working towards getting the system certified by &lt;a href="https://www.argentina.gob.ar/anmat"&gt;ANMAT&lt;/a&gt;, which is the Argentinian equivalent for EEUU's FDA.&lt;/p&gt;
&lt;h1 id="funding" style="text-align: left;"&gt;Funding&lt;/h1&gt;
&lt;p&gt;While all the people involved are working ad-honorem funding is still required in order to buy materials, create the prototypes, etc. The project created &lt;a href="https://www.facebook.com/story.php?story_fbid=121793116135824&amp;amp;id=112910973690705"&gt;payments links with Mercado Pago (in spanish and argentinian pesos)&lt;/a&gt; and &lt;a href="https://perezmeyer.com.ar/mosimpa/files/Para_Ayudar_200331_como_donar.pdf"&gt;other bank methods (PDF, also in spanish)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I repeat the links here with an aproximation to US$.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.mercadopago.com.ar/checkout/v1/redirect/219d7beb-da60-4ea9-acfe-e6af7b4578fb/express/?fbclid=IwAR3B_tMTbvFGM0EVXnnEaO_YZhCLgsKRWXDZpjp_mCHzliWfJDZ_VowBhKg&amp;amp;preference-id=543887262-38d90bb3-2da4-4bb6-84a4-6466f74ff5fc&amp;amp;p=f94300b30193bc0ffa289b5e5dfda527"&gt;500 AR$ (less than 8 US$)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.mercadopago.com.ar/checkout/v1/redirect/f5135e22-52e3-4471-b2be-9df0f72c174d/express/?fbclid=IwAR16GTCM9XMFgqlI4CAqp4xxVIqRVWuab5B1bqv5dZRemBCOxjb0AJxDQM8&amp;amp;preference-id=543887262-2673caa0-397c-4ced-8925-8f1fbcd0289a&amp;amp;p=f94300b30193bc0ffa289b5e5dfda527"&gt;1000 AR$ (less than 15 US$)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.mercadopago.com.ar/checkout/v1/redirect/6fd51283-61f2-46f0-b535-96fb8c18d1d0/express/?fbclid=IwAR2XU2TMEtLXVR7PmR5nyTrcezDVd3GU-YAjGvLCIvqhPm2q6dERK1IIyco&amp;amp;preference-id=543887262-20380998-df6f-4936-af1e-f420565a11cb&amp;amp;p=f94300b30193bc0ffa289b5e5dfda527"&gt;2000 AR$ (less than 30 US$)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.mercadopago.com.ar/checkout/v1/redirect/b828dd55-abb0-4561-a5f9-b0beaa8d9a16/express/?fbclid=IwAR2Sp-WSb8fqGdE2h9z8TGm2uB2BNxIDUXUj2oQnWFXc6vDS32uD0i__A9s&amp;amp;preference-id=543887262-ba71f4ce-b177-4967-8573-38a04c117fcc&amp;amp;p=f94300b30193bc0ffa289b5e5dfda527"&gt;3000 AR$ (less than 45 US$)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.mercadopago.com.ar/checkout/v1/redirect/04231597-fcf7-4623-b7c6-53113f442b38/express/?fbclid=IwAR2agEbemfc2K5u-psdlR45qDmC9WvRNDKn_D8XRXBWab8C2ImMtBEqlroQ&amp;amp;preference-id=543887262-9d719b5e-02e5-48ec-8935-b98e8d36113e&amp;amp;p=f94300b30193bc0ffa289b5e5dfda527"&gt;5000 AR$ (less than 75 US$)&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can check the actual convertion rate in &lt;a href="https://www.google.com/search?q=argentine+peso+to+us+dollars"&gt;https://www.google.com/search?q=argentine+peso+to+us+dollars&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The project was also presented at a funding call of argentinian &lt;a href="https://www.argentina.gob.ar/ciencia/agencia"&gt;Agencia de Promoción de la Investigación, el Desarrollo Tecnológico y la Innovación&lt;/a&gt; (Agencia I+D+i). 900+ projects where presented and 64 funded, MoSimPa between them.&lt;/p&gt;</content><category term="misc"/><category term="geek"/><category term="planetdebian-en"/><category term="hardware"/><category term="english"/><category term="programación"/><category term="bahíablanca"/><category term="softwarelibre"/><category term="argentina"/><category term="MoSimPa"/><category term="comision de investigaciones científicas"/><category term="linux"/><category term="qt"/><category term="debian"/></entry><entry><title>Qt 4 removed from Debian Sid (unstable)</title><link href="https://perezmeyer.com.ar/blog/2020/03/07/qt-4-removed-from-debian-sid-unstable/" rel="alternate"/><published>2020-03-07T21:38:00-03:00</published><updated>2020-03-07T21:38:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2020-03-07:/blog/2020/03/07/qt-4-removed-from-debian-sid-unstable/</id><content type="html">&lt;p&gt;The day has finally arrived: &lt;a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=953294#10"&gt;Qt 4 is no longer part of Debian unstable&lt;/a&gt;. It's gone.  &lt;/p&gt;
&lt;p&gt;Thanks should go to many people. You know who you are, and I really appreciate the support and time you put into this. &lt;strong&gt;**Thanks**&lt;/strong&gt;&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>Qt 4 removed from Debian bullseye (current testing)</title><link href="https://perezmeyer.com.ar/blog/2020/01/09/qt-4-removed-from-debian-bullseye/" rel="alternate"/><published>2020-01-09T19:31:00-03:00</published><updated>2020-01-09T19:31:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2020-01-09:/blog/2020/01/09/qt-4-removed-from-debian-bullseye/</id><content type="html">&lt;p&gt;Today Qt 4 (aka src:qt4-x11) has been removed from Debian bullseye, what as of today we know as "testing". We plan to remove it from unstable pretty soon.  &lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>Developing Nordics' nRF9160 DK using Qt Creator</title><link href="https://perezmeyer.com.ar/blog/2019/08/09/developing-nordics-nrf9160-dk-using-qt/" rel="alternate"/><published>2019-08-09T15:12:00-03:00</published><updated>2019-08-09T15:12:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2019-08-09:/blog/2019/08/09/developing-nordics-nrf9160-dk-using-qt/</id><summary type="html">&lt;p&gt;So I've got my hands into a &lt;a href="https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF9160-DK"&gt;nRF9160DK (development kit)&lt;/a&gt;. Like &lt;a href="http://perezmeyer.blogspot.com/2017/02/developing-nrf51822-based-embedded.html"&gt;I did with the nRF51822&lt;/a&gt; I would love to develop software for this board using as much FLOSS tools as possible to avoid any kind of vendor lock-in.  &lt;/p&gt;
&lt;p&gt;This board actually has two interesting ICs: the nRF9160 which anyone …&lt;/p&gt;</summary><content type="html">&lt;p&gt;So I've got my hands into a &lt;a href="https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF9160-DK"&gt;nRF9160DK (development kit)&lt;/a&gt;. Like &lt;a href="http://perezmeyer.blogspot.com/2017/02/developing-nrf51822-based-embedded.html"&gt;I did with the nRF51822&lt;/a&gt; I would love to develop software for this board using as much FLOSS tools as possible to avoid any kind of vendor lock-in.  &lt;/p&gt;
&lt;p&gt;This board actually has two interesting ICs: the nRF9160 which anyone would expect and a nRF52840. At first I'm targeting the first one.  &lt;/p&gt;
&lt;p&gt;The nRF9160's firmware is based on &lt;a href="https://www.zephyrproject.org/"&gt;Zephyr&lt;/a&gt; which uses &lt;a href="https://cmake.org/"&gt;CMake&lt;/a&gt;. This is great as my preferred IDE is &lt;a href="https://en.wikipedia.org/wiki/Qt_Creator"&gt;Qt Creator&lt;/a&gt; which has quite nice CMake integration.  &lt;/p&gt;
&lt;h3&gt;Preparing the toolchain and proprietary code&lt;/h3&gt;
&lt;p&gt;There is of course some Nordic proprietary code to put in the mix. So the first step is to setup Nordic's SDK. For that one needs to &lt;a href="https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF9160-DK/GetStarted#infotabs"&gt;follow the "Get started with development" section&lt;/a&gt; in their web page. One needs to download an nRFConnect AppImage binary and start it. How safe it is to run proprietary code in our machines? Now that's an interesting question.  &lt;/p&gt;
&lt;p&gt;Once there, and still following Nordic's documentation, we need to install the "Getting started Assistant" and run it. We will follow all steps in it except the last ones for installing a proprietary IDE. We want to code using Qt Creator after all.  &lt;/p&gt;
&lt;h3&gt;Building the asset tracker example from the command line&lt;/h3&gt;
&lt;p&gt;So let's start by trying to build the example (the only one so far?) from the command line. After some trial and error I've got the following:  &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;mkdir build
cd build
GNUARMEMB_TOOLCHAIN_PATH=&amp;quot;/opt/gcc-arm-none-eabi-7-2018-q2-update&amp;quot;

ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb ZEPHYR_BASE=&amp;quot;$NCS_BASE/zephyr&amp;quot;

cmake -DBOARD_ROOT=&amp;quot;$NCS_BASE/zephyr/boards/arm/nrf9160_pca10090&amp;quot;

-DBOARD=&amp;quot;nrf9160_pca10090ns&amp;quot; ../
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Where NCS_BASE is the path to the previously downloaded SDK. In this case I selected the non secure version build for this board.  &lt;/p&gt;
&lt;p&gt;The next step is then easy.  &lt;/p&gt;
&lt;h3&gt;Building the asset tracker example from within Qt Creator&lt;/h3&gt;
&lt;p&gt;Once we've got to compile the example from the command line switching to Qt Creator is easy. First of all we want to set up a Kit as &lt;a href="http://perezmeyer.blogspot.com/2017/02/developing-nrf51822-based-embedded.html"&gt;I did for the nRF51822&lt;/a&gt;. Follow the instructions there but this time set up the new GCC version required by this development kit.  &lt;/p&gt;
&lt;p&gt;The next step is to provide as much definitions as possible as part of the kit itself. Got to &lt;strong&gt;Tools&lt;/strong&gt; → &lt;strong&gt;Options...&lt;/strong&gt; and then to &lt;strong&gt;Kits&lt;/strong&gt;. Select the newly created kit (I called it nRF9160) and then change "CMake Configuration" settings. The resulting text should look like:  &lt;/p&gt;
&lt;p&gt;BOARD:STRING=nrf9160_pca10090ns&lt;/p&gt;
&lt;p&gt;BOARD_ROOT:STRING=path/to/ncs/zephyr/boards/arm/nrf9160_pca10090&lt;/p&gt;
&lt;p&gt;CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}&lt;/p&gt;
&lt;p&gt;CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}&lt;/p&gt;
&lt;p&gt;CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}&lt;/p&gt;
&lt;p&gt;GNUARMEMB_TOOLCHAIN_PATH:STRING=/opt/gcc-arm-none-eabi-7-2018-q2-update&lt;/p&gt;
&lt;p&gt;ZEPHYR_TOOLCHAIN_VARIANT:STRING=gnuarmemb&lt;/p&gt;
&lt;p&gt;Some of those definitions are not really necessary in there. ZEPHYR_BASE needs to be set as an environment variable. This is the only akward part of this setup, as the only way I could find to do so from within Qt Creator is to set it up in a per-project fashion.&lt;/p&gt;
&lt;p&gt;Once the above is done open \$NCS_BASE/nrf/applications/asset_tracker/CMakeLists.txt. The configuration will fail, as we haven't suplied ZEPHYR_BASE yet. To do so go to "Projects" on the right, Select "Build" within the kit and set up ZEPHYR_BASE within the "Build Environment" section at the bottom.&lt;/p&gt;
&lt;p&gt;That's is, you are now ready to use "Run CMake" from within the "Build" menu and you are ready to go.&lt;/p&gt;</content><category term="misc"/></entry><entry><title>Using libgps instead of libQgpsmm within a Qt application</title><link href="https://perezmeyer.com.ar/blog/2018/11/17/using-libgps-instead-of-libqgpsmm/" rel="alternate"/><published>2018-11-17T16:12:00-03:00</published><updated>2018-11-17T16:12:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2018-11-17:/blog/2018/11/17/using-libgps-instead-of-libqgpsmm/</id><summary type="html">&lt;p&gt;I was in need of creating a Qt application using current Debian stable (Stretch) and gpsd. I could have used libQgpsmm which creates a QTcpSocket for stablishing the connection to the gpsd daemon. But then I hit an issue: libQgpsmm was switched to Qt 5 after the Strech release, namely …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I was in need of creating a Qt application using current Debian stable (Stretch) and gpsd. I could have used libQgpsmm which creates a QTcpSocket for stablishing the connection to the gpsd daemon. But then I hit an issue: libQgpsmm was switched to Qt 5 after the Strech release, namely in gpsd 3.17-4. And I'm using Qt 5.  &lt;/p&gt;
&lt;p&gt;So the next thing to do is to use libgps itself, which is written in C. In this case one needs to call gps_open()]{style="font-family: \"Courier New\", Courier, monospace;"} to open a connection, [gps_stream()]{style="font-family: \"Courier New\", Courier, monospace;"} to ask for the needed stream... and use [gps_waiting() to poll the socket for data.&lt;br&gt;
[&lt;br&gt;
]{style="font-family: \"Courier New\", Courier, monospace;"}gps_waiting() checks for data for a maximum of time specified in it's parameters. That means I would need to create a QTimer and poll it to get the data. Poll it fast enough for the application to be responsive, but not too excessively to avoid useless CPU cycles.  &lt;/p&gt;
&lt;p&gt;I did not like this idea, so I started digging gpsd's code until I found that it exposes the socket it uses in it's base struct, struct gps_data_t]{style="font-family: \"Courier New\", Courier, monospace;"}'s [gps_fd]{style="font-family: \"Courier New\", Courier, monospace;"}. So the next step was to set up a QSocketNotifier around it, and use it's [activated() signal.  &lt;/p&gt;
&lt;p&gt;So (very) basically:  &lt;/p&gt;
&lt;p&gt;// Class private:&lt;br&gt;
struct gps_data_t mGpsData; &lt;br&gt;
QSocketNotifier * mNotifier;&lt;br&gt;
[&lt;br&gt;
]{style="font-family: \"Courier New\", Courier, monospace;"}// In the implementation:&lt;br&gt;
result = gps_open("localhost", DEFAULT_GPSD_PORT, &amp;amp;mGpsData);&lt;br&gt;
// [...check result status...]  &lt;/p&gt;
&lt;p&gt;result = gps_stream(&amp;amp;mGPSData,WATCH_ENABLE|WATCH_JSON, NULL);&lt;br&gt;
// [...check result status...]  &lt;/p&gt;
&lt;p&gt;//  Set up the QSocketNotifier instance.&lt;br&gt;
mNotifier = new QSocketNotifier(mGpsData.gps_fd, QSocketNotifier::Read, this);   &lt;/p&gt;
&lt;p&gt;connect(mNotifier, &amp;amp;QSocketNotifier::activated, this, &amp;amp;MyGps::readData);  &lt;/p&gt;
&lt;p&gt;And of course, calling gps_read(&amp;amp;mGpsData)]{style="font-family: \"Courier New\", Courier, monospace;"} in [MyGps::readData(). With this every time there is activity on the socket readData() will be called, an no need to set up a timer anymore.&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="programación"/><category term="qt"/><category term="gpsd"/><category term="debian"/></entry><entry><title>Cross compiling CMake-based projects using Ubuntu/Debian's multi arch</title><link href="https://perezmeyer.com.ar/blog/2018/11/02/cross-compiling-cmake-based-projects/" rel="alternate"/><published>2018-11-02T14:20:00-03:00</published><updated>2018-11-02T14:20:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2018-11-02:/blog/2018/11/02/cross-compiling-cmake-based-projects/</id><summary type="html">&lt;p&gt;As you probably already know Ubuntu (and then Debian) added &lt;a href="https://wiki.debian.org/Multiarch/HOWTO"&gt;Multi-Arch support&lt;/a&gt; quite some time ago. This means that you can install library packages from multiple architectures on the same machine.  &lt;/p&gt;
&lt;p&gt;Thanks to the work of many people, in which I would like to specially mention Helmut Grohne, we are …&lt;/p&gt;</summary><content type="html">&lt;p&gt;As you probably already know Ubuntu (and then Debian) added &lt;a href="https://wiki.debian.org/Multiarch/HOWTO"&gt;Multi-Arch support&lt;/a&gt; quite some time ago. This means that you can install library packages from multiple architectures on the same machine.  &lt;/p&gt;
&lt;p&gt;Thanks to the work of many people, in which I would like to specially mention Helmut Grohne, we are now able to cross compile Debian packages using standard sbuild chroots. He even was kind enough to provide me with some numbers:  &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nx"&gt;We&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;have&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;28790&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;source&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;packages&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Debian&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;unstable&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="nx"&gt;Of&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;those&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;13358&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m m-Double"&gt;46.3&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;build&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;architecture&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;dependent&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;binary&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;packages&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="nx"&gt;Of&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;those&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;7301&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m m-Double"&gt;54.6&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;have&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;satisfiable&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;cross&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Build&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;Depends&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="nx"&gt;Of&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;those&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;3696&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m m-Double"&gt;50.6&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;of&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;buildable&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m m-Double"&gt;27.6&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;of&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;sources&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;were&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;attempted&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="nx"&gt;Of&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;those&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2695&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m m-Double"&gt;72.9&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;of&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;built&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m m-Double"&gt;36.9&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;of&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;buildable&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m m-Double"&gt;20.1&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;of&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;sources&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;were&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;successful&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="mi"&gt;633&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;bugs&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;affecting&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;772&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;packages&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m m-Double"&gt;7.23&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;of&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;10663&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;unsuccessful&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;are&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;reported&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Now I asked myself if I could use this to cross compile the code I'm working on without the need of doing a full Debian package build.  &lt;/p&gt;
&lt;p&gt;My projects uses &lt;a href="https://cmake.org/"&gt;CMake&lt;/a&gt;, so we can cross compile by providing a suitable &lt;a href="https://cmake.org/cmake/help/v3.6/manual/cmake-toolchains.7.html#cross-compiling"&gt;CMAKE_TOOLCHAIN_FILE&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;And so the first question is:  &lt;/p&gt;
&lt;h3&gt;How do we create the necessary file using what Multi-Arch brings to our table?&lt;/h3&gt;
&lt;p&gt;I asked Helmut and he did not only provide me with lots of tips, he also provided me with the following script, which I modified a little:  &lt;/p&gt;
&lt;p&gt;Now we can run the script providing it with the desired host arch and voilá, we have our toolchain file.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 20230623:&lt;/strong&gt; Since long Debian's cmake ships this script as &lt;code&gt;/usr/share/cmake/debtoolchainfilegen&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="ch"&gt;#!/bin/sh&lt;/span&gt;
&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-x

&lt;span class="nv"&gt;ARCH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$DEB_HOST_GNU_TYPE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;dpkg-architecture&lt;span class="w"&gt; &lt;/span&gt;-f&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;-a&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-qDEB_HOST_GNU_TYPE&lt;span class="k"&gt;)&lt;/span&gt;
&lt;span class="nv"&gt;DEB_HOST_GNU_CPU&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;dpkg-architecture&lt;span class="w"&gt; &lt;/span&gt;-f&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;-a&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-qDEB_HOST_GNU_CPU&lt;span class="k"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;case&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;dpkg-architecture&lt;span class="w"&gt; &lt;/span&gt;-f&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;-a&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-qDEB_HOST_ARCH_OS&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;linux&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;system_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;Linux&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;kfreebsd&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;system_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;kFreeBSD&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;hurd&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;system_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;GNU&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;*&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;exit&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;;;&lt;/span&gt;
&lt;span class="k"&gt;esac&lt;/span&gt;

cat&lt;span class="w"&gt; &lt;/span&gt;&amp;lt;&lt;span class="w"&gt; &lt;/span&gt;EOF&lt;span class="w"&gt; &lt;/span&gt;&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;cmake_toolchain_&lt;span class="nv"&gt;$1&lt;/span&gt;.cmake
&lt;span class="c1"&gt;# Use it while calling CMake:&lt;/span&gt;
&lt;span class="c1"&gt;# mkdir build; cd build&lt;/span&gt;
&lt;span class="c1"&gt;# cmake -DCMAKE_TOOLCHAIN_FILE=&amp;quot;../cmake_toolchain_`&amp;lt;arch&amp;gt;`{=html}.cmake&amp;quot; ../`&amp;lt;/arch&amp;gt;`{=html}&lt;/span&gt;
set&lt;span class="o"&gt;(&lt;/span&gt;CMAKE_SYSTEM_NAME&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="nv"&gt;$system_name&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
set&lt;span class="o"&gt;(&lt;/span&gt;CMAKE_SYSTEM_PROCESSOR&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="nv"&gt;$DEB_HOST_GNU_CPU&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
set&lt;span class="o"&gt;(&lt;/span&gt;CMAKE_C_COMPILER&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="nv"&gt;$DEB_HOST_GNU_TYPE&lt;/span&gt;&lt;span class="s2"&gt;-gcc&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
set&lt;span class="o"&gt;(&lt;/span&gt;CMAKE_CXX_COMPILER&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="nv"&gt;$DEB_HOST_GNU_TYPE&lt;/span&gt;&lt;span class="s2"&gt;-g++&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
set&lt;span class="o"&gt;(&lt;/span&gt;PKG_CONFIG_EXECUTABLE&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="nv"&gt;$DEB_HOST_GNU_TYPE&lt;/span&gt;&lt;span class="s2"&gt;-pkg-config&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
set&lt;span class="o"&gt;(&lt;/span&gt;PKGCONFIG_EXECUTABLE&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&lt;/span&gt;&lt;span class="nv"&gt;$DEB_HOST_GNU_TYPE&lt;/span&gt;&lt;span class="s2"&gt;-pkg-config&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
EOF
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;&lt;/h3&gt;
&lt;h3&gt;Can we improve this?&lt;/h3&gt;
&lt;p&gt;Helmut mentioned that meson provides debcrossgen, a script that automates this step. Meson is written in python, so it only needs to know the host architecture to create the necessary definitions.  &lt;/p&gt;
&lt;p&gt;CMake is not interpreted, but maybe it has a way to know the host arch in advance. If this is true maybe a helper could be added to help in the process. Ideas (or even better, patches/code!) welcomed.&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="debian-cross"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/><category term="cmake"/></entry><entry><title>Running MPLAB X with a PickIt 3 on Debian sid</title><link href="https://perezmeyer.com.ar/blog/2018/05/23/running-mplab-x-with-pickit-3-on-debian/" rel="alternate"/><published>2018-05-23T15:30:00-03:00</published><updated>2018-05-23T15:30:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2018-05-23:/blog/2018/05/23/running-mplab-x-with-pickit-3-on-debian/</id><summary type="html">&lt;p&gt;Due to $JOB I need to work with MPLAB X (I wish I could simply open Qt Creator...). MPLAB X's installation went straightforward, but I could not make the PickIt 3 to work.&lt;/p&gt;
&lt;p&gt;So I ran MPLAB X from a console and got:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;/opt/microchip/mplabx/v4.15/mplab&lt;span class="se"&gt;\_ …&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</summary><content type="html">&lt;p&gt;Due to $JOB I need to work with MPLAB X (I wish I could simply open Qt Creator...). MPLAB X's installation went straightforward, but I could not make the PickIt 3 to work.&lt;/p&gt;
&lt;p&gt;So I ran MPLAB X from a console and got:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;/opt/microchip/mplabx/v4.15/mplab&lt;span class="se"&gt;\_&lt;/span&gt;ide/bin/mplab&lt;span class="se"&gt;\_&lt;/span&gt;ide
libusb&lt;span class="w"&gt; &lt;/span&gt;couldn&lt;span class="err"&gt;&amp;#39;&lt;/span&gt;t&lt;span class="w"&gt; &lt;/span&gt;open&lt;span class="w"&gt; &lt;/span&gt;USB&lt;span class="w"&gt; &lt;/span&gt;device&lt;span class="w"&gt; &lt;/span&gt;/dev/bus/usb/006/013:&lt;span class="w"&gt; &lt;/span&gt;Permission&lt;span class="w"&gt; &lt;/span&gt;denied.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Yes, I rebooted my machine previous to running MPLABX (a udev restart would have been enough though) but something is not yet working.  &lt;/p&gt;
&lt;p&gt;Quick and dirty solution: &lt;code&gt;chmod lisandro:lisandro /dev/bus/006/013&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Yes, I'll have to re do this every time I plug the PickIt, but at least I've got it working.&lt;/p&gt;</content><category term="misc"/><category term="hardware"/><category term="pickit3"/><category term="english"/><category term="debian"/><category term="mplabx"/></entry><entry><title>moving Qt 4 from Debian testing (aka Buster): some statistics, update II</title><link href="https://perezmeyer.com.ar/blog/2018/04/21/moving-qt-4-from-debian-testing-aka/" rel="alternate"/><published>2018-04-21T09:47:00-03:00</published><updated>2018-04-21T09:47:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2018-04-21:/blog/2018/04/21/moving-qt-4-from-debian-testing-aka/</id><summary type="html">&lt;p&gt;As in my &lt;a href="http://perezmeyer.blogspot.com.ar/2017/11/removing-qt-4-from-debian-testing-aka.html"&gt;previous blogpost&lt;/a&gt; I'm taking a look at our &lt;a href="https://wiki.debian.org/Qt4Removal"&gt;Qt4 removal wiki page&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Of a total of 438 filed bugs:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;181 bugs (41.32%) have been already fixed by either porting the app/library to Qt 5 or a removal from the archive has happened. On most cases …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;As in my &lt;a href="http://perezmeyer.blogspot.com.ar/2017/11/removing-qt-4-from-debian-testing-aka.html"&gt;previous blogpost&lt;/a&gt; I'm taking a look at our &lt;a href="https://wiki.debian.org/Qt4Removal"&gt;Qt4 removal wiki page&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Of a total of 438 filed bugs:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;181 bugs (41.32%) have been already fixed by either porting the app/library to Qt 5 or a removal from the archive has happened. On most cases the code has been ported and most of the deletions are due to Qt 5 replacements already available in the archive and some due to dead upstreams (ie., no Qt5 port available).&lt;/li&gt;
&lt;li&gt;257 bugs (58.68%) still need a fix or are fixed in experimental.&lt;/li&gt;
&lt;li&gt;35 bugs (8% of the total, 13% of the remaining) of the remaining bugs are maintained inside the Qt/KDE team.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We started filing bugs around September 9. That means roughly 32 weeks which gives us around 5.65 packages fixed per week, aka 0.85 packages per day. Obviously not as good as we started (remaining bugs tend to be more complicated), but still quite good.  &lt;/p&gt;
&lt;h3&gt;So, how can you help?&lt;/h3&gt;
&lt;p&gt;If you are a maintainer of any of the packages still affected try to get upstream to make a port and package it.  &lt;/p&gt;
&lt;p&gt;If you are not a maintainer you might want to take a look at the list of packages in our &lt;a href="https://wiki.debian.org/Qt4Removal"&gt;wiki page&lt;/a&gt; and try to create a patch for them. If you can submit it directly to upstream, the better. Or maybe it's time for you to become the package's upstream or maintainer!  &lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>Experimental cross compiling Qt in Debian packages</title><link href="https://perezmeyer.com.ar/blog/2017/11/28/experimental-cross-compiling-qt-in/" rel="alternate"/><published>2017-11-28T16:35:00-03:00</published><updated>2017-11-28T16:35:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2017-11-28:/blog/2017/11/28/experimental-cross-compiling-qt-in/</id><summary type="html">&lt;p&gt;Some time ago we the Qt/KDE team were contacted by [Helmut Grohne. He was trying to cross compile Debian packages in general thanks to Ubuntu/Debian's multi-arch support, and he was having problems with Qt-based ones.]{style="background-color: white;"}&lt;br&gt;
[[&lt;br&gt;
]{style="background-color: white;"}]{style="font-family: inherit;"}[As far as we …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Some time ago we the Qt/KDE team were contacted by [Helmut Grohne. He was trying to cross compile Debian packages in general thanks to Ubuntu/Debian's multi-arch support, and he was having problems with Qt-based ones.]{style="background-color: white;"}&lt;br&gt;
[[&lt;br&gt;
]{style="background-color: white;"}]{style="font-family: inherit;"}[As far as we understand Qt upstreams only support cross compiling by having a toolchain for each pair of architectures involved. In Debian terms, and only considering current official architectures, that would mean building 90 cross toolchains. It clearly doesn't scale.]{style="background-color: white;"}&lt;br&gt;
[[&lt;br&gt;
]{style="background-color: white;"}]{style="font-family: inherit;"}[So we set up to discuss if somehow we could use multiarch to let debian packages using Qt to cross compile.]{style="background-color: white;"}&lt;br&gt;
[[&lt;br&gt;
]{style="background-color: white;"}]{style="font-family: inherit;"}[In the meantime Enrico Zini had the same idea. He wrote a nice summary of the situation at that time &lt;a href="https://www.enricozini.org/blog/2017/debian/qt-cross-architecture-development-in-debian/"&gt;in his blog&lt;/a&gt;.]{style="background-color: white;"}&lt;br&gt;
[[&lt;br&gt;
]{style="background-color: white;"}]{style="font-family: inherit;"}After many thinking some ideas were tested and we've got to the point of solving/hacking the issue. As this is not something directly supported by upstream you should take care, and file bugs whenever necessary.&lt;br&gt;
[&lt;br&gt;
]{style="background-color: white;"}Dmitry Schachnev from &lt;a href="http://pkg-kde.alioth.debian.org/"&gt;our team&lt;/a&gt;'s side and Helmut from the &lt;a href="https://lists.debian.org/debian-cross"&gt;debian-cross&lt;/a&gt; side worked a lot on it, and I would like to present what they have done. To be fair it's mostly described in our team's &lt;a href="https://gobby.debian.org/export/Teams/KDE/qt-cross"&gt;gobby qt-cross page&lt;/a&gt;, but I would like to give it some publicity in order to let people know about it and why not, find and help solving bugs.&lt;br&gt;
[[&lt;strong&gt;&lt;br&gt;
&lt;/strong&gt;]{.underline}]{style="background-color: white;"}&lt;strong&gt;General stuff&lt;/strong&gt;&lt;br&gt;
[&lt;br&gt;
]{style="background-color: white;"}The first thing that was done was to move Qt binaries from their (Debian original) multi-arch path to a non multi-arch one, providing symlinks for compatibility. In this way the path of the binaries is the same for any arch (why they were not there is a long story, but nothing to worry now).  &lt;/p&gt;
&lt;p&gt;This move needed some other touches, like qtchooser being updated with the new paths.  &lt;/p&gt;
&lt;p&gt;The other changes where related to how we do our packaging:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;All packages containing binaries are now &lt;a href="ps://wiki.ubuntu.com/MultiarchSpec#Binary_package_control_fields"&gt;M-A:foreign&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Some packages (qt3d, qtwayland) had binaries split to allow that.&lt;/li&gt;
&lt;li&gt;qttools5-dev-tools now depends on libqt5sql5-sqlite (not uploaded yet)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

**qmake related changes**

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

We also needed to address qmake. To begin with we splitted the package containing it into qt5-qmake-bin (M-A:foreign) and qt5-qmake (M-A:same). The first one has the binaries and the second the relevant mkspecs for some arch.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

The rest of the "magic" comes from debhelper. It generates a qt.conf file with the right paths for each cross compilation and also passes cross QMAKE\_CC and QMAKE\_CXX to qmake when needed.

&lt;/div&gt;

&lt;p&gt;[[&lt;br&gt;
]{style="background-color: white;"}]{style="font-family: inherit;"}[&lt;strong&gt;autotools&lt;/strong&gt;]{style="background-color: white;"}&lt;br&gt;
[[&lt;br&gt;
]{style="background-color: white;"}]{style="font-family: inherit;"}qt5-qmake will ship /usr/bin/\$(DEB_HOST_GNU_TYPE)-qmake executable for use with AC_CHECK_TOOL (not uploaded yet).  &lt;/p&gt;
&lt;p&gt;There is still work to be done, but so far we have been able to cross compile packages using for example &lt;a href="https://wiki.debian.org/CrossCompiling#Building_with_sbuild"&gt;sbuild&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Edit 20171129 11:43 ARST:&lt;/strong&gt; You should &lt;strong&gt;really&lt;/strong&gt; look at the new &lt;a href="http://www.enricozini.org/blog/2017/qt-creator-cross-platform-development-in-stretch-consolidation/"&gt;Enrico's post&lt;/a&gt;.&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="debian-cross"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>Removing Qt 4 from Debian testing (aka Buster): some statistics</title><link href="https://perezmeyer.com.ar/blog/2017/11/24/removing-qt-4-from-debian-testing-aka/" rel="alternate"/><published>2017-11-24T17:21:00-03:00</published><updated>2017-11-24T17:21:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2017-11-24:/blog/2017/11/24/removing-qt-4-from-debian-testing-aka/</id><summary type="html">&lt;p&gt;I have just looked upon our &lt;a href="https://wiki.debian.org/Qt4Removal"&gt;Qt 4 removal wiki page&lt;/a&gt; to see how we are doing. Out of 438 bugs filled:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;88 (20.09%) have been already fixed by either porting the app/library to Qt 5 or a removal from the archive has happened. On most cases the …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;I have just looked upon our &lt;a href="https://wiki.debian.org/Qt4Removal"&gt;Qt 4 removal wiki page&lt;/a&gt; to see how we are doing. Out of 438 bugs filled:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;88 (20.09%) have been already fixed by either porting the app/library to Qt 5 or a removal from the archive has happened. On most cases the code has been ported and most of the deletions are due to Qt 5 replacements already available in the archive and a few due to dead upstreams.&lt;/li&gt;
&lt;li&gt;3 (0.68%) packages are marked as fixed an an upload is pending.&lt;/li&gt;
&lt;li&gt;65 (14.84%) of the open bugs are maintained inside the Qt/KDE team. Many of them should get a Qt 5 version with the next KF5 uploads.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We started filing bugs around September 9.  That means roughly 11 weeks, which gives us around 8 packages fixed a week, aka 1.14 packages per day. Not bad at all!  &lt;/p&gt;
&lt;p&gt;So, how can you help?  &lt;/p&gt;
&lt;p&gt;If you are a maintainer of any of the packages still affected try to get upstream to make a port and package it.  &lt;/p&gt;
&lt;p&gt;If you are not a maintainer you might want to take a look at the list of packages in our &lt;a href="https://wiki.debian.org/Qt4Removal"&gt;wiki page&lt;/a&gt; and try to create a patch for them. If you can submit it directly to upstream, the better.&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>Qt 4 and 5 and OpenSSL1.0 removal</title><link href="https://perezmeyer.com.ar/blog/2017/10/13/qt-4-and-5-and-oepnssl10-removal/" rel="alternate"/><published>2017-10-13T11:29:00-03:00</published><updated>2017-10-13T11:29:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2017-10-13:/blog/2017/10/13/qt-4-and-5-and-oepnssl10-removal/</id><summary type="html">&lt;p&gt;Today we received updates on the OpenSSL 1.0 removal status:  &lt;/p&gt;
&lt;p&gt;\&amp;lt;&lt;a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=828522#206"&gt;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=828522#206&lt;/a&gt;&amp;gt;&lt;br&gt;
\&amp;lt;&lt;a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859671#19"&gt;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859671#19&lt;/a&gt;&amp;gt;  &lt;/p&gt;
&lt;p&gt;So those removal bugs' severities will be raised to RC in aproximately a month.  &lt;/p&gt;
&lt;p&gt;We still don't have any …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Today we received updates on the OpenSSL 1.0 removal status:  &lt;/p&gt;
&lt;p&gt;\&amp;lt;&lt;a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=828522#206"&gt;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=828522#206&lt;/a&gt;&amp;gt;&lt;br&gt;
\&amp;lt;&lt;a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859671#19"&gt;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859671#19&lt;/a&gt;&amp;gt;  &lt;/p&gt;
&lt;p&gt;So those removal bugs' severities will be raised to RC in aproximately a month.  &lt;/p&gt;
&lt;p&gt;We still don't have any solutions for Qt 4 or 5.  &lt;/p&gt;
&lt;p&gt;For the Qt 5 case we will probably keep the bug open until Qt 5.10 is in the archive which should bring OpenSSL 1.1 support &lt;strong&gt;*or*&lt;/strong&gt; FTP masters decide to remove OpenSSL1.0. In this last case the fate will be the same as with Qt4, below.  &lt;/p&gt;
&lt;p&gt;For Qt4 we do not have patches available and there will probably be none in time (remember we do not have upstream support). That plus the fact that we are actively trying to remove it from the archive it means we will remove openssl support. This might mean that apps using Qt4:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Might cease to work.  &lt;/li&gt;
&lt;li&gt;Might keep working:&lt;br&gt;
  - Informing their users that no SSL support is available → programmer did a good job.&lt;br&gt;
  - Not informing their users that no SSL support is available and establishing connections non the less → programmer might have not done a good job.  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Trying to inform users as soon as possible,  &lt;/p&gt;
&lt;p&gt;Lisandro for the Qt/KDE team.&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>Qt 4 removal in Debian testing (Buster)/unstable</title><link href="https://perezmeyer.com.ar/blog/2017/08/15/qt-4-removal-in-debian-testing/" rel="alternate"/><published>2017-08-15T13:50:00-03:00</published><updated>2017-08-15T13:50:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2017-08-15:/blog/2017/08/15/qt-4-removal-in-debian-testing/</id><summary type="html">&lt;p&gt;We &lt;a href="http://perezmeyer.blogspot.com.ar/2014/11/early-announce-qt4-removal-in-jessie1.html"&gt;have been&lt;/a&gt; &lt;a href="http://perezmeyer.blogspot.com.ar/2015/05/qt4s-status-and-qt4s-webkit-removal-in.html"&gt;announcing&lt;/a&gt; &lt;a href="http://perezmeyer.blogspot.com.ar/2015/05/the-last-planned-qt-4-release-is-here.html"&gt;it&lt;/a&gt;: &lt;strong&gt;we are going to remove Qt 4&lt;/strong&gt; during the Buster cycle.  &lt;/p&gt;
&lt;p&gt;Or at least that's the best outcome we can expect. Removing a very highly used library is hard, as &lt;a href="https://wiki.debian.org/Qt4WebKitRemoval"&gt;Qt4's Webkit has proved&lt;/a&gt;. Qt 4 is long dead upstream and we have already started …&lt;/p&gt;</summary><content type="html">&lt;p&gt;We &lt;a href="http://perezmeyer.blogspot.com.ar/2014/11/early-announce-qt4-removal-in-jessie1.html"&gt;have been&lt;/a&gt; &lt;a href="http://perezmeyer.blogspot.com.ar/2015/05/qt4s-status-and-qt4s-webkit-removal-in.html"&gt;announcing&lt;/a&gt; &lt;a href="http://perezmeyer.blogspot.com.ar/2015/05/the-last-planned-qt-4-release-is-here.html"&gt;it&lt;/a&gt;: &lt;strong&gt;we are going to remove Qt 4&lt;/strong&gt; during the Buster cycle.  &lt;/p&gt;
&lt;p&gt;Or at least that's the best outcome we can expect. Removing a very highly used library is hard, as &lt;a href="https://wiki.debian.org/Qt4WebKitRemoval"&gt;Qt4's Webkit has proved&lt;/a&gt;. Qt 4 is long dead upstream and we have already started to need to patch it with untested patches as in the OpenSSL 1.1 case (will be in experimental in a few hours after this post).  &lt;/p&gt;
&lt;p&gt;We will try to put as less effort as possible in keeping it alive meaning that from now on if we need to patch it to make it support a newer lib or alike we will simply remove its support if possible. Using the OpenSSL case as an example, if we need to support any version &amp;gt; 1.1 we will simply remove the SSL support. That means things will break.  &lt;/p&gt;
&lt;p&gt;So, if you depend on FLOSS which is still based on Qt 4 be sure to try to port it. If you depend on a proprietary vendor software which uses Qt 4 then you better start telling them it's really time to update it. Really.  &lt;/p&gt;
&lt;p&gt;We will soon start filing bugs against packages using Qt 4. I'll update this blog post later to add that info.  &lt;/p&gt;
&lt;p&gt;For the Qt/KDE team, Lisandro.&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>Qt 5.7 submodules that didn't make it to Stretch but will be in testing</title><link href="https://perezmeyer.com.ar/blog/2017/06/24/qt-57-submodules-that-didnt-make-it-to/" rel="alternate"/><published>2017-06-24T19:41:00-03:00</published><updated>2017-06-24T19:41:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2017-06-24:/blog/2017/06/24/qt-57-submodules-that-didnt-make-it-to/</id><summary type="html">&lt;p&gt;There are two Qt 5.7 submodules that we could not package in time for Strech but are/will be available in their 5.7 versions in testing. This are &lt;a href="https://anonscm.debian.org/cgit/pkg-kde/qt/qtdeclarative-render2d.git/"&gt;qtdeclarative-render2d-plugin&lt;/a&gt; and &lt;a href="https://anonscm.debian.org/cgit/pkg-kde/qt/qtvirtualkeyboard.git/"&gt;qtvirtualkeyboard&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;declarative-render2d-plugin&lt;/strong&gt; makes use of the Raster paint engine instead of OpenGL to render the  contents of a …&lt;/p&gt;</summary><content type="html">&lt;p&gt;There are two Qt 5.7 submodules that we could not package in time for Strech but are/will be available in their 5.7 versions in testing. This are &lt;a href="https://anonscm.debian.org/cgit/pkg-kde/qt/qtdeclarative-render2d.git/"&gt;qtdeclarative-render2d-plugin&lt;/a&gt; and &lt;a href="https://anonscm.debian.org/cgit/pkg-kde/qt/qtvirtualkeyboard.git/"&gt;qtvirtualkeyboard&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;declarative-render2d-plugin&lt;/strong&gt; makes use of the Raster paint engine instead of OpenGL to render the  contents of a scene graph, thus making it useful when Qt Quick2 applications  are run in a system without OpenGL 2  enabled hardware. Using it might require tweaking Debian's &lt;em&gt;/etc/X11/Xsession.d/90qt5-opengl&lt;/em&gt;. On Qt 5.9 and newer this plugin is merged in Qt GUI so there should be no need to perform any action on the user's behalf.  &lt;/p&gt;
&lt;p&gt;Debian's &lt;strong&gt;VirtualKeyboard&lt;/strong&gt; currently has a gotcha: we are not building it with the embedded code it ships. Upstream ships 3rd party code but lacks a way to detect and use the system versions of them. See &lt;a href="https://bugreports.qt.io/browse/QTBUG-59594"&gt;QTBUG-59594&lt;/a&gt;, patches are welcomed. Please &lt;strong&gt;note&lt;/strong&gt; that we prefer patches sent directly upstream to the current dev revision, we will be happy to backport patches if necessary.&lt;br&gt;
Yes, this means no hunspell, openwnn, pinyin, tcime nor lipi-toolkit/t9write support.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note 2017-07-16:&lt;/strong&gt; please use 5.7.1+dfsg-2, it fixes a wrong dependency and adds use of the system's hunspell.&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="buster"/><category term="stretch"/><category term="english"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>Developing an nrf51822 based embedded device with Qt Creator and Debian</title><link href="https://perezmeyer.com.ar/blog/2017/02/22/developing-nrf51822-based-embedded/" rel="alternate"/><published>2017-02-22T10:18:00-03:00</published><updated>2017-02-22T10:18:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2017-02-22:/blog/2017/02/22/developing-nrf51822-based-embedded/</id><summary type="html">&lt;p&gt;I'm currently developing an nRF51822-based embedded device. Being one the Qt/Qt Creator maintainers in Debian I would of course try to use it for the development. Turns out it works pretty good... with some caveats.  &lt;/p&gt;
&lt;p&gt;There are already two quite interesting blog posts about using Qt Creator &lt;a href="https://devzone.nordicsemi.com/blogs/702/debugging-using-qtcreator-on-mac/"&gt;on MAC …&lt;/a&gt;&lt;/p&gt;</summary><content type="html">&lt;p&gt;I'm currently developing an nRF51822-based embedded device. Being one the Qt/Qt Creator maintainers in Debian I would of course try to use it for the development. Turns out it works pretty good... with some caveats.  &lt;/p&gt;
&lt;p&gt;There are already two quite interesting blog posts about using Qt Creator &lt;a href="https://devzone.nordicsemi.com/blogs/702/debugging-using-qtcreator-on-mac/"&gt;on MAC&lt;/a&gt; and &lt;a href="http://morf.lv/starting-with-nrf51-ble-and-qt-creator"&gt;on Windows&lt;/a&gt;, so I will not repeat the basics, as they are there. Both use qbs, but I managed to use CMake.  &lt;/p&gt;
&lt;p&gt;Instead I'll add some tips on the stuff that I needed to solve in order to make this happen on current Debian Sid.  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The required toolchain is already in Debian, just install binutils-arm-none-eabi, ]{style="background-color: white;"}[gcc-arm-none-eabi and ]{style="background-color: white;"}[gdb-arm-none-eabi.&lt;/li&gt;
&lt;li&gt;You will not find arm-none-eabi-gdb-py on the gdb-arm-none-eabi package. Fear not, the provided gdb binary is compiled against python so it will work.&lt;/li&gt;
&lt;li&gt;To enable proper debugging be sure to follow this flag setup](https://devzone.nordicsemi.com/question/116587/debugging-with-breakpoints-correct-gcc-flags/). If you are using CMake like &lt;a href="https://github.com/thomsten/nrf-blinky"&gt;in this example&lt;/a&gt; be sure to modify [CMake/toolchain_gcc.cmake as necessary.&lt;/li&gt;
&lt;li&gt;In Qt Creator you might find that, while try to run or debug your app, you are greated with a message box that says ]{style="background-color: white;"}["Cannot debug: Local executable is not set." Just go to Projects →Run and change "Run configuration" until you get a valid path (ie, a path to the .elf or .out file) in the "Executable" field.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Cheers!

&lt;/div&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="hardware"/><category term="english"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/><category term="cmake"/><category term="nrf51822"/></entry><entry><title>KDEPIM ready to be more broadly tested</title><link href="https://perezmeyer.com.ar/blog/2016/07/17/kdepim-ready-to-be-more-broadly-tested/" rel="alternate"/><published>2016-07-17T20:15:00-03:00</published><updated>2016-07-17T20:15:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2016-07-17:/blog/2016/07/17/kdepim-ready-to-be-more-broadly-tested/</id><summary type="html">&lt;p&gt;As was posted &lt;a href="http://perezmeyer.blogspot.com/2016/07/upcoming-kdepim-changes-in-unstable.html"&gt;a couple of weeks ago&lt;/a&gt;, the latest version of KDEPIM has been uploaded to unstable.  &lt;/p&gt;
&lt;p&gt;All packages are now uploaded and built and we believe this version is ready to be more broadly tested.  &lt;/p&gt;
&lt;p&gt;If you run unstable but have refrained from installing the kdepim packages up …&lt;/p&gt;</summary><content type="html">&lt;p&gt;As was posted &lt;a href="http://perezmeyer.blogspot.com/2016/07/upcoming-kdepim-changes-in-unstable.html"&gt;a couple of weeks ago&lt;/a&gt;, the latest version of KDEPIM has been uploaded to unstable.  &lt;/p&gt;
&lt;p&gt;All packages are now uploaded and built and we believe this version is ready to be more broadly tested.  &lt;/p&gt;
&lt;p&gt;If you run unstable but have refrained from installing the kdepim packages up to now, we would appreciate it if you go ahead and install them now, reporting any issues that you may find.  &lt;/p&gt;
&lt;p&gt;Given that this is a big update that includes quite a number of plugins and libraries, it's strongly recommended that you restart your KDE session after updating the packages.  &lt;/p&gt;
&lt;p&gt;Happy hacking,  &lt;/p&gt;
&lt;p&gt;The Debian Qt/KDE Team.&lt;br&gt;
&lt;strong&gt;&lt;br&gt;
&lt;/strong&gt;&lt;strong&gt;Note &lt;/strong&gt;[&lt;strong&gt;lun jul 18 08:58:53 ART 2016:&lt;/strong&gt; Link fixed and s/KDE/KDEPIM/.]{style="background-color: white;"}&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="softwarelibre"/><category term="experimental"/><category term="debian"/><category term="kde"/><category term="kmail"/></entry><entry><title>Upcoming KDEPIM changes in unstable (KMail, Kontact, KOrganizer, etc)</title><link href="https://perezmeyer.com.ar/blog/2016/07/02/upcoming-kdepim-changes-in-unstable/" rel="alternate"/><published>2016-07-02T21:38:00-03:00</published><updated>2016-07-02T21:38:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2016-07-02:/blog/2016/07/02/upcoming-kdepim-changes-in-unstable/</id><summary type="html">&lt;p&gt;For those who care about kdepim (kmail, kontact, korganizer, etc)  &lt;/p&gt;
&lt;p&gt;Currently the latest version of kdepim is available in experimental. According to our limited tests it's working way better than kdepim 4.14 (more stable, more performant, less bugs). However migrating from one to the other is not a trivial …&lt;/p&gt;</summary><content type="html">&lt;p&gt;For those who care about kdepim (kmail, kontact, korganizer, etc)  &lt;/p&gt;
&lt;p&gt;Currently the latest version of kdepim is available in experimental. According to our limited tests it's working way better than kdepim 4.14 (more stable, more performant, less bugs). However migrating from one to the other is not a trivial process (distribution wise, hopefully not for our users).  &lt;/p&gt;
&lt;p&gt;Among the drawbacks in the new kdepim: knode, ktimetracker and kjots were dropped from the official kdepim components. kjots is now an independent project, not tied to the kdepim release cycle. But more importantly, knode and ktimetracker are not maintained upstream any more, we are temporarily still shipping the old KDE 4 versions, but &lt;strong&gt;we will drop them after stretch&lt;/strong&gt; unless they get new upstream maintainers.  &lt;/p&gt;
&lt;p&gt;To iron out the wrinkles that are surely still there, we are now planning to start a transition for kdepim, effectively blocking all kdepim related packages in unstable until the transition is complete. This will allow us to keep the current kdepim in testing unchanged until kdepim 16.04 is ready to migrate fully to testing.  &lt;/p&gt;
&lt;p&gt;If you want to test the new kdepim versions right now, please use the version in experimental, as uploading all the packages to unstable will take some time until there is a working kdepim in unstable (mixing experimental and the unstable uploads should be fine).  &lt;/p&gt;
&lt;p&gt;If you depend on having a working kdepim, please avoid installing the new kdepim packages that will be landing in unstable in the following days, until all the components are available. We expect this will take a couple of weeks, we will post another entry when the packages are ready in unstable.  &lt;/p&gt;
&lt;p&gt;A list of the binary packages involved in the transition can be found &lt;a href="https://wiki.debian.org/KDE/PIM/16.04_transition"&gt;[here]&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;If you find issues in the new packages, please let us know either via irc in #debian-kde, the kde mailing list &lt;a href="&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#116;&amp;#111;&amp;#58;&amp;#100;&amp;#101;&amp;#98;&amp;#105;&amp;#97;&amp;#110;&amp;#45;&amp;#107;&amp;#100;&amp;#101;&amp;#64;&amp;#108;&amp;#105;&amp;#115;&amp;#116;&amp;#115;&amp;#46;&amp;#100;&amp;#101;&amp;#98;&amp;#105;&amp;#97;&amp;#110;&amp;#46;&amp;#111;&amp;#114;&amp;#103;"&gt;&amp;#100;&amp;#101;&amp;#98;&amp;#105;&amp;#97;&amp;#110;&amp;#45;&amp;#107;&amp;#100;&amp;#101;&amp;#64;&amp;#108;&amp;#105;&amp;#115;&amp;#116;&amp;#115;&amp;#46;&amp;#100;&amp;#101;&amp;#98;&amp;#105;&amp;#97;&amp;#110;&amp;#46;&amp;#111;&amp;#114;&amp;#103;&lt;/a&gt;, or &lt;a href="https://wiki.debian.org/reportbug"&gt;send us a bug report&lt;/a&gt; (please make sure that it wasn't reported before).  &lt;/p&gt;
&lt;p&gt;We'll send an updated note when kdepim is fully uploaded to unstable.  &lt;/p&gt;
&lt;p&gt;Happy hacking,  &lt;/p&gt;
&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

The Debian Qt/KDE Team.

&lt;/div&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="softwarelibre"/><category term="experimental"/><category term="debian"/><category term="kde"/><category term="kmail"/></entry><entry><title>Do you want Qt5's QWebEngine in Debian? Do you have library packaging skills? If so, step up!</title><link href="https://perezmeyer.com.ar/blog/2016/05/26/do-you-want-qt5s-qwebengine-in-debian/" rel="alternate"/><published>2016-05-26T11:51:00-03:00</published><updated>2016-05-26T11:51:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2016-05-26:/blog/2016/05/26/do-you-want-qt5s-qwebengine-in-debian/</id><summary type="html">&lt;p&gt;So far the only missing submodule in Debian's Qt5 stack is &lt;a href="http://doc.qt.io/qt-5/qtwebengine-index.html"&gt;QtWebEngine&lt;/a&gt;. None of us the current Qt maintainers have the time/will to do the necessary stuff to have it properly packaged.  &lt;/p&gt;
&lt;p&gt;So if you would like to have QtWebEngine in Debian and:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You have C++ libraries' packaging skills …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;So far the only missing submodule in Debian's Qt5 stack is &lt;a href="http://doc.qt.io/qt-5/qtwebengine-index.html"&gt;QtWebEngine&lt;/a&gt;. None of us the current Qt maintainers have the time/will to do the necessary stuff to have it properly packaged.  &lt;/p&gt;
&lt;p&gt;So if you would like to have QtWebEngine in Debian and:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You have C++ libraries' packaging skills.&lt;/li&gt;
&lt;li&gt;You have a powerful enough machine/enough patience to do the necessary builds (8+ GB RAM+swap required).&lt;/li&gt;
&lt;li&gt;You are willing to deal with 3rd party embedded software.&lt;/li&gt;
&lt;li&gt;You are willing to keep up with security fixes.&lt;/li&gt;
&lt;li&gt;You are accessible through IRC and have the necessary communications skills to work together with the rest of the team.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;

Then you are the right person for this task. Do not hesitate in pinging me on \#debian-kde, irc.oftc.net.

&lt;/div&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="qt"/><category term="softwarelibre"/></entry><entry><title>Important Akonadi fix in today's Debian Jessie's update (aka 8.2)</title><link href="https://perezmeyer.com.ar/blog/2015/09/05/important-akonadi-fix-in-todays-debian/" rel="alternate"/><published>2015-09-05T20:42:00-03:00</published><updated>2015-09-05T20:42:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2015-09-05:/blog/2015/09/05/important-akonadi-fix-in-todays-debian/</id><summary type="html">&lt;p&gt;Todays Debian Jessie's update brings a fix in Akonadi that you certainly want in your system.  &lt;/p&gt;
&lt;p&gt;There was a bug in Akonadi that made it leak files. And if you use Kmail you will certainly want to keep reading: most of us who tested it before pushing it to testing …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Todays Debian Jessie's update brings a fix in Akonadi that you certainly want in your system.  &lt;/p&gt;
&lt;p&gt;There was a bug in Akonadi that made it leak files. And if you use Kmail you will certainly want to keep reading: most of us who tested it before pushing it to testing (and now to stable) removed more than 4 GiB of useless data from our homes.  &lt;/p&gt;
&lt;p&gt;The bug that makes Akonadi leak files gets solved with the latest stable update (and has been in testing for a couple of months already). But you need to purge the leaked files. It's pretty easy: with your normal user account just run:  &lt;/p&gt;
&lt;p&gt;akonadictl fsck  &lt;/p&gt;
&lt;p&gt;That's all. After a while you will get back a lot of disk space. Note that you don't need the Akonadi fix in order to run this tool and recover your space. The fix just makes sure this won't happen again.&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="softwarelibre"/><category term="jessie"/><category term="debian"/><category term="kde"/><category term="kmail"/></entry><entry><title>plasma-desktop should enter testing today once the mirrors have caught up</title><link href="https://perezmeyer.com.ar/blog/2015/07/31/plasma-desktop-should-enter-testing/" rel="alternate"/><published>2015-07-31T11:31:00-03:00</published><updated>2015-07-31T11:31:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2015-07-31:/blog/2015/07/31/plasma-desktop-should-enter-testing/</id><summary type="html">&lt;p&gt;


&lt;style type="text/css"&gt;p, li { white-space: pre-wrap; } &lt;/style&gt;




Exactly what the subject says: plasma-desktop has migrated to testing, it will be there as soon as the mirrors are synced.







It is highly recommended for those in testing to upgrade today, although you might need to wait your mirror.







Also note that the gcc5 transition …&lt;/p&gt;</summary><content type="html">&lt;p&gt;


&lt;style type="text/css"&gt;p, li { white-space: pre-wrap; } &lt;/style&gt;




Exactly what the subject says: plasma-desktop has migrated to testing, it will be there as soon as the mirrors are synced.







It is highly recommended for those in testing to upgrade today, although you might need to wait your mirror.







Also note that the gcc5 transition has started, that means we are not going to upload new stuff in some days (possibly a week, maybe even more) to facilitate this **\*\*huge\*\*** transition.







We really hope you enjoy the packages. If you filed a bug and after updating you findd that it is not there anymore then please follow-up the bug and state this. This is really **\*\*highly\*\*** appreciated.







Once again, sorry for the inconveniences!</content><category term="misc"/></entry><entry><title>Plasma/KF5 : Testing situation</title><link href="https://perezmeyer.com.ar/blog/2015/07/28/plasmakf5-testing-situation/" rel="alternate"/><published>2015-07-28T12:19:00-03:00</published><updated>2015-07-28T12:19:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2015-07-28:/blog/2015/07/28/plasmakf5-testing-situation/</id><summary type="html">&lt;p&gt;Dear Debian/KDE users,  &lt;/p&gt;
&lt;p&gt;We are aware that the current situation in testing is very unfortunate, with two main issues:  &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;systemsettings transitioned to testing before the corresponding KDE Control Modules.&lt;/strong&gt; The result is that systemsettings displays an empty screen. This is tracked in the following bug &lt;a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=790703"&gt;https://bugs.debian.org …&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;</summary><content type="html">&lt;p&gt;Dear Debian/KDE users,  &lt;/p&gt;
&lt;p&gt;We are aware that the current situation in testing is very unfortunate, with two main issues:  &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;systemsettings transitioned to testing before the corresponding KDE Control Modules.&lt;/strong&gt; The result is that systemsettings displays an empty screen. This is tracked in the following bug &lt;a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=790703"&gt;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=790703&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plasmoids such as plasma-nm transitioned to testing before plasma-desktop 5.&lt;/strong&gt; The result is that the plasmoid are no longer displayed in the system tray.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We are working on getting plasma-desktop to transition to testing as soon as possible (hopefully in 2 days time), which will resolve both those issues. We appreciate that the transition to KF5 is much rougher than we would have liked, and apologize to all those impacted.  &lt;/p&gt;
&lt;p&gt;On behalf of the Qt/KDE team,&lt;br&gt;
Lisandro.&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="softwarelibre"/><category term="apologies"/><category term="debian"/><category term="kde"/></entry><entry><title>The last planned Qt 4 release is here: Qt 4.8.7. Is your app runnning with Qt5?</title><link href="https://perezmeyer.com.ar/blog/2015/05/26/the-last-planned-qt-4-release-is-here/" rel="alternate"/><published>2015-05-26T13:36:00-03:00</published><updated>2015-05-26T13:36:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2015-05-26:/blog/2015/05/26/the-last-planned-qt-4-release-is-here/</id><summary type="html">&lt;p&gt;Qt 4.8.7 &lt;a href="https://blog.qt.io/blog/2015/05/26/qt-4-8-7-released/"&gt;has been released today&lt;/a&gt;. Quoting from the blog post (emphasis is mine):  &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Many users have already moved their active projects to Qt 5 and we encourage also others to do so. With a high degree of source compatibility, &lt;strong&gt;we have ensured that switching to Qt 5 …&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;</summary><content type="html">&lt;p&gt;Qt 4.8.7 &lt;a href="https://blog.qt.io/blog/2015/05/26/qt-4-8-7-released/"&gt;has been released today&lt;/a&gt;. Quoting from the blog post (emphasis is mine):  &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Many users have already moved their active projects to Qt 5 and we encourage also others to do so. With a high degree of source compatibility, &lt;strong&gt;we have ensured that switching to Qt 5 is smooth and straightforward&lt;/strong&gt;. It should be noted that Qt 4.8.7 provides &lt;strong&gt;only the basic functionality&lt;/strong&gt; to run Qt based applications on Mac OS X 10.10, full support is in Qt 5.&lt;/p&gt;
&lt;p&gt;Qt 4.8.7 is planned to be &lt;strong&gt;the last patch release of the Qt 4 series&lt;/strong&gt;. Standard support is available until December 2015, after which extended support will be available. We recommend all active projects to migrate to Qt 5, &lt;strong&gt;as new operating systems and compilers with Qt 4.8 will not be supported&lt;/strong&gt;. If you have challenges migrating to Qt 5, please contact us or some of our service partners for assistance
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Have you started to port your project?  &lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/></entry><entry><title>Qt4's status and Qt4's webkit removal in Stretch</title><link href="https://perezmeyer.com.ar/blog/2015/05/01/qt4s-status-and-qt4s-webkit-removal-in/" rel="alternate"/><published>2015-05-01T14:05:00-03:00</published><updated>2015-05-01T14:05:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2015-05-01:/blog/2015/05/01/qt4s-status-and-qt4s-webkit-removal-in/</id><summary type="html">&lt;p&gt;Hi everyone! As you might know Qt4 has been deprecated (in the sense "you better start to port your code") since Qt5's first release in December 19th 2012. Since that point on Qt4 received only bugfixes. Upstream is about to release the last point release, 4.8.7. This means …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hi everyone! As you might know Qt4 has been deprecated (in the sense "you better start to port your code") since Qt5's first release in December 19th 2012. Since that point on Qt4 received only bugfixes. Upstream is about to release the last point release, 4.8.7. This means that only severe bugs like security ones will get a chance to get solved.  &lt;/p&gt;
&lt;p&gt;Moreover upstream recommended keeping Qt4 until 2017. If we get a Debian release every ±2 years that will make Jessie oldstable in 2017 and deprecated in 2018. This means we should really consider starting to port code using Qt4 to Qt5 during Stretch's developing life cycle.  &lt;/p&gt;
&lt;p&gt;It is important to note that Qt4 depends on a number of dependencies that their maintainers might want to get removed from the archive for similar reasons. In this case we will simply don't hesitate in removing their support as long as Qt4 keeps building. This normally doesn't mean API/ABI breakage but missing plugins that will diminish functionality from your apps, maybe even key ones. As an example let's take the &lt;strong&gt;**hypothetical**&lt;/strong&gt; case in which the libasound2 maintainers are switching to a new libasound3 which is not API-compatible and removing libasound2 in the process. In this case we will have no choice but to remove the dependency and drop the functionality it provides. This is another of the important reasons why you should be switching to Qt5.  &lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;[Qt4's webkit removal]{.underline}&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Webkit is definitely not an easy piece of code to maintain. For starters it means having a full copy of the code in the archive for both Qt4 and Qt5. Now add to that the fact that the code evolves quickly and thus having upstream support even for security bugs will be getting harder and harder. So we decided to remove Qt4's webkit from the archive. Of course we still have a lot of KDE stuff using Qt4's webkit, so it won't disappear "soon", but it will at some point.  &lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;[Porting]{.underline}&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Some of us where involved in various Qt4 to Qt5 migrations [0] and we know for sure that porting stuff from Qt4 to Qt5 is much much easier and less painful than it was from Qt3 to Qt4.  &lt;/p&gt;
&lt;p&gt;We also understand that there is still a lot of software still using Qt4. In order to ease the transition time we have provided Wheezy backports for Qt5.  &lt;/p&gt;
&lt;p&gt;Don't forget to take a look at the C++ API changes page [1] whenever you start porting your application.  &lt;/p&gt;
&lt;p&gt;[0] &lt;a href="http://pkg-kde.alioth.debian.org/packagingqtstuff.html"&gt;http://pkg-kde.alioth.debian.org/packagingqtstuff.html&lt;/a&gt;&lt;br&gt;
[1] &lt;a href="http://doc.qt.io/qt-5/sourcebreaks.html"&gt;http://doc.qt.io/qt-5/sourcebreaks.html&lt;/a&gt;  &lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;[Temporarily shipping both Qt4 and Qt5 builds of your library]{.underline}&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;In case you maintain a library chances are that upstream already provides a way to build it using Qt5. Please note there is no point in shipping an application built with both flavours, please use Qt5 whenever possible. This double compilation should be left only for libraries.  &lt;/p&gt;
&lt;p&gt;You can't mix Qt4 and Qt5 in the same binary, but you may provide libraries compiled against one or the other. For example, your source package foo could provide both libqt4foo1 and libqt5foo1. You need to mangle your debian/rules and/or build system accordingly to achieve this.  &lt;/p&gt;
&lt;p&gt;A good example both for upstream code allowing both styles of compilation and debian packaging is phonon. Take a look at the CMakeLists.txt files for seeing how a source can be built against both flavours and another to debian/rules to see an example of how to handle the compilation. Just bear in mind that you&lt;br&gt;
need to replace \$(overridden_command) with the command itself, that variable substitution comes from internal stuff from our team and you should not be using it without a very good reason. If in doubt, feel free to ask us on IRC [2] or on the mailing list [3].  &lt;/p&gt;
&lt;p&gt;[2] irc.debian.org #debian-kde&lt;br&gt;
[3] debian-kde\@lists.debian.org  &lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;[Timeline]{.underline}&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;We plan to start filing wishlist bugs soon. Once we get most of KDE stuff running with Qt5's webkit we will start raising the severities.&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>Early announce: Qt4 removal in Jessie+1</title><link href="https://perezmeyer.com.ar/blog/2014/11/05/early-announce-qt4-removal-in-jessie1/" rel="alternate"/><published>2014-11-05T22:56:00-03:00</published><updated>2014-11-05T22:56:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2014-11-05:/blog/2014/11/05/early-announce-qt4-removal-in-jessie1/</id><summary type="html">&lt;p&gt;We the &lt;a href="http://pkg-kde.alioth.debian.org/"&gt;Debian Qt/KDE Team&lt;/a&gt; want to early-announce [maintainer warning] our decision to remove Qt4 from Jessie+1. This warning is mostly targeted at upstreams.  &lt;/p&gt;
&lt;p&gt;Qt4 has been deprecated since Qt5's first release on December 19th 2012, that means almost two years ago!  &lt;/p&gt;
&lt;p&gt;So far we had bugfixes-only releases …&lt;/p&gt;</summary><content type="html">&lt;p&gt;We the &lt;a href="http://pkg-kde.alioth.debian.org/"&gt;Debian Qt/KDE Team&lt;/a&gt; want to early-announce [maintainer warning] our decision to remove Qt4 from Jessie+1. This warning is mostly targeted at upstreams.  &lt;/p&gt;
&lt;p&gt;Qt4 has been deprecated since Qt5's first release on December 19th 2012, that means almost two years ago!  &lt;/p&gt;
&lt;p&gt;So far we had bugfixes-only releases, but upstream has announced that they will end this support on august 2015. This already means we will have to do a special effort from that point on for Jessie in case RC bugs appears, so having it in Jessie+1 is simply a non-go.  &lt;/p&gt;
&lt;p&gt;Some of us where involved in various Qt4 to Qt5 migrations [0] and we know for sure that porting stuff from Qt4 to Qt5 is much much easier and less painful than it was from Qt3 to Qt4.  &lt;/p&gt;
&lt;p&gt;We also understand that there is still a lot of software still using Qt4. In order to easy the transition time we have provided Wheezy backports for Qt5.  &lt;/p&gt;
&lt;p&gt;Don't forget to take a look at the C++ API change page [1] whenever you start porting your application.  &lt;/p&gt;
&lt;p&gt;[0] &lt;a href="http://perezmeyer.blogspot.com.ar/2014/03/porting-qt-4-apps-to-qt-5-example-with.html"&gt;http://perezmeyer.blogspot.com.ar/2014/03/porting-qt-4-apps-to-qt-5-example-with.html&lt;/a&gt;&lt;br&gt;
[1] &lt;a href="http://qt-project.org/doc/qt-5.0/qtdoc/sourcebreaks.html"&gt;http://qt-project.org/doc/qt-5.0/qtdoc/sourcebreaks.html&lt;/a&gt;  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;[maintainer warning] **Remember the freeze**&lt;/strong&gt; and &lt;strong&gt;do not upload&lt;/strong&gt; packages ported to Qt5 to unstable. The best thing you can do now is to ask your upstream if the code can be compiled against Qt5 and, why not, try it yourself.  &lt;/p&gt;
&lt;p&gt;Our first priority now is to release Jessie, and this is why this is an early announce.&lt;/p&gt;</content><category term="misc"/><category term="debian-backports"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>Qt 5.3.2 in Wheezy-backports: just a few hours away</title><link href="https://perezmeyer.com.ar/blog/2014/10/09/qt-532-in-wheezy-backports-just-few/" rel="alternate"/><published>2014-10-09T15:50:00-03:00</published><updated>2014-10-09T15:50:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2014-10-09:/blog/2014/10/09/qt-532-in-wheezy-backports-just-few/</id><summary type="html">&lt;p&gt;In more ~~or less 24 hs~~ a few days most of &lt;a href="http://qt-project.org/"&gt;Qt 5.3.2&lt;/a&gt; will be available as a &lt;a href="http://backports.debian.org/"&gt;Wheezy backport&lt;/a&gt;. That means that if you are using Debian stable you don't need to wait for Jessie: just wait a few hours, &lt;a href="http://backports.debian.org/Instructions/"&gt;add wheezy-backports's repo to your sources.list …&lt;/a&gt;&lt;/p&gt;</summary><content type="html">&lt;p&gt;In more ~~or less 24 hs~~ a few days most of &lt;a href="http://qt-project.org/"&gt;Qt 5.3.2&lt;/a&gt; will be available as a &lt;a href="http://backports.debian.org/"&gt;Wheezy backport&lt;/a&gt;. That means that if you are using Debian stable you don't need to wait for Jessie: just wait a few hours, &lt;a href="http://backports.debian.org/Instructions/"&gt;add wheezy-backports's repo to your sources.list&lt;/a&gt; and get it :)  &lt;/p&gt;
&lt;p&gt;The rest of Qt 5 will arrive soon.  &lt;/p&gt;
&lt;p&gt;This is the &lt;a href="http://perezmeyer.blogspot.com.ar/2014/09/qt5-in-jessie-we-will-release-with-532.html"&gt;same version that will be shipped in Jessie&lt;/a&gt;, so whatever you develop with it will work with the next Debian stable release :)  &lt;/p&gt;
&lt;p&gt;[&lt;strong&gt;Don't forget:&lt;/strong&gt;]{.underline} you better start porting your Qt4 apps to Qt5!  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note 2014-10-10:&lt;/strong&gt; uups, it will still take a few days, but it will be there soon :)  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note 2014-10-15:&lt;/strong&gt; &lt;a href="http://pkg-kde.alioth.debian.org/redir/qt-buildd-wheezy-backports?compact=1"&gt;currently building&lt;/a&gt;!&lt;/p&gt;</content><category term="misc"/><category term="debian-backports"/><category term="planetdebian-en"/><category term="english"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>Qt5 in Jessie: we will release with 5.3.2</title><link href="https://perezmeyer.com.ar/blog/2014/09/30/qt5-in-jessie-we-will-release-with-532/" rel="alternate"/><published>2014-09-30T14:08:00-03:00</published><updated>2014-09-30T14:08:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2014-09-30:/blog/2014/09/30/qt5-in-jessie-we-will-release-with-532/</id><summary type="html">&lt;p&gt;&lt;a href="http://qt-project.org/"&gt;Qt&lt;/a&gt; 5.3.2 has entered testing a few hours ago. This will be the version of Qt we will release with Debian Jessie, and it happens to be a nice coincidence, because upstream focused in stability for the 5.3 branch.  &lt;/p&gt;
&lt;p&gt;I'll now focus in fixing as many bugs …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;a href="http://qt-project.org/"&gt;Qt&lt;/a&gt; 5.3.2 has entered testing a few hours ago. This will be the version of Qt we will release with Debian Jessie, and it happens to be a nice coincidence, because upstream focused in stability for the 5.3 branch.  &lt;/p&gt;
&lt;p&gt;I'll now focus in fixing as many bugs as possible and in backporting Qt5 to Wheezy.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Let me warn you:&lt;/strong&gt; if you are an upstream for a Qt4 based project be sure to be ready to switch to Qt5. If you are a maintainer of a Qt4 based project you better start asking your upstream to be ready for it :)&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>Call for help from Debian's KDE Team</title><link href="https://perezmeyer.com.ar/blog/2014/05/01/call-for-help-from-kde-team/" rel="alternate"/><published>2014-05-01T15:58:00-03:00</published><updated>2014-05-01T15:58:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2014-05-01:/blog/2014/05/01/call-for-help-from-kde-team/</id><summary type="html">&lt;p&gt;Hi all!&lt;/p&gt;
&lt;p&gt;[&lt;br&gt;
]{.Apple-style-span style="background-color: #ffffe8; border-collapse: separate; border-spacing: 1px; color: #141312; font-family: 'Liberation Mono'; font-size: 16px;"}  &lt;/p&gt;
&lt;p&gt;For quite a while now the KDE team has been severely understaffed. We maintain a lot of packages, with many different kinds of bugs, but we don't have enough people to do all …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hi all!&lt;/p&gt;
&lt;p&gt;[&lt;br&gt;
]{.Apple-style-span style="background-color: #ffffe8; border-collapse: separate; border-spacing: 1px; color: #141312; font-family: 'Liberation Mono'; font-size: 16px;"}  &lt;/p&gt;
&lt;p&gt;For quite a while now the KDE team has been severely understaffed. We maintain a lot of packages, with many different kinds of bugs, but we don't have enough people to do all the work that needs to be done. We have tools that help us automate the update to new upstream releases, but that's just the tip of the iceberg of our work and so we are writing to invite more people to get involved in the team and help us get KDE software in Debian into better shape.&lt;/p&gt;
&lt;p&gt;[&lt;br&gt;
]{.Apple-style-span style="background-color: #ffffe8; border-collapse: separate; border-spacing: 1px; color: #141312; font-family: 'Liberation Mono'; font-size: 16px;"}  &lt;/p&gt;
&lt;p&gt;Some of the tasks that we need help with are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bug triaging: there are many many bugs in the BTS. We need people that go through them, understand the problem and how to reproduce it, confirm that they are still present in the latest versions. In particular, there are bugs affecting the version in wheezy, and we need people to go through those as well.&lt;/li&gt;
&lt;li&gt;Bug forwarding: we are so understaffed that we have been asking users to forward the bugs upstream themselves. Some users do this, but some don't. It would help us a lot to have people in the team in charge of this.&lt;/li&gt;
&lt;li&gt;Patch forwarding: we have quite a bunch of patches applied in the Debian packages that should be applied upstream. Some need to be generalized instead of being Debian-specific. This work would save us time in the future, so it's very important to get it done.&lt;/li&gt;
&lt;li&gt;Upgrade-testing: in the past, the upgrade from one Debian stable to the other has been quite traumatic for KDE software users. We need people to try upgrading from wheezy to jessie and report any bugs that they might encounter so that we can fix them ahead of the release.&lt;/li&gt;
&lt;li&gt;Creating patches: many of the bugs that we have require writing patches, some are easy and some are harder, but any help here would be really appreciated.&lt;/li&gt;
&lt;li&gt;Packaging other KDE apps: we have packages for the core components of KDE software, but there are many other useful components that still need to get packaged.&lt;/li&gt;
&lt;li&gt;Updating our welcoming wiki page [1], adding these tasks and any future tasks, and unifying the todo lists [2].&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you are interested in helping with any of these, please join our irc channel #debian-qt-kde in irc.oftc.net, or our mailing list [3]. We are happy to help you get started.&lt;/p&gt;
&lt;p&gt;[&lt;br&gt;
]{.Apple-style-span style="background-color: #ffffe8; border-collapse: separate; border-spacing: 1px; color: #141312; font-family: 'Liberation Mono'; font-size: 16px;"}  &lt;/p&gt;
&lt;p&gt;[1]: &lt;a href="https://wiki.debian.org/PkgKde"&gt;https://wiki.debian.org/PkgKde&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[2]: &lt;a href="https://wiki.debian.org/KDETodo"&gt;https://wiki.debian.org/KDETodo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://wiki.debian.org/KdeDebTasks"&gt;https://wiki.debian.org/KdeDebTasks&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://pkg-kde.alioth.debian.org/todo.html"&gt;http://pkg-kde.alioth.debian.org/todo.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;gobby://gobby.debian.org/Teams/KDE/TODO&lt;/p&gt;
&lt;p&gt;[3]: &lt;a href="https://lists.debian.org/debian-qt-kde/"&gt;https://lists.debian.org/debian-qt-kde/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[]{.Apple-style-span style="background-color: #ffffe8; border-collapse: separate; border-spacing: 1px; color: #141312; font-family: 'Liberation Mono'; font-size: 16px;"}  &lt;/p&gt;
&lt;p&gt;[-- ]{.Apple-style-span style="background-color: #ffffe8; border-collapse: separate; border-spacing: 1px; color: #141312; font-family: 'Liberation Mono'; font-size: 16px;"}&lt;/p&gt;
&lt;p&gt;[]{.Apple-style-span style="background-color: #ffffe8; border-collapse: separate; border-spacing: 1px; color: #141312; font-family: 'Liberation Mono'; font-size: 16px;"}&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Maximiliano Curia&lt;/p&gt;
&lt;p&gt;On behalf of the KDE team&lt;/p&gt;
&lt;p&gt;&lt;/span&gt;`{=html}&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="pkg-kde"/><category term="softwarelibre"/><category term="debian"/><category term="kde"/></entry><entry><title>Porting Qt 4 apps to Qt 5: an example with QAntenna</title><link href="https://perezmeyer.com.ar/blog/2014/03/08/porting-qt-4-apps-to-qt-5-example-with/" rel="alternate"/><published>2014-03-08T23:27:00-03:00</published><updated>2014-03-08T23:27:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2014-03-08:/blog/2014/03/08/porting-qt-4-apps-to-qt-5-example-with/</id><summary type="html">&lt;p&gt;As a followup for my &lt;a href="http://perezmeyer.blogspot.com.ar/2014/03/does-your-app-use-qt4-you-better-start.html"&gt;previous blog post&lt;/a&gt;, I decided to port &lt;a href="http://qantenna.sourceforge.net/"&gt;QAntenna&lt;/a&gt; to Qt 5. Here's my experience.  &lt;/p&gt;
&lt;p&gt;First of all, I ran Qt 5's &lt;em&gt;qmake&lt;/em&gt;:  &lt;/p&gt;
&lt;p&gt;qmake -qt5  &lt;/p&gt;
&lt;p&gt;Then I just ran make:  &lt;/p&gt;
&lt;p&gt;make  &lt;/p&gt;
&lt;p&gt;The first error that appeared was that &lt;em&gt;QFileDialog&lt;/em&gt; does not has a &lt;em&gt;setFilters()&lt;/em&gt; method. I …&lt;/p&gt;</summary><content type="html">&lt;p&gt;As a followup for my &lt;a href="http://perezmeyer.blogspot.com.ar/2014/03/does-your-app-use-qt4-you-better-start.html"&gt;previous blog post&lt;/a&gt;, I decided to port &lt;a href="http://qantenna.sourceforge.net/"&gt;QAntenna&lt;/a&gt; to Qt 5. Here's my experience.  &lt;/p&gt;
&lt;p&gt;First of all, I ran Qt 5's &lt;em&gt;qmake&lt;/em&gt;:  &lt;/p&gt;
&lt;p&gt;qmake -qt5  &lt;/p&gt;
&lt;p&gt;Then I just ran make:  &lt;/p&gt;
&lt;p&gt;make  &lt;/p&gt;
&lt;p&gt;The first error that appeared was that &lt;em&gt;QFileDialog&lt;/em&gt; does not has a &lt;em&gt;setFilters()&lt;/em&gt; method. I couldn't find this on on the &lt;a href="http://qt-project.org/doc/qt-5.0/qtdoc/sourcebreaks.html"&gt;C++ API change page&lt;/a&gt; but looking at &lt;a href="https://qt-project.org/doc/qt-5.0/qtwidgets/qfiledialog.html"&gt;the class' documentation&lt;/a&gt; I found it was renamed to &lt;em&gt;setSectionsMovable()&lt;/em&gt;. Fine, let's just change that and continue compiling.  &lt;/p&gt;
&lt;p&gt;The next errors came all from the same class &lt;em&gt;QHeaderView&lt;/em&gt;. This time the changes are documented in the above linked page, so it was a matter to replace &lt;em&gt;setMovable()&lt;/em&gt; with &lt;em&gt;setSectionsMovable()&lt;/em&gt; and &lt;em&gt;setResizeMode()&lt;/em&gt; with &lt;em&gt;setSectionResizeMode()&lt;/em&gt;. Fixed, let's continue.  &lt;/p&gt;
&lt;p&gt;The following error turned out to be the last one: &lt;em&gt;toAscii()&lt;/em&gt; has been deprecated in favor of &lt;em&gt;toLatin1()&lt;/em&gt;. Once this was fixed voilá, QAntenna is running with Qt 5.  &lt;/p&gt;
&lt;p&gt;Easy, wasn't it?  &lt;/p&gt;
&lt;p&gt;I have just pushed the new version to Debian unstable.&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="experimental"/><category term="debian"/><category term="qantenna"/></entry><entry><title>Does your app use Qt4? You better start porting it to Qt5</title><link href="https://perezmeyer.com.ar/blog/2014/03/08/does-your-app-use-qt4-you-better-start/" rel="alternate"/><published>2014-03-08T16:52:00-03:00</published><updated>2014-03-08T16:52:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2014-03-08:/blog/2014/03/08/does-your-app-use-qt4-you-better-start/</id><summary type="html">&lt;p&gt;As you might know, Qt 4 is now in &lt;strong&gt;bug-fixes-only&lt;/strong&gt; maintenance mode. This means that only bug fixes are allowed to be pushed to Qt 4's repository, but no new features.  &lt;/p&gt;
&lt;p&gt;On the other hand, Qt 5 is already here. Porting existing apps from Qt 4 to Qt 5 is …&lt;/p&gt;</summary><content type="html">&lt;p&gt;As you might know, Qt 4 is now in &lt;strong&gt;bug-fixes-only&lt;/strong&gt; maintenance mode. This means that only bug fixes are allowed to be pushed to Qt 4's repository, but no new features.  &lt;/p&gt;
&lt;p&gt;On the other hand, Qt 5 is already here. Porting existing apps from Qt 4 to Qt 5 is actually easier than it was to port Qt 3 stuff to Qt 4. Take a look at &lt;a href="http://qt-project.org/wiki/Transition_from_Qt_4.x_to_Qt5"&gt;this Qt project's wiki page for more info&lt;/a&gt;. Also pay attention at the links at the bottom of it under "Recommended Reading".  &lt;/p&gt;
&lt;p&gt;Some time ago I &lt;a href="http://perezmeyer.blogspot.com.ar/2014/01/qt-520-in-debian-experimental-now.html"&gt;blogged about the 5.2.0 status in Debian experimental&lt;/a&gt;. We currently have it in testing with a much better status:  &lt;/p&gt;
&lt;p&gt;&lt;img alt="qt_5_2_0_testing" src="https://perezmeyer.com.ar/images/qt_5_2_0_testing.png"&gt;&lt;/p&gt;
&lt;p&gt;And we also have 5.2.1 in experimental with an even better status:  &lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img alt="qt_5_2_1_experimental" src="https://perezmeyer.com.ar/images/qt_5_2_1_experimental.png"&gt;
                                                                        Note: qttools is FTBFS in armhf just because of some symbols changes, it will be fixed on the next upload.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Don't be afraid of getting it from experimental! Take a look at &lt;a href="http://perezmeyer.blogspot.com.ar/2013/08/qt-in-debian-using-qt4-andor-qt5-in.html"&gt;this blog post&lt;/a&gt; to know how to compile with Qt 5 in Debian.  &lt;/p&gt;
&lt;h2&gt;Bonus&lt;/h2&gt;
&lt;p&gt;I have also uploaded Qt Creator built against Qt 5 to experimental. I plan to push it to unstable with Qt 5.2.1.&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="experimental"/><category term="debian"/></entry><entry><title>Qt 5.2.0 in testing</title><link href="https://perezmeyer.com.ar/blog/2014/02/11/qt-520-in-testing/" rel="alternate"/><published>2014-02-11T15:32:00-03:00</published><updated>2014-02-11T15:32:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2014-02-11:/blog/2014/02/11/qt-520-in-testing/</id><content type="html">&lt;p&gt;Today we have Qt 5.2.0 in testing, a.k.a. Jessie. On the other hand we are slowly pushing 5.2.1 to experimental.  &lt;/p&gt;
&lt;p&gt;Enjoy!  &lt;/p&gt;
&lt;p&gt;P.S.: yes, this is turning more into tweets rather than blog posts :-)&lt;/p&gt;</content><category term="misc"/><category term="english"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>Qt 5.2.0 in unstable</title><link href="https://perezmeyer.com.ar/blog/2014/02/04/qt-520-in-unstable/" rel="alternate"/><published>2014-02-04T20:55:00-03:00</published><updated>2014-02-04T20:55:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2014-02-04:/blog/2014/02/04/qt-520-in-unstable/</id><content type="html">&lt;p&gt;We the &lt;a href="http://pkg-kde.alioth.debian.org/"&gt;Qt/KDE team&lt;/a&gt; have the pleasure to announce that we currently have &lt;a href="http://qt-project.org/"&gt;Qt 5.2.0&lt;/a&gt; in unstable. It brings Qt 5 to all official archs in Debian, minus some stuff that needs porting like Qt Webkit.  &lt;/p&gt;
&lt;p&gt;We hope to get this version in testing soon :-)&lt;/p&gt;</content><category term="misc"/><category term="english"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>Qt 5.2.0 in Debian experimental, now available for more archs</title><link href="https://perezmeyer.com.ar/blog/2014/01/05/qt-520-in-debian-experimental-now/" rel="alternate"/><published>2014-01-05T11:47:00-03:00</published><updated>2014-01-05T11:47:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2014-01-05:/blog/2014/01/05/qt-520-in-debian-experimental-now/</id><summary type="html">&lt;p&gt;&lt;a href="http://qt-project.org/"&gt;Qt&lt;/a&gt; 5.2.0 is already available in experimental until we get a transition slot, but don't be afraid to test it. With this release we had major improvements. With 5.1.1 currently in sid we have the following buildd chart:  &lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img alt="qt5-sid" src="https://perezmeyer.com.ar/images/qt5-sid.png"&gt;
                                                                                                    Qt 5.1.1 in Debian Sid&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Now …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;a href="http://qt-project.org/"&gt;Qt&lt;/a&gt; 5.2.0 is already available in experimental until we get a transition slot, but don't be afraid to test it. With this release we had major improvements. With 5.1.1 currently in sid we have the following buildd chart:  &lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img alt="qt5-sid" src="https://perezmeyer.com.ar/images/qt5-sid.png"&gt;
                                                                                                    Qt 5.1.1 in Debian Sid&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Now with 5.2.0 in Debian experimental we have:  &lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img alt="qt5-exp" src="https://perezmeyer.com.ar/images/qt5-exp.png"&gt;
                                                                                               Qt 5.2.0 in Debian experimental&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;As you can see Qt has compiled in more archs, thanks to the effort of the Debian's porters and from the &lt;a href="http://pkg-kde.alioth.debian.org/"&gt;Qt/KDE team&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Note that Qt JS Backend has dissapeared: it's functionality (the javascript engine) is now in Qt Declarative itself. It has been ported away from Google's v8 to a Qt-based engine, allowing it to build in more archs among other features.  &lt;/p&gt;
&lt;p&gt;You can also note that we still have quite some FTBFS, mostly coming from Qt Webkit. Feel free to send patches ;-)&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="experimental"/><category term="google"/><category term="debian"/></entry><entry><title>Qt in Debian: using Qt4 and/or Qt5 in your packages</title><link href="https://perezmeyer.com.ar/blog/2013/08/11/qt-in-debian-using-qt4-andor-qt5-in/" rel="alternate"/><published>2013-08-11T15:42:00-03:00</published><updated>2013-08-11T15:42:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2013-08-11:/blog/2013/08/11/qt-in-debian-using-qt4-andor-qt5-in/</id><summary type="html">&lt;p&gt;Hi everyone! We now have both Qt4 and Qt5 in the archive. Those using Qt4 should not need to make any changes in their packages, although you can be extra-safe with a few steps. Don't rush, just read below.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note 2014-12-12:&lt;/strong&gt; the current official doc is available &lt;a href="http://pkg-kde.alioth.debian.org/packagingqtbasedstuff.html"&gt;here&lt;/a&gt;.  &lt;/p&gt;
&lt;h2&gt;Some background …&lt;/h2&gt;</summary><content type="html">&lt;p&gt;Hi everyone! We now have both Qt4 and Qt5 in the archive. Those using Qt4 should not need to make any changes in their packages, although you can be extra-safe with a few steps. Don't rush, just read below.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note 2014-12-12:&lt;/strong&gt; the current official doc is available &lt;a href="http://pkg-kde.alioth.debian.org/packagingqtbasedstuff.html"&gt;here&lt;/a&gt;.  &lt;/p&gt;
&lt;h2&gt;Some background&lt;/h2&gt;
&lt;p&gt;Sune took the time some months ago to consult upstream for a sane way to allow both SDKs to coexist without us distros having to reinvent the wheel choosing which tools have to be in use in each case.  &lt;/p&gt;
&lt;p&gt;After a long discussion, upstream decided to write qtchooser (already in the archive) to be able to select between Qt4, Qt5 and even special user's cases like cross-platform builds.  &lt;/p&gt;
&lt;p&gt;So instead of going trough Debian's alternatives as we did with Qt3/Qt4, we will make use of this &lt;a href="http://perezmeyer.blogspot.com.ar/2013/05/presenting-qtchooser.html"&gt;new tool&lt;/a&gt;.  &lt;/p&gt;
&lt;h2&gt;My package uses Qt, how should I proceed?&lt;/h2&gt;
&lt;p&gt;There are many ways of choosing either of the versions of Qt:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Using any qtchooser method (preferred):  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;* Exporting QT_SELECT with 4, qt4, 5 or qt5 as a value in debian/rules.&lt;br&gt;
  * Call the tool using the '-qtx' parameter, where x can be replaced with any of the options above.  &lt;/p&gt;
&lt;p&gt;~~- Build-depending on qt4-default or qt5-default. You can't B-D on both of them, as they can't coexist.~~ Don't build depend nor depend on qt4-default and/or qt5-default.  &lt;/p&gt;
&lt;p&gt;It is good to notice that:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;any qtchooser method will take precedence over build depending on qtX-default.&lt;br&gt;
~~- If you export XDG_CONFIG_DIRS it will ignore the default paths to qtchooser's configs we setted up in the packages~~.  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We have also provided qt4-[arch-triplet] and qt5-[arch-triplet] options for special cases.  &lt;/p&gt;
&lt;p&gt;Once again, if you are already using Qt4, there is no need to rush. See below.  &lt;/p&gt;
&lt;h2&gt;Can is use both Qt4 and Qt5 in my package?&lt;/h2&gt;
&lt;p&gt;You can't mix Qt4 and Qt5 in the same binary, but you may provide libraries compiled against one or the other. For example, your source package foo could provide both libqt4foo1 and libqt5foo1. You need to mangle your debian/rules and/or build system accordingly to achieve this. At the time of this writing I don't know of any examples yet.  &lt;/p&gt;
&lt;h2&gt;So are you going to break the archive with a big transition?&lt;/h2&gt;
&lt;p&gt;No, we have done our best to avoid having to make any changes to existing Qt4 packages. Qt tools should default to Qt4 except if overriden by any method described above.  &lt;/p&gt;
&lt;h2&gt;My package uses Qt4, can I leave it as it is?&lt;/h2&gt;
&lt;p&gt;While there is no need to apply the changes in this case, explicitly setting the Qt version will surely not hurt at all. ~~But don't rush ;-)~~ See note 2014-11-06  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note 2014-05-07:&lt;/strong&gt; exporting XDG_CONFIG_DIRS is now safe.&lt;br&gt;
&lt;strong&gt;Note 2014-07-26:&lt;/strong&gt; We decided it's not good to build depend or even depend on qt4-default or qt5-default.&lt;br&gt;
&lt;strong&gt;Note 2014-11-06:&lt;/strong&gt; &lt;a href="http://perezmeyer.blogspot.com.ar/2014/11/early-announce-qt4-removal-in-jessie1.html"&gt;Qt4 will get removed in Jessie+1&lt;/a&gt;.&lt;br&gt;
&lt;strong&gt;Note 2016-02-08:&lt;/strong&gt; fixed doc URL.&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>My experiences with KMail2 in Debian</title><link href="https://perezmeyer.com.ar/blog/2013/07/14/my-experiences-with-kmail2-in-debian/" rel="alternate"/><published>2013-07-14T12:21:00-03:00</published><updated>2013-07-14T12:21:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2013-07-14:/blog/2013/07/14/my-experiences-with-kmail2-in-debian/</id><summary type="html">&lt;p&gt;Thanks to the &lt;a href="http://pkg-kde.alioth.debian.org/"&gt;Qt/KDE team&lt;/a&gt;, specially to &lt;a href="http://qa.debian.org/developer.php?login=maxy"&gt;Maxy&lt;/a&gt; who has done most of the packaging and uploading, sid users are now enjoying KDE 4.10.5, including the new KDE PIM stuff that we have held out for the Wheezy release.  &lt;/p&gt;
&lt;p&gt;I started using KMail2 (inside Kontact) a few …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Thanks to the &lt;a href="http://pkg-kde.alioth.debian.org/"&gt;Qt/KDE team&lt;/a&gt;, specially to &lt;a href="http://qa.debian.org/developer.php?login=maxy"&gt;Maxy&lt;/a&gt; who has done most of the packaging and uploading, sid users are now enjoying KDE 4.10.5, including the new KDE PIM stuff that we have held out for the Wheezy release.  &lt;/p&gt;
&lt;p&gt;I started using KMail2 (inside Kontact) a few days after Wheezy's release, getting it from experimental. And I have to admit that I really like it, just like with KMail1.  &lt;/p&gt;
&lt;p&gt;But my upgrade did have some bumps on the road, so I'm sharing them here so you can now how I solved them.  &lt;/p&gt;
&lt;p&gt;Mail import worked as we were waiting: it did work. So it was really useful to hold back Kmail1 until this really worked.  &lt;/p&gt;
&lt;p&gt;Now, I had a problem with my hard disk: whenever KMail started, it would start accessing it without pause. There where two reasons (for what I could test, I haven't looked at the source to really see if there was some other oddity) for this: I had a nepomuk/virtuoso DB created quite some time ago and initial mail indexing.  &lt;/p&gt;
&lt;p&gt;The initial mail indexing takes lots of time. For 1GB of DIMAP I had to wait like 5 hours (yes, 5 hours) on a 5600 rpm disk to let it fully finish. My desktop machine, with a faster hard drive, took a little less.  &lt;/p&gt;
&lt;p&gt;As far as people told me, that should have been enough, but my disk kept crawling. So I remembered someone from the team saying something about people with early-created nepomuk/virtuoso databases will have some speed issues. Mine where more than that, buy trying was worth the shot.  &lt;/p&gt;
&lt;p&gt;I had nepomuk disabled since I tried it the first version due to this exact problem. So I closed my KDE session and removed the nepomuk/virtuoso data:  &lt;/p&gt;
&lt;p&gt;rm -r \~/.kde/share/apps/nepomuk/  &lt;/p&gt;
&lt;p&gt;Then I logged back in KDE and waited (again) the 5 hours to let nepomuk re index my mail, this time totally finishing after 5 hours. Starting from that point, I get some one or two minutes of disk trashing some times I log in (not always), but it's actually not that bad. And I heard that in KDE 4.11 this has been improved a lot, so I should see a better behavior from that point on.  &lt;/p&gt;
&lt;p&gt;Please understand that this was my &lt;strong&gt;trial-and-error&lt;/strong&gt; fix, it may be possible that someone comes with a better solution :-)&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="pkg-kde"/><category term="softwarelibre"/><category term="experimental"/><category term="debian"/><category term="kde"/><category term="kmail"/></entry><entry><title>Presenting qtchooser</title><link href="https://perezmeyer.com.ar/blog/2013/05/29/presenting-qtchooser/" rel="alternate"/><published>2013-05-29T17:30:00-03:00</published><updated>2013-05-29T17:30:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2013-05-29:/blog/2013/05/29/presenting-qtchooser/</id><summary type="html">&lt;p&gt;A few days ago we the &lt;a href="http://pkg-kde.alioth.debian.org/"&gt;Qt/KDE team&lt;/a&gt; uploaded a new tool in the &lt;a href="http://qt-project.org/"&gt;Qt&lt;/a&gt; ecosystem: &lt;a href="http://packages.qa.debian.org/q/qtchooser.html"&gt;qtchooser&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;This tool is a wrapper tool used to select between different Qt versions. Of course, the first and easiest example is choosing between Qt4 and Qt5. But it doesn't end there: it …&lt;/p&gt;</summary><content type="html">&lt;p&gt;A few days ago we the &lt;a href="http://pkg-kde.alioth.debian.org/"&gt;Qt/KDE team&lt;/a&gt; uploaded a new tool in the &lt;a href="http://qt-project.org/"&gt;Qt&lt;/a&gt; ecosystem: &lt;a href="http://packages.qa.debian.org/q/qtchooser.html"&gt;qtchooser&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;This tool is a wrapper tool used to select between different Qt versions. Of course, the first and easiest example is choosing between Qt4 and Qt5. But it doesn't end there: it can also be used to select a user's build of Qt.  &lt;/p&gt;
&lt;p&gt;To experienced Debian users, at first sight, it might resemble Debian's alternatives system. But it goes much further than that, allowing users (not sysadmins) to decide their defaults, and even adding new ones, user-wide. All this can be done using different methods like command line arguments, environment variables and configuration files.  &lt;/p&gt;
&lt;p&gt;Apart from all that, this is the recommended upstream way of managing Qt, being picked up by several (if not all) distributions, so it can easily be supported by upstream in their documentation.  &lt;/p&gt;
&lt;h2&gt;My Qt4 package in Debian does not uses qtchooser, do I need to change anything?&lt;/h2&gt;
&lt;p&gt;No, we have tried to make things as smooth as possible. Your Qt4 packages should be safe. There will be more info on this later.  &lt;/p&gt;
&lt;div&gt;



&lt;/div&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="pkg"/><category term="debian"/></entry><entry><title>Debian/Ubuntu packages caching and mobile workstations</title><link href="https://perezmeyer.com.ar/blog/2013/05/22/debianubuntu-packages-caching-and/" rel="alternate"/><published>2013-05-22T14:31:00-03:00</published><updated>2013-05-22T14:31:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2013-05-22:/blog/2013/05/22/debianubuntu-packages-caching-and/</id><summary type="html">&lt;p&gt;Not so long ago I read &lt;a href="http://blog.surgut.co.uk/2013/03/avahi-apt-cacher-ng-sbuild.html"&gt;Dmitrijs' blog post&lt;/a&gt; on how to configure &lt;a href="http://packages.debian.org/search?keywords=apt-cacher-ng"&gt;apt-cacher-ng&lt;/a&gt; to advertise it's service using avahi. As I normally use my laptop in my home and at work, and both networks have apt-cacher-ng running, I decided to give it a try.  &lt;/p&gt;
&lt;p&gt;I have been administering apt-cacher-ng …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Not so long ago I read &lt;a href="http://blog.surgut.co.uk/2013/03/avahi-apt-cacher-ng-sbuild.html"&gt;Dmitrijs' blog post&lt;/a&gt; on how to configure &lt;a href="http://packages.debian.org/search?keywords=apt-cacher-ng"&gt;apt-cacher-ng&lt;/a&gt; to advertise it's service using avahi. As I normally use my laptop in my home and at work, and both networks have apt-cacher-ng running, I decided to give it a try.  &lt;/p&gt;
&lt;p&gt;I have been administering apt-cacher-ng for three networks so far, and I really find it a useful tool. Then, thanks to the aforementioned blog post, I discovered &lt;a href="http://packages.debian.org/search?keywords=squid-deb-proxy"&gt;squid-deb-proxy&lt;/a&gt;. I don't use squid, so it's not for my normal use case, but some people will surely find it interesting.  &lt;/p&gt;
&lt;p&gt;But I found it's client package to be really interesting. It will discover any service providing _apt_proxy._tcp through avahi and let apt use it. But then the package wasn't available in Debian. So, I contacted &lt;a href="http://qa.debian.org/developer.php?login=mvo"&gt;Michael Vogt&lt;/a&gt; to see if he was interested in putting at least the client in Debian's archive. He took the opportunity to upload the full squid-deb-proxy, so thanks a lot Michael :-)  &lt;/p&gt;
&lt;p&gt;I then filled a &lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=704790"&gt;wishlist bug&lt;/a&gt; against apt-cacher-ng to provide the avahi configuration for publishing the service, which &lt;a href="http://qa.debian.org/developer.php?login=blade"&gt;Eduard&lt;/a&gt; included in the last version of it. So thanks a lot Eduard too!  &lt;/p&gt;
&lt;h2&gt;tl;dr&lt;/h2&gt;
&lt;p&gt;You know only need apt-cacher-ng &amp;gt;= 0.7.13-1 and avahi-daemon installed on your server and your mobile users just need squid-deb-proxy-client. Then the proxy autoconfiguration for apt will just work.  &lt;/p&gt;
&lt;p&gt;One again, thanks &lt;strong&gt;a lot&lt;/strong&gt; to the respective maintainers for allowing this into Jessie :-)  &lt;/p&gt;
&lt;h2&gt;Gotchas&lt;/h2&gt;
&lt;p&gt;Yes, there are still some rough edges. On one of the networks I'm behind a proxy. While configuring my machine to use apt-cacher-ng's service as a proxy trough apt.conf, apt-listbugs would just work. But now, using the service as discovered by squid-deb-proxy-client, apt-listbugs just times out. Maybe I need to fill some other bug yet...&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="squid-deb-proxy"/><category term="english"/><category term="softwarelibre"/><category term="apt-cacher-ng"/><category term="debian"/></entry><entry><title>Qt 4.8.4 in experimental.</title><link href="https://perezmeyer.com.ar/blog/2013/05/15/qt-484-in-experimental/" rel="alternate"/><published>2013-05-15T12:22:00-03:00</published><updated>2013-05-15T12:22:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2013-05-15:/blog/2013/05/15/qt-484-in-experimental/</id><summary type="html">&lt;p&gt;Since a few days we have Qt 4.8.4 (4:4.8.4+dfsg-3) in &lt;a href="https://buildd.debian.org/status/package.php?p=qt4-x11&amp;amp;suite=experimental"&gt;some archs of the experimental Debian archive&lt;/a&gt;. This release allows Qt4 to coexist with Qt5 while avoiding &lt;a href="http://en.wikipedia.org/wiki/FTBFS"&gt;FTBFS&lt;/a&gt;s of current Qt4 packages in the archive.  &lt;/p&gt;
&lt;p&gt;So if you maintain a Qt4 app and …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Since a few days we have Qt 4.8.4 (4:4.8.4+dfsg-3) in &lt;a href="https://buildd.debian.org/status/package.php?p=qt4-x11&amp;amp;suite=experimental"&gt;some archs of the experimental Debian archive&lt;/a&gt;. This release allows Qt4 to coexist with Qt5 while avoiding &lt;a href="http://en.wikipedia.org/wiki/FTBFS"&gt;FTBFS&lt;/a&gt;s of current Qt4 packages in the archive.  &lt;/p&gt;
&lt;p&gt;So if you maintain a Qt4 app and want to check how it works with 4.8.4, you should be ready to go.&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="experimental"/><category term="debian"/></entry><entry><title>On the road to Qt5: declarative, graphicaleffects and svg in experimental.</title><link href="https://perezmeyer.com.ar/blog/2013/04/29/on-road-to-qt5-declarative/" rel="alternate"/><published>2013-04-29T20:20:00-03:00</published><updated>2013-04-29T20:20:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2013-04-29:/blog/2013/04/29/on-road-to-qt5-declarative/</id><content type="html">&lt;p&gt;Some more &lt;a href="http://qt-project.org/"&gt;Qt 5&lt;/a&gt; packages have entered &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt; experimental:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://packages.qa.debian.org/q/qtdeclarative-opensource-src.html"&gt;qtdeclarative&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://packages.qa.debian.org/q/qtgraphicaleffects-opensource-src.html"&gt;qtgraphicaleffects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://packages.qa.debian.org/q/qtsvg-opensource-src.html"&gt;qtsvg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;

Enjoy :-)

&lt;/div&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="experimental"/><category term="debian"/></entry><entry><title>On the road to Qt 5: Qt 5 base, tools, jsbackend and xmlpatterns in experimental</title><link href="https://perezmeyer.com.ar/blog/2013/04/21/on-road-to-qt-5-qt-5-base-tools/" rel="alternate"/><published>2013-04-21T10:32:00-03:00</published><updated>2013-04-21T10:32:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2013-04-21:/blog/2013/04/21/on-road-to-qt-5-qt-5-base-tools/</id><summary type="html">&lt;p&gt;The first &lt;a href="http://qt-project.org/"&gt;Qt 5&lt;/a&gt; packages have been accepted in &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt; experimental.  &lt;/p&gt;
&lt;h2&gt;What's there&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://packages.qa.debian.org/q/qtbase-opensource-src.html"&gt;qtbase-opensource-src&lt;/a&gt;: lib[concurrent core dbus gui network opengl printsupport sql test widgets xml], examples, development packages and debug symbols.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://packages.qa.debian.org/q/qttools-opensource-src.html"&gt;qttools-opensource-src&lt;/a&gt;: lib[qtlucene designer help], qdbus, development headers and debugging symbols.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://packages.qa.debian.org/q/qtjsbackend-opensource-src.html"&gt;qtjsbackend-opensource-src&lt;/a&gt;: libqt5v8-5&lt;/li&gt;
&lt;li&gt;&lt;a href="http://packages.qa.debian.org/q/qtxmlpatterns-opensource-src.html"&gt;qtxmlpatterns-opensource-src&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://packages.qa.debian.org/q/qtxmlpatterns-opensource-src.html"&gt;qtchooser&lt;/a&gt;, which allows to …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;The first &lt;a href="http://qt-project.org/"&gt;Qt 5&lt;/a&gt; packages have been accepted in &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt; experimental.  &lt;/p&gt;
&lt;h2&gt;What's there&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://packages.qa.debian.org/q/qtbase-opensource-src.html"&gt;qtbase-opensource-src&lt;/a&gt;: lib[concurrent core dbus gui network opengl printsupport sql test widgets xml], examples, development packages and debug symbols.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://packages.qa.debian.org/q/qttools-opensource-src.html"&gt;qttools-opensource-src&lt;/a&gt;: lib[qtlucene designer help], qdbus, development headers and debugging symbols.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://packages.qa.debian.org/q/qtjsbackend-opensource-src.html"&gt;qtjsbackend-opensource-src&lt;/a&gt;: libqt5v8-5&lt;/li&gt;
&lt;li&gt;&lt;a href="http://packages.qa.debian.org/q/qtxmlpatterns-opensource-src.html"&gt;qtxmlpatterns-opensource-src&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://packages.qa.debian.org/q/qtxmlpatterns-opensource-src.html"&gt;qtchooser&lt;/a&gt;, which allows to select between Qt4 or Qt5 at build time.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;

To start building Qt 5 apps you will need to export QT\_SELECT=qt5, install the package qt5-defaults or read qtchooser's man page. Note that exporting QT\_SELECT has precedence over installing qt5-defaults.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;h2&gt;What's not there&lt;/h2&gt;
&lt;div&gt;

#### Architectures

AMD64 is already there because it's the arch used by maintainers to build the packages. i386 should be following as soon as [buildds](http://www.debian.org/devel/buildd/) catch up. Most surely ARM-based archs will be there at some point too.  

Other archs will need some love. Not strange, the Qt project supports amd64, i386 and ARM, but we Debian have normally prepared patches to make it build in other archs. And yes, we try to push them upstream for everyone's benefit. So, if you are missing it in your arch, take a look. You may be the one who enables Qt 5 in it :-)  


#### GLES2 and Wayland

We don't have GLES2 or Wayland support yet. Building it will most probably break the desktop for people using proprietary video drivers (or at least I was told so). I'll surely provide **non-official** packages with GLES2/Wayland enabled to allow people testing it, but not soon.

&lt;/div&gt;

&lt;div&gt;


This also means that we are not currently able to split X11 and framebuffer support. But we have time to work on it :-)  


#### Non DFSGs compliant files



&lt;/div&gt;

&lt;div&gt;

If you get the original source code tarball from Debian you will notice that it has dfsg in it's name. That means that we had to remove some non [DFSG](http://www.debian.org/social_contract) compliant stuff from the original tarball, namely:

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

-   Every [RFC](http://wiki.debian.org/NonFreeIETFDocuments).
-   Three files used for testing the build, which are made of RFCs.
-   Some fonts.

&lt;div&gt;



What's following
----------------



&lt;/div&gt;

&lt;/div&gt;

&lt;div&gt;

Other parts of Qt 5 are on the way. And remember, this packages would not have been possible if it weren't for the great Debian's [pkg-kde](http://pkg-kde.alioth.debian.org/) team. My kudos to them.

&lt;/div&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="linux"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="experimental"/><category term="debian"/></entry><entry><title>On the road to Qt 5: Qt 4.8.4 and qtchooser uploaded to experimental</title><link href="https://perezmeyer.com.ar/blog/2013/04/01/on-road-to-qt-5-qt-484-and-qtchooser/" rel="alternate"/><published>2013-04-01T18:41:00-03:00</published><updated>2013-04-01T18:41:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2013-04-01:/blog/2013/04/01/on-road-to-qt-5-qt-484-and-qtchooser/</id><summary type="html">&lt;p&gt;I have just uploaded &lt;a href="http://qt-project.org/"&gt;Qt&lt;/a&gt; 4.8.4 to experimental. Apart from being the newest upstream release of the 4 series, it adds the basic support for coexisting with Qt 5. Because of this support it will need to go trough the &lt;a href="http://ftp-master.debian.org/new.html"&gt;NEW queue&lt;/a&gt; though, so we will need to …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I have just uploaded &lt;a href="http://qt-project.org/"&gt;Qt&lt;/a&gt; 4.8.4 to experimental. Apart from being the newest upstream release of the 4 series, it adds the basic support for coexisting with Qt 5. Because of this support it will need to go trough the &lt;a href="http://ftp-master.debian.org/new.html"&gt;NEW queue&lt;/a&gt; though, so we will need to be patient.  &lt;/p&gt;
&lt;p&gt;Developers will be interested in &lt;a href="http://qt.gitorious.org/qt/qtchooser"&gt;qtchooser&lt;/a&gt;, the tool that allows to switch between Qt 4 and 5 development apps. It has also been uploaded to experimental.  &lt;/p&gt;
&lt;p&gt;Of course, all this has been possible thanks to the efforts of the wonderful &lt;a href="http://pkg-kde.alioth.debian.org/"&gt;Qt/KDE&lt;/a&gt; team =)  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; our efficacious FTP masters have already made Qt pass the NEW queue. Thanks a lot!&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="pkg-kde"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>Entrevista en La Nueva Provincia</title><link href="https://perezmeyer.com.ar/blog/2013/03/25/entrevista-en-la-nueva-provincia/" rel="alternate"/><published>2013-03-25T09:42:00-03:00</published><updated>2013-03-25T09:42:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2013-03-25:/blog/2013/03/25/entrevista-en-la-nueva-provincia/</id><summary type="html">&lt;p&gt;Hace unos dias Guillermo Burastero me llamó para comentarme que le habían pedido una nota en el diario local de Bahía Blanca, &lt;a href="http://www.lanueva.com.ar/"&gt;La Nueva Provincia&lt;/a&gt;, para que habláramos de software libre. La entrevista se concretó y &lt;a href="http://www.lanueva.com/domingo/nota/016209e83d/763/141336.html"&gt;he aquí el resultado&lt;/a&gt; (y acá &lt;a href="http://www.lanueva.com/fileadmin/user_upload/domingo/2013/suple_72/Domingo.pdf"&gt;en PDF&lt;/a&gt;).  &lt;/p&gt;
&lt;p&gt;Hice algunas menciones a Debian, pero …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hace unos dias Guillermo Burastero me llamó para comentarme que le habían pedido una nota en el diario local de Bahía Blanca, &lt;a href="http://www.lanueva.com.ar/"&gt;La Nueva Provincia&lt;/a&gt;, para que habláramos de software libre. La entrevista se concretó y &lt;a href="http://www.lanueva.com/domingo/nota/016209e83d/763/141336.html"&gt;he aquí el resultado&lt;/a&gt; (y acá &lt;a href="http://www.lanueva.com/fileadmin/user_upload/domingo/2013/suple_72/Domingo.pdf"&gt;en PDF&lt;/a&gt;).  &lt;/p&gt;
&lt;p&gt;Hice algunas menciones a Debian, pero bueno, no todo es posible a veces :-)  &lt;/p&gt;
&lt;p&gt;Tip: los nombres no coinciden con las fotografías. Les dejo adivinar el orden correcto ;-)&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="softwarelibre"/><category term="entrevista"/><category term="planetdebian-es"/></entry><entry><title>Día de la libertad del hardware</title><link href="https://perezmeyer.com.ar/blog/2013/03/18/dia-de-la-libertad-del-hardware/" rel="alternate"/><published>2013-03-18T12:13:00-03:00</published><updated>2013-03-18T12:13:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2013-03-18:/blog/2013/03/18/dia-de-la-libertad-del-hardware/</id><summary type="html">&lt;p&gt;El sábado 20 de Abril se va a llevar a cabo el &lt;a href="http://www.hfday.org/"&gt;Hardware Freedom Day&lt;/a&gt; en todo el mundo, y Argentina no es excepción. Este año tenemos la suerte que se realice en dos lugares: &lt;a href="http://wiki.hfday.org/2013/Argentina/La%20Plata/Equipo%20La%20Plata"&gt;La Plata&lt;/a&gt; (que cuenta con &lt;a href="https://twitter.com/alejolp"&gt;Alejo&lt;/a&gt; como uno de los coordinadores) y &lt;a href="http://wiki.hfday.org/2013/Argentina/Buenos%20Aires/IEEE%20Rama%20Estudiantil%20UTN.BA"&gt;Buenos Aires&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;A …&lt;/p&gt;</summary><content type="html">&lt;p&gt;El sábado 20 de Abril se va a llevar a cabo el &lt;a href="http://www.hfday.org/"&gt;Hardware Freedom Day&lt;/a&gt; en todo el mundo, y Argentina no es excepción. Este año tenemos la suerte que se realice en dos lugares: &lt;a href="http://wiki.hfday.org/2013/Argentina/La%20Plata/Equipo%20La%20Plata"&gt;La Plata&lt;/a&gt; (que cuenta con &lt;a href="https://twitter.com/alejolp"&gt;Alejo&lt;/a&gt; como uno de los coordinadores) y &lt;a href="http://wiki.hfday.org/2013/Argentina/Buenos%20Aires/IEEE%20Rama%20Estudiantil%20UTN.BA"&gt;Buenos Aires&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;A mi me van a quedar un poco lejos, pero invito al que pueda a acercarse al evento.  &lt;/p&gt;
&lt;p&gt;No se lo pierdan :-)&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="hardware"/><category term="hardware freedom day"/><category term="planetdebian-es"/></entry><entry><title>My Debian freeze experience (so far)</title><link href="https://perezmeyer.com.ar/blog/2013/03/04/my-debian-freeze-experience-so-far/" rel="alternate"/><published>2013-03-04T23:30:00-03:00</published><updated>2013-03-04T23:30:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2013-03-04:/blog/2013/03/04/my-debian-freeze-experience-so-far/</id><summary type="html">&lt;p&gt;This is the first freeze in which I'm involved with upload rights. And it turned out to be a quite interesting ride so far, so I thought it would be nice to write about it.  &lt;/p&gt;
&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

As some of you may know, I'm a part of the [Qt/KDE team](http …&lt;/div&gt;</summary><content type="html">&lt;p&gt;This is the first freeze in which I'm involved with upload rights. And it turned out to be a quite interesting ride so far, so I thought it would be nice to write about it.  &lt;/p&gt;
&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

As some of you may know, I'm a part of the [Qt/KDE team](http://pkg-kde.alioth.debian.org/). Before the freeze I was mostly involved in leaf packages, with some patch here or there, nothing fancy. And then the freeze came...

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

**Bugs in Qt**
--------------

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

...and bugs appeared in [Qt](http://qt-project.org/). But they didn't get solved, even if the patches were there. Due to personal reasons, the manpower in Qt/KDE land decreased below normal levels (which were already low).

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

I took the time to review them, apply them in a local branch, build and test the fixes. I did a Qt upload before, but it was a team-consented one. This time there was not much reaction in our IRC channel as it used to be, so I was doubting if going ahead or not. I asked [Ana](http://ekaia.org/), my great friend and former sponsor, for an opinion on the subject, and she gave me a really important advice: the patches were looking good and there is one really big true: if something get's broken, it can be fixed with a later upload.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

You might be asking yourself why I was that afraid of doing the upload. Well, when one maintains such a medular package for many users one has to be careful  And I also got used that those "big ones" like Qt where normally handled by hand skilled people. Do not take me wrong here, it's not that those people where keeping them for themselves, it's knowing that one does not has the same skills nor experience as them.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

But again, no one was able to upload and I had the chance and will to do another upload if needed, so off it went. That was Qt 4:4.8.2-2.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Then new experiences followed: asking a buildd maintainer for a giveback, asking the Release Team for an unblock (more on this later), etc. While sponsoring me, Ana gave me another excellent advice which I always keep in my mind:

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;p&gt;You can't know &lt;strong&gt;**everything**&lt;/strong&gt; about Debian.&lt;/p&gt;
&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

And that also includes a not so technical skill: communicating with other teams. But finally we got this new version of Qt in testing. Cool :-)  

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Of course, new bugs appeared, and my lack of skills (and sometimes, time) where replaced by team work: [Pino](http://www.behindkde.org/pino-toscano) looking at patches and [Sune](http://pusling.com/blog/) contacting upstream. The eleven uploads that followed are a nice example of team work, even if I was the one who signed and did the uploads. Whoever uses Qt must know that these wonderful people (including those who are not so active nowadays like [Modestas](http://www.linkedin.com/pub/modestas-vainius/2/ba5/3a) or [Fathi](http://www.linaro.org/linux-on-arm/meet-the-team/fathi-boudra)) have done lots to bring the better to their users.Thank you guys!

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

**Be careful, they might bite you back!**
-----------------------------------------

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Coming back to the non-technical skills, sometimes you have to communicate with other teams in Debian. And each team is (naturally) a separate world: possibly different people, different goals, etc. Of course, we share the goal to make Debian the best experience we can, but we do not necessarily agree on the paths to achieve so.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

During the freeze, there is a team that gets lots of pressure, and not by chance: the [Release Team](http://wiki.debian.org/Teams/ReleaseTeam). They handle a very important task, which is to ride the freeze to get to a release. OK, that's what everyone knows. Now, one thing is knowing that and another is really understanding what does that means.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Of course I was in the first group. From the outside, communicating with the RT was a kind of "special art", and not an easy one. I have even been advised to not ask for more than one or two unblocks per weekend, as they might "bite me back". So I put on my flamesuit on and... launched reportbug release.debian.org.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Now I'm really **happy** to say that my experience was far from what I described above. And yes, I had the chance to even disagree on some stuff. But remember: non-technical skills, a.k.a. social skills. Once I started to know what was going on inside the RT (joining \#debian-release was a big help for that) I learnt some nice tips to approach them. Please allow me to list some of them:

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

-   Remember: you are the maintainer of the package, they are like gatekeepers that are there to help us coordinate to do a release. But they don't maintain the code, you do that. So try to be verbose when needed, explain the changes and don't forget a nice diff. They need to understand what is going on: they can't read your mind.
-   They are human beings too: not everyday might be their best day (the same goes for you too!). And they are under the pressure of a release. Be patient, that finally pays off.
-   Does your changes seem not so clear? try to improve them.
-   The package has a lot of changes but you really feel they are needed? Try to explain that as good as you can.
-   Try to put yourself in **their** position: do we really want this? If in doubt, there is a nice way to know what they think: a pre-approval bug.

&lt;div&gt;

I want to make a stop in this last point. A pre-approval bug it's an unblock bug in which you edit the subject to add "pre-approval" in it. Easy, isn't it? It gives you the opportunity to know what the RT thinks before doing the upload. In other words: it gives you the chance to communicate and do things in the best possible way for all the parts involved.  

&lt;/div&gt;

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

I've have also seen pre-approval bugs that were really not needed. But to learn where the threshold of what can be directly uploaded and what deserves a pre-approval bug is you need to know the guidelines the RT gives you. Do you still have doubts? fire a pre-approval bug and try to be clear.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Of course, this are all fruits of my experience with the RT during this time. If the RT thinks different from what I'm writing here, please stand up: we are hear to listen to you and learn :-)

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

As a side note, I think I should file a wishlist bug to include the pre-approval bug option in reportbug. Yes, I'm lazy :-)

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

**Summing up**
--------------

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Overall this was a very nice and positive experience. We are not done yet. Are we really done at some point? Let's hope not, because this is where the fun comes from :-)

&lt;/div&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="releaseteam"/><category term="english"/><category term="gracias"/><category term="qt"/><category term="freeze"/><category term="softwarelibre"/><category term="DD"/><category term="debian"/><category term="kde"/></entry><entry><title>Aprendiendo sobre LDAP</title><link href="https://perezmeyer.com.ar/blog/2012/11/23/aprendiendo-sobre-ldap/" rel="alternate"/><published>2012-11-23T16:40:00-03:00</published><updated>2012-11-23T16:40:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2012-11-23:/blog/2012/11/23/aprendiendo-sobre-ldap/</id><summary type="html">&lt;p&gt;En mi trabajo ha surgido la necesidad de crear una infraestructura de &lt;a href="http://es.wikipedia.org/wiki/LDAP"&gt;LDAP&lt;/a&gt;+&lt;a href="http://es.wikipedia.org/wiki/Kerberos"&gt;kerberos&lt;/a&gt;, que voy a montar sobre (adivinaron) &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt;. Si bien en la web hay varios artículos al respecto, ésto es lo que les recomiendo dentro de lo que vengo leyendo:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un &lt;a href="http://www.redbooks.ibm.com/abstracts/sg244986.html"&gt;Red Book de IBM&lt;/a&gt; muy bueno …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;En mi trabajo ha surgido la necesidad de crear una infraestructura de &lt;a href="http://es.wikipedia.org/wiki/LDAP"&gt;LDAP&lt;/a&gt;+&lt;a href="http://es.wikipedia.org/wiki/Kerberos"&gt;kerberos&lt;/a&gt;, que voy a montar sobre (adivinaron) &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt;. Si bien en la web hay varios artículos al respecto, ésto es lo que les recomiendo dentro de lo que vengo leyendo:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un &lt;a href="http://www.redbooks.ibm.com/abstracts/sg244986.html"&gt;Red Book de IBM&lt;/a&gt; muy bueno al respecto, ideal para arrancar si se desconoce totalmente el tema. Si van a usar &lt;a href="http://es.wikipedia.org/wiki/OpenLDAP"&gt;OpenLDAP&lt;/a&gt;, con leer los tres primeros capítulos alcanza.&lt;/li&gt;
&lt;li&gt;Un &lt;a href="http://www.zytrax.com/books/ldap/"&gt;libro en la web de Zytrax&lt;/a&gt;, mas informal pero con muchos ejemplos, excelente para leer a continuación del anterior.&lt;/li&gt;
&lt;li&gt;Una guía de &lt;a href="http://techpubs.spinlocksolutions.com/dklar/ldap.html"&gt;como instalar un servidor LDAP en Debian&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;

Un problema general que me he encontrado en convertir los ejemplos de configuraciones de slpad.conf al formato manejado dentro del mismo árbol de LDAP. Pero si hubiese leído las cosas en el orden que puse arriba, me hubiese sido mas fácil de entrada :-)

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Un amigo me recomendó mirar la [wiki de DebianLan](http://wiki.debian.org/DebianLAN/) para lograr un setup mucho más rápido. Todavía no he llegado a ésa parte.

&lt;/div&gt;</content><category term="misc"/><category term="español"/><category term="comision de investigaciones científicas"/><category term="linux"/><category term="kerberos"/><category term="softwarelibre"/><category term="debian"/><category term="ldap"/><category term="planetdebian-es"/><category term="openldap"/></entry><entry><title>¿Tu sesión de KDE está leeeeenta? Chequeá tu interface de loopback</title><link href="https://perezmeyer.com.ar/blog/2012/11/01/tu-sesion-de-kde-esta-leeeeenta-chequea/" rel="alternate"/><published>2012-11-01T21:23:00-03:00</published><updated>2012-11-01T21:23:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2012-11-01:/blog/2012/11/01/tu-sesion-de-kde-esta-leeeeenta-chequea/</id><summary type="html">&lt;p&gt;Mientras reviso los bugs del equipo Qt-KDE de Debian, no es raro encontrar gente que reporta que se sesión de KDE está muy lenta. La gran mayoría de las veces el problema es que la interfaz de loopback (aka lo) no está habilitada. A veces el usuario hizo algo mal …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Mientras reviso los bugs del equipo Qt-KDE de Debian, no es raro encontrar gente que reporta que se sesión de KDE está muy lenta. La gran mayoría de las veces el problema es que la interfaz de loopback (aka lo) no está habilitada. A veces el usuario hizo algo mal, a veces algún manejador de redes metió la pata, pero el resultado final es el mismo: KDE está lento.  &lt;/p&gt;
&lt;p&gt;Un usuario llenó &lt;a href="https://bugs.kde.org/show_bug.cgi?id=309047"&gt;un bug en KDE upstream&lt;/a&gt; pidiendo por un diálogo que avise al usuario en caso de que ésto ocurra. esperemos que sea implementado :-)  &lt;/p&gt;
&lt;p&gt;Bueno, pero... ¿como chequeo de que la interfaz esté activa?  &lt;/p&gt;
&lt;p&gt;Simplemente corriendo:  &lt;/p&gt;
&lt;p&gt;\$ /sbin/ifconfig &lt;br&gt;
eth0      Link encap:Ethernet  HWaddr 00:1f:c6:ba:70:f3  &lt;br&gt;
          ...&lt;br&gt;
[&lt;br&gt;
]{style="font-family: Courier New, Courier, monospace;"}lo       Link encap:Local Loopback  &lt;br&gt;
          inet addr:127.0.0.1  Mask:255.0.0.0&lt;br&gt;
          inet6 addr: ::1/128 Scope:Host&lt;br&gt;
          UP LOOPBACK RUNNING  MTU:16436  Metric:1&lt;br&gt;
          RX packets:1807 errors:0 dropped:0 overruns:0 frame:0&lt;br&gt;
          TX packets:1807 errors:0 dropped:0 overruns:0 carrier:0&lt;br&gt;
          collisions:0 txqueuelen:0 &lt;br&gt;
          RX bytes:494525 (482.9 KiB)  TX bytes:494525 (482.9 KiB)  &lt;/p&gt;
&lt;p&gt;La última entrada "lo" nos dice que la interface está activa.  &lt;/p&gt;
&lt;p&gt;En Debian, el archivo /etc/network/interfaces debería contener algo como:  &lt;/p&gt;
&lt;p&gt;# The loopback network interface&lt;br&gt;
auto lo&lt;br&gt;
iface lo inet loopback  &lt;/p&gt;
&lt;p&gt;La próxima vez que tu sesión de KDE esté lenta, ya sabés por donde empezara mirar ;-)  &lt;/p&gt;</content><category term="misc"/><category term="espa"/><category term="pkg-kde"/><category term="softwarelibre"/><category term="debian"/><category term="planetdebian-es"/><category term="kde"/></entry><entry><title>Is your KDE slooooow? Check your loopback interface</title><link href="https://perezmeyer.com.ar/blog/2012/11/01/is-your-kde-slooooow-check-your/" rel="alternate"/><published>2012-11-01T21:06:00-03:00</published><updated>2012-11-01T21:06:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2012-11-01:/blog/2012/11/01/is-your-kde-slooooow-check-your/</id><summary type="html">&lt;p&gt;While digging Debian Qt-KDE's bugs, it has become more common to find people reporting that their KDE is very slow. Most of the time (if not every time) it turns out that the loopback interface is down. Sometimes the user did something wrong, sometimes some network manager, but the end …&lt;/p&gt;</summary><content type="html">&lt;p&gt;While digging Debian Qt-KDE's bugs, it has become more common to find people reporting that their KDE is very slow. Most of the time (if not every time) it turns out that the loopback interface is down. Sometimes the user did something wrong, sometimes some network manager, but the end result is the same: KDE is terribly slow.  &lt;/p&gt;
&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

A user [filled a bug upstream](https://bugs.kde.org/show_bug.cgi?id=309047) to ask for a dialogue in KDE that warns the user about this fact. Let's hope it get's implemented :-)

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

OK, so, how do I check that my lo interface is up?

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

You can simply run:

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

&lt;div&gt;

\$ /sbin/ifconfig 

&lt;/div&gt;

&lt;div&gt;

eth0      Link encap:Ethernet  HWaddr 00:1f:c6:ba:70:f3  

&lt;/div&gt;

&lt;div&gt;

          [](http://www.blogger.com/blogger.g?blogID=6357172297737057475)

&lt;/div&gt;

&lt;div&gt;

[  
]{style="font-family: Courier New, Courier, monospace;"}

&lt;/div&gt;

&lt;div&gt;

lo        Link encap:Local Loopback  

&lt;/div&gt;

&lt;div&gt;

          inet addr:127.0.0.1  Mask:255.0.0.0

&lt;/div&gt;

&lt;div&gt;

          inet6 addr: ::1/128 Scope:Host

&lt;/div&gt;

&lt;div&gt;

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

&lt;/div&gt;

&lt;div&gt;

          RX packets:1807 errors:0 dropped:0 overruns:0 frame:0

&lt;/div&gt;

&lt;div&gt;

          TX packets:1807 errors:0 dropped:0 overruns:0 carrier:0

&lt;/div&gt;

&lt;div&gt;

          collisions:0 txqueuelen:0 

&lt;/div&gt;

&lt;div&gt;

          RX bytes:494525 (482.9 KiB)  TX bytes:494525 (482.9 KiB)

&lt;/div&gt;

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

The last entry "lo" tells us that the interface is up.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

In Debian, the file /etc/network/interfaces should have something like:

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

&lt;div&gt;

\# The loopback network interface

&lt;/div&gt;

&lt;div&gt;

auto lo

&lt;/div&gt;

&lt;div&gt;

iface lo inet loopback

&lt;/div&gt;

&lt;/div&gt;

&lt;p&gt;So, next time you find a KDE session is slow, you know what to do ;-)&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="pkg-kde"/><category term="softwarelibre"/><category term="debian"/><category term="kde"/></entry><entry><title>QExtSerialPort in Debian experimental</title><link href="https://perezmeyer.com.ar/blog/2012/08/16/qextserialport-in-debian-experimental/" rel="alternate"/><published>2012-08-16T17:14:00-03:00</published><updated>2012-08-16T17:14:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2012-08-16:/blog/2012/08/16/qextserialport-in-debian-experimental/</id><summary type="html">&lt;p&gt;After some &lt;a href="http://perezmeyer.blogspot.com.ar/2012/02/license-mess-with-serial-port-qt-based.html"&gt;rants&lt;/a&gt; about the status of different &lt;a href="http://qt-project.org/"&gt;Qt&lt;/a&gt;-based serial port libs, I'm happy to announce that today &lt;a href="http://code.google.com/p/qextserialport/"&gt;QExtSerialPort&lt;/a&gt; was &lt;a href="http://packages.qa.debian.org/q/qextserialport.html"&gt;accepted in Debian experimental&lt;/a&gt; (this last link may give a 404 for some time, that's ok).  &lt;/p&gt;
&lt;p&gt;A great effort was done upstream to put the source in a suitable …&lt;/p&gt;</summary><content type="html">&lt;p&gt;After some &lt;a href="http://perezmeyer.blogspot.com.ar/2012/02/license-mess-with-serial-port-qt-based.html"&gt;rants&lt;/a&gt; about the status of different &lt;a href="http://qt-project.org/"&gt;Qt&lt;/a&gt;-based serial port libs, I'm happy to announce that today &lt;a href="http://code.google.com/p/qextserialport/"&gt;QExtSerialPort&lt;/a&gt; was &lt;a href="http://packages.qa.debian.org/q/qextserialport.html"&gt;accepted in Debian experimental&lt;/a&gt; (this last link may give a 404 for some time, that's ok).  &lt;/p&gt;
&lt;p&gt;A great effort was done upstream to put the source in a suitable state for being included in Debian. Thank you all guys!  &lt;/p&gt;
&lt;p&gt;I packaged a beta version, so I uploaded it to experimental.  &lt;/p&gt;
&lt;p&gt;In case you are wondering why packaging a lib with (yet) no apps depending on it, the answer is quite simple: there are lots of people already using it in it's home projects (me included). Now those projects have the chance to get into Debian too :-)  &lt;/p&gt;
&lt;p&gt;As a side note, there is also another nice implementation called &lt;a href="http://qt-project.org/wiki/QtSerialPort"&gt;QtSerialPort&lt;/a&gt;. I have also tested it and works pretty fine too. It aims to become part of Qt as an add-on someday.  &lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="qextserialport"/><category term="english"/><category term="programación"/><category term="qt"/><category term="serialport"/><category term="softwarelibre"/><category term="debian"/><category term="qtserialport"/></entry><entry><title>¡Feliz cumpleaños Debian! 19 y vamos por mas :-)</title><link href="https://perezmeyer.com.ar/blog/2012/08/16/feliz-cumpleanos-debian-19-y-vamos-por/" rel="alternate"/><published>2012-08-16T11:56:00-03:00</published><updated>2012-08-16T11:56:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2012-08-16:/blog/2012/08/16/feliz-cumpleanos-debian-19-y-vamos-por/</id><content type="html">&lt;p&gt;&lt;img alt="debian-19" src="https://perezmeyer.com.ar/images/debian-19.png"&gt;&lt;/p&gt;
&lt;p&gt;¡Feliz cumpleaños &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt;! Por supuesto, vamos por mas :-)&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="felizcumpleaños"/><category term="felicitaciones"/><category term="gracias"/><category term="softwarelibre"/><category term="debian"/><category term="planetdebian-es"/></entry><entry><title>Poniendo la rama del repositorio de git en el prompt</title><link href="https://perezmeyer.com.ar/blog/2012/07/13/poniendo-la-rama-del-repositorio-de-git/" rel="alternate"/><published>2012-07-13T19:00:00-03:00</published><updated>2012-07-13T19:00:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2012-07-13:/blog/2012/07/13/poniendo-la-rama-del-repositorio-de-git/</id><summary type="html">&lt;p&gt;A partir de la charla &lt;a href="http://penta.debconf.org/dc12_schedule/events/861.en.html"&gt;Git and Debian packaging&lt;/a&gt; me saltó la duda de como lograr un prompt que me diga la rama actual de git cuando me encuentre en un repositorio.  &lt;/p&gt;
&lt;p&gt;Christian "bubulle" Perrier nos ofreció &lt;a href="http://lukasrieder.com/2009/07/14/extend-your-bash-ps1.html"&gt;éste link&lt;/a&gt;. La idea me gustó mucho, pero tuve que twikearlo un poco …&lt;/p&gt;</summary><content type="html">&lt;p&gt;A partir de la charla &lt;a href="http://penta.debconf.org/dc12_schedule/events/861.en.html"&gt;Git and Debian packaging&lt;/a&gt; me saltó la duda de como lograr un prompt que me diga la rama actual de git cuando me encuentre en un repositorio.  &lt;/p&gt;
&lt;p&gt;Christian "bubulle" Perrier nos ofreció &lt;a href="http://lukasrieder.com/2009/07/14/extend-your-bash-ps1.html"&gt;éste link&lt;/a&gt;. La idea me gustó mucho, pero tuve que twikearlo un poco para que use colores :-)  &lt;/p&gt;
&lt;p&gt;El resultado, en mi \~/.bashrc  &lt;/p&gt;
&lt;p&gt;[...]&lt;br&gt;
# Search for git repos.&lt;br&gt;
parse_git_branch() {&lt;br&gt;
  git branch 2&amp;gt; /dev/null | sed -e '/\^[\^*]/d' -e 's/* \(.*\)/(\1)/'&lt;br&gt;
}&lt;br&gt;
[&lt;br&gt;
]{style="font-family: 'Courier New', Courier, monospace;"}&lt;br&gt;
# uncomment for a colored prompt, if the terminal has the capability; turned&lt;br&gt;
# off by default to not distract the user: the focus in a terminal window&lt;br&gt;
# should be on the output of commands, not on the prompt&lt;br&gt;
force_color_prompt=yes&lt;br&gt;
[&lt;br&gt;
]{style="font-family: 'Courier New', Courier, monospace;"}&lt;br&gt;
if [ -n "\$force_color_prompt" ]; then&lt;br&gt;
    if [ -x /usr/bin/tput ] &amp;amp;&amp;amp; tput setaf 1 &amp;gt;&amp;amp;/dev/null; then&lt;br&gt;
[ ]{.Apple-tab-span style="white-space: pre;"}# We have color support; assume it's compliant with Ecma-48&lt;br&gt;
[ ]{.Apple-tab-span style="white-space: pre;"}# (ISO/IEC-6429). (Lack of such support is extremely rare, and such&lt;br&gt;
[ ]{.Apple-tab-span style="white-space: pre;"}# a case would tend to support setf rather than setaf.)&lt;br&gt;
[ ]{.Apple-tab-span style="white-space: pre;"}color_prompt=yes&lt;br&gt;
    else&lt;br&gt;
[ ]{.Apple-tab-span style="white-space: pre;"}color_prompt=&lt;br&gt;
    fi&lt;br&gt;
fi&lt;br&gt;
[&lt;br&gt;
]{style="font-family: 'Courier New', Courier, monospace;"}&lt;br&gt;
if [ "\$color_prompt" = yes ]; then&lt;br&gt;
    ]{style="font-family: 'Courier New', Courier, monospace;"}[[PS1='\${debian_chroot:+(\$debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\[\033[01;31m\]\$(parse_git_branch)\[\033[00m\] \\$ ]{style="font-family: 'Courier New', Courier, monospace;"}]{style="background-color: white;"}['&lt;br&gt;
else&lt;br&gt;
    PS1='\${debian_chroot:+(\$debian_chroot)}\u@\h:\w\$(parse_git_branch)\\$ '&lt;br&gt;
fi&lt;br&gt;
unset color_prompt force_color_prompt&lt;br&gt;
[...]  &lt;/p&gt;
&lt;p&gt;Como verán, agregué la función parse_git_branch() tal y como se describe en el link. Luego agregué la llamada en la definición del color prompt.  &lt;/p&gt;
&lt;p&gt;Por supuesto, se puede mejorar aún mas :)  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nota 201207172003GMT-3:&lt;/strong&gt; bubulle parece &lt;a href="http://www.perrier.eu.org/weblog/2012/07/15#cool-prompt"&gt;haber hecho lo mismo&lt;/a&gt;, sólo que él lo mejoró. Y por supuesto, cambié el post de forma acorde :)&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="linux"/><category term="softwarelibre"/><category term="bash"/><category term="debconf12"/><category term="debian"/><category term="git"/><category term="planetdebian-es"/></entry><entry><title>Charla sobre el puerto USB y experiencias de programar un driver para un circuito integrado</title><link href="https://perezmeyer.com.ar/blog/2012/07/06/charla-sobre-el-puerto-usb-y/" rel="alternate"/><published>2012-07-06T21:05:00-03:00</published><updated>2012-07-06T21:05:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2012-07-06:/blog/2012/07/06/charla-sobre-el-puerto-usb-y/</id><summary type="html">&lt;p&gt;El miércoles 11 de Julio (el próximo miércoles al momento de escribir ésto) en la sala de conferencias del &lt;a href="http://www.ingelec.uns.edu.ar/"&gt;DIEC&lt;/a&gt;, &lt;a href="http://www.uns.edu.ar/"&gt;Universidad Nacional del Sur&lt;/a&gt;, Bahía Blanca, voy a estar dando dos charlas en una: "El puerto USB: mas que un puerto serie con energía" y "Experiencias de programar un driver …&lt;/p&gt;</summary><content type="html">&lt;p&gt;El miércoles 11 de Julio (el próximo miércoles al momento de escribir ésto) en la sala de conferencias del &lt;a href="http://www.ingelec.uns.edu.ar/"&gt;DIEC&lt;/a&gt;, &lt;a href="http://www.uns.edu.ar/"&gt;Universidad Nacional del Sur&lt;/a&gt;, Bahía Blanca, voy a estar dando dos charlas en una: "El puerto USB: mas que un puerto serie con energía" y "Experiencias de programar un driver para un circuito integrado".  &lt;/p&gt;
&lt;p&gt;&lt;img alt="charla_usb" src="https://perezmeyer.com.ar/images/charla_usb.jpg"&gt;&lt;/p&gt;
&lt;p&gt;En la primera charla voy a presentar las ideas básicas detrás del puerto USB en forma de sistema y con énfasis en los dispositivos. Voy a hablar sobre los pro y los contras del mismo.  &lt;/p&gt;
&lt;p&gt;En la segunda parte, que debería durar no mas de 10', voy a hablar de mi experiencia haciendo un driver para el Texas CC1101.  &lt;/p&gt;
&lt;p&gt;En ambos casos no voy a tocar muchos aspectos de software, sino que voy a conentrarme mas en presentar ideas y contar tips y experiencias con los mismos.  &lt;/p&gt;
&lt;p&gt;¡Los espero!&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="driver"/><category term="comision de investigaciones científicas"/><category term="bahíablanca"/><category term="softwarelibre"/><category term="charla"/><category term="uns"/><category term="usb"/></entry><entry><title>Un tackle por Candela</title><link href="https://perezmeyer.com.ar/blog/2012/06/28/un-tackle-por-candela/" rel="alternate"/><published>2012-06-28T12:05:00-03:00</published><updated>2012-06-28T12:05:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2012-06-28:/blog/2012/06/28/un-tackle-por-candela/</id><summary type="html">&lt;p&gt;Y ustedes se dirán ¿Lisandro haciendo una cadena en su blog? Algo así. Pero ésta vez lo hago con toda la alegría de intentar ayudar a alguien que sé que existe, y no sólo porque la "he visto", sino porque la he tenido en brazos y jugado con ella.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;El …&lt;/strong&gt;&lt;/p&gt;</summary><content type="html">&lt;p&gt;Y ustedes se dirán ¿Lisandro haciendo una cadena en su blog? Algo así. Pero ésta vez lo hago con toda la alegría de intentar ayudar a alguien que sé que existe, y no sólo porque la "he visto", sino porque la he tenido en brazos y jugado con ella.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;El anuncio de la Sociedad Sportiva de Rugby:&lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;El próximo sábado 30/6/2012 va a haber un encuentro de rugby en Carrindanga, Bahía Blanca. Los motivos:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;M12 y M14 juegan el encuentro de infantiles de la URS (junto a 13 clubes de bahía y la zona).&lt;/li&gt;
&lt;li&gt;Las juveniles participan de una fecha del norpatagónico con Neuquén&lt;/li&gt;
&lt;li&gt;La inter juega un amistoso con universitario&lt;/li&gt;
&lt;li&gt;y como si fuera poco la primera de Sociedad Sportiva Rugby se mide con Universitario en la ultima fecha del campeonato&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sin embargo, y porque el rugby es mucho más que el juego, &lt;strong&gt;te vamos a presentar a Candela&lt;/strong&gt;, una amiga de 4 años... mas abajo sus padres Seba y Pata nos cuentan su historia... leela, sentila y acompañanos con tu ayuda durante el encuentro... las seños del jardín de cande traerán café y tortas, el bere sorteará una camiseta y una pelota y algunas amigas del blanco recorrerán las canchas con urnas... sumate... entre todos es posible...  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Y si no vas a Carrindanga&lt;/strong&gt; (por que tu hijo juega en otro club... o porque no podés...) sumate igual.. te damos los datos de la cuenta bancaria; seguramente vas a saber que hacer.  &lt;/p&gt;
&lt;p&gt;BANCO NACIÓN ARGENTINA&lt;br&gt;
CAJA DE AHORRO EN PESOS&lt;br&gt;
Nº: 1308689672&lt;br&gt;
CBU: 0110130630013086896729  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Escriben Seba y Pata, los papis de Candela:&lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;[Candela una noche calurosa de Enero llegó a nuestras vidas muchísimo antes de lo esperado.  Hay algunas causas y explicaciones científicas por las que ocurre un nacimiento prematuro pero ninguna de esas fue la nuestra, Pata no tuvo infección, no tuvo un accidente, no tenía presión alta ni ninguna de las explicaciones que aun hoy reconoce la medicina. Asi que tan sólo así se dió, y como dijimos llegó para quedarse.]{style="color: blue;"}&lt;br&gt;
[&lt;br&gt;
]{style="background-color: white; color: blue;"}&lt;br&gt;
En los tres meses de terapia neonatal, por su inmadurez extrema tuvo muchas complicaciones: ]{style="background-color: white; color: blue;"}[infecciones, cirugías, le colocamos una válvula en la cabecita y quedo con varias secuelas.&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Entre ellas, hipoacusia severa bilateral por la que usa audífonos, la lesión cerebral hoy se denomina ENCEFALOPATIA CRÓNICA NO EVOLUTIVA, por la que usa un andador ortopédico y valvas en sus piernas, ademas al día de hoy se desconoce cuanto daño hizo en su sistema nervioso.&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Una de las 3 noches que de madrugada nos llamaron para que vayamos a estar a su lado porque estaba muy complicada y era dificil que pase la noche, estando muy pocos minutos al lado de su cunita especial, le susurramos que apoyaríamos lo que ella decida. Si por fin quería dejar de luchar y descansar (se veía día a día literalmente que peleaba por su vida) o si quería seguir.Pero le prometimos que si se quedaba con nosotros, íbamos a hacer todo cuanto este a nuestro alcance para ayudarla a ser feliz.&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Lo que nosotros estuvimos haciendo durante estos 4 años y pico es tan solo eso.&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Ella hace 6 estimulaciones semanales, mas la estimulación en casa.&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Los médicos siempre dijeron que ha evolucionado mucho para los pronósticos que tuvo, y que debemos aprovechar el período de mayor plasticidad neuronal (hasta los 5,6 años) para mejorar sus capacidades, pero ningun esfuerzo garantiza un resultado, es hacer, hacer, hacer y esperar.&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Muchísimas noches nos preguntamos:&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
¿podrá caminar algún día?&lt;br&gt;
¿podrá hacer las cosas que hace un niño de su edad, correr, saltar?&lt;br&gt;
¿podrá ir a 1º grado, a 2º, que pasará?&lt;br&gt;
¿podrá hablar y que otros la entiendan?&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Dedicamos mucho tiempo también para hablar con otras familias de casos similares, indagar en medicinas alternativas, leemos, investigamos, cursamos a distancia y seguimos en la búsqueda.&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Nosotros estamos AL PIE, no desde la resignación sino con la CERTEZA de que esto es PLAN DE DIOS. &lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Candela hace unos días se paró.&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Ella y nosotros estamos listos para ir por mas, para redoblar los esfuerzos.&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
A partir de ahora daremos un paso mas grande, hemos decidido hacer dos grandes apuestas.&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Llevaremos a Candela al "Instituto de Rehabilitación y Educación Terapéutica" FLENI de ESCOBAR, el lugar es uno de los mas reconocidos de Latinoamérica para el tratamiento de pacientes con problemas neuronales y motores.&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
El otro paso es llevarla al CIREN (Centro Internacional de Restauración Neurológica) en Cuba.&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Los dos tratamientos son costosos para afrontarlos solos.&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Debemos contar aproximadamente con unos 165 mil pesos argentinos, el calculo no es exacto porque tanto en Fleni como en Ciren, una vez que la evalúen pueden sugerir otros estudios complementarios o cirugías. Además en Cuba es en dólares (que hoy parece mala palabra)&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Si llegaste hasta acá y te estás preguntando: Estos padres ME ESTÁN PIDIENDO PLATA?&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Intentaremos darte una respuesta&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
No tenés idea de cuantas veces nos preguntamos si estaba bien que te llegue un mail así&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Lo charlamos con muchas personas y cada uno nos iba ayudando a tomar la decisión.&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Recibir este mail no te compromete en nada, no te obliga a nada, solo te informa, solo te pide y tenes la libertad absoluta de ni siquiera responderlo.&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Pero si tan sólo una fibra tuya quiere hacer algo, si la causa te parece justa y honesta y tenes la plata para ayudar, la respuesta a tu pregunta es SI.&lt;br&gt;
[&lt;br&gt;
]{style="color: blue;"}&lt;br&gt;
Si no dispones de ella pero tenes una idea, un amigo, un conocido, para sumar es bienvenido.&lt;br&gt;
GRACIAS por la paciencia de leer un mail tan largo, si te sirve, nosotros lo leímos 84 veces antes de enviarlo.&lt;br&gt;
[&lt;br&gt;
]{style="background-color: white; color: blue;"}&lt;br&gt;
Pata y Seba  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nota:&lt;/strong&gt; no estoy afiliado de ninguna manera a ningún club de rugby, pero (insisto), tengo el gusto y honor de conocerla a Cande :)  &lt;/p&gt;</content><category term="misc"/><category term="argentina"/><category term="español"/><category term="bahíablanca"/><category term="rugby"/><category term="Candela"/></entry><entry><title>Docsis 0.9.6+git16 disponible en Debian unstable (bueno, en unas horas)</title><link href="https://perezmeyer.com.ar/blog/2012/04/17/docsis-096git16-disponible-en-debian/" rel="alternate"/><published>2012-04-17T16:10:00-03:00</published><updated>2012-04-17T16:10:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2012-04-17:/blog/2012/04/17/docsis-096git16-disponible-en-debian/</id><summary type="html">&lt;p&gt;&lt;a href="http://docsis.sourceforge.net/"&gt;Docsis&lt;/a&gt; 0.9.6+git16 acaba de ser &lt;a href="http://lists.debian.org/debian-devel-changes/2012/04/msg01803.html"&gt;aceptado en Debian unstable&lt;/a&gt;. Pero ¿que es Docsis? Es un programa homónimo a la &lt;a href="http://es.wikipedia.org/wiki/DOCSIS"&gt;especificación usada por los modems&lt;/a&gt; de redes HFC (&lt;a href="http://es.wikipedia.org/wiki/Hybrid_Fibre_Coaxial"&gt;Hybrid Fibre Coaxial&lt;/a&gt;), o "los modems del cable de TV", como mas o menos los conocemos acá en Argentina. Sirve …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;a href="http://docsis.sourceforge.net/"&gt;Docsis&lt;/a&gt; 0.9.6+git16 acaba de ser &lt;a href="http://lists.debian.org/debian-devel-changes/2012/04/msg01803.html"&gt;aceptado en Debian unstable&lt;/a&gt;. Pero ¿que es Docsis? Es un programa homónimo a la &lt;a href="http://es.wikipedia.org/wiki/DOCSIS"&gt;especificación usada por los modems&lt;/a&gt; de redes HFC (&lt;a href="http://es.wikipedia.org/wiki/Hybrid_Fibre_Coaxial"&gt;Hybrid Fibre Coaxial&lt;/a&gt;), o "los modems del cable de TV", como mas o menos los conocemos acá en Argentina. Sirve para generar configuración binaria para los mismos.  &lt;/p&gt;
&lt;p&gt;Como siempre, espero que les sea de provecho :-)&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="linux"/><category term="softwarelibre"/><category term="debian"/><category term="planetdebian-es"/><category term="docsis"/></entry><entry><title>KDE 4.7.4 en Debian testing</title><link href="https://perezmeyer.com.ar/blog/2012/03/22/kde-474-en-debian-testing/" rel="alternate"/><published>2012-03-22T19:55:00-03:00</published><updated>2012-03-22T19:55:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2012-03-22:/blog/2012/03/22/kde-474-en-debian-testing/</id><summary type="html">&lt;p&gt;Desde hace unos pocos dias KDE 4.7.4 se encuentra disponible en testing. La actualización es mas que recomendada. Como siempre, muchas gracias al &lt;a href="http://pkg-kde.alioth.debian.org/"&gt;equipo Qt-KDE en Debian&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Por otro lado hace poco se pidió que &lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=663511"&gt;se remueva kaboom de Wheezy&lt;/a&gt;. Kaboom fué la primera herramienta desarrollada colaborativamente entre …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Desde hace unos pocos dias KDE 4.7.4 se encuentra disponible en testing. La actualización es mas que recomendada. Como siempre, muchas gracias al &lt;a href="http://pkg-kde.alioth.debian.org/"&gt;equipo Qt-KDE en Debian&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Por otro lado hace poco se pidió que &lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=663511"&gt;se remueva kaboom de Wheezy&lt;/a&gt;. Kaboom fué la primera herramienta desarrollada colaborativamente entre los miembros del citado equipo. Su misión: migrar las configuraciones de KDE 3 (o las configuraciones experimentales de KDE 4 que proporcionaba el equipo) a KDE 4. Con Squeezy se completó la migración, y por ende la herramienta ya queda obsoleta en Wheezy.&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="gracias"/><category term="linux"/><category term="pkg-kde"/><category term="softwarelibre"/><category term="debian"/><category term="planetdebian-es"/><category term="kde"/></entry><entry><title>QtSerialPort: a new hope</title><link href="https://perezmeyer.com.ar/blog/2012/03/13/qtserialport-new-hope/" rel="alternate"/><published>2012-03-13T21:47:00-03:00</published><updated>2012-03-13T21:47:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2012-03-13:/blog/2012/03/13/qtserialport-new-hope/</id><summary type="html">&lt;p&gt;Some time ago I wrote about the &lt;a href="http://perezmeyer.blogspot.com/2012/02/license-mess-with-serial-port-qt-based.html"&gt;status of Qt-based libs for using the serial port&lt;/a&gt;. Some days later I was pointed to the &lt;a href="http://qt-project.org/wiki/QtSerialPort"&gt;QtSerialPort project&lt;/a&gt;. The good news on this is that this is a project aimed to enter into Qt 5.  &lt;/p&gt;
&lt;p&gt;I have tested the lib with some …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Some time ago I wrote about the &lt;a href="http://perezmeyer.blogspot.com/2012/02/license-mess-with-serial-port-qt-based.html"&gt;status of Qt-based libs for using the serial port&lt;/a&gt;. Some days later I was pointed to the &lt;a href="http://qt-project.org/wiki/QtSerialPort"&gt;QtSerialPort project&lt;/a&gt;. The good news on this is that this is a project aimed to enter into Qt 5.  &lt;/p&gt;
&lt;p&gt;I have tested the lib with some apps that originally used &lt;a href="http://code.google.com/p/qextserialport/"&gt;QExtSerialPort&lt;/a&gt;. So far, so good. The license terms seems pretty OK (it wouldn't have got that far in the Qt code review if it weren't).  &lt;/p&gt;
&lt;p&gt;In the meantime, I received a reply to one of my messages from an upstream dev of &lt;a href="http://gitorious.org/inbiza-labs/qserialport"&gt;QSerialPort&lt;/a&gt; (note that is Q and not Qt). He was very kind, but considering the effort to get QtSerialPort inside Qt itself, I think it's better to try to develop with this last lib.  &lt;/p&gt;
&lt;p&gt;Maybe I should try to package it and upload it to experimental.&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="qt"/><category term="serialport"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>Entretenimiento en vuelo: volando con Emirates</title><link href="https://perezmeyer.com.ar/blog/2012/03/07/entretenimineto-en-vuelo-volando-con/" rel="alternate"/><published>2012-03-07T18:35:00-03:00</published><updated>2012-03-07T18:35:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2012-03-07:/blog/2012/03/07/entretenimineto-en-vuelo-volando-con/</id><summary type="html">&lt;p&gt;Algún tiempo atrás ví un &lt;a href="http://www.youtube.com/watch?v=SfyptGmX93U"&gt;video&lt;/a&gt; sobre el uso de Qt en plataformas de inflight entertainment (entretenimiento en vuelo) de Panasonic:  &lt;/p&gt;
&lt;iframe allowfullscreen frameborder="0" height="315" src="https://www.youtube-nocookie.com/embed/SfyptGmX93U" width="560"&gt;`{=html}&lt;/iframe&gt;
&lt;p&gt;`{=html}  &lt;/p&gt;
&lt;p&gt;Pensé que iba a pasar bastante hasta que viera un sistema así en vivo y en directo... arriba de un avión (lo digo porque lamentablemente no he …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Algún tiempo atrás ví un &lt;a href="http://www.youtube.com/watch?v=SfyptGmX93U"&gt;video&lt;/a&gt; sobre el uso de Qt en plataformas de inflight entertainment (entretenimiento en vuelo) de Panasonic:  &lt;/p&gt;
&lt;iframe allowfullscreen frameborder="0" height="315" src="https://www.youtube-nocookie.com/embed/SfyptGmX93U" width="560"&gt;`{=html}&lt;/iframe&gt;
&lt;p&gt;`{=html}  &lt;/p&gt;
&lt;p&gt;Pensé que iba a pasar bastante hasta que viera un sistema así en vivo y en directo... arriba de un avión (lo digo porque lamentablemente no he estado pudiendo viajar mucho que digamos). La sorpresa me la dí al viajar en un vuelo de &lt;a href="http://www.emirates.com/ar/spanish/index.aspx"&gt;Emirates&lt;/a&gt;. ¡Y aún viajando en clase económica!  &lt;/p&gt;
&lt;p&gt;El sistema se llama &lt;a href="http://www.emirates.com/english/flying/inflight_entertainment/inflight_entertainment.aspx"&gt;ICE: Information, Communication and Entertainment&lt;/a&gt;. La verdad, desconozco si es el mismo sistema que produce Panasonic con Qt (&lt;a href="http://www.coroflot.com/samuelhoang/2008-panasonic-emirates-ice-remote/1"&gt;puede que si&lt;/a&gt;), pero si me pareció muy bueno.  &lt;/p&gt;
&lt;p&gt;Algunas cosas que me llamaron la atención:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El sistema está disponible en clase económica.&lt;/li&gt;
&lt;li&gt;Por el cursor, diría que corre bajo Linux (además, si fuese un sistema operativo propietario, es muy probable que le haya visto un logo en algún lado).&lt;/li&gt;
&lt;li&gt;La pantalla es táctil, aunque parece resistiva por como reacciona. Creo que, en ese caso, los botones que se dibujan en pantalla deberían ser un poco mas grandes.&lt;/li&gt;
&lt;li&gt;El "control remoto/joystick/horquilla de teléfono" es muy piola. Se nota que fué construído con la premisa de robustez antes que comfort al usarlo, pero es mas que entendible por la función que cumple.&lt;/li&gt;
&lt;li&gt;Si bien es particular a Emirates, la selección de música me pareció excelente :-) No estuve viendo las películas en mi sistema, pero si en la de otros. Había estrenos y todo. ¡Y gratis! (bueno, uno paga el pasaje ;-) ).&lt;/li&gt;
&lt;li&gt;Mi pantalla estaba pidiendo que la recalibren un poco, la parte superior era complicada para acceder con el sistema táctil.&lt;/li&gt;
&lt;li&gt;El "mini joystick" para mover el cursor (similar al botoncito de las notebooks para el mismo fin) resultó muy práctico.&lt;/li&gt;
&lt;li&gt;El sistema generaba mucho calor. Bastaba con girarlo un poco y poner la mano atrás para sentirlo.&lt;/li&gt;
&lt;li&gt;Las vistas de las cámaras inferior y delantera del avión son &lt;strong&gt;geniales&lt;/strong&gt;. Y si, están encendidas todo el tiempo, por lo que podemos ver como despegamos.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;

En fin, golazo para Emirates, me dejaron con una muy buena impresión mas allá del servicio, que realmente fué muy bueno también.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Por las dudas: no, no trabajo en Emirates ni Panasonic ni Qt, ni estoy relacionado con ninguno de ellos.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Y digo yo, si el sistema fuese Software Libre ¿que podría mejorar?

&lt;/div&gt;</content><category term="misc"/><category term="español"/><category term="geek"/><category term="hardware"/><category term="linux"/><category term="qt"/><category term="emirates ice"/><category term="review"/><category term="emirates"/><category term="general"/></entry><entry><title>The license mess with serial port Qt-based libs</title><link href="https://perezmeyer.com.ar/blog/2012/02/03/license-mess-with-serial-port-qt-based/" rel="alternate"/><published>2012-02-03T19:14:00-03:00</published><updated>2012-02-03T19:14:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2012-02-03:/blog/2012/02/03/license-mess-with-serial-port-qt-based/</id><summary type="html">&lt;p&gt;I am currently working on a &lt;a href="http://qt-project.org/"&gt;Qt&lt;/a&gt;-based app that needs to communicate through the serial port. Apart from all the benefits that a normal lib with a serial port implementation will bring in this case, having a Qt-based serial port lib would make even more sense, as it should …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I am currently working on a &lt;a href="http://qt-project.org/"&gt;Qt&lt;/a&gt;-based app that needs to communicate through the serial port. Apart from all the benefits that a normal lib with a serial port implementation will bring in this case, having a Qt-based serial port lib would make even more sense, as it should be as multiplatform as possible and use the signal/slot mechanism. Also it should have a &lt;a href="http://www.debian.org/social_contract"&gt;DFSG&lt;/a&gt;-compatible license, so I can package it for &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt;, of course :-)  &lt;/p&gt;
&lt;p&gt;So I have found two libs which seemed to have the above mentioned features: &lt;a href="http://code.google.com/p/qextserialport/"&gt;QExtSerialPort&lt;/a&gt; and &lt;a href="http://gitorious.org/inbiza-labs/qserialport"&gt;QSerialPort&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;QExtSerialPort&lt;/strong&gt; seems to be the most recommended lib in the web. It features polled and signal-based functionality; it uses Qt's standard types inheriting QIODevice. But it does not states the license in any file within the source code. The &lt;a href="https://sourceforge.net/projects/qextserialport/"&gt;original project page at SourceForge says it's in public domain&lt;/a&gt;. And the newer &lt;a href="http://code.google.com/p/qextserialport/"&gt;project page at Google code says it's under the new BSD license&lt;/a&gt;. I have &lt;a href="http://groups.google.com/group/qextserialport/browse_thread/thread/e8756920b01da82"&gt;asked in the mailing list for a clarification&lt;/a&gt;. So far nothing has changed (although in further threads the authors showed some willing to change this). And then I got to the point of finding a bug, but I don't want to spend time to track it down and make a patch without a clear license.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;QSerialPort&lt;/strong&gt; it's another lib with more or less the same features as QExtSerialPort. It's main LICENSE file says it's under the LGPL2, but licensecheck will say that the present files are LGPL3. Also, on reviewing the code, I found some minor stuff that could be improved. Well, I could contact the author and see if [s]he would receive the patches... but his site seems down. And I could not find a real-person's name in the code so far :-/  &lt;/p&gt;
&lt;p&gt;So I made &lt;a href="http://groups.google.com/group/qextserialport/browse_thread/thread/fbcddbfb4a0b5a51#msg_f9d898f438aed9c5"&gt;a last attempt&lt;/a&gt; to try to get QExtSerialPort in a suitable license. If it doesn't suceed, I think I'll have to start writing one myself. The downside: I only use Linux, so there will be no multiplatform features unless someone else contributes it. Of course, if you have another option or any idea to share, I'll be happy to know it :-)  &lt;/p&gt;
&lt;p&gt;By the way, this should be my first post on Planet Debian in english, so hello planet!&lt;/p&gt;</content><category term="misc"/><category term="planetdebian-en"/><category term="english"/><category term="qt"/><category term="serialport"/><category term="softwarelibre"/><category term="debian"/></entry><entry><title>¿Que pasa si instalo todos los discos de Debian?</title><link href="https://perezmeyer.com.ar/blog/2012/01/18/que-pasa-si-instalo-todos-los-discos-de/" rel="alternate"/><published>2012-01-18T23:32:00-03:00</published><updated>2012-01-18T23:32:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2012-01-18:/blog/2012/01/18/que-pasa-si-instalo-todos-los-discos-de/</id><summary type="html">&lt;p&gt;Hay algunos que quizás abran las ojos "como dos de oro" por ésta pregunta, pero no es la primera vez que la leo ni que me la hacen, así que vá la respuesta:  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Si instalás todos los DVDs/CDs de Debian, vas a tener mucho espacio en disco rígido ocupado …&lt;/strong&gt;&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hay algunos que quizás abran las ojos "como dos de oro" por ésta pregunta, pero no es la primera vez que la leo ni que me la hacen, así que vá la respuesta:  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Si instalás todos los DVDs/CDs de Debian, vas a tener mucho espacio en disco rígido ocupado. Muy posiblemente, de gusto.&lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;Tener todos los discos a mano sirve si no tenés una buena conexión a internet. Con eso sabés que la gran mayoría de las cosas las tenés disponibles en cualquier momento. Pero no instales todo, solo lo que vos necesites, aunque solo sea del primer medio. Dejá que apt se haga cargo del resto :-)  &lt;/p&gt;
&lt;p&gt;Si tenés un contraejemplo... sabés lo que estás haciendo y no necesitás que te lo explique =)&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="softwarelibre"/><category term="debian"/><category term="planetdebian-es"/></entry><entry><title>Seguimos moviendo partículas, ésta vez con OpenCL</title><link href="https://perezmeyer.com.ar/blog/2011/11/21/seguimos-moviendo-particulas-esta-vez/" rel="alternate"/><published>2011-11-21T16:23:00-03:00</published><updated>2011-11-21T16:23:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-11-21:/blog/2011/11/21/seguimos-moviendo-particulas-esta-vez/</id><summary type="html">&lt;p&gt;Y ahora le toca el turno al &lt;a href="https://sites.google.com/site/hpcatuns/practica"&gt;segundo trabajo práctico&lt;/a&gt; de &lt;a href="https://sites.google.com/site/hpcatuns/"&gt;HPC\@UNS&lt;/a&gt;. Ésta vez vamos a seguir moviendo partículas, pero con mayor grado de paralelización, ya que vamos a usar &lt;a href="http://en.wikipedia.org/wiki/OpenCL"&gt;OpenCL&lt;/a&gt; sobre una placa nVidia GeForce 8800 GTS 512 (rev a2) y &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt;.  &lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img alt="tiempo_de_calculo" src="https://perezmeyer.com.ar/images/tiempo_de_calculo.png"&gt;
                                    Cada punto del gráfico es el …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Y ahora le toca el turno al &lt;a href="https://sites.google.com/site/hpcatuns/practica"&gt;segundo trabajo práctico&lt;/a&gt; de &lt;a href="https://sites.google.com/site/hpcatuns/"&gt;HPC\@UNS&lt;/a&gt;. Ésta vez vamos a seguir moviendo partículas, pero con mayor grado de paralelización, ya que vamos a usar &lt;a href="http://en.wikipedia.org/wiki/OpenCL"&gt;OpenCL&lt;/a&gt; sobre una placa nVidia GeForce 8800 GTS 512 (rev a2) y &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt;.  &lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img alt="tiempo_de_calculo" src="https://perezmeyer.com.ar/images/tiempo_de_calculo.png"&gt;
                                    Cada punto del gráfico es el promedio de 5 corridas del mismo algoritmo con los mismos parámetros.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Por si solo no nos dice mas que el algoritmo tiene una dependencia O(n²) con el número de partículas. Ésto es natural ya que se trata del &lt;a href="http://dumbledore.com.ar/gitweb/?p=hpc/particulas.git;a=summary"&gt;mismo código serial&lt;/a&gt; que en el &lt;a href="http://perezmeyer.blogspot.com/2011/10/moviendo-particulas-y-binarizando.html"&gt;práctico anterior&lt;/a&gt;, ésta vez &lt;a href="http://dumbledore.com.ar/gitweb/?p=hpc/particulas-opencl.git;a=summary"&gt;convertido a OpenCL&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nota:&lt;/strong&gt; el código original está bajo la licencia BSD modificada (¡Gracias &lt;a href="http://www.cs.berkeley.edu/~volkov/"&gt;Vasily Volkov&lt;/a&gt;!). El código modificado mantiene la licencia.  &lt;/p&gt;
&lt;p&gt;Como en el caso del práctico anterior, se pueden tomar otras estrategias para reducir el orden de complejidad del código... pero no es lo que nos intereza ahora. La idea es comparar estos resultados con los ya obtenidos. Pero antes...  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nota importante:&lt;/strong&gt; el código de OpenCL utiliza floats en vez de doubles para los cálculos. Ésto es debido a que la placa gráfica no soporta éste último tipo. Ésto llevó a la necesidad de aumentar la masa de la partícula, ya que el valor original producía errores numéricos que producían que las partículas se aceleraran.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="opencl_serial" src="https://perezmeyer.com.ar/images/opencl_serial.png"&gt;&lt;/p&gt;
&lt;p&gt;Lo primero que podemos observar es que el tiempo de cálculo requerido para un número de partículas menor a \~[64 128] (según la implementación y el host) es menor para el caso serial que para el caso con OpenCL. Ésto era de esperarse, ya que se consume un tiempo importante en pasar datos hacia y desde la placa de video al host. Es decir, vale la pena implementar éstas soluciones si el número de datos a procesar es grande.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="opencl_openmp" src="https://perezmeyer.com.ar/images/opencl_openmp.png"&gt;&lt;/p&gt;
&lt;p&gt;Es interesante notar como OpenMP sobre Luna (AMD Athlon (tm) 64 X2 Dual core processor 5000+) presenta mejor tiempo de cálculo que OpenCL para menos de 1024 partículas. A su vez, la implementación de OpenMP en cardumen (UltraSparc T2 (Niagara2)) es mas lenta. A medida que el volumen de datos aumenta, OpenCL comienza a ser mas eficiente.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="opencl_pthreads" src="https://perezmeyer.com.ar/images/opencl_pthreads.png"&gt;&lt;/p&gt;
&lt;p&gt;Las comparaciones para PThreads son bastante similares a las anteriores. Tarea para el lector :-)  &lt;/p&gt;
&lt;h2&gt;Notas y conclusiones&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;OpenCL tiene muy buen desempeño para volumenes de datos grandes, aunque vale la salvedad de que se utilizaron floats en vez de doubles. Quizás si algún dia pongo mis manos en una placa con soporte para doubles pruebe a ver que pasa.&lt;/li&gt;
&lt;li&gt;OpenCL es un estándar, pero sólo provee los headers (API). Las implementaciones dependen de cada fabricantes, y no son software libre, al menos por ahora. Ésto atenta contra la portabilidad del código.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://labs.qt.nokia.com/2010/04/07/using-opencl-with-qt/"&gt;QtOpenCL&lt;/a&gt; está genial :-)&lt;/li&gt;
&lt;/ul&gt;</content><category term="misc"/><category term="español"/><category term="hpcatuns"/><category term="paralelización"/><category term="programación"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/><category term="uns"/><category term="opencl"/></entry><entry><title>Moviendo partículas y binarizando imágenes</title><link href="https://perezmeyer.com.ar/blog/2011/10/18/moviendo-particulas-y-binarizando/" rel="alternate"/><published>2011-10-18T17:25:00-03:00</published><updated>2011-10-18T17:25:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-10-18:/blog/2011/10/18/moviendo-particulas-y-binarizando/</id><summary type="html">&lt;p&gt;Como parte de la entrega del &lt;a href="https://sites.google.com/site/hpcatuns/practica"&gt;trabajo práctico Nº 1&lt;/a&gt; de la materia &lt;a href="https://sites.google.com/site/hpcatuns/"&gt;HPC\@UNS&lt;/a&gt; era requerido hacer una página web con los resultados. Me pareció mas práctico usar mi blog... y acá estamos.  &lt;/p&gt;
&lt;h2&gt;Partículas en movimiento&lt;/h2&gt;
&lt;p&gt;La primera parte del TP era ir a un sitio de &lt;a href="http://www.cs.berkeley.edu/~volkov/cs267.sp09/hw2/"&gt;Berkeley&lt;/a&gt; y …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Como parte de la entrega del &lt;a href="https://sites.google.com/site/hpcatuns/practica"&gt;trabajo práctico Nº 1&lt;/a&gt; de la materia &lt;a href="https://sites.google.com/site/hpcatuns/"&gt;HPC\@UNS&lt;/a&gt; era requerido hacer una página web con los resultados. Me pareció mas práctico usar mi blog... y acá estamos.  &lt;/p&gt;
&lt;h2&gt;Partículas en movimiento&lt;/h2&gt;
&lt;p&gt;La primera parte del TP era ir a un sitio de &lt;a href="http://www.cs.berkeley.edu/~volkov/cs267.sp09/hw2/"&gt;Berkeley&lt;/a&gt; y bajar el código para simular la interacción entre partículas usando un algoritmo totalmente serial, otro utilizando &lt;a href="http://en.wikipedia.org/wiki/POSIX_Threads"&gt;PThreads&lt;/a&gt; y otro &lt;a href="http://en.wikipedia.org/wiki/OpenMP"&gt;OpenMP&lt;/a&gt;. Lo primero que hice fué hacer unas corridas y ver los resultados que obtenía.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nota:&lt;/strong&gt; cada punto del gráfico es el promedio de 5 corridas del mismo algoritmo con los mismos parámetros. -Esto es válido para todos los gráficos de éste blog post, pero en los datos usados para generar los primeros solo se encuentran los valores ya promediadios.  &lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img alt="respuesta_al_numero_de_particulas_original_cardumen" src="https://perezmeyer.com.ar/images/respuesta_al_numero_de_particulas_original_cardumen.png"&gt;
                                                                       Respuesta en tiempo al número de partículas de cada implementación  en un servidor Sparc T2 (Niágara2) de 8 cores con 8 hilos livianos cad uno.&lt;/p&gt;
&lt;hr&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img alt="respuesta_al_numero_de_particulas_original_luna" src="https://perezmeyer.com.ar/images/respuesta_al_numero_de_particulas_original_luna.png"&gt;
                                                                           Respuesta en tiempo al número de partículas de cada implementación  en una máquina AMD Athlon 64 X2 Dual Core processor 5000+.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Notemos que el número de threads de OpenMP no está definido, sino que se toma el de la instalación por defecto (Debian Wheezy en ambas máquinas).  &lt;/p&gt;
&lt;p&gt;Enseguida podemos notar varias cosas:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Los algoritmos son O(n²). Nada raro si uno mira el código fuente, los ciclos for anidados saltan a la vista.&lt;/li&gt;
&lt;li&gt;Paralelizar el algoritmo vale la pena a partir de una cierta cantidad de datos. Se podría pensar en ~256 como un buen número de threshold, aunque seguramente es dependiente del hardware y del problema/implementación del algoritmo.&lt;/li&gt;
&lt;li&gt;Crear hilos tiene un costo mínimo asociado. En el caso del Sparc, el costo es mayor, aunque es notable como mejora el rendimiento con OpenMP.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Intentemos mejorar éste desempeño&lt;/h2&gt;
&lt;p&gt;Mirando el código fuente vemos que la interacción entre partículas se calcula todas entre todas. Lo interesante es que el resultado de la interacción de una partícula p con una partícula q es la misma pero de signo contrario a la interacción de la partícula q con la partícula p. Entonces podemos hacer los cálculos una sola vez entre dos partículas cualquiera.&lt;/p&gt;
&lt;p&gt;Por otro lado, la interacción entre partículas es basada en la distancia entre ellas. Si la distancia es cero, no hay interacción. Entonces una partícula no interactúa con si misma.&lt;/p&gt;
&lt;p&gt;Desde el punto de vista del hardware y el paralelismo, podemos utilizar la máxima cantidad e hilos posibles para cada caso.  Definitivamente ésto va a traer acarreado mayor tiempo de ejecución en los casos de pocas partículas, pero debería ser mejor a medida que el número de partículas aumenta.&lt;/p&gt;
&lt;p&gt;~~&lt;strong&gt;Nota:&lt;/strong&gt; debido a que el código fuente original no estipula una licencia y por ende se debe interpretar como "todos los derechos reservados", no hago públicas las modificaciones del código.~~&lt;br&gt;
&lt;strong&gt;Actualización 18/11/2011:&lt;/strong&gt; le escribí a &lt;a href="http://www.cs.berkeley.edu/~volkov/"&gt;Vasily Volkov&lt;/a&gt;, responsable del sitio y código de Berkeley arriba linkeado, y tuvo la gentileza de reponderme diciéndome que la licencia en BSD modificada. En el &lt;a href="http://dumbledore.com.ar/gitweb/?p=hpc/particulas.git;a=summary"&gt;repositorio del código&lt;/a&gt; incluyo el mail (en formato &lt;a href="http://en.wikipedia.org/wiki/Mbox"&gt;mbox&lt;/a&gt;) y la licencia propiamente dicha. ¡Gracias Vasily!  &lt;/p&gt;
&lt;p&gt;Veamos entonces los resultados, empezando por el caso serial.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img alt="comparacion_algoritmos_serial" src="https://perezmeyer.com.ar/images/comparacion_algoritmos_serial.png"&gt;
                                                                        Comparación del algoritmo original (1.0.1) con el algoritmo modificado 1.1.6 para el caso serial.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;En éste caso vemos que tanto para Cardumen (Sparc) como para Luna (AMD Athlon) los cambios generaron una reducción del tiempo de ejecución. A su vez, podemos comparar el desempeño de ambos procesadores.  &lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img alt="comparacion_algoritmos_openmp" src="https://perezmeyer.com.ar/images/comparacion_algoritmos_openmp.png"&gt;
                                                                      Comparación del algoritmo original (1.0.1) con el algoritmo modificado 1.1.6 para el caso con OpenMP.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;En el caso de OpenMP resalta claramente como influye utilizar una excesiva cantidad de hilos en Cardumen para muy pocos datos. Notar que lso tiempos tienden a ser levemente menores para mas de \~4000 partículas.  &lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img alt="comparacion_algoritmos_pthreads" src="https://perezmeyer.com.ar/images/comparacion_algoritmos_pthreads.png"&gt;
                                                                       Comparación del algoritmo original (1.0.1) con el algoritmo modificado 1.1.6 para el caso con PThreads.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Aquí también se puede observar el costo que tiene utilizar muchos threads con pocos datos. En éste caso se hace notoria la mejora de rendimiento entre las dos versiones de PThreads en Cardumen.  &lt;/p&gt;
&lt;p&gt;No puede faltar un gráfico con todos los resultados:  &lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img alt="comparacion_algoritmos_todos" src="https://perezmeyer.com.ar/images/comparacion_algoritmos_todos.png"&gt;
                                                                                                         Todos los resultados juntos.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;¿Podemos mejorar aún mas el algoritmo?&lt;/h2&gt;
&lt;p&gt;Si, y (teóricamente) mucho. El "truco" está en reducir la complejidad del algoritmo lo mas posible. Para eso hay que detectar el cuello de botella, que no es otro que el cálculo de las fuerzas entre cada partícula. Dijimos que la interacción entre las mismas es una relación de la distancia. Pero lo que no nombramos es que, luego de una cierta distancia &lt;em&gt;r&lt;/em&gt;, ya no interactúan entre ellas. Debemos entonces encontrar una forma de que cada partícula solo calcule la fuerza que podrían llegar a ofrecerles posibles partículas aledañas.  &lt;/p&gt;
&lt;p&gt;Una posible solución sería dividir el espacio bidimensional en una matriz donde cada casillero sea de tamaño &lt;em&gt;r&lt;/em&gt;x&lt;em&gt;r&lt;/em&gt;. Cada vez que se mueve una partícula se la ubica en el casillero correspondiente a su zona final. Luego basta considerar sólo las fuerzas que aplican las partículas en el mismo casillero y en los casilleros aledaños. Si bien suena sencillo, se hace necesario sincronizar el acceso a cada partícula entre los hilos y sus propiedades.  &lt;/p&gt;
&lt;p&gt;Yo no llegué a implementarlo, pero &lt;a href="https://github.com/Morningcoffee/ID1217--Parallelize-Particle-Simulation"&gt;MorningCoffee si lo ha hecho&lt;/a&gt;. Lamentablemente tampoco lo llegué a probar :-(&lt;/p&gt;
&lt;h2&gt;Haciendo trabajar a Cardumen&lt;/h2&gt;
&lt;p&gt;Ahora la idea no es analizar el algoritmo sino como responde el servidor con ése algoritmo ante distintas cargas y números de threads.&lt;/p&gt;
&lt;p&gt;&lt;img alt="tiempo_vs_numero_particulas_openmp" src="https://perezmeyer.com.ar/images/tiempo_vs_numero_particulas_openmp.png"&gt;&lt;/p&gt;
&lt;p&gt;En el caso de OpenMP podemos ver como se va incrementando el costo fijo de generar una cantidad determinada de threads.  Podemos ver que, para muy pocas partículas (hasta \~20), tener un &lt;strong&gt;solo hilo&lt;/strong&gt; de OpenMP (que debería ser el mismo caso que el algoritmo totalmente serial) tiene un overhead.&lt;/p&gt;
&lt;p&gt;También se puede observar que dada una cierta cantidad de partículas realmente vale la pena usar paralelización.&lt;/p&gt;
&lt;p&gt;&lt;img alt="tiempo_vs_numero_particulas_pthreads" src="https://perezmeyer.com.ar/images/tiempo_vs_numero_particulas_pthreads.png"&gt;&lt;/p&gt;
&lt;p&gt;El mismo análisis se puede hacer para PThreads.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="tiempo_vs_numero_particulas_todos" src="https://perezmeyer.com.ar/images/tiempo_vs_numero_particulas_todos.png"&gt;&lt;/p&gt;
&lt;p&gt;Y, por supuesto, podemos ver todos los resultados juntos. Las referencias corresponden a la simulación serial, luego las de OpenMP terminando con las de PThreads.  &lt;/p&gt;
&lt;p&gt;Veamos ahora el speedup de cada caso:&lt;/p&gt;
&lt;p&gt;&lt;img alt="speedup_particulas_openmp" src="https://perezmeyer.com.ar/images/speedup_particulas_openmp.png"&gt;&lt;/p&gt;
&lt;p&gt;Puede verse que la performance de PThreads es similar.&lt;/p&gt;
&lt;p&gt;&lt;img alt="speedup_particulas_pthreads" src="https://perezmeyer.com.ar/images/speedup_particulas_pthreads.png"&gt;&lt;/p&gt;
&lt;p&gt;Resulta posible observar que en ambos casos el speedup se aproxima al teórico para cada número de threads.&lt;/p&gt;
&lt;p&gt;¿Y que pasaría si tuviésemos una cantidad &lt;strong&gt;fija&lt;/strong&gt; de threads para utilizar?&lt;/p&gt;
&lt;p&gt;&lt;img alt="tiempo_calculo_numero_threads" src="https://perezmeyer.com.ar/images/tiempo_calculo_numero_threads.png"&gt;&lt;/p&gt;
&lt;h2&gt;¿Tenés los resultados a mano?&lt;/h2&gt;
&lt;p&gt;Si, pueden obtenerlos &lt;a href="http://dumbledore.com.ar/gitweb/?p=hpc/resultados_particulas.git;a=summary"&gt;acá&lt;/a&gt;.  &lt;/p&gt;
&lt;h2&gt;Binarizando imágenes&lt;/h2&gt;
&lt;p&gt;La idea de la segunda parte del TP es binarizar dos juegos de 100 imágenes de 360 y 1080 pixeles cada uno. Primero resolver el problema de forma serial y luego paralelizarlo. Visto gráficamente, la idea es pasar de una imagen como:&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img alt="big_buck_bunny_00399" src="https://perezmeyer.com.ar/images/big_buck_bunny_00399.png"&gt;
                                                                               (c) copyright 2008, Blender Foundation / www.bigbuckbunny.org. Bajo licencia CC-BY 3.0.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;A una imagen con solo dos tonos:&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img alt="big_buck_bunny_00399_bin" src="https://perezmeyer.com.ar/images/big_buck_bunny_00399_bin.png"&gt;
                                                                     (c) copyright 2008, Blender Foundation / www.bigbuckbunny.org. Bajo licencia CC-BY 3.0. Modificado por mi código :-)&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Para lograr ésto usé &lt;a href="http://en.wikipedia.org/wiki/Qt_(framework)"&gt;Qt&lt;/a&gt;. no lo hice la manera mas eficiente, ya que utilicé QImage::pixel() y QImage::setPixel(). Podría haber utilizado los métodos de QImage para acceder a los pixeles como vecotres de datos. Pero bueno, para el propósito de éste TP, alcanza. Aproveché el envión que llevo de aprender &lt;a href="http://en.wikipedia.org/wiki/CMake"&gt;CMake&lt;/a&gt; y lo usé para compilar. Se los recomiendo. El código fuente lo pueden encontrar &lt;a href="http://dumbledore.com.ar/gitweb/?p=hpc/binarizacion.git;a=summary"&gt;acá&lt;/a&gt;.  &lt;/p&gt;
&lt;h3&gt;La estrategia&lt;/h3&gt;
&lt;p&gt;Tan sencilla como hacer que cada hilo se ocupe de procesar una imagen. No hay interdependencia entre ellas, por lo que no es necesario sincronizar los threads. Dicho de otra manera, no hay necesidad de procesar las imágenes en ningún orden en particular.&lt;/p&gt;
&lt;h3&gt;Los gráficos obtenidos&lt;/h3&gt;
&lt;p&gt;Podemos ver el tiempo de ejecución vs. el número de threads:&lt;/p&gt;
&lt;p&gt;&lt;img alt="tiempo_vs_n_threads_360" src="https://perezmeyer.com.ar/images/tiempo_vs_n_threads_360.png"&gt;&lt;/p&gt;
&lt;p&gt;Es interesante ver la meseta que se forma entre los \~8 y \~20 threads.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="tiempo_vs_n_threads_1080" src="https://perezmeyer.com.ar/images/tiempo_vs_n_threads_1080.png"&gt;&lt;/p&gt;
&lt;p&gt;En éste caso, la meseta no aparece.  &lt;/p&gt;
&lt;p&gt;Y también podemos medir el speedup. En amarillo, el speedup teórico ideal.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="speedup_vs_n_threads_360" src="https://perezmeyer.com.ar/images/speedup_vs_n_threads_360.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="speedup_vs_n_threads_1080" src="https://perezmeyer.com.ar/images/speedup_vs_n_threads_1080.png"&gt;&lt;/p&gt;
&lt;p&gt;Realmente me sorpendió lo bajo del speedup :-/  &lt;/p&gt;
&lt;p&gt;Como nota al margen, Cardumen empezó a dar "Bus error" al momento de correr los algoritmos (entre ejecución y ejecución). Es posible que haya un problema de hardware en el mismo.  &lt;/p&gt;
&lt;h2&gt;¿Y los resultados?&lt;/h2&gt;
&lt;p&gt;También están disponibles &lt;a href="http://dumbledore.com.ar/gitweb/?p=hpc/resultados_binarizacion.git;a=summary"&gt;acá&lt;/a&gt;.  &lt;/p&gt;
&lt;h2&gt;Algunas conclusiones&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;OpenMP hace la vida de un programador mucho mas sencilla que PThreads por poca o nada de diferencia en tiempo de ejecución.&lt;/li&gt;
&lt;li&gt;Esperaba que el Sparc tuviese un mejor rendimiento. Mi sospecha es que no se trata de un servidor diseñado para procesar datos de punto flotante (posee una sola FPU por core, es decir, una FPU por cada 8 hilos).&lt;/li&gt;
&lt;li&gt;Estaría bueno poder decirle a OpenMP/Sistema Operativo que ponga un hilo por core. hasta donde sé, pueden crearse 8 hilos pero no hay ninguna garantía de que cada uno corra en un core. Ésto serviría para reducir el tiempo en cálculos con mucho uso de FPU.&lt;/li&gt;
&lt;/ul&gt;</content><category term="misc"/><category term="español"/><category term="hpcatuns"/><category term="paralelización"/><category term="programación"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/><category term="uns"/><category term="cmake"/></entry><entry><title>Desarrollador de Debian</title><link href="https://perezmeyer.com.ar/blog/2011/09/25/desarrollador-de-debian/" rel="alternate"/><published>2011-09-25T11:18:00-03:00</published><updated>2011-09-25T11:18:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-09-25:/blog/2011/09/25/desarrollador-de-debian/</id><summary type="html">&lt;p&gt;Ésta madrugada recibí el mail que confirma la creación de mi cuenta en los servidores de Debian. En otras palabras ¡soy &lt;a href="http://wiki.debian.org/DebianDeveloper#Introduction"&gt;DD&lt;/a&gt;! Tengo una alegría enorme :)  &lt;/p&gt;
&lt;p&gt;Por supuesto, no llegué hasta acá sin el invalorable esfuerzo de otras personas. Mi seguramente incompleta lista de agradecimientos va a (en orden cronológico …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Ésta madrugada recibí el mail que confirma la creación de mi cuenta en los servidores de Debian. En otras palabras ¡soy &lt;a href="http://wiki.debian.org/DebianDeveloper#Introduction"&gt;DD&lt;/a&gt;! Tengo una alegría enorme :)  &lt;/p&gt;
&lt;p&gt;Por supuesto, no llegué hasta acá sin el invalorable esfuerzo de otras personas. Mi seguramente incompleta lista de agradecimientos va a (en orden cronológico) &lt;a href="http://marga.com.ar/blog/"&gt;Marga Manterola&lt;/a&gt; y la muchachada entera del LugFI, &lt;a href="http://ekaia.org/"&gt;Ana Guerrero&lt;/a&gt;,  el &lt;a href="http://pkg-kde.alioth.debian.org/"&gt;equipo Qt-KDE&lt;/a&gt;, &lt;a href="http://www.jhr-online.de/"&gt;Hauke Rahm&lt;/a&gt; que fué mi AM, Telma, mi novia, que me conoció y aceptó como debianita con todo lo que eso implica y a un montón de gente mas que me acompaña desde hace años.  &lt;/p&gt;
&lt;p&gt;A todos ustedes &lt;strong&gt;muchas gracias&lt;/strong&gt;. Espero poder seguir siendo útil en la tarea de lograr el mejor &lt;a href="http://www.debian.org/"&gt;Sistema Operativo Universal&lt;/a&gt;.&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="geek"/><category term="gracias"/><category term="softwarelibre"/><category term="DD"/><category term="debian"/><category term="planetdebian-es"/><category term="lugfi"/></entry><entry><title>A veces a uno le falta teoría...</title><link href="https://perezmeyer.com.ar/blog/2011/08/04/veces-uno-le-falta-teoria/" rel="alternate"/><published>2011-08-04T21:59:00-03:00</published><updated>2011-08-04T21:59:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-08-04:/blog/2011/08/04/veces-uno-le-falta-teoria/</id><summary type="html">&lt;p&gt;Antes que nada, no tengo formación teórica-pura de Programación Orientada a Objetos (POO). Lo que sé lo aprendí de libros varios que apuntan a enseñar programación orientada a objetos para un cierto lenguaje. Y tampoco tengo un conocimiento de compiladores+assembler lo suficiente bueno como para no estar preguntandome ésto …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Antes que nada, no tengo formación teórica-pura de Programación Orientada a Objetos (POO). Lo que sé lo aprendí de libros varios que apuntan a enseñar programación orientada a objetos para un cierto lenguaje. Y tampoco tengo un conocimiento de compiladores+assembler lo suficiente bueno como para no estar preguntandome ésto. El lado bueno: al menos se me ocurre pensarlo :-)  &lt;/p&gt;
&lt;p&gt;Veamos éste caso:  &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nt"&gt;class&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;PublicFoo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="n"&gt;public&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;mFoo&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Si, justo lo que no debiese hacerse en POO. Pero suponiendo que ya instancié un objeto con ésta clase y éste tuviese un valor, podría accederlo como:  &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;PublicFoo data = new PublicFoo();
// De alguna manera se carga un dato...
int valor = data.mFoo;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Desde el punto de vista de acceso, debería ser inmediato. Si ahora usamos:  &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nt"&gt;class&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;PrivateFoo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="n"&gt;public&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="n"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;mFoo&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="nt"&gt;void&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;setFoo&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;foo&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;mFoo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;private&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="nt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;mFoo&lt;/span&gt;
&lt;span class="err"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Para obtener el valor de foo haríamos:  &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;PrivateFoo data = new PrivateFoo();
// De alguna manera se carga un dato...
int valor = data.foo();
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Lo que puede llegar a implicar que el compilador genere código para entrar en el método foo(), haciendo mas lento el acceso al valor.  &lt;/p&gt;
&lt;p&gt;Ahora, en éste otro caso:  &lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nt"&gt;class&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;PrivateInlineFoo&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="n"&gt;public&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="kc"&gt;inline&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;mFoo&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;private&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="nt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;mFoo&lt;/span&gt;
&lt;span class="err"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Un acceso &lt;strong&gt;quizás&lt;/strong&gt; sea tan rápido como en el primero, ya que &lt;strong&gt;se me ocurre&lt;/strong&gt; que el compilador tenga el hint del inline para mejorar el acceso.  &lt;/p&gt;
&lt;p&gt;Seguramente me estoy perdiendo &lt;strong&gt;*mucho*&lt;/strong&gt; a causa de mi ignorancia. Pero les cuento a que vino todo ésto: se me ocurrió pensar que pasaría si existiese una propiedad de visivilidad que permita que cualquiera acceda al valor de la propiedad de la clase para lectura, pero sólo la clase pueda modificar dicho valor. ¿sería mas "sencillo" programar?  &lt;/p&gt;
&lt;p&gt;En fin, nada mas mostrándole al mundo mis dudas e ignorancia :-)&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="geek"/><category term="ignorancia"/><category term="programación"/><category term="educación"/></entry><entry><title>Una mandarina en Debian</title><link href="https://perezmeyer.com.ar/blog/2011/07/03/una-mandarina-en-debian/" rel="alternate"/><published>2011-07-03T14:53:00-03:00</published><updated>2011-07-03T14:53:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-07-03:/blog/2011/07/03/una-mandarina-en-debian/</id><summary type="html">&lt;p&gt;&lt;img alt="clementine" src="http://upload.wikimedia.org/wikipedia/commons/thumb/5/5d/Clementines_whole,_peeled,_half_and_sectioned.jpg/220px-Clementines_whole,_peeled,_half_and_sectioned.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Hace unos 16 dias (tarde me vengo a avivar.. ¿será porque lo compilé de fuentes?) &lt;a href="http://www.clementine-player.org/"&gt;Clementine&lt;/a&gt;, el reproductor de música multiplataforma insipirado en Amarok 1.4, está &lt;a href="http://packages.debian.org/source/sid/clementine"&gt;disponible en Debian&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;El trabajo necesario para empaquetarlo fué mucho, y por eso agradezco a &lt;a href="http://thomaspierson.eu/"&gt;Thomas Pierson&lt;/a&gt; por eso :-)  &lt;/p&gt;
&lt;p&gt;Sugiero que no dejen …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="clementine" src="http://upload.wikimedia.org/wikipedia/commons/thumb/5/5d/Clementines_whole,_peeled,_half_and_sectioned.jpg/220px-Clementines_whole,_peeled,_half_and_sectioned.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Hace unos 16 dias (tarde me vengo a avivar.. ¿será porque lo compilé de fuentes?) &lt;a href="http://www.clementine-player.org/"&gt;Clementine&lt;/a&gt;, el reproductor de música multiplataforma insipirado en Amarok 1.4, está &lt;a href="http://packages.debian.org/source/sid/clementine"&gt;disponible en Debian&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;El trabajo necesario para empaquetarlo fué mucho, y por eso agradezco a &lt;a href="http://thomaspierson.eu/"&gt;Thomas Pierson&lt;/a&gt; por eso :-)  &lt;/p&gt;
&lt;p&gt;Sugiero que no dejen de probarlo. Sabe mejor con una mandarina en mano ;-)  &lt;/p&gt;
&lt;p&gt;La imagen fué tomada de la &lt;a href="http://en.wikipedia.org/wiki/File:Clementines_whole,_peeled,_half_and_sectioned.jpg"&gt;Wikipedia&lt;/a&gt;.&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="música"/><category term="clementine"/><category term="felicitaciones"/><category term="gracias"/><category term="linux"/><category term="softwarelibre"/><category term="debian"/><category term="planetdebian-es"/></entry><entry><title>Carta abierta al presidente de CoNEAU</title><link href="https://perezmeyer.com.ar/blog/2011/07/01/carta-abierta-al-presidente-de-coneau/" rel="alternate"/><published>2011-07-01T11:07:00-03:00</published><updated>2011-07-01T11:07:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-07-01:/blog/2011/07/01/carta-abierta-al-presidente-de-coneau/</id><summary type="html">&lt;p&gt;Bahía Blanca/Internet, 1º de Julio de 2011&lt;/p&gt;
&lt;p&gt;Sr. Presidente de CoNEAU:&lt;/p&gt;
&lt;p&gt;Tengo el gusto de dirigirme a Ud. para hacerle llegar mis inquietudes con respecto al software necesario para realizar las acreditaciones en las universidades nacionales de nuestro país.&lt;/p&gt;
&lt;p&gt;Permitame primero comentarle acerca de mi situación actual: yo fuí …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Bahía Blanca/Internet, 1º de Julio de 2011&lt;/p&gt;
&lt;p&gt;Sr. Presidente de CoNEAU:&lt;/p&gt;
&lt;p&gt;Tengo el gusto de dirigirme a Ud. para hacerle llegar mis inquietudes con respecto al software necesario para realizar las acreditaciones en las universidades nacionales de nuestro país.&lt;/p&gt;
&lt;p&gt;Permitame primero comentarle acerca de mi situación actual: yo fuí empleado de la Universidad Nacional del Sur hasta el 31 de Diciembre de 2011. Hace unos pocos dias unos ex compañeros de trabajo me pidieron si no podía colaborar llenando la "ficha docente". Mas allá de que no estoy obligado a hacerla debido a que no soy mas un agente de dicha universidad, soy Argentino y creo que colaborar es una de las actividades que nos engrandece como pueblo y nación.&lt;/p&gt;
&lt;p&gt;Para tal actividad se requiere del uso de un software (lo cuál encuentro totalmente entendible). Lamentablemente dicho software sólo corre bajo el sistema operativo Windows de Microsoft. Como presidente de la comisión encargada de evaluar pares seguramente estará al tanto de que no todo el sistema académico ni privado (como es mi posición actual) usa esa plataforma. Mi caso particular es ése: yo soy usuario de GNU/Linux [0], software libre[1], legal y gratuito. Comprar una licencia de Windows, además de costoso, va contra mi libertad de saber que es lo que mi máquina está haciendo. Y usted sabe que una buena formación académica lleva a que uno pueda saber como funcionan las cosas, mucho mas aún en mi caso particular de Ingeniero Electrónico y el software que corro.&lt;/p&gt;
&lt;p&gt;[0] \&amp;lt;&lt;a href="http://es.wikipedia.org/wiki/GNU/Linux"&gt;http://es.wikipedia.org/wiki/GNU/Linux&lt;/a&gt;&amp;gt;&lt;/p&gt;
&lt;p&gt;[1] \&amp;lt;&lt;a href="http://es.wikipedia.org/wiki/Software_libre"&gt;http://es.wikipedia.org/wiki/Software_libre&lt;/a&gt;&amp;gt;&lt;/p&gt;
&lt;p&gt;Resultado: me veo imposibilitado de ayudar a mi universidad a cumplir con vuestros requisitos.&lt;/p&gt;
&lt;p&gt;Por supuesto, puedo entender que el desarrollo de un software tiene un costo. Pero permítame decirle que el costo de desarrollar un software multiplataforma es, hoy por hoy, el mismo que desarrollar un software atado a una sola plataforma. De hecho, si se tiene en cuenta los beneficios de realizarlo como multiplataforma, la inversión resulta ser mas redituable en términos de uso.&lt;/p&gt;
&lt;p&gt;Aún mas, los costos de obtener una plataforma de desarrollo para dicho software se reduce a una conexión a Internet: existen bibliotecas de alto nivel y calidad sin costo alguno, como por ejemplo el caso de Qt [2], por nombrar solo una.&lt;/p&gt;
&lt;p&gt;[2] \&amp;lt;&lt;a href="http://es.wikipedia.org/wiki/Qt_(biblioteca)"&gt;http://es.wikipedia.org/wiki/Qt_(biblioteca)&lt;/a&gt;&amp;gt;&lt;/p&gt;
&lt;p&gt;Finalmente, permitame ir un paso mas allá y proponerle que la implementación de dicho programa sea también software libre. Si mal no tengo entendido, la CoNEAU se trata de una evaluación de pares. Como tal, las herramientas utilizadas a tal efecto no son lo importante, sino la información que ellas manejan. La posibilidad de que los distintos pares sean capaces de evaluar y mejorar la herramienta, sin perjuicio de los datos que ella maneje, contribuye a la mejora de la misma y a la credibilidad en el sistema.&lt;/p&gt;
&lt;p&gt;Atte.,&lt;/p&gt;
&lt;p&gt;Lisandro Damián Nicanor Pérez Meyer&lt;/p&gt;
&lt;p&gt;DNI 29508104&lt;/p&gt;</content><category term="misc"/><category term="cartaabierta"/><category term="coneau"/><category term="softwarelibre"/></entry><entry><title>¡No al canon digital en Argentina!</title><link href="https://perezmeyer.com.ar/blog/2011/06/29/no-al-canon-digital-en-argentina/" rel="alternate"/><published>2011-06-29T10:44:00-03:00</published><updated>2011-06-29T10:44:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-06-29:/blog/2011/06/29/no-al-canon-digital-en-argentina/</id><content type="html">&lt;p&gt;&lt;img alt="Canon de Pichetto y Giustiniani" src="https://perezmeyer.com.ar/images/canon-de-pichetto-y-giustiniani-560px.png"&gt;&lt;/p&gt;</content><category term="misc"/><category term="argentina"/><category term="canondigital"/><category term="política"/><category term="sinvergüenzas"/></entry><entry><title>Porqué parece que siempre tenemos solo dos opciones (o de como las matemáticas pueden ayudar a explicarnos la situación política actual)</title><link href="https://perezmeyer.com.ar/blog/2011/06/27/porque-parece-que-siempre-tenemos-solo/" rel="alternate"/><published>2011-06-27T22:42:00-03:00</published><updated>2011-06-27T22:42:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-06-27:/blog/2011/06/27/porque-parece-que-siempre-tenemos-solo/</id><summary type="html">&lt;p&gt;Varias veces he pensado que la historia política siempre termina en votar por el partido A o por el partido B, sin siquiera poder considerar a C, porque si lo voto, obtiene pocos votos y evito que A (que realmente NO me gusta) gane. Entonces mejor voto a B.  &lt;/p&gt;
&lt;p&gt;Y …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Varias veces he pensado que la historia política siempre termina en votar por el partido A o por el partido B, sin siquiera poder considerar a C, porque si lo voto, obtiene pocos votos y evito que A (que realmente NO me gusta) gane. Entonces mejor voto a B.  &lt;/p&gt;
&lt;p&gt;Y acá es donde quizás alguno de ustedes quiera decirme "¡tenés que votarlo igual!". Bueno, mi idea con éste post es mostrar que hay razones matemáticas que muestran porqué estamos (al menos en parte) como estamos.  &lt;/p&gt;
&lt;p&gt;Antes de seguir, una aclaración: no estoy inventando nada. Ya lo inventó otro ;-) El contenido de lo que les quiero mostrar sale de un blog post de los &lt;a href="http://blog.cgpgrey.com/"&gt;tantos que ofrece CGPGrey&lt;/a&gt;. Pero sólo la parte audivisual, la parte teórica la pueden ver &lt;a href="http://en.wikipedia.org/wiki/Voting_system#Single-winner_methods"&gt;en la Wikipedia&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Otro detalle: los videos están en inglés, pero para el que le cueste, va un link a el texto de los mismos.  &lt;/p&gt;
&lt;p&gt;El primero muestra como funciona nuestro sistema de votación actual.  &lt;/p&gt;
&lt;iframe allowfullscreen frameborder="0" height="349" src="http://www.youtube.com/embed/s7tWHJfhiyo" width="560"&gt;`{=html}&lt;/iframe&gt;
&lt;p&gt;`{=html}  &lt;/p&gt;
&lt;p&gt;El texto lo pueden leer &lt;a href="http://blog.cgpgrey.com/the-problems-with-first-past-the-post-voting-explained/"&gt;acá&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;El segundo video muestra un método alternativo. Tiene muchas deficiencias (al igual que el anterior), pero una gran ventaja. Y no deja de ser sencillo de computar.  &lt;/p&gt;
&lt;iframe allowfullscreen frameborder="0" height="349" src="http://www.youtube.com/embed/3Y3jE3B8HsE" width="560"&gt;`{=html}&lt;/iframe&gt;
&lt;p&gt;`{=html}  &lt;/p&gt;
&lt;p&gt;El texto lo pueden leer &lt;a href="http://blog.cgpgrey.com/the-alternative-vote-instant-runoff-explained/"&gt;acá&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Por supuesto, si fuese por mí, usaría el método que se usa en Debian:  &lt;a href="http://seehuhn.de/pages/vote"&gt;el método de votación Condorcet con el método de disminución secuencial Schwartz&lt;/a&gt;.&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="matemática"/><category term="política"/><category term="debian"/><category term="método de votación"/></entry><entry><title>KDE SC 4.6.3 en inestable</title><link href="https://perezmeyer.com.ar/blog/2011/05/27/kde-sc-463-en-inestable/" rel="alternate"/><published>2011-05-27T21:10:00-03:00</published><updated>2011-05-27T21:10:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-05-27:/blog/2011/05/27/kde-sc-463-en-inestable/</id><content type="html">&lt;p&gt;El equipo &lt;a href="http://pkg-kde.alioth.debian.org/"&gt;Debian Qt/KDE&lt;/a&gt; hizo disponible hoy la versión 4.6.3 de KDE SC. El salto desde testing sería entonces desde KDE SC 4.4.5.  &lt;/p&gt;
&lt;p&gt;Muchas gracias a los mantenedores por su esfuerzo :-)&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="linux"/><category term="softwarelibre"/><category term="debian"/><category term="planetdebian-es"/><category term="kde"/></entry><entry><title>Qt 3 en busca de gente interesada en adoptarlo</title><link href="https://perezmeyer.com.ar/blog/2011/05/01/qt-3-en-busca-de-gente-interesada-en/" rel="alternate"/><published>2011-05-01T21:36:00-03:00</published><updated>2011-05-01T21:36:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-05-01:/blog/2011/05/01/qt-3-en-busca-de-gente-interesada-en/</id><summary type="html">&lt;p&gt;Con KDE 3 casi ya no presente en inestable, el equipo Qt/KDE no está interesado en continuar manteniendo Qt3. Por ende, estamos buscando a gente interesada en adoptarlo.  &lt;/p&gt;
&lt;p&gt;Si te interesa que Qt 3 esté presente en Wheezy, éste es el momento de involucrarse. Por favor, &lt;a href="http://lists.debian.org/debian-devel/2011/05/msg00056.html"&gt;leé este mail …&lt;/a&gt;&lt;/p&gt;</summary><content type="html">&lt;p&gt;Con KDE 3 casi ya no presente en inestable, el equipo Qt/KDE no está interesado en continuar manteniendo Qt3. Por ende, estamos buscando a gente interesada en adoptarlo.  &lt;/p&gt;
&lt;p&gt;Si te interesa que Qt 3 esté presente en Wheezy, éste es el momento de involucrarse. Por favor, &lt;a href="http://lists.debian.org/debian-devel/2011/05/msg00056.html"&gt;leé este mail&lt;/a&gt; y respondé en la lista.  &lt;/p&gt;
&lt;p&gt;Y no, no es coincidencia que éste post se parezca a &lt;a href="http://ekaia.org/blog/2011/05/01/qt-3-looking-for-adopters/"&gt;éste otro&lt;/a&gt; :-)&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="linux"/><category term="qt"/><category term="softwarelibre"/><category term="debian"/><category term="planetdebian-es"/><category term="kde"/></entry><entry><title>¿Entradas de NFS en fstab que no se montan? Hay que mirar los logs</title><link href="https://perezmeyer.com.ar/blog/2011/04/03/entradas-de-nfs-en-fstab-que-no-montan/" rel="alternate"/><published>2011-04-03T22:49:00-03:00</published><updated>2011-04-03T22:49:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-04-03:/blog/2011/04/03/entradas-de-nfs-en-fstab-que-no-montan/</id><summary type="html">&lt;p&gt;Ésta es una entrada "ayuda memoria" por si me vuelve a ocurrir, pero quizás le pueda servir a otro también.  &lt;/p&gt;
&lt;p&gt;Resulta ser que un cliente NFS que corre Debian, de un día para el otro, dejó de montar automáticamente sus entradas correspondientes en /etc/fstab, pero sin embargo si se …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Ésta es una entrada "ayuda memoria" por si me vuelve a ocurrir, pero quizás le pueda servir a otro también.  &lt;/p&gt;
&lt;p&gt;Resulta ser que un cliente NFS que corre Debian, de un día para el otro, dejó de montar automáticamente sus entradas correspondientes en /etc/fstab, pero sin embargo si se montaban si se llamaba manualmente a mount -a.&lt;br&gt;
Luego de mucho buscar, dí con un par de entradas en /var/log/user.log que me dieron la llave del problema:  &lt;/p&gt;
&lt;p&gt;[if-up.d/mountnfs[eth0]: lock /var/run/network/mountnfs exist, not mounting]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  &lt;/p&gt;
&lt;p&gt;Un directorio "lock", /var/run/network/mountnfs, estaba presente al momento de iniciar el sistema, evitando que las unidades se monten automáticamente. Y como no se montaban, no había necesidad de borrar ningún lock, ya que el mismo no debiera haber sido creado...  &lt;/p&gt;
&lt;p&gt;Bastó con borrar el susodicho directorio para que todo vuelva a la normalidad.&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="nfs"/><category term="linux"/><category term="softwarelibre"/><category term="mount"/><category term="debian"/><category term="planetdebian-es"/></entry><entry><title>Viviendo el release de Debian 6.0 "Squeeze" (o sencillamente "Squeeze" para los amigos)</title><link href="https://perezmeyer.com.ar/blog/2011/02/05/viviendo-el-release-de-debian-60/" rel="alternate"/><published>2011-02-05T19:45:00-03:00</published><updated>2011-02-05T19:45:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-02-05:/blog/2011/02/05/viviendo-el-release-de-debian-60/</id><summary type="html">&lt;p&gt;&lt;strong&gt;[[Por voz]{.Apple-style-span style="font-size: large;"}]{.underline}&lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;Desde ayer viernes 04/02 estoy conectado al &lt;a href="http://debian-party-line.branchable.com/"&gt;servidor de mumble&lt;/a&gt; que &lt;a href="http://kitenet.net/~joey/"&gt;Joey Hess&lt;/a&gt; preparó para la ocasión, la "Debian Party line".  La idea: establecer un canal de voz para compartir entre gente de todo el mundo éste momento tan importante para el …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;strong&gt;[[Por voz]{.Apple-style-span style="font-size: large;"}]{.underline}&lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;Desde ayer viernes 04/02 estoy conectado al &lt;a href="http://debian-party-line.branchable.com/"&gt;servidor de mumble&lt;/a&gt; que &lt;a href="http://kitenet.net/~joey/"&gt;Joey Hess&lt;/a&gt; preparó para la ocasión, la "Debian Party line".  La idea: establecer un canal de voz para compartir entre gente de todo el mundo éste momento tan importante para el proyecto.  &lt;/p&gt;
&lt;p&gt;Fué la oportunidad para poder empezar a linkear nombres con voces. Hasta tuve el gusto de escuchar a nuestro ya famoso Jacob Goerzen :-)  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;[[Por dents]{.Apple-style-span style="font-size: large;"}]{.underline}&lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;Mi cuenta de identi.ca hace rato ya sigue al &lt;a href="http://identi.ca/debian"&gt;usuario debian&lt;/a&gt;, que fué proveyendo de información sobre el progreso de la publicación, además de distinta información adicional para el evento.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;[[Por IRC]{.underline}]{.Apple-style-span style="font-size: large;"}&lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;Por supuesto, no todo termina ahí. Me conecté a #debian-release y #debian-cd en irc.oftc.net para seguir mas de cerca el proceso... tan de cerca que terminé probando imágenes previas de los CDs de instalación.  &lt;/p&gt;
&lt;p&gt;Tip: fíjense de qu etengan suficiente espacio para instalar, en especial después de particionar. Si no, van a terminar reinstalando un par de veces hasta encontrar el error... créanme, me pasó hace muuuy poco ;-)  &lt;/p&gt;
&lt;p&gt;El evento es una excelente oportunidad de ver la cantidad de esfuerzo de la gente que componen (¡componemos!) Debian. Ahora me queda poder ir a la DebConf 11 :-)  &lt;/p&gt;
&lt;p&gt;Y no nos olvidemos de algo muy importante  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;[¡¡¡Gracias a todos por el enorme esfuerzo que es crear y mantener Debian!!!]{.Apple-style-span style="font-size: x-large;"}&lt;/strong&gt;&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="gracias"/><category term="linux"/><category term="softwarelibre"/><category term="debian"/><category term="planetdebian-es"/><category term="squeeze"/></entry><entry><title>Instalando Debian Squeeze con particiones encriptadas</title><link href="https://perezmeyer.com.ar/blog/2011/01/23/instalando-debian-squeeze-con/" rel="alternate"/><published>2011-01-23T13:53:00-03:00</published><updated>2011-01-23T13:53:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-01-23:/blog/2011/01/23/instalando-debian-squeeze-con/</id><summary type="html">&lt;p&gt;En mi &lt;a href="http://perezmeyer.blogspot.com/2011/01/cuenta-regresiva-para-squeeze.html"&gt;post anterior&lt;/a&gt;, un usuario me pidió que hiciese un tutorial sobre como instalar Debian Squeeze con una o varias particiones encriptadas. Y bueno, he aquí cumplo con el pedido.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nota:&lt;/strong&gt; todos los pasos que sigo aquí son cosas que he aprendido en forma ad-hoc, puede que haya cosas …&lt;/p&gt;</summary><content type="html">&lt;p&gt;En mi &lt;a href="http://perezmeyer.blogspot.com/2011/01/cuenta-regresiva-para-squeeze.html"&gt;post anterior&lt;/a&gt;, un usuario me pidió que hiciese un tutorial sobre como instalar Debian Squeeze con una o varias particiones encriptadas. Y bueno, he aquí cumplo con el pedido.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nota:&lt;/strong&gt; todos los pasos que sigo aquí son cosas que he aprendido en forma ad-hoc, puede que haya cosas que necesiten correcciones. Por supuesto, se agradece que las dejen en los comentarios =)  &lt;/p&gt;
&lt;p&gt;Voy a cubrir algunos pasos esenciales y luego saltar directamente hacia la parte del particionado de discos. También vale aclarar que voy a usar el instalador en modo texto sencillamente porque lo encuentro mas cómodo, pero su análogo gráfico es igual de sencillo.  &lt;/p&gt;
&lt;p&gt;El primer paso es bootear el instalador de Debian Squeeze:  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-00" src="https://perezmeyer.com.ar/images/debian-installer-00.png"&gt;&lt;/p&gt;
&lt;p&gt;Para hacer las cosas mas interesantes, voy a elegir la opción "expert install".&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-01" src="https://perezmeyer.com.ar/images/debian-installer-01.png"&gt;&lt;/p&gt;
&lt;p&gt;Y como éste post es en español... usemos español para la instalación.&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-02" src="https://perezmeyer.com.ar/images/debian-installer-02.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-03" src="https://perezmeyer.com.ar/images/debian-installer-03.png"&gt;&lt;/p&gt;
&lt;p&gt;A partir de ahí, hago un gran salto hasta elegir que componentes del instalador deben descargarse. Y debo ser sincero: éste paso &lt;strong&gt;estimo&lt;/strong&gt; que debe hacerse ya que vamos a particionar manualmente, pero la verdad no sé si es necesario. El componente a cargar es cfdisk-udeb.&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-04" src="https://perezmeyer.com.ar/images/debian-installer-04.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-05" src="https://perezmeyer.com.ar/images/debian-installer-05.png"&gt;&lt;/p&gt;
&lt;p&gt;Seguimos adelante hasta llegar al particionado de discos.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-06" src="https://perezmeyer.com.ar/images/debian-installer-06.png"&gt;&lt;/p&gt;
&lt;p&gt;La primera opción que se nos ofrece es hacer un particionado guiado utilizando todo el disco. Noten que también está la posibilidad de hacer un LVM cifrado en forma guiada.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-07" src="https://perezmeyer.com.ar/images/debian-installer-07.png"&gt;&lt;/p&gt;
&lt;p&gt;Pero nosotros vamos a hacer las cosas de forma manual :-)  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-08" src="https://perezmeyer.com.ar/images/debian-installer-08.png"&gt;&lt;/p&gt;
&lt;p&gt;Para éste ejemplo, utilicé una máquina virtual con VirtualBox. Como la máquina tiene el disco vacío, es necesario hacer algunos pasos previos. Si el disco sobre el que van a instalar Debian Squeeze ya tenía algún sistema operativo, éstos pasos seguramente no les va a tocar hacerlos. La idea aquí es elegir en qué disco (y no en que partición) vamos a instalar nuestro SO.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-09" src="https://perezmeyer.com.ar/images/debian-installer-09.png"&gt;&lt;/p&gt;
&lt;p&gt;Como les decía, el disco estaba vacío, por lo que es necesario crear una tabla de particiones. Noten que en la imagen está seleccionado "No", pero obviamente van a necesitar elegir "Sí" :-)  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-10" src="https://perezmeyer.com.ar/images/debian-installer-10.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-11" src="https://perezmeyer.com.ar/images/debian-installer-11.png"&gt;&lt;/p&gt;
&lt;p&gt;Bien, ya tenemos nuestro disco con tabla de particiones listo para ser usado. Nuestro pŕoximo paso va a ser crear una partición /boot &lt;strong&gt;no encriptada&lt;/strong&gt;, para poder permitir que el sistema bootee. Seleccionamos el espacio libre de nuestro disco.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-12" src="https://perezmeyer.com.ar/images/debian-installer-12.png"&gt;&lt;/p&gt;
&lt;p&gt;Creamos una nueva partición de 100 MB.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-13" src="https://perezmeyer.com.ar/images/debian-installer-13.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-14" src="https://perezmeyer.com.ar/images/debian-installer-14.png"&gt;&lt;/p&gt;
&lt;p&gt;La hacemos una partición primaria (aunque es muy posible que funcione sobre una lógica).  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-15" src="https://perezmeyer.com.ar/images/debian-installer-15.png"&gt;&lt;/p&gt;
&lt;p&gt;Al principio del espacio libre, sólo por gusto.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-16" src="https://perezmeyer.com.ar/images/debian-installer-16.png"&gt;&lt;/p&gt;
&lt;p&gt;Por defecto el instalador queire establecer una partición /, por lo que es necesario cambiarle el punto de montaje.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-17" src="https://perezmeyer.com.ar/images/debian-installer-17.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-18" src="https://perezmeyer.com.ar/images/debian-installer-18.png"&gt;&lt;/p&gt;
&lt;p&gt;Finalmente, guardamos los cambios.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-19" src="https://perezmeyer.com.ar/images/debian-installer-19.png"&gt;&lt;/p&gt;
&lt;p&gt;Hora de configurar los volúmenes cifrados.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-20" src="https://perezmeyer.com.ar/images/debian-installer-20.png"&gt;&lt;/p&gt;
&lt;p&gt;Para proceder, es necesario guardar los cambios a los discos.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-21" src="https://perezmeyer.com.ar/images/debian-installer-21.png"&gt;&lt;/p&gt;
&lt;p&gt;Y creamos un volumen cifrado.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-22" src="https://perezmeyer.com.ar/images/debian-installer-22.png"&gt;&lt;/p&gt;
&lt;p&gt;Elegimos el espacio libre de nuestro disco para crear tal volumen.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-23" src="https://perezmeyer.com.ar/images/debian-installer-23.png"&gt;&lt;/p&gt;
&lt;p&gt;Guardamos los cambios.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-24" src="https://perezmeyer.com.ar/images/debian-installer-24.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-25" src="https://perezmeyer.com.ar/images/debian-installer-25.png"&gt;&lt;/p&gt;
&lt;p&gt;Y terminamos la creación del volumen cifrado.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-26" src="https://perezmeyer.com.ar/images/debian-installer-26.png"&gt;&lt;/p&gt;
&lt;p&gt;Al crear un volumen cifrado, el sistema ofrece sobreescribir los datos actuales con datos aleatoreos. Éste paso no es estrictamente necesario, pero si altamente recomendable.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-27" src="https://perezmeyer.com.ar/images/debian-installer-27.png"&gt;&lt;/p&gt;
&lt;p&gt;La sobreescritura de los datos con datos aleatoreos puede tardar &lt;strong&gt;mucho&lt;/strong&gt; tiempo. Tardé mas de tres horas en éste paso en un disco de 160G. Se puede cancelar en cualquier momento sin problemas aparentes.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-28" src="https://perezmeyer.com.ar/images/debian-installer-28.png"&gt;&lt;/p&gt;
&lt;p&gt;Un paso mas que importante: establecer la frase-contraseña para cifrar el disco.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-29" src="https://perezmeyer.com.ar/images/debian-installer-29.png"&gt;&lt;/p&gt;
&lt;p&gt;Por supuesto, hay que repetir la misma para validar que se haya escrito correctamente. ¡Y a no olvidársela!  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-30" src="https://perezmeyer.com.ar/images/debian-installer-30.png"&gt;&lt;/p&gt;
&lt;p&gt;Ahora nos toca configurar el gestor de volúmenes lógicos (LVM).  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-31" src="https://perezmeyer.com.ar/images/debian-installer-31.png"&gt;&lt;/p&gt;
&lt;p&gt;Otra vez, hay que guardar los cambios.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-32" src="https://perezmeyer.com.ar/images/debian-installer-32.png"&gt;&lt;/p&gt;
&lt;p&gt;La idea ahora es crear un grupo de volúmenes y crear dentro de él los volúmenes lógicos que querramos (swap y / en nuestro caso).  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-33" src="https://perezmeyer.com.ar/images/debian-installer-33.png"&gt;&lt;/p&gt;
&lt;p&gt;Un nombre para el grupo de volúmenes.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-34" src="https://perezmeyer.com.ar/images/debian-installer-34.png"&gt;&lt;/p&gt;
&lt;p&gt;Creamos el grupo de volúmenes en nuestra partición encriptada.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-35" src="https://perezmeyer.com.ar/images/debian-installer-35.png"&gt;&lt;/p&gt;
&lt;p&gt;Una vez creado el grupo de volúmenes, hay que crear los volúmenes lógicos para la swap y /.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-36" src="https://perezmeyer.com.ar/images/debian-installer-36.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-37" src="https://perezmeyer.com.ar/images/debian-installer-37.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-38" src="https://perezmeyer.com.ar/images/debian-installer-38.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-39" src="https://perezmeyer.com.ar/images/debian-installer-39.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-40" src="https://perezmeyer.com.ar/images/debian-installer-40.png"&gt;&lt;/p&gt;
&lt;p&gt;Hay que repetir éstos últimos pasos para crear /. Luego seleccionamos nuestro volúmen lógico para la swap y establecemos una partición de éste tipo en él:  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-41" src="https://perezmeyer.com.ar/images/debian-installer-41.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-42" src="https://perezmeyer.com.ar/images/debian-installer-42.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-43" src="https://perezmeyer.com.ar/images/debian-installer-43.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-44" src="https://perezmeyer.com.ar/images/debian-installer-44.png"&gt;&lt;/p&gt;
&lt;p&gt;Otra vez, hay que repetir los pasos anteriores para /, normalmente queda como la siguiente figura.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-45" src="https://perezmeyer.com.ar/images/debian-installer-45.png"&gt;&lt;/p&gt;
&lt;p&gt;¡Terminamos el particionado! Hora de guardar los cambios.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-46" src="https://perezmeyer.com.ar/images/debian-installer-46.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-47" src="https://perezmeyer.com.ar/images/debian-installer-47.png"&gt;&lt;/p&gt;
&lt;p&gt;El resto sigue siendo el mismo proceso de instalación de siempre. Una vez que se reinicia el sistema, podemos ver como se nos pide la frase-contraseña que establecimos antes para poder bootear.  &lt;/p&gt;
&lt;p&gt;&lt;img alt="debian-installer-48" src="https://perezmeyer.com.ar/images/debian-installer-48.png"&gt;&lt;/p&gt;
&lt;p&gt;Y eso es todo :-)&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="linux"/><category term="softwarelibre"/><category term="debian"/><category term="planetdebian-es"/><category term="cifrado"/><category term="squeeze"/></entry><entry><title>Cuenta regresiva para Squeeze</title><link href="https://perezmeyer.com.ar/blog/2011/01/22/cuenta-regresiva-para-squeeze/" rel="alternate"/><published>2011-01-22T15:13:00-03:00</published><updated>2011-01-22T15:13:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-01-22:/blog/2011/01/22/cuenta-regresiva-para-squeeze/</id><summary type="html">&lt;p&gt;El equipo de liberación &lt;a href="http://lists.debian.org/debian-devel-announce/2011/01/msg00003.html"&gt;anunció que Squeeze será liberado el fin de semana del 5 y 6 de Febrero&lt;/a&gt; de éste año.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;¡Únete a nosotros en la cuenta regresiva!&lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;&lt;img alt="countdown" src="http://news.debian.net/wp-content/uploads/2011/squeeze_countdown.png"&gt;&lt;/p&gt;
&lt;p&gt;El banner fué hecho por mvd basado en el &lt;a href="http://wiki.debian.org/DebianArt/Themes/SpaceFun"&gt;tema "Spacefun" de Valessio&lt;/a&gt;. Te invitamos a linkearlo desde tu sitio web …&lt;/p&gt;</summary><content type="html">&lt;p&gt;El equipo de liberación &lt;a href="http://lists.debian.org/debian-devel-announce/2011/01/msg00003.html"&gt;anunció que Squeeze será liberado el fin de semana del 5 y 6 de Febrero&lt;/a&gt; de éste año.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;¡Únete a nosotros en la cuenta regresiva!&lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;&lt;img alt="countdown" src="http://news.debian.net/wp-content/uploads/2011/squeeze_countdown.png"&gt;&lt;/p&gt;
&lt;p&gt;El banner fué hecho por mvd basado en el &lt;a href="http://wiki.debian.org/DebianArt/Themes/SpaceFun"&gt;tema "Spacefun" de Valessio&lt;/a&gt;. Te invitamos a linkearlo desde tu sitio web.  &lt;/p&gt;
&lt;p&gt;Y mientras esperas, puedes &lt;a href="http://www.debian.org/News/2011/20110122"&gt;actualizar tus sistemas Lenny a 5.0.8&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Post &lt;a href="http://news.debian.net/2011/01/22/join-us-in-the-countdown-to-squeeze/"&gt;original en inglés&lt;/a&gt;.&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="linux"/><category term="softwarelibre"/><category term="debian"/><category term="planetdebian-es"/><category term="squeeze"/></entry><entry><title>Lo que ¿todo? programador debe saber sobre memoria</title><link href="https://perezmeyer.com.ar/blog/2011/01/13/lo-que-todo-programador-debe-saber/" rel="alternate"/><published>2011-01-13T18:06:00-03:00</published><updated>2011-01-13T18:06:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-01-13:/blog/2011/01/13/lo-que-todo-programador-debe-saber/</id><summary type="html">&lt;p&gt;Estuve leyendo el artículo de Ulrich Drepper "&lt;a href="http://lwn.net/Articles/259710/"&gt;What every programmer should know about memory&lt;/a&gt;", de Noviembre de 2007.  &lt;/p&gt;
&lt;p&gt;En mi caso particular, educado como ingeniero electrónico, leer este trabajo fué sin duda una gran idea. Lo que no implica que lo pude "desglosar" totalmente, o dicho de otra manera, hay …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Estuve leyendo el artículo de Ulrich Drepper "&lt;a href="http://lwn.net/Articles/259710/"&gt;What every programmer should know about memory&lt;/a&gt;", de Noviembre de 2007.  &lt;/p&gt;
&lt;p&gt;En mi caso particular, educado como ingeniero electrónico, leer este trabajo fué sin duda una gran idea. Lo que no implica que lo pude "desglosar" totalmente, o dicho de otra manera, hay partes del texto que me siguen resultando "oscuras", pero nada que con un poco de esfuerzo no se logre comprender. Sencillamente estoy usando un algoritmo de lectura/comprensión bastante perezoso ;-)  &lt;/p&gt;
&lt;p&gt;El hecho de no tener mucha formación "formal" de software no influyó mucho sobre la comprensión del texto. Dicho de otro modo, no es excusa para no leerlo :-)  &lt;/p&gt;
&lt;p&gt;Lo único que me gustaría notar como crítica &lt;strong&gt;muy leve&lt;/strong&gt; es el hecho de que no todo el texto es para todo programador. Los primeros capítulos son fundantes, aunque quizás mi óptica de hardware adquirida a través de los años me nuble la visión un poco :-) Pero sin duda ayudan a comprender muchísimo lo que pasa por dentro de una computadora. La parte que creo que no &lt;strong&gt;todo&lt;/strong&gt; programador pueda llegar a aprovechar es en donde se explica como mejorar el código para casos particulares de hardware. Muchas veces lo que queremos es que nuestro software corra razonablemente bien en toda plataforma, y no que se destaque en una en particular. También es posible aplicar algo de ésta lógica a un mantenedor de paquetes de una distribución binaria, como es mi caso con Debian.  &lt;/p&gt;
&lt;p&gt;Sin embargo, vuelvo a hacer énfasis de que es una muy buena lectura.&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="hardware"/><category term="linux"/><category term="debian"/><category term="educación"/><category term="planetdebian-es"/><category term="memoria"/><category term="paper"/></entry><entry><title>Publicado QAntenna 0.2.3</title><link href="https://perezmeyer.com.ar/blog/2011/01/09/publicado-qantenna-023/" rel="alternate"/><published>2011-01-09T18:08:00-03:00</published><updated>2011-01-09T18:08:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-01-09:/blog/2011/01/09/publicado-qantenna-023/</id><summary type="html">&lt;p&gt;Ésta nueva versión de QAntenna trae un par de bugfixes y features nuevos:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Agrega soporte drag and drop, gracias a Graham Seale.&lt;/li&gt;
&lt;li&gt;Muestra los alambres radiales cuando se especifican en la tarjeta GN (tierra o ground).&lt;/li&gt;
&lt;li&gt;Acepta los comentarios en la tarjeta CE.&lt;/li&gt;
&lt;li&gt;Arregla el parseo de la tarjeta GD …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;Ésta nueva versión de QAntenna trae un par de bugfixes y features nuevos:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Agrega soporte drag and drop, gracias a Graham Seale.&lt;/li&gt;
&lt;li&gt;Muestra los alambres radiales cuando se especifican en la tarjeta GN (tierra o ground).&lt;/li&gt;
&lt;li&gt;Acepta los comentarios en la tarjeta CE.&lt;/li&gt;
&lt;li&gt;Arregla el parseo de la tarjeta GD.&lt;/li&gt;
&lt;li&gt;Las salidas input.necin son ahora creadas con nomenclatura exponencial.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;

Como siempre, la pueden descargar desde [SourceForge](https://sourceforge.net/projects/qantenna/). Por otro lado, el paquete para Debian va a estar disponible en breve en Sid. Y va a ser mi primer paquete con la bandera DM-Upload-Allowed: yes =)

&lt;/div&gt;</content><category term="misc"/><category term="español"/><category term="linux"/><category term="softwarelibre"/><category term="debian"/><category term="planetdebian-es"/><category term="qantenna"/></entry><entry><title>El orden natural de las cosas</title><link href="https://perezmeyer.com.ar/blog/2011/01/08/el-orden-natural-de-las-cosas/" rel="alternate"/><published>2011-01-08T15:51:00-03:00</published><updated>2011-01-08T15:51:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-01-08:/blog/2011/01/08/el-orden-natural-de-las-cosas/</id><summary type="html">&lt;p&gt;&lt;a href="https://bugs.kde.org/show_bug.cgi?id=241743#c1" title="Bug en el bugtracker de KDE"&gt;Gracias a&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Federico_Heinz" title="Federico Heinz"&gt;Fede Heinz&lt;/a&gt;, la próxima versión de &lt;a href="http://choqok.gnufolks.org/" title="Choqk site"&gt;Choqok&lt;/a&gt; va a tener un feature nuevo: mostrar los dents en orden natural. ¿Cómo es ésto? Sencillo: cada nuevo dent va a aparecer abajo del dent anterior, y no encima. Nada mejor que una imagen para ilustrar:&lt;/p&gt;
&lt;p&gt;&lt;img alt="choqok_natural_order" src="https://perezmeyer.com.ar/images/choqok_natural_order.png"&gt;&lt;/p&gt;
&lt;p&gt;Para los que usamos Debian …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;a href="https://bugs.kde.org/show_bug.cgi?id=241743#c1" title="Bug en el bugtracker de KDE"&gt;Gracias a&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Federico_Heinz" title="Federico Heinz"&gt;Fede Heinz&lt;/a&gt;, la próxima versión de &lt;a href="http://choqok.gnufolks.org/" title="Choqk site"&gt;Choqok&lt;/a&gt; va a tener un feature nuevo: mostrar los dents en orden natural. ¿Cómo es ésto? Sencillo: cada nuevo dent va a aparecer abajo del dent anterior, y no encima. Nada mejor que una imagen para ilustrar:&lt;/p&gt;
&lt;p&gt;&lt;img alt="choqok_natural_order" src="https://perezmeyer.com.ar/images/choqok_natural_order.png"&gt;&lt;/p&gt;
&lt;p&gt;Para los que usamos Debian Sid, y gracias a &lt;a href="http://qa.debian.org/developer.php?login=noahm%40debian.org" title="Noah Meyerhans"&gt;Noah&lt;/a&gt;, ya podemos disfrutar de éste feature a través de un paquete release candidate.&lt;/p&gt;
&lt;p&gt;Si todavía piensan que ésto no es una buena idea, consideren el caso de una conversación. No mas ir leyendo de abajo para arriba para poder entenderla (o, en términos mas geeks, ir leyéndolas de arriba hacia abajo y cargando un buffer de ideas para poder entenderla).&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="choqok"/><category term="gracias"/><category term="softwarelibre"/><category term="debian"/><category term="planetdebian-es"/><category term="kde"/></entry><entry><title>Reviviendo una pedalera Zoom G9.2tt</title><link href="https://perezmeyer.com.ar/blog/2011/01/07/reviviendo-una-pedalera-zoom-g92tt/" rel="alternate"/><published>2011-01-07T20:52:00-03:00</published><updated>2011-01-07T20:52:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2011-01-07:/blog/2011/01/07/reviviendo-una-pedalera-zoom-g92tt/</id><summary type="html">&lt;p&gt;Hace un par de semanas un amigo, S, intentó actualizar el firmware de una pedalera &lt;a href="http://www.zoom.co.jp/english/products/g92tt/index.php"&gt;Zoom G9.2tt&lt;/a&gt;. El resultado: una pedalera en estado catatónico.  &lt;/p&gt;
&lt;p&gt;El proceso se realiza utilizando únicamente Windows (ya empezamos mal), con un software propietario (típico...) bastante viejo y a través de ¡los puertos &lt;a href="http://es.wikipedia.org/wiki/MIDI"&gt;MIDI&lt;/a&gt;! Y …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hace un par de semanas un amigo, S, intentó actualizar el firmware de una pedalera &lt;a href="http://www.zoom.co.jp/english/products/g92tt/index.php"&gt;Zoom G9.2tt&lt;/a&gt;. El resultado: una pedalera en estado catatónico.  &lt;/p&gt;
&lt;p&gt;El proceso se realiza utilizando únicamente Windows (ya empezamos mal), con un software propietario (típico...) bastante viejo y a través de ¡los puertos &lt;a href="http://es.wikipedia.org/wiki/MIDI"&gt;MIDI&lt;/a&gt;! Y eso a pesar de que la pedalera cuenta con un conector USB.  &lt;/p&gt;
&lt;p&gt;Revisando un poco su instalación, mi primer sospechoso fué el cable MIDI, que no es otra cosa que un conversor USB ←→ MIDI. Teniendo en cuenta mi experiencia con conversores de éste tipo utilizados para una funcionalidad alternativa (tienden a no andar), le sugerí a S que se consiga una máquina con Windows y que se venga a casa, en donde tengo una placa con hardware MIDI real.  &lt;/p&gt;
&lt;p&gt;En el primer intento llegamos a un punto del proceso de reflasheado mucho mas avanzado que con el cable MIDI por USB. Pero el mismo seguía fallando dando un simple mensaje de error. Muy informativo :-(  &lt;/p&gt;
&lt;p&gt;S había leído en algún foro que mucha gente probó muchas veces hasta que finalmente anduvo. Y éso fué lo que hicimos, hasta que, en un momento, logramos terminar el proceso.  &lt;/p&gt;
&lt;p&gt;Sin embargo no todo quedó bien: la pedalera acusa que los pedales no están calibrados. Y ésto, hasta el momento, no tenemos ni idea como solucionarlo. ¿Alguien con alguna idea?  &lt;/p&gt;
&lt;p&gt;Algunos corolarios de la situación:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cuando se va a utilizar algún medio para un uso atípico, tratar de evitar los conversores. Por ejemplo, usar un puerto paralelo mediante conversor USB puede andar para una impresora, pero es mucho mas difícil que lo haga utilizándolo para transferencias &lt;a href="http://es.wikipedia.org/wiki/JTAG"&gt;JTAG&lt;/a&gt;. O un cable MIDI←→USB ;-) Mejor conseguirse un cable específico o una máquina con el puerto correcto.&lt;/li&gt;
&lt;li&gt;No sé que estaba pensando la gente de Zoom al usar los puertos MIDI para flashear una pedalera. En Windows. Uugh.&lt;/li&gt;
&lt;/ul&gt;</content><category term="misc"/><category term="español"/><category term="hardware"/><category term="windows"/><category term="zoom"/><category term="firmware"/><category term="embedded"/></entry><entry><title>El nacimiento de Jesús</title><link href="https://perezmeyer.com.ar/blog/2010/12/09/el-nacimiento-de-jesus/" rel="alternate"/><published>2010-12-09T12:05:00-03:00</published><updated>2010-12-09T12:05:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2010-12-09:/blog/2010/12/09/el-nacimiento-de-jesus/</id><content type="html">&lt;p&gt;&lt;img alt="el_nacimiento" src="https://perezmeyer.com.ar/images/el_nacimiento.jpg"&gt;&lt;/p&gt;
&lt;p&gt;18 de Diciembre, 21hs. en el Paseo de las Esculturas (Urquiza entre Salta y Perú), Bahía Blanca. En caso de lluvia se realizará en el gimnasio del Colegio Don Bosco (Güemes y Moreno), Bahía Blanca.  &lt;/p&gt;
&lt;p&gt;Declarado de interés provincial y municipal.&lt;/p&gt;</content><category term="misc"/><category term="anunciarte"/><category term="español"/><category term="Jesús"/><category term="accióncatólicaargentina"/><category term="bahíablanca"/><category term="natividad"/></entry><entry><title>OpenVox G400P en Debian</title><link href="https://perezmeyer.com.ar/blog/2010/12/01/openvox-g400p-en-debian/" rel="alternate"/><published>2010-12-01T00:37:00-03:00</published><updated>2010-12-01T00:37:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2010-12-01:/blog/2010/12/01/openvox-g400p-en-debian/</id><summary type="html">&lt;p&gt;This post is also &lt;a href="http://perezmeyer.blogspot.com/2010/12/openvox-g400p-in-debian.html"&gt;available in english&lt;/a&gt;.&lt;br&gt;
Éste post también se encuentra &lt;a href="http://perezmeyer.blogspot.com/2010/12/openvox-g400p-in-debian.html"&gt;redactado en inglés&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Instalando un servidor de telefonía IP no tuve mejor idea que adquirir una placa &lt;a href="http://www.openvox.cn/products/show.php?itemid=150&amp;amp;lang=2"&gt;OpenVox G400P&lt;/a&gt; para conectarme a la red &lt;a href="http://es.wikipedia.org/wiki/GSM"&gt;GSM&lt;/a&gt; sin buscar lo suficiente en la web antes. Mi error.  &lt;/p&gt;
&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

**[Los problemas]{.underline …&lt;/div&gt;</summary><content type="html">&lt;p&gt;This post is also &lt;a href="http://perezmeyer.blogspot.com/2010/12/openvox-g400p-in-debian.html"&gt;available in english&lt;/a&gt;.&lt;br&gt;
Éste post también se encuentra &lt;a href="http://perezmeyer.blogspot.com/2010/12/openvox-g400p-in-debian.html"&gt;redactado en inglés&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Instalando un servidor de telefonía IP no tuve mejor idea que adquirir una placa &lt;a href="http://www.openvox.cn/products/show.php?itemid=150&amp;amp;lang=2"&gt;OpenVox G400P&lt;/a&gt; para conectarme a la red &lt;a href="http://es.wikipedia.org/wiki/GSM"&gt;GSM&lt;/a&gt; sin buscar lo suficiente en la web antes. Mi error.  &lt;/p&gt;
&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

**[Los problemas]{.underline}**:

&lt;/div&gt;

&lt;div&gt;

-   Al momento de adquirir la placa (hace apenas \~6 meses) no existía soporte oficial para [Dahdi](http://www.voip-info.org/wiki/view/DAHDI).
-   Cuando el mismo [apareció](http://www.chan-extra.org/index.php/OpenVox_G400P_User_Manual_for_dahdi), resulta ser que no constaba de unos simples parches, sino un script que supone que uno usa un sistema basado en RPMs, baja y modifica las fuentes de Dahdi y [Asterisk](http://www.asterisk.org/), los compila e instala, sin dejar lugar a modificaciones por parte del usuario.
-   Al preguntar al soporte, me dijeron que me lo instalaban ellos mismos... si les daba acceso SSH (de no creer). Me tomé el trabajo de explicarles que pedir acceso SSH a sus clientes era una **mala idea**, pero me parece que [no entendieron](http://bbs.openvox.cn/viewthread.php?tid=1463&amp;page=1#pid6399). 

&lt;div&gt;



&lt;/div&gt;

&lt;/div&gt;

&lt;div&gt;

**[Desarmando el script:]{.underline}**

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Mi idea entonces fué instalar una máquina virtual con la versión de Elastix o Trixbox que ellos pedían para hacer correr el script, obtener el código fuente parcheado, revisarlo y compilarlo en mi Debian. Llegué a bajar tres versiones distintas de ésas distros... y parece ser que ninguna de ellas era la que el script esperaba. Para ese momento decidí hacer lo que debía haber hecho desde un principio: imprimir el script, desarmarlo y armar ése código fuente yo mismo.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Por supuesto, usé [git](http://git-scm.com/) para el proceso :)

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

[**El código fuente resultante:**]{.underline}

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Dahdi: &lt;http://dumbledore.com.ar/gitweb/?p=dahdi.git;a=summary&gt;

&lt;/div&gt;

&lt;div&gt;

Asterisk: &lt;http://dumbledore.com.ar/gitweb/?p=asterisk.git;a=summary&gt; (puede estar incompleto, todavía lo tengo que chequear).

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

En el caso de Dahdi, la rama *openvox-g400p* contiene las modificaciones de chan-extra, la rama *oslec* contiene el soporte para el cancelador de eco [OSLEC](http://www.rowetel.com/blog/?page_id=454). Finalmente la rama *master* es un merge de ambas. Todavía no probé que la placa funcione con oslec, pero está ahí porque la uso en la otra placa que tengo en el servidor.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

**[Recomendaciones para la gente de OpenVox:]{.underline}**  

Si bien me parece excelente que quieran proveer a sus clientes de un script "automágico", un usuario de otras distribuciones y/o un usuario avanzado va a encontrar mejor que le proporcionen un patch para el código fuente. Lo bueno es que gracias a git ésto no es complicado.  

Les sugiero el siguiente workflow:  

1.- Descomprimir el código fuente original de Dahdi, renombrar el directorio y crear un repositorio git del mismo.  

[\$ tar -xf dahdi-x.y.z.tar.gz]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ mv dahdi-x.y.z dahdi]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ cd dahdi]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git init]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git add -A]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git commit -m "Original Dahdi source code version x.y.z."]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}

&lt;/div&gt;

&lt;div&gt;


2.- Crear una rama *upstream* para seguir el desarrollo de Dahdi.  

[\$ git checkout -b upstream]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  

3.- Taggear la release específica de Dahdi en la rama upstream.  

[\$ git tag -a dahdi-x.y.z]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  

4.- Volver a la rama *master* y realizar el desarrollo del driver en la misma.  

[\$ git checkout master]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\[... desarrollo...\]]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  

5.- Una vez terminada una release, taggearla.  

[\$ git tag -a chan-extra-x.y.z]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  

6.- Crear un parche a partir de ambas ramas (aunque sería mejor publicar el repositorio git directamente):  

[\$ git diff upstream master \&gt; chan-extra-x.y.z.patch]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  

Nota: hay mejores formas para obtener un parche que ésta manera... pero no es algo que haya explorado lo suficiente. Se aceptan comentarios ;)  

7.- Cuando se deba desarrollar para una nueva versión de Dahdi, basta con actualizar la rama correspondiente y hacer un merge:  


[\$ git checkout upstream]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git rm '\*']{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git clean -xdff]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ tar zxfv ../../dahdi-x.y.z+1.tar.gz --strip=1]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git add -A]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git commit -m "Import upstream x.y.z+1 release."]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git checkout master]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git merge upstream]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  


Luego el usuario podrá aplicar el parche usando *patch* y compilar. Basta con seguir el mismo workflow para crear parches para Asterisk.  

Por supuesto, se aceptan comentarios sobre éste workflow :-)

&lt;/div&gt;</content><category term="misc"/><category term="español"/><category term="rant"/><category term="linux"/><category term="voip"/><category term="softwarelibre"/><category term="g400p"/><category term="telefonía"/><category term="asterisk"/><category term="debian"/><category term="planetdebian-es"/><category term="openvox"/></entry><entry><title>OpenVox G400P in Debian</title><link href="https://perezmeyer.com.ar/blog/2010/12/01/openvox-g400p-in-debian/" rel="alternate"/><published>2010-12-01T00:37:00-03:00</published><updated>2010-12-01T00:37:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2010-12-01:/blog/2010/12/01/openvox-g400p-in-debian/</id><summary type="html">&lt;p&gt;Éste post está también &lt;a href="http://perezmeyer.blogspot.com/2010/12/openvox-g400p-en-debian.html"&gt;disponible en español&lt;/a&gt;.&lt;br&gt;
This post is also &lt;a href="http://perezmeyer.blogspot.com/2010/12/openvox-g400p-en-debian.html"&gt;available in spanish&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;I bought an &lt;a href="http://www.openvox.cn/products/show.php?itemid=150&amp;amp;lang=2"&gt;OpenVox G400P&lt;/a&gt; GSM telephony card to set up a VoIP server running Debian. I clearly didn't do my research homework before starting, and it turned out that it was not easy to set …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Éste post está también &lt;a href="http://perezmeyer.blogspot.com/2010/12/openvox-g400p-en-debian.html"&gt;disponible en español&lt;/a&gt;.&lt;br&gt;
This post is also &lt;a href="http://perezmeyer.blogspot.com/2010/12/openvox-g400p-en-debian.html"&gt;available in spanish&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;I bought an &lt;a href="http://www.openvox.cn/products/show.php?itemid=150&amp;amp;lang=2"&gt;OpenVox G400P&lt;/a&gt; GSM telephony card to set up a VoIP server running Debian. I clearly didn't do my research homework before starting, and it turned out that it was not easy to set up this card with Dahdi, wich I had to keep in order to be able to use another card I already had on that server.  &lt;/p&gt;
&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

**[Problems I found]{.underline}**:

&lt;/div&gt;

&lt;div&gt;

-   There was not official [Dahdi](http://www.voip-info.org/wiki/view/DAHDI) support for this board until about  \~6 months ago.
-   When it finally [appeared](http://www.chan-extra.org/index.php/OpenVox_G400P_User_Manual_for_dahdi), it turned out that there were not just some patches to the original source code, but some scripts that supossed that my system was RPM based. Oh, and it also downloads, modifies, compiles and installs Dahdi and [Asterisk](http://www.asterisk.org/), leaving no room for customization.
-   When I asked the support about this issue, they told me that if I gave them SSH access they would install it for me (!?). I took the time to explain them that asking their clients for SSH access to their servers was **not** a good idea. Sadly, it seems that [they didn't took my advice](http://bbs.openvox.cn/viewthread.php?tid=1463&amp;page=1#pid6399). 

&lt;div&gt;



&lt;/div&gt;

&lt;/div&gt;

&lt;div&gt;

**[Dissasembling the script:]{.underline}**

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

So my next move was to get and install either Elastix or Trixbox in a virtual machine, supossedly supported by the script they provide, get the modified source code, check it and compile it in my Debian box.  I got to download three different versions of those distros, and it seems I couldn't get the correct version the script needed. So the next step was obvious: print the script, analyze it and modify it to get the source code.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Of course, I used [git](http://git-scm.com/) to keep the changes :-)

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

[**Final source code:**]{.underline}

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Dahdi: &lt;http://dumbledore.com.ar/gitweb/?p=dahdi.git;a=summary&gt;

&lt;/div&gt;

&lt;div&gt;

Asterisk: &lt;http://dumbledore.com.ar/gitweb/?p=asterisk.git;a=summary&gt; (might be incomplete, I still have to check it).

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

In the Dahdi repo, the *openvox-g400p* branch has the chan-extra modifications, the *oslec* branch contains the support for [OSLEC](http://www.rowetel.com/blog/?page_id=454) echo canceler. Finally *master* is a merge of both. I still didn't check if the G400P supports oslec, but I have it there because I use it with the other card I have in the server.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

**[Recommendations for OpenVox:]{.underline}**  

While I find an excellent idea to have an "automagic" script for your clients, a user os another distributions or/and an advanced user will find a patch most suitable. The good thing about this is that git makes it's creation quite simple.  

I suggest the following workflow:  

1.- Uncompress Dahdi's source code, rename the new directory and create a git repo out of it.  

[\$ tar -xf dahdi-x.y.z.tar.gz]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ mv dahdi-x.y.z dahdi]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ cd dahdi]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git init]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git add -A]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git commit -m "Original Dahdi source code version x.y.z."]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}

&lt;/div&gt;

&lt;div&gt;


2.- Create an *upstream* branch to follow Dahdi's development.  

[\$ git checkout -b upstream]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  

3.- Tag Dahdi's release in the *upstream* branch.  

[\$ git tag -a dahdi-x.y.z]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  

4.- Go back to the *master* branch and develop the driver.  

[\$ git checkout master]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\[... desarrollo...\]]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  

5.- Once finished a release, tag it.  

[\$ git tag -a chan-extra-x.y.z]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  

6.- Make a patch out of it (althought it would be better to just publish the git repo).  

[\$ git diff upstream master \&gt; chan-extra-x.y.z.patch]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  

Note: there are far more better ways to generate a proper patch using git... but I had no time to get into that yet :-/ Comments welcomed :-)  

7.- Whenever we need to develop with a newer Dahdi's release, we just need to update the *upstream* branch and merge it back to *master*.  


[\$ git checkout upstream]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git rm '\*']{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git clean -xdff]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ tar zxfv ../../dahdi-x.y.z+1.tar.gz --strip=1]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git add -A]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git commit -m "Import upstream x.y.z+1 release."]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git checkout master]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  
[\$ git merge upstream]{.Apple-style-span style="font-family: 'Courier New', Courier, monospace;"}  


Then the user will just need to patch the original source code and compile. Of course, the same workflow can be used for making patches for Asterisk.  

Comments on this workflow will be much appreciated :-)

&lt;/div&gt;</content><category term="misc"/><category term="rant"/><category term="english"/><category term="linux"/><category term="voip"/><category term="softwarelibre"/><category term="g400p"/><category term="telefonía"/><category term="asterisk"/><category term="debian"/><category term="openvox"/></entry><entry><title>El planeta Debian en español también está en identi.ca</title><link href="https://perezmeyer.com.ar/blog/2010/10/23/el-planeta-debian-en-espanol-tambien/" rel="alternate"/><published>2010-10-23T19:57:00-03:00</published><updated>2010-10-23T19:57:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2010-10-23:/blog/2010/10/23/el-planeta-debian-en-espanol-tambien/</id><summary type="html">&lt;p&gt;Cuando &lt;a href="http://identi.ca/notice/57015801"&gt;ví el anuncio de&lt;/a&gt; &lt;a href="http://upsilon.cc/~zack/"&gt;Zack&lt;/a&gt; de que el feed de Planet Debian se estaba exportando a la cuenta &lt;a href="http://identi.ca/planetdebian"&gt;\@planetdebian de identi.ca&lt;/a&gt;, le pregunté si también iba a haber una cuenta similar para el Planeta Debian en español. Me dijo que &lt;a href="http://identi.ca/notice/57016690"&gt;no, pero que me sintiese libre de hacerlo …&lt;/a&gt;&lt;/p&gt;</summary><content type="html">&lt;p&gt;Cuando &lt;a href="http://identi.ca/notice/57015801"&gt;ví el anuncio de&lt;/a&gt; &lt;a href="http://upsilon.cc/~zack/"&gt;Zack&lt;/a&gt; de que el feed de Planet Debian se estaba exportando a la cuenta &lt;a href="http://identi.ca/planetdebian"&gt;\@planetdebian de identi.ca&lt;/a&gt;, le pregunté si también iba a haber una cuenta similar para el Planeta Debian en español. Me dijo que &lt;a href="http://identi.ca/notice/57016690"&gt;no, pero que me sintiese libre de hacerlo yo mismo&lt;/a&gt;. Y eso hice :-)&lt;/p&gt;
&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Señoras y señores, con ustedes, [\@planetdebianes](http://identi.ca/planetdebianes).

&lt;/div&gt;</content><category term="misc"/><category term="español"/><category term="softwarelibre"/><category term="debian"/><category term="planetdebian-es"/><category term="identica"/></entry><entry><title>Configurando la placa de sonido M-Audio Delta 1010LT por defecto</title><link href="https://perezmeyer.com.ar/blog/2010/10/20/configurando-la-placa-de-sonido-m-audio/" rel="alternate"/><published>2010-10-20T00:49:00-03:00</published><updated>2010-10-20T00:49:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2010-10-20:/blog/2010/10/20/configurando-la-placa-de-sonido-m-audio/</id><summary type="html">&lt;p&gt;Me compré una placa &lt;a href="http://www.m-audio.com/products/en_us/Delta1010LT.html"&gt;M-Audio Delta 1010LT&lt;/a&gt; a la que quiero usar como placa por defecto. Pero las cosas ya no son como antes que bastaba desactivar la placa on board:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;cat&lt;span class="w"&gt; &lt;/span&gt;/proc/asound/cards&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;SB&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;:&lt;span class="w"&gt; &lt;/span&gt;HDA-Intel&lt;span class="w"&gt; &lt;/span&gt;-&lt;span class="w"&gt; &lt;/span&gt;HDA&lt;span class="w"&gt; &lt;/span&gt;ATI&lt;span class="w"&gt; &lt;/span&gt;SB
&lt;span class="w"&gt;              &lt;/span&gt;HDA&lt;span class="w"&gt; &lt;/span&gt;ATI&lt;span class="w"&gt; &lt;/span&gt;SB&lt;span class="w"&gt; &lt;/span&gt;at&lt;span class="w"&gt; &lt;/span&gt;0xfe024000&lt;span class="w"&gt; &lt;/span&gt;irq&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;16&lt;/span&gt;
&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;E320SE …&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</summary><content type="html">&lt;p&gt;Me compré una placa &lt;a href="http://www.m-audio.com/products/en_us/Delta1010LT.html"&gt;M-Audio Delta 1010LT&lt;/a&gt; a la que quiero usar como placa por defecto. Pero las cosas ya no son como antes que bastaba desactivar la placa on board:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;cat&lt;span class="w"&gt; &lt;/span&gt;/proc/asound/cards&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;SB&lt;span class="w"&gt;      &lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;:&lt;span class="w"&gt; &lt;/span&gt;HDA-Intel&lt;span class="w"&gt; &lt;/span&gt;-&lt;span class="w"&gt; &lt;/span&gt;HDA&lt;span class="w"&gt; &lt;/span&gt;ATI&lt;span class="w"&gt; &lt;/span&gt;SB
&lt;span class="w"&gt;              &lt;/span&gt;HDA&lt;span class="w"&gt; &lt;/span&gt;ATI&lt;span class="w"&gt; &lt;/span&gt;SB&lt;span class="w"&gt; &lt;/span&gt;at&lt;span class="w"&gt; &lt;/span&gt;0xfe024000&lt;span class="w"&gt; &lt;/span&gt;irq&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;16&lt;/span&gt;
&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;E320SE&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;:&lt;span class="w"&gt; &lt;/span&gt;USB-Audio&lt;span class="w"&gt; &lt;/span&gt;-&lt;span class="w"&gt; &lt;/span&gt;Eye&lt;span class="w"&gt; &lt;/span&gt;320SE
&lt;span class="w"&gt;              &lt;/span&gt;PixArt&lt;span class="w"&gt; &lt;/span&gt;Imaging&lt;span class="w"&gt; &lt;/span&gt;Inc.&lt;span class="w"&gt; &lt;/span&gt;Eye&lt;span class="w"&gt; &lt;/span&gt;320SE&lt;span class="w"&gt; &lt;/span&gt;at&lt;span class="w"&gt; &lt;/span&gt;usb-0000:00:13.1-2,&lt;span class="w"&gt; &lt;/span&gt;full&lt;span class="w"&gt; &lt;/span&gt;speed&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;Generic&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;:&lt;span class="w"&gt; &lt;/span&gt;HDA-Intel&lt;span class="w"&gt; &lt;/span&gt;-&lt;span class="w"&gt; &lt;/span&gt;HD-Audio&lt;span class="w"&gt; &lt;/span&gt;Generic
&lt;span class="w"&gt;              &lt;/span&gt;HD-Audio&lt;span class="w"&gt; &lt;/span&gt;Generic&lt;span class="w"&gt; &lt;/span&gt;at&lt;span class="w"&gt; &lt;/span&gt;0xfdffc000&lt;span class="w"&gt; &lt;/span&gt;irq&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;19&lt;/span&gt;
&lt;span class="m"&gt;3&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;M1010LT&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;:&lt;span class="w"&gt; &lt;/span&gt;ICE1712&lt;span class="w"&gt; &lt;/span&gt;-&lt;span class="w"&gt; &lt;/span&gt;M&lt;span class="w"&gt; &lt;/span&gt;Audio&lt;span class="w"&gt; &lt;/span&gt;Delta&lt;span class="w"&gt; &lt;/span&gt;1010LT
&lt;span class="w"&gt;              &lt;/span&gt;M&lt;span class="w"&gt; &lt;/span&gt;Audio&lt;span class="w"&gt; &lt;/span&gt;Delta&lt;span class="w"&gt; &lt;/span&gt;1010LT&lt;span class="w"&gt; &lt;/span&gt;at&lt;span class="w"&gt; &lt;/span&gt;0xbf00,&lt;span class="w"&gt; &lt;/span&gt;irq&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;21&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;La primera es la placa onboard, que quiero dejar activada por el momento. La segunda, el mic de la webcam. La tercera, el HDMI de la placa de video. Y la cuarta, la M1010LT.&lt;/p&gt;
&lt;p&gt;Y acá viene el problema: la M1010LT no es la placa por defecto, por ende algunas aplicaciones no la van a usar (¿les suena flash player?). Ya me había pasado algo similar antes (la E320SE quedaba por defecto), así que recurrí al archivo &lt;a href="http://alsa.opensrc.org/.asoundrc"&gt;asound.conf&lt;/a&gt;. Mi primer intento fué:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nx"&gt;pcm&lt;/span&gt;&lt;span class="p"&gt;.!&lt;/span&gt;&lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;hw&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;card&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;M1010LT&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;ctl&lt;/span&gt;&lt;span class="p"&gt;.!&lt;/span&gt;&lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;hw&lt;/span&gt;
&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;card&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;M1010LT&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;El resultado: silencio absoluto :-( . Luego usé &lt;a href="http://alsa.opensrc.org/.asoundrc#Simple_script_to_create_an_.asoundrc_file"&gt;el script sugerido en la página de asound.conf&lt;/a&gt; y llegué a:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nx"&gt;pcm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;SB&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;hw&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;card&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;SB&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nx"&gt;ctl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;SB&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;hw&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;card&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;SB&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nx"&gt;pcm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;E320SE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;hw&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;card&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;E320SE&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nx"&gt;ctl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;E320SE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;hw&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;card&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;E320SE&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nx"&gt;pcm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;M1010LT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;hw&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;card&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;M1010LT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nx"&gt;ctl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;M1010LT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;hw&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;card&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;M1010LT&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nx"&gt;pcm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Generic&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;hw&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;card&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Generic&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nx"&gt;ctl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Generic&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;type&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;hw&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;card&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Generic&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nx"&gt;pcm&lt;/span&gt;&lt;span class="p"&gt;.!&lt;/span&gt;&lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;pcm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;M1010LT&lt;/span&gt;
&lt;span class="nx"&gt;ctl&lt;/span&gt;&lt;span class="p"&gt;.!&lt;/span&gt;&lt;span class="k"&gt;default&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;ctl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;M1010LT&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Otra vez, silencio absoluto :-/. Me cansé de buscar en la web y no encontrar soluciones. No uso pulseaudio y no sé si vale la pena usar jack. Bueno, de todas maneras las aplicaciones que usan &lt;a href="http://doc.qt.nokia.com/4.7/phonon-module.html"&gt;phonon&lt;/a&gt; andaban bien, y para los videos podía usar los auriculares. Pero cuando uno tiene que ver un stream en vivo que dura muchas horas (¿les suena el rescate de los 33 mineros?), se hace una molestia. ¿que tal un hack rápido? Cable de audio conectado a la salida de la placa on board y en su otra punta a una de las entradas de la M1010LT. Feo, pero anda.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;La "suerte" a veces ayuda.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ayer, &lt;a href="http://geeksroom.com/2010/10/los-origenes-de-la-cancion-we-no-speak-americano"&gt;siguiendo un link en la web&lt;/a&gt;, dí con unos videos en You Tube. Me puse los auriculares, apreté play y... el sonido salía por los parlantes :S. Un cat /proc/asound/cards me decía que la M1010LT estaba como placa 0. Bien, entonces era posible usarla por defecto, mas allá de que no lo haya logrado con asound.conf. Buscando en la web un poco mas de información sobre toda la que ya busqué, dí con una página &lt;a href="http://forum.vectorlinux.com/index.php?topic=4888.0"&gt;donde explican como setear los módulos de las placas restantes como placa 1&lt;/a&gt; (o lo que siga por defecto). No es &lt;strong&gt;la&lt;/strong&gt; solución, pero al menos es mas prolija que el cable externo :-)&lt;/p&gt;
&lt;p&gt;Por supuesto, lo mejor sería solucionarlo desde asound.conf, pero no lo he logrado aún :-/ . Por cierto, uso &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Actualización 20101025 00:21 ARST:&lt;/strong&gt; parece ser que la cosa no termina ahí. Como puse en un comentario mas abajo, tuve que modificar /etc/modprobe.d/alsa-base.conf. Y encima empecé a dar con un bug: &lt;a href="https://bugs.launchpad.net/alsa-driver/+bug/280847"&gt;la placa no siempre se detecta al arrancar el sistema&lt;/a&gt;. Así que finalmente &lt;a href="https://bugs.launchpad.net/alsa-driver/+bug/280847/comments/9"&gt;hice ésto&lt;/a&gt; en el citado archivo:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;#&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;Options&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;the&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;M1010LT&lt;/span&gt;.
&lt;span class="nv"&gt;alias&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;snd&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nv"&gt;card&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;snd&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nv"&gt;ice1712&lt;/span&gt;
&lt;span class="nv"&gt;options&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;snd&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nv"&gt;ice1712&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;delta1010lt&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;index&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Y si la placa no es detectada, basta ejecutar alsa force-reload como root.&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="hardware"/><category term="m1010lt"/><category term="linux"/><category term="softwarelibre"/><category term="asound"/><category term="debian"/><category term="planetdebian-es"/><category term="alsa"/></entry><entry><title>Ensalada con riñón de vaca</title><link href="https://perezmeyer.com.ar/blog/2010/09/14/ensalada-con-rinon-de-vaca/" rel="alternate"/><published>2010-09-14T23:37:00-03:00</published><updated>2010-09-14T23:37:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2010-09-14:/blog/2010/09/14/ensalada-con-rinon-de-vaca/</id><summary type="html">&lt;p&gt;Mi mamá dice que, en lo que a comidas se refiere, de lo que hay le pongo. Y tiene razón. Hoy salimos de compras con mi novia y mientras ella compraba carnes, dí con un paquetito de riñón de vaca. "Excelente para hacerlos salteados en una ensalada" pensé. Y eso …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Mi mamá dice que, en lo que a comidas se refiere, de lo que hay le pongo. Y tiene razón. Hoy salimos de compras con mi novia y mientras ella compraba carnes, dí con un paquetito de riñón de vaca. "Excelente para hacerlos salteados en una ensalada" pensé. Y eso salió :-)  &lt;/p&gt;
&lt;p&gt;Con ustedes, una mitad de nuestro invitado especial:  &lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG_1494" src="https://perezmeyer.com.ar/images/IMG_1494.JPG"&gt;&lt;/p&gt;
&lt;p&gt;La mitad de un riñón de vaca. &lt;a href="http://creativecommons.org/licenses/by-sa/3.0/"&gt;cc-by-sa 3.0&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;La otra mitad ya estaba en la sartén:  &lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG_1496" src="https://perezmeyer.com.ar/images/IMG_1496.JPG"&gt;&lt;/p&gt;
&lt;p&gt;Riñones en la sartén. &lt;a href="http://creativecommons.org/licenses/by-sa/3.0/"&gt;cc-by-sa 3.0&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Por supuesto, una ensalada no se puede hacer solo con riñón. Por eso incorporamos algunos ingredientes mas:  &lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG_1498" src="https://perezmeyer.com.ar/images/IMG_1498.JPG"&gt;&lt;/p&gt;
&lt;p&gt;Algunos ingredientes mas para la ensalada. &lt;a href="http://creativecommons.org/licenses/by-sa/3.0/"&gt;cc-by-sa 3.0&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;La lista completa:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Zanahoria.&lt;/li&gt;
&lt;li&gt;Lechuga.&lt;/li&gt;
&lt;li&gt;Atún al natural.&lt;/li&gt;
&lt;li&gt;Arvejas (de las congeladas y no en conserva, las conocí gracias a mi novia).&lt;/li&gt;
&lt;li&gt;Aceitunas negras.&lt;/li&gt;
&lt;li&gt;Granos de choclo amarillo.&lt;/li&gt;
&lt;li&gt;Ajo granulado.&lt;/li&gt;
&lt;li&gt;Perejil disecado.&lt;/li&gt;
&lt;li&gt;Pimienta.&lt;/li&gt;
&lt;li&gt;Aceite de oliva.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El resultado final:  &lt;/p&gt;
&lt;p&gt;&lt;img alt="IMG_1499" src="https://perezmeyer.com.ar/images/IMG_1499.JPG"&gt;&lt;/p&gt;
&lt;p&gt;Ensalada de rinón de vaca completa. &lt;a href="http://creativecommons.org/licenses/by-sa/3.0/"&gt;cc-by-sa 3.0&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Espero que no me caiga tan pesado como &lt;a href="http://www.youtube.com/watch?v=fElQRznYseM"&gt;a éste morocho&lt;/a&gt; ;-)&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="ensalada"/><category term="cocina"/><category term="riñón"/><category term="theplatters"/></entry><entry><title>Paquetes semi oficiales de KDE SC 4.5.1</title><link href="https://perezmeyer.com.ar/blog/2010/09/09/paquetes-semi-oficiales-de-kde-sc-451/" rel="alternate"/><published>2010-09-09T21:30:00-03:00</published><updated>2010-09-09T21:30:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2010-09-09:/blog/2010/09/09/paquetes-semi-oficiales-de-kde-sc-451/</id><summary type="html">&lt;div&gt;

[George Kiagiadakis](http://gkiagia.wordpress.com/) envió un [correo](http://lists.debian.org/debian-kde/2010/09/msg00002.html) a la [lista debian-kde](http://lists.debian.org/debian-kde/) anunciando paquetes semi-oficiales de KDE SC 4.5.1, los que se encuentran disponibles en &lt;http://qt-kde.debian.net/&gt;.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Algunos detalles mas del correo:

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

*"Desafortunadamente no todos …&lt;/div&gt;</summary><content type="html">&lt;div&gt;

[George Kiagiadakis](http://gkiagia.wordpress.com/) envió un [correo](http://lists.debian.org/debian-kde/2010/09/msg00002.html) a la [lista debian-kde](http://lists.debian.org/debian-kde/) anunciando paquetes semi-oficiales de KDE SC 4.5.1, los que se encuentran disponibles en &lt;http://qt-kde.debian.net/&gt;.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Algunos detalles mas del correo:

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

*"Desafortunadamente no todos los paquetes están listos, por lo que puede que noten algunos faltantes. Los paquetes fuentes faltantes hasta el momento son kdeaccessibility, kdeadmin, kdegames, kdemultimedia, kdebindings, kdetoys, kdewebdev y kde-l10n como también meta-kde (el paquete kde-standard y misceláneos). A pesar de ésto pueden actualizar todo lo demás a partir de su instalación de KDE SC 4.4.5 usando las instrucciones del sitio (en inglés).*

&lt;/div&gt;

&lt;div&gt;

*  
*

&lt;/div&gt;

&lt;div&gt;

*Una vez que todos los paquetes estén preparados y funcionando, planeamos liberarlos a Debian experimental. Hasta que eso ocurra, todas las actualizaciones o paquetes nuevos irán a ése repositorio.*

&lt;/div&gt;

&lt;div&gt;

*  
*

&lt;/div&gt;

&lt;div&gt;

*Pedimos disculpas for el largo retrazo desde que 4.5.0 fué liberado, pero espero que entiendan las razones detrás de ésto (preparando a Squeeze para que esté listo, trabajo, vida real, vacaciones de verano, pocas personas activas en el equipo, etc...).*

&lt;/div&gt;

&lt;div&gt;

*  
*

&lt;/div&gt;

&lt;div&gt;

*A toda la gente que se ofreció para ayudar: apreciamos su oferta y pedimos disculpas por la falta de documentación acorde. Empaquetar KDE SC no es una tarea fácil y normalmente le recomendamos a los recién llegados que intenten empaquetar algo mas chico primero, como algo de* [*kde-apps.org*](http://kde-apps.org/)*. Intentaremos hacer las cosas mejores en el futuro, documentando mejor nuestro flujo de trabajo y políticas. Si aún quieren ayudar, como pueden ver, todavía hay trabajo por hacer. Además de empaquetar, hay otras cosas que pueden hacer, como actualizar archivos de copyright (lo que encuentro fácil, pero consume mucho tiempo).*

&lt;/div&gt;

&lt;div&gt;

*  
*

&lt;/div&gt;

&lt;div&gt;

*Los mejores deseos,*

&lt;/div&gt;

&lt;div&gt;

*George*

&lt;/div&gt;

&lt;div&gt;

*  
*

&lt;/div&gt;

&lt;div&gt;

*  
*

&lt;/div&gt;

&lt;div&gt;

*PS: Por favor lean bien las instrucciones y por favor reporten los bugs de empaquetamiento aquí (n. del e.: en la* [*lista debian-kde*](http://lists.debian.org/debian-kde/)*) y en irc, pero no en el sistema de seguimiento de bugs de Debian. Gracias por adelantado"*.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Particularmente nunca me pude dar el gusto de compilar KDE SC por mi mismo. Lo intenté un par de veces, pero mi peor enemigo es el tiempo. Y mantener paquetes para Debian **tiene** que ser un gusto y no una carga. Por eso encuentro la sugerencia de George de empaquetar cosas de [kde-apps.org](http://kde-apps.org/) muy adecuada, en especial para los que tenemos poco tiempo ;-) ya que suelen ser programas de menor complejidad de empaquetado.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Por otro lado, si bien estoy lejos de tener muchos conceptos claros, en breve me voy a juntar con unos amigos a enseñarles a empaquetar software. Con un poco de suerte vamos a mantener una serie de paquetes, muy posiblemente relacionados con la electrónica. Espero poder generar sinergia suficiente para que ésto se expanda :-)

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Ah, cabe aclarar que gran parte del trabajo para creaer los paquetes de KDE SC 4.5.1 fué realizado por George (o al menos eso tengo entendido) ¡Gracias George!

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;</content><category term="misc"/><category term="español"/><category term="geek"/><category term="gracias"/><category term="linux"/><category term="softwarelibre"/><category term="debian"/><category term="planetdebian-es"/><category term="kde"/></entry><entry><title>¡Feliz 17 años Debian!</title><link href="https://perezmeyer.com.ar/blog/2010/08/16/feliz-17-anos-debian/" rel="alternate"/><published>2010-08-16T12:24:00-03:00</published><updated>2010-08-16T12:24:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2010-08-16:/blog/2010/08/16/feliz-17-anos-debian/</id><summary type="html">&lt;p&gt;Hace algunos años, un &lt;a href="http://damianv.com.ar/"&gt;tocayo mío&lt;/a&gt; escribía en la lista de correo del &lt;a href="http://lug.fi.uba.ar/"&gt;LugFI&lt;/a&gt; una frase que decía algo así como "No entiendo como la gente no usa &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt;". Tamaña curiosidad me agarró que, un mes antes de su release oficial, y por no tener banda ancha aún, llegaban desde …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hace algunos años, un &lt;a href="http://damianv.com.ar/"&gt;tocayo mío&lt;/a&gt; escribía en la lista de correo del &lt;a href="http://lug.fi.uba.ar/"&gt;LugFI&lt;/a&gt; una frase que decía algo así como "No entiendo como la gente no usa &lt;a href="http://www.debian.org/"&gt;Debian&lt;/a&gt;". Tamaña curiosidad me agarró que, un mes antes de su release oficial, y por no tener banda ancha aún, llegaban desde Buenos Aires dos DVDs con un snapshot de &lt;a href="http://www.debian.org/releases/sarge/"&gt;Debian Sarge&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt;



&lt;/div&gt;

&lt;div&gt;

Casi siete años mas tarde, una [DebConf](http://debconf8.debconf.org/) y un montón de buenos momentos, yo mismo me hago esa pregunta.

&lt;/div&gt;

&lt;div&gt;



&lt;/div&gt;

&lt;p&gt;[¡¡¡Feliz cumpleaños Debian!!!]{.Apple-style-span style="font-size: x-large;"}&lt;/p&gt;
&lt;p&gt;Si sentís lo mismo que yo, no dudes en &lt;strong&gt;&lt;a href="http://thank.debian.net/"&gt;decir gracias&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="geek"/><category term="debconf8"/><category term="felicitaciones"/><category term="gracias"/><category term="softwarelibre"/><category term="debian"/><category term="planetdebian-es"/><category term="lugfi"/></entry><entry><title>Diego: al fin voy a tener un buen recuerdo tuyo</title><link href="https://perezmeyer.com.ar/blog/2010/07/03/diego-al-fin-voy-tener-un-buen-recuerdo/" rel="alternate"/><published>2010-07-03T20:10:00-03:00</published><updated>2010-07-03T20:10:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2010-07-03:/blog/2010/07/03/diego-al-fin-voy-tener-un-buen-recuerdo/</id><summary type="html">&lt;p&gt;Estimado &lt;a href="http://es.wikipedia.org/wiki/Diego_Armando_Maradona"&gt;Diego&lt;/a&gt;:  &lt;/p&gt;
&lt;p&gt;Tengo que admitirlo, no soy una persona a la que le interese mucho el fútbol. Criado como riverplatense, con ya casi 28 años de edad, hasta el día de hoy no tenía un buen recuerdo tuyo. Ésos venían de documentales o apasionadas historias de gente mas grande que …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Estimado &lt;a href="http://es.wikipedia.org/wiki/Diego_Armando_Maradona"&gt;Diego&lt;/a&gt;:  &lt;/p&gt;
&lt;p&gt;Tengo que admitirlo, no soy una persona a la que le interese mucho el fútbol. Criado como riverplatense, con ya casi 28 años de edad, hasta el día de hoy no tenía un buen recuerdo tuyo. Ésos venían de documentales o apasionadas historias de gente mas grande que yo. Tu imagen fué siempre la de un gran jugador venido a menos por las drogas, que se metía en escándalos de poca monta, una vida que no te envidio en lo mas mínimo.  &lt;/p&gt;
&lt;p&gt;Debo admitir que cuando me enteré que ibas a ser el director técnico de la Selección Argentina sentí miedo que fueras a arruinar nuestra (poca) buena imagen como argentinos otra vez, haciéndo algún escándalo (bueno, &lt;a href="http://www.elmundo.es/elmundodeporte/2009/10/15/futbol/1255566051.html"&gt;algo de eso hiciste&lt;/a&gt;) o con algún otro problema de dopping.  &lt;/p&gt;
&lt;p&gt;Tampoco esperaba grandes resultados. De hecho, no esperaba que pasemos la primera ronda del mundial.  &lt;/p&gt;
&lt;p&gt;Pero debo admitirlo: lo lograste. Lograste que al menos tenga una buena imagen tuya que haya presenciado yo mismo. Lograste que te gane algo de respeto, mas del que alguna vez pensaba llegar a tenerte. Y, al menos por eso, debo presentarte mis disculpas. Y no olvidarme de darte las gracias, la Selección hizo un muy buen trabajo representándonos, mas allá de los resultados.  &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.canchallena.com/1280975-querido-diego-es-hora-de-decir-perdon-y-gracias"&gt;Querido Diego: es hora de decir perdón y gracias&lt;/a&gt;.&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="gracias"/><category term="fútbol"/><category term="perdón"/></entry><entry><title>Generar paquetes Debian a través de CMake</title><link href="https://perezmeyer.com.ar/blog/2010/06/30/crear-paquetes-debian-con-cmakegenerar/" rel="alternate"/><published>2010-06-30T21:30:00-03:00</published><updated>2010-06-30T21:30:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2010-06-30:/blog/2010/06/30/crear-paquetes-debian-con-cmakegenerar/</id><summary type="html">&lt;p&gt;This post is also &lt;a href="http://perezmeyer.blogspot.com/2010/06/on-creating-debian-packages-with-cmake.html"&gt;available in english&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Un compañero de trabajo insiste en &lt;a href="http://www.itk.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29"&gt;generar paquetes Debian a través de CMake&lt;/a&gt;. Pero yo pienso (al igual que muchas personas a las que le pregunté por IRC) que es una mala idea, en especial considerando los archivos copyright y control. ¿Que opinan …&lt;/p&gt;</summary><content type="html">&lt;p&gt;This post is also &lt;a href="http://perezmeyer.blogspot.com/2010/06/on-creating-debian-packages-with-cmake.html"&gt;available in english&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Un compañero de trabajo insiste en &lt;a href="http://www.itk.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29"&gt;generar paquetes Debian a través de CMake&lt;/a&gt;. Pero yo pienso (al igual que muchas personas a las que le pregunté por IRC) que es una mala idea, en especial considerando los archivos copyright y control. ¿Que opinan ustedes del asunto?&lt;/p&gt;</content><category term="misc"/><category term="español"/><category term="debian"/><category term="planetdebian-es"/><category term="cmake"/></entry><entry><title>On creating Debian packages with CMake</title><link href="https://perezmeyer.com.ar/blog/2010/06/30/on-creating-debian-packages-with-cmake/" rel="alternate"/><published>2010-06-30T21:19:00-03:00</published><updated>2010-06-30T21:19:00-03:00</updated><author><name>Lisandro Damián Nicanor Pérez Meyer</name></author><id>tag:perezmeyer.com.ar,2010-06-30:/blog/2010/06/30/on-creating-debian-packages-with-cmake/</id><content type="html">&lt;p&gt;A co-worker of mine insists on &lt;a href="http://www.itk.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29"&gt;creating Debian packages trough cmake&lt;/a&gt; instead of doing them as usual. But I think (as many other people I asked trough IRC) that this is a bad idea, specially considering copyright and control files. What's you opinion on this topic?&lt;/p&gt;</content><category term="misc"/><category term="english"/><category term="debian"/><category term="cmake"/></entry></feed>