Michael's musings


This is a blog of
mcr at sandelman.ca

Sun, 29 Apr 2007

A critique of "agile" and an interesting response

Steve Yegge has a nice rant about -isms, including the agile movement at:

http://steve-yegge.blogspot.com/2006/09/good-agile-bad-agile_27.html

Everything he says is correct, but he misses the point. All things that are apparently effective will have also-rans. The whole .com era was about that!

He says that he's observed a lot, but doesn't give us details. I'd like to know them. I don't think he's actually ever pair programmed, and no, ten people at a keyboard is not better.

The revolutionary thing about the XP methodology (XP is just one of many agile methods), was that it wasn't revolutionary. It just gave me language to discuss what I'd already been doing.

He then goes on to discuss the google agile methodology. It sounds great.

But, the best response I was pointed to is at:

http://www.xprogramming.com/xpmag/jatBaseball.htm

We Tried Baseball and It Didn't Work Ron Jeffries 05/02/2006 An allegory? Sarcasm? Humorous pastiche? You decide.

The fanatical proponents of baseball tell us that it is a very exciting game, fun to play and fun to watch. They are clearly either stupid or evil or both, because we tried baseball and it didn't work. ...



posted at: 20:17 | path: /agile | permanent link to this entry

Fri, 20 Apr 2007

raid set up for lvm

Despite what the thread at: http://www.mail-archive.com/linux-raid@vger.kernel.org/msg07378.html

says, William L. Thomsom Jr. is reporting a real bug.

[root@grouper dev]# fdisk -l /dev/sda | grep sda6
/dev/sda6               2        4865    39070048+  fd  Linux raid autodetect
[root@grouper dev]# fdisk -l /dev/sdb | grep sdb6
/dev/sdb6               2        4865    39070048+  fd  Linux raid autodetect

root@grouper dev]# mdadm --create --verbose /dev/md1 --level=mirror --raid-devices=2 /dev/sda6 /dev/sdb6
mdadm: /dev/sda6 is too small: 0K

Yet, making ONE adjustment changes things:

[root@grouper dev]# fdisk -l /dev/sdb | grep sdb6
/dev/sdb6               2        4865    39070048+  fd  Linux raid autodetect
[root@grouper dev]# fdisk -l /dev/sda | grep sd.6
/dev/sda6               2        4865    39070048+  83  Linux
[root@grouper dev]# mdadm --create --verbose /dev/md1 --level=mirror --raid-devices=2 /dev/sda6 /dev/sdb6
mdadm: size set to 39069952K
mdadm: array /dev/md1 started.

Curiously, that's all I had to do. Subsequent partitions (I had 8 of them to raid), just worked. Likely this is a bug in the kernel, where once one partition has been used, it winds up caching the disk label, and therefore some other effect no longer occurs.

Oh:

[root@grouper dev]# uname -a
Linux grouper.sandelman.ca 2.6.18-1.2239.fc5xen0 #1 SMP Fri Nov 10 13:58:27 EST 2006 i686 i686 i386 GNU/Linux

Why would I make 8 40G partitions on each of a pair of 320G disks? And then raid pairs, and then add them all to an LVM?

Well... imagine that I get some bad sectors somewhere. That means that my RAID will get degraded to single disk. If I want to continue working, and not replace the disk immediately, it turns out that I can find another 40G on another platter rather easily, and raid that together instead of the piece that I lost.

Then I'll look at SMART and other info, and find out if the disk is really dying, and try to get it replaced, but in the meantime, I feel more safe.

If, while waiting for the replacement disk, I got a second failure, in the other disk (both disks are, same vendor, and probably sequential out of the assembly line), then I'd loose everything... unless I can just degrade part of each disk, and keep working.

