Performance issues in logview4net
I recently got a message from a user who had performance issues with logview4net when using the pause function in combination with lots of incoming events. Since pause is probably mostly used in situations when there are lots of events I guess more users than Bill and I have noticed it before. I have two cores on my main machine so I usually just let it be until logview4net has recovered by it self. The problem is that almost all processing of an event takes place when it is time to display it, not when it is received. When running in normal mode this is ok, but when coming back from pause mode this places a big burden on the display thread.
I’ve made a change today so that the application does all processing of an event, except the coloring, before it is sent to the cache when in pause mode. That way the processor utilization should be almost the same when in pause mode as when running normally.
I will make the new release in the first week of January to get the nice version number 8.01
Commercial licensing of open sourced applications
I am thinking of releasing logview4net under a commercial license as well as the BSD license I am using now. This would enable users in organizations that dislike open source to use the application anyway.
Besides the political issues I need something else to motivate an organization to pay for something that is given away for free. There is at least one new listener coming up and I could definitively release updates earlier to commercial users. I don’t like having to manage two code bases so the compiler savvy could always get the latest version from SourceForge. I guess I could include the source and documentation in the commercial package if someone wants to run the application without internet access. On that note I could offer email notification to commercial customers when there are new updates.
Do you have any thoughts on this?
Big ups to Trent
Trent at The Simple Dollar removed his Adsense ads because they often showed ads that were in contrast to the content of his blog.
I just want to give him some cred for being strong in his principles.
I have some ads but the click through rate is so small I should probably do something else with that space. It is up for sale for almost any immoral purposes if the pay is good enough.
A formal build-and-deploy process becomes essential.
I’m reading Pro BizTalk 2006 by Apress and a section in the chapter about setting up a new BizTalk project made me a little upset.
The author thinks it is a disadvantage that: ‘A formal build-and-deploy process becomes essential.‘
WTF; in an organization big enough to think about, and afford, BizTalk I would say that a formal build-and-deploy process is a prerequisite. Since BizTalk is a lot, if not all, about integrating different systems and organizations having a strict configuration management is essential to keep the cost down and the quality up.
It is a nightmare to find, and correct, errors that exists because there is version inconsistency between the partners in an integration project. I find that having a formal build-and-deploy process is almost essential even for a small one man project. I’d even say it’s more important the more infrequent there is work done on a small project.
On a software project, of any kind, there has to be a formal build-and-deploy process in place as soon as there is artifacts to be delivered from a developer.
Application launcher
I’m inventing a wheel today.
My current project needs to update itself over the Internet but I don’t want to have a Click Once install. The launcher will incorporate the licensing scheme I created for jsiPodFetch and most of the updating functionality from jsiPodFetch and logview4net.
The launcher might be installed via Click Once, but I think it will need a little to much privileges to run in the sandbox.
I run the launcher from the standard Program Files location where it ends up after installation. Then I create a folder under LocalApplicationData and copy the ‘real’ binaries to it. This way I can download updated files and update the application before I actually execute it. I can’t update the launcher though so I haven’t really decided how much functionality I should put in it.
Now that I think about it I could have a pluggable launcher pipeline. Just after the launcher has downloaded and extracted the package it could look for pipeline components in the assemblies it just downloaded. That way I can keep the launcher to a minimum and yet have it manage licensing and things like that.
Previously I have downloaded a new install package when I wanted to update my applications, but these users will probably not know what to do with an installer so I’d really like to keep it transparent to the user.
New release of logview4net 7.49
Yesterday I slipped out a new version of logview4net. It was just a very small bugfix. I had lost the checkbox for adding a filename to the listener prefix in the settings for the folder listener.
Big ups to Paul who told me about it.
Tagging, lazyness and World of Warcraft
As you might have seen there is a new ‘Tags’ headline in the left sidebar. I intend to remove ‘Categories’ and use tags instead. I’ve only got about 150 posts so I should be done tagging all articles in a week or so.
Tagging feels a little more natural for me than using categories. Categories feels like storing stuff in a cabinet. So when there is a post that doesn’t fit in a drawer I have to remake the cabinet or force the post in to a misshaped drawer.
I don’t think tags will make me write more though ![]()
The infrequent writing is just pure laziness. Playing World of Warcraft doesn’t help much in the short term for my writing either.
I probably should spend my spare time learning programming things, but I think it is important to have some fun too.
I’m MCTS in BizTalk
Last Thursday I took the 70-235 exam from Microsoft and as the post title hints I passed.
I haven’t really looked at BizTalk much since it was in Beta a couple of years ago. I did some workshop like sessions with a couple of our customers managers about it but we didn’t get any real BizTalk cases back then.
During the years I have been working on other things and some colleagues of mine has taken the BizTalk jobs.
I did some hard studying for a week and got a score of 799. Almost all of my reading was in BizTalk Foundations. I did all of the demos in the book as it really covers most of the BizTalk package.
It must be hard to make the exams in such a way that they reflect actual knowledge of the product and not just a lot of remembered trivia. I would not call myself an expert in BizTalk, but I feel comfortable in taking in a job and solving the problems as they come.
New host
This week I moved part of my web sites to Dreamhost. The outage on this blog (and probably my Swedish counterpart) was because I forgot to change the blog url in WordPress. It took a while for me to notice because of the time it takes for some DNS servers to update.
Otherwise everything worked perfectly. I migrated my WordPress blogs by exporting/importing all content. Luckily the export files didn’t exceed 7mb so I had no trouble importing them.
I just noticed that I missed the permalink settings so all visitors following old search results will end up with 404′s. My Google pagerank will probably take a dive also. I’ll just have to write some more to get the blog up and running again.
jsiPodFetch 7.44 released today
I just uploaded a new release of jsiPodFetch.
CHANGE LOG
7.44
- Enabled two simultaneous downloads. Might be more in the future.
- Made it possible to stop copying files to the player while syncing.
- Feed URL is now emptied after a click on add.
- Fixed a bug that prevented some feeds to be verified.
- All actions should have a wait cursor now.
- A copy of the settings file will now be made when loaded successfully.
