<link>http://people.skolelinux.org/pere/blog/</link>
<atom:link href="http://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
+ <item>
+ <title>Litt statistikk over offentlige anbud annonsert via Doffin siden 2008</title>
+ <link>http://people.skolelinux.org/pere/blog/Litt_statistikk_over_offentlige_anbud_annonsert_via_Doffin_siden_2008.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Litt_statistikk_over_offentlige_anbud_annonsert_via_Doffin_siden_2008.html</guid>
+ <pubDate>Mon, 11 Feb 2013 14:40:00 +0100</pubDate>
+ <description><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 troppet den ufullstendige måneden og året fra tabellen. Se
+lenken for oppdaterte tall.</p>
+</description>
+ </item>
+
<item>
<title>Sleep until morning - home automation for the kids</title>
<link>http://people.skolelinux.org/pere/blog/Sleep_until_morning___home_automation_for_the_kids.html</link>
</description>
</item>
- <item>
- <title>Using modalias info to find packages handling my hardware</title>
- <link>http://people.skolelinux.org/pere/blog/Using_modalias_info_to_find_packages_handling_my_hardware.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Using_modalias_info_to_find_packages_handling_my_hardware.html</guid>
- <pubDate>Tue, 15 Jan 2013 08:00:00 +0100</pubDate>
- <description><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>
-</description>
- </item>
-
</channel>
</rss>