]> pere.pagekite.me Git - homepage.git/blobdiff - blog/index.rss
Ny oppføring.
[homepage.git] / blog / index.rss
index 976a1821bf54ff62eb7075ca73a75ca856918442..72a53d841f3ffbd06bef22c9cbb338ce74f5818c 100644 (file)
@@ -6,11 +6,72 @@
                 <link></link>
                 <atom:link href="index.rss" rel="self" type="application/rss+xml" />
        
+       <item>
+               <title>Two projects that have improved the quality of free software a lot</title>
+               <link>Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html</link>
+               <guid isPermaLink="true">Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html</guid>
+                <pubDate>Sat, 2 May 2009 15:00:00 +0200</pubDate>
+               <description>
+&lt;p&gt;There are two software projects that have had huge influence on the
+quality of free software, and I wanted to mention both in case someone
+do not yet know them.&lt;/p&gt;
+
+&lt;p&gt;The first one is &lt;a href=&quot;http://valgrind.org/&quot;&gt;valgrind&lt;/a&gt;, a
+tool to detect and expose errors in the memory handling of programs.
+It is easy to use, all one need to do is to run &#39;valgrind program&#39;,
+and it will report any problems on stdout.  It is even better if the
+program include debug information.  With debug information, it is able
+to report the source file name and line number where the problem
+occurs.  It can report things like &#39;reading past memory block in file
+X line N, the memory block was allocated in file Y, line M&#39;, and
+&#39;using uninitialised value in control logic&#39;.  This tool has made it
+trivial to investigate reproducible crash bugs in programs, and have
+reduced the number of this kind of bugs in free software a lot.
+
+&lt;p&gt;The second one is
+&lt;a href=&quot;http://en.wikipedia.org/wiki/Coverity&quot;&gt;Coverity&lt;/a&gt; which is
+a source code checker.  It is able to process the source of a program
+and find problems in the logic without running the program.  It
+started out as the Stanford Checker and became well known when it was
+used to find bugs in the Linux kernel.  It is now a commercial tool
+and the company behind it is running
+&lt;a href=&quot;http://www.scan.coverity.com/&quot;&gt;a community service&lt;/a&gt; for the
+free software community, where a lot of free software projects get
+their source checked for free.  Several thousand defects have been
+found and fixed so far.  It can find errors like &#39;lock L taken in file
+X line N is never released if exiting in line M&#39;, or &#39;the code in file
+Y lines O to P can never be executed&#39;.  The projects included in the
+community service project have managed to get rid of a lot of
+reliability problems thanks to Coverity.&lt;/p&gt;
+
+&lt;p&gt;I believe tools like this, that are able to automatically find
+errors in the source, are vital to improve the quality of software and
+make sure we can get rid of the crashing and failing software we are
+surrounded by today.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>No patch is not better than a useless patch</title>
+               <link>No_patch_is_not_better_than_a_useless_patch.html</link>
+               <guid isPermaLink="true">No_patch_is_not_better_than_a_useless_patch.html</guid>
+                <pubDate>Tue, 28 Apr 2009 09:30:00 +0200</pubDate>
+               <description>
+&lt;p&gt;Julien Blache
+&lt;a href=&quot;http://blog.technologeek.org/2009/04/12/214&quot;&gt;claim that no
+patch is better than a useless patch&lt;/a&gt;.  I completely disagree, as a
+patch allow one to discuss a concrete and proposed solution, and also
+prove that the issue at hand is important enough for someone to spent
+time on fixing it.  No patch do not provide any of these positive
+properties.&lt;/p&gt;
+</description>
+       </item>
+       
        <item>
                <title>EU-parlamentet raner fellesskapet for musikk</title>
                <link>EU_parlamentet_raner_fellesskapet_for_musikk.html</link>
                <guid isPermaLink="true">EU_parlamentet_raner_fellesskapet_for_musikk.html</guid>
-                <pubDate>Sun, 26 Apr 2009 10:00:00 +0200</pubDate>
+                <pubDate>Sun, 26 Apr 2009 08:30:00 +0200</pubDate>
                <description>
 &lt;p&gt;Slashdot melder at EU-parlamentet har vedtatt
 &lt;a href=&quot;http://www.europarl.europa.eu/news/expert/infopress_page/058-54192-111-04-17-909-20090422IPR54191-21-04-2009-2009-false/default_en.htm&quot;&gt;å
@@ -118,7 +179,7 @@ og Kopinor har gjort en avtale&lt;/a&gt; som gjør at eldre bøker kan gjøres
 digitalt tilgjengelig fra nasjonalbiblioteket mot at Kopinor får 56
 øre for hver side som legges ut.  Utvalget er litt merkelig: 1790-,
 1890- og 1990-tallet.  Jeg synes det er absurd hvis det er slik at
