Greg
animals language
brewing multimedia
cooking music
fiction opinion
gardening photography
general technology
history
Greg's diary
April 2011
Translate this page
Select day:
Mo Tu We Th Fr Sa Su
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
Select month in 2011:
Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
Today's diary entry
Diary index
About this diary
Previous month
Next month
Greg's home page
Greg's photos
Network link stats
Greg's other links
Copyright information
    
Groogle
This view of the diary is limited to these topics: technology. There may be lack of continuity in the text, and some days may be completely missing. In case of doubt, please enable the complete display.

Friday, 1 April 2011 Dereel Images for 1 April 2011
Top of page
next day
last day

Firefox on Microsoft: no easier
Topic: technology Link here

Started up my Microsoft VM to check some markup and found a whole lot of windows had popped up, including yet another unsolicited firefox version 3.6 download waiting for installation. Started that and was asked to accept a strange license agreement:

 
This should be whose-license.gif.  Is it missing?
Image title: whose license
Dimensions: 426 x 295, 26 kB
Dimensions of original: 426 x 295, 26 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Friday, 1 April 2011:
thumbnails    small images    diary entry

Was that part of the firefox installation? Who knows? It doesn't say what it is, and it took me a while to realize that it was a GPL license agreement. I still don't know. I can accept the GPL, so accepted, but I don't know if it was related. The firefox installation continued, and once again I got the message “Thanks for downloading Firefox, but this version is out of date”. Surely it should realize that itself and download the next one. Followed the instructions, downloaded the executable firefox 4 executable, and... nothing. It proved that it had save the thing on my desktop, and I had to install it manually. Why is this stuff all so clunky?


Saturday, 2 April 2011 Dereel Images for 2 April 2011
Top of page
previous day
next day
last day

Photos into the sun and software experiments
Topic: photography, technology Link here

House photos again today. After noting significant flare in my Zuiko Digital ED 12-60mm F2.8-4.0 SWD lens and the comparative lack of it on the “before” photo was taken with the Zuiko Digital ED 9-18mm F4.0-5.6, decided to try some shots directly into the sun. Yes, there's flare on the 9-18mm too; it doesn't show up as much because it covers most of the field of view. But I took these photos to stitch them together, so what's wrong with taking a photo where I obscure the sun with my hand, and then eliminating it from the final photo?


  This should be garden-to-house-s-1.jpeg.  Is it missing?
Image title: garden to house s 1          Dimensions:          4032 x 3024, 5952 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 2 April 2011, thumbnails          All images taken on Saturday, 2 April 2011, small
Diary entry for Saturday, 2 April 2011 Complete exposure details

 
  This should be garden-to-house-s-5.jpeg.  Is it missing?
Image title: garden to house s 5          Dimensions:          4032 x 3024, 5616 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 2 April 2011, thumbnails          All images taken on Saturday, 2 April 2011, small
Diary entry for Saturday, 2 April 2011 Complete exposure details

 

The exposure is identical for both images, and the flare in the first image is clear in the shaded walls of the house and shed, and on the grass. Left that for experiments later, and just did the normal stitching. To my surprise, hugin incorporated both of these photos in the final panorama and completely omitted my hand:


  This should be garden-to-house-s.jpeg.  Is it missing?
Image title: garden to house s          Dimensions:          5508 x 1594, 2208 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 2 April 2011, thumbnails          All images taken on Saturday, 2 April 2011, small
Diary entry for Saturday, 2 April 2011 Complete exposure details

 

More experimentation needed there. In particular, the new version of hugin now has a tab “mask”, which enables you to choose the areas of an image to include or exclude. In that respect, it's like what I was looking for last year: a non-rectangular crop function. But the crop function is still there as a separate feature. Who knows how they interact, but it looks as if the mask function still needs a lot of work. Tried it out on the panorama I was working on last year, and found a number of problems. The biggest problem was where people in two different images overlapped:


  This should be Mongolian-hordes-3-detail.jpeg.  Is it missing?
Image title: Mongolian hordes 3 detail          Dimensions:          1020 x 911, 172 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Sunday, 18 April 2010, thumbnails          All images taken on Sunday, 18 April 2010, small
Diary entry for Sunday, 18 April 2010 Complete exposure details

 
  This should be Mongolian-hordes-4-detail.jpeg.  Is it missing?
Image title: Mongolian hordes 4 detail          Dimensions:          1040 x 967, 178 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Sunday, 18 April 2010, thumbnails          All images taken on Sunday, 18 April 2010, small
Diary entry for Sunday, 18 April 2010 Complete exposure details

   
This should be Mongolian-hordes-try3-detail.jpeg.  Is it missing?
Image title: Mongolian hordes try3 detail
Complete exposure details
Dimensions: 558 x 899, 116 kB
Dimensions of original: 558 x 899, 116 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Sunday, 18 April 2010:
thumbnails    small images    diary entry

The problem here is that the overlap between Peter Jeremy (left) and Juha Kupiainen (centre) wasn't vertical. There's no way to include all three people in the image, so I chose to remove Juha. I finally managed it back then by cropping vertically, but it chopped off Peter's left foot and the end of Sue Blake's stick, and also left Juha's right foot behind:

 
This should be Hordes-crop.gif.  Is it missing?
Image title: Hordes crop
Dimensions: 317 x 501, 82 kB
Dimensions of original: 317 x 501, 82 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Sunday, 3 April 2011:
thumbnails    small images    diary entry

What I needed was a way to slice cleanly between Peter's and Juha's legs, and then back around the stick to remove the foot. The mask function offers that:


  This should be masked-crop.gif.  Is it missing?
Image title: masked crop          Dimensions:          1505 x 904, 624 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Sunday, 3 April 2011, thumbnails          All images taken on Sunday, 3 April 2011, small
Diary entry for Sunday, 3 April 2011

   
This should be masked-crop-detail.gif.  Is it missing?
Image title: masked crop detail
Dimensions: 287 x 431, 88 kB
Dimensions of original: 287 x 431, 88 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Sunday, 3 April 2011:
thumbnails    small images    diary entry

Unfortunately, it's very difficult to use:

Still, it's an improvement. I almost feel like looking at the code myself.


X: race condition?
Topic: technology Link here

While doing the photographic work, used up amazing amounts of memory, and for the first time found numerous processes stuck in pfault status. While trying to look at it, got the mouse cursor wedged between two displays, and X hung itself altogether:


  This should be X-top.jpeg.  Is it missing?
Image title: X top          Dimensions:          3912 x 2512, 4048 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 2 April 2011, thumbnails          All images taken on Saturday, 2 April 2011, small
Diary entry for Saturday, 2 April 2011 Complete exposure details

 

By the time I took that photo, the processes had long since successfully completed, but the X server remained wedged and had to be shot down. I've seen something similar before; is this a race condition of some nature, possibly related to the mouse moving between displays?


Sunday, 3 April 2011 Dereel Images for 3 April 2011
Top of page
previous day
next day
last day

More free computers
Topic: technology Link here

Down to Smythesdale today to visit Matt Tatum, who had offered me a couple of old computers a week or so ago. The couple gradually grew, and in the end there were 13 of them:


  This should be Computers-1.jpeg.  Is it missing?
Image title: Computers 1          Dimensions:          2816 x 2112, 704 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Sunday, 3 April 2011, thumbnails          All images taken on Sunday, 3 April 2011, small
Diary entry for Sunday, 3 April 2011 Complete exposure details

 

Back home and unloaded them in the shipping container. A lot of them are effectively junk, but in another I found a 250 GB disk, and there is a Dell PowerEdge 2400, whatever that may be, and 5 IBM NetVista machines:


  This should be Computers-3.jpeg.  Is it missing?
Image title: Computers 3          Dimensions:          2112 x 2816, 736 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Sunday, 3 April 2011, thumbnails          All images taken on Sunday, 3 April 2011, small
Diary entry for Sunday, 3 April 2011 Complete exposure details

 
  This should be Computers-2.jpeg.  Is it missing?
Image title: Computers 2          Dimensions:          2112 x 2816, 480 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Sunday, 3 April 2011, thumbnails          All images taken on Sunday, 3 April 2011, small
Diary entry for Sunday, 3 April 2011 Complete exposure details

 

The NetVistas look interesting, and possibly something I could use for my 3G Internet connection, but what's in the boxes? I don't know: I can't open the damn things. They don't seem to have any kind of screws on the cover, and there are no slides or anything. Went Googling and found that I'm not alone, but it looks as if I'll first have to identify the exact model, so put that into the “too hard” basket until I go back out to the container.


Masked panoramas, continued
Topic: photography, technology Link here

More work on the panoramas today, in particular the one where I had put my hand in front of the sun. It confirms yesterday's impression: there are bugs in hugin's mask function. I can easily define an exclusion mask (an area of the image that should be excluded from the panorama), but when I try to define an inclusion mask, it does random things. Sometimes it does nothing, and then sometimes it does, but there are discrepancies between the windows, and it seems to forget masks. Here the first image (mask window) shows image 1 of the panorama, of which I want only the area round the sun. But it shows no mask, and that the entire image will participate. In the second image (fast preview), the mask has been applied correctly (pink region):


  This should be image-mask-2.gif.  Is it missing?
Image title: image mask 2          Dimensions:          964 x 502, 240 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Sunday, 3 April 2011, thumbnails          All images taken on Sunday, 3 April 2011, small
Diary entry for Sunday, 3 April 2011

   
This should be image-mask-1-detail.gif.  Is it missing?
Image title: image mask 1 detail
Dimensions: 358 x 186, 34 kB
Dimensions of original: 358 x 186, 34 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Sunday, 3 April 2011:
thumbnails    small images    diary entry

Didn't finish that one either; I need to understand things better first, including how to work round the bugs.


Monday, 4 April 2011 Dereel Images for 4 April 2011
Top of page
previous day
next day
last day

Panorama masking, finally
Topic: photography, technology Link here

More work today on the panorama into the sun, and finally got a presentable panorama. Here the first attempt, then the one I did today:


  This should be garden-to-house-s-orig.jpeg.  Is it missing?
Image title: garden to house s orig          Dimensions:          5222 x 1629, 2192 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 2 April 2011, thumbnails          All images taken on Saturday, 2 April 2011, small
Diary entry for Saturday, 2 April 2011 Complete exposure details

 

  This should be garden-to-house-s.jpeg.  Is it missing?
Image title: garden to house s          Dimensions:          5508 x 1594, 2208 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 2 April 2011, thumbnails          All images taken on Saturday, 2 April 2011, small
Diary entry for Saturday, 2 April 2011 Complete exposure details

 

