George V. Reilly

Vim 7.2 is released

Fifteen months after the release of Vim 7.1, Bram announced the release of Vim 7.2 last weekend. No major new features, just the con­sol­i­da­tion of more than 300 patches. He also included a mention of the new dis­tri­b­u­tion point for Win64 binaries, the vim-win3264 project that I set up at Google Code.

Bram has no way of testing the Win64 version, so I'm providing the official build at vim-win3264. I will no longer provide Win64 binaries for Vim from my own site. The Vim 7.2 sources compile the Win64 binaries cleanly (unlike the 7.1 release). I'll provide occasional in­ter­me­di­ate releases up there too, for both Win32 and Win64.

I'm rather surprised to continue.

Sharing Dotfiles between Windows and \*nix

Tomas Restrepo wrote a post about sharing dotfiles between Windows and Ubuntu, specif­i­cal­ly about sharing .vimrc (Linux) and _vimrc (Windows) and the .vim (Linux) and vimfiles (Windows) di­rec­to­ries.

I have a different solution. On Windows, my C:\AutoExec.bat includes:

set HOME=C:\gvr
set VIM=C:\Vim
set VIMDIR=%VIM%\vim71
set EDITOR=%VIMDIR%\gvim.exe
set PATH=%PATH%;C:\Win32app;C:\GnuWin32\bin;C:\UnxUtils;C:\SysInternals;C:\Python25\Scripts

%HOME% (C:\gvr) contains _vimrc, vimfiles, and other stuff ac­cu­mu­lat­ed over many years. This directory is stored in a personal Subversion repository at DevjaVu. All my Vim files are stored with Unix LF endings, not Windows CR-LFs, so that they'll work on my Mac OS X and Linux boxen. I play some games with if has("win32") and if has('gui_­macvim') to ensure that my _vimrc works cross-platform.

On my *nix boxes, the gvr continue.

Debugging JavaScript in IE from Visual Web Developer 2008 Express Edition

It's not at all obvious how to use Visual Web Developer 2008 Express Edition to debug JavaScript in Internet Explorer. So I wrote it up at the Cozi Tech Blog.

Odds and Ends #8

Use O'Reilly Maker to generate book covers. I've always wanted to write a book for cousin Tim, and now I have!

Via Pavel: Adolf Hitler - Vista Problems (YouTube).

The Pho­tog­ra­pher's Right: a handy one-page guide.

The general rule in the United States is that anyone may take pho­tographs of whatever they want when they are in a public place or places where they have permission to take pho­tographs. Absent a specific legal pro­hi­bi­tion such as a statute or ordinance, you are legally entitled to take pho­tographs. Examples of places that are tra­di­tion­al­ly considered public are streets, sidewalks, and public parks.

The tiny <code> font in Firefox has been bugging me for a long time. I finally continue.

Odds and Ends #6

Mis­cel­la­neous links.

Hotkey for Clipboard.NET

I use Clipboard.NET as a clipboard manager on Windows. It stores the last few entries sent to the clipboard.

There's one problem: the default hotkey is Ctrl+Comma, which also happens to be an important key for Outlook (previous message). I figured out a while ago how to change the hotkey, but my report doesn't show up when you search for it.

Net: using a key name from the ConsoleKey table, change the value of Short­cutKey in %Pro­gram­Files%\­Tom Med­hurst\­Clip­board.NET\­clip­mon32.exe.config:

<applicationSettings>
    <clipmon32.Properties.Settings>
          <setting name="ShortcutKey" serializeAs="String">
                
continue.

Vim on Win64 updated

I have updated the Win64 port of Vim. It now includes a working installer, a working "Edit with Vim" shell extension, and the first 195 patches for Vim 7.0. Get it while it's hot!

Shell extension throwing R6034 errors

I have been cleaning up some issues with the Win64 port of Vim, including the Edit with Vim shell extension not working very well. When I built the shell extension with VS 2005 on x86, I would get the following whenever I right-clicked in Explorer:

Microsoft Visual C++ Runtime Library

Runtime Error!

Program: C:\WINDOWS\Explorer.EXE

R6034

An application has made an attempt to load the C runtime library incorrectly.
Please contact the application's support team for more information.

There was no mention of which ap­pli­ca­tion was at fault, though it was obvious in this case. I have also seen some mention of verclsid in the error dialog, though not when I took this snapshot.

The continue.

New SysInternals Site and Tools

Sys­In­ter­nals has always been a source of great tools for trou­bleshoot­ing your system. FileMon, RegMon, Process Explorer, Handle, ListDlls, PsTools, DebugView: all of these have earned a permanent place on my Windows in­stal­la­tions. Mark Russi­novich, the co-founder, is a world-class hacker. He co-wrote Microsoft Windows Internals without access to the Windows source. It was he who discovered the Sony Rootkit and publicized it on his widely read blog.

Many people were somewhat disturbed to learn that Microsoft bought Sys­In­ter­nals a few months ago, that it would compromise the tools.

It seems not to be a problem. The tools have just been re-released on the TechNet Sys­In­ter­nals site. There's one new tool, continue.

Never Sleep(0) in an Infinite Loop

I ran into a problem installing some COM+ components today. The installer was using Regsvcs.exe to register each COM+ component. I noticed after a while that the installer wasn't making any progress and that my dual-proc system was stuck at 50% CPU uti­liza­tion. I attached a debugger to the offending process, regsvcs, and found that it was stuck in the following infinite loop (dis­as­sem­bly courtesy of Reflector):

internal void System.EnterpriseServices.CatalogSync.Wait()
{
  if (this._set)
  {
    RegistryKey key1
      = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Classes\CLSID");
    while (true)
    {
      int num1 = (int) key1.GetValue("CLBVersion", 0);
 
continue.
Previous » « Next