Tips for those giving technical talks

I’m currently thoroughly enjoying FOSDEM, as I have all the other times I’ve been. It’s great that these people have made the time to come and give talks for free, so I hope I don’t sound ungrateful when I make these observations.

When giving a technical talk:

  • make sure you have actually read your material! It’s surprising the number of presenters who will not know the order of their slides or what some part of what they have written means!
  • try to practice delivering it. It will give you some idea of what pace it needs to be presented at.
  • test all the facilities you need in your talk! If you need to plug a projector into your laptop, try this ahead of time and make sure it works! If you need Internet connectivity, try this ahead of time and make sure it works! If you have a demo, try it and make sure it works! The message here is, try it ahead of time and make sure it works!
  • resist the urge to show a shell in a terminal emulator. They’re really hard to read on a large screen and don’t get across the essential information in the brief way needed for a presentation. Try to avoid showing anything running in a shell unless absolutely necessary. Watching pages of output fly by only to have you say “see, it has worked” doesn’t work particularly well in this setting, as there is far too much distracting information.
  • if you must use a terminal then set it to black text on a white background, turn off coloured output (e.g. in ls and other applications) and hike the font size up. Go through things slowly and try to remove all irrelevant output. Be prepared for people to still be unable to tell what is going on.
  • try to deliver your material in an animated way. The smartest person in the world talking about the most Earth-shattering subject will still make their audience fall asleep if they deliver it in a monotone. Especially if it’s just after lunch or near the end of the day! It’s not the audience’s fault, it happens to most people if they sit passively all day.
  • invite questions, either during the talk, at the end or both. When people ask a question, repeat the question for everyone to hear! Most of the room will not have heard the question that was just asked so your response would otherwise be meaningless to them. Doing this also helps to ensure that you understand the question they have asked, so it’s probably worth it even if the person who asked the question had a mic also.

New-look lug.org.uk launched: some thoughts for its future

After a tremendous effort by a few of the other admins and volunteers, the new-look lug.org.uk has been launched.

I’m not going to go into massive detail as plenty of other blog posts have been written about this already, and I wasn’t one of the admins doing much work on it. However I am really impressed with what has been achieved and very happy to see the back of the old site and server it was on.

It will be interesting to see what we can come up with in terms of managed services for our users in future. I would like eventually for all new accounts by default to be given only restricted access and a prearranged list of customisable applications, instead of the current full shell account and free use of PHP/CGI that they have had previously. Whether we should ever (again) offer anything more is something I am not convinced about.

The vast majority of accounts do not require anything but the most simple web hosting, and supporting the legacy environment would be a challenge for even a commercial hosting company. I think that providing complex custom hosting for free is not our remit and groups desiring that should be looking for a commercial hosting provider. It’s also my opinion that providing hosting services should always remain a relatively minor part of what we do — okay, mailing lists are essential but most LUGs can scrape together some web hosting for themselves if they need to. What we are primarily there for I believe is to help with cross-LUG communication and publicity, simply keeping track of which LUGs exist and how to find them and so on. The new site should help us do that but there is always room for improvement.

Another issue we’ve done a lot of talking about but not managed to make much progress on is the issue of incorporation. To date, lug.org.uk has been run by individuals, services have been donated and we’ve never really accepted monetary donations. In the last couple of years we’ve faced having to buy decent hardware, because no company was interested in donating something suitable, and begging for it was time-consuming and soul-destroying. We also now have a recurring cost for hosting which is basically being paid for by a couple of us as individuals. It would be nicer in some respects if we could formally incorporate lug.org.uk as a non-profit society / club / charity / whatever, so that it could have its own bank account and pay its suppliers.

We’ve made a couple of stabs at the charter that would be required for this — Hugo in particular has spent a lot of time on it — yet we’ve never managed to come to an agreement amongst the active admins over responsibilities and burdens it would place on us. I hope we can resolve this one day soon. In the meantime we should probably just add some sort of donations page.

A number of the lug.org.uk admins including myself will be at FOSDEM for the next few days. If you have any ideas for lug.org.uk or just want a chat please do seek us out! We’ll be wearing lug.org.uk t-shirts but if you’re having no luck finding us then the phone number in my contact details will work.

Mutt pager/index view, and colour scheme

I had thought that my use of mutt was completely ordinary, but after pasting a screenshot of it:

screenshot of my mutt

into IRC for unrelated reasons, a number of people asked how I set it up like that. The answer is I read the manual!

But for those not interested in reading the manual, the image is of the pager view, i.e. what is used to view an individual message. The top few lines show a view of the index, i.e. the list of messages in the current folder. People have referred to this as a split window but it isn’t really as there is no way to make it “active” and give it commands that you would use in the index. It’s just for display purposes, but it does help to see where you are in the thread.

Adding:

set pager_index_lines=10

to your .muttrc will dedicate the top 10 lines of your pager view to this view of the index.

The colour scheme shown is determined by the following lines:

color header cyan black .
color header yellow black ^From
color header yellow black ^Subject
color body yellow black [_a-z\.\$A-Z0-9-]+@[a-zA-Z0-9\./\-]+
color body yellow black (http|ftp)://[_a-zA-Z0-9\?\=\&\@\%\#\:\,\./~\-]+
color quoted green black
color signature cyan black
color attachment yellow black
color tree white black
color indicator black cyan
color status yellow blue
color tilde blue black
color normal white black
color index green black ~N

