]> pere.pagekite.me Git - homepage.git/blob - blog/archive/2013/11/11.rss
Generated.
[homepage.git] / blog / archive / 2013 / 11 / 11.rss
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/'>
3 <channel>
4 <title>Petter Reinholdtsen - Entries from November 2013</title>
5 <description>Entries from November 2013</description>
6 <link>http://people.skolelinux.org/pere/blog/</link>
7
8
9 <item>
10 <title>RSS-kilde for fritekstsøk i offentlige anbud hos Doffin</title>
11 <link>http://people.skolelinux.org/pere/blog/RSS_kilde_for_friteksts_k_i_offentlige_anbud_hos_Doffin.html</link>
12 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/RSS_kilde_for_friteksts_k_i_offentlige_anbud_hos_Doffin.html</guid>
13 <pubDate>Fri, 22 Nov 2013 13:40:00 +0100</pubDate>
14 <description>&lt;p&gt;I fjor sommer lagde jeg en
15 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/SQL_database_med_anbud_publisert_p__Doffin.html&quot;&gt;offentlig
16 tilgjengelig SQL-database over offentlig anbud&lt;/a&gt; basert på skraping
17 av HTML-data fra Doffin. Den har stått og gått siden da, og har nå
18 ca. 28000 oppføringer. Jeg oppdaget da jeg tittet innom at noen
19 oppføringer var ikke blitt med, antagelig på grunn av at de fikk
20 tildelt sekvensnummer i Doffin en godt stund før de ble publisert,
21 slik at min nettsideskraper som fortsatte skrapingen der den slapp
22 sist ikke fikk dem med seg. Jeg har fikset litt slik at skraperen nå
23 ser litt tilbake i tid for å se om den har gått glipp av noen
24 oppføringer, og har skrapet på nytt fra midten av september 2013 og
25 fremover. Det bør dermed bli en mer komplett database for kommende
26 måneder. Hvis jeg får tid skal jeg forsøke å skrape &quot;glemte&quot; data fra
27 før midten av september 2013, men tør ikke garantere at det blir
28 prioritert med det første. &lt;/p&gt;
29
30 &lt;p&gt;Men målet med denne bloggposten er å vise hvordan denne
31 Doffin-databasen kan brukes og integreres med en RSS-leser, slik at en
32 kan la datamaskinen holde et øye med Doffin-annonseringer etter
33 nøkkelord. En kan lage sitt eget søk ved å besøke
34 &lt;ahref=&quot;https://classic.scraperwiki.com/docs/api?name=norwegian-doffin#sqlite&quot;&gt;API-et
35 hos Scraperwiki&lt;/a&gt;, velge format rss2 og så legge inn noe ala dette i
36 &quot;query in SQL&quot;:&lt;/p&gt;
37
38 &lt;p&gt;&lt;pre&gt;
39 select title, scrapedurl as link, abstract as description,
40 publishdate as pubDate from &#39;swdata&#39;
41 where abstract like &#39;%linux%&#39; or title like &#39;%linux%&#39;
42 order by seq desc limit 20
43 &lt;/pre&gt;&lt;/p&gt;
44
45 &lt;p&gt;Dette vil søke opp alle anbud med ordet linux i oppsummering eller
46 tittel. En kan lage mer avanserte søk hvis en ønsker det. URL-en som
47 dukker opp nederst på siden kan en så gi til sin RSS-leser (jeg bruker
48 akregator selv), og så automatisk få beskjed hvis det dukker opp anbud
49 med det aktuelle nøkkelordet i teksten. Merk at kapasiteten og
50 ytelsen hos Scraperwiki er begrenset, så ikke be RSS-leseren hente ned
51 oftere enn en gang hver dag.&lt;/p&gt;
52
53 &lt;p&gt;Du lurer kanskje på hva slags informasjon en kan få ut fra denne
54 databasen. Her er to RSS-kilder, med søkeordet
55 &quot;&lt;a href=&quot;https://api.scraperwiki.com/api/1.0/datastore/sqlite?format=rss2&amp;name=norwegian-doffin&amp;query=select%20title%2C%20scrapedurl%20as%20link%2C%20abstract%20as%20description%2C%0A%20%20%20%20%20%20%20publishdate%20as%20pubDate%20from%20&#39;swdata&#39;%0A%20%20%20where%20abstract%20like%20&#39;%25linux%25&#39;%20or%20title%20like%20&#39;%25linux%25&#39;%0A%20%20%20order%20by%20seq%20desc%20limit%2020&quot;&gt;linux&lt;/a&gt;&quot;,
56 søkeordet
57 &quot;&lt;a href=&quot;https://api.scraperwiki.com/api/1.0/datastore/sqlite?format=rss2&amp;name=norwegian-doffin&amp;query=select%20title%2C%20scrapedurl%20as%20link%2C%20abstract%20as%20description%2C%0A%20%20%20%20%20%20%20publishdate%20as%20pubDate%20from%20&#39;swdata&#39;%0A%20%20%20where%20abstract%20like%20&#39;%25fri%20programvare%25&#39;%20or%20title%20like%20&#39;%25fri%20programvare%25&#39;%0A%20%20%20order%20by%20seq%20desc%20limit%2020&quot;&gt;fri
58 programvare&lt;/a&gt;&quot;
59 og søkeordet
60 &quot;&lt;a href=&quot;https://api.scraperwiki.com/api/1.0/datastore/sqlite?format=rss2&amp;name=norwegian-doffin&amp;query=select%20title%2C%20scrapedurl%20as%20link%2C%20abstract%20as%20description%2C%0A%20%20%20%20%20%20%20publishdate%20as%20pubDate%20from%20&#39;swdata&#39;%0A%20%20%20where%20abstract%20like%20&#39;%25odf%25&#39;%20or%20title%20like%20&#39;%25odf%25&#39;%0A%20%20%20order%20by%20seq%20desc%20limit%2020&quot;&gt;odf&lt;/a&gt;&quot;.
61 Det er bare å søke på det en er interessert i. Kopier gjerne
62 datasettet og sett opp din egen tjeneste hvis du vil gjøre mer
63 avanserte søk. SQLite-filen med Doffin-oppføringer kan lastes med fra
64 Scraperwiki for de som vil grave dypere.&lt;/p&gt;
65 </description>
66 </item>
67
68 <item>
69 <title>All drones should be radio marked with what they do and who they belong to</title>
70 <link>http://people.skolelinux.org/pere/blog/All_drones_should_be_radio_marked_with_what_they_do_and_who_they_belong_to.html</link>
71 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/All_drones_should_be_radio_marked_with_what_they_do_and_who_they_belong_to.html</guid>
72 <pubDate>Thu, 21 Nov 2013 15:40:00 +0100</pubDate>
73 <description>Drones, flying robots, are getting more and more popular. The most
74 know ones are the killer drones used by some government to murder
75 people they do not like without giving them the chance of a fair
76 trial, but the technology have many good uses too, from mapping and
77 forest maintenance to photography and search and rescue. I am sure it
78 is just a question of time before &quot;bad drones&quot; are in the hands of
79 private enterprises and not only state criminals but petty criminals
80 too. The drone technology is very useful and very dangerous. To have
81 some control over the use of drones, I agree with Daniel Suarez in his
82 TED talk
83 &quot;&lt;a href=&quot;https://archive.org/details/DanielSuarez_2013G&quot;&gt;The kill
84 decision shouldn&#39;t belong to a robot&lt;/a&gt;&quot;, where he suggested this
85 little gem to keep the good while limiting the bad use of drones:&lt;/p&gt;
86
87 &lt;blockquote&gt;
88
89 &lt;p&gt;Each robot and drone should have a cryptographically signed
90 I.D. burned in at the factory that can be used to track its movement
91 through public spaces. We have license plates on cars, tail numbers on
92 aircraft. This is no different. And every citizen should be able to
93 download an app that shows the population of drones and autonomous
94 vehicles moving through public spaces around them, both right now and
95 historically. And civic leaders should deploy sensors and civic drones
96 to detect rogue drones, and instead of sending killer drones of their
97 own up to shoot them down, they should notify humans to their
98 presence. And in certain very high-security areas, perhaps civic
99 drones would snare them and drag them off to a bomb disposal facility.&lt;/p&gt;
100
101 &lt;p&gt;But notice, this is more an immune system than a weapons system. It
102 would allow us to avail ourselves of the use of autonomous vehicles
103 and drones while still preserving our open, civil society.&lt;/p&gt;
104
105 &lt;/blockquote&gt;
106
107 &lt;p&gt;The key is that &lt;em&gt;every citizen&lt;/em&gt; should be able to read the
108 radio beacons sent from the drones in the area, to be able to check
109 both the government and others use of drones. For such control to be
110 effective, everyone must be able to do it. What should such beacon
111 contain? At least formal owner, purpose, contact information and GPS
112 location. Probably also the origin and target position of the current
113 flight. And perhaps some registration number to be able to look up
114 the drone in a central database tracking their movement. Robots
115 should not have privacy. It is people who need privacy.&lt;/p&gt;
116 </description>
117 </item>
118
119 <item>
120 <title>Lets make a wireless community network in Oslo!</title>
121 <link>http://people.skolelinux.org/pere/blog/Lets_make_a_wireless_community_network_in_Oslo_.html</link>
122 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lets_make_a_wireless_community_network_in_Oslo_.html</guid>
123 <pubDate>Wed, 13 Nov 2013 21:00:00 +0100</pubDate>
124 <description>&lt;p&gt;Today NUUG and Hackeriet announced
125 &lt;a href=&quot;http://www.nuug.no/news/Bli_med___bygge_dugnadsnett_for_alle_i_Oslo.shtml&quot;&gt;our
126 plans to join forces and create a wireless community network in
127 Oslo&lt;/a&gt;. The workshop to help people get started will take place
128 Thursday 2013-11-28, but we already are collecting the geolocation of
129 people joining forces to make this happen. We have
130 &lt;a href=&quot;https://github.com/petterreinholdtsen/meshfx-node/blob/master/oslo-nodes.geojson&quot;&gt;9
131 locations plotted on the map&lt;/a&gt;, but we will need more before we have
132 a connected mesh spread across Oslo. If this sound interesting to
133 you, please join us at the workshop. If you are too impatient to wait
134 15 days, please join us on the IRC channel
135 &lt;a href=&quot;irc://irc.freenode.net/%23nuug&quot;&gt;#nuug on irc.freenode.net&lt;/a&gt;
136 right away. :)&lt;/p&gt;
137 </description>
138 </item>
139
140 <item>
141 <title>Running TP-Link MR3040 as a batman-adv mesh node using openwrt</title>
142 <link>http://people.skolelinux.org/pere/blog/Running_TP_Link_MR3040_as_a_batman_adv_mesh_node_using_openwrt.html</link>
143 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Running_TP_Link_MR3040_as_a_batman_adv_mesh_node_using_openwrt.html</guid>
144 <pubDate>Sun, 10 Nov 2013 23:00:00 +0100</pubDate>
145 <description>&lt;p&gt;Continuing my research into mesh networking, I was recommended to
146 use TP-Link 3040 and 3600 access points as mesh nodes, and the pair I
147 bought arrived on Friday. Here are my notes on how to set up the
148 MR3040 as a mesh node using
149 &lt;a href=&quot;http://www.openwrt.org/&quot;&gt;OpenWrt&lt;/a&gt;.&lt;/p&gt;
150
151 &lt;p&gt;I started by following the instructions on the OpenWRT wiki for
152 &lt;a href=&quot;http://wiki.openwrt.org/toh/tp-link/tl-mr3040&quot;&gt;TL-MR3040&lt;/a&gt;,
153 and downloaded
154 &lt;a href=&quot;http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin&quot;&gt;the
155 recommended firmware image&lt;/a&gt;
156 (openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin) and
157 uploaded it into the original web interface. The flashing went fine,
158 and the machine was available via telnet on the ethernet port. After
159 logging in and setting the root password, ssh was available and I
160 could start to set it up as a batman-adv mesh node.&lt;/p&gt;
161
162 &lt;p&gt;I started off by reading the instructions from
163 &lt;a href=&quot;http://wirelessafrica.meraka.org.za/wiki/index.php?title=Antoine&#39;s_Research&quot;&gt;Wireless
164 Africa&lt;/a&gt;, which had quite a lot of useful information, but
165 eventually I followed the recipe from the Open Mesh wiki for
166 &lt;a href=&quot;http://www.open-mesh.org/projects/batman-adv/wiki/Batman-adv-openwrt-config&quot;&gt;using
167 batman-adv on OpenWrt&lt;/a&gt;. A small snag was the fact that the
168 &lt;tt&gt;opkg install kmod-batman-adv&lt;/tt&gt; command did not work as it
169 should. The batman-adv kernel module would fail to load because its
170 dependency crc16 was not already loaded. I
171 &lt;a href=&quot;https://dev.openwrt.org/ticket/14452&quot;&gt;reported the bug&lt;/a&gt; to
172 the openwrt project and hope it will be fixed soon. But the problem
173 only seem to affect initial testing of batman-adv, as configuration
174 seem to work when booting from scratch.&lt;/p&gt;
175
176 &lt;p&gt;The setup is done using files in /etc/config/. I did not bridge
177 the Ethernet and mesh interfaces this time, to be able to hook up the
178 box on my local network and log into it for configuration updates.
179 The following files were changed and look like this after modifying
180 them:&lt;/p&gt;
181
182 &lt;p&gt;&lt;tt&gt;/etc/config/network&lt;/tt&gt;&lt;/p&gt;
183
184 &lt;pre&gt;
185
186 config interface &#39;loopback&#39;
187 option ifname &#39;lo&#39;
188 option proto &#39;static&#39;
189 option ipaddr &#39;127.0.0.1&#39;
190 option netmask &#39;255.0.0.0&#39;
191
192 config globals &#39;globals&#39;
193 option ula_prefix &#39;fdbf:4c12:3fed::/48&#39;
194
195 config interface &#39;lan&#39;
196 option ifname &#39;eth0&#39;
197 option type &#39;bridge&#39;
198 option proto &#39;dhcp&#39;
199 option ipaddr &#39;192.168.1.1&#39;
200 option netmask &#39;255.255.255.0&#39;
201 option hostname &#39;tl-mr3040&#39;
202 option ip6assign &#39;60&#39;
203
204 config interface &#39;mesh&#39;
205 option ifname &#39;adhoc0&#39;
206 option mtu &#39;1528&#39;
207 option proto &#39;batadv&#39;
208 option mesh &#39;bat0&#39;
209 &lt;/pre&gt;
210
211 &lt;p&gt;&lt;tt&gt;/etc/config/wireless&lt;/tt&gt;&lt;/p&gt;
212 &lt;pre&gt;
213
214 config wifi-device &#39;radio0&#39;
215 option type &#39;mac80211&#39;
216 option channel &#39;11&#39;
217 option hwmode &#39;11ng&#39;
218 option path &#39;platform/ar933x_wmac&#39;
219 option htmode &#39;HT20&#39;
220 list ht_capab &#39;SHORT-GI-20&#39;
221 list ht_capab &#39;SHORT-GI-40&#39;
222 list ht_capab &#39;RX-STBC1&#39;
223 list ht_capab &#39;DSSS_CCK-40&#39;
224 option disabled &#39;0&#39;
225
226 config wifi-iface &#39;wmesh&#39;
227 option device &#39;radio0&#39;
228 option ifname &#39;adhoc0&#39;
229 option network &#39;mesh&#39;
230 option encryption &#39;none&#39;
231 option mode &#39;adhoc&#39;
232 option bssid &#39;02:BA:00:00:00:01&#39;
233 option ssid &#39;meshfx@hackeriet&#39;
234 &lt;/pre&gt;
235 &lt;p&gt;&lt;tt&gt;/etc/config/batman-adv&lt;/tt&gt;&lt;/p&gt;
236 &lt;pre&gt;
237
238 config &#39;mesh&#39; &#39;bat0&#39;
239 option interfaces &#39;adhoc0&#39;
240 option &#39;aggregated_ogms&#39;
241 option &#39;ap_isolation&#39;
242 option &#39;bonding&#39;
243 option &#39;fragmentation&#39;
244 option &#39;gw_bandwidth&#39;
245 option &#39;gw_mode&#39;
246 option &#39;gw_sel_class&#39;
247 option &#39;log_level&#39;
248 option &#39;orig_interval&#39;
249 option &#39;vis_mode&#39;
250 option &#39;bridge_loop_avoidance&#39;
251 option &#39;distributed_arp_table&#39;
252 option &#39;network_coding&#39;
253 option &#39;hop_penalty&#39;
254
255 # yet another batX instance
256 # config &#39;mesh&#39; &#39;bat5&#39;
257 # option &#39;interfaces&#39; &#39;second_mesh&#39;
258 &lt;/pre&gt;
259
260 &lt;p&gt;The mesh node is now operational. I have yet to test its range,
261 but I hope it is good. I have not yet tested the TP-Link 3600 box
262 still wrapped up in plastic.&lt;/p&gt;
263 </description>
264 </item>
265
266 <item>
267 <title>Debian init.d boot script example for rsyslog</title>
268 <link>http://people.skolelinux.org/pere/blog/Debian_init_d_boot_script_example_for_rsyslog.html</link>
269 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_init_d_boot_script_example_for_rsyslog.html</guid>
270 <pubDate>Sat, 2 Nov 2013 22:40:00 +0100</pubDate>
271 <description>&lt;p&gt;If one of the points of switching to a new init system in Debian is
272 &lt;a href=&quot;http://thomas.goirand.fr/blog/?p=147&quot;&gt;to get rid of huge
273 init.d scripts&lt;/a&gt;, I doubt we need to switch away from sysvinit and
274 init.d scripts at all. Here is an example init.d script, ie a rewrite
275 of /etc/init.d/rsyslog:&lt;/p&gt;
276
277 &lt;p&gt;&lt;pre&gt;
278 #!/lib/init/init-d-script
279 ### BEGIN INIT INFO
280 # Provides: rsyslog
281 # Required-Start: $remote_fs $time
282 # Required-Stop: umountnfs $time
283 # X-Stop-After: sendsigs
284 # Default-Start: 2 3 4 5
285 # Default-Stop: 0 1 6
286 # Short-Description: enhanced syslogd
287 # Description: Rsyslog is an enhanced multi-threaded syslogd.
288 # It is quite compatible to stock sysklogd and can be
289 # used as a drop-in replacement.
290 ### END INIT INFO
291 DESC=&quot;enhanced syslogd&quot;
292 DAEMON=/usr/sbin/rsyslogd
293 &lt;/pre&gt;&lt;/p&gt;
294
295 &lt;p&gt;Pretty minimalistic to me... For the record, the original sysv-rc
296 script was 137 lines, and the above is just 15 lines, most of it meta
297 info/comments.&lt;/p&gt;
298
299 &lt;p&gt;How to do this, you ask? Well, one create a new script
300 /lib/init/init-d-script looking something like this:
301
302 &lt;p&gt;&lt;pre&gt;
303 #!/bin/sh
304
305 # Define LSB log_* functions.
306 # Depend on lsb-base (&gt;= 3.2-14) to ensure that this file is present
307 # and status_of_proc is working.
308 . /lib/lsb/init-functions
309
310 #
311 # Function that starts the daemon/service
312
313 #
314 do_start()
315 {
316 # Return
317 # 0 if daemon has been started
318 # 1 if daemon was already running
319 # 2 if daemon could not be started
320 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test &gt; /dev/null \
321 || return 1
322 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
323 $DAEMON_ARGS \
324 || return 2
325 # Add code here, if necessary, that waits for the process to be ready
326 # to handle requests from services started subsequently which depend
327 # on this one. As a last resort, sleep for some time.
328 }
329
330 #
331 # Function that stops the daemon/service
332 #
333 do_stop()
334 {
335 # Return
336 # 0 if daemon has been stopped
337 # 1 if daemon was already stopped
338 # 2 if daemon could not be stopped
339 # other if a failure occurred
340 start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
341 RETVAL=&quot;$?&quot;
342 [ &quot;$RETVAL&quot; = 2 ] &amp;&amp; return 2
343 # Wait for children to finish too if this is a daemon that forks
344 # and if the daemon is only ever run from this initscript.
345 # If the above conditions are not satisfied then add some other code
346 # that waits for the process to drop all resources that could be
347 # needed by services started subsequently. A last resort is to
348 # sleep for some time.
349 start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
350 [ &quot;$?&quot; = 2 ] &amp;&amp; return 2
351 # Many daemons don&#39;t delete their pidfiles when they exit.
352 rm -f $PIDFILE
353 return &quot;$RETVAL&quot;
354 }
355
356 #
357 # Function that sends a SIGHUP to the daemon/service
358 #
359 do_reload() {
360 #
361 # If the daemon can reload its configuration without
362 # restarting (for example, when it is sent a SIGHUP),
363 # then implement that here.
364 #
365 start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
366 return 0
367 }
368
369 SCRIPTNAME=$1
370 scriptbasename=&quot;$(basename $1)&quot;
371 echo &quot;SN: $scriptbasename&quot;
372 if [ &quot;$scriptbasename&quot; != &quot;init-d-library&quot; ] ; then
373 script=&quot;$1&quot;
374 shift
375 . $script
376 else
377 exit 0
378 fi
379
380 NAME=$(basename $DAEMON)
381 PIDFILE=/var/run/$NAME.pid
382
383 # Exit if the package is not installed
384 #[ -x &quot;$DAEMON&quot; ] || exit 0
385
386 # Read configuration variable file if it is present
387 [ -r /etc/default/$NAME ] &amp;&amp; . /etc/default/$NAME
388
389 # Load the VERBOSE setting and other rcS variables
390 . /lib/init/vars.sh
391
392 case &quot;$1&quot; in
393 start)
394 [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_daemon_msg &quot;Starting $DESC&quot; &quot;$NAME&quot;
395 do_start
396 case &quot;$?&quot; in
397 0|1) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 0 ;;
398 2) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 1 ;;
399 esac
400 ;;
401 stop)
402 [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_daemon_msg &quot;Stopping $DESC&quot; &quot;$NAME&quot;
403 do_stop
404 case &quot;$?&quot; in
405 0|1) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 0 ;;
406 2) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 1 ;;
407 esac
408 ;;
409 status)
410 status_of_proc &quot;$DAEMON&quot; &quot;$NAME&quot; &amp;&amp; exit 0 || exit $?
411 ;;
412 #reload|force-reload)
413 #
414 # If do_reload() is not implemented then leave this commented out
415 # and leave &#39;force-reload&#39; as an alias for &#39;restart&#39;.
416 #
417 #log_daemon_msg &quot;Reloading $DESC&quot; &quot;$NAME&quot;
418 #do_reload
419 #log_end_msg $?
420 #;;
421 restart|force-reload)
422 #
423 # If the &quot;reload&quot; option is implemented then remove the
424 # &#39;force-reload&#39; alias
425 #
426 log_daemon_msg &quot;Restarting $DESC&quot; &quot;$NAME&quot;
427 do_stop
428 case &quot;$?&quot; in
429 0|1)
430 do_start
431 case &quot;$?&quot; in
432 0) log_end_msg 0 ;;
433 1) log_end_msg 1 ;; # Old process is still running
434 *) log_end_msg 1 ;; # Failed to start
435 esac
436 ;;
437 *)
438 # Failed to stop
439 log_end_msg 1
440 ;;
441 esac
442 ;;
443 *)
444 echo &quot;Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}&quot; &gt;&amp;2
445 exit 3
446 ;;
447 esac
448
449 :
450 &lt;/pre&gt;&lt;/p&gt;
451
452 &lt;p&gt;It is based on /etc/init.d/skeleton, and could be improved quite a
453 lot. I did not really polish the approach, so it might not always
454 work out of the box, but you get the idea. I did not try very hard to
455 optimize it nor make it more robust either.&lt;/p&gt;
456
457 &lt;p&gt;A better argument for switching init system in Debian than reducing
458 the size of init scripts (which is a good thing to do anyway), is to
459 get boot system that is able to handle the kernel events sensibly and
460 robustly, and do not depend on the boot to run sequentially. The boot
461 and the kernel have not behaved sequentially in years.&lt;/p&gt;
462 </description>
463 </item>
464
465 <item>
466 <title>Browser plugin for SPICE (spice-xpi) uploaded to Debian</title>
467 <link>http://people.skolelinux.org/pere/blog/Browser_plugin_for_SPICE__spice_xpi__uploaded_to_Debian.html</link>
468 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Browser_plugin_for_SPICE__spice_xpi__uploaded_to_Debian.html</guid>
469 <pubDate>Fri, 1 Nov 2013 11:00:00 +0100</pubDate>
470 <description>&lt;p&gt;&lt;a href=&quot;http://www.spice-space.org/&quot;&gt;The SPICE protocol&lt;/a&gt; for
471 remote display access is the preferred solution with oVirt and RedHat
472 Enterprise Virtualization, and I was sad to discover the other day
473 that the browser plugin needed to use these systems seamlessly was
474 missing in Debian. The &lt;a href=&quot;http://bugs.debian.org/668284&quot;&gt;request
475 for a package&lt;/a&gt; was from 2012-04-10 with no progress since
476 2013-04-01, so I decided to wrap up a package based on the great work
477 from Cajus Pollmeier and put it in a collab-maint maintained git
478 repository to get a package I could use. I would very much like
479 others to help me maintain the package (or just take over, I do not
480 mind), but as no-one had volunteered so far, I just uploaded it to
481 NEW. I hope it will be available in Debian in a few days.&lt;/p&gt;
482
483 &lt;p&gt;The source is now available from
484 &lt;a href=&quot;http://anonscm.debian.org/gitweb/?p=collab-maint/spice-xpi.git;a=summary&quot;&gt;http://anonscm.debian.org/gitweb/?p=collab-maint/spice-xpi.git;a=summary&lt;/a&gt;.&lt;/p&gt;
485 </description>
486 </item>
487
488 </channel>
489 </rss>