You are here

Home

Blogs

In memory of Steve Jobs

The world is not longer the place I knew. Since my childhood I knew Steve Jobs as a man who was making computers and working with them. I read about him and his NeXT in the first computer magazines I'd ever read. And every year added something about him: new movie from Pixar, film about Jobs and Gates, book about him and his work and hundreds of news every month about Apple and its CEO... He was a fairy magician from my childhood dreams, like forever young fantasy heroes.

But today he became real.

Live long Bill and Linus.

Visual Studio code analysis and CustomDictionary.xml

When you try the Visual Studio code analysis it may report some errors related to correct spelling of the words in the project. Of course, Visual Studio does not know about all the words and abbreviations so it should be tuned to not display the warnings about words that are correct.

The following series of steps can be used to add the custom dictionary with the words for code analyzer and share this dictionary across solution projects:

  • Create CustomDictionary.xml in the solution folder in the format described on the dictionary page.
  • Add it as link (right click on project, Add -> Existing Item, select file, click on down arrow on the Add button and select "Add as Link") in each solution project that should use this dictionary and set Build Action to CodeAnalysisDictionary in file properties.

Sample CustomDictionary.xml file:

<Dictionary>
  <Words>
    <Recognized>
      <Word>drupal</Word>
      <Word>joomla</Word>
    </Recognized>
  </Words>
  <Acronyms>
    <CasingExceptions>
      <Acronym>PECL</Acronym>
      <Acronym>JED</Acronym>
    </CasingExceptions>
  </Acronyms>
</Dictionary>

ZIP with UTF8 file names in Windows 7

11 years of the XXI century.

Windows 7 cannot add the ɑ.txt file to the compressed (zipped) folder.

Maybe in the next century?...

How to install FxCop 10

If you try to download FxCop 10, the only file you get is readme.txt with the following content:

FxCop Installation Instructions
1. Download the Microsoft Windows SDK for Windows 7 and .NET Framework 4 version 7.1.
2. Run %ProgramFiles%\Microsoft SDKs\Windows\v7.1\Bin\FXCop\FxCopSetup.exe to install FxCop.

Microsoft Windows SDK for Windows 7 and .NET Framework (ISO) is a 567.3MB file and it is should be downloaded to get the 2MB installation of the FxCop... Well, no problem, but what is the next?

Then FxCop installation can be extracted and installed without installing the rest. For this the Setup\WinSDKNetFxTools\cab1.cab file should be extracted from the ISO image with any appropriate tool. For example, you can mount image with Daemon Tools and then copy the file. Then the FxCop executable can be extracted from the cab file and then executed with the following commands:

c:\temp> expand cab1.cab -F:WinSDK_FxCopSetup.exe_all_enu_1B2F0812_3E8B_426F_95DE_4655AE4DA6C6 c:\temp
c:\temp> rename WinSDK_FxCopSetup.exe_all_enu_1B2F0812_3E8B_426F_95DE_4655AE4DA6C6 FxCopSetup.exe
c:\temp> FxCopSetup.exe
The installer will create the FxCop shortcut in Start -> All programs -> Microsoft FxCop -> Microsoft FxCop 10.0.

Month of updates

Debian Squeeze and Drupal 7, Joomla 1.6.1, Safari 5, iOS 4.3, Visual Studio 2010 SP1, Internet Explorer 9, Chrome 10, Firefox 4 RC... What's next? I'm tired of updates and upgrades and a half of month is still ahead.

Joomla 1.6.1 released

Joomla 1.6.1 is released last week and I've spend a few hours checking the changes.

Among a numerous changes in the administrator area, IU improvements and small security fixes there are a few that affect the templates:

  • com_contact/views/categories/tmpl/default_items.php - remove contact-count class.
  • com_contact/views/contact/tmpl/default_form.php - * for required fields is replaced with span.star.
  • com_content/views/article/tmpl/default.php - optional teaser for guests
  • com_content/views/categories/tmpl/default_items.php - remove article-count class.
  • com_content/views/category/tmpl/blog_item.php - option for displaying readmore title.
  • com_content/views/category/tmpl/default_articles.php - createdby class replaced with list-author.
  • com_content/views/featured/tmpl/default_item.php - option for displaying readmore title.
  • com_weblinks/views/category/tmpl/default_items.php - change displaying of the weblink icon.
  • com_weblinks/views/form/tmpl/edit.php - new field: alias.
  • mod_articles_category/tmpl/default.php - option for displaying readmore title.
  • mod_breadcrumbs/tmpl/default.php - breadcrumbs title wrapped with span.showHere.
  • mod_languages/tmpl/default.php - new classes for list of languages.
  • mod_login/tmpl/default.php - form secured with token, optional pretext and posttext.
  • mod_menu/tmpl/default.php - correct classes for deeper and parent.
  • mod_menu/tmpl/default_component.php - fix component link
  • plugins/content/vote/vote.php - span replaced with div.
  • $ is replaced with document.id and other functions all over the javascript code.
  • for some tables the border=0 was removed.
  • DS constant is depricated. The "/" character should be used in file paths.

The complete list of changes is in the CHANGELOG file.

JavaScript Garden

One page with straightforward way from basis to adnvanced JavaScript techniques: JavaScript Garden. Excellent link to read for JavaScript newcomes.

Jira

I'm investigating Atlasian Jira with purpose to use it for issue tracking and I plan to write here tips and notes on how to use it, solutions and workarounds.

Upgrading, updating...

I finally got some time and upgraded system to Debian Squeeze (from Lenny) and Drupal to version 7. System upgrade was simple, but the Drupal upgrade was not, mainly because of the modules. Drupal updater is fantastic - it converted my site without errors and almost all the settings were preserved. But some of the modules (including Spam and Wysiwyg syntaxhighlighter integration) are not available for Drupal 7 yet. Some of them crash the entire CMS immediatelly after activation - fortunately, backup saved me.

There are a few after-upgrade thoughts and recommendations:

  • check that all the modules you use or its alternatives exist for new version of the system
  • backup the system before upgrading and during upgrading (before activating modules and theme)
  • if possible, recreate environment locally and try to restore the system from the backup - test your backups.
  • try to upgrade the system locally and check that it works after that and carefully write down all the steps
  • prepare good looking page that informs users about the upgrating and when it is planning to be completed
  • act quickly but carefully when upgrading system of the server - users are wating
  • and think twise - maybe you do not need to upgrade the system that just works?

Have a good day.

IE8 bug: page freezes on adding nowrap and modifying value of input tag

This small snippet completly freezes tab in IE8:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title>Crashtests</title>
 <script type="text/javascript">
window.onload = function() {
	var input = document.getElementById('input');
	input.value = ' Test';
	input.style.whiteSpace = 'nowrap';
};
 </script>
</head>
<body>
<input id="input" type="submit" value="Test" />
</body>
</html>

I've tested it with IE8 (frozes tab) and IE8 64-bit (switches to compatibility mode and renders the page). Other browsers displays the page correctly. On some computers IE8 automatically switches to compatibility mode after "Stops working" popup.

Pages

LinkedIn profile
I’m Alex Netkachov and I welcome you on my site, which is my technical playground and web log.