Visiting London
I will be in London from Jun 29 to Jul 7. If you are in London and want to talk about Artisteer, C#, PHP development, Zend Framework or living in Ukraine, send me a message or write a comment. See you :-)
Where to search icons?
For you site or application or presentation or something else (order by Alexa rating):
- IconFinder - 164K of icons, 551 sets. Browse by set, tag, author. Converter, API. Custom icons service. Alexa rank: 3,508.
- Iconspedia - browse by category, set. Alexa rank: 5,663.
- FindIcons - 291K of icons, 2170 sets. Browse by set, tag. Converter, API. Alexa rank: 7,374.
- FreeIconsWeb - 20K of icons for operating systems. Alexa rank: 11,618.
- FreeIconsDownload - icons for operating systems. Browse by set, category. Alexa rank: 14,646.
- IconShock - 913K of icons, 248 sets. Browse by tag, set. Custom design service. Alexa rank: 16,097.
- VeryIcon - over 20K icons, more than 1000 sets. Browse by category. Alexa rank: 23,994.
- IconSeeker - browse by tag. Alexa rank: 44,638.
- IconLook - browse by tag. Alexa rank: 52,052
- Iconlet - thousands of icons. Browse by format, license, size. Alexa rank: 55,359.
- WeLoveIcons - 473 sets. Alexa rank: 94,840
- IconsSearch - Alexa rank: 123,516
Some good sets:
- Fugue icons from Yusuke Kamiyamane.
- Tango Desktop Project, Gnome and KDE desktop icon set.
Search with Google over HTTPS by default in Google Chrome
Google now supports HTTPS for search results, but by default Google Chrome sends requests over HTTP. To change this you need to create new search provider as follows:
- Right click on the address bar and select "Edit search engines"
- Add new search engine (URL copied from Google search engine and {google:baseURL} is replaced with https://www.google.com/):
Name: Google SSL
Keyword: https.google.com
URL: https://www.google.com/search?q=%s (short URL, right-click and select "Copy link address" for complete URL) - Select Google SSL search engine and make it default.
After that direct searches from the address bar will be transferred securely.
GalleryViewer - first version of the extension for Google Chrome
I've released the very first version of the GalleryViewer extension that converts page image sets to good looking galleries.
Google Chrome API diagram
Here is Google Chrome Extension API diagram that I've created while working on my extension for Google Chrome. It shows only stable API (does not contain experimental API classes). Auxiliary classes are added for displaying method parameters. I hope it will be useful for extension developers.
Click on the image to view the full diagram.
Accelerator add-in for Enterprise Architect is available
I've created and published an add-in for Enterprise Architect that increases speed of class diagram creation.
CMS extensions: where to find, how to choose?
No matter how long you keep a web site, if you update it frequently, holding a community, or taking care of it in any other way, at any moment idea of changing or improve its functionality may come to your mind.
If you are not a software developer then you have two options: find the developer that will do it for you or try to find extension for the CMS of your site that changes it in the way you want. But even for software developers that know enough about HTML, CSS, JavaScript and server technologies, reinventing the wheel by implementing the idea that is not unique (add CAPTCHA on registration form, for example) may be bad decision.
Even if you think that nobody did it before, it is a good idea to look for extension that close to the requirements. If you will be lucky and find it you save in a huge amount of time and money.
Here are several tips that will help you with searching the extension and make your site better:
- Extensions are not alway "extensions". Different communities have different names for them. For example, Drupal has "modules", Wordpress has "plugins". Some communities have two: Joomla has "components" and "modules".
- Start searching at the site of your site CMS. Most of them have a repository of the extensions on their sites.
- Pay attention to the latest release date of the extension and its version. It is a bad sign if it was updated last time a year ago.
- Some of the repositories track usage statistic, user rating and maintain a list of issues for the extensions. Check them too.
- If you know about upcoming major release of the CMS, check whether the extension maintainer claims that the extension will support it.
- Search for the reviews of the extension in blogs and forums.
- The functionality you are looking for may be a part of some more advanced extension. For example, email notifications about new users may be a functionality of "Advanced User Management Extension" and "Improved Notifications Extension".
Here is table with a summary of extension names and sources for some of the widely used CMS:
| CMS | What search for? | Where to find? | What to check? |
| Drupal | modules | http://drupal.org/project/modules | bug reports issue tracker usage statistic CVS repository |
| Wordpress | plugins | http://wordpress.org/extend/plugins/ | usage statistic user rating |
| Blogger | gadgets | http://www.google.com/ig/directory | usage statistic, user rating, comments |
| Joomla | components modules plugins | http://extensions.joomla.org/ | usage statistic, user rating, reviews |
| DotNetNuke | modules | http://www.snowcovered.com/ | user rating, comments, reviews, price |
Giving FullTrust permissions to the .NET assemblies at network shares
I have Virtual PC machine with Windows XP and .NET 2.0 and I need to start .NET application from the shared folder which is mapped to Z drive letter. But the application executable gives me "Application has encountered a problem and needs to close." dialog right after start.
I've tried to compile it with MSBuild from sources on Z: and it have displayed the following error:
... System.Security.SecurityException: That assembly does not allow partially trusted callers. ...
Aha, incorrect permissions! MSBuild does not want to load and execute logger assembly from mapped drive because it is in the Intranet zone, which does not allow full trust. It looks like the application executable could not be started because of the permissions too. So how to give allow assemblies from mapped network shares run with FullTrust permissions?
As I have read this can be done in two ways: by configuring permissions in mscorcfg.msc, or by modifying code access security policy with caspol.exe.
Because mscorcfg.msc is not included in .NET 2.0 redistributable I've executed the following command in the Run dialog (Win+R) to allow assemblies from mapped networking shares run with FullTrust permissions:
c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol -q -machine -addgroup 1 -url file://z:/* FullTrust -name "Z Drive"
Works perfect.
Annoying system restart notification after installing updates
As usual, my Windows XP starts asking me to reboot it after installing new updates. In Vista I can postpone notification for several hours and forget about it, but XP pop ups the notification each several minutes giving me a big chance to shut down the computer and lose my work.
To turn it off just press Win+R and type the following command and press Enter:
net stop "Automatic Updates"
This will completely shot down the automatic updates till the next reboot. Remember that you still need to reboot your computer after completing the work unit to apply the updates - your computer may be vulnerable before reboot.
Cool Wordpress.com blogs
Just FYI, big companies and interesting people who use wordpress.com (or its VIP service) for blogging:
- CNN blogs - CNN anchors, correspondents and producers all over the globe.
- flikr blog - official blog of flikr.com, almost certainly the best online photo management and sharing application.
- BBC Worldwide use WP VIP for some of its projects: Sunday Afternoon Club blog at topgear.com, Human Planet blog at bbcearth.com, etc.
- TIME blogs - time.com correspondents and producers.
- TechCrunch - technology events.
- Symbian blog - the official mouthpiece of Symbian Foundation, maintainer of Symbian OS.