The lines with regular expressions just pick out things like email addresses and URLs. The last line makes new (unread) mails stand out in the index view. The regular expressions could be improved but really, they work well enough for me. I haven’t edited this part of the config since 2005!

Possible hardware issue with Tyan S3970 motherboard

Dear Lazyweb,

You will probably want to skip this if you have no knowledge of server motherboards and RAM and/or no interest in helping me.

I have a new server based on a Tyan S3970 motherboard with four DIMMs. It was assembled by the supplier and subjected to a burn-in test. It seems however that they did not look at the BIOS event log before shipping it because when I got it, it was full of messages regarding single-bit memory errors with date stamps stretching back through the previous week. This is plausible since the ECC RAM will correct single-bit errors.

Anyway, so I thought it would be a single bad DIMM, turned off ECC in the BIOS and broke out memtest86+.

What I found was that after approximately 90 minutes, memtest86+ reported errors across the entire memory range (implicating all DIMMs). Here’s an example:

 WallTime   Cached  RsvdMem   MemMap   Cache  ECC  Test  Pass  Errors ECC Errs
 ---------  ------  -------  --------  -----  ---  ----  ----  ------ --------
   1:59:27   8192M     160K  e820-Std    on   off   Std     0      80        0
 -----------------------------------------------------------------------------
Tst  Pass   Failing Address          Good       Bad     Err-Bits  Count Chan
---  ----  -----------------------  --------  --------  --------  ----- ----
  7     0  000974b216c -  2420.1MB  9c9a2a71  9c9a0a71  00002000      1
  7     0  00126a320cc -  4714.1MB  819293fd  8192b3fd  00002000      1
  7     0  00114c0012c -  4428.0MB  8e8b2ec2  8e8b0ec2  00002000      1
  7     0  001115920ec -  4373.1MB  652557a0  652577a0  00002000      1
  7     0  00165b030cc -  5723.1MB  86cb57f6  86cb77f6  00002000      1
  7     0  0016069710c -  5638.4MB  b59513f4  b59533f4  00002000      1
  7     0  0014969e0ec -  5270.8MB  15be53f9  15be73f9  00002000      1
  7     0  001094370cc -  4244.4MB  2b779fdd  2b77bfdd  00002000      1
  7     0  00139f8d0ec -  5023.8MB  1c54d9dd  1c54f9dd  00002000      1
  7     0  001568ad0cc -  5480.8MB  318657e8  318677e8  00002000      1

At this point I of course began to suspect the motherboard, but in the interest of thorough testing I decided to try just one pair of DIMMs. These tested for over 3 hours without a problem. I thought perhaps that this pair was good whereas the other pair might be bad, so I swapped them over. The other pair then tested for over 8 hours without error. So it’s definitely not the DIMMs.

I checked that the DIMMs are all identical (they are) and studied the motherboard manual closely:

http://www.tyan.com/manuals/m_s3970_110.pdf

The memory section on page 28 states:

For optimal dual-channel DDR operation, always install memory in pairs beginning with P1_DIMM7 and P1_DIMM8. Refer to the following table for supported DDRII populations.

The table then shows that you should install the DIMMs in pairs, starting with slots 7 and 8. So, 7→8, 5→8, 3→8 and 1→8 are the only supported configurations.

The server had been delivered with slots 1→4 populated. I have just changed that to 5→8 and it’s now over 4 hours into a test without an error, which is the most I’ve achieved with all 4 DIMMs installed. If we assume that no more errors are encountered, would you be satisfied with this conclusion?

I am still a little bit worried that the motherboard is faulty in some way, because giving a consistent single-bit memory error seems like a really weird outcome for running in an unsupported configuration. I would have thought that it would either not detect the RAM, or it would be OK. Is this behaviour something you would expect?

I’ve opened a support request with Tyan to ask if this is normal behaviour, but I’ve no idea when or if they will respond.

And how are you

Text message from a relative:

hi andrew need to ask you a question when we open the laptop the screen goes all funny with lots of coloured line all over it any clues what up with it. And how are you

R. E. Perot, get gold card soul / My joy of life is on a roll

I thought I’d treat myself to some toys.

With FOSDEM and other events fast approaching I decided I should buy myself a new compact camera as the Konica DiMAGE I have now is just too big to carry around all the time.

I’m no camera expert and certainly not a very good photographer so I don’t need anything particularly special. pidgin recommended the Panasonic FX series and looking around the review sites the current favourite seems to be the DMC-FX33, so that’s what I got.

It arrived today (well, yesterday) and I’m really impressed by how tiny and cute it is!

Panasonic DMC-FX33

I haven’t yet had chance to really play with it but in my limited testing it seems to work well enough, and it’s certainly small and light enough to carry around most of the time.

I was also going to stick up a photo of the new server I’ve bought for BitFolk and am currently testing, but it appears to have been shipped with faulty RAM, or maybe even a faulty motherboard.

The BIOS event log shows single-bit errors corrected over the last week which must have been the burn-in period, and I can induce more of them by running memtest86. It seems the supplier did not check the BIOS event log (ECC RAM corrects single-bit errors so they were probably otherwise undetectable) before shipping.

It doesn’t seem like just a case of a bad stick or two though, as the errors appear across the whole memory space, which is why I think it could be the motherboard. I’ll get it sorted out eventually but it’s going to delay things massively and being out of capacity is costing me money.

So anyway, that’s really annoyed me and left me without anything good to say, so I’ll save it for another day!