mentioning OsiriX which is basically an Open Source suite to drive all things medical. Turns out the data is encoded in a standard format known as DICOM which defines the data type and also a network protocol for these machines to communicate with each other and their image storage over a network.

The data I got was in RAW format so none of the DICOM headers were present, this led me to some other software and a FAQ for importing unsupported/unknown DICOM data. Using the information there I was able to work out based on file size that my data was 512 x 512 big with an Header offset of 6480.

Armed with this information I was able to do a pretty decent import into OsiriX, the output of the one X-Ray can be seen below (click for full size).

The infection is clearly visible on the left of the image, this was removed but a second formed. Anyway, so the point of this post isn’t to go on about the poor departed snake but to mention the fantastic medical imaging tool OsiriX which is a pure Mac application and while I doubt many of my Blog audience will care for it it might still be of some use to some Googlers.

Source: www.devco.net

RedHat 5.1 tunable kernel ticks per second
For some time the default clock rate on RedHat machines (and probably others) have been 1000HZ, this is great to keep your mouse moving smooth while something big is happening in the background, but not so great for hosting 10 virtual machines on one poor physical machine as it will have to try and satisfy 10000 ticks per second.

I’ve been using a guest kernel repository by one of the VMWare users that rebuilds the std CentOS/RedHat kernels with HZ=100 and it’s been great, chopped massive amounts off my CPU usage on the host.

Now with RedHat 5.1 this is not needed anymore see this post for a bit of a graph on the impact and the background. The short of it is, simply append divider=10 to your guest kernel boot parameters and enjoy a much happier host. I found that time keeping also becomes more predictable in the guest.

Source: www.devco.net

NetNewsWire is set free
I just noticed that the folks over at Newsgator has set pretty much their whole product suite free today, free is Newsgator for Windows, NetNewsWire for the Mac, the online version of NewsGator and so is NewGator Go! for your phone.

This is pretty huge news as all the products I just mentioned syncs with each other seamlessly and have great UI’s, NewNewsWire has been my reader of choice for ages.

For the paranoids out there though there’s this little tid bit in the new features list:

Sort by attention: NetNewsWire now tracks more information about what you do and can tell which feeds are most important to you.

So you probably want to find out exactly what that’s all about first.

Source: www.devco.net

Detailed Apache Stats

Apache has its native mod_status status page that many people use to pull stats into tools such as Cacti and other RRDTool based stats packages. This works well but does not always provide enough details, questions such as these remain unanswered:

  • How many of my requests are GET and how many are POST?
  • How many 404 errors and 5xx errors do I get on my site as a whole and for script.php specifically?
  • What is the average response time for the whole server, and for script.php?
  • How many Closed, Keep Alive and Aborted connections do I have?

To answer this I wrote a script that keeps a running track of your Apache process, it has many fine grained controls that let you fine tune exactly what to keep stats on. I got the initial idea from an old ONLamp article titled Profiling LAMP Applications with Apache’s Blackbox Logs.

The article proposes a custom log format that provides the equivelant to an airplanes blackbox, a flight recorder that records more detail per request than the usual common log formats do. I suggest you read the article for background information. The article though stops short of a full data parser so I wrote one for a client who kindly agreed that I can opensource it.

Using this and some glue in my Cacti I now have graphs showing a profile of the requests I receive for the whole site, but as you are able to apply fine grained controls to select what exactly you’ll see, you could get per server overview stats and details for just a specific scripts performance and statuses:

The script creates on a regular interval a file that contains the performance data, the data is presented in variable=value data pairs, I will soon provide a Cacti and Nagios plugin to parse this output to ease integration into these tools.

The performance data includes values such as:

  • Amount of requests in total
  • Total size of requests separated by in and out bytes
  • Average response time
  • Total processing time.
  • Counts of connections in Close, Keep Alive and Aborted states.
  • Counts for each valid HTTP Status code, and aggregates for 1xx, 2xx, 3xx, 4xx and 5xx.
  • The amount of GET and POST requests.
  • And detail for each and every unique request the server serves.

See the Sample Stats for a good example, variables are pretty self explanatory. To keep the data set small and manageable 2 selectors exist, one to choose which requests to keep details for and which to keep stats for. These can be combined with standard Apache directives such as Location to provide very fine grained stats for all or a subset of your site.

You would need some glue to plug this into Cacti and Nagios, I will provide a script for this soon as I have time to write up some docs for it.

Install guide etc can be found on my Wiki there is also extensive Perdoc Docs in the script, the Wiki also have links to downloading the script, the latest is always available here

Source: www.devco.net