Fremdschämen is a German word which means vicarious embarrassment on behalf of others.
For examples, refer to almost anything that Ricky Gervais has made.
Fremdschämen is a German word which means vicarious embarrassment on behalf of others.
For examples, refer to almost anything that Ricky Gervais has made.
Dempster Highway to the Arctic, Vancouver to Inuvik is an interesting photo journal by David Cambon.
I just read a fascinating story about investigating a bad batch of Kingston MicroSD cards. Some of the things I learned:
I’m certainly wouldn’t say that Kingston SD cards are bad, but I will point out that I don’t see any reason to move away from my quite affordable Sandisk, Lexar, and A-DATA cards.
I wanted to change the behavior of the Microsoft IME bar using AutoHotkeys, a utility which can be used to create macros, remap keys, or do any of a variety of other related tasks.
This led me to ime_func.ahk, which appears to be an AutoHotkeys script which uses DllCall to access Imm32.dll, the Input Method Manager library. I believe that this script was intended to manipulate the state of the IME language bar.
As near as I can tell, this AutoHotkeys script targets an older implementation of the IMM library. Some of the methods used are now only listed for Windows Mobile platforms.
I began experimenting with ImmGetContext and ImmGetConversionStatus. ImmGetContext always returned a hIMC value of NULL.
On the Developing IME-Aware Multiple-thread Applications MSDN page, the following is stated (bold highlight added):
The IMM includes thread identification checking that determines if a calling thread is the creator of a specified input method context handle (HIMC type) or window handle (HWND type). If the thread is not the creator of the handle, the called IMM function fails and a subsequent call to GetLastError returns ERROR_INVALID_ACCESS.
Additionally:
A thread should not access the input context created by another thread. A thread should not associate an input context with a window created by another thread, and vice versa.
So, it appears that cross-process IME manipulation is forbidden.
Publishing GPG/PGP keys to public keyservers has one glaring fault: once you commit something, you can never remove it. I made the mistake of adding my email address at an employer’s domain. Now it is permanently tied to my public key and email address.
Assuming that you own a domain, publishing keys in your DNS record gives you complete control over their content. Of course, there is nothing stopping someone from retrieving your public key from your DNS record and uploading it to a public keyserver!
Dan Mahoney wrote an excellent guide on publishing PGP keys in DNS TXT records.
This guide to GoDaddy DNS record configuration made it relatively easy to modify my TXT record.
I was having trouble using the GnuPG plugin for vim under Cygwin. The GnuPG plugin allows seamlessly integrated decryption, editing, and re-encryption of GPG-encrypted content within vim. However, on my Windows 7 box, it just showed gibberish. Attempting to edit my encrypted password file resulted in a rather vague error message:
$ vim Documents/passwords.gpg "Documents/passwords.gpg" [Incomplete last line][converted] 7 lines, 2547 characters Press ENTER or type command to continue
Pressing enter simply resulted in gibberish, likely the raw data of the encrypted file.
The solution was to turn on vim’s filetype plugin processing:
:filetype plugin on
To make this setting persistent, add it to your ~/.vimrc file.
Here is a Windows command shell script I wrote to convert MP3 files to AAC for my Softbank 821SC phone. The script uses FFmpeg, which I downloaded from here.
@echo off
REM ---------------------------------------------------------------------------
REM Set the following variable to the ffmpeg.exe path on your system.
REM ---------------------------------------------------------------------------
set FFMPEG_PATH="c:\tools\FFmpeg\ffmpeg.exe"
REM make sure the user provided an argument.
if NOT "%~1" == "" goto ARGS_OK
REM bad arguments, print error and exit.
echo.
echo Usage examples:
echo mp3toaac.bat file_to_convert.mp3
echo mp3toaac.bat *.mp3
echo mp3toaac.bat some_directory\*.mp3
exit /b 1
:ARGS_OK
REM use for/in so that we can accept individual files or wildcards.
for %%i in ("%~1") do %FFMPEG_PATH% -i "%%~i" "%%~ni.aac"
echo.
echo Done.
exit /b 0
Interesting elements of this batch file: