Quick notes (mainly for myself) to make SD card of Raspbian, configure wifi and make SSH run - all before booting the Raspberry Pi.
Using transistors can be very frustrating if you don't know what you're doing. These are some basic steps I go through when I want to find one that will do the job and then wire it up. Hopefully this should be just enough information for you to switch things on and off.
My employer, onefinestay, ran a tech team off-site event recently over a couple of days. I suggested an idea of using laser range finding equipment to map the layout of a home and a group of us got to work on a solution. A full description of what we did is on our tech blog so check it out.
SSH has support for SOCKS built in. If you have a remote SSH server you can use it as a proxy for web and other traffic.
I've been trying zram recently and have found it keeps my laptop very responsive when I would otherwise run out of physical RAM. It seems distributions like Ubuntu are considering turning this on by default but the the support already exists in most recent kernels and there are scripts (and a package in Ubuntu) to set it up easily.
If you've ever need to write a script that needs a password to perform some sort of login, keeping that password in Gnome Keyring is a good idea as it will be properly encrypted with very little effort. I chose to manually add a password to a keyring using the GUI and then access that password with Python. The function below is all that is needed once you know the name of the keyring and the password. If you store your password under the 'login' keyring, it will be automatically unlocked when you login to your desktop session.
import gnomekeyring as gk def get_password(keyring, name): for key_id in gk.list_item_ids_sync(keyring): item_info = gk.item_get_info_sync(keyring, key_id) if item_info.get_display_name() == name: return item_info.get_secret() raise KeyError('No such password \'%s\' in keyring \'%s\'' % (name, keyring))
At work our development machines have quite a large stack of software including search services, database servers and other tools that are required to run the site. I like to upgrade my desktop linux distribution more regularly than we would upgrade servers, however this can cause problems with the web stack required for development. For this reason I decided to run the web stack as a VirtualBox virtual machine but there are a few networking scenarios that needed the be accounted for.
- I needed to be able to access the internet from the guest VM to download package files etc.
- I needed to be able to communicate directly between the host and guest VM even if there was no network available due to travelling outside the office.
Here's a list of some plugins I use with Gnome Shell and Gnome 3:
- User themes - Required for loading user generated themes.
- Workspace navigator - Lets you change desktops in overview mode with only the up/down arrow keys.
- Advanced volume mixer - Easily switch output devices and adjust volume of individual apps.
- Removable drive menu - Easy ejecting of usb devices from the top bar.
- Brightness control - Lets you change brightness with a slider but can also persist the brighness across reboots.
I like using my touchpad/trackpad to scroll by emulating pushing the page like a touch screen phone or tablet rather than copying the action of a wheel mouse. This is often referred to as natural, reverse or inverted scrolling.