I woke up on Saturday to read on Bram Moolenaar's Facebook page
an announcement of his death.
I knew Bram online for nearly 30 years and
I was one of his relatively small number of Facebook friends,
but we never met in real life.
I knew that he had retired from Google Zurich to Tenerife,
but I hadn't been aware that he had been ill.
Bram was known to the world for his signature creation,
the Vim text editor,
used by millions of developers on Linux, macOS, and Windows.
Vim stands for Vi IMproved,
but it outgrew the original vi long ago.
I was an active contributor to Vim in the 1990s:
I …continue.
If you know exactly which line you want to go
or which pattern you want to search for,
Vim provides a couple of command-line options that can help:
+NUM goes to line number NUM,
while +/PAT searches for the first occurrence of PAT.
It's also possible to execute an Ex command with +CMD,
such as "+set fenc=latin1".
You can supply up to ten + options.
vim +23 ~/.bashrc
vim '+/ASIN\|ISBN' template.rst
vim "+set fenc=latin1" some.csv
I did a clean install of OS X 10.10 on my home laptop a week ago.
I tried to launch PyCharm 4.0.4 on it today.
It immediately failed. Every time.
When I looked in the System Console, I saw:
1/25/15 7:46:00.557 PM pycharm[1160]: No matching VM found.
1/25/15 7:46:00.711 PM com.apple.xpc.launchd[1]: (com.jetbrains.pycharm.58252[1160]) Service exited with abnormal code: 1
The JetBrains website wasn't very helpful when I looked there.
In time, I found a StackOverflow answer that put me on the right track
(and reminded me that I had previously solved this problem about a year ago, at work).
PyCharm and some of the other JetBrains IDEs require JDK 1.6,
as …continue.
I updated the Win64 binaries of Vim at vim-win3264
from Vim 7.2.000 to 7.2.182.
I'm amazed that the original binaries were downloaded over 11,000 times
since last August.
Exuberant Ctags is an essential complement to Vim:
it generates an index of symbol names (tags) for a set of source files.
In Vim, just place the cursor on a function name
and type C-] to go to its definition.
Ctags works well for most of the languages that I deal with,
but falls down badly on modern JavaScript.
Its built-in parser simply doesn't handle declarations like these:
Sizzle.selectors.filters.animated = function(elem) { // ...
ajaxSetup: function( settings ) {
I came across Unbad's workaround earlier tonight.
His code didn't work for me, so I hacked on it until it did:
--langdef=js
--langmap=js:.js
--regex-js=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\{/\1/,object/
--regex-js=/([A-Za-z0-9._$()]+)[ \t]*[:=][ \t]*function[ \t]*\(/\1/,function/
--regex-js=/function[ \t]+([A-Za-z0-9._$]+)[ \t]*\(([^)])\)/\1/,function/
--regex-js=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\[/\1/,array/
--regex-js=/([^= ]+)[
…continue.
Vim has had syntax highlighting since version 5.0 in 1998.
It quickly became indispensable.
It's hard to go back to looking at monochromatic source code
after you've become accustomed to syntax highlighting.
The syntax highlighting is tied into Vim's support for colorschemes,
which define colors for the fundamental syntax groups
like Number, Comment, and String.
The syntax highlighting for a particular language
defines custom syntax groups for specific language features,
such as cppExceptions or htmlEndTag,
The custom syntax groups are linked to the underlying fundamental syntax groups.
Hence, if you change your colorscheme, your syntax highlighting is updated automatically.
The reStructuredText syntax highlighting in Vim 7.2
has some shortcomings, in my opinion.
For example, …continue.
So how do I go from the Project Gutenberg etext to LaTeX?
Here's the Gutenberg text for the pictured fragment:
(BLOOM'S WEATHER. A SUNBURST APPEARS IN THE NORTHWEST.)
THE BISHOP OF DOWN AND CONNOR: I here present your undoubted emperor-
president and king-chairman, the most serene and potent and very puissant
ruler of this realm. God save Leopold the First!
ALL: God save Leopold the First!
BLOOM: (IN DALMATIC AND PURPLE MANTLE, TO THE BISHOP OF DOWN AND CONNOR,
WITH DIGNITY) Thanks, somewhat eminent sir.
WILLIAM, ARCHBISHOP OF ARMAGH: (IN PURPLE STOCK AND SHOVEL HAT) Will you
to your power cause law and mercy to be executed in all your
…continue.
Perusing Eric S. Raymond's blog recently,
I noticed his claim that as a one-time maintainer of GIFLIB,
just about every cellphone and browser has some of his software
running in it.
That got me thinking about my own reach and
where software that I've contributed to can be found.
‘Oh that a man's reach should exceed his grasp, or what's a Heaven for?’
—Robert Browning
I spent seven years on the IIS (Internet Information Services)
development team at Microsoft.
By any measure, that's a successful product,
running one-third of all websites.
There are over 100 million registered websites.
Many of them are parked and many others see negligible volume,
but that's millions, perhaps tens …continue.
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 consolidation of more than 300 patches.
He also included a mention of the new distribution 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 intermediate releases up there too,
for both Win32 and Win64.
I'm rather surprised to …continue.
Miscellaneous links.
Via Slashdot, Walter Kirn on the failure of multitasking
Through a variety of experiments, many using functional magnetic
resonance imaging to measure brain activity,
[scientists have] torn the mask off multitasking and revealed its true face,
which is blank and pale and drawn.
I have a moderately bad case of multitasking myself.
Previous »