The increase in shadow detail is particularly obvious round the south verandah:

 
This should be garden-to-house-s-orig-detail.jpeg.  Is it missing?
Image title: garden to house s orig detail
Complete exposure details
Dimensions: 737 x 498, 86 kB
Dimensions of original: 737 x 498, 86 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Saturday, 2 April 2011:
thumbnails    small images    diary entry

 
This should be garden-to-house-s-detail.jpeg.  Is it missing?
Image title: garden to house s detail
Complete exposure details
Dimensions: 764 x 515, 112 kB
Dimensions of original: 764 x 515, 112 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Saturday, 2 April 2011:
thumbnails    small images    diary entry

And how did I do it? Pretty much the way I described yesterday, just with a lot of fiddling.

And how can I improve things? Clearly the hugin mask tab needs improvement, and I think it should be merged with the crop tab. But then there needs to be some way to fine-tune things from the preview or fast preview window, and also a way to increase the display size without changing the panorama. Currently any change in the displayed image changes the resultant panorama, which isn't my intention.

Also had another stab at the time-lapse output of the verandah photos. I had thought that maybe I needed to crop all the images so that none of the frame remained. Nada. The problem was the same as before: the first image was larger than the other two. I need to investigate (and probably document) how these things work.


Tuesday, 5 April 2011 Dereel Images for 5 April 2011
Top of page
previous day
next day
last day

Time lapse photography, still more dead ends
Topic: photography, technology Link here

Continued my investigation of how to resize images for time-lapse photography today. The program I have been using is nona, part of hugin. Went looking for documentation, which, as I feared, was very scant. What I've discovered is effectively the usage() message:

nona: stitch a panorama image

 It uses the transform function from PanoTools, the stitching itself
 is quite simple, no seam feathering is done.
 only the non-antialiasing interpolators of panotools are supported

 The following output formats (n option of panotools p script line)
 are supported:

  JPG, TIFF, PNG  : Single image formats without feathered blending:
  TIFF_m          : multiple tiff files
  TIFF_multilayer : Multilayer tiff files, readable by The Gimp 2.0

Usage: nona [options] -o output project_file (image files)
...

The important thing here is the project file, which contains all the input information. It's supposed to be compatible with the PTStitcher project file. An old version of the format is described on that page. It seems that hugin creates one internally when invoking nona directly, but it save it as a file panorama.pto, where panorama is the base name of the output file.

Trying to read nona source code is painful. There's even a file src/hugin_base/nona/TODO.txt which is not overly complimentary. And with that minor exception there's as good as no description how it works.

So decided to try PTmender, which is also supposed to be compatible with PTstitcher. But somewhere the compatibility has faded:

=== grog@dereel (/dev/pts/5) ~/Photos/bloody-stupid-hugin 129 -> PTmender -o foo.tif 00-02.pto *.jpg
PTmender Version 2.9.17 , originally written by Helmut Dersch, rewritten by Daniel German
Illegal token in 'p'-line [69] [E] [E10.3056 R0 n"TIFF_m c:LZW r:CROP"]
Illegal token in 'p'-line [49] [1] [10.3056 R0 n"TIFF_m c:LZW r:CROP"]
...

It appears to be complaining about the first character of every line. I don't even want to start thinking about looking at why. But where do PTmender-compatible project files come from?


Wednesday, 6 April 2011 Dereel Images for 6 April 2011
Top of page
previous day
next day
last day

Looping software and warm cupboards
Topic: multimedia, technology, general Link here

I've noticed in the last couple of days that the cupboard with cvr2.lemis.com, my computer video recorder, has been particularly warm. This afternoon I discovered why:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
grog     27628 99.9  5.1 192880 99592 tty2     Sl+  Mar20 24472:38 /usr/bin/mythfrontend.real

That represents 17 days of CPU time; in other words, almost since starting the front end, it has been using 100% CPU time. No idea why. I don't use mythfrontend (part of MythTV) on that box, so I hadn't noticed. Looking at the start time, it appears to have been started when I was looking at the reception problems.

And later Yvonne came to me and told me that her Emacs was running excruciatingly slowly, up to a minute for a response. Went and took a look: yes, indeed, it was, using up to a minute of CPU time per keystroke. I've never seen anything like that before. She was editing her horse training diary, which is a simple markup interpreted by a PHP script:

without every freaking out the slightest. We were very impressed! That
stallion sure has a lot of brio!

*>http://wwww.lemis.com/yvonne/photos/Bigphoto.php?dirdate=20081104&image=yes-I-can.jpeg&width=100%
*>http://wwww.lemis.com/yvonne/photos/Bigphoto.php?dirdate=20081104&image=harmony.jpeg&width=100%

*d20081109

Chris did more work with Nikita. She is starting to soften and listen,
but has some grumpy moments at times. They worked on going forward

The * in the first column are magic: *d generates a date header, and *> interprets the following URL, extracts a valid photo URL from it and generates HTML to display the image. Empty lines generate a paragraph break. That's all there is to it, but it's easy enough for her to use, and it's sufficient for her needs.

But why was it looping? Tried to debug the scripts by setting debug-on-quit to T, and was able to get a stack trace, but it wasn't very informative:

debug()
call-interactively(debug t nil)
execute-extended-command(nil)
call-interactively(execute-extended-command nil nil)

It took a while to come to the hypothesis that it was due to using Emacs HTML mode, which was presumably trying to match up tags in the markup, and not finding any. The file is currently nearly 7000 lines long, and needs to be broken up for legibility, but normally that wouldn't be a problem. But the HTML functions are not optimized for looking through the whole file for every tag, and that proved to be the problem. Score: guesswork 1, Emacs debugger 0.


Thursday, 7 April 2011 Dereel Images for 7 April 2011
Top of page
previous day
next day
last day

More weather station woes
Topic: technology, general Link here

Came into the office this morning to find my weather station software crashing at regular intervals with SIGSEGV. Further investigation showed that I hadn't had any readings since yesterday morning. Tried putting the thing in the debugger, but it didn't seem to read anything at all from the device.

This device has a pretty flaky USB interface, so tried various things, including disconnecting and reconnecting the cable (no difference) and then power cycling the device (remove and replace batteries). That didn't work either, but it pointed out the problem: it didn't reset. The batteries were flat. Replacing them solved the problem. Now wouldn't it be nice if the device were to give some indication in advance? Of course, maybe it does. How can I find that out?


Opera font strangenesses
Topic: technology Link here

I'm gradually coming to terms with Opera. It's much faster, not only with photos, but also with normal web page display. As I suspected, though, I'm not yet ready to switch over completely. One of the biggest issues are fonts. There are two separate issues:

  1. For some reason, Opera doesn't find the non-European fonts installed on the system. firefox does, so it's not a question of missing fonts. It seems that Opera must be looking elsewhere for them, but the documentation doesn't give details.

  2. Font sizes appear to be Just Plain Broken. At some point it started rendering my own pages very large, then very small, and nothing I could do in the settings would change it; even a font size of 25 pixels rendered the text in minuscule size. I don't specify font sizes in my web pages (I believe that no web page should), so it can't be the page itself. Restarting Opera did change, back to normal. But when I opened another window, that page (also without any special font specifications) came out extremely large:


      This should be opera-font-sizes.gif.  Is it missing?
    Image title: opera font sizes          Dimensions:          1083 x 740, 240 kB
    Make a single page with this image Hide this image
    Make this image a thumbnail Make thumbnails of all images on this page
    Make this image small again Display small version of all images on this page
    All images taken on Thursday, 7 April 2011, thumbnails          All images taken on Thursday, 7 April 2011, small
    Diary entry for Thursday, 7 April 2011

     

    This seems to happen at random. I wonder how to chase it.

There also seems to be an issue with positioning on anchors. In the HTML version of this diary I have self-referential links to each article. Clicking on one should position it at the top of the window, and that's what happens with firefox. But for some reason, Opera positions further down, at least some of the time.

A related problem is refresh. If I have selected a URL like http://www.lemis.com/grog/diary-apr2011.php, the refresh occurs without repositioning the window to the top. This is what firefox does too, and I think it's the correct action. But if I have chosen a URL with an anchor specification, like http://www.lemis.com/grog/diary-apr2011.php#D7-1, it does reposition to the anchor position (modulo the error described above), which is quite irritating.


Friday, 8 April 2011 Dereel Images for 8 April 2011
Top of page
previous day
next day
last day

Mail on teevee
Topic: technology Link here

In the evening, waiting in front of the TV screen for Yvonne, decided to check on my mail. That's simple enough: ssh to my main machine and start mutt. But teevee runs FreeBSD too. It's a simple matter of:

=== root@teevee (/dev/ttyp3) /var 5 -> ln -s /dereel/home/var/mail
You have new mail in /var/mail/grog

Somehow the immediate “you have mail” amused me.


Saturday, 9 April 2011 Dereel
Top of page
previous day
next day
last day

Utilities in C: the pain
Topic: technology, photography Link here

I should have been taking house photos today, but it was far too windy. Instead I played around with an issue that had occupied me for nearly a year: last year at the last hacker's barbecue, Juha Kupiainen, Peter Jeremy and I took a lot of photos of each other, and I put them all up on my photos page. Problem: the clocks on the cameras weren't in sync, so the connection between the photos (ordered by time) got lost. Mine was the fastest, Peter was 15 seconds behind me, and Juha was 1 minute 54 seconds behind.

How do I know that so exactly? With Juha it was simple: by sheer fluke we not only took photos of each other at the same time, but the timing was so exact that Juha got a photo of the flash from my camera, a synchronization of better than 4 ms:


  This should be Evening-19.jpeg.  Is it missing?
Image title: Evening 19          Dimensions:          3008 x 2000, 528 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 17 April 2010, thumbnails          All images taken on Saturday, 17 April 2010, small
Diary entry for Saturday, 17 April 2010 Complete exposure details

 
  This should be Evening-7.jpeg.  Is it missing?
Image title: Evening 7          Dimensions:          3024 x 4032, 2176 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 17 April 2010, thumbnails          All images taken on Saturday, 17 April 2010, small
Diary entry for Saturday, 17 April 2010 Complete exposure details

 

The original EXIF data shows a discrepancy of 1 minute, 54 seconds.

With Peter it's not quite so certain, but he took this photo, which must have been just before I took the photo of Juha:


  This should be Evening-24.jpeg.  Is it missing?
Image title: Evening 24          Dimensions:          3000 x 4000, 1296 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 17 April 2010, thumbnails          All images taken on Saturday, 17 April 2010, small
Diary entry for Saturday, 17 April 2010 Complete exposure details

 

It's unlikely that I would be sitting like that after taking the photo, so I have rather arbitrarily decided that it was one second before. So at least we have a fairly good idea of the times by which to reset the timestamps.

But how? The basic incantation with exiftool is:

exiftool -overwrite_original_in_place -DateTimeOriginal="2010:04:17 18:55:33" -CreateDate="2010:04:17 18:55:33" IMG_0445.JPG

In passing, it's interesting to note the various dates reported by exiftool:

    - File Modification Date/Time     : 2010:04:17 18:55:33+10:00
  306 Modify Date                     : 2010:04:17 18:55:18
