![]() | You scored as Rogue. Rogues share little in common with each other. Some are stealthy thieves. Others are silver-tongued tricksters. Still others are scouts, infiltrators, spies, diplomats, or thugs. What they share is versatility, adaptability, and resourcefulness. In general rogues are skill at getting what others don't want them to get; entrance in to a locked treasure vault, safe passage past a deadly trap, secret battle plans, a guard's trust, or some random person's pocket money. What DnD Class Are You? created with QuizFarm.com |
I've previous mentioned MyGeneration and not in favorable terms, the application took a very long time to start and used over 0.5 Gb (!) of RAM.
Since them, Mike Griffin have contacted me and sent me a fix that solved the problem in a very complete way. (Right now the startup time is ~5 seconds and modest memory size).
Naturally, I'm unique, and in over 42,135 people who downloaded the product, I'm one of the two that have this problem. I can't say that I'm excited about this.
What I'm excited about it that the fix not only fixed the current version, but the previous versions as well. I intended to use the new JetBrain profiler to check what was the cause for the problem. Unfortantely I'm unable to repreduce it. I unistalled the fixed and wiped out any trace of it in the system, and then install the version with the problem. Behold, it's fixed!
Niether Mike nor I can understand what happens to cause this (the problem or the magic solution).
Oh well, at least now I can get to use the product. It seems to have interesting capabilities and (most importantly) it has NHibernate templates :-)
I found this nice utility at PerfectXml, it allows you to run ad-hoc XPath queries against any xml document and report both the results and the type of the result.
The only addition that I've made was to add namespace support, you can use it this way:
xpather hibernate.cfg.xml //nh:session-factory/ nh=urn:nhibernate-configuration-2.0
I've found it very useful for small testing of xpath expressions, mainly because I uses XPath every once in a while, so I tend to forget the particulars.
using System;
using System.Xml;
using System.Xml.XPath;
class Class1
{
[STAThread]
static void Main(string[] args)
{
if(args.Length < 2)
{
Console.WriteLine("Incorrect number of parameters.");
Console.WriteLine("Usage: xpather <filename> <xpath> <ns-prefix=namespace> <ns-prefix=namespace>...");
return;
}
try
{
//Load the XML document
XmlDocument doc = new XmlDocument();
doc.Load(args[0]);
//Create XPathNavigator
XPathNavigator xpathNav = doc.CreateNavigator();
XmlNamespaceManager nsMgr = new XmlNamespaceManager(xpathNav.NameTable);
for(int i=2;i<args.Length;i++)
{
string[] tmp= args[i].Split('=');
if(tmp.Length==2)
{
nsMgr.AddNamespace(tmp[0],tmp[1]);
}
}
//Compile the XPath expression
XPathExpression xpathExpr = xpathNav.Compile(args[1]);
xpathExpr.SetContext(nsMgr);
//Display the results depending on type of result
switch(xpathExpr.ReturnType)
{
case XPathResultType.Boolean:
Console.WriteLine("Boolean value: {0}",
xpathNav.Evaluate(xpathExpr));
break;
case XPathResultType.String:
Console.WriteLine("String value: {0}",
xpathNav.Evaluate(xpathExpr));
break;
case XPathResultType.Number:
Console.WriteLine("Number value: {0}",
xpathNav.Evaluate(xpathExpr));
break;
case XPathResultType.NodeSet:
XPathNodeIterator nodeIter = xpathNav.Select(xpathExpr);
Console.WriteLine("Node-set count: {0}",
nodeIter.Count);
while(nodeIter.MoveNext())
Console.WriteLine(nodeIter.Current.Value);
break;
case XPathResultType.Error:
Console.WriteLine("XPath expression {0} is invalid.",
args[1]);
break;
}
}
catch(Exception exp)
{
Console.WriteLine("Error: " + exp.ToString());
}
}
}
I seems to have misplaced my weekend, since it just vanished without a trace. All I did was catch up on my reading and then handle some personal matters and then it whisked away.
I got a note that I might meet it in a few days, but only if I behave. Do you think that I need to post a carton milk shot to find it?
On other news, I found
The Golem's Eye in a book store yesterday, I very much enjoyed the
The Amulet of Samarkand, so I look forward to read it.
No, I'm not going to complain about something here.
I returned from a trip the the lowest place on the world, 408 meters below the sea level. The Dead Sea.
The view was fantastic, and convinced me that I really do need a digital camera :-)
Hebrew speakers will cring at the translation, but this is what passed through my head there:
Who built and who planted?
All of us together!
The HaloScan.com team has fixed the vulnerability in their services :-)
And in a very good time, too.
I just got the standard referrer email from my blog on my latest post. Only this one wasn't the usual one. I usually check the pages that link to my blog if I can, and so I followed this one, to find myself in Haloscan's page.
The problem that I have with is simple, actually. The url that I got had the normal format of http get parameters, and allowed me unlimited access to the account. Including editing/deleting both comments and trackbacks.
What happened is that I trackbacked the story, and the author apperantly followed it from his management page to my blog, which caused my blog to send me a referrer email with the referring adress.
The big problem here is that just the URL is enough to warrant access to the account.
At a minimum, they need to use cookies or POST variables.
I informed both the author and HaloScan.com, we'll see what comes out of it.
This is the first security related bug that I discovered. :-)
[Update: It seems that you can mitigate this if you logout of your session]
I just read this post: "Windows Server, Home Edition"
I agree completely, and I think that you could up the price for 1000$ and still get a lot of benefits from this. Build the OS, build the specs for this, and let the OEM crack their heads on the hardware's prices.
I would buy it, we have four PCs at home, and one laptop, so I feel the pain (change a password in one computer, and you need to change it in all (think printer and file sharing), argh!
In addition, if it came with the idea of home license at 150% of the price for all MS products, it would be a huge step to solve computer piracy. You would buy the hardware, and get with it WinXp & Office for 1000$ for 5 computers, and that would work.
I want this, I really want this!
I'm currently using version 1.1.1799 and I'm discovering some very nice stuff about it.
- Project > Export to HTML...
This allows you to output the entire content of the project / combine (solution in SD's dialect) as HTML, including line numbers & highlighting. - Intergrated Assembly Analyzer which is either FxCop or a direct copy.
- Integrated unit testing and NAnt support
- Much better support for Boo, even though I didn't upgrade my BooBinding, just linked them to the new version.
- Slicker, better look.
Really nice experiance.
The best thing that I can say about #Develop is that it's easy to integrate new languages to it, and that it provide a very good user eperiance for C#.
The bad thing is that I began to encounter a strange bug in the text drawing on version 1.0.3.1768 (the latest right now).
You can see the problem here, this doesn't happens always, and not just for Boo code, but when it does happen (and I wasn't able to track why) it happens consistently, and nothing I can do (including setting double buffering off, which seems to fix it, but then render it unusable for other reasons, restarting the application, etc) didn't help.
Argh!
Update: I found the cause just 20 seconds from posting this article! I knew I'd a reason to blog :-)
The problem seems to be that I sometimes move one of my monitors to portrait mode, and SD doesn't seem to be able to handle this gracefully.
Moving to the second monitor in landscape mode fix this. And changing the first monitor to landscape mode will fix this as well.
I can't recommend portraint mode highly enough if you are going to be reading, especially if you are going to read code. There is so much more that you can see in portrait mode.
It isn't as good for writing code, mind you. This is mainly because all the sidebars (yes, I know I can move them) that takes up horizonal space and don't leave much room for the code.