-Kopinor skal ha betalt for utlegging av bøker som ikke legger er
+Kopinor skal ha betalt for utlegging av bøker som ikke lenger er
 beskyttet av opphavsretten.  Jeg antar her at det er mer enn 90 år
 siden forfatterne av bøker som ble publisert 1790-1799 døde, slik at
 disse bøkene er falt i det fri og enhver kan kopiere så mye de vil fra
@@ -276,85 +337,5 @@ rettet mot seg.&lt;/p&gt;
 </description>
        </item>
        
-       <item>
-               <title>Recording video from cron using VLC</title>
-               <link>Recording_video_from_cron_using_VLC.html</link>
-               <guid isPermaLink="true">Recording_video_from_cron_using_VLC.html</guid>
-                <pubDate>Sun, 5 Apr 2009 10:00:00 +0200</pubDate>
-               <description>
-&lt;p&gt;One think I have wanted to figure out for a along time is how to
-run vlc from cron to do recording of video streams on the net.  The
-task is trivial with mplayer, but I do not really trust the security
-of mplayer (it crashes too often on strange input), and thus prefer
-vlc.  I finally found a way to do it today.  I spent an hour or so
-searching the web for recipes and reading the documentation.  The
-hardest part was to get rid of the GUI window, but after finding the
-dummy interface, the command line finally presented itself:&lt;/p&gt;
-
-&lt;blockquote&gt;&lt;pre&gt;URL=http://www.ping.uio.no/video/rms-oslo_2009.ogg
-SAVEFILE=rms.ogg
-DISPLAY= vlc -q $URL \
-  --sout=&quot;#duplicate{dst=std{access=file,url=&#39;$SAVEFILE&#39;},dst=nodisplay}&quot; \
-  --intf=dummy&lt;/pre&gt;&lt;/blockquote&gt;
-
-&lt;p&gt;The command stream the URL and store it in the SAVEFILE by
-duplicating the output stream to &quot;nodisplay&quot; and the file, using the
-dummy interface.  The dummy interface and the nodisplay output make
-sure no X interface is needed.&lt;/p&gt;
-
-&lt;p&gt;The cron job then need to start this job with the appropriate URL
-and file name to save, sleep for the duration wanted, and then kill
-the vlc process with SIGTERM.  Here is a complete script
-&lt;tt&gt;vlc-record&lt;/tt&gt; to use from &lt;tt&gt;at&lt;/tt&gt; or &lt;tt&gt;cron&lt;/tt&gt;:&lt;/p&gt;
-
-&lt;blockquote&gt;&lt;pre&gt;#!/bin/sh
-set -e
-URL=&quot;$1&quot;
-SAVEFILE=&quot;$2&quot;
-DURATION=&quot;$3&quot;
-DISPLAY= vlc -q &quot;$URL&quot; \
-  --sout=&quot;#duplicate{dst=std{access=file,url=&#39;$SAVEFILE&#39;},dst=nodisplay}&quot; \
-  --intf=dummy &lt; /dev/null &gt; /dev/null 2&gt;&amp;1 &amp;
-pid=$!
-sleep $DURATION
-kill $pid
-wait $pid&lt;/pre&gt;&lt;/blockquote&gt;
-</description>
-       </item>
-       
-       <item>
-               <title>Standardize on protocols and formats, not vendors and applications</title>
-               <link>Standardize_on_protocols_and_formats__not_vendors_and_applications.html</link>
-               <guid isPermaLink="true">Standardize_on_protocols_and_formats__not_vendors_and_applications.html</guid>
-                <pubDate>Mon, 30 Mar 2009 11:50:00 +0200</pubDate>
-               <description>
-&lt;p&gt;Where I work at the University of Oslo, one decision stand out as a
-very good one to form a long lived computer infrastructure.  It is the
-simple one, lost by many in todays computer industry: Standardize on
-open network protocols and open exchange/storage formats, not applications.
-Applications come and go, while protocols and files tend to stay, and
-thus one want to make it easy to change application and vendor, while
-avoiding conversion costs and locking users to a specific platform or
-application.&lt;/p&gt;
-
-&lt;p&gt;This approach make it possible to replace the client applications
-independently of the server applications.  One can even allow users to
-use several different applications as long as they handle the selected
-protocol and format.  In the normal case, only one client application
-is recommended and users only get help if they choose to use this
-application, but those that want to deviate from the easy path are not
-blocked from doing so.&lt;/p&gt;
-
-&lt;p&gt;It also allow us to replace the server side without forcing the
-users to replace their applications, and thus allow us to select the
-best server implementation at any moment, when scale and resouce
-requirements change.&lt;/p&gt;
-
-&lt;p&gt;I strongly recommend standardizing - on open network protocols and
-open formats, but I would never recommend standardizing on a single
-application that do not use open network protocol or open formats.&lt;/p&gt;
-</description>
-       </item>
-       
         </channel>
 </rss>