leverage: To utilize or exploit in an unspecified, hand-wavy, and generally unplanned manner.
We leverage the core compentency of our acquisitions in this sector to maximise ROI throughout the project lifecycle.
pundit: A cheerleader in the sport of politics.
Pundits are claiming that the candidate's gaffe is an opportunity to appeal to blue-collar voters, in stark contrast to his opponent's overly intellectual demeanor.
punditry: The presentation of half-considered opinion as research- or poll-backed fact. Generally considered the province of pundits and journalists.
(See above)
blogosphere: Amateur hour in the world of publish-or-perish.
Lo, it is easier for a shark to stop swimming, than for a blogger to refrain from banal commentary.
Friday, January 30, 2009
Wednesday, January 28, 2009
Productive Programmer
Just tore through Neal Ford's Productive Programmer (978-0-596-51978-0), ended up with mixed feelings about it.
The first part of the book is pretty decent, with pointers to some good tools. This is also a weakness: the book is not going to be a timeless classic, and will likely be of half utility in two to five years.
The second part has good advice, but is mostly a rehash of agile methodologies. Agile has (or rather, has appropriated) a lot of good ideas, but it is ultimately a methodology, and methodologies lead to two things: zealotry and incomplete projects.
The advice given tends towards the obvious ("use the command line", "learn keyboard shortcuts", "make macros and scripts"), and UNIX is presented as something used by Other People.
In fact the book seems to assume that the reader is encumbered by the two most enfeebling technologies out there: Windows and Java. Windows is inescapable as a platform, but one always has the choice not to code like a Windows programmer (excuse me, "developer"). Java seems to be the language of choice in... well, in companies that I have no interest in working for, so nothing lost there. Buying into the Windows Way or the Java Way means you've created a lot of your own problems, and if this book helps you solve some of them, more power to you.
For the non-Windows-and/or-Java Way programmer, stick with the classics by Brooks, Hunt/Thomas, Kernighan, Plauger, Bentley, Fowler. Maybe some Beck, but you have to be careful with evangelicals.
The first part of the book is pretty decent, with pointers to some good tools. This is also a weakness: the book is not going to be a timeless classic, and will likely be of half utility in two to five years.
The second part has good advice, but is mostly a rehash of agile methodologies. Agile has (or rather, has appropriated) a lot of good ideas, but it is ultimately a methodology, and methodologies lead to two things: zealotry and incomplete projects.
The advice given tends towards the obvious ("use the command line", "learn keyboard shortcuts", "make macros and scripts"), and UNIX is presented as something used by Other People.
In fact the book seems to assume that the reader is encumbered by the two most enfeebling technologies out there: Windows and Java. Windows is inescapable as a platform, but one always has the choice not to code like a Windows programmer (excuse me, "developer"). Java seems to be the language of choice in... well, in companies that I have no interest in working for, so nothing lost there. Buying into the Windows Way or the Java Way means you've created a lot of your own problems, and if this book helps you solve some of them, more power to you.
For the non-Windows-and/or-Java Way programmer, stick with the classics by Brooks, Hunt/Thomas, Kernighan, Plauger, Bentley, Fowler. Maybe some Beck, but you have to be careful with evangelicals.
Labels:
book
Tuesday, January 27, 2009
Free as in...
Finally got sick of building custom Linux kernels just to change CONFIG_HZ from the inane default of 250 to something that makes the 10ms timer in my (proprietary) device driver work reliably (instead of firing 83 times a second). Switched to hi-resolution timers, and immediate encountered this:
FATAL: modpost: GPL-incompatible module my_module.ko uses GPL-only symbol 'hrtimer_cancel'
Turns out, after reading stuff like http://www.linuxdevices.com/articles/AT9161119242.html and http://www.linuxdevices.com/articles/AT5041108431.html, that the lunatics have taken over the asylum: specific kernel subsystems can be restricted so that only GPL modules can call them.
This is ludicrous: why should GPL code care who calls it? This has nothing to do with distribution; this is *usage*.
Not to mention entirely unlike the "free as in speech" ethos that the FSF claims to support. "Free speech" generally doesn't imply "say anything you like, just don't say it in kernel mode!".
Between this GPL nonsense and the changing of the CONFIG_HZ default value in a minor release, the Linux kernel is proving itself quite unreliable. I may have to move this entire product over to FreeBSD.
FATAL: modpost: GPL-incompatible module my_module.ko uses GPL-only symbol 'hrtimer_cancel'
Turns out, after reading stuff like http://www.linuxdevices.com/articles/AT9161119242.html and http://www.linuxdevices.com/articles/AT5041108431.html, that the lunatics have taken over the asylum: specific kernel subsystems can be restricted so that only GPL modules can call them.
This is ludicrous: why should GPL code care who calls it? This has nothing to do with distribution; this is *usage*.
Not to mention entirely unlike the "free as in speech" ethos that the FSF claims to support. "Free speech" generally doesn't imply "say anything you like, just don't say it in kernel mode!".
Between this GPL nonsense and the changing of the CONFIG_HZ default value in a minor release, the Linux kernel is proving itself quite unreliable. I may have to move this entire product over to FreeBSD.
Wednesday, June 18, 2008
Smart Search
By far the most useful plugin I've added to Firefox in the past half-year or so:
https://addons.mozilla.org/en-US/firefox/addon/188
SmartSearch adds a context menu item that allows you to send selected text (or whatever word you right-clicked on) to any one of the links in the Bookmarks 'Quick Searches' folder (Bookmarks->Organize Bookmarks->Bookmarks Menu->Quick Searches). I had to create this folder myself, because at some point I short-sightedly deleted it as being useless.
The SmartSearch page on quicksearches has a number of handy links such as a dictionary, thesaurus, IMDB, amazon, netcraft, whois, wayback archive, and google maps. I added a few more for google images and some source code pages:
Google Images Quicksearch
Google Code Quicksearch
Koders Quicksearch
Krugle Code Quicksearch (requires JS)
Codease SmartQuery
Codease FullText Query
Obviously many more can come in handy, and the code search engines can be trimmed down to just one or two (probably Koders and Codease).
The good news is that new Quicksearches are simple to create: navigate to the search page, right-click on the search form, select 'Add a keyword for this search', invent some useful keyword, and use the Quick Searches folder for the 'Create in' location.
https://addons.mozilla.org/en-US/firefox/addon/188
SmartSearch adds a context menu item that allows you to send selected text (or whatever word you right-clicked on) to any one of the links in the Bookmarks 'Quick Searches' folder (Bookmarks->Organize Bookmarks->Bookmarks Menu->Quick Searches). I had to create this folder myself, because at some point I short-sightedly deleted it as being useless.
The SmartSearch page on quicksearches has a number of handy links such as a dictionary, thesaurus, IMDB, amazon, netcraft, whois, wayback archive, and google maps. I added a few more for google images and some source code pages:
Google Images Quicksearch
Google Code Quicksearch
Koders Quicksearch
Krugle Code Quicksearch (requires JS)
Codease SmartQuery
Codease FullText Query
Obviously many more can come in handy, and the code search engines can be trimmed down to just one or two (probably Koders and Codease).
The good news is that new Quicksearches are simple to create: navigate to the search page, right-click on the search form, select 'Add a keyword for this search', invent some useful keyword, and use the Quick Searches folder for the 'Create in' location.
Labels:
firefox
Tuesday, May 27, 2008
Nightly Tester Tools
Got sick of the Intel driver crashing X11, and Ubuntu releasing their upgraded packages only on the recent version (Horny Heron or something). Bit the bullet, did the upgrade, and...
...Firefox 3beta got installed! What the hell?!? Poof go all (well, most) of my extensions, you know those handy things I use for, oh, locking down Firefox, anonymous browsing, other small conveniences that make using such a poorly-performing browser worthwhile.
Included in these was Zotero, in which I have quite a number of documents stored for offline viewing, and which *still* has no independent UI for accessing them (even the Open Office plugin requires a running instance of Firefox). Suckfest à la mode, just what I ordered!
A search of the Zotero forums, though, turns up a link to the Nightly Tester Tools plugin, which can be used to run an extension for a previous version of Firefox. Zotero is now up and running on Firefox 3beta.
Version 3 does seem to be a bit faster than 2, and hasn't been too crashy. The theme/extension writers should really get their act together and update/port their stuff before this puppy hits the street.
...Firefox 3beta got installed! What the hell?!? Poof go all (well, most) of my extensions, you know those handy things I use for, oh, locking down Firefox, anonymous browsing, other small conveniences that make using such a poorly-performing browser worthwhile.
Included in these was Zotero, in which I have quite a number of documents stored for offline viewing, and which *still* has no independent UI for accessing them (even the Open Office plugin requires a running instance of Firefox). Suckfest à la mode, just what I ordered!
A search of the Zotero forums, though, turns up a link to the Nightly Tester Tools plugin, which can be used to run an extension for a previous version of Firefox. Zotero is now up and running on Firefox 3beta.
Version 3 does seem to be a bit faster than 2, and hasn't been too crashy. The theme/extension writers should really get their act together and update/port their stuff before this puppy hits the street.
Wednesday, May 7, 2008
Pulseaudio, Firefox, Flash 9
Upgrading to the latest flash plugin (9) kills audio in Firefox. Awesome!
Based on the PulseAudio information on http://www.pulseaudio.org/wiki/PerfectSetup
and the library provided by revolutionlinux, it took only a couple of steps to get things working:
cd /usr/src
git-clone http://git.0pointer.de/repos/libflashsupport.git
cd libflashsupport
sudo ./bootstrap.sh
sudo ./configure --prefix=/usr
sudo make
sudo make install
Then restart firefox.
It probably helps to have /etc/firefox/firefoxrc contain the line
FIREFOX_DSP="padsp"
...and to have /etc/asound.conf contain the lines
pcm.!default {
type pulse
}
ctl.!default {
type pulse
}
pcm.pulse {
type pulse
}
ctl.pulse {
type pulse
}
...but libflashsupport is the magic bit.
Based on the PulseAudio information on http://www.pulseaudio.org/wiki/PerfectSetup
and the library provided by revolutionlinux, it took only a couple of steps to get things working:
cd /usr/src
git-clone http://git.0pointer.de/repos/libflashsupport.git
cd libflashsupport
sudo ./bootstrap.sh
sudo ./configure --prefix=/usr
sudo make
sudo make install
Then restart firefox.
It probably helps to have /etc/firefox/firefoxrc contain the line
FIREFOX_DSP="padsp"
...and to have /etc/asound.conf contain the lines
pcm.!default {
type pulse
}
ctl.!default {
type pulse
}
pcm.pulse {
type pulse
}
ctl.pulse {
type pulse
}
...but libflashsupport is the magic bit.
Monday, May 5, 2008
VimMate
Yet another Textmate-style extension to Vim:
http://vimmate.rubyforge.org/
This one integrates a project manager with Vim. Jury is still out on whether it will prove useful, but coupled with the Vim Debugger plugin it could prove quite useful for the dynamic languages.
http://vimmate.rubyforge.org/
This one integrates a project manager with Vim. Jury is still out on whether it will prove useful, but coupled with the Vim Debugger plugin it could prove quite useful for the dynamic languages.
Subscribe to:
Posts (Atom)