- Yahoo! Go – TV – FAQ
Someone let me know when this is ready to replace my Tivo.
(categories: pvr tivo yahoo ) - JRobin :: RRDTool Choice for the Java World :: Welcome to JRobin
A 100% pure java implementation of RRDTool’s functionality
(categories: graphing java monitoring rrdtool sysadmin visualization ) - Geek to Live: Script your life in .txt – Lifehacker
Now that I’m on a Mac it should a little easier to apply these.
(categories: lifehacks scripting toread ) - Geek to Live: List your life in .txt – Lifehacker
More like the last one…
(categories: lifehacks toread )
Monthly Archives: April 2006
Links: 4-26-2006
- VisiBone Country Chart
The world’s first map of internet country codes: buy a print or download a free PDF.
(categories: earth mapping )
NAnt FilePoke Implementation
NAnt (for those of you who don’t know) is the .NET version of Ant. It’s very similar to Ant, but has some nice extensions, like xmlpoke, which replaces text in an XML file at the location specified by an XPath expression. I’ve used xmlpoke a couple different times, usually to meddle with web.config but today I ran into an issue where I need to change a .cs file, which I’m sure raises a red flag for alot of you. But Microsoft left me know choice. See, in order to create a WSE compliant webservice client, you’re supposed to simply:
add a reference to Microsoft.Web.Services2 to your assembly…[and then]… change the base class from SoapHttpClientProtocol to the WebServicesClientProtocol class from the Microsoft.Web.Services2 namespace.
[source]
Now that would be all fine and dandy if I used $isualStudio to create my webservices, but I’d rather use Eclipse and NAnt. So NAnt has this great task called a <script> which allows you to plug in any C# code you want and make a task out of it. So here’s a task I made called filepoke:
<script language="C#">
<code>
<![CDATA[
[TaskName("filepoke")]
public class FilePoke : Task {
private string _file;
private string _target;
private string _value;
[TaskAttribute("file", Required=true)]
public string TargetFile {
get { return _file; }
set { _file = value; }
}
[TaskAttribute("target", Required=true)]
public string Target {
get { return _target; }
set { _target = value; }
}
[TaskAttribute("value", Required=true)]
public string Value {
get { return _value; }
set { _value = value; }
}
protected override void ExecuteTask() {
string path = _file;
StringBuilder filecontents = new StringBuilder();
using (StreamReader sr = File.OpenText(path)) {
string s = "";
while ((s = sr.ReadLine()) != null) {
filecontents.Append(s.Replace(_target, _value) + "\n");
}
}
using (StreamWriter sw = new StreamWriter(path)) {
sw.Write(filecontents.ToString());
}
}
}
]]>
</code>
</script>
which you can use (like I did) while looping over all the generated proxy .cs files to replace all instances of x with y:
<filepoke file="${filename}" target="System.Web.Services.Protocols.SoapHttpClientProtocol" value="Microsoft.Web.Services2.WebServicesClientProtocol" />
Seems like it would make way more sense for the wsdl.exe tool to give you the option of overriding the base class of the generated proxy, but this’ll get’er done.
Fiddler, .NET and SOAP
This morning I spent some time playing with WSE, .NET and Java. I knew Fiddler could listen in on conversations between IE and the world, but I never was able to get it to listen to conversations between me and well, me (ie: localhost). Turns out, according to the well named help page, that
“….NET will always bypass the Fiddler proxy for URLs containing localhost. So, rather than using localhost, change your code to refer to the machine name.”
Easy.
Links: 4-20-2006
- weblog.masukomi.org: java sparkline
Discovered while looking for a Java implementation of sparklines
(categories: java sparklines visualization )
Links: 4-14-2006
- Lucene in Action / Index
Turns out the Lucene in Action book plugged (ever so briefly) the project I worked on called jSearch, which is now karakoram. Check out page 7 if you’ve got the book.
(categories: books karakoram lucene )
Links: 4-5-2006
Links: 4-3-2006
- Sparkplug Development Guide
mmm… plugins. Now if I can just get the IT guys at work to open up outbound Jabber connections.
(categories: jabber plugins spark )