36867 Date/Time Original              : 2010:04:17 18:55:33
36868 Create Date                     : 2010:04:17 18:55:33

The first column is the EXIF tag, which is useful because people tend to describe things differently in different programs. The exif program reports the following values for the same image:

Date and Time       |2010:04:17 18:55:18
Date and Time (Origi|2010:04:17 18:55:33
Date and Time (Digit|2010:04:17 18:55:33

According to the EXIF 2.2 specification, pages 30 and 60, the meanings of the individual output from exiftool are:

  1.     - File Modification Date/Time     : 2010:04:17 18:55:33+10:00

    This isn't EXIF data at all. It's the UNIX modification timestamp of the file.

  2.   306 Modify Date                     : 2010:04:17 18:55:18

    This is the timestamp of the last software modification. I don't use it, and by default it's set to the same time as the other two, so it's convenient to abuse it to show what was originally in the image. The standard calls this one “File change date and time”, and the tag name is DateTime.

  3. 36867 Date/Time Original              : 2010:04:17 18:55:33

    This is the time the photo was taken. The standard calls it “Date and time of original data generation” and gives it the tag name DateTimeOriginal.

  4. 36868 Create Date                     : 2010:04:17 18:55:33

    This is the time the image was digitized. I suppose it could differ from the previous one for film images, or on a camera with very slow JPEG conversion. The standard calls it “Date and time of digital data generation” and gives it the tag name DateTimeDigitized.

Getting back to the issue, it's easy enough to write a script to do much of that for you, but here I have to handle timestamp offsets, a messy business at the best. The obvious way is to do it in Perl, especially since exiftool is written in Perl, but I don't do Perl. Considered the options:

Seriously considered the last two options, to the point of starting hacking some code in each language. In the end, I settled on C. It took me a good part of the day to get the program finished, most of it wondering about the correct way to do it. Why is date processing so messy?


Sunday, 10 April 2011 Dereel Images for 10 April 2011
Top of page
previous day
next day
last day

Flash on Opera?
Topic: technology Link here

Looking through eBay auctions with Opera today, and again tripped over the missing flash support. Today I had enough time, so followed up on what to do. The otherwise quite good documentation didn't help much: it seemed to think I was running Linux, and gave me instructions how to install the support for various Linux distros, which isn't much help for FreeBSD.

Google to the rescue, pointing me at an article in the Opera Knowledge Base. It seems I need a separate port, www/opera-linuxplugins, which I installed. Then to the Preferences > Advanced > Content menu and clicked "Plug-in Options" and then "Change Path" to change the directories that Opera searches in.

But how do you enter the directory names? “Change Path” gives me a window with non-editable fields and truncated path names, and when I select “Add”, it gives me a window for selecting a file out of my own home directory:

 
This should be opera-change-path.gif.  Is it missing?
Image title: opera change path
Dimensions: 552 x 346, 22 kB
Dimensions of original: 552 x 346, 22 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Monday, 11 April 2011:
thumbnails    small images    diary entry
 
This should be opera-add-path.gif.  Is it missing?
Image title: opera add path
Dimensions: 790 x 611, 90 kB
Dimensions of original: 790 x 611, 90 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Monday, 11 April 2011:
thumbnails    small images    diary entry

Fiddled around with that for a while, making little progress, and suddenly I found that it had found my flash plugin. I don't know what I did to get it, but finally it was there:

 
This should be opera-shock.gif.  Is it missing?
Image title: opera shock
Dimensions: 566 x 440, 26 kB
Dimensions of original: 566 x 440, 26 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Monday, 11 April 2011:
thumbnails    small images    diary entry

And how does it work? Barely at all:

 
This should be opera-flashed.gif.  Is it missing?
Image title: opera flashed
Dimensions: 788 x 539, 68 kB
Dimensions of original: 788 x 539, 68 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Monday, 11 April 2011:
thumbnails    small images    diary entry

That should be a graphic display of a panorama head, but there's nothing there. On lowering and then raising the window, the area contains what was there before, in this case an entry from the most important work of the Brothers Grimm, the Deutsches Wörterbuch.


How I hate UNIX time functions!
Topic: technology Link here

Playing around with a few more details on my EXIF time reset program today, and discovered an amazing thing: if I tried to increment the time by 1 hour, 15 seconds, it only incremented by 15 seconds. If I tried to decrement the time by the same amount, it decremented by 2 hours:

=== grog@dereel (/dev/pts/22) ~/Photos/20110410 179 -> exiftool foo | grep "Create Date"
Create Date                     : 2011:04:10 08:36:01
=== grog@dereel (/dev/pts/22) ~/Photos/20110410 180 -> resetdate 1:0:15 foo
exiftool -overwrite_original_in_place -DateTimeOriginal="2011:04:10 08:36:16" -CreateDate="2011:04:10 08:36:16" foo
=== grog@dereel (/dev/pts/22) ~/Photos/20110410 181 -> exiftool foo | grep "Create Date"
Create Date                     : 2011:04:10 08:36:16
=== grog@dereel (/dev/pts/22) ~/Photos/20110410 182 -> resetdate 1:0:15 foo
exiftool -overwrite_original_in_place -DateTimeOriginal="2011:04:10 08:36:31" -CreateDate="2011:04:10 08:36:31" foo
=== grog@dereel (/dev/pts/22) ~/Photos/20110410 183 -> exiftool foo | grep "Create Date"
Create Date                     : 2011:04:10 08:36:31
=== grog@dereel (/dev/pts/22) ~/Photos/20110410 184 -> resetdate -1:0:15 foo
exiftool -overwrite_original_in_place -DateTimeOriginal="2011:04:10 06:36:16" -CreateDate="2011:04:10 06:36:16" foo
=== grog@dereel (/dev/pts/22) ~/Photos/20110410 185 -> exiftool foo | grep "Create Date"
Create Date                     : 2011:04:10 06:36:16

A clear case for the debugger. But in the debugger, everything worked correctly! Ended up with lots of printfs all over the place before I finally found it. And then I realised I had seen this before: strptime, which converts a specific text representation of a date to a struct tm, has the following definition:

     char *
     strptime(const char * restrict buf, const char * restrict format,
         struct tm * restrict timeptr);

The result gets stored in timeptr. But it also interprets the prior contents of timeptr, in particular the member timeptr->tm_isdst to check whether the current time is DST. It should be dependent on the time itself (though clearly there's one hour a year where that's ambiguous). I had allocated timeptr on the stack, so the prior contents are undefined. That's presumably why things worked in the debugger.

Even more annoying is that I've tripped over this before, but I didn't mention it in my Diary. I'm continually reminded of what I wrote in “Porting UNIX Software” nearly 20 years ago:

UNIX timekeeping is an untidy area, made more confusing by national and international laws and customs. Broadly, there are two kinds of functions: one group is concerned with getting and setting system times, and the other group is concerned with converting time representations between a bewildering number of formats.

In that time, nothing seems to have improved.


Monday, 11 April 2011 Dereel Images for 11 April 2011
Top of page
previous day
next day
last day

Using "scripting" languages
Topic: technology, opinion Link here

I don't do perl. I don't do python. I don't do ruby. I use the bash shell, and sometimes I do some AWK, but it's painful. Why nothing more modern?

For once, it's not a question of objections to particular languages or approaches. It's a question of thresholds. I can use bash for simple things like running programs. I can (and usually do) interface to it interactively. If I want to do more complicated things, I can build on existing command line input, coming up with monstrosities like:

for d in [12]*; do (cd $d && if [ -d orig ]; then FOO=`ls -1rt orig/*G | sed 's:orig/::; s:.JPG::' | tail -1`; if [ $FOO != "" -a -e makejpeg ]; then grep $FOO makejpeg > /dev/null; if [ $?  -ne 0 ]; then echo -n "`pwd`/$FOO.JPG "; fi; fi; fi); done 2>/dev/null > /tmp/foo

Yes, it's ugly, but in most cases I never use it again, so it doesn't matter. If it proves useful (this one might: it's designed to check if I have forgotten to process photos), I can store it in a file, tidy up the format a bit, and call it a script. Incrementally, no sharp edges.

If I had to do that with a “scripting” language, I'd have to rewrite the script at this point. That's a transition I don't need, and only do it when it becomes really painful in a shell script. Paradoxically, I do it in PHP, because that's one interpreted language I do understand. It's clear, though, that that's not optimal.

The alternative is to use a scripting language as my main shell. Does that work? I don't know. Probably it does to a certain extent. But I don't see many people using perl or python as their login shell. I gather that there are interactive versions of many of these languages, but how smooth are they? What's command line editing and file name completion like?

To be found out about, I suppose. Currently I'm happy that I've identified a reason.


Tuesday, 12 April 2011 Dereel Images for 12 April 2011
Top of page
previous day
next day
last day

Workplace efficiency
Topic: technology, opinion Link here

It's been nearly 5 years since I decided that I'd rather retire on far too little money than continue working in an environment that drove me crazy. Yes, it's still far too little money, but I'm sure I made the right choice. The work conditions in the modern IT market (there, I said it; I can't think of a better word) didn't make up for the income.

Recently I've heard of another trend that points in the same direction: Hot desking, a kind of dynamic workplace allocation. Like most dynamic allocations, what you get on allocation is empty, and you lose whatever is left when you free the resource. Yes, in many cases it makes sense for people to share a desk, or probably a cubicle. And certainly it can save money by saving space.

But how do you do it in our business? It implies that you require very little in the way of supporting objects (computer, other hardware, books) to do your job. That doesn't work for me. Shortly before retiring, my (home) office looked like this:


  This should be desktop-left.jpeg.  Is it missing?
Image title: desktop left          Dimensions:          1597 x 2109, 320 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Friday, 7 July 2006, thumbnails          All images taken on Friday, 7 July 2006, small
Diary entry for Friday, 7 July 2006

 
  This should be desktop-middle.jpeg.  Is it missing?
Image title: desktop middle          Dimensions:          2013 x 2103, 416 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Friday, 7 July 2006, thumbnails          All images taken on Friday, 7 July 2006, small
Diary entry for Friday, 7 July 2006

 
  This should be desktop-right.jpeg.  Is it missing?
Image title: desktop right          Dimensions:          2591 x 2104, 528 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Friday, 7 July 2006, thumbnails          All images taken on Friday, 7 July 2006, small
Diary entry for Friday, 7 July 2006

 

That would have made a wonderful panorama, but unfortunately I took it before I got involved with panoramas, and it doesn't line up. And clearly it's a little extreme. But it's not just the monitors, it's all the other stuff in the room. Even now I have retired, I have four monitors on my desk, and my room is packed with books and hardware. How could I ever have worked in a hot desk environment? Clearly I'd have to do away with just about everything, and just use a laptop. I know people who can do that, with the great advantage that they can work while traveling. It's an acquired skill, I suppose, but somehow it requires significant tradeoffs. Can people work efficiently under these conditions?

The whole thing reminds me of a rationalization attempt made by our bean counters at Tandem in Frankfurt about 25 years ago. Much of our work at the time was second-level defect support (“Tandem Product Reports” or “TPR”s). They had a justifiable desire to know how much each problem was costing, and they came out with a logical solution: we would fill out forms describing the amount of time we spent on each TPR.

They went away and designed the forms, had them printed, and then presented them to us. I thought some of our (not very ruly) people were going to lynch them. The forms were in quadruplicate, required specifications that were almost impossible to find, and to crown it all, the field for the TPR number was about 1 cm wide. Our bean counters didn't know the format, which was date, time and employee number, something like 20110412 1734 4395.

Somehow, and somewhat atypically, I managed to calm people down, and after most of the people had gone, I explained to the bean counters why people had been so upset. The whole project folded, and I found some of the forms hung in the toilets next to the toilet paper.

It's interesting to consider what went wrong here. Yes, it does make sense to know where your money is going. But as a result of one-sided analyses, they made a very poor choice, and it even stopped the implementation of a sensible solution. Similarly, it seems that hot desking saves money on real estate, but loses it in employee efficiency, and—is this word still politically correct?—motivation. You can measure the real estate cost. You can't accurately measure employee efficiency.


Another web site
Topic: technology, gardening, general Link here

While at the Botanical Gardens, also spoke to Mike Sorrell, who wants me to take charge of the computer side of the Friends operation, notably the web site. I wonder if they'll still want me to when they find out about my opinions. Back home, took a look at the site. It doesn't look too bad, but there's very little content there, a total of 12 MB. By comparison I downloaded 66 MB to my site on Sunday alone. I suspect that the tools are an issue. I wonder how to prepare something to enable as many lay people as possible to contribute. A wiki might be a possibility.

Stopped off for a haircut on the way home. They've broken into the barber's shop again. It seems that there are a lot of hooligans around in Sebastopol.


Wednesday, 13 April 2011 Dereel Images for 13 April 2011
Top of page
previous day
next day
last day

In praise of the kludge
Topic: technology, opinion Link here

My thoughts about scripting languages yesterday aroused a certain interest on IRC:

Mavvie: grO0gle - that monstrosity will fail if $FOO is empty.
Mavvie: Put ""'s around it or use ! -z "$FOO"
callum: Mavvie: wrong answer. Ban spaces and metachars from all filenames.
Mavvie: Plus you shouldn't ignore errors, you should handle them.
Mavvie: 2>/dev/null is just plain dumb.
callum: I haven't looked at it yet, but it depends if there is any point in doing anything with the error output.
Mavvie: Of course it does, otherwise you will have to write another Diary Entry about that a crontab has gone wrong for weeks now and nobody alerted you about it.

But that's not the point, at least not yet. Consider a parallel with texts: if you want to write a document for presentation, you cross all your 'i's and dot all your 't's. But if you're just writing a shopping list, you may write it on the back of an envelope in a scrawl so bad that nobody else can read it. Similarly, when you write a meaningful program, you do everything correctly. But if you're just messing around for a one-off program or script that will never be used again, why bother? In this specific case, I know things about the input data that Mavvie doesn't (though it should be clear that this has little to do with a crontab), so I didn't need to check for errors. Yes, there's a bug in the line

    if [ $FOO != "" -a -e makejpeg ]; then

If FOO couldn't be empty, I wouldn't need to test for it. And if it were empty, the comparison wouldn't work. That's one of the down sides of this kind of kludge, of course, but the way it grew up, I found that this condition never applied. Still, I've fixed that comparison.

Some of this is contrary to what I wrote yesterday: meaningful shell scripts should be clean too, and this one is not particularly clean because it's based on incremental interactive development. But will anybody except myself ever use it? If so, I should tidy it up. And that is still easier than translating into a different language.

And no, I hadn't intended to write any more about this topic, but clearly it's something that interests people.


More TV reception problems
Topic: multimedia, technology Link here

My TV reception problems still aren't over. All four recordings I made yesterday were useless. There's no doubt that the antenna connection was responsible for at least some of the problems, but not all of them.

So what's the issue? I still don't know. Clearly I need to document things more carefully. I've been suspecting the individual tuners, but I don't have much evidence yet. Did some test recordings and discovered the sequence of tuner cards, something that I haven't written down before. There are two PCI tuners, on the right of this photo, and one USB tuner, the white stick in the USB slot. The white cable is the antenna input, which goes to the rightmost tuner. The output from that tuner goes into the other PCI tuner next to it, and its output goes to the USB tuner:


  This should be cvr2.jpeg.  Is it missing?
Image title: cvr2          Dimensions:          4032 x 3024, 912 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Thursday, 14 April 2011, thumbnails          All images taken on Thursday, 14 April 2011, small
Diary entry for Thursday, 14 April 2011 Complete exposure details

 

In the sequence of antenna inputs, also right to left, the assigned card numbers are 2 → 3 → 1. MythTV always starts with the lowest numbered tuner that is free, so this means that most of my recordings are done with the USB tuner, something I'd prefer to change. Did a bit of snooping round the database and found a table cardinput with the following definition:

CREATE TABLE `cardinput` (
  `cardinputid` int(10) unsigned NOT NULL auto_increment,
  `cardid` int(10) unsigned NOT NULL default '0',
  `sourceid` int(10) unsigned NOT NULL default '0',
  `inputname` varchar(32) NOT NULL default '',
  `externalcommand` varchar(128) default NULL,
  `preference` int(11) NOT NULL default '0',
...
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1

The column preference was set to 0 for all my tuners. Tried playing around with it, but it didn't make any difference. Then off looking at the MythWeb code for displaying recorded programmes;


  This should be mythweb-recorded.gif.  Is it missing?
Image title: mythweb recorded          Dimensions:          1273 x 1110, 368 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Thursday, 14 April 2011, thumbnails          All images taken on Thursday, 14 April 2011, small
Diary entry for Thursday, 14 April 2011

 

The structure passed to this page includes a member cardid, but unfortunately it's always set to 0. Spent some time crawling through the code, but without success.


Thursday, 14 April 2011 Dereel Images for 14 April 2011
Top of page
previous day
next day
last day

Browser strangenesses
Topic: technology Link here

I'm gradually coming to the conclusion that opera has a number of irritating bugs, at least in the FreeBSD implementation. At some time today the opera process stopped, probably because I accidentally stopped it. Started it again and it came up with a single window pointed at cvr2.lemis.com, not my home page. Clicking on the “Home” icon had no effect. After starting a new window, I was able to go to the home page, but I couldn't do anything with the original window.

During that time, it came up with the information that a new version of opera was available. Interestingly, it wanted me to use the Ports Collection to install it. It's clearly a good idea to upgrade. Maybe some of the bugs will be gone, but didn't get around to it.

Instead, while doing something else, opera hung. Even a kill -9 wouldn't get rid of it:

=== root@dereel (/dev/pts/13) /var/db/mysql/weather 148 -> ps ltpts/30
  UID   PID  PPID CPU PRI NI   VSZ   RSS   MWCHAN STAT  TT    TIME     COMMAND
 1004  5949  5947   0  44  0  4564  1636   wait   Is    30    0:00.05 /usr/local/bin/bash
 1004 96898  5949   0  44  0 167108 118508 ucond  I+    30    0:47.24 /usr/local/lib/opera/opera
=== root@dereel (/dev/pts/13) /var/db/mysql/weather 149 -> kill -9 96898
=== root@dereel (/dev/pts/13) /var/db/mysql/weather 150 -> kill -9 96898
=== root@dereel (/dev/pts/13) /var/db/mysql/weather 151 ->

Another bug in opera? Moved to firefox, and shortly after, firefox hung to and also couldn't be stopped. Again, it was hanging in ucond:

  UID   PID  PPID CPU PRI NI   VSZ   RSS MWCHAN STAT  TT       TIME COMMAND
 1004 62995 55405   0  44  0 477384 203984 ucond  Is+   p0   40:48.23 /usr/local/lib/firefox/firefox-bin http://x.net.au/

Further investigation showed that I had somehow left an NFS mount of teevee:/spool open when I powered down teevee last night. I didn't realise that that was still a problem. Rebooting teevee solved the problem.


Network problems: a conspiracy?
Topic: technology, opinion Link here

Back inside, discovered that my Internet link had been down for nearly an hour. That hasn't been typical lately: the PPP session was still up, and had been for two weeks. The signal strength indicator was normal (RSSI 7, which is relatively good here). And there were no error messages in the ppp.log.

Called up Internode support and then investigated while waiting for the callback. Stopped the PPP process:

Apr 14 16:10:07 cojones ppp[1663]: tun0: Phase: deflink: Disconnected!
Apr 14 16:10:07 cojones ppp[1663]: tun0: Phase: deflink: Connect time: 51846 secs: 130078957 octets in, 50793080 octets out
Apr 14 16:10:07 cojones ppp[1663]: tun0: Phase: deflink: 157216 packets in, 142146 packets out
Apr 14 16:10:07 cojones ppp[1663]: tun0: Phase:  total 3488 bytes/sec, peak 317865 bytes/sec on Thu Apr 14 15:04:55 2011

The statistics information on the last line is interesting. Peak 317 kB/s, or 2.5 Mb/s. Unfortunately, it's wrong. At the time specified, the link had been down for 7 minutes. Restarted the PPP process:

Apr 14 16:10:20 cojones ppp[95482]: Phase: Using interface: tun0
Apr 14 16:10:20 cojones ppp[95482]: tun0: Command: default: ident user-ppp VERSION (built COMPILATIONDATE)
...
Apr 14 16:10:20 cojones ppp[95483]: tun0: Chat: Send: ATZ^M
Apr 14 16:10:20 cojones ppp[95483]: tun0: Chat: Expect(5): OK
Apr 14 16:10:20 cojones ppp[95483]: tun0: Chat: Received: ^M
Apr 14 16:10:20 cojones ppp[95483]: tun0: Chat: Received: NO CARRIER^M
Apr 14 16:10:20 cojones ppp[95483]: tun0: Warning: Chat script failed

That continued for a while. Then I removed the (USB) modem and replaced it. The same PPP process retried the operation, and it was successful.

I've heard that this modem (Huawei E1762) can wedge from time to time, and when Daniel from Internode called back, he confirmed it. Somehow I think everybody's ganging up on me: the NBN for not providing any proper network coverage in this area, Wendy McClelland to ensure I don't get a good enough signal, Optus for providing flaky coverage, and Huawei for supplying devices with flaky firmware. And that after more than 20 years of Internet connectivity.


Friday, 15 April 2011 Dereel Images for 15 April 2011
Top of page
previous day
next day
last day

Opera update: can't render the Opera web site
Topic: technology Link here

Got round to updating the Opera port today, which was painless enough. When I restarted it, I got a new page:


  This should be opera-truncation.gif.  Is it missing?
Image title: opera truncation          Dimensions:          1273 x 607, 170 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Friday, 15 April 2011, thumbnails          All images taken on Friday, 15 April 2011, small
Diary entry for Friday, 15 April 2011

 

Note the modern truncation of the page in four directions. In fact, it's very modern:

 
This should be opera-truncation-detail.gif.  Is it missing?
Image title: opera truncation detail
Dimensions: 326 x 258, 14 kB
Dimensions of original: 326 x 258, 14 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Friday, 15 April 2011:
thumbnails    small images    diary entry

That looks like truncated text. I can't access this page with other browsers, so it's difficult to say whether the problem is the page or the browser, but looking at the source (and adapting the markup to this page), I find it says:

What is new in Opera 11.10

This new release of Opera brings many enhancements and new features to make browsing better than ever. Here are the highlights:

Speed Dial 2.0

Opera's popular Speed Dial has been greatly enhanced; your favorite pages now have clearer previews, and dials can even dynamically show live content for websites.

There is now no limit to how many dials you can use, and it is simple to adjust the Speed Dial view to best fit your setup.

Opera Turbo enhanced

With improved compression, Opera Turbo is faster than ever. Boost your browsing speed on crowded Wi-Fi hotspots, tethered mobile phones or dial-up connections.

Simple Plug-in installation

We have made it easier to install and use plug-ins. With this release, the most popular plug-in, Adobe Flash Player, installs seamlessly and automatically.

Great new CSS3 Support

This version of the Opera browser now supports CSS3 linear gradients and multiple columns. The Opera browser shows webpages using the latest and greatest standards in their full glory.

For more details, read the Opera changelog.

That is so impossibly bad that I can't believe it happens to everybody. But there are still serious issues here, and I can't see that any of them have been addressed in the new version. That's a pity, really, because it has a lot going for it. I'll continue to play around and use both opera and firefox to get round bugs in each.


More FreeBSD build strangenesses
Topic: technology Link here

Spent some time in the afternoon upgrading my FreeBSD test “boxes” (really VirtualBox VMs). Problems installing world on swamp.lemis.com:

creating osreldate.h from newvers.sh
/src/FreeBSD/svn/head/include/../sys/conf/newvers.sh: dirname: not found

How did that happen? And yes, it's repeatable, and dirname is there. More debugging needed, I suppose. I'd be surprised if it had anything to do with VirtualBox, though.


Still more TV reception problems
Topic: multimedia, technology Link here

I recorded 4 TV programmes yesterday. All failed: my reception problems are still dogging me. Spent some time looking at the cable connections, but didn't come to much of a conclusion. At least one of the daisy chain cables looks a bit worn, so possibly I should look at that first. As it was, removed the USB tuner and the second PCI tuner, so I can only receive one programme at a time. That should be OK until next Thursday; maybe I can fix things better before then, or maybe I should be prepared to rebuild the machine on the few occasions when I need more than one tuner.


Saturday, 16 April 2011 Dereel Images for 16 April 2011
Top of page
previous day
next day
last day

Updating web page format
Topic: technology Link here

Tim Bray is another of the authors on ACM Queue, and we seem to have a few interests in common. Earlier this month he published an article on reformatting his web pages, based on reading yet another blog entry by Blaine Cook. In both cases, they come up with some ideas similar to mine, in particular (from Tim's page):

OK, I've done the first and second a long time ago, though I disagree with the sentiment that ragged right is an abomination. It's just ugly.

And hyphenation? That sounds like a good idea. As Tim said, “Hyphenator.js is trivial to install and seems to Just Work”. Followed the link and installed. Nothing. Further investigation and comparison with the working example showed that the instructions are inaccurate.

        <script type="text/javascript">
               Hyphenator.config({
                        displaytogglebox : true,
                        minwordlength : 4
                });

                Hyphenator.run();

They don't mention the text in bold in the installation instructions, though it's there in the example. Without it, I got a completely empty display.

After doing all that and applying it to my diary, I saw—no difference. I suppose it must be conflicting with some other component of my CSS. I'll shelve the idea for the time being.


Another X hang
Topic: technology Link here

I really need more memory in dereel.lemis.com now that I'm running extremely memory intensive programs like Hugin and VirtualBox. Currently it has “only” 3 GB (and thus 12 million times as much as my first computer), and once again, under conditions of heavy paging, ran into problems with X: it hung with the mouse cursor trying to move from one screen to another. I wonder how to address that kind of problem, but I suppose throwing memory at it might make the problem go away.


Opera on Apple and Microsoft
Topic: technology, opinion Link here

I still don't understand where my problems with opera are coming from, so decided to install it on boskoop.lemis.com, my Apple G4. Downloading was straightforward enough, but the name of the download file looked suspicious: it contained the text Intel. Back to look at the web page. No mention of requirements, so decided to try it anyway. Downloaded and installed without any problem. It wasn't until I tried to run it that I got the message:

 
This should be opera-not-supported.gif.  Is it missing?
Image title: opera not supported
Dimensions: 471 x 151, 16 kB
Dimensions of original: 471 x 151, 16 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Saturday, 16 April 2011:
thumbnails    small images    diary entry

Now surely they could have thought of a better message and presented it earlier.

Then installed on smart, my Microsoft VM. Worked, and showed many of the problems I have seen under FreeBSD, including incorrect positioning in my diary. I wonder if there's something wrong with my markup.


Sunday, 17 April 2011 Dereel Images for 17 April 2011
Top of page
previous day
next day
last day

Trying DxO Optics "Pro"
Topic: technology, photography Link here

Returned a couple of laptops to Chris Yeardley, and in return got yet another computer that she doesn't seem to use much to try out DxO Optics "Pro", a Dell with the requisite 2 GB of memory and running Microsoft “Windows” XP Professional. OK, that's what pain.lemis.com runs, so it shouldn't be difficult, right? Wrong.

It was easy enough to add a user, and then I had to set up the network for my environment. Maybe I should really run DHCP for this sort of thing; it would solve a lot of problems when guests come. In any case, set it up for one of my other IP addresses reserved for Microsoft, ugliness.lemis.com. But it didn't stick. Tried a couple of reboots, and on one occasion saw a fleeting message about IP address conflicts. Tried another address (braindeath.lemis.com) and it worked. arp told me:

braindeath.lemis.com (192.109.197.168) at 00:13:72:c9:0b:ab on re0 expires in 992 seconds [ethernet]
ugliness.lemis.com (192.109.197.172) at 08:00:27:5a:42:48 on re0 expires in 1198 seconds [ethernet]
officephone.lemis.com (192.109.197.161) at 00:0e:08:ca:40:23 on re0 expires in 944 seconds [ethernet]
...

So there was another machine on 192.109.197.172. The MAC address didn't match any other machine, so it wasn't an alias. But where? Somebody abusing my 802.11 connection? Started a ping and wandered around looking at switches, but saw nothing. Finally it dawned on me: smart.lemis.com, my Microsoft VM. I had forgotten to update my DNS, and it was still called ugliness. And since it's a VM, you can't see any traffic in the switches. That's what I get for being lazy.

But my network woes weren't over yet: I still had to set up Samba. And I couldn't connect. Wrong password? Fired up pain and discovered I couldn't connect there either. It seems that funny things must have happened to my password file with the recent update. Ran through the man pages trying to find things, but there was too much to read. Finally found just what I was looking for in “The Complete FreeBSD”, specifically pages 464—470. There's not much there, but it's just what I want, probably because I've been through this pain before.

Then I could look at my main photo directory. Well, not immediately. It took Microsoft 30 minutes to display pretty little pictures of each “folder”, in itself not a bad idea, but that's a ridiculously long time to take. Of course, the Microsoft view makes this approach impractical in the first place. There were 91 screens, all looking like this:


  This should be folder-view.gif.  Is it missing?
Image title: folder view          Dimensions:          944 x 957, 170 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Sunday, 17 April 2011, thumbnails          All images taken on Sunday, 17 April 2011, small
Diary entry for Sunday, 17 April 2011

 

When I later started a backup, I discovered that Microsoft had also created 2009 files called Thumbs.db, one per directory, without so much as a by-your-leave—a total of 33 MB of useless files. Andy Farkas recognized them—I had blamed them on DxO—and told me how to stop it doing that: in “Control Panel”, select “Folder Options”, then select “Do not cache thumbnails”. And while you're there, it's a good idea to unselect “Truncate file names”, which they spell “Hide extensions for known file types”.

So finally I was ready to install DxO. I had done this once before, but there's been another update since then, so I had to download 211 MB all over again. Installation went fine, but when I tried to start it I got the message:

 
This should be DEPpert.gif.  Is it missing?
Image title: DEPpert
Dimensions: 479 x 199, 6 kB
Dimensions of original: 479 x 199, 6 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Sunday, 17 April 2011:
thumbnails    small images    diary entry

So why does DxO want to execute in data? That sounds very fishy to me, but then, it is in the Microsoft space. Added the execption:

 
This should be UnDEPped.gif.  Is it missing?
Image title: UnDEPped
Dimensions: 367 x 535, 30 kB
Dimensions of original: 367 x 535, 30 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Sunday, 17 April 2011:
thumbnails    small images    diary entry

Then rebooted and tried again. Same message. Of course, who knows if the name in that list is the name of the executable? I followed the instructions, so you'd think so, but there's only part of a file name there, and potentially it added the directory. Clicked the other radio button (“DEP for essential Windows programs and services only”), rebooted, and I was able to start it. Pointed at yesterday's original files and found:


  This should be wood-and-trees.gif.  Is it missing?
Image title: wood and trees          Dimensions:          1882 x 1056, 576 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Sunday, 17 April 2011, thumbnails          All images taken on Sunday, 17 April 2011, small
Diary entry for Sunday, 17 April 2011

 

Why do so many of these programs have an anthracite background? In any case, it's a typical Microsoft-space display. It shows the first 72 of yesterday's 678 image files. The instructions tell me to select by clicking and then dragging to the bottom section (I think) or just selecting a group of images. With 678 files? Especially since I have both raw and JPEG images, so I would need to select only every second one:

 
This should be wood-and-trees-detail.gif.  Is it missing?
Image title: wood and trees detail
Dimensions: 352 x 258, 28 kB
Dimensions of original: 352 x 258, 28 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Sunday, 17 April 2011:
thumbnails    small images    diary entry

If there's one thing in the Microsoft space that drives me to distraction, it's its inability to handle files and directories sanely. I've been there before, of course, with hugin and Ashampoo Photo Optimizer, and I've found a workaround: with a script, create a static directory and move only the files you want to it. So far I had ~/Photos/Bloody_stupid_ashampoo/ and ~/Photos/bloody_stupid_hugin/, so the new one is ~/Photos/bloody_stupid_DxO/, though it's becoming clearer that the real stupidity is the interface. Then I was able to move all images for a single photo (here the 72 image verandah photos) and convert them.

It took over an hour! OK, it does a lot more work than, say, UFraw, so I could forgive that; at least there was no more mouse pushing. And the results? It's difficult to say at the moment. Here's the same image as in-camera JPEG, converted by UFraw, and converted by DxO:


  This should be verandah-centre-0+1EV.jpeg.  Is it missing?
Image title: verandah centre 0+1EV          Dimensions:          3024 x 4032, 1760 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 16 April 2011, thumbnails          All images taken on Saturday, 16 April 2011, small
Diary entry for Saturday, 16 April 2011 Complete exposure details

 
  This should be P4163502-ufraw.jpeg.  Is it missing?
Image title: P4163502 ufraw          Dimensions:          3084 x 4096, 5712 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 16 April 2011, thumbnails          All images taken on Saturday, 16 April 2011, small
Diary entry for Saturday, 16 April 2011 Complete exposure details

 
  This should be P4163502_DxO.jpeg.  Is it missing?
Image title: P4163502_DxO          Dimensions:          3024 x 4032, 3216 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 16 April 2011, thumbnails          All images taken on Saturday, 16 April 2011, small
Diary entry for Saturday, 16 April 2011 Complete exposure details

 

Run the cursor over any image to see a comparison with the one to the right. At least from the point of view of shadow detail, the in-camera JPEG wins, and the DxO image is not obviously better in gradation than the ufraw version. Distortion correction is a different matter, of course; I'll have to play around with it a bit.


Monday, 18 April 2011 Dereel Images for 18 April 2011
Top of page
previous day
next day
last day

Yet another X hang
Topic: technology, photography Link here

While trying to get hugin to resize images correctly, managed to provoke yet another X hang. This time I had no VMs running, though VirtualBox itself was still running. The symptoms are always the same: the mouse pointer oscillates between the adjacent edges of two screens, X uses 100% CPU, and it's completely unresponsive. I have to shoot it down to get out of the problem.


Still more TV reception problems
Topic: multimedia, technology Link here

We've been getting by relatively well with only one tuner in cvr2.lemis.com, but today Yvonne wanted to record another programme, and that caused a conflict. I needed another tuner, so put in the second PCI tuner, checked the cable connections, and tried things out. No reception at all on one, and bad reception on the other.

Lots of experimentation, cursing and reboots later came to the conclusion that the second PCI tuner is part of the problem. Took it out and put in the USB tuner, and things seem to be OK at the moment. I'm keeping my fingers crossed.


Tuesday, 19 April 2011 Dereel Images for 19 April 2011
Top of page
previous day
next day
last day

More playing with DxO Optics "Pro"
Topic: photography, technology, opinion Link here

Took some forgettable photos today to process with DxO Optics "Pro". Yes, it claims to be able to improve dynamic range, but the main purpose is to convert raw images and apply corrections for the camera and the lens. And I hadn't tried that yet.

Once again, tried with an image of the verandah. The Zuiko Digital ED 9-18mm F4.0-5.6 is quite a good lens, but it does show some chromatic aberration at full aperture, so tried a photo under those conditions. Interestingly, DxO also corrected some distortion, so the images don't look quite the same. Here the image as the in-camera JPEG, processed by UFraw, and processed by DxO. Pass the mouse over the images to show a comparison with the next (with wraparound):


  This should be Verandah.jpeg.  Is it missing?
Image title: Verandah          Dimensions:          4032 x 3024, 1920 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Tuesday, 19 April 2011, thumbnails          All images taken on Tuesday, 19 April 2011, small
Diary entry for Tuesday, 19 April 2011 Complete exposure details

 
  This should be Verandah-ufraw.jpeg.  Is it missing?
Image title: Verandah ufraw          Dimensions:          4096 x 3084, 2352 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Tuesday, 19 April 2011, thumbnails          All images taken on Tuesday, 19 April 2011, small
Diary entry for Tuesday, 19 April 2011 Complete exposure details

 
  This should be Verandah-DxO.jpeg.  Is it missing?
Image title: Verandah DxO          Dimensions:          4032 x 3024, 4080 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Tuesday, 19 April 2011, thumbnails          All images taken on Tuesday, 19 April 2011, small
Diary entry for Tuesday, 19 April 2011 Complete exposure details

 

And chromatic aberration? Yes, indeed, it's there, and DxO improves the situation. Here two examples from the in-camera JPEG and DxO. UFraw doesn't correct this sort of thing, so it's no different from the in-camera JPEG. I chose following crops with much GIMP pain so that the “big” images (click on the thumbnails) is exactly the size of the original crop (600×450 pixels):

 
This should be Verandah-detail-1.jpeg.  Is it missing?
Image title: Verandah detail 1
Complete exposure details
Dimensions: 600 x 450, 68 kB
Dimensions of original: 600 x 450, 68 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Tuesday, 19 April 2011:
thumbnails    small images    diary entry
 
This should be Verandah-DxO-detail-1.jpeg.  Is it missing?
Image title: Verandah DxO detail 1
Complete exposure details
Dimensions: 600 x 450, 108 kB
Dimensions of original: 600 x 450, 108 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Tuesday, 19 April 2011:
thumbnails    small images    diary entry

Here the fringes on the leaves at top left have been almost completely removed. The image also looks sharper.

 
This should be Verandah-detail-2.jpeg.  Is it missing?
Image title: Verandah detail 2
Complete exposure details
Dimensions: 600 x 450, 80 kB
Dimensions of original: 600 x 450, 80 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Tuesday, 19 April 2011:
thumbnails    small images    diary entry
 
This should be Verandah-DxO-detail-2.jpeg.  Is it missing?
Image title: Verandah DxO detail 2
Complete exposure details
Dimensions: 600 x 450, 120 kB
Dimensions of original: 600 x 450, 120 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Tuesday, 19 April 2011:
thumbnails    small images    diary entry

Here the fringes to the left of the hanging baskets are almost completely gone.

So: this looks like it greatly improves the image quality. Is it worth it? I'll reserve judgement about that one, but it certainly has its irritating sides. In particular, how do I get rid of the photos I did the other day? When I started it up, selected new images and moved to “Process”, only the old ones showed up. To get rid of them, I had to explicitly delete them. Never mind that the underlying images in the directory were gone, and that I couldn't access them:

 
This should be DxO-1.gif.  Is it missing?
Image title: DxO 1
Dimensions: 580 x 191, 22 kB
Dimensions of original: 580 x 191, 22 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Tuesday, 19 April 2011:
thumbnails    small images    diary entry

After that, loaded the new images and proceeded to the “Process” tab. Presto! My new images were gone, and the old ones were back again.

 
This should be DxO-2.gif.  Is it missing?
Image title: DxO 2
Dimensions: 364 x 314, 66 kB
Dimensions of original: 364 x 314, 66 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Tuesday, 19 April 2011:
thumbnails    small images    diary entry

I had to restart the program, after which I was able to process these images. But it didn't keep the EXIF data, as one of my scripts irritatingly complained in red script:

Lounge-2EV.jpeg Date and Time |2011:04:19 12:13:09
Lounge.jpeg Date and Time |2011:04:19 12:13:09
Corrupt data
The data provided does not follow the specification.
ExifLoader: The data supplied does not seem to contain EXIF data.

P4193845_DxO.jpeg

I know my way round that problem; that's why I have my exifcopy script. But why did they leave the data out? Is there some knob set to the wrong default?

Also took some other photos that I haven't had time to compare yet, notably the HDR images that I wanted to make. But once again, it seems that I have to work around “features” that people seem to think that I need, and which they won't let me get rid of. Why can't they have a more modular approach? Particularly a raw image converter isn't an important enough component of the workflow that it should impose its own constraints on how you do your work.


Wednesday, 20 April 2011 Dereel Images for 20 April 2011
Top of page
previous day
next day
last day

Tracking the reception problems
Topic: multimedia, technology, opinion Link here

After rebuilding cvr2.lemis.com's tuner configuration a couple of days ago, it would have been nice to hope that there would be no more problems. Alas, that wasn't the case. I recorded four programmes yesterday. Three of them came out fine, but the fourth was nothing but junk for the first few minutes. Then it came good. Spent some time looking at the log files, and found:

2011-04-19 19:27:02.647 Started recording: Lost Worlds "The Bible Unearthed: The Patriarchs": channel 2032 on cardid 2, sourceid 2
2011-04-19 20:27:02.823 Started recording: The Curious Case of Benjamin Button: channel 2008 on cardid 1, sourceid 2
2011-04-19 20:47:02.659 Started recording: To the Manor Born: channel 2062 on cardid 2, sourceid 2
2011-04-19 23:32:02.847 Started recording: Crude: channel 2002 on cardid 2, sourceid 2

It would be easy to guess that it was the second programme (“The Curious Case of Benjamin Button”), because it was on a different tuner (spelt cardid here). And it was. But things aren't that simple: the difference in signal quality was extreme. Initially the image was unrecognizable, and after a while it improved to a point where on first inspection it seemed to be normal. Possibly what I missed was only the commercials anyway.

But how can such a complete change be due to signal strength issues? During that time there was another recording that had no problems, so it can't be the antenna connection as I had previously suspected. And secondly, it came good after a while, which you wouldn't expect from a poor daisy-chain connection. More inspection of the log file showed:

2011-04-19 20:27:02.823 Started recording: The Curious Case of Benjamin Button: channel 2008 on cardid 1, sourceid 2
2011-04-19 20:28:43.440 Error: offset>181, pes length & current can not be queried
2011-04-19 20:29:02.859 Error: offset>181, pes length & current can not be queried
...  (lots more of these)
2011-04-19 20:44:59.047 Error: offset>181, pes length & current can not be queried
2011-04-19 20:45:00.978 TVRec(2): Changing from RecordingOnly to None
2011-04-19 20:45:01.004 Finished recording Lost Worlds "The Bible Unearthed: The Patriarchs": channel 2032
2011-04-19 20:45:01.081 Reschedule requested for id 0.
...
2011-04-19 20:45:23.383 Error: offset>181, pes length & current can not be queried
2011-04-19 20:45:32.478 Error: offset>181, pes length & current can not be queried
2011-04-19 20:45:41.997 Error: offset>181, pes length & current can not be queried

And that was (almost) all. Just the occasional error until 21:55, and then nothing at all. But the Benjamin Button video went on until 00:30, a good 2½ hours with no error at all. Coincidentally, the other tuner finished recording at 22:10. Is there maybe some issue with both of them running together? Could it be that the other tuner (the PCI one) doesn't transmit a good signal when it's recording? Time to get out a splitter and see if that helps.


JavaScript and other opinions about DxO
Topic: photography, technology Link here

I really need to learn a way to do comparisons of photos by moving the mouse cursor over the image. That's trivial with JavaScript (I contend), but I don't really do JavaScript. Off on the web looking for examples, and found a nice one on the RawTherapee site. I still need to digest it, but it looks clean, and the results are effective.

Not completely by coincidence, this page is related to the kinds of comparisons I'm doing now: which raw converter to use? And they compare their own converter with most of the others I've heard of, including DxO Optics "Pro". Clearly their demosaicer does best on the sample image (which they chose, of course), but DxO doesn't do badly either with demosaicing. But, as I've noticed, the default results are much darker than the competition. Is this a general problem, or a choice of bad defaults? In any case, it's worth investigating RawTherapee as well, especially since it doesn't need Microsoft to run.


Thursday, 21 April 2011 Dereel Images for 21 April 2011
Top of page
previous day
next day
last day

DxO and RawTherapee
Topic: photography, technology Link here

Took a couple of photos to investigate the “HDR” capabilities of DxO Optics "Pro", but they proved to be less useful subjects than I had hoped. I'll have to wait for some really extreme contrasts. In the meantime, read the RawTherapee documentation. I looked at it very briefly two years ago, but didn't get round to trying it, probably because I had decided to try to port it to FreeBSD first. Now I may have time for that. Did some investigation and discovered that the latest stable version was released in September 2009, and since then they've been building a new version. So that means checking it out of a Mercurial repository.

Did that, read some rather confusing mutually referential documentation about how to build the package. It uses cmake, unfortunately, and just the “standard” invocation suggests that something hasn't been completed yet:

cmake -DCMAKE_BUILD_TYPE=debug -DCMAKE_INSTALL_PREFIX=./build -DBINDIR=. -DDATADIR=. -DLIBDIR=.
make install

Of course, in the Linux world build dependencies are a bit of an afterthought, and the second document (really a mail archive) contains multiple mail messages with different lists of what's needed. Started adding the dependencies until I found:

-- checking for module 'giomm-2.4>=2.12'
--   package 'giomm-2.4>=2.12' not found
CMake Error at /usr/local/share/cmake/Modules/FindPkgConfig.cmake:266 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/local/share/cmake/Modules/FindPkgConfig.cmake:320 (_pkg_check_modules_internal)
  CMakeLists.txt:124 (pkg_check_modules)

That's cmake's inimitable way of saying “missing dependency”. But I can't find anything similar in the Ports Collection. So another thing to put on hold until I have more energy. I really should be looking at DxO anyway, since the trial license only lasts a month.


Monday, 25 April 2011 Dereel Images for 25 April 2011
Top of page
previous day
next day
last day

Google [Cc]hrom* revisited
Topic: technology Link here

Nearly a year ago I tried to get Google Chrome (or is that Chromium? Or chrome?) running on FreeBSD, and in the end gave up. Today I heard that it was now in the Ports Collection, so had another go.

The good news: it works. But that's no better than firefox or opera. And the package is enormous!. Here the sizes of the tarballs for the latest opera, firefox and edited zucchini:

-rw-r--r--  1 root  wheel  113637616 Apr 15 08:32 chromium-courgette-redacted-10.0.648.205.tar.xz
-rw-r--r--  1 root  wheel   66024327 Mar 19 10:58 firefox-4.0.source.tar.bz2
-rw-r--r--  1 root  wheel   10647968 Apr 12 01:41 opera-11.10-2092.i386.freebsd.tar.xz

Comparing the size of opera is not really fair, since it's a binary distribution. But I've complained in the past about the size of firefox, and the tarball for chrome (that's the name of the executable, anyway) is nearly double the size.

Starting the browser for the first time had a surprising result:

 
This should be chrome-1.gif.  Is it missing?
Image title: chrome 1
Dimensions: 548 x 178, 12 kB
Dimensions of original: 548 x 178, 12 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Monday, 25 April 2011:
thumbnails    small images    diary entry

Why did it create a profile there? This was from my last attempt, when I was working on lagoon.lemis.com. And now it thinks it's called Chromium and not chrome. Got rid of the lock file and it started, along with myriads of error messages:

[0425/131029:ERROR:process_util_freebsd.cc(311)] Not implemented reached in void base::EnableTerminationOnOutOfMemory()
[0425/131029:ERROR:process_util_freebsd.cc(311)] Not implemented reached in void base::EnableTerminationOnOutOfMemory()
[15266:184141216:2581894936354:ERROR:user_style_sheet_watcher.cc(152)] Failed to setup watch for /home/grog/.config/chromium/Default/User StyleSheets/Custom.css
[15266:184141216:2581895390488:ERROR:native_library_linux.cc(32)] dlopen failed when trying to open /usr/local/lib/linux-mozilla/plugins/libflashplayer.so: Shared object "libfreetype.so.6" not found, required by "libflashplayer.so"
[15266:184141216:2581895510959:ERROR:native_library_linux.cc(32)] dlopen failed when trying to open /home/grog/.mozilla/plugins/nphelix.so: Shared object "libstdc++.so.5" not found, required by "nphelix.so"
[15266:184141216:2581895826637:ERROR:native_library_linux.cc(32)] dlopen failed when trying to open /home/grog/RealPlayer/mozilla/nphelix.so: Shared object "libstdc++.so.5" not found, required by "nphelix.so"
[0425/131037:ERROR:process_util_freebsd.cc(311)] Not implemented reached in void base::EnableTerminationOnOutOfMemory()

Is that [Cc]hrom* or the port? There's much to suggest the latter, but it's irritating. Also, on every roll of the mouse wheel I got:

*** NSPlugin Viewer  *** ERROR: could not reconstruct XVisual from visualID

That's clearly from the nspluginwrapper port, but it's still irritating, and it's the same package that firefox uses without whingeing so much.

Anyway, went looking for documentation (what a 20th century idea!) and first found help for firefox: it seems that [Cc]hrom* was a bit generous in importing stuff. Finally started without import and found a link to the “Welcome” page, the most important part of which seems to be the 20 Things I Learned about Browsers and the Web, which told me nothing about [Cc]hrom*, instead offering badly rendered advice for such topics as “What happens if a truck runs over my laptop?”. Almost as an afterthought, down the bottom of the pages, was the text:

For more on Google Chrome's features, check out the Google Chrome Help Center.

I'm reminded of Alice in Wonderland:

`Take some more tea,' the March Hare said to Alice, very earnestly.

`I've had nothing yet,' Alice replied in an offended tone, `so I can't take more.'

`You mean you can't take less,' said the Hatter: `it's very easy to take more than nothing.'

Finally got some information and was able to set a very limited set of options, not including disabling tabs—indeed, just about everything uses tabs, and I quickly ended up with a tab bar like this (blue sawteeth at the top):

 
This should be chrome-2.gif.  Is it missing?
Image title: chrome 2
Dimensions: 408 x 97, 10 kB
Dimensions of original: 408 x 97, 10 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Monday, 25 April 2011:
thumbnails    small images    diary entry

What use is that? And why do browsers want to be window managers?

A bit more investigation showed nothing that I don't already have with firefox or opera. It handled Emacs key bindings out of the box, probably because of my gtk settings. It renders images faster than firefox, but so does opera. And like opera, [Cc]hrom* has problems with fonts. And it still doesn't handle proxies. So I think I'll leave it to mature a little before I try it again.


Tuesday, 26 April 2011 Dereel Images for 26 April 2011
Top of page
previous day
next day
last day

Photo comparisons in web browsers
Topic: technology, photography Link here

For some time I've been looking for a way to display comparisons of two photos in web browsers. Sure, you can do it by putting them next to each other, but it's much nicer to be able to pass the cursor over an image and have it change from one to the other. I know it's possible with JavaScript, but I don't do JavaScript—yet. Last week I loaded an example from RawTherapee, including a 107 line script that did the switching. Today I finally got round to trying to understand it and bend it to my purposes.

I once had a link to this script at http://www.rawtherapee.com/RAW_Compare/compare.js, but that seems to have disappeared.

In such cases, I normally retain a reference to the source of the script, but in this case all I did was excise, and in the end I was left with two lines of code:

function setimage (image, src)
{
    var realimage = document.getElementById (image);
    realimage.src = src;
}

Even that looks like it should be collapsible to a single line, and indeed Google Chrome and opera have no problem with that. But firefox can't handle it. Similar things occur with the names of IDs in the document. chrome and opera can address them directly:

Photo_1.src = src;

This doesn't work for firefox. The whole thing leaves me slightly confused: clearly what I want to do here is to pass the parameter image by reference, but that sort of concept doesn't seem to exist in JavaScript. And clearly there's some kind of implicit typing go on. The online documents don't explain that, of course, because they don't look at languages from that way, but it leaves me feeling confused. I'm getting some books out of the library on Friday; possibly they will help, though books with titles like “The complete idiot's guide to JavaScript” don't suggest that they'll go too deeply into the implementation.

All that took about an hour. The rest of the day I spent working through my horribly baroque PHP function showphoto(), now 730 lines long (with comments). Now I can do the kind of comparisons I wanted to do earlier in the month, such as these two (mouse over to show the other image). The first one shows how much darker shadow detail is in images converted by DxO Optics "Pro" (normal display) than in the out-of-camera JPEG (mouse over):


  This should be P4163502_DxO.jpeg.  Is it missing?
Image title: P4163502_DxO          Dimensions:          3024 x 4032, 3216 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 16 April 2011, thumbnails          All images taken on Saturday, 16 April 2011, small
Diary entry for Saturday, 16 April 2011 Complete exposure details

 

This one is more interesting. It shows two different renditions of the same panorama. It's as good as impossible to line them up (until I work out what nona is doing wrong), and the images are of different size. I've modified the size of the second image to match the first, partially for convenience and partially because I'm not sure that it's not the correct thing to do:


  This should be garden-to-house-s-orig.jpeg.  Is it missing?
Image title: garden to house s orig          Dimensions:          5222 x 1629, 2192 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 2 April 2011, thumbnails          All images taken on Saturday, 2 April 2011, small
Diary entry for Saturday, 2 April 2011 Complete exposure details

 

And how well do the browsers handle it? It varies. I found opera to be the fastest, and in some cases found chrome to be excruciatingly slow, almost as slow as firefox—but I wasn't able to repeat the problems. Maybe it has something to do with the browsers' internal memory management. And then there's the issue of seamless redisplay. chrome and firefox do well enough, but opera can occasionally flash when changing larger images. Maybe I can do some JavaScript magic there, but I'm quite happy with what I've achieved so far.


Thursday, 28 April 2011 Dereel Images for 28 April 2011
Top of page
previous day
next day
last day

Photo processing software: Not the UNIX way
Topic: photography, technology, opinion Link here

I haven't had time to look at DxO Optics "Pro" in more detail, but it's about time I did before the free trial runs out. Spent some time reading the manual, which is more a walk-through than a description, but it gave some ideas, including forward references to terms used in a specific manner (what's a “Preset”? It seems to have some specific meaning in photo processing).

Didn't get as far as actually processing photos, but by coincidence found an article in c't about raw image processing software. Or that's the idea. Somehow I just don't understand where current software is going.

To get an idea, let's think about how people used to process their photos, assuming they did it themselves. 45 years ago I did something like:

  1. In the darkroom, remove the film from the cassette and load into the spiral of a developing tank. Turn the lights on.

  2. Develop the film.

  3. For reversal films, stop bath, reexposure and second developer.

  4. Stop bath, fixer. In the case of colour films, also clear.

  5. Dry film.

  6. In the case of negatives, print film.

  7. Parallel to this, keep records of what has been done:


      This should be records.gif.  Is it missing?
    Image title: records          Dimensions:          7019 x 5100, 720 kB
    Make a single page with this image Hide this image
    Make this image a thumbnail Make thumbnails of all images on this page
    Make this image small again Display small version of all images on this page
    All images taken on Thursday, 28 April 2011, thumbnails          All images taken on Thursday, 28 April 2011, small
    Diary entry for Thursday, 28 April 2011

     

    That's in addition to the exposure records, of course.

  8. At some later date, maybe do something with the photos: slide show, exhibition, publishing. Not really related to the processing.

It's worth noting that, without exception, each of these steps has a single input and a single output. I can split the operations into at least three groups requiring different materials:

  1. The tank. Interchangeable.

  2. The developer. Within limits, interchangeable. On the example above, I developed numbers 78/66 and 79/66 (Kodacolor) in a substitute C-22 developer which I had made up myself. For black and white films (all the others), I had a wide range and used three different developers for the films on that page.

  3. Postprocessing, which I'm not looking at here.

  4. Record-keeping, manual of course.

In each of these cases, I had a choice of what tools to use. And where are we now? The principles haven't changed that much, just people's attitudes to them. From what I read in c't, though, it would seem that There Can Only Be One. They praise the fact that the output is distinct from the input (“non-destructive processing”). And the packages all keep their own records, often in a format that you can't influence in any degree. Why?

How does digital processing relate to the analogue processing steps above? It's clear to see a parallel with the first step, loading the images for processing. In a digital context, this is a copy (and not a move!). Images are invariably stored in individual files, and all operating systems have a primitive file copy command, though some cameras present the data in such an unfortunate manner that you can't use it. Even there, though, you can remove the storage card and access it with a card reader, something that I have to do with Yvonne's Kodak M1093 IS.

That's straightforward, but for some reason all the reviewed packages offer ways to copy the files, usually imposing restrictions on the location and name. Why? It just makes things more complicated.

The processing has two individual components: format conversion and image enhancement. The first generally only means conversion from raw format to JPEG, which some people misguidedly call “development”, as if the JPEG were more “developed” than the raw image.

There are two potential kinds of image enhancement: correction for image problems such as chromatic aberration, distortion and exposure, and cosmetic correction (“retouching”). And, amazingly, many packages still write the results back to the original file (“destructive processing”). Who would ever have thought of doing that in the analogue days, even if it had been possible? Whoever thought of doing it now?

So somehow the concepts have got confused. The c't article compares features such as backup, intelligent albums, web publishing, printing and slide shows. That's not c't's fault: each is supported by at least one of the tested converters. But why? That's a different function. And in the process, it draws attention away from the real purpose of the tool.

Somehow this isn't just the UNIX Way (OK, none of these programs even run on UNIX, unless you count Mac OS X, in which case you can say they swim on a layer above UNIX), but it seems that a bit more attention to the UNIX philosophy would help. As Doug MacIlroy said:

This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.

Wouldn't that make things simpler?

This isn't just about convenience of use. I don't know of any off-the-shelf solution that would have enabled me to do the image comparison tricks I did earlier this week. And it wasn't even difficult, but only because I didn't use tools that wanted me to work the way the project managers want me to work.


Friday, 29 April 2011 Dereel Images for 29 April 2011
Top of page
previous day
next day
last day

Photo processing: correction
Topic: photography, technology Link here

Yesterday I ranted about the concept of “destructive” digital image processing, and said that that never used to happen in the analogue days. That's nonsense, of course: when you develop a film, the result replaces the original undeveloped film. You can't develop it again, though there were many times when I wished I could. One of the advantages of digital processing is that yes, indeed, you can reprocess a file, assuming you haven't been using some inferior product designed by people still trying to emulate the analogue processes, warts and all.


New word to describe GUI software
Topic: technology, opinion Link here

I've come up with a new word to describe the way I feel about so much GUI software: paneful. I've been using X on the desktop for 21 years now, and right at the beginning I arranged for my entire department to do a course on X. I had expected it to be a course on how to use X, but in fact it turned out to be a programming course. It was quite interesting, and a number of precepts seem to make as much sense today as they did then. Two stand out:

But it seems that that's no longer modern. Want to look at the history in a web browser? Press c-h and get—a long thin pane in the same window, cutting into the display, and thin enough to truncate the text. Why? Run photo processing software like DxO Optics "Pro", and all the information is in the same window. The “select” window is typical: a pane on the left showing a representation of a directory tree, and one on the right showing part of the contents. Underneath is another pane, the width of the window, showing the selected images.

Apart from the fact that this is a horribly clumsy way of doing things, and that it doesn't scale—how do you show the contents of 360 files?—there's an issue of scale here. The images in the user guide show only a couple of directories with 11 in the current directory, of which only two are selected. That fits: the top-right pane in the example is big enough to display about 20 photos, and the project pane is big enough to display about 10. But what happens if you want to process 700 files, like I do every Saturday? DxO specifically state that they can do that sort of thing.

In the case of the web browser, it makes so much more sense to have a separate window. In the case of DxO, it would improve things, but it wouldn't solve the problem. A full-screen window for each of those panes would handle about 100 images, still far from my 360 image example. That's more easily done by more conventional means:

$ DxO P42342*.ORF

That would completely remove the necessity for the entire paneful window. But you've got to understand that this isn't user-friendly. It's just for geeks.


Saturday, 30 April 2011 Dereel Images for 30 April 2011
Top of page
previous day

More panorama refinement with hugin
Topic: photography, technology Link here

Photo day today, and once again a bright, sunny day with the sun shining directly into my lens:


  This should be garden-centre-dup-10.jpeg.  Is it missing?
Image title: garden centre dup 10          Dimensions:          3024 x 4032, 5616 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 30 April 2011, thumbnails          All images taken on Saturday, 30 April 2011, small
Diary entry for Saturday, 30 April 2011 Complete exposure details

 

That was part of a panorama, so I couldn't just leave it out, and the results were as could be expected. In the end went out again later and made another series of photos (a total of 70!) with extra shots with the sun cut out:


  This should be garden-centre-10.jpeg.  Is it missing?
Image title: garden centre 10          Dimensions:          3024 x 4032, 6016 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 30 April 2011, thumbnails          All images taken on Saturday, 30 April 2011, small
Diary entry for Saturday, 30 April 2011 Complete exposure details

 
  This should be garden-centre-11.jpeg.  Is it missing?
Image title: garden centre 11          Dimensions:          3024 x 4032, 7536 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 30 April 2011, thumbnails          All images taken on Saturday, 30 April 2011, small
Diary entry for Saturday, 30 April 2011 Complete exposure details

 

Unfortunately, it was windy, as the second merged image clearly shows on the leaves of the Salvia microphylla at bottom, but it had the desired effect:


  This should be garden-centre-dup.jpeg.  Is it missing?
Image title: garden centre dup          Dimensions:          9180 x 2214, 5632 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 30 April 2011, thumbnails          All images taken on Saturday, 30 April 2011, small
Diary entry for Saturday, 30 April 2011 Complete exposure details

 


  This should be garden-centre.jpeg.  Is it missing?

Image title: garden centre          Dimensions:          9254 x 2200, 5936 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 30 April 2011, thumbnails          All images taken on Saturday, 30 April 2011, small
Diary entry for Saturday, 30 April 2011 Complete exposure details

 

Selecting the masks for the images is still an issue. I think I'll have to accept that the mask processing is very buggy, and that include masks don't work at all. And the only way to set them effectively is to have the fast preview window visible at the same time: it gets updated as soon as the mask is selected. The following image shows the mask window on the left and the fast preview window on the right and underneath. In this example, which needs to be enlarged to full size, frames 9 and 11 are highlighted in the fast preview window, and frame 9 is shown in the mask window. I've set the mask a little too low, so there's a gap between it and frame 10 (the other image above, also masked), which shows up as a black area:


  This should be hugin.gif.  Is it missing?
Image title: hugin          Dimensions:          1920 x 1080, 848 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Saturday, 30 April 2011, thumbnails          All images taken on Saturday, 30 April 2011, small
Diary entry for Saturday, 30 April 2011

 

It's a pity that the windows all have to be on the same screen. Maybe it's time to investigate xrandr.


Learning JavaScript
Topic: technology, opinion Link here

I now have two of the four books on JavaScript that I had ordered from the library. The other two are available, but apparently they couldn't find them, so I'll have to wait 2 weeks. The two are “Creating Web Pages All-in-One For Dummies , 4th Edition” (the space before the comma is from the official web site, so maybe it's modern) by Richard Wagner, not a name I would associate with web design, and JavaScript: The Missing Manual by David Sawyer McFarland. Given that choice, I would expect the second book to be much better, but it's not so clear-cut.

Part of the problem is that both books are designed for beginners, the Missing Manual particularly so. I don't need to be told what kind of editor to use (he doesn't even mention Emacs), and it's not clear after 50 pages if the approach is right. In particular, he introduces jQuery very early on. While using libraries is a good idea, why particularly jQuery? And I want to learn the language, not a library interface.

The Dummies book is what they call a “minibook”, one of nine in the overall book, and it's only 88 pages long. As a result, it's a lot more compressed, and I stand a chance to finish reading it. Since it is minibook 5 of the 9, it also makes assumptions that you have either read the previous books or at least understand the concepts.

Both, however, aren't my kind of book. They seem to have the phrasebook approach to language learning: get up and running first and discover later what you've been saying. I'm reminded of six years ago when I wanted to learn Swedish, and I found only rough explanations of the words I had been using. It took me a long time, for example, to discover that the Swedish word “varsågod”, variously translated as “please” or “here you are”, really translates as “be so good”, and the “here you are” is a very context-dependent translation. It's much closer to German “bitte”, which is used in the same manner. Yes, you can learn languages without knowing that, but for a language so close to English, it helps a lot to know it.


Top of page Previous month Greg's home page Today's diary entry Next month Greg's photos Copyright information

Valid XHTML 1.0!

$Id: diary-apr2011.php,v 1.70 2012/12/20 06:53:25 grog Exp grog $