X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/478c6906273acb0b5b751165d2a2b70b2997fd88..dd16748399690c30557c60d3cae2f0aa906bcc51:/blog/index.html diff --git a/blog/index.html b/blog/index.html index bc4f810c96..6a244b53c7 100644 --- a/blog/index.html +++ b/blog/index.html @@ -19,6 +19,57 @@ +
+
Two projects that have improved the quality of free software a lot
+
2009-05-02 15:00
+
+

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.

+ +

The first one is valgrind, 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 'valgrind program', +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 'reading past memory block in file +X line N, the memory block was allocated in file Y, line M', and +'using uninitialised value in control logic'. 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. + +

The second one is +Coverity 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 +a community service 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 'lock L taken in file +X line N is never released if exiting in line M', or 'the code in file +Y lines O to P can never be executed'. The projects included in the +community service project have managed to get rid of a lot of +reliability problems thanks to Coverity.

+ +

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.

+
+
+ + + + Tags: debian, english. + +
+
+
+
No patch is not better than a useless patch
2009-04-28 09:30
@@ -359,58 +410,6 @@ rettet mot seg.

-
-
Recording video from cron using VLC
-
2009-04-05 10:00
-
-

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:

- -
URL=http://www.ping.uio.no/video/rms-oslo_2009.ogg
-SAVEFILE=rms.ogg
-DISPLAY= vlc -q $URL \
-  --sout="#duplicate{dst=std{access=file,url='$SAVEFILE'},dst=nodisplay}" \
-  --intf=dummy
- -

The command stream the URL and store it in the SAVEFILE by -duplicating the output stream to "nodisplay" and the file, using the -dummy interface. The dummy interface and the nodisplay output make -sure no X interface is needed.

- -

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 -vlc-record to use from at or cron:

- -
#!/bin/sh
-set -e
-URL="$1"
-SAVEFILE="$2"
-DURATION="$3"
-DISPLAY= vlc -q "$URL" \
-  --sout="#duplicate{dst=std{access=file,url='$SAVEFILE'},dst=nodisplay}" \
-  --intf=dummy < /dev/null > /dev/null 2>&1 &
-pid=$!
-sleep $DURATION
-kill $pid
-wait $pid
-
-
- - - - Tags: english, nuug, video. - -
-
-
-

RSS feed