Log in

This is what you get for not paying attention

> recent entries
> calendar
> friends
> Doug Palmer
> profile
> previous 20 entries

Tuesday, April 24th, 2012
9:23 am - Simple Solutions to Pointless Puzzles
I got fed up with the Focus puzzle in my local newspaper. For those who haven't come across it, you have a square of nine letters, like so


You have to make as many words as you can with the letters. Each word much be at least four letters. Each word must contain the central, special letter (R in the above example). No proper nouns. No -s plurals of other words.

A quick bit of python, along with the PyEnchant library nets the following code.

import enchant

def checkword(word, length, dic, required):
    """ See if a word has the required length an required letters. Removing plurals is hacked for English-speakers. """
    if len(word) < length:
        return False
    for r in required:
        if not r in word:
            return False
    if not dic.check(word):
        return False
    if word[len(word) - 1] == 's' and dic.check(word[:len(word) - 1]):
        return False
    return True

def permute(prefix, letters, length, required, dic, permutations):
    """ Generate permutations of letters, with a required length and required letters. """
    for i in range(len(letters)):
        word = prefix + letters[i]
        if checkword(word, length, dic, required):
        permute(word, letters[:i] + letters[(i + 1):], length, required, dic, permutations)

if __name__ == '__main__':
    dic = enchant.Dict()
    print dic.tag
    permutations = set()
    permute("", "sascromim", 4, set("r"), dic, permutations)
    print len(permutations), " words"
    print sorted(permutations)

With the following results: ['across', 'carom', 'commissar', 'corm', 'cram', 'crass', 'criss', 'cross', 'macro', 'micro', 'morass', 'racism', 'roam', 'sari', 'scar', 'scram', 'scrim', 'soar']

According to the puzzle, I should get 28, rather than 18. But that's better than I would ever be able to do.

Yes, the plural stuff is a bit of a hack.

(comment on this)

Thursday, March 17th, 2011
12:09 pm - Utterly and totally awesome pyramid of mathematicains
Via angelustenebrae who deserves great credit. At http://angelustenebrae.livejournal.com/15908.html

With my Physics background, I always associate Emmy Noether with en.wikipedia.org/wiki/Noether%27s_theorem

(3 comments | comment on this)

Wednesday, November 24th, 2010
12:37 pm - New Fire Weather
Rick McRae and Jason Sharples were kind enough to give some talks on the new research into fire weather last night. Their research covers the high country of SE Australia, where I happen to live. Of course, none of this is part of official NSW RFS doctrine -- yet.

First, the TL;DR version.

  • You can get Foehn Winds in SE Australia. Particularly down on the coasts but the Brindabellas can produce the same effect in my area. These can lead to sudden drops in RH and increases in temperature in the wee hours of the morning, just when it looks like a good time for a back-burn.

  • There's a process known as channelling where wind in the lee of a steep slope causes a fire to go sideways to the prevailing wind, with lots of spotting both sideways and ahead of the wind. You can spot this by a leading edge of dark smoke moving across the wind.

  • There's an area called the thermal belt with warm, dry air on the sides of slopes, even if the top and bottom areas are cold and moist.

  • Fires evolve through small, medium, large, very large and plume-driven phases. The plume-driven phase is where the weather created by the fire feeds back into the fire itself, causing real trouble.

  • Fires in rugged landscapes are only suppressed when they exit the rugged landscape.

  • There are effects called low-level jets and inversion subsidence that can cause high points to suddenly become hot and dry at night, even though things are stable further down.

  • A simplified indicator of when things are really going to go to shit is when the temperature (Celsius) gets close to 40 more than the RH (%).

  • The HighFire Risk Project is developing tools to help decisions about these things.

Foehn (Föhn) Winds

Basically, you get a dry wind which comes down from a high area. As it comes down, the pressure increases and the temperature rises. Traditionally, these are caused by air having to rise over a range, dropping its moisture as rain and then descending on the other side. The mechanism in this neck of the woods can also be that the low-level air gets diverted, leading to the high level air dropping down into the lee of the range.

What this means is that you can get really sudden rises/drops in temperature/RH -- less than an hour -- appearing. This will really screw up your back-burn.

Foehn winds are semi-predictable. You can see when this is likely on the synoptic charts. An intense low in the Bight or a trough running NW-SE across Australia are warning signs. Apparently, there are humidity maps that the BOM produce. If you can find them (I can't, maybe here) then you can see slots of dry air coming in from the West.



Fairly high winds (this effect is pretty much guaranteed at 25kph or so) crest over a steep slope and create an eddy on the lee slope. This can be very strong and explains why, during Black Saturday, the down slopes were often more damaged than the up slopes.


We kind of get taught about this in fire weather. Now the really interesting bit. Once a fire has established itself on the lee side, the eddies start to spiral along the slope, away from the fire. So you end up with a channel of fire moving across the slope and the wind; in both directions in some cases. But it gets better. The spiralling eddies will pick up lots of embers and create spots both along the channel and in the "normal" direction of the fire. Dave Hubbard mentioned the Lake George escarpment fire from a few years back and said that this effect had happened there.


I'm not sure where to put the video Rick showed of a hill in Canberra during the 2003 fires but here will do. You can see a lot of spot fires starting and then you gets what's effectively a landscape flashover; the whole lee slope of the hill lights up at once. Yikes!

Thermal Belt

You can have cool, moist air at the peak and cool moist air in the vally. And half-way up the slope, it's hot and dry. What happens is that the top of a hill cools off rapidly at night. This cold air runs down the hill, but tends to run down the gullies only; the spurs remain warm. The cool air them pools in the valleys.


Plume-Driven Fires and Rugged Landscapes

I'm not really up on the details of all this. It's generally said that large enough fires generate their own weather. There's more to it than what I have here, but the thing that I noticed was that, once a pyro-culmulus cloud starts generating rain, the heat released from forming the rain drops gets fed back into the fire.


Rugged landscapes make everything difficult. They're also prone to multiple lightning strikes.


There's a model for fire evolution


Low-level Jets and Subsidence Inversions

These both cause sudden rises/drops in temperature/RH at high altitudes, even if everything is stable at lower altitudes. Low level jets are just what they say they are, jets of warm, dry air that have somehow got themselves trapped at a lower altitude. They come in an hit whatever peak happens to be in the way. Subsidence Inversions are high-level temperature inversions that lower throughout the night. Eventually, high peaks will punch through the inversion layer.

Mildish version of these events happen about every 4-5 days in the high country. Strong versions about once every 9 days. So you can


Simple Fire Danger Estimation

FMI = 10 - 0.25 (T - H) where FMI=Fuel moisture index/drought factor (0-10), T = temperature (Celsius) and H = relative humidity
FDI = W / FMI where FDI = Fire danger index, W = wind speed (kph)

As T - H approaches 40, the FMI approaches 0 and the FDI takes off into the stratosphere. This measure doesn't seem to produce the same really high peaks as the McArthur meters on very high days, but it's pretty easy to calculate.



There's a poster of watch-out rules of thumb for these effects.


(3 comments | comment on this)

Sunday, November 7th, 2010
10:46 am - From the Bungendore School Playground
With a due nod to the Opies.

To the tune of "This Old Man"

I hate you,
You hate me.
Tinky-winky shot Dipsy.
Fifty bullets through the head.
Sorry, La-la, Dipsy's dead.

La-la cried,
Then she died.
Po committed suicide.
Tinky-winky did the same.
Teletubbies are insane.

My little pony,
All skinny and bony.
Put it in the microwave,
And watch it burn!

Put it to bed.
Chew off it's head.
My little pony,
Is officially dead.

Row, row, row your boat,
Gently down the stream.
Push your teacher overboard,
And watch her kick and scream.

(comment on this)

Sunday, October 3rd, 2010
8:21 am - Bujold Heroes
I've never really liked Heinlein Heroes because, basically, they're dicks. Bujold heroes, now, especially ones over thirty, ...

(comment on this)

Sunday, June 13th, 2010
9:20 pm - nvidia, mythbuntu, 10.04, overscan
Posted as a warning to to others.

I've upgraded from mythbuntu 09.10 to 10.04 and had a bit of a wobbly time. The playback tends to have performance problems and jerk and freeze quite often. And the TV out, which seemed to cause a great deal of problems. The jerkiness seems to be solved somewhat by using the CPU-- playback profile.

The overscan was a bit more of a headache. Basically, the output picture extended beyond the TV and needed to be scaled back. The nvidia documentation list an option called TVOverScan for the xorg.conf file. This does not work, since the option is ignored. What you need to use instead is nvidia-settings. There's an overscan slider in the gui, but it crashes every time I use it.

Instead, what seems to work is using the command-line, putting in

sudo nvidia-settings -c :0.0 -a 'TVOverScan[TV-0]=15'

for some suitable monitor name and overscan value. Then start nvidia-settings and save the configuration. The configuration should be loaded on login.

(comment on this)

Sunday, May 16th, 2010
8:26 pm - Hunt Emerson
Is a living god. That is all. Except for the next bit.

He is one of the funniest, cleverist, humaneist and talentedist artists in existence. I'm delighted to discover that the Royal Mail have been using him to illustrate first day covers

Plus, he designed The Beat Girl! How cool is that!

current mood: ecstatic

(comment on this)

Tuesday, November 10th, 2009
9:32 am - Hibernate and MySQL timeouts
Oh my.

This seems to be a common problem with using Hibernate and MySQL. MySQL is conventionally configured to drop connections after a period (8 hours). The standard advice (which is good) is to use a connection pool.(The advice to drop the wait timeout in mysql for testing purposes is also good, since your testing cycle time is otherwise creakingly slow.)

However, I was still getting timeouts, no matter what I did or what combination of parameters that I set. What seems to be the problem is that I wasn't letting go of hibernate sessions properly. I has kind of assumed that, when I make a web call, thread-based sessions get cleared up on exit. Since hibernate allows for long-running sessions, this is wrong, wrong, wrong. What's needed is either neat code that properly cleans up or an interceptor implemented as a servlet filter that cleans up on exit. Like this, in fact.

(comment on this)

Wednesday, September 23rd, 2009
9:47 am - Software as a Share House
With a considerable debt owed to He Died with a Felafel in His Hand1

Free Software

is the control-freak vegan. She insists that the dog is fed lentils until it can fly around the room at mach-1. She throws a massive tantrum every time she comes home and can smell sausages. She keeps on trying to insist that the household should buy a complete new set of saucepans, just in case the old ones have been used to cook meat. She's an "artist" and is "working on a big project". She posts the list of house rules on the fridge and monitors the kitty. She can explain the reasons for her decisions in detail and will do so until your ears bleed. Her inflexibility attracts cohorts of teenage boys, who think she's cool.


is free software's boyfriend. Pretty easy-going, he spends a lot of time acting as a sort of buffer between his girlfriend and practically the entire universe. He's a cabinet maker and lots of people want his work, since it's very solid. His girlfriend insists on co-signing all his work, on account of her "creative input." You'll often find him sleeping on the couch, when he's got fed up with the monotonous diet and has snuck out for a steak.

The Open-Source Collective

A labyrinth of rooms at the back of the house, some smelling of bong water, some pumping out viking metal at hazardous volumes and some containing desiccated corpses, contains a floating artists commune pumping out endless paintings, group shows and installations. Everybody is sleeping with everybody else. The collective is on pretty good terms with Linux and borrow his power tools all the time, returning them polished and sharpened. Free Software's teenage admirers usually get sucked into a room, after a while.


is an immaculate clubber, always perfectly dressed and stepping carefully over the left-over food on the floor in the living room. His room is exquisitely decorated and perfectly clean. At least, that's what the rest of the household see when they sneak a look through the door, since nobody is allowed in the room. Ever. Occasionally, he brings people back from outside the house. They vanish into his room and are never seen again. He never does the washing up, claiming that he has a private dishwasher in his room.


is a monogamous couple of bank tellers. They spend their time oscillating between telling the rest of the household to "get a real job", ostentatiously ignoring them and being barely aware that they're in a share house. Grossly overweight, they spend their time on the couch, watching TV and eating off trays. One of the collective secreted a webcam in their room one night and filmed them having sex; the rest of the household spent a lot of time sniggering over the result, but everybody watched it. His mother occasionally shows up and tries to force the rest of the house to move out. They're the only ones with any real money.


works at the same bank as Microsoft, but in the IT department. She wears a short skirt and a long jacket and is a bit older than the rest of the household. She moved in after her marriage broke up and was short on cash.

1 The fun book, not the dreary movie.

(comment on this)

Wednesday, September 2nd, 2009
8:56 pm - One. two, three. four. I declare a thumb war!
One of the delights of school-age children is learning all the new lore and language1 that comes from the school-ground. I've always thought that "paused" for temporarily being out of a game because you've got a stich or such-like was very clever.

Before going to bed tonight, we were having a thumb-wrestling tournament and there's now a little rhyme to ensure that both players start at the same time.

1 My mother has a book called The Lore and Language of School Children from the 60s. A fascinating read.

(comment on this)

Thursday, July 16th, 2009
1:20 pm - Choose Your Poison
From a New Scientist article article about the 80s protests in Hungary against a dam on the Danube.

Under mounting pressure from the anti-dam movement, splits opened up in the Hungarian Communist party. "Reformists knew that the dam was extremely unpopular and made no economic sense. It would be cheaper to make electricity by burning coal or nuclear power," says Vargha. "But hardliners were in thrall to the Stalinist idea of large dams as symbols of progress."

The difficulties in getting a good, dense, reliable source of electricity. Personally, for base-load, I'd be thinking of nuclear power* but basically it's just one of those intrinsically tough choices.

* I'd go so far as to say that support for nuclear power is a kind of environmental litmus test. If you really believe in global warming, rather than just regarding it as a good scare story to bolster your favoured technologies, then you'd be paying a lot of attention to using nuclear for base-load, particularly thorium.

(comment on this)

Monday, May 18th, 2009
3:17 pm - On re-reading Count Zero
I find the story just fine, the voodoo still very interesting, the characters well-drawn.

And the constant use of brand names and the obsession with clothing like a spoilt teenager that can't shut up. At first I thought it was a bit of characterisation for Turner. But they're all like that.

(comment on this)

Thursday, January 15th, 2009
8:07 am - First Morning at the Whitehouse
I have the perfect tune for the Obamas when they first wake up in the Whitehouse.

Obamas in pyjamas are coming down the stairs
Obamas in pyjamas are coming down in pairs

Original lyrics here.

It does make me wonder who the Rat in the Hat is, though. And also whether the Obamas will be able to say "Are you thinking what I'm thinking O1?" "I think I am, O2!"

(comment on this)

Sunday, October 12th, 2008
12:47 pm - Serendipitous Recipe
Someone has probably done this before, but this was something I accidentally discovered when running out of plain flour.

Rhubarb Cake-Tart

Pastry: Castor sugar, equal amounts of plain and self-raising flour, butter, milk.
Rhubarb: Rhubarb, sugar
Custard: Sugar, eggs, milk, vanilla

String and cut the rhubarb and cook with sugar and water until soft.
Make the pastry as for sweet short-crust and blind bake in tart tin for 20 minutes. The "cakestry" should rise.
Spread the rhubarb in the bottom of the tart and pour the custard over. Bake for 30 minutes. The custard will seep into the base.
Eat with cream.

(comment on this)

Wednesday, October 1st, 2008
10:30 am - Radio Birdman SVG
1. Because I was learning to use the facilities of Inkscape and needed something to work on.

2. Because Radio Birdman are living gods who walk the Earth.

Logo 2
Logo 4
Logo 5

These are all editable SVG, feel free to play with them. One of the more interesting activities was using the bitmap tracer to turn the "Radio Birdman" text into SVG.A quick search doesn't turn up a font that matches the stencil-style font; I'd be interested in knowing what the font is.

(4 comments | comment on this)

Friday, September 26th, 2008
8:39 pm - How to ruin a really expensive car with a 52x11cm piece of metal
Driving in to work this morning, I'm variously in front of or behind a Lotus Elise. A really beautiful car, making me feel that I'd suddenly fallen through time and was driving next to a space car. I was filled with an oddly contented wistfulness.

Until I saw the number plate, "TUF 1", which might has well said, "Not only is my dick is shriveled and tiny but I'm also going through my mid-life crisis." And the feeling vanished.

(comment on this)

Wednesday, June 4th, 2008
10:41 pm - Just for the record
I really, really hate Samba.

I've been using it for nigh-on 8 years now to provide file access for my various home windows machines. I absolutely dread Alison saying, "My computer won't let me access something that I could yesterday," since I know that I'm in for an inexplicable mess of things which explode every prime-numbered time, confusing options that are attached by bits of string and wood glue to other confusing options and closets full of robot chainsaws trying to get out.

After 8 years, I can usually expect to be pretty much on top of most packages that I use. But not samba. I've read the documentation, I've bought books (which are usually inexplicably out of date the moment that they land on a bookshop's shelves) and I've trawled the web. And, every time, after hours of fiddling and peering at useless log messages I end up resorting to witchcraft. I've tried using swat and the fedora and SuSE configuration GUIs and I might as well have not bothered, since they're basically just the smb.conf file tarted up with some labels and boxes.

After Alison got a Mac, I could see the end in sight. However, it appears that the mac expects/prefers smb to talk to other machines and one package needs to be embedded in the amazingly cool VirtualBox running Windows. I'll never be free.

(2 comments | comment on this)

Sunday, April 27th, 2008
6:06 pm - Earth Hour: No good done but no harm done either
On 30 March, the family dutifully turned out the lights for an hour. I'd raised my doubts about Earth Hour before doing so but there's nothing wrong with playing with candles for an hour and Matthew (8) and Marina (6) were definitely looking forward to the whole event. Marina was very excited by the whole affair and declared herself in favour of global warming; which is a bit of a warning sign.

Prior to Earth Hour, I'd been doing a little research into the relative CO2 emissions of light bulbs, candles and oil lamps and I'd come across graph showing the effects of the 2007 Earth Hour on demand. This uses the freely available demand data from Nemmco. So I resolved to do the same thing when the March 2008 data became available.

The 2007 analysis used as a comparison demand curves that looked similar to the curve on the Earth Hour date. I couldn't figure out how they were arrived at, although it looks like they were chosen to match the pre-Earth Hour demand. I wasn't too happy with this selection method, so I chose to use the correlation functions of excel and look for days that had the highest correlation with the Earth Hour day. I also wanted to look at the weather and see if that had any effect, since the curves can be quite variable.

My data sources are
Demand data: http://www.nemweb.com.au/mms.GRAPHS/data/DATA200803_NSW1.csv
Weather data: http://www.bom.gov.au/climate/dwo/200803/text/IDCJDW2124.200803.csv

You can get a (zipped) copy of the spreadsheet that I've used at http://www.charvolant.org/~doug/earthhour/EarthHour.zip.

First off, here is the complete set of demand curves for the month:

All Demand Curves March 2008

The demand curve for 30 March 2008 has the purple triangles along it. As you can see, there is quite a range of consumption curves. However, they all show a similar shape, rising to various levels in the afternoon, with a small peak around 1900-2000 and then a decline in the late evening.

The curves with the closest correlation to the Earth Hour day were those of 2 March 2008, 23 March 2008 and 9 March 2008. Surprise, these days are all Saturdays. The curves for these days are:

Selected Demand Curves March 2008

Or, zoomed into the Earth Hour region

Selected Demand Curves March 2008

First off, these show almost identical profiles, suggesting that Earth Hour doesn't have much of an effect on anything. The reductions in power consumption that are claimed seem to happen anyway without people turning off their lights. This also suggests that Earth Hour doesn't create an offset spike in electricity as claimed in the original 2007 analysis. The spike seems to just be a basic feature of Saturday nights.

Since total electricity use is pretty variable, I then normalised the demand curves so that they showed the same total consumption per day and then ran the same excercise. I ended up with the same days and the following graphs

Selected Normalised Demand Curves March 2008

and zoomed

Selected Normalised Demand Curves March 2008

Although there seems to be a minor jump post-Earth Hour, there doesn't seem to be anything to choose between the graphs. Earth Hour doesn't seem to have any effect whatsoever.

As a side note, I also looked at the effects of temperature and day of the week on daily consumption:

Demand vs Temperature Demand vs Day of Week

Although the shapes are interesting, it would probably require greater statistical skills than mine to tease out the relationships here.

So what do I think about all this? I'm amazed that Earth Hour could have so little effect for good or ill. I was at least expecting something. I'm never comfortable with symbolic gestures but this seems to be a completely empty gesture. Arguments that it somehow shows commitment or makes people "aware" or raises profiles strike me as essentially damaging; you're going around saying that you've done something when you've done nothing. All it seems to do is feed people's moral vanity.

(9 comments | comment on this)

Sunday, March 30th, 2008
11:02 am - New-Aged Out
Saturday was a day for waffly newaginees.

More on Earth hour later, after I have had a look at the Nemmco demand curves properly -- I'm waiting for the update to the demand data. (Although it looks like the demand spike from the 2007 Earth hour has appeared again if, if the day-graph is anything to go by.)

The afternoon was spent by Lake George for the Werriwa festival dance program. The dance was very good and it was all good fun. However, "asking permission to go on the lake out of respect" is utter bullshit. If there is an entity that is "the lake" it's unlikely to have a completely non-human idea of how things work. As it is, "asking permission" is nonsense, unless there is a way for the lake to say, "no." Instead, the whole ritual is just an anthropomorphic conceit, pretending to have a respect for something you were just going to do anyway. Proper "respect" involves gathering information, thinking about your decisions and then acting on them.

(comment on this)

Friday, March 21st, 2008
8:33 am - Music Meme
Seen via Andrew Wheeler.

Name your top 10 most played bands/artists on iTunes/FM/music player, etc., then answer the questions.

Last.FM makes this easy.

2 The Cruel Sea
3 Shriekback
4 The Cramps
5 Models
6 Talking Heads
7 The Pretenders
8 Iggy Pop
9 The Church
10 The Clash

1. What was the very first song you heard by 6? (Talking Heads)

Once in a Lifetime One of those, "Oh my God, That's just amazing!" moments.

2. What is your favorite album of 2? (The Cruel Sea)

Very hard to choose. Probably This is Not the Way Home but they've all got multiple good tracks on them.

3. What is your favorite lyric that 5 has sung? (Models)

It would have to be the lyrics to Two Cabs to the Toucan. But I can't reproduce them since Sean Kelly's singing style means that I would only be guessing at the lyrics. Listen for yourself

4. How many times have you seen 4 live? (The Cramps)

Three times.

5. What is your favorite song by 7? (The Pretenders)

Don't Get Me Wrong since I'm also an Avengers fan.

6. What is a good memory you have involving the music of 10? (The Clash)

Listening to London Calling in a thunderstorm and feeling the chill of destruction.

7. Is there a song of 3 that makes you sad? (Shriekback)

Beatles Zebra Crossing

8. What is your favorite lyric that 2 has sung? (The Cruel Sea)

From Black Stick:

My heart is a muscle and it pumps blood
Like a big old black steam train
My veins are the tracks
And the city is my brain
My stomach is the ocean and it swallows up the sun
At the end of a summer's day
My breast like a breeze
Blows all those storm clouds

9. How did you get into 3? (Shriekback)

A friend played All Lined Up and I was hooked.

10. What was the first song you heard by 1? (XTC)

Jumping in Gomorrah from Go 2

11. What is your favorite song by 4? (The Cramps)

One of Bikini Girls with Machine Guns, Goo Goo Muck or The Crusher but don't ask me which one.

12. How many times have you seen 9 live? (The Church)

Never. I think.

13. What is a good memory you have involving 2? (The Cruel Sea)

Listening to This is Not the Way Home in a failing car on a dusty road North of Mildura and realising that it was the perfect song for the occasion.

14. Is there a song of 8 that makes you sad? (Iggy Pop)

From Iggy Pop? Be serious.

15. What is your favorite album of 5? (Models)

Cut Lunch is an EP. Local and/or General for overall consistency. The Models songs are always interesting but some hang together better than others.

16. What is your favorite lyric that 3 has sung? (Shriekback)

From Fish Below the Ice:

The sound of a satellite,
Screaming, "Get me down!"

17. What is your favorite song of 1? (XTC)

Hard. Very hard. Very, very hard. English Roundabout?

18. What is your favorite song of 10? (The Clash)

London Calling

19. How many times have you seen 8 live? (Iggy Pop)

Once. In Cardiff, I think. Or maybe twice, then.

20. What is your favorite album of 1? (XTC)

I'll take the mid-early ones. Drums and Wires, White Music, Black Sea, English Settlement

21. What is a great memory you have considering 9? (The Church)

Lying in a park stoned and listening to Under the Milk Way

22. What was the first song you heard by 8? (Iggy Pop)

I'm Bored, The Passenger or Dog Food I don't know which.

23. What is your favorite cover by 2? (The Cruel Sea)

The Cruel Sea do lots of covers but I don't really know which are and which aren't. All artists borrow, great artists steal.

(comment on this)

> previous 20 entries
> top of page