[root@grouper dev]# mdadm --create --verbose /dev/md7 --level=mirror --raid-devices=2 /dev/sda7 /dev/sdb7
mdadm: size set to 39069952K
mdadm: array /dev/md7 started.
[root@grouper dev]# mdadm --create --verbose /dev/md8 --level=mirror --raid-devices=2 /dev/sda8 /dev/sdb8
mdadm: size set to 39069952K
mdadm: array /dev/md8 started.
[root@grouper dev]# mdadm --create --verbose /dev/md9 --level=mirror --raid-devices=2 /dev/sda9 /dev/sdb9
mdadm: size set to 39069952K
mdadm: array /dev/md9 started.
[root@grouper dev]# mdadm --create --verbose /dev/md10 --level=mirror --raid-devices=2 /dev/sda10 /dev/sdb10
mdadm: size set to 39069952K
mdadm: array /dev/md10 started.
[root@grouper dev]# mdadm --create --verbose /dev/md11 --level=mirror --raid-devices=2 /dev/sda11 /dev/sdb11
mdadm: size set to 39069952K
mdadm: array /dev/md11 started.
[root@grouper dev]# mdadm --create --verbose /dev/md12 --level=mirror --raid-devices=2 /dev/sda12 /dev/sdb12
mdadm: size set to 39069952K
mdadm: array /dev/md12 started.
[root@grouper dev]# mdadm --create --verbose /dev/md13 --level=mirror --raid-devices=2 /dev/sda13 /dev/sdb13
mdadm: size set to 39069952K
mdadm: array /dev/md13 started.


[root@grouper dev]# pvcreate /dev/md1
  Physical volume "/dev/md1" successfully created
[root@grouper dev]# pvcreate /dev/md7
  Physical volume "/dev/md7" successfully created
[root@grouper dev]# pvcreate /dev/md8
  Physical volume "/dev/md8" successfully created
[root@grouper dev]# pvcreate /dev/md9
  Physical volume "/dev/md9" successfully created
[root@grouper dev]# pvcreate /dev/md10
  Physical volume "/dev/md10" successfully created
[root@grouper dev]# pvcreate /dev/md11
  Physical volume "/dev/md11" successfully created
[root@grouper dev]# pvcreate /dev/md12
  Physical volume "/dev/md12" successfully created
[root@grouper dev]# pvcreate /dev/md13
  Physical volume "/dev/md13" successfully created

[root@grouper dev]# vgcreate Grouper1 /dev/md1 /dev/md7 /dev/md8 /dev/md9 /dev/md10 /dev/md11 /dev/md12 /dev/md13
  Volume group "Grouper1" successfully created

[root@grouper dev]# vgs
  VG         #PV #LV #SN Attr   VSize   VFree
  Grouper1     8   0   0 wz--n- 298.06G 298.06G
  VolGroup00   1  24   0 wz--n-  76.25G   6.16G
[root@grouper dev]# pvs
  PV         VG         Fmt  Attr PSize  PFree
  /dev/md0   VolGroup00 lvm2 a-   76.25G  6.16G
  /dev/md1   Grouper1   lvm2 a-   37.26G 37.26G
  /dev/md10  Grouper1   lvm2 a-   37.26G 37.26G
  /dev/md11  Grouper1   lvm2 a-   37.26G 37.26G
  /dev/md12  Grouper1   lvm2 a-   37.26G 37.26G
  /dev/md13  Grouper1   lvm2 a-   37.26G 37.26G
  /dev/md7   Grouper1   lvm2 a-   37.26G 37.26G
  /dev/md8   Grouper1   lvm2 a-   37.26G 37.26G
  /dev/md9   Grouper1   lvm2 a-   37.26G 37.26G


posted at: 02:23 | path: /oss | permanent link to this entry

Mon, 09 Apr 2007

NetBSD's mfs /dev

I discovered that the default /dev/MAKEDEV does not create the xbd2 device entries, so a NetBSD domU does with three disks does not get initialized properly by default.

Normally, you run "cd /dev && ./MAKEDEV xbd2" and you are done.

But, now that NetBSD has an mfs based /dev, the results are not saved.

The problem is that if you edit /dev/MAKEDEV with vi, it renames the file, which means that it creates a new file in the mfs. (It is mounted with union option). Really, I think that the mfs /dev should be mounted below the real /dev, and also created elsewhere, so that one can decide of the node should be permanent or not.

I could have mounted the / on another virtual machine (one nice thing about virtual machines), but NFS exporting / to another NetBSD machine and mounting it (which it gets the underlying /dev), and running MAKEDEV was easier.



posted at: 12:34 | path: /colo | permanent link to this entry

Mon, 02 Apr 2007

Quirks and Quarks gets it wrong

This is what my play list says about the Quirks and Quarks downloads.

Quirks & Quarks - CBC Radio - QQ-170207-01-Obesity
Quirks & Quarks - CBC Radio - QQ-170207-02-Bird Butts
Quirks & Quarks - CBC Radio - QQ-170207-03-Peregrine Recovery
Quirks & Quarks - CBC Radio - QQ-170207-04-Moth Antennae
Quirks & Quarks - CBC Radio - QQ-170207-05-Question-Frozen Carbonation
Quirks & Quarks - CBC Radio - QQ-140207-01-Censorship in Science
Quirks & Quarks - CBC Radio - QQ-140207-02-Giant Clams
Quirks & Quarks - CBC Radio - QQ-140207-03-Ancient Agriculture
Quirks & Quarks - CBC Radio - QQ-140207-04-Dusty Planet
Quirks & Quarks - CBC Radio - QQ-140207-05-Columbus Silver
Quirks & Quarks - CBC Radio - QQ-030307-01-Walking on The Moon again
Quirks & Quarks - CBC Radio - QQ-100307-01-Peruvian Sun Towers
Quirks & Quarks - CBC Radio - QQ-100307-02-Smart Scrub Jays
Quirks & Quarks - CBC Radio - QQ-100307-03-Origin of Lice
Quirks & Quarks - CBC Radio - QQ-100307-04-AEGIS
Quirks & Quarks - CBC Radio - QQ-100307-05-Cowbird Mafia
Quirks & Quarks - CBC Radio - QQ-100307-06-Question, Lightbulb Lifespan
Quirks & Quarks - CBC Radio - QQ-170307-01-Mars Ice
Quirks & Quarks - CBC Radio - QQ-170307-02-Chimp Tools
Quirks & Quarks - CBC Radio - QQ-170307-03-Bone Printer
Quirks & Quarks - CBC Radio - QQ-170307-04-Hearing Mammals
Quirks & Quarks - CBC Radio - QQ-170307-05-The Elephant's Secret Sense
Quirks & Quarks - CBC Radio - QQ-240307-01-BC Algae
Quirks & Quarks - CBC Radio - QQ-240307-02-Dinosaur Burrows
Quirks & Quarks - CBC Radio - QQ-240307-03-Modified Malarial Mosquitoes
Quirks & Quarks - CBC Radio - QQ-240307-04-Friendly Monkeys
Quirks & Quarks - CBC Radio - QQ-240307-05-Herzberg Winner - Bond
Quirks & Quarks - CBC Radio - QQ-310307-01-Sugar Fuel
Quirks & Quarks - CBC Radio - QQ-310307-02-Kuiper Collision
Quirks & Quarks - CBC Radio - QQ-310307-03-Marmoset Chimera
Quirks & Quarks - CBC Radio - QQ-310307-04-Wind Hunter
Quirks & Quarks - CBC Radio - QQ-310307-05-E. coli and Chimps
Quirks & Quarks - CBC Radio - QQ-310307-Questions- Body Temperature

What's wrong with this?

This is because the "album label" says:

[Quirks & Quarks - Dec. 16, 2006]
[Quirks & Quarks - Dec. 2, 2006]
[Quirks & Quarks - Dec. 23, 2006]
[Quirks & Quarks - Dec. 30, 2006]
[Quirks & Quarks - Dec. 9, 2006]
[Quirks & Quarks - Feb. 10, 2007]
[Quirks & Quarks - Feb. 17, 2006]
[Quirks & Quarks - Feb. 24, 2007]
[Quirks & Quarks - Feb. 3, 2007]
[Quirks & Quarks - Jan 6, 2007]
[Quirks & Quarks - Jan. 13, 2007]
[Quirks & Quarks - Jan. 20, 2007]
[Quirks & Quarks - Jan. 27, 2007]
[Quirks & Quarks - Mar. 10, 2007]
[Quirks & Quarks - Mar. 24, 2007]
[Quirks & Quarks - Mar. 31, 2007]
[Quirks & Quarks - March 17, 2007]
[Quirks & Quarks - March 3, 2007]

This is a plea for sanity. YYYY-MM-DD.

Please.



posted at: 21:46 | path: /standards | permanent link to this entry


XML


April
Sun Mon Tue Wed Thu Fri Sat
         
2007
Months
Apr