+ <div class="entry">
+ <div class="title"><a href="http://people.skolelinux.org/pere/blog/The_life_and_death_of_a_laptop_battery.html">The life and death of a laptop battery</a></div>
+ <div class="date">24th September 2015</div>
+ <div class="body"><p>When I get a new laptop, the battery life time at the start is OK.
+But this do not last. The last few laptops gave me a feeling that
+within a year, the life time is just a fraction of what it used to be,
+and it slowly become painful to use the laptop without power connected
+all the time. Because of this, when I got a new Thinkpad X230 laptop
+about two years ago, I decided to monitor its battery state to have
+more hard facts when the battery started to fail.</p>
+
+<img src="http://people.skolelinux.org/pere/blog/images/2015-09-24-laptop-battery-graph.png"/>
+
+<p>First I tried to find a sensible Debian package to record the
+battery status, assuming that this must be a problem already handled
+by someone else. I found
+<a href="https://tracker.debian.org/pkg/battery-stats">battery-stats</a>,
+which collects statistics from the battery, but it was completely
+broken. I sent a few suggestions to the maintainer, but decided to
+write my own collector as a shell script while I waited for feedback
+from him. Via
+<a href="http://www.ifweassume.com/2013/08/the-de-evolution-of-my-laptop-battery.html">a
+blog post about the battery development on a MacBook Air</a> I also
+discovered
+<a href="https://github.com/jradavenport/batlog.git">batlog</a>, not
+available in Debian.</p>
+
+<p>I started my collector 2013-07-15, and it has been collecting
+battery stats ever since. Now my
+/var/log/hjemmenett-battery-status.log file contain around 115,000
+measurements, from the time the battery was working great until now,
+when it is unable to charge above 7% of original capasity. My
+colletor shell script is quite simple and look like this:</p>
+
+<pre>
+#!/bin/sh
+# Inspired by
+# http://www.ifweassume.com/2013/08/the-de-evolution-of-my-laptop-battery.html
+# See also
+# http://blog.sleeplessbeastie.eu/2013/01/02/debian-how-to-monitor-battery-capacity/
+logfile=/var/log/hjemmenett-battery-status.log
+
+files="manufacturer model_name technology serial_number \
+ energy_full energy_full_design energy_now cycle_count status"
+
+if [ ! -e "$logfile" ] ; then
+ (
+ printf "timestamp,"
+ for f in $files; do
+ printf "%s," $f
+ done
+ echo
+ ) > "$logfile"
+fi
+
+log_battery() {
+ # Print complete message in one echo call, to avoid race condition
+ # when several log processes run in parallell.
+ msg=$(printf "%s," $(date +%s); \
+ for f in $files; do \
+ printf "%s," $(cat $f); \
+ done)
+ echo "$msg"
+}
+
+cd /sys/class/power_supply
+
+for bat in BAT*; do
+ (cd $bat && log_battery >> "$logfile")
+done
+</pre>
+
+<p>The script is called when the power management system detect a
+change in the power status (power plug in or out), and when going into
+and out of hibernation and suspend. In addition, it collect a value
+every 10 minutes. This make it possible for me know when the battery
+is discharging, charging and how the maximum charge change over time.
+The code for the Debian package
+<a href="https://github.com/petterreinholdtsen/battery-status">is now
+available on github</a>.</p>
+
+<p>The collected log file look like this:</p>
+
+<pre>
+timestamp,manufacturer,model_name,technology,serial_number,energy_full,energy_full_design,energy_now,cycle_count,status,
+1376591133,LGC,45N1025,Li-ion,974,62800000,62160000,39050000,0,Discharging,
+[...]
+1443090528,LGC,45N1025,Li-ion,974,4900000,62160000,4900000,0,Full,
+1443090601,LGC,45N1025,Li-ion,974,4900000,62160000,4900000,0,Full,
+</pre>
+
+<p>I wrote a small script to create a graph of the charge development
+over time. This graph depicted above show the slow death of mylaptop
+battery.</p>
+
+<p>But why is this happening? Why are my laptop batteries always
+dying in a year or two, while the batteries of space probes and
+satellites keep working year after year. If we are to believe
+<a href="http://batteryuniversity.com/learn/article/how_to_prolong_lithium_based_batteries">Battery
+University</a>, the cause is me charging the battery whenever I have a
+chance, and the fix is to not charge the Lithium-ion batteries to 100%
+all the time, but to stay below 90% of full charge most of the time.
+I've been told that the Tesla electric cars
+<a href="http://my.teslamotors.com/de_CH/forum/forums/battery-charge-limit">limit
+the charge of their batteries to 80%</a>, with the option to charge to
+100% when preparing for a longer trip (not that I would want a car
+like Tesla where rights to privacy is abandoned, but that is another
+story), which I guess is the option we should have for laptops on
+Linux too.</p>
+
+<p>Is there a good and generic way with Linux to tell the battery to
+stop charging at 80%, unless requested to charge to 100% once in
+preparation for a longer trip? I found
+<a href="http://askubuntu.com/questions/34452/how-can-i-limit-battery-charging-to-80-capacity">one
+recipe on askubuntu for Ubuntu to limit charging on Thinkpad to
+80%</a>, but could not get it to work (kernel module refused to
+load).</p>
+
+<p>I wonder why the battery capacity was reported to be more than 100%
+at the start. I also wonder why the "full capacity" increases some
+times, and if it is possible to repeat the process to get the battery
+back to design capacity. And I wonder if the discharge and charge
+speed change over time, or if this stay the same. I did not yet try
+to write a tool to calculate the derivative values of the battery
+level, but suspect some interesting insights might be learned from
+those.</p>
+</div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
<div class="entry">
<div class="title"><a href="http://people.skolelinux.org/pere/blog/Book_cover_for_the_Free_Culture_book_finally_done.html">Book cover for the Free Culture book finally done</a></div>
<div class="date"> 3rd September 2015</div>
</div>
<div class="padding"></div>
- <div class="entry">
- <div class="title"><a href="http://people.skolelinux.org/pere/blog/Hvem_f_rer_Medietilsynet_tilsyn_med_.html">Hvem fører Medietilsynet tilsyn med?</a></div>
- <div class="date">28th June 2015</div>
- <div class="body"><p>I en global verden med eierskap på tvers, trengs det informasjon om
-hvem som har kontrollen i selskaper og bedrifter. Og for å få tilgang
-til slik informasjon for alle som ønsker å analysere eierskap, holder
-med ikke med nasjonale databaser over eierskap, det må globale
-samledatabaser med åpne data til. Heldigvis finnes det en
-internasjonal bevegelse for å gjøre selskapsinformasjon for alle land
-offentlig tilgjengelig. En slik database heter
-<a href="http://opencorporates.com">OpenCorporates</a>, der
-informasjonen er gratis tilgjengelig med en "del på samme
-vilkår"-lisens. De samler inn selskapsinformasjon, eierskap,
-konsesjonstildelinger og lignende. De manglet ganske mye for Norge,
-da bruksvilkårene til Norsk offentlig informasjon i stor grad
-blokkerer OpenCorporates fra å samle den inn.</p>
-
-<p>Men jeg er jo involvert i
-<a href="http://www.frikanalen.no/">Frikanalen</a>, som har
-TV-konsesjon, og tenkte det kunne være fint om informasjon om alle
-mediakonsesjoner var tilgjengelig i OpenCorporates, så jeg sendte
-avgårde følgende spørsmål til Medietilsynet 2015-06-22:</p>
-
-<blockquote>
-<p>Hei. Finnes det en oversikt over enhetene som Mediatilsynet fører
-tilsyn med som åpne data? Jeg lette etter den på
-<URL:<a href="http://data.norge.no/">http://data.norge.no/</a>> og
-<URL:<a href="http://hotell.difi.no/">http://hotell.difi.no/</a>> uten å
-finne noe der, og fant heller ikke noe under
-<URL:<a href="http://www.medietilsynet.no/">http://www.medietilsynet.no/</a>>.</p>
-
-<p>Jeg tenker på alle som har fått kringkastingskonsesjon og alle som
-er omtalt under
-<URL:<a href="http://www.medietilsynet.no/mediebildet/">http://www.medietilsynet.no/mediebildet/</a>>.</p>
-
-<p>Jeg skulle gjerne hatt dette maskinlesbart, og inkludert
-organisasjonsnummer og hva slags forhold mediatilsynet har til
-organisasjonene. Tanken er å importere det i
-<URL:<a href="https://opencorporates.com/">https://opencorporates.com/</a>> for analyse, så det bør ikke ha
-bruksbegresninger som gjør dette umulig.</p>
-</blockquote>
-
-<p>To dager senere fikk jeg svar, med de datasettene de hadde
-tilgjengelig. Svaret fra Hanne Sekkelsten hos Medietilsynet var
-informativt og imøtekommende.</p>
-
-<blockquote>
-<p>Vi viser til din e-post av 22. juni, der du ber om å få tilsendt oversikter
-over aktører Medietilsynet fører tilsyn med.</p>
-
-<p>Medietilsynet fører tilsyn med kringkastere og audiovisuelle
-bestillingstjenester som omfattes av kringkastingsloven, og med
-eierskap i aviser, fjernsyn radio og elektroniske medier etter
-medieeierskapsloven. I tillegg vil Medietilsynet etter at
-beskyttelsesloven trer i kraft fra 1. juli ha tilsyn med en rekke nye
-aktører. Nærmere informasjon om den nye loven finnes på Medietilsynets
-nettsted, her:
-<a href="http://www.medietilsynet.no/mediebransjen/bildeprogramloven/">http://www.medietilsynet.no/mediebransjen/bildeprogramloven/</a>
-. Vi har ikke utarbeidet oversikter over alle aktørene, men vi sender
-deg her de listene vi har utarbeidet, hentet fra våre databaser. Vi
-har dessverre ikke ferdige rapporter som inneholder
-organisasjonsnummer. Dersom du ønsker flere opplysninger ber vi om at
-du tar kontakt med oss slik at vi kan finne ut av hvilke opplysninger
-du trenger, og hvilke vi kan fremskaffe.</p>
-
-<p>Vedlagt følger:
-
-<ul>
-
- <li>Konsesjoner - lokalradio FM pr. 31.12.2014 [<a href="http://people.skolelinux.org/pere/blog/images/2015-06-28-medietilsynsdata/Konsesjoner_lokalradio_fm_felles_31.12.2014.pdf">PDF (original)</a>]</li>
-
- <li>Konsesjoner - lokalfjernsyn i det digitale bakkenettet for fjernsyn, pr. mars 2015 [<a href="http://people.skolelinux.org/pere/blog/images/2015-06-28-medietilsynsdata/Lokalfjernsyn_DTT_konsesjoner_mars_2015.docx">DOCX (original)</a>,
-<a href="http://people.skolelinux.org/pere/blog/images/2015-06-28-medietilsynsdata/Lokalfjernsyn_DTT_konsesjoner_mars_2015.pdf">PDF</a>]</li>
-
- <li>Konsesjoner - DAB-radio, status mars 2015 [<a href="http://people.skolelinux.org/pere/blog/images/2015-06-28-medietilsynsdata/Konsesjonaernummer_DAB.xps">XPS (original)</a>,
-<a href="http://people.skolelinux.org/pere/blog/images/2015-06-28-medietilsynsdata/Konsesjonaernummer_DAB.pdf">PDF</a>]</li>
-
- <li>Registreringspliktige kringkastere - status mars 2015: [<a href="http://people.skolelinux.org/pere/blog/images/2015-06-28-medietilsynsdata/Registreringspliktige_kringkastere_register_-_aktive.xps">XPS (original)</a>, <a href="http://people.skolelinux.org/pere/blog/images/2015-06-28-medietilsynsdata/Registreringspliktige_kringkastere_register_-_aktive.pdf">PDF</a>]
-
- <ul>
- <li>Kabelsendt fjernsyn
- <li>Satellittsendt fjernsyn
- <li>Nett-tv
- <li>Kabelsendt radio
- <li>Satellittsendt radio
- <li>Nett-radio
- </ul></li>
-</ul>
-
-<p>Vi må ta forbehold om at det kan være enkelte feil i oversiktene
-siden disse ikke er oppdaterte pr. dags dato. Vi vil foreta nye
-oppdateringer i august.</p>
-
-<p>Med hilsen</p>
-
-<p>Hanne Nistad Sekkelsten
-<br>Seniorrådgiver | Senior Legal Adviser
-<br>Medietilsynet | Norwegian Media Authority
-<br>A: Nygata 4, NO-1607 Fredrikstad
-<br>T: [telefonnummer fjernet]
-<br>E: [adresse fjernet] | W: www.medietilsynet.no
-</p>
-</blockquote>
-
-<p>Desverre er formatene for ustrukturerte til maskinell behandling og
-mangler endel informasjon, men det er gode oversikter over hvem
-Medietilsynet fører tilsyn med. Filene er på formatene PDF, XPS
-(XML-basert PDF-lignende format fra Microsoft) og DOCX, så det vil
-være en stor jobb å strukturere informasjonen på en måte som kan
-importeres i OpenCorporates. Svaret er ikke i tråd med
-<a href="http://lovdata.no/dokument/SF/forskrift/2013-04-05-959">Forskrift
-om IT-standarder i offentlig forvaltning</a> som sier epostvedlegg
-skal sendes som PDF, så jeg har gjorde PDF-utgaver av XPS og
-DOCX-utgavene tilgjengelig for å gjøre det enklere for alle å se
-innholdet.</p>
-</div>
- <div class="tags">
-
-
- Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn</a>.
-
-
- </div>
- </div>
- <div class="padding"></div>
-
<p style="text-align: right;"><a href="index.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS feed" width="36" height="14" /></a></p>
<div id="sidebar">
<li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
-<li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (1)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
</ul></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (111)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (112)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (153)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (287)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (288)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>