We typically use nagios to monitor our hardware and hosted services. Now that we are starting to offer more web services, we wanted to replace the ad-hoc curl wrapper we were using with a more standard nagios plugin. After searching for one and not finding any, it occurred to me that if curl can do it, maybe you can trick the standard check_http plugin to also do it. A quick experiment with an https hosted web service (self signed certificate for this test) shows that it works:
./check_http -S -k 'SOAPAction: ping' -r 'Current Status.*OK' -T text/xml -P '<s:envelope s="http://schemas.xmlsoap.org/soap/envelope/"><s:header/><s:body><ping/><s:Body><s:Envelope>' -t 10 -m 512 -p 8083 -H 192.168.1.254 -u /Services/Search/search.svc
HTTP OK HTTP/1.1 200 OK - 0.033 second response time |time=0.032722s;;;0.000000 size=897B;512;0;0
Now time to look at nagios grapher...
Wednesday, July 23, 2008
Monday, March 17, 2008
Siebel COM programming with Groovy
After my success in using Perl to program the siebel COM interface, I thought I'd try groovy. Yes it works as well.
Siebel COM programming with Perl
I wanted to play around with the Siebel COM interface using a dynamic language instead of having to re-compile after every change. I happened to have perl installed on my machine so it was the natural choice. Since google didn't show me any usable hits beforehand and it took a bit of investigation, I'm posting my results here.
Thursday, March 6, 2008
Csharp checkstyle partial solution
There doesn't seem to be an equivalent to Java/Eclipse's checkstyle for Csharp.Net
For the purpose of attempting to enforce a common code formatting style, microsoft recommends a per-solution config file together with a VB macro that automatically loads it up when you open the solution
For the purpose of attempting to enforce a common code formatting style, microsoft recommends a per-solution config file together with a VB macro that automatically loads it up when you open the solution
Wednesday, March 5, 2008
Testing WCF Services using groovyWS (Apache CXF)
I wanted to use groovyWS to test my WSDL-first .Net WCF web services. By default, WCF doesn't publish its WSDL, it doesn't publish a flat WSDL, and the recommended WsHttpBinding binding makes groovyWS unhappy. Once you work around these things, it is possible to very conveniently write independent dynamic tests for your services.
Since it took a while to collect all this information, I thought I would post my result: a WCF ping service that is interoperable with a groovyWS (i.e. Apache CXF) client.
Since it took a while to collect all this information, I thought I would post my result: a WCF ping service that is interoperable with a groovyWS (i.e. Apache CXF) client.
Thursday, November 15, 2007
Cross Platform Java Analysis with DTrace
Since URLs to Jazoon07 slides and blog postings seem to be changing, I'm posting here a stable link to my look into Cross Platform Java Analysis with DTrace.
Update: I gave an updated talk, Dtrace for Java Developers at Jazoon08
Update: I gave an updated talk, Dtrace for Java Developers at Jazoon08
Tuesday, October 2, 2007
Passive Characterization via Statistical Analysis
One area of my research employs the use of statistical analysis to passively characterize an instrument using artifacts inherent in the output it produces. If asked to make an "elevator pitch" for it, I like to refer to similar but easier to describe applications such as the ability to determine an author's gender solely artifacts inherent in the text, or the ability to identify particular anonymous machines on the internet by watching its packets go by using timing crystal artifacts inherent in is message timestamps. I just read a review in the economist for a book called super crunchers, which sounds like it might be another source for such applications.
Thursday, April 19, 2007
Week day
In Europe, week numbers are used pretty extensively: The board is due to meet in week 33. Michael will be gone for military service in weeks 24-25. Please submit the quarterly numbers by week 17. Did you know there are at least 6 different ways that weeks are numbered?
Most of Europe seems to follow ISO 8601 numbering, which seems to be what BSD's "ncal -w" computes. But I need to fix my quarterly agenda generator in postscript (that I hacked up starting with pscal code), since I apparently coded up the American numbering by mistake.
If you're always online, there is of course a web-based alternative for looking it up. Its not clear which week number standard yahoo's calendar uses, since I only remember being able to specify which day the week begins on. Maybe it is inferred from your configured time zone?
Most of Europe seems to follow ISO 8601 numbering, which seems to be what BSD's "ncal -w" computes. But I need to fix my quarterly agenda generator in postscript (that I hacked up starting with pscal code), since I apparently coded up the American numbering by mistake.
If you're always online, there is of course a web-based alternative for looking it up. Its not clear which week number standard yahoo's calendar uses, since I only remember being able to specify which day the week begins on. Maybe it is inferred from your configured time zone?
Tuesday, April 17, 2007
Programming like it is still 1975?
There is an interesting new project called Varnish, which implements a reverse proxy. It is apparently up to 10 times faster than squid. But more interesting is why.
The software architect, who is usually a kernel programmer, decided to do a "userland program" for a change, as a fun project. Apparently he was disappointed that most programs haven't even taken advantage of things that have already been available in FreeBSD and Linux for at
least 10 years.
The software architect, who is usually a kernel programmer, decided to do a "userland program" for a change, as a fun project. Apparently he was disappointed that most programs haven't even taken advantage of things that have already been available in FreeBSD and Linux for at
least 10 years.
Linux threading scalability problems
After a couple of years of work on trying to make the FreeBSD kernel
more concurrent, a couple of kernel hackers started to enable the
concurrency (which is off by default) on an 8 CPU system and started
to see much improved results using a mysql benchmark
to measure it.
To make sure they weren't too far behind linux (which they have been
over the past couple of years) they compared the same benchmark on
the same hardware with the most recent linux and found that linux had
problems scaling when the number of threads was greater than the
number of CPUs.
Some linux hackers began to investigate this and found out that it is
not just mysql. The most likely cause seems to be 2 problems with
glibc - meaning that any program that does threading and uses glibc
(this includes java) would have the problem.
I guess once they identify the problem, it will probably be fixed within
the next few months.
more concurrent, a couple of kernel hackers started to enable the
concurrency (which is off by default) on an 8 CPU system and started
to see much improved results using a mysql benchmark
to measure it.
To make sure they weren't too far behind linux (which they have been
over the past couple of years) they compared the same benchmark on
the same hardware with the most recent linux and found that linux had
problems scaling when the number of threads was greater than the
number of CPUs.
Some linux hackers began to investigate this and found out that it is
not just mysql. The most likely cause seems to be 2 problems with
glibc - meaning that any program that does threading and uses glibc
(this includes java) would have the problem.
I guess once they identify the problem, it will probably be fixed within
the next few months.
Java Conference: Soundly choosing language features
After a philosophical discussion with my brothers on programming languages, I posted my thoughts on how it is about time to add a little more science into the art of designing programming languages. Instead of relying on the individual tastes of Wirth, Gosling, Wall, or these days von Rossum or Matsumoto, we need languages that help less IT projects to fail. And we need objective metrics of real programmers for evaluating and quantifying our hypotheses on what works.
Java Conference: Thoughts on future of concurrency
In another post on the Jazoon conference site, I describe a non-obvious concurrency problem we had to deal with in a recent project and daydream about the possibility of eventually having futures/promises, or something like it, that could maybe remove these kinds of problems from everyday coding much like garbage collection/reference counting removed (most) memory management problems from everyday programming. I point out that it would also be nice to implement it with an eye toward mechanical verfiability.
Java Conference: REST for java
I will be presenting a RESTful grid tool at the upcoming Jazoon international conference on java. As I mentioned in more detail there, I am glad to see that there will soon be more supported (and therefore likely to be more consistent) alternatives for REST (as opposed to WS-*) for web services in Java. Also interesting is that Roy Fielding, father of REST, has been invited as a Keynote speaker.
Subscribe to:
Posts (Atom)