I have a .NET 2.0 assembly that runs in the Internet Explorer Web browser as hosted control. The assembly is called ExampleControl.dll. The HTML file used to display it is the following:
Now I want to increase its priviledges to be able to connect to Microsoft SQL Server. If I just create a new code group with FullTrust permission set in .NET Framework 2.0 Configuration Runtime Security Policy for all assemblies comming from URL=”http://localhost/MyWebApp/*”, I get the following error message:
System.Security.SecurityException: Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
It is strange, because my assembly actually has the SqlClientPermission (this can be seen by “Evaluate Assembly”). Eventhough the .NET control in my Web browser cannot connect to SQL Server.
To solve this problem I needed to give FullTrust to whole the Web site (URL=”http://localhost/*”), not only to my Web application (URL=”http://localhost/MyWebApp/*”).
I tried to assert the required permission by calling new SqlClientPermission().Assert(), but with no result. The only way to solve the problem I found is to to give FullTrust to whole the Web site (URL=”http://localhost/*”).
Posted by nakov as .net, blog at 2:35 AM EET
Comments Off
Bulgarian Association of Software Developers (BASD) organizes a meeting of the Bulgarian Java User Group (BGJUG) on 25 October 2007 to discuss the JavaServer Faces (JSF) technology and new trends. Speakers will be Ivan Davidov and Nikolay Dokovski.
See the official invitation here: http://www.devbg.org/seminars/seminar-JSF-25-october-2007/.
Posted by nakov as news, java at 3:48 PM EEST
Comments Off
As part of my PhD research I attended the RANLP 2007 conference in Borovets, Bulgaria (Recent Advances in Natural Language Processing - 2007) to present two scientific papers and a novel algorithm for measuring semantic similarity between words by searching Google and analyzing the local contexts comming for the returned page excerpts.
Improved Word Alignments Using the Web as a Corpus
With my co-authors we presented an approach for improving word alignments by combining orthographic similarity measure designed for Russian/Bulgarian with semantic similarity measure. The full paper is available here: Improved Word Alignments Using the Web as a Corpus (PDF). The presentation is also available: Improved Word Alignments - Presentation RANLP 2007 (PPT).
Cognate or False Friend? Ask the Web!
With my co-authors we presented a novel algorithm for distinguishing between cognates and false friends. The algorithm is based on improved version of our semantic similarity measure that uses the Web as a corpus. We also published an evaluation of its performance for Russian/Bulgarian. The full paper is available here: Cognate or False Friend? Ask the Web! (PDF). The presentation is also available: Cognate or False Friend? Ask the Web? (PPT). We also recorded video of my talk and the discussion: Cognate-or-False-Friend-Ask-the-Web-v1.0.avi.
Posted by nakov as news at 4:10 PM EEST
Comments Off
On 26th of September 2007 I and Peter Tahchiev organized the first meeting of the Bulgarian Java User Group (BGJUG) running at the Bulgarian Association of Software Developers (BASD). It was attended by about 120 Java developers. It is a good start!

I gave a talk on AJAX applications development with the Google Web Toolkit (GWT) technology.

I presented the fundamentals of GWT and made few live demonstrations including creating custom widgets and using RPC services. The GWT presentation, the demonstrations and the video recording (in Bulgarian) are available for download from the seminar’s official page.
There was high interest to my talk and to the event as a whole. Good job!
The BGJUG will meet regularly once monthly, each last Wednesday of the month. I hope the Java community will constantly grow and the events will become better and better.
Posted by nakov as news, blog at 2:31 AM EEST
Comments Off
I usually use my home machine (running Windows 2003) from my office through Remote desktop. Sometimes in the evenings I want to hibernate it but the hibernation fails if I have used the machine remotely even if all remote connections are closed. I think this is a bug but I am not sure.
In the event log I see this message: “A request to suspend power was
denied by winlogon.exe”. This means that Windows intentionally does not want to hibernate because it thinks some remote users are still connected (which is not true).
I found two solutions to this problem:
1) Instead of using Start –> Shut Down –> Hibernate, use this command from the console:
shutdown /f /h
2) Compile and use this C# code to force Hibernation programmatically:
Posted by nakov as blog at 10:33 AM EEST
Comments Off
When you need to copy a project that resides in a Subversion repository to another location or send a piece of the source code by email, you need to clean the all .svn or _svn files from its directory structure.
I know an easy way to do this by the TortoiseSVN GUI client for Windows:

This works pretty well but sometime you need more simple solution: removing all .svn directories from given project. I didn’t found any useful tool for this so I wrote one: svnleave.
My favourite programming language for writing such small programs is C#. It is highly productive, user friendly, have very good development environment and runs on any Windows machine (I mostly use Windows as desktop).
Here is the source code:
A compiled version svnleave for .NET Framework 2.0 is available for download here: svnleave.exe.
Posted by nakov as .net, blog at 1:04 PM EEST
5 Comments »
The Bulgarian Association of Software Developers (BASD) which I currently manage is about to start a new division - Bulgarian .NET User Group. The division will focus on Microsoft technologies and will organize seminars, meetings, courses and will run other projects.
Bulgarian Association of Software Developers (BASD) is working on .NET technology for several years. We have successfully completed several community projects:
I believe we will be soon approved to join the International .NET Association (INETA).
Posted by nakov as .net, news, blog at 12:33 PM EEST
Comments Off
The Bulgarian Association of Software Developers (BASD) which I lead for the last few years launches a Bulgarian Java User Group:
The groups will perform regular meetings in Sofia once monthly and will organize technical events and discussions. It will have separate web site (http://www.java-bg.net) and independent membership regardless of the membership in the association. The first meeting will be in the end of September 2007. I will post about it.
Posted by nakov as news, java, blog at 3:22 PM EEST
Comments Off
In my current GWT project I have some data comming from the server side but is unlikely to be changed during the execution of the project. This is the the list of languages available in the system. I wanted to cache the requests to the RPC service that returns the list of available languages so that this list to be dowloaded only once.
What I done:
In the above code the LanguageDTO class is simple JavaBean that transports the data from the server to the client (see Data Transfer Object pattern). The ServiceUtils is a simple class that keeps the client proxies of the RPC services as singletons. It is used to ensure that teh service proxy for each RPC srevice is created no more than once.
Posted by nakov as java, blog at 6:48 PM EEST
Comments Off
I published a new version of my GWT Advanced Table widget - a reusable GWT table component that supports data paging, sorting and filtering in AJAX fasion:

I added row selection support that was missing in the first release. See the official Google Code project for more information and downloads: http://code.google.com/p/gwt-advanced-table/.
Posted by nakov as news, java, blog at 6:31 PM EEST
Comments Off