If you want to compare rows, don't bother with a slow and clumsy self-join, use a windowing function and the lead/lag functions. e.g. to list the interesting events and time between them:
select date, message, lead(date) over (order by date) - date as time_to_next from log where type='interesting';
That only shows 'interesting' events, of course. If you want to show all the other events between the interesting ones as well, add a partition by clause to the windowing function to highlight interesting events, and lose the where clause.
And yeah, vim is a good quick and easy way to explore data. So in postgres, add 'export PAGER="vim -"' to your ~/.psqlrc file, and your query results automatically pop up in vim (may want to switch to unaligned output in that case using the \a toggle).
For people not in the UK who don't know what that is...it's like showing off your new liquid Nitrogen GPU cooling system and your grandma saying "Oh that's nice dear, it's like the one the nurses put in the home last year".
I also had issues where periodically Flash would bring my system to a crawl - I've not seen anyone else mention that problem, but fingers crossed this'll solve that too.
Then, when they don't believe that all you had were copies of hello.jpg they'll compare the disk with the original, see all the unrelated blocks being written to, and know for sure that you have hidden data. Plus evidence that you've attempted to destroy evidence from their investigation.
Systems programmers are the high priests of a low cult. -- R.S. Barton