ImageMagick book
MythTV book
|
 |
|
 |
|
Sat, 28 Dec 2002
|
|
|
|
|
 |
|
 |
|
29 December 2002
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.
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 56 posts have been culled and 85 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Wed, 25 Dec 2002
|
|
|
|
|
 |
|
 |
|
25 December 2002
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...
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 38 posts have been culled and 81 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Mon, 23 Dec 2002
|
|
|
|
|
 |
|
 |
|
24 December 2002
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.
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 18 posts have been culled and 56 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Sun, 22 Dec 2002
|
|
|
|
|
 |
|
 |
|
23 December 2002
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...
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 50 posts have been culled and 83 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Sat, 21 Dec 2002
|
|
|
|
|
 |
|
 |
|
Announcing side
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'
[snip]
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.
posted at: 22:00 | path: /side | permanent link to this entry
There are no comments on this post which have survived moderation. 85 posts have been culled and 142 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Announcing side
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'
[snip]
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.
posted at: 22:00 | path: /site | permanent link to this entry
There are no comments on this post yet. Be the first to make one.
|
|
|
|
|
 |
|
 |
|
22 December 2002
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:
[snip]
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
[root@localhost cvs001]#
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.
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 19 posts have been culled and 32 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
21 December 2002
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'
[snip]
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.
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post yet. Be the first to make one.
|
|
|
|
|
 |
|
 |
|
Fri, 20 Dec 2002
|
|
|
|
|
 |
|
 |
|
20 December 2002
|
Well, the company moved to a new building today, which meant that we didn't get much work done... Spent the afternoon at a team Christmas barbeque because the network was turned off at 11am...
|
|
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 29 posts have been culled and 61 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
TOWER building move
We moved building at work yesterday. These pictures are from wandering around upstairs harrassing people... Afterwards, R & D went out to a christmas barbeque.
posted at: 22:00 | path: /events | permanent link to this entry
There are no comments on this post which have survived moderation. 16 posts have been culled and 27 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
New site skin
I've had a bit of feedback recently that this site has been a little hard to read. Hopefully this tweak to the site skin will ease some of that pain... Let me know if you have any ideas for improvement.
posted at: 22:00 | path: /site | permanent link to this entry
There are no comments on this post which have survived moderation. 102 posts have been culled and 171 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Tue, 17 Dec 2002
|
|
|
|
|
 |
|
 |
|
18 December 2002
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.
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 56 posts have been culled and 92 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Sat, 14 Dec 2002
|
|
|
|
|
 |
|
 |
|
14 December 2002
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.
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 28 posts have been culled and 66 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Thu, 12 Dec 2002
|
|
|
|
|
 |
|
 |
|
13 December 2002
Back in this meeting with Peter again. Spent the morning discussion ASP.NET, which is only of passing relevance to me. The biggest problem is having to constantly fight the assumption that all clients are running the latest version of IE.
Sent a Knoppix CD to Melbourne to be put on the front cover of the next AUUGN. It turns out Greg Lehey was having troubles burning it...
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 48 posts have been culled and 104 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
12 December 2002
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.
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 99 posts have been culled and 158 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Tue, 10 Dec 2002
|
|
|
|
|
 |
|
 |
|
11 December 2002
About two weeks ago I gave a talk about my shell based DNS server shdns. At the time, it couldn't reply to traffic because of an unknown error. Tridge suggested that it was because the UDP socket was "disconnected" (i.e. has no specific end point), and therefore my shell script couldn't use write to reply to traffic.
Well, I finally got some time to look at this, and, as ever, Tridge is right. Here's the sample programs I used to investigate this:
// Disconnected UDP socket example: this example simply reads from clients (there can be more
// than one), and returns what they said straight back to them. You'll note that we can't use
// read and write to get to the traffic, as this is not available for disconnected UDP sockets.
#include <stdio.h>
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main(int argc, char *argv[]){
int lfd;
struct sockaddr_in servaddr;
struct sockaddr clientaddr;
char buf[1024];
size_t len;
socklen_t clen;
// We will listen with this file descriptor
if((lfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0){
fprintf(stderr, "Error whilst starting to listen\n");
exit(42);
}
// Define what we are listening for
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(1234);
// Bind to the address
if(bind(lfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) < 0){
perror("Couldn't bind");
exit(42);
}
// Do stuff
while(1){
len = 1024;
printf("Reading...\n");
clen = sizeof(clientaddr);
if((len = recvfrom(lfd, buf, len, 0, (struct sockaddr *) &clientaddr,
&clen)) < 0){
perror("Socket read error");
exit(42);
}
if(len == 0) break;
// The buffer is not null terminated
buf[len] = '\0';
printf("Read: %s\n", buf);
// And send it straight back
if(sendto(lfd, buf, len, 0, &clientaddr, clen) < 0){
perror("Socket write error");
exit(42);
}
}
}
This one above is the standard socket example. It just works, because we can use the socket specific read and write calls for the data.
// Disconnected UDP socket example: this example simply waits fro traffic, and the starts
// a process to deal with the results. One process per packet, one packet per process.
// This version wont work, because the socket is not connected. In fact, cat is smart enough
// to warn us about this:
//
// cat: write error: Transport endpoint is not connected
#include <stdio.h>
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/poll.h>
#include <netinet/in.h>
int main(int argc, char *argv[]){
int lfd;
struct sockaddr_in servaddr;
struct pollfd pfd;
// We will listen with this file descriptor
if((lfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0){
fprintf(stderr, "Error whilst starting to listen\n");
exit(42);
}
// Define what we are listening for
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(1234);
// Bind to the address
if(bind(lfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) < 0){
perror("Couldn't bind");
exit(42);
}
// Setup the list of file descriptors we want to wait for events on
pfd.fd = lfd;
pfd.events = POLLIN | POLLPRI;
// Do stuff
while(1){
if(poll(&pfd, 1, -1) < 0){
perror("Waiting for new data failled");
exit(42);
}
printf("Data arrived\n");
// Spawn a child to handle this packet
switch(fork()){
case -1:
perror("Couldn't spawn child to handle connection");
exit(42);
case 0:
// Child process -- setup the file descriptors, and the run the helper application
dup2(lfd, 0);
dup2(lfd, 1);
execl("/bin/cat", "cat", NULL);
perror("Exec failled");
exit(42);
break;
default:
// Parent process
break;
}
}
}
This one is the exec version of the first example. This is basically exactly what inetd and xinetd do. It doesn't work, because cat doesn't know that it has to use the socket specific read and write, instead of the normal ones.
// Connected UDP socket example: this example simply reads from clients (there can be more
// than one), and returns what they said straight back to them. You'll note that we can now use
// read and write to get to the traffic...
#include <stdio.h>
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main(int argc, char *argv[]){
int lfd;
struct sockaddr_in servaddr;
struct sockaddr clientaddr;
char buf[1024];
size_t len;
socklen_t clen;
// We will listen with this file descriptor
if((lfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0){
fprintf(stderr, "Error whilst starting to listen\n");
exit(42);
}
// Define what we are listening for
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(1234);
// Bind to the address
if(bind(lfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) < 0){
perror("Couldn't bind");
exit(42);
}
// Do stuff
while(1){
// We need to peek at the first part of the packet to determine who to connect to
len = 1;
printf("Reading...\n");
clen = sizeof(clientaddr);
if((len = recvfrom(lfd, buf, len, MSG_PEEK, (struct sockaddr *) &clientaddr,
&clen)) < 0){
perror("Socket peek error");
exit(42);
}
if(len == 0) break;
// Connect
if(connect(lfd, &clientaddr, clen) < 0){
perror("Could not connect");
exit(42);
}
// And now we can just use the normal read and write
len = 1024;
if((len = read(lfd, buf, len)) < 0){
perror("Socket read error");
exit(42);
}
if(write(lfd, buf, len) < 0){
perror("Socket write error");
exit(42);
}
}
}
Here's an example of just the socket code, but connected, so that we can just use the read and write functions on the file descriptor (as if it was a file).
// Connected UDP socket example: this example this example simply waits fro traffic, and the
// starts a process to deal with the results. One process per packet, one packet per process.
// You'll note that we can now use read and write to get to the traffic, and that this all
// works...
#include <stdio.h>
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main(int argc, char *argv[]){
int lfd;
struct sockaddr_in servaddr;
struct sockaddr clientaddr;
char buf[1024];
size_t len;
socklen_t clen;
// We will listen with this file descriptor
if((lfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0){
fprintf(stderr, "Error whilst starting to listen\n");
exit(42);
}
// Define what we are listening for
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(1234);
// Bind to the address
if(bind(lfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) < 0){
perror("Couldn't bind");
exit(42);
}
// Do stuff
while(1){
// We need to peek at the first part of the packet to determine who to connect to
len = 1;
printf("Reading...\n");
clen = sizeof(clientaddr);
if((len = recvfrom(lfd, buf, len, MSG_PEEK, (struct sockaddr *) &clientaddr,
&clen)) < 0){
perror("Socket peek error");
exit(42);
}
if(len == 0) break;
// Connect
if(connect(lfd, &clientaddr, clen) < 0){
perror("Could not connect");
exit(42);
}
printf("Data arrived\n");
// Spawn a child to handle this packet
switch(fork()){
case -1:
perror("Couldn't spawn child to handle connection");
exit(42);
case 0:
// Child process -- setup the file descriptors, and the run the helper application
dup2(lfd, 0);
dup2(lfd, 1);
execl("/bin/cat", "cat", NULL);
perror("Exec failled");
exit(42);
break;
default:
// Parent process
break;
}
}
}
And finally, this is what inetd and xinetd should do. And now cat works as a UDP echo server...
The next step is to write up the patches to inetd and xinetd. It strikes me as being singularly useless otherwise...
Peter Morgan also seems to think I am on the right track with my honours thesis, which is a good thing.
Company social golf in the evening. Pictures up soon!
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 171 posts have been culled and 171 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Mon, 09 Dec 2002
|
|
|
|
|
 |
|
 |
|
10 December 2002
Josh got a job at Citadel (my mate Doug runs the managed services area out there, but Josh got the job strictly on merit). Well done. It's been raining here for the last day or so, which is nice, because we are officially in a drought... It's quite cold for a Summer day as well. I am even wearing a jumper.
Back onto shdns whilst waiting for compiles of work type code.
We have some consultant from monash.NET coming down at the end of the week to explain to us why .NET would make our lives much happier. I don't think I disagree -- anything has to be better than DCOM.
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 100 posts have been culled and 205 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Sun, 08 Dec 2002
|
|
|
|
|
 |
|
 |
|
09 December 2002
TODO list for today:
Done.
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 80 posts have been culled and 138 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Sat, 07 Dec 2002
|
|
|
|
|
 |
|
 |
|
08 December 2002
Working more on my honours extension, which is a web interface to the main application which we wrote for the undergraduate bit. Things are going well. It should be pretty easy to get it in on time and working well (unless something evil comes up).
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 94 posts have been culled and 141 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
08 December 2002
Well, no closer to actually having a video capture happening, despite having carried the box with the capture card out into the lounge and plugging it into the nice aerial on the roof. Perhaps I have the tuner options wrong. I'll have to surf on that some more.
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 106 posts have been culled and 172 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Fri, 06 Dec 2002
|
|
|
|
|
 |
|
 |
|
07 December 2002
Playing with video capture under linux. Plugged in Ben George's Maxtrox Millenium G200 Marvel (AGP), and had pain getting my AMD K6-500 machine to recognise that it could use an AGP video card. I'm blaming the Gigabyte GA-5AX motherboard at the moment, which has this wierd "use AGP " setting, which it seems to be ignoring.
Played briefly with Ian's pixelview video capture card. First I had to guess the tuner type and put that in modules.conf. Once I had done that I still don't get a picture, but I am not sure if that is because of the aerial or not. I will move the machine closer to a real aerial tomorrow and try again...
Basically, no closer to video capture after an hour or two.
Checkout http://www.linuxprofessionalsolutions.com/pavlicek/tv.html for a quick guide...
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 117 posts have been culled and 164 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Wed, 04 Dec 2002
|
|
|
|
|
 |
|
 |
|
05 December 2002
Well, here I am again, in my study. I can't believe that it is Thursday already. Time flies.
Been doing lots of stuff on final year project honours extensions.
I was having an arguement with a female friend this afternoon about whether her makeup was effective. My arguement is that makeup is intended to make people look different, and she still looked like Kate. I suggested next time she might try to look like Dracula, or Atilla the Hun.
She countered with an arguement that makeup is meant to draw attention to your good features (a likely story!). When I suggested a more effective way was to draw arrows on her face, she got all grumpy. I don't understand women...
Hacked up an extension to wget which will force it to only get filenames ending in .mp3. This is useful for grabbing the content of the linux show mp3 archive. I can see it being useful for other things as well. When I get around to it I will make it more general and submit it to the Maintainer...
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 95 posts have been culled and 156 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Tue, 03 Dec 2002
|
|
|
|
|
 |
|
 |
|
04 December 2002
I hurt my lower back yesterday during a wild grab to not drop my son Andrew in the shower. As a result, I can't bend over or do anything interesting today. I even had to cancel my trip to the gym last night. Bugger.
Spent more time on my honours thesis, so no interesting Open Source coding last night...
Hurrah. Catherine's mother is officially a diabetic.
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 102 posts have been culled and 183 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Mon, 02 Dec 2002
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
 |
|
 |
|
03 December 2002
The seminar on Saturday seemed to go well, and my notes are now available online in the presentations area. There is a problem with the way that UDP sockets are handled by inetd which basically means that writing UDP servers with straight simple shell (e.g. echos etc) is impossible. Tridge and I had a discussion about how to fix this. I will have to look into it when I have some free time...
Working on that web server at work again. I will oneday get enough time to finish it. Got an abstract in for an educational conference in the middle east that University of Canberra is interested in sending some people to. We'll have to see what comes of that aas well.
Started documenting my honours extension to final year project -- fun fun fun.
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 100 posts have been culled and 163 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Wed, 27 Nov 2002
|
|
|
|
|
 |
|
 |
|
28 November 2002
Spent some time last night working on my DNS server so that it's ready for the talk on Saturday... I'm currently having pain getting xinetd to write back to the UDP connection. I need to look into this further...
Cross the 100 linux CDs burnt barrier... So far I think I am up to about 105. Not bad for about 4 CLUGs.
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 308 posts have been culled and 154 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
2002: DocBook
posted at: 22:00 | path: /presentations | permanent link to this entry
There are no comments on this post which have survived moderation. 102 posts have been culled and 185 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Tue, 26 Nov 2002
|
|
|
|
|
 |
|
 |
|
27 November 2002
Spent some time installing ISYS desktop today in an attempt to debug why our synonym searches don't see to do what I want them to -- I am hoping it is something I have done wrong. If this doesn't work out then the next step is to contact one of the people I know at ISYS and see what they have to say...
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 70 posts have been culled and 106 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Mon, 25 Nov 2002
|
|
|
|
|
 |
|
 |
|
26 November 2002
Well, an exam today (in the afternoon), and then all I have left on the todo list for this week is preparing for my CLUG talk, and my talk at the AUUG Canberra chapter mini-conference thingie. I think I care more about preparing for the mini-conference than I do for the LUG at this stage, as we already have four talks and a competition judging lined up for this month -- we have no hope of getting through all of that in the normal time allocated, and people like to chat during pizza.
I suspect people wont be keen to listen to more talking during the pizza itself.
Once I have done the talk at the AUUG mini-conference, then I will be ready to announce to the general world what I have been working on (and am talking about). It is nothing special, but is a little quirky, and I wanted to let AUUG run with it first...
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 6 posts have been culled and 1 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Sun, 24 Nov 2002
|
|
|
|
|
 |
|
 |
|
25 November 2002
Silly arguement with Kristy about the final year project, and whether or not she could claim copyright over all of my work... I think the CVS commit report might have a hint about why she wants to have her name mentioned on every source file.
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 120 posts have been culled and 143 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Sat, 23 Nov 2002
|
|
|
|
|
 |
|
 |
|
Mailling lists being monitored
The mailling list monitoring part of patchtrack is currently monitoring the following mailling lists. If you think I should include more here, then let me know at mikal@stillhq.com and I will see what I can do...
- Linux kernel mailling list
- USB devel
- Kernel janitor
- acpi4linux
- alsa devel
- PPC devel
- PPC embedded
- PPC iSeries
- PPC64 devel
posted at: 22:00 | path: /patchtrack | permanent link to this entry
There are no comments on this post which have survived moderation. 83 posts have been culled and 148 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Fri, 22 Nov 2002
|
|
|
|
|
 |
|
 |
|
23 November 2002
Final year project is nearly over. The talk went well, now we just need to hand in the thesis and documentation. Then I can do honours.
I have documentation due, an exam, a local LUG talk, and a conference talk, all this coming week. I guess that makes me still busy...
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 71 posts have been culled and 131 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Tue, 19 Nov 2002
|
|
|
|
|
 |
|
 |
|
20 November 2002
Got the flu, and now I'm losing my voice. I wish I wasn't sick for once...
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post yet. Be the first to make one.
|
|
|
|
|
 |
|
 |
|
Mon, 18 Nov 2002
|
|
|
|
|
 |
|
 |
|
Sat, 16 Nov 2002
|
|
|
|
|
 |
|
 |
|
17 November 2002
Ditched my 132 cm internal projection TV in favour of a Grundig Xendia. Nice...
Can't sleep, so coded some more.
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 75 posts have been culled and 108 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Fri, 15 Nov 2002
|
|
|
|
|
 |
|
 |
|
16 November 2002
I'm getting really bored with being sick. A couple of group members spent yesterday throwing up. I have the flu now...
Five more accepted kernel patches, and Chris Wilson has done some nice work making one of my patches nicer. Cool...
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 102 posts have been culled and 148 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Tue, 12 Nov 2002
|
|
|
|
|
 |
|
 |
|
13 November 2002
Sick again. It must be the time of year for it.
There is some concern at work about whether DCOM packets can traverse a NAT'ed firewall properly. While digging for information (which always seems to be harder in the Microsoft world), I came across some interesting stuff...
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 1 posts have been culled and 0 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Mon, 11 Nov 2002
|
|
|
|
|
 |
|
 |
|
My first patches included
From the 2.5.47 ChangeLog for Linus' tree:
Summary of changes from v2.5.46 to v2.5.47
============================================
...
[PATCH] [Trivial Patch] journal_documentation-001
This corrects DocBook formatting errors in the journalling API
documentation which stopped a "make psdocs" from working
...
ppc64: fix misc_register usage from Michael Still
...
posted at: 22:00 | path: /linux | permanent link to this entry
There are no comments on this post which have survived moderation. 60 posts have been culled and 111 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Libmplot 0.5.4
This version adds the required function prototype in the header for you to be able to use the height functionality...
posted at: 22:00 | path: /site | permanent link to this entry
There are no comments on this post yet. Be the first to make one.
|
|
|
|
|
 |
|
 |
|
Libmplot 0.5.4
This version adds the required function prototype in the header for you to be able to use the height functionality...
posted at: 22:00 | path: /libmplot | permanent link to this entry
There are no comments on this post which have survived moderation. 106 posts have been culled and 164 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Sun, 10 Nov 2002
|
|
|
|
|
 |
|
 |
|
Libmplot 0.5.2
There was a small bug in the text rotation implementation. This has now been fixed... You can download a new version of the code from here.
posted at: 22:00 | path: /site | permanent link to this entry
There are no comments on this post which have survived moderation. 84 posts have been culled and 147 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Libmplot 0.5.3
This version adds a function which will return the vertical space taken by a painted string.
posted at: 22:00 | path: /libmplot | permanent link to this entry
There are no comments on this post which have survived moderation. 93 posts have been culled and 153 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
11 November 2002
Knocked over the short reports for final year project during my lunch time, which means I am two things closer to being finished. Also filled in the paper work for my missed exam. It looks like the resit will be on 26 November, which works well because it is the day before my wedding anniversary.
More work on final year project. It looks like we might be finally making enough progress. I crossed about four things off my todo list tonight.
Call me two accepted kernel patches boy.
My ISP had a massive hard disk failure on their mail / web server. This means stillhq.com has been offline for two days now, including email. I hate being out of contact... Perhaps they should consider some sort of mirrored setup in the future?
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 94 posts have been culled and 133 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Libmplot 0.5.3
This version adds a function which will return the vertical space taken by a painted string.
posted at: 22:00 | path: /site | permanent link to this entry
There are no comments on this post yet. Be the first to make one.
|
|
|
|
|
 |
|
 |
|
Libmplot 0.5.2
There was a small bug in the text rotation implementation. This has now been fixed... You can download a new version of the code from here.
posted at: 22:00 | path: /libmplot | permanent link to this entry
There are no comments on this post which have survived moderation. 95 posts have been culled and 176 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
Sat, 09 Nov 2002
|
|
|
|
|
 |
|
 |
|
10 November 2002
Another really stressful final year project day. Hurrah!
posted at: 22:00 | path: /diary | permanent link to this entry
There are 1 comments on this post, and 0 comments which didn't survive moderation. 0 were blocked by trained gerbils. Click here to see them.
|
|
|
|
|
 |
|
 |
|
Fri, 08 Nov 2002
|
|
|
|
|
 |
|
 |
|
2.5.46
Checkout the patch tracker. I am currently trying to move away from janitoring to something a little more complex, and this version is the first version I have done this for. Then again, I am still doing janitor stuff as well...
posted at: 22:00 | path: /linuxpatch | permanent link to this entry
There are no comments on this post which have survived moderation. 86 posts have been culled and 188 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 |
|
09 November 2002
Final year project. The web interface isn't working as well as I would like -- and I am not sure why...
Has anyone else noticed that Brick is a really depressing song?
She's a brick and I'm drowning slowly
off the coast and I'm headed nowhere
She's a brick and I'm drowning slowly
they call her name at 7:30
I pace around the parking lot
then I walk down to buy her flowers
And sell some gifts that I got
Can't you see
It's not me you're dying for
Now she's feeling more alone
Than she ever has before
Also spent some time rolling in a couple of patches I had been sent against Panda and PandaLex. The coolest one is that now Panda supports wrapped text boxes (for the 14 core Adobe PDF fonts at least). Given these are the only fonts currently supported by Panda, this is probably good enough for now...
I'll be releasing new versions just as soon as I have been able to test the changes...
posted at: 22:00 | path: /diary | permanent link to this entry
There are no comments on this post which have survived moderation. 82 posts have been culled and 152 blocked. Be the first to make a non-spam comment here, please!
|
|
|
|
|
 |
|
 | |