Long time no write. Spent lots of time on family, and very little time on coding. Playing with code which can render PDF files to PNG bitmaps. Very cool. One day I might even finish it.
The regression test results for the pandalex PDF parser are as follows today:
2372 PDFs parsed:
segfault = 12
parse failed = 16
other fault = 0
ok = 2344
These are random PDFs pulled from everywhere I could find them. If you have interesting PDFs (especially from slightly odd generators such as Oracle, and Great Plains), then feel free to email them to me. The bigger the better (within reason).
It toook me a little while to realise that GNU time only has the GNU options if the binary name isn’t time. How buggered is that?
Another question on the debugging front. Why are there so many pages on the Internet (as documented by google), which have the abort man page, and therefore show up in a search for SIGABORT, but don’t discuss why you might be sent this signal? Do people really think it helps the world if they publish the Redhat man pages? I could understand if the manpages were a little harder to find, like some of the libtiff ones, but these are all stock things.
Christmas. Lots of presents for Andrew, I offically got my trampolene, and I also got a cool nurf bazooka. Heaps of people over, so little coding done. I did get an opportunity to break pandalex though…
Twas the day before Christmas, and all through the house, everything is silent, cause everyone’s gone out.
Waiting for work to get their act together and get the network happy enough for me to be able to work from home again.
Ahhh. I understand the CVS logging problem I mentioned a couple of days ago. One of the members of my final year project group (Blake Swadling) appears to have hand editted the CVS respository files (the ones with ,v at the end of their names). He seems to have managed to damaged the respository in some subtle way in the process.
My snapshot of the repository before he played still works, so I will just submit that to the lecturer.
In the new building. The decor is nice, but it sure would be good to have power at my desk, and to be able to get into the building out of hours…
Played a little with shdns, and pandalex. One day I might just manage to finish a project… Just in case, started another project which has been on the todo list for a while — I’ll let you know more if I ever get anywhere…
Started the work required to roll Nick’s honours extension to GDMS into the main app. Once that is done and I have done a little more cleaning up, it will be ready to announce on this site.
In the process discovered that the CVS repository at uni seems to have issues:
cvs server: Logging cvs001/contrib/wxwindows/docs/pdf
cvs server: Logging cvs001/datasets
cvs server: Logging cvs001/docbook
cvs server: Logging cvs001/docbook/guide
cvs server: Logging cvs001/docbook/guide/figures
cvs server: Logging cvs001/lectures
cvs server: Logging cvs001/manuals
cvs server: Logging cvs001/meetings
cvs server: Logging cvs001/presentation
cvs server: Logging cvs001/prototype
cvs server: Logging cvs001/reports
cvs server: Logging cvs001/source
cvs [server aborted]: unrecognized operation '\x20' in /cvs/cvs001/source/cepLs.cpp,v
That’s why my CVS log reporting wasn’t working properly… I did another log and get the same error, so I don’t think it is a transitory problem. Anyway, something to put onto the TODO list to look at fixing…
It’s been very warm the last couple of days — high thirties (celcius), which is warm for us.
Finished off side, a little ditty that took an hour or two. It takes a filter arguement, and two file names. It then runs the two files through the filter (one at a time), and then displays the output of each beside each other. Therefore, the command:
./side "/home/mikal/opensource-stable/mi/i - < %s"
../shdns/sample-response ../shdns/shdns-response | less
Takes two DNS packets, and displays them after they have been pretty printed. The output looks like this:
/home/mikal/opensource-stable/mi/i - < ../shdns/sample-response | /home/mikal/opensource-stable/mi/i - < ../shdns/shdns-response
0 135 0x87 0207 | 0 135 0x87 0207
1 210 0xD2 0322 | 1 210 0xD2 0322
2 133 0x85 0205 | 2 10 0xA 012
3 128 0x80 0200 | 3 56 0x38 070 '8'
4 0 0x0 00 | 4 0 0x0 00
5 1 0x1 01 | 5 0 0x0 00
6 0 0x0 00 | 6 1 0x1 01
7 1 0x1 01 | 7 0 0x0 00
8 0 0x0 00 | 8 1 0x1 01
9 1 0x1 01 | 9 0 0x0 00
10 0 0x0 00 | 10 0 0x0 00
11 0 0x0 00 | 11 0 0x0 00
12 3 0x3 03 | 12 0 0x0 00
13 119 0x77 0167 'w' | 13 3 0x3 03
14 119 0x77 0167 'w' | 14 119 0x77 0167 'w'
15 119 0x77 0167 'w' | 15 119 0x77 0167 'w'
16 7 0x7 07 | 16 119 0x77 0167 'w'
17 115 0x73 0163 's' | 17 7 0x7 07
18 116 0x74 0164 't' | 18 115 0x73 0163 's'
19 105 0x69 0151 'i' | 19 116 0x74 0164 't'
20 108 0x6C 0154 'l' | 20 105 0x69 0151 'i'
21 108 0x6C 0154 'l' | 21 108 0x6C 0154 'l'
22 104 0x68 0150 'h' | 22 108 0x6C 0154 'l'
23 113 0x71 0161 'q' | 23 104 0x68 0150 'h'
24 3 0x3 03 | 24 113 0x71 0161 'q'
25 99 0x63 0143 'c' | 25 3 0x3 03
26 111 0x6F 0157 'o' | 26 99 0x63 0143 'c'
27 109 0x6D 0155 'm' | 27 111 0x6F 0157 'o'
28 0 0x0 00 | 28 109 0x6D 0155 'm'
29 0 0x0 00 | 29 1 0x1 01
30 1 0x1 01 | 30 3 0x3 03
31 0 0x0 00 | 31 119 0x77 0167 'w'
32 1 0x1 01 | 32 119 0x77 0167 'w'
33 192 0xC0 0300 | 33 119 0x77 0167 'w'
It handles line wrapping and stuff like that, but it is not a visual diff. It might one day be, who knows?
You can get the code from here.
Long time no write. I assembled my Christmas present with Catherine early this year, which is good because it required a whole kind of screw driver that I didn’t own — finding an open hardware store on Christmas day might have been a little hard.
Social work golf pictures are now online…
The company moves building at the end of the week.
I was a good boy and took another offsite backup of my important data collection. Now I just have to get the mound of CDs somewhere than on my wife’s desk in the study…
Saw Jess’ house (which caught fire) for the first time today. Wow. I have to go back with a camera (and probably a tripod) sometime.
Spent the day is a meeting with Peter from Monash.NET discussing whether we should do .NET at work. He certainly seems to know his stuff, and .NET isn’t as bad as I had first though.
CAUUG committee meeting in the afternoon, and then home to assembly Catherine’s christmas present — a swinging seat.