X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/385bf1a56d10250e8797ea9e52836c9a33990967..781565b4015eb9f474a91f74091ff6ce5a99f128:/blog/index.rss diff --git a/blog/index.rss b/blog/index.rss index 192d195985..e788da2c9f 100644 --- a/blog/index.rss +++ b/blog/index.rss @@ -6,6 +6,376 @@ http://people.skolelinux.org/pere/blog/ + + Frikanalen - Complete TV station organised using the web + http://people.skolelinux.org/pere/blog/Frikanalen___Complete_TV_station_organised_using_the_web.html + http://people.skolelinux.org/pere/blog/Frikanalen___Complete_TV_station_organised_using_the_web.html + Sun, 3 Mar 2013 07:15:00 +0100 + <p>Do you want to set up your own TV station, schedule videos and +broadcast them on the air? Using free software? With video on demand +support using +<a href="http://www.digistan.org/open-standard:definition">free and +open standards</a>? Included a web based video stream as well? And +administrate it all in your web browser from anywhere in the world? A +few years now the Norwegian public access TV-channel +<a href="http://www.frikanalen.no/">Frikanalen</a> have been building a +system to do just this. The source code for the solution is licensed +using the GNU LGPL, and +<a href="http://github.com/Frikanalen">available from github</a>.</p> + +<p>The idea is simple. You upload a video file over the web, and +attach meta information to the file. You select a time slot in the +program schedule, and when the time come it is played on the air and +in the web stream. It is also made available in a video on demand +solution for anyone to see it also outside its scheduled time. All +you need to run a TV station - using your web browser.</p> + +<p>There are several parts to this web based solution. I'll mention +the three most important ones. The first part is the database of +videos and the schedule. This is written in Django and include a REST +API. The current database is SQLite, but the plan is to migrate it to +PostgreSQL. At the moment this system can be tested on +<a href="http://beta.frikanalen.tv/">beta.frikanalen.tv</a>. The +second part is the video playout, taking the schedule information from +the database and providing a video stream to broadcast. This is done +using <a href="http://www.casparcg.com/">CasparCG from SVT</a> and +<a href="http://www.mltframework.org/">Media Lovin' Toolkit</a>. Video +signal distribution is handled using +<a href="http://www.ob-encoder.com/">Open Broadcast Encoder</a>. The +third part is the converter, handling the transformation of uploaded +video files to a format useful for broadcasting, streaming and video +on demand. It is still very much work in progress, so it is not yet +decided what it will end up using. Note that the source of the latter +two parts are not yet pushed to github. The lead author want to clean +them up a bit more first.</p> + +<p>The development is coordinated on the +<a href="irc://irc.freenode.net/%23frikanalen">#frikanalen IRC +channel</a> (irc.freenode.net), and discussed on +<a href="http://lists.nuug.no/mailman/listinfo/frikanalen">the +frikanalen mailing list</a>. The lead developer is Benjamin Bruheim +(phed on IRC). Anyone is welcome to participate in the +development.</p> + + + + + Dr. Richard Stallman, founder of Free Software Foundation, give a talk in Oslo March 1st 2013 + http://people.skolelinux.org/pere/blog/Dr__Richard_Stallman__founder_of_Free_Software_Foundation__give_a_talk_in_Oslo_March_1st_2013.html + http://people.skolelinux.org/pere/blog/Dr__Richard_Stallman__founder_of_Free_Software_Foundation__give_a_talk_in_Oslo_March_1st_2013.html + Wed, 27 Feb 2013 20:20:00 +0100 + <p>Dr. <a href="http://www.stallman.org/">Richard Stallman</a>, +founder of <a href="http://www.fsf.org/">Free Software Foundation</a>, +is giving <a href="http://www.nuug.no/aktiviteter/20130301-rms/">a +talk in Oslo March 1st 2013 17:00 to 19:00</a>. The event is public +and organised by <a href="">Norwegian Unix Users Group (NUUG)</a> +(where I am the chair of the board) and +<a href="http://www.friprog.no/">The Norwegian Open Source Competence +Center</a>. The title of the talk is «The Free Software Movement and +GNU», with this description: + +<p><blockquote> +The Free Software Movement campaigns for computer users' freedom to +cooperate and control their own computing. The Free Software Movement +developed the GNU operating system, typically used together with the +kernel Linux, specifically to make these freedoms possible. +</blockquote></p> + +<p>The meeting is open for everyone. Due to space limitations, the +doors opens for NUUG members at 16:15, and everyone else at 16:45. I +am really curious how many will show up. See +<a href="http://www.nuug.no/aktiviteter/20130301-rms/">the event +page</a> for the location details.</p> + + + + + Skolelinux-intervju: Helge Tore Høyland + http://people.skolelinux.org/pere/blog/Skolelinux_intervju__Helge_Tore_H_yland.html + http://people.skolelinux.org/pere/blog/Skolelinux_intervju__Helge_Tore_H_yland.html + Fri, 22 Feb 2013 08:10:00 +0100 + <p>Etter en lang pause og travle uker har jeg endelig klart å få +samlet et nytt intervju med en av folkene i +<a href="http://www.skolelinux.org/">Skolelinux</a>-miljøet. +Denne gang er det Helge Tore Høyland, en mangeårig bidragsyter på +epostlistene og ellers i prosjektet.</p> + +<p><strong>Hvem er du, og hva driver du med til daglig?</strong></p> + +<p>Eg er IT-konsulent/teknikker hjå eit firma i Steinkjer med navn +<a href="http://unoit.no/">Uno IT</a>. Uno IT er eit lite firma som +drifter nettverk og maskiner for små og mellomstore firma +Steinkjer-området. Per dags dato er me 2 ansatte. Min faglege bakgrunn +er Fagbrev som it-teknikker, samt nokre fag innen nettverk- og +server-drift frå HiST og NTNU. Dagleg arbeid består i oppsett av nye +maskiner og hjelp til sluttbrukere, samt oppsett og vedlikehold av eit +vidt spekter av fagsystemer ute hjå kunder. Erfaring med Skolelinux +har eg hatt i forbindelse med drifting av +<a href="http://www.bjorkly.no/">Bjørkly skule</a>, ein privat +grunnskule i Namsos-området. I dag har skulen 65 elever, 15 lærere, 1 +hovedserver og ca 60 klienter som kjører halvtjukt. Eg har bygd og +driftet systemet sidan summaren 2006.</p> + +<p><strong>Hvordan kom du i kontakt med Skolelinux-prosjektet?</strong></p> + +<p>Eg kom i kontakt med Skolelinux-prosjektet via ein artikkel i eit +fagblad, som eg ikkje lenger hugsar namnet på. I og med at eg allereie +hadde pusla med nettverk for ein annan skule, fatta eg straks +interesse for prosjektet.</p> + +<p><strong>Hva er fordelene med Skolelinux slik du ser det?</strong></p> + +<p>Fordelane med Skolelinux er sentralisert administrasjon og svært +mange gode verktøy «ut av boksen». Veldig kjekt å kunne drifte 60 +klientar med berre å «bry» seg med ein server. Levetid for systemets +hardware er og ein veldig fin effekt. I tillegg kjem fordelar som økt +sikkerhet og mindre lisenskostnader. Etter min erfaring er det og +mykje mindre driftskostnader med eit slikt system enn konkurrerande +system, pga enkelhet med sentralisert administrasjon. På grunn av at +Skolelinux er basert på Debian er det òg svært stabilt.</p> + +<p><strong>Hva er ulempene med Skolelinux slik du ser det?</strong></p> + +<p>Ulemper er mangel på vilje til å følge standarer ute i markedet, +som fører til mangel på støtte til nokre mykje brukte ting. Flash og +Java er typiske eksempel. Sidan Debian satsar på stabilitet framfor å +ha nyeste pakke av eit program, kan ein i nokre tilfeller kome borti +at program vert «for gamle». Det er spesielt nettlesaren som er +utsett. Mangel på vilje til å utvikle pedagogisk programvare, i Noreg, +for «alle» platformer fører òg til noko hovudbry.</p> + +<p><strong>Hvilken fri programvare bruker du til daglig?</strong></p> + +<p>Til dagleg bruker eg svært mange forskjellige «fri programvare» +program. Firefox, Thunderbird, Freecommander, ImgBurn, Clonezilla, +OCS inventory, Icinga, Skolelinux, SystemRescueCD og mykje meir.</p> + +<p><strong>Hvilken strategi tror du er den rette å bruke for å få +skoler til å ta i bruk fri programvare?</strong></p> + +<p>Strategisk må ein fokusere på at sluttbruker eigentleg ikkje er så +fokusert på at det er fri programvare men at det skal «berre fungere». +Gjer det enkelt å bruker og ikkje minst å administrere. For Skolelinux +sin del må ein få eit betre fokus på overganger. Utbytting av servere +må gå meir automatisk, import og eksport av brukerbase og maskinbase +med meir må kunne gå enkelt og oppgradering til neste versjon må bli +mykje meir automatisk og gjennomtesta. Ein må unngå at ein må sette +opp frå start når ein byter ut ein server eller oppgraderer til neste +versjon. For å få Skolelinux til å bli eit betre alternativ for skular +må ein ha fokus på nettlesaren. Denne må bli «up to date» og støtte +dei protokollar og tillegg som vert brukt av forlag med meir. Etter +kvart som meir og meir blir flytta ut i «skya» vert dette viktigare og +viktigare. Ein kunne ynskje og jobbe for at forlag med fleire tar i +bruk opne standarer, men inntil det skjer, må systemet kunne brukast +mot desse fagsystema.</p> + +<p>For meg har prosjektet med Skolelinux vore ein svært artig og +lærerik prosess. Miljøet rundt er ikkje enormt stort, dog stort nok, +men det er svært hjelpevillig og engasjert.</p> + + + + + Frikart - Free Garmin maps for European countries based on OpenStreetmap + http://people.skolelinux.org/pere/blog/Frikart___Free_Garmin_maps_for_European_countries_based_on_OpenStreetmap.html + http://people.skolelinux.org/pere/blog/Frikart___Free_Garmin_maps_for_European_countries_based_on_OpenStreetmap.html + Fri, 15 Feb 2013 09:30:00 +0100 + <p>If you, like me, want an updated a map for your Garmin GPS, there is +now a great source of free maps available from +<a href="http://www.frikart.no/garmin/index.html">Frikart</a>. To +download a map, just click on the country you are interested in, and +download the map type you want. There are 8 different maps available, +using different colours and data selection. Pick one of Roadmap, Topo +Summer, Topo Winter, Roadmap II, Topo Summer II, Topo Winter II, +"Trails - overlay map" and "Cross country - overlay map" (see the web +page for descriptions).</p> + +<p>The maps are updated weekly, so if you find something wrong in the +map you can just edit the +<a href="http://www.openstreetmap.org/">OpenStreetmap</a> map source +(anyone can contribute) and fetch a fixed map a week later. :)</p> + + + + + "Electronic" paper invoices - using vCard in a QR code + http://people.skolelinux.org/pere/blog/_Electronic__paper_invoices___using_vCard_in_a_QR_code.html + http://people.skolelinux.org/pere/blog/_Electronic__paper_invoices___using_vCard_in_a_QR_code.html + Tue, 12 Feb 2013 10:30:00 +0100 + <p>Here in Norway, electronic invoices are spreading, and the +<a href="http://www.anskaffelser.no/e-handel/faktura">solution promoted +by the Norwegian government</a> require that invoices are sent through +one of the approved facilitators, and it is not possible to send +electronic invoices without an agreement with one of these +facilitators. This seem like a needless limitation to be able to +transfer invoice information between buyers and sellers. My preferred +solution would be to just transfer the invoice information directly +between seller and buyer, for example using SMTP, or some HTTP based +protocol like REST or SOAP. But this might also be overkill, as the +"electronic" information can be transferred using paper invoices too, +using a simple bar code. My bar code encoding of choice would be QR +codes, as this encoding can be read by any smart phone out there. The +content of the code could be anything, but I would go with +<a href="http://en.wikipedia.org/wiki/VCard">the vCard format</a>, as +it too is supported by a lot of computer equipment these days.</p> + +<p>The vCard format support extentions, and the invoice specific +information can be included using such extentions. For example an +invoice from SLX Debian Labs (picked because we +<a href="http://www.linuxiskolen.no/slxdebianlabs/donations.html">ask +for donations to the Debian Edu project</a> and thus have bank account +information publicly available) for NOK 1000.00 could have these extra +fields:</p> + +<p><pre> +X-INVOICE-NUMBER:1 +X-INVOICE-AMOUNT:NOK1000.00 +X-INVOICE-KID:123412341234 +X-INVOICE-MSG:Donation to Debian Edu +X-BANK-ACCOUNT-NUMBER:16040884339 +X-BANK-IBAN-NUMBER:NO8516040884339 +X-BANK-SWIFT-NUMBER:DNBANOKKXXX +</pre></p> + +<p>The X-BANK-ACCOUNT-NUMBER field was proposed in a stackoverflow +answer regarding +<a href="http://stackoverflow.com/questions/10045664/storing-bank-account-in-vcard-file">how +to put bank account information into a vCard</a>. For payments in +Norway, either X-INVOICE-KID (payment ID) or X-INVOICE-MSG could be +used to pass on information to the seller when paying the invoice.</p> + +<p>The complete vCard could look like this:</p> + +<p><pre> +BEGIN:VCARD +VERSION:2.1 +ORG:SLX Debian Labs Foundation +ADR;WORK:;;Gunnar Schjelderups vei 29D;OSLO;;0485;Norway +URL;WORK:http://www.linuxiskolen.no/slxdebianlabs/ +EMAIL;PREF;INTERNET:sdl-styret@rt.nuug.no +REV:20130212T095000Z +X-INVOICE-NUMBER:1 +X-INVOICE-AMOUNT:NOK1000.00 +X-INVOICE-MSG:Donation to Debian Edu +X-BANK-ACCOUNT-NUMBER:16040884339 +X-BANK-IBAN-NUMBER:NO8516040884339 +X-BANK-SWIFT-NUMBER:DNBANOKKXXX +END:VCARD +</pre></p> + +<p>The resulting QR code created using +<a href="http://fukuchi.org/works/qrencode/">qrencode</a> would look +like this, and should be readable (and thus checkable) by any smart +phone, or for example the <a href="http://zbar.sourceforge.net/">zbar +bar code reader</a> and feed right into the approval and accounting +system.</p> + +<p><img src="http://people.skolelinux.org/pere/blog/images/2013-02-12-qr-invoice.png"></p> + +<p>The extension fields will most likely not show up in any normal +vCard reader, so those parts would have to go directly into a system +handling invoices. I am a bit unsure how vCards without name parts +are handled, but a simple test indicate that this work just fine.</p> + +<p><strong>Update 2013-02-12 11:30</strong>: Added KID to the proposal +based on feedback from Sturle Sunde.</p> + + + + + Litt statistikk over offentlige anbud annonsert via Doffin siden 2008 + http://people.skolelinux.org/pere/blog/Litt_statistikk_over_offentlige_anbud_annonsert_via_Doffin_siden_2008.html + http://people.skolelinux.org/pere/blog/Litt_statistikk_over_offentlige_anbud_annonsert_via_Doffin_siden_2008.html + Mon, 11 Feb 2013 14:40:00 +0100 + <p>For et halvt år siden +<a href="http://people.skolelinux.org/pere/blog/SQL_database_med_anbud_publisert_p__Doffin.html">satte +jeg opp et system for å lage en database</a> med informasjon om +offentlige anbud fra <a href="http://www.doffin.no/">Doffin</a> ved +<a href="https://scraperwiki.com/scrapers/norwegian-doffin/">hjelp av +Scraperwiki</a>. Nå er databasen så vidt jeg kan se komplett, med +data helt tilbake til 2008. Her er litt statistikk over +<a href="https://api.scraperwiki.com/api/1.0/datastore/sqlite?format=htmltable&name=norwegian-doffin&query=select%20strftime(%22%25Y-%25m%22%2C%20publishdate)%20as%20publishmonth%2C%20count(*)%20from%20%60swdata%60%20group%20by%20publishmonth%20order%20by%20publishmonth%20desc">antall +anbud publisert hver måned</a>:</p> + +<p><table border="1"> +<tr> <th>Publiseringsmåned</th> <th>Antall</th> </tr> +<tr> <td>2013-01</td> <td>1015</td> </tr> +<tr> <td>2012-12</td> <td>756</td> </tr> +<tr> <td>2012-11</td> <td>979</td> </tr> +<tr> <td>2012-10</td> <td>1093</td> </tr> +<tr> <td>2012-09</td> <td>1023</td> </tr> +<tr> <td>2012-08</td> <td>951</td> </tr> +<tr> <td>2012-07</td> <td>1103</td> </tr> +<tr> <td>2012-06</td> <td>1334</td> </tr> +<tr> <td>2012-05</td> <td>1435</td> </tr> +<tr> <td>2012-04</td> <td>1169</td> </tr> +<tr> <td>2012-03</td> <td>1573</td> </tr> +<tr> <td>2012-02</td> <td>1335</td> </tr> +<tr> <td>2012-01</td> <td>1147</td> </tr> +<tr> <td>2011-12</td> <td>1045</td> </tr> +<tr> <td>2011-11</td> <td>1114</td> </tr> +<tr> <td>2011-10</td> <td>1230</td> </tr> +<tr> <td>2011-09</td> <td>1165</td> </tr> +<tr> <td>2011-08</td> <td>966</td> </tr> +<tr> <td>2011-07</td> <td>1148</td> </tr> +<tr> <td>2011-06</td> <td>1410</td> </tr> +<tr> <td>2011-05</td> <td>1536</td> </tr> +<tr> <td>2011-04</td> <td>1350</td> </tr> +<tr> <td>2011-03</td> <td>1574</td> </tr> +<tr> <td>2011-02</td> <td>1370</td> </tr> +<tr> <td>2011-01</td> <td>1049</td> </tr> +<tr> <td>2010-12</td> <td>992</td> </tr> +<tr> <td>2010-11</td> <td>1089</td> </tr> +<tr> <td>2010-10</td> <td>1110</td> </tr> +<tr> <td>2010-09</td> <td>1132</td> </tr> +<tr> <td>2010-08</td> <td>883</td> </tr> +<tr> <td>2010-07</td> <td>1126</td> </tr> +<tr> <td>2010-06</td> <td>1440</td> </tr> +<tr> <td>2010-05</td> <td>1236</td> </tr> +<tr> <td>2010-04</td> <td>1249</td> </tr> +<tr> <td>2010-03</td> <td>1556</td> </tr> +<tr> <td>2010-02</td> <td>1256</td> </tr> +<tr> <td>2010-01</td> <td>1140</td> </tr> +<tr> <td>2009-12</td> <td>1013</td> </tr> +<tr> <td>2009-11</td> <td>1220</td> </tr> +<tr> <td>2009-10</td> <td>1320</td> </tr> +<tr> <td>2009-09</td> <td>1294</td> </tr> +<tr> <td>2009-08</td> <td>953</td> </tr> +<tr> <td>2009-07</td> <td>1162</td> </tr> +<tr> <td>2009-06</td> <td>1605</td> </tr> +<tr> <td>2009-05</td> <td>1568</td> </tr> +<tr> <td>2009-04</td> <td>1522</td> </tr> +<tr> <td>2009-03</td> <td>1599</td> </tr> +<tr> <td>2009-02</td> <td>1376</td> </tr> +<tr> <td>2009-01</td> <td>1080</td> </tr> +<tr> <td>2008-12</td> <td>1028</td> </tr> +<tr> <td>2008-11</td> <td>949</td> </tr> +<tr> <td>2008-10</td> <td>1047</td> </tr> +<tr> <td>2008-09</td> <td>965</td> </tr> +<tr> <td>2008-08</td> <td>725</td> </tr> +<tr> <td>2008-07</td> <td>1015</td> </tr> +<tr> <td>2008-06</td> <td>1304</td> </tr> +<tr> <td>2008-05</td> <td>323</td> </tr> +</table></p> + +<p>Her er tilsvarende +<a href="https://api.scraperwiki.com/api/1.0/datastore/sqlite?format=htmltable&name=norwegian-doffin&query=select%20strftime(%22%25Y%22%2C%20publishdate)%20as%20publishyear%2C%20count(*)%20from%20%60swdata%60%20group%20by%20publishyear%20order%20by%20publishyear%20desc">tall +per år</a>, som viser en liten nedgang i antall anbud:</p> + +<table border="1"> +<tr> <th>Publiseringsår</th> <th>Antall</th> </tr> +<tr> <td>2012</td> <td>13898</td> </tr> +<tr> <td>2011</td> <td>14957</td> </tr> +<tr> <td>2010</td> <td>14209</td> </tr> +<tr> <td>2009</td> <td>15712</td> </tr> +<tr> <td>2008</td> <td>7356</td> </tr> +</table></p> + +<p>Jeg droppet den ufullstendige måneden og året fra tabellen. Se +lenken for oppdaterte tall.</p> + + + Sleep until morning - home automation for the kids http://people.skolelinux.org/pere/blog/Sleep_until_morning___home_automation_for_the_kids.html @@ -175,484 +545,5 @@ activities, please send Bitcoin donations to my address - - Welcome to the world, Isenkram! - http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html - http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html - Tue, 22 Jan 2013 22:00:00 +0100 - <p>Yesterday, I -<a href="http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html">asked -for testers</a> for my prototype for making Debian better at handling -pluggable hardware devices, which I -<a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">set -out to create</a> earlier this month. Several valuable testers showed -up, and caused me to really want to to open up the development to more -people. But before I did this, I want to come up with a sensible name -for this project. Today I finally decided on a new name, and I have -renamed the project from hw-support-handler to this new name. In the -process, I moved the source to git and made it available as a -<a href="http://anonscm.debian.org/gitweb/?p=collab-maint/isenkram.git">collab-maint</a> -repository in Debian. The new name? It is <strong>Isenkram</strong>. -To fetch and build the latest version of the source, use</p> - -<pre> -git clone http://anonscm.debian.org/git/collab-maint/isenkram.git -cd isenkram && git-buildpackage -us -uc -</pre> - -<p>I have not yet adjusted all files to use the new name yet. If you -want to hack on the source or improve the package, please go ahead. -But please talk to me first on IRC or via email before you do major -changes, to make sure we do not step on each others toes. :)</p> - -<p>If you wonder what 'isenkram' is, it is a Norwegian word for iron -stuff, typically meaning tools, nails, screws, etc. Typical hardware -stuff, in other words. I've been told it is the Norwegian variant of -the German word eisenkram, for those that are familiar with that -word.</p> - -<p><strong>Update 2013-01-26</strong>: Added -us -us to build -instructions, to avoid confusing people with an error from the signing -process.</p> - -<p><strong>Update 2013-01-27</strong>: Switch to HTTP URL for the git -clone argument to avoid the need for authentication.</p> - - - - - First prototype ready making hardware easier to use in Debian - http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html - http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html - Mon, 21 Jan 2013 12:00:00 +0100 - <p>Early this month I set out to try to -<a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">improve -the Debian support for pluggable hardware devices</a>. Now my -prototype is working, and it is ready for a larger audience. To test -it, fetch the -<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">source -from the Debian Edu subversion repository</a>, build and install the -package. You might have to log out and in again activate the -autostart script.</p> - -<p>The design is simple:</p> - -<ul> - -<li>Add desktop entry in /usr/share/autostart/ causing a program -hw-support-handlerd to start when the user log in.</li> - -<li>This program listen for kernel events about new hardware (directly -from the kernel like udev does), not using HAL dbus events as I -initially did.</li> - -<li>When new hardware is inserted, look up the hardware modalias in -the APT database, a database -<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=markup">available -via HTTP</a> and a database available as part of the package.</li> - -<li>If a package is mapped to the hardware in question, the package -isn't installed yet and this is the first time the hardware was -plugged in, show a desktop notification suggesting to install the -package or packages.</li> - -<li>If the user click on the 'install package now' button, ask -aptdaemon via the PackageKit API to install the requrired package.</li> - -<li>aptdaemon ask for root password or sudo password, and install the -package while showing progress information in a window.</li> - -</ul> - -<p>I still need to come up with a better name for the system. Here -are some screen shots showing the prototype in action. First the -notification, then the password request, and finally the request to -approve all the dependencies. Sorry for the Norwegian Bokmål GUI.</p> - -<p><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-1-notification.png"> -<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-2-password.png"> -<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-3-dependencies.png"> -<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-4-installing.png"> -<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-5-installing-details.png" width="70%"></p> - -<p>The prototype still need to be improved with longer timeouts, but -is already useful. The database of hardware to package mappings also -need more work. It is currently compatible with the Ubuntu way of -storing such information in the package control file, but could be -changed to use other formats instead or in addition to the current -method. I've dropped the use of discover for this mapping, as the -modalias approach is more flexible and easier to use on Linux as long -as the Linux kernel expose its modalias strings directly.</p> - -<p><strong>Update 2013-01-21 16:50</strong>: Due to popular demand, -here is the command required to check out and build the source: Use -'<tt>svn checkout -svn://svn.debian.org/debian-edu/trunk/src/hw-support-handler/; cd -hw-support-handler; debuild</tt>'. If you lack debuild, install the -devscripts package.</p> - -<p><strong>Update 2013-01-23 12:00</strong>: The project is now -renamed to Isenkram and the source moved from the Debian Edu -subversion repository to a Debian collab-maint git repository. See -<a href="http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html">build -instructions</a> for details.</p> - - - - - Thank you Thinkpad X41, for your long and trustworthy service - http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html - http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html - Sat, 19 Jan 2013 09:20:00 +0100 - <p>This Christmas my trusty old laptop died. It died quietly and -suddenly in bed. With a quiet whimper, it went completely quiet and -black. The power button was no longer able to turn it on. It was a -IBM Thinkpad X41, and the best laptop I ever had. Better than both -Thinkpads X30, X31, X40, X60, X61 and X61S. Far better than the -Compaq I had before that. Now I need to find a replacement. To keep -going during Christmas, I moved the one year old SSD disk to my old -X40 where it fitted (only one I had left that could use it), but it is -not a durable solution. - -<p>My laptop needs are fairly modest. This is my wishlist from when I -got a new one more than 10 years ago. It still holds true.:)</p> - -<ul> - -<li>Lightweight (around 1 kg) and small volume (preferably smaller - than A4).</li> -<li>Robust, it will be in my backpack every day.</li> -<li>Three button mouse and a mouse pin instead of touch pad.</li> -<li>Long battery life time. Preferable a week.</li> -<li>Internal WIFI network card.</li> -<li>Internal Twisted Pair network card.</li> -<li>Some USB slots (2-3 is plenty)</li> -<li>Good keyboard - similar to the Thinkpad.</li> -<li>Video resolution at least 1024x768, with size around 12" (A4 paper -size).</li> -<li>Hardware supported by Debian Stable, ie the default kernel and - X.org packages.</li> -<li>Quiet, preferably fan free (or at least not using the fan most of - the time). - -</ul> - -<p>You will notice that there are no RAM and CPU requirements in the -list. The reason is simply that the specifications on laptops the -last 10-15 years have been sufficient for my needs, and I have to look -at other features to choose my laptop. But are there still made as -robust laptops as my X41? The Thinkpad X60/X61 proved to be less -robust, and Thinkpads seem to be heading in the wrong direction since -Lenovo took over. But I've been told that X220 and X1 Carbon might -still be useful.</p> - -<p>Perhaps I should rethink my needs, and look for a pad with an -external keyboard? I'll have to check the -<a href="http://www.linux-laptop.net/">Linux Laptops site</a> for -well-supported laptops, or perhaps just buy one preinstalled from one -of the vendors listed on the <a href="http://linuxpreloaded.com/">Linux -Pre-loaded site</a>.</p> - - - - - How to find a browser plugin supporting a given MIME type - http://people.skolelinux.org/pere/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html - http://people.skolelinux.org/pere/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html - Fri, 18 Jan 2013 10:40:00 +0100 - <p>Some times I try to figure out which Iceweasel browser plugin to -install to get support for a given MIME type. Thanks to -<a href="https://wiki.ubuntu.com/MozillaTeam/Plugins">specifications -done by Ubuntu</a> and Mozilla, it is possible to do this in Debian. -Unfortunately, not very many packages provide the needed meta -information, Anyway, here is a small script to look up all browser -plugin packages announcing ther MIME support using this specification:</p> - -<pre> -#!/usr/bin/python -import sys -import apt -def pkgs_handling_mimetype(mimetype): - cache = apt.Cache() - cache.open(None) - thepkgs = [] - for pkg in cache: - version = pkg.candidate - if version is None: - version = pkg.installed - if version is None: - continue - record = version.record - if not record.has_key('Npp-MimeType'): - continue - mime_types = record['Npp-MimeType'].split(',') - for t in mime_types: - t = t.rstrip().strip() - if t == mimetype: - thepkgs.append(pkg.name) - return thepkgs -mimetype = "audio/ogg" -if 1 < len(sys.argv): - mimetype = sys.argv[1] -print "Browser plugin packages supporting %s:" % mimetype -for pkg in pkgs_handling_mimetype(mimetype): - print " %s" %pkg -</pre> - -<p>It can be used like this to look up a given MIME type:</p> - -<pre> -% ./apt-find-browserplug-for-mimetype -Browser plugin packages supporting audio/ogg: - gecko-mediaplayer -% ./apt-find-browserplug-for-mimetype application/x-shockwave-flash -Browser plugin packages supporting application/x-shockwave-flash: - browser-plugin-gnash -% -</pre> - -<p>In Ubuntu this mechanism is combined with support in the browser -itself to query for plugins and propose to install the needed -packages. It would be great if Debian supported such feature too. Is -anyone working on adding it?</p> - -<p><strong>Update 2013-01-18 14:20</strong>: The Debian BTS -request for icweasel support for this feature is -<a href="http://bugs.debian.org/484010">#484010</a> from 2008 (and -<a href="http://bugs.debian.org/698426">#698426</a> from today). Lack -of manpower and wish for a different design is the reason thus feature -is not yet in iceweasel from Debian.</p> - - - - - What is the most supported MIME type in Debian? - http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html - http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html - Wed, 16 Jan 2013 10:10:00 +0100 - <p>The <a href="http://wiki.debian.org/AppStreamDebianProposal">DEP-11 -proposal to add AppStream information to the Debian archive</a>, is a -proposal to make it possible for a Desktop application to propose to -the user some package to install to gain support for a given MIME -type, font, library etc. that is currently missing. With such -mechanism in place, it would be possible for the desktop to -automatically propose and install leocad if some LDraw file is -downloaded by the browser.</p> - -<p>To get some idea about the current content of the archive, I decided -to write a simple program to extract all .desktop files from the -Debian archive and look up the claimed MIME support there. The result -can be found on the -<a href="http://ftp.skolelinux.org/pub/AppStreamTest">Skolelinux FTP -site</a>. Using the collected information, it become possible to -answer the question in the title. Here are the 20 most supported MIME -types in Debian stable (Squeeze), testing (Wheezy) and unstable (Sid). -The complete list is available from the link above.</p> - -<p><strong>Debian Stable:</strong></p> - -<pre> - count MIME type - ----- ----------------------- - 32 text/plain - 30 audio/mpeg - 29 image/png - 28 image/jpeg - 27 application/ogg - 26 audio/x-mp3 - 25 image/tiff - 25 image/gif - 22 image/bmp - 22 audio/x-wav - 20 audio/x-flac - 19 audio/x-mpegurl - 18 video/x-ms-asf - 18 audio/x-musepack - 18 audio/x-mpeg - 18 application/x-ogg - 17 video/mpeg - 17 audio/x-scpls - 17 audio/ogg - 16 video/x-ms-wmv -</pre> - -<p><strong>Debian Testing:</strong></p> - -<pre> - count MIME type - ----- ----------------------- - 33 text/plain - 32 image/png - 32 image/jpeg - 29 audio/mpeg - 27 image/gif - 26 image/tiff - 26 application/ogg - 25 audio/x-mp3 - 22 image/bmp - 21 audio/x-wav - 19 audio/x-mpegurl - 19 audio/x-mpeg - 18 video/mpeg - 18 audio/x-scpls - 18 audio/x-flac - 18 application/x-ogg - 17 video/x-ms-asf - 17 text/html - 17 audio/x-musepack - 16 image/x-xbitmap -</pre> - -<p><strong>Debian Unstable:</strong></p> - -<pre> - count MIME type - ----- ----------------------- - 31 text/plain - 31 image/png - 31 image/jpeg - 29 audio/mpeg - 28 application/ogg - 27 image/gif - 26 image/tiff - 26 audio/x-mp3 - 23 audio/x-wav - 22 image/bmp - 21 audio/x-flac - 20 audio/x-mpegurl - 19 audio/x-mpeg - 18 video/x-ms-asf - 18 video/mpeg - 18 audio/x-scpls - 18 application/x-ogg - 17 audio/x-musepack - 16 video/x-ms-wmv - 16 video/x-msvideo -</pre> - -<p>I am told that PackageKit can provide an API to access the kind of -information mentioned in DEP-11. I have not yet had time to look at -it, but hope the PackageKit people in Debian are on top of these -issues.</p> - -<p><strong>Update 2013-01-16 13:35</strong>: Updated numbers after -discovering a typo in my script.</p> - - - - - Using modalias info to find packages handling my hardware - http://people.skolelinux.org/pere/blog/Using_modalias_info_to_find_packages_handling_my_hardware.html - http://people.skolelinux.org/pere/blog/Using_modalias_info_to_find_packages_handling_my_hardware.html - Tue, 15 Jan 2013 08:00:00 +0100 - <p>Yesterday, I wrote about the -<a href="http://people.skolelinux.org/pere/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html">modalias -values provided by the Linux kernel</a> following my hope for -<a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">better -dongle support in Debian</a>. Using this knowledge, I have tested how -modalias values attached to package names can be used to map packages -to hardware. This allow the system to look up and suggest relevant -packages when I plug in some new hardware into my machine, and replace -discover and discover-data as the database used to map hardware to -packages.</p> - -<p>I create a modaliases file with entries like the following, -containing package name, kernel module name (if relevant, otherwise -the package name) and globs matching the relevant hardware -modalias.</p> - -<p><blockquote> -Package: package-name -<br>Modaliases: module(modaliasglob, modaliasglob, modaliasglob)</p> -</blockquote></p> - -<p>It is fairly trivial to write code to find the relevant packages -for a given modalias value using this file.</p> - -<p>An entry like this would suggest the video and picture application -cheese for many USB web cameras (interface bus class 0E01):</p> - -<p><blockquote> -Package: cheese -<br>Modaliases: cheese(usb:v*p*d*dc*dsc*dp*ic0Eisc01ip*)</p> -</blockquote></p> - -<p>An entry like this would suggest the pcmciautils package when a -CardBus bridge (bus class 0607) PCI device is present:</p> - -<p><blockquote> -Package: pcmciautils -<br>Modaliases: pcmciautils(pci:v*d*sv*sd*bc06sc07i*) -</blockquote></p> - -<p>An entry like this would suggest the package colorhug-client when -plugging in a ColorHug with USB IDs 04D8:F8DA:</p> - -<p><blockquote> -Package: colorhug-client -<br>Modaliases: colorhug-client(usb:v04D8pF8DAd*)</p> -</blockquote></p> - -<p>I believe the format is compatible with the format of the Packages -file in the Debian archive. Ubuntu already uses their Packages file -to store their mappings from packages to hardware.</p> - -<p>By adding a XB-Modaliases: header in debian/control, any .deb can -announce the hardware it support in a way my prototype understand. -This allow those publishing packages in an APT source outside the -Debian archive as well as those backporting packages to make sure the -hardware mapping are included in the package meta information. I've -tested such header in the pymissile package, and its modalias mapping -is working as it should with my prototype. It even made it to Ubuntu -Raring.</p> - -<p>To test if it was possible to look up supported hardware using only -the shell tools available in the Debian installer, I wrote a shell -implementation of the lookup code. The idea is to create files for -each modalias and let the shell do the matching. Please check out and -try the -<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/hw-support-lookup?view=co">hw-support-lookup</a> -shell script. It run without any extra dependencies and fetch the -hardware mappings from the Debian archive and the subversion -repository where I currently work on my prototype.</p> - -<p>When I use it on a machine with a yubikey inserted, it suggest to -install yubikey-personalization:</p> - -<p><blockquote> -% ./hw-support-lookup -<br>yubikey-personalization -<br>% -</blockquote></p> - -<p>When I run it on my Thinkpad X40 with a PCMCIA/CardBus slot, it -propose to install the pcmciautils package:</p> - -<p><blockquote> -% ./hw-support-lookup -<br>pcmciautils -<br>% -</blockquote></p> - -<p>If you know of any hardware-package mapping that should be added to -<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=co">my -database</a>, please tell me about it.</p> - -<p>It could be possible to generate several of the mappings between -packages and hardware. One source would be to look at packages with -kernel modules, ie packages with *.ko files in /lib/modules/, and -extract their modalias information. Another would be to look at -packages with udev rules, ie packages with files in -/lib/udev/rules.d/, and extract their vendor/model information to -generate a modalias matching rule. I have not tested any of these to -see if it work.</p> - -<p>If you want to help implementing a system to let us propose what -packages to install when new hardware is plugged into a Debian -machine, please send me an email or talk to me on -<a href="irc://irc.debian.org/%23debian-devel">#debian-devel</a>.</p> - - -