This document contains only my personal opinions and calls of judgement, and where any comment is made as to the quality of anybody's work, the comment is an opinion, in my judgement.
[file this blog page at: digg del.icio.us Technorati]
cd
driver support for writable
formats (DVD-RW, DVD+RW, DVD-RAM) has been not that working for
a long time. However I have also recently switched to kernel
version 2.6.21 and miraculously now writing works.
pktcdvd
driver
ensures that data gets writter in 32KiB natural blocks. Despite
previous experiences that this too was not quite working for a
long time it seems to have been fixed too; even more
miraculously the UDF filesystem layer works too.
pktcdvd
and it can be much
worse than that, especially when writing trees of small files,
in part because DVD-RAM seek times are especially slow. However
sequential rates are:
Mode | Block size | MB/s/dev/hdd |
MB/s/dev/pktcdvd/1 |
---|---|---|---|
write | 2KiB | 1.7 | 0.8 |
write | 32KiB | 1.8 | 1.3 |
read | 2KiB | 2.7 | 2.7 |
read | 32KiB | 2.7 | 2.7 |
pktcdvd
one
does not (not surprising that write rates are much lower than
read rates: DVD-RAM drives do verify-after-write)..
pktsetup
utility that binds or
unbinds the packet driver to the underlying CD/DVD devices has
some classical Microsoftisms:
# ls -ld /dev/pktcdvd/1 brw------- 1 root root 253, 1 Apr 29 13:11 /dev/pktcdvd/1 # pktsetup /dev/pktcdvd/1 /dev/hdc open packet device: No such device or address
pktsetup
command prefixes the packet device
path with /dev/pktcdvd
, silently:
# pktsetup /dev/pktcdvd/1 /dev/hdc open packet device: No such device or address # pktsetup 1 /dev/hdc # pktsetup -s 1 : 253:1 -> 22:0If Microsoft does it, then it must be the right thing to do...
/
, and that of course
should be unique. The reason is that /
is hard
coded for mounting the root filesystem the initrd
filesystem. This means that one cannot have multiple partitions
with multiple versions of Fedora; unless the obvious fix is
applied, to build a custom kernel to which one can specify a
root=
argument that then does not get ignored./proc/sys/vm/block_dump
the source was ironically
kcmlaptop
, the KDE applet that (mostly) monitors
the battery status: by default it checks the battery status every
20 seconds, and writes its status to its kcmlaptoprc
file. Changing the battery check interval to something like 5-10
minutes mostly solves the issue. However saving the battery
status to a file seems to me rather pointless.hdparm -t
reported
a bulk sequential read speed of over 80MB/s, same as for
internal disks. A remarkable event: to have the same high speed
interface for both external and internal peripherals, a great
convenience which I last experienced with parallel SCSI many
years ago (even if I still have a SCSI-2 host adapter in my PC,
with both external and internal sockets). I also have Firewire
host adapter with both internal and external socket too, but
internal native Firewire peripherals did not quite happen. It is
fortunate that eSATA is here, but it would have been a lot
better if Firewire had emerged instead, especially the excellent
performance
recent chipsets have even for non-native peripherals.
UUIDs; this is important as the BIOS and Linux can have very different idea of the position of a peripheral (for example Linux lists peripherals strictly in order by PCI id attachment, unlike the BIOS). Yet another ancient UNIX tradition goes.
/etc/fonts/
files.
fc-cache
command which complains that
write cache file failedeven if there is no reason for that. So I downloded the Fedora 7 version of the
fontconfig
RPM and its fc-cache
command just worked.
%A Peter J. Denning %T Why our approach to performance evaluation is SDRAWKCAB %J ACM SIGMETRICS Performance Evaluation Review %V 2 %D SEP 1973 %P 13-16where a very good argument is made about performance evaluation, which is of more general application. It is that instead of creating complex systems and then try to create complex performance models for them, it is rather preferable to design systems with a goal that they have a simple performance model. The autor of the paper did notably contribute an example of with the working set page replacement policy which has a single very simple tunable and a simple performance model. Too bad that many contemporary systems have bewilderingly complex sets of tunables and complex multidimensional performance models.
our inability to do much. Dijkstra therefore argued for appropriate simplicity and partitioning of problems in parts and disciplined thinking for a long time and I am not surprised by the title of a restrospection on his work:
Some relevant quotes by Dijkstra:To mark the occasion of Dijkstra's retirement in November 1999 from the Schlumberger Centennial Chair in Computer Sciences, which he had occupied since 1984, and to celebrate his forty-plus years of seminal contributions to computing science, the Department of Computer Sciences organized a symposium, In Pursuit of Simplicity which took place on his birthday in May 2000.
Simplicity is prerequisite for reliability.
The competent programmer is fully aware of the limited size of his own skull. He therefore approaches his task with full humility, and avoids clever tricks like the plague.
All lost in time, which reminds me that once I attended a lecture by D. E. Knuth on the history ofHow do we convince people that in programming simplicity and clarity -- in short: what mathematicians call "elegance" -- are not a dispensable luxury, but a crucial matter that decides between success and failure.
structured programmingand he mentioned that the wonderful classic mentioned above:
%A E. W. Dijkstra %A C. A. R. Hoare %A O. J. Dahl %T Structured programming %I ACPRESS %D 1972was still in print, and then sadly added that when he asked how many copied were being sold, the publisher said on average three copies per year (I bought one a long time ago) were being sold. Which reminds of of this somewhat sad but apposite cartoon.