Windows Shortcut HotKeys


The way Windows recognized hotkeys for shortcuts was always a mystery to me. Create a shortcut, put it on any folder, open its properties and define a hotkey for it. If you happen to have created it on your Desktop, then it should work. But if it was My Documents, then it probably wouldn’t. Now what if you delete your shortcut with the working hotkey? The hotkey will still work, and there will be no way to unregister it other than rebooting!

Well, googling around I found a little explanation about how Windows manages shortcuts (at least until XP, don’t know if it applies to Vista). This will be interesting for a new application I’m writing.

Windows Explorer looks in 4 places for hotkeys, which are read on startup. Hotkeys are stored in the shortcuts contained inside them or in any of its subdirectories. So a to have a valid hotkey the shortcut must be put inside any of the following folders:

%UserProfile%Start Menu
%AllUsersProfile%Start Menu

Now that explains why rebooting solved the zombie hotkey issue. Interestingly, the place from where I adapted this text has a very useful utility to manage Windows shortcuts that is worth taking a look.

Enabling bash autocompletion on Debian


Open up a terminal, then type:

nano /etc/bash.bashrc

Now, search for the following commented lines (lines with a starting #)

# enable bash completion in interactive shells
#if [ -f /etc/bash_completion ]; then
#. /etc/bash_completion

And uncomment them like this:

# enable bash completion in interactive shells
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion

Now whenever you want to install a package, for example, you need only type the first letters of the package in the apt-get install command line and then hit tab twice to list available packages starting with those letters.

e.g. Typing

apt-get ins<TAB>

will autocomplete to apt-get install. Now continue and type

apt-get install amar<TAB>

and a list with every package with “amar” in their name will be shown. In this example, it will probably list packages such as amaroK and amarok-engines.

I know this feature works with far more commands, however I can’t enumerate all of them because I just don’t know they all. If you think it may work in the context you are in, then it costs nothing to try and check it yourself. Sometimes you’ll be surprised!

Essential Software for Linux

Here is a list a few packages I install every time I setup a new Linux box. As this isn’t something I do often (probably only when I’m buying a new computer), I really have to write them down so I don’t forget about them next time. Here is a complete list with the package name and their description. The last update made for this post was made in July 24, 2008.

  • System
    synaptic – graphical user interface to apt-get.
    prelink – improves system performance prelinking libraries and executables. Commonly I use prelink -avmR for optimizing my systems. Please see manpage for more details.
    apt-build – builds your packages from source with any desired optimization level.
    unrar – the proprietary WinRAR command line equivalent for linux, from rarlabs. If you want a pure GPL system, stick to unrar-free. [considering ditching in favor of p7zip]
    p7zip – the free command line archiver tool for 7z packages. Compression ratios are usually considered to be better (source?) than those of .rar packages. Plus, it’s LGPL.
    less – improved more. Perhaps one of the first essential things you should apt-get if you didn’t have it already.
    module-assistant – essential tool for building kernel modules The Debian Way(tm).
    deborphan – Lists unused and orphaned packages that generally can be removed from your system.

  • Desktop Tools
    katapult – the most useful application launcher I’ve ever seen. Press Alt + Space and a nice, elegant-looking window will pop in the center of your screen. Type anything – a program name, a song name, a google query or even a mathematic formula – it will autocomplete your command and run, play, search or compute for you.
    yakuake – want a terminal? Just hit a keyboard shortcut (I have set mine to alt + ~) and a terminal you scroll down your screen just like the Quake console would. Impressive and useful.
    ark – graphical user interface for various command line compressing and archiving tools.

  • Internet Tools
    emesene – finally a MSN Messenger client worth looking. For years Linux lacked a decent Messenger clone with a consistent interface that didn’t want to implement every protocol under the sun.

  • Browsers
    opera – The Fastest Browser on Earth! Albeit Opera has been known to be one of the lightest internet browsers available, which in the past could fit inside a single floppy disk, it has built in support for chat, email, torrents, bookmark synchronizing, mouse gestures, voice recognition, thousand of skins and is known to be one of the most secure and standard compliant browsers. Runs everywhere, on computers, cellphones, fridges, televisions and Wiis. For me, it its my browser of choice. Isn’t open source, though.
    w3m – So you decided to upgrade X or your nvidia drivers and something went wrong. Now X fails to start and instead you are locked in the dark, text-only world of the linux terminal. Not a problem if you have w3m, a browser for text mode which you can use to call for help searching google. It even supports mouse clicking and the display of pictures through the framebuffer!

  • Development
    build-essential – essential build tools, such as gcc and libc development libraries. A must have if you plan to build Debian packages, including compiling and installing your kernel The Debian Way™.
    eagle – the proprietary circuit design tool from CADSoft. Although a powerful software for Windows, its linux counterpart has some issues, mainly with desktop integration. It looks really like a Windows app in your Linux box, not matching any your GTK or KDE themes. Sometimes it want to be run as root (!) to gain some additional privileges. Also it had some problems with X, but I think they were due to compiz.

  • Games
    mupen64plus – The best N64 emulator for GNU/Linux, fork of the original Mupen64, which hasn’t been updated for years. Anyone willing to pack it up for Debian?

  • Multimedia
    amaroK – THE best audio player ever coded. Well, at least until last time I’ve upgraded it. One of the biggest reasons for flipping the linux switch.
    kmplayer – video player fronted for various multimedia engines.
    xine libraries – acts as an engine for amarok and kmplayer, also providing mp3 support through plugin package. To replaced by xine 2 libs
    Packages: libxine1 libxine1-plugin

  • Office

  • Google Tools
    picasa – picture management tool by Google.
    google-desktop-linux – Google desktop for linux. It doesn’t have that fancy sidebar of the windows version, so it isn’t of much use for me.
    googleearth-package – tool for downloading Google Earth and creating a nice .deb package. If it only told you how to do so. After installing, type make-googleearth-package on a console to create the package. Ensure you have proper privileges and install using dpkg -i package_name.deb.
    ps: I really feel they should standardize package names for google things. To apt-get picasa and google desktop, you may have to add the Google Linux Software Repository to your apt sources.

  • Themes & Styles (KDE)
    gtk-qt-engine – enables both KDE and GTK based apps to share the same QT theme. A must have for KDE users if your choosen theme isn’t available to GTK. Well, a must have anyways.
    Some interesting additional styles for KDE 3.5
    Packages: kde-style-serenity kde-style-qtcurve kwin-style-knifty kwin-baghira

  • Themes & Styles (other)
    lxappearance – a tool for changing GTK styles. Useful for changing the style of applications that have to run with higher privileges, like the Synaptic Package Manager, if you use it together with sudo. i.e: sudo lxappearance 
    splashy – adds a nice bootsplash to your system without touching your kernel.
    Interesting themes for GTK
    Packages: gtk2-engines-qtcurve

  • Interoperabilty
    wine – The ubiquitous tool for porting emulating running your windows apps on linux. Has reached 1.0 state some months ago, has support for Windows XP themes and works really, really well. Under constant development, though.
    winetricks – A script with tricks and hacks to run applications which just wouldn’t work with a vanilla wine installation.
    mono – The .Net Framework for Linux. I still don’t know if there is a metapackage for downloading the entire library for a complete replacement of the .Net Framework. I usually install the following packages, as dependencies gets automatically resolved.
    Packages: mono-gmcs libmono2.0-cil libmono-winforms2.0-cil

Escrevendo ç no us-int

Caso ‘ + c não adiante, para fazer o ç (c-cedilha) no padrão internacional (us-int), basta pressionar

 Alt Gr + ,

e depois


Este tipo de problema ocorre no linux quando temos um teclado abnt2 e propositalmente tentamos forçar um padrão diferente, como o us-int. Sinceramente, acho mais fácil comprar um teclado novo.

The Art of Electronics


Apesar de sua última edição ter sido escrita em 1989, o livro The Art of Electronics ainda continua como um dos mais populares da área. Tendo como principal audiência estudantes de graduação, hobbistas, inventores e experimentadores, assume um tom leve e informal, tornando sua leitura mais acessível e agradável, sendo ao mesmo tempo bastante denso na quantidade de informação que possui.

O interessante deste livro é que ele não pressupõe do leitor um conhecimento prévio em cálculo, sendo porém muito mais aproveitoso se o leitor o possuir.

Este livro está disponível na biblioteca comunitária da Universidade Federal de São Carlos, no piso 3 (Direita – Bloco 2, Estante G621.381 / H816a.2).

Para quem deseja realmente aprender eletrônica utilizando este livro, não se pode deixar de lado o Student Manual for The Art of Electronics, guia com exercícios, experimentos e textos explicativos direcionado ao estudante, expandindo o livro original.

HOROWITZ, Paul; HILL, Winfield. The art of electronics. 2 ed. Cambridge: Cambridge University Press, 1989. 1125 p.

HOROWITZ, Paul; HAYES, Thomas. Student Manual for The Art of Electronics; Cambridge: Cambridge University Press, 1989. 614p.

Partes destes livros estão disponíveis eletronicamente e podem ser consultadas pela Amazon ou pelo Google Books. O livro original custa cerca de R$220 na Livraria Cultura, enquanto o Student Manual, cerca de R$110. Nem preciso dizer que, apesar de excelente, recomendo muito mais alugar do que comprar este livro devido ao seu preço proibitivo.

Configurando teclado abnt2 multimídia no linux

Para quem tem um teclado multimídia que simplesmente se nega a funcionar corretamente no linux, independente da configuração que você seleciona no KDE (meu caso), ou ainda se seu teclado parou de funcionar de repente após um upgrade, e não há nada que o faça funcionar de volta, aqui vai a dica…

Abra um terminal, e digite o seguinte comando:

setxkbmap -keycodes “xfree86(abnt2)+aliases(qwerty)” -model microsoftpro -layout br -variant abnt2

Pronto. Verifique agora se as teclas voltaram a funcionar!

Caso positivo, certifique-se de que as novas configurações sobrevivem a um reinício do X. Se tudo voltou a dar errado, inclua este comando na inicialização automática do seu ambiente. No caso do KDE, experimente criar um novo arquivo texto dentro do diretorio ~/.kde/Autostart/ com o nome que desejar, digitando, por exemplo:

nano ~/.kde/Autostart/

A seguir, copie e cole o seguinte texto para dentro do arquivo:

setxkbmap -keycodes “xfree86(abnt2)+aliases(qwerty)” -model microsoftpro -layout br -variant abnt2

Agora feche o arquivo com Ctrl+X e selecione S para salvar as modificações no arquivo. Em seguida, marque o arquivo recém-criado como executável, através do comando:

chmod +x ~/.kde/Autostart/

Pronto! Agora reinicie o KDE para ver se as configurações surtiram efeito.
PS: Talvez você precise estar logado como root para executar alguns desses comandos.