Some plants that are suitable for terrariums include:
Mosses (such as sphagnum moss or fern moss) Ferns (such as Boston fern or bird’s nest fern) Ivy (such as English ivy or dwarf ivy) Spider plants Succulents (such as hens-and-chicks or burro’s tail) Air plants (such as tillandsia or xerographica) African violets Peperomia Creeping fig It’s important to keep in mind that terrariums are closed and have a different environment than open ones, so you should choose plants that like a humid and moist environment.
The soil composition for a terrarium should be well-draining and able to hold moisture. You can create your own mix by combining the following materials:
Sphagnum moss or peat moss: These materials help to retain moisture and improve drainage.
Sand, perlite, or vermiculite: These materials improve drainage and aeration, preventing water from pooling in the soil.
Charcoal: This is optional, but it can help to keep the soil clean and free of odors.
A small amount of fertilizer: A slow-release fertilizer may be added to the soil to provide essential nutrients to the plants.
A suggested proportion would be 2 parts peat moss, 1 part perlite and 1 part sand, but you can adjust the proportion based on the plants you are growing.
It’s also important to note that you should not use regular potting soil as it may not drain well and could lead to mold or fungal growth in the terrarium.
I saw this tweet and wanted to set something similar up for Microsoft Teams… i.e. to mute and unmute the microphone during a call.
We can see that the Arduino is emulating a HID and responding to an input (from a button press) – and sends the appropriate ‘keyboard short-cut‘.
In this example the key presses are
Command+Shift+M
I do have some Arduino’s laying around (as you do!) but can’t easily navigate the C/C++ language, so after some research i found myself on the pimoroni.com website looking at Keybow and Keybow mini – at the time only the mini was in stock, so i decided to take the plunge.
…and this is where the ‘fun’ starts – if ‘teams’ is not in ‘focus’ i.e. in the foreground then this key sequence is presented to the application that is! So you first need to switch to teams by using MacOS spotlight and sending ‘teams.app’ – however this can considerably ‘slow’ down the responsiveness – i.e. its not instantaneous.
This becomes the sequence
function handle_minikey_01(pressed)
-- keybow.set_key("1", pressed)
-- green
if pressed then
keybow.set_pixel(1, 0, 255, 0)
mac_snippets.spotlight("teams.app")
keybow.set_modifier(keybow.LEFT_META, keybow.KEY_DOWN, keybow.LEFT_SHIFT)
keybow.tap_key("M", pressed)
keybow.set_modifier(keybow.LEFT_META, keybow.KEY_UP)
else
keybow.set_pixel(1, 0, 0, 0)
end
end
In the end given the limited keys on the mini model i opted for one button to launch/switch to the Chrome.app, one button to switch to teams.app and the final button to just send the Teams keyboard short-cut to mute/unmute.
So the Raspberry pi v4 launched recently, I thought the gigabit ethernet and the ram boost to 1gb (2gb & 4gb also available) would be a good upgrade for my self-hosted OpenVPN server , I had previously seen on the pivpn github issues that moving to a new server can be achieved with just one command!
I installed the Raspbian Buster Lite image and then installed OpenVPN via this command
curl -L https://install.pivpn.io | bash
Before starting its wise to stop the openvpn server first! (on both servers)
I knew i had a little more work to do, my setup does not benefit from having a fixed IP address, so i have a couple of python scripts running via cron to monitor for a change in the public IP address and then update a DNS record so that my VPN setup still works, so i had some additional tasks around copying over the cron tasks and the python scripts.
I ran the scp command and it immediately failed, ah looks like a permission problem, so i ran it again with ‘sudo’ first – this had some limited success but curl.pem and the easy-rsa/pki files through up some interesting errors, after some googling of those errors the pki files/certificate were set to permission 600, they had to be changed to 644 – also the only real way of copying these files over In the end was by enabling the root account on the raspberry pi (not covered here.)
Exporting and the importing the cron tasks was straightforward.
On the ‘old’ server run this command from the bash command line
sudo crontab -l > cron.bak
then on the new server its (after you have done a remote copy via scp – see above)
sudo crontab cron.bak
The python scripts were also copied over using scp – i experienced some ownership/permission issues but a quick chmod sorted that out.
I changed the hostname of the new pi to match the old one (sudo raspi-config), and configured the new pi with the old PI ip address.
sudo nano /etc/dhcpcd.conf
Thinking i was home and dry i attempted a connection via wifi and happy days!, it connected, but then i realised the internet was not accessible – this lead me to needing to do something on the new pi/setup that is not on the old one.
I believe this issue is caused by me running pihole on another Raspbery pi!
this was ultimately fixed by editing the file /etc/rc.local and adding these two lines after fi but before exit 0
Good luck if you decide to do the same, in hindsight creating new profiles may have been easier, but i have issued some family openvpn client/profiles that would be difficult to update.