Category: Productivity

  • Using SSH to host a local git repository (simplest way)

    I shift laptops and devices a lot, and mounting storage is not ideal between devices. For my use case I decided I liked a git repo the best for document storage (markdown files)

    To be able to access that repo I wanted it to be accessible on my server, from my home via SSH. (Remotely I use VPN to my home network to sync)

    When searching for remote Git repositories I mostly see paid alternatives or fullblown Git servers being advertised. That is too much functionality for me, and not necessary.

    Solution

    1. Create repo on server
    2. Clone repo on client(s) via ssh

    These are all that’s necessary, and it’s so much simpler than using Git servers.

    1. Create repo (on server)

    # connect to your server
    ssh yourserver
    # change directory to your project
    cd /git
    # create a git repo
    git init --bare notesmygoats.git

    2. Clone repo on client(s)

    # cd into the directory which will contain your git repo
    cd /home/notetaker/documents
    #git clone the remote repo
    git clone yourserver:/git/notesmegoats.git
    Cloning into 'notemegoats'...
    remote: Enumerating objects: 3, done.
    remote: Counting objects: 100% (3/3), done.
    remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
    Receiving objects: 100% (3/3), done.
    
    

    Tips

    Use links to create structure

    The directory /git/ is a link to a folder in my storage. I like to use links to create logical structure, that’s completely personal though.
    If you can SSH into a server, you can use any directory for the git repo, just make sure you replace the clone command with the directory you’re actually using:

    git clone yourserver:/home/youruser/mygitrepo

    Bare repository

    Copied from https://www.atlassian.com/git/tutorials/setting-up-a-repository/git-init

    The –bare flag creates a repository that doesn’t have a working directory, making it impossible to edit files and commit changes in that repository. You would create a bare repository to git push and git pull from, but never directly commit to it. Central repositories should always be created as bare repositories because pushing branches to a non-bare repository has the potential to overwrite changes. Think of --bare as a way to mark a repository as a storage facility, as opposed to a development environment. This means that for virtually all Git workflows, the central repository is bare, and developers local repositories are non-bare.

  • My favorite Gnome Extensions

    Gnome has been my favourite Window Manager for ages, to me it feels like a cosy blanket meaning that I’ve arrived at home 🙂

    Part of that feeling is because of the awesome extensions that so many enthusiasts have made over the years. If you don’t know, the extensions add so much productivity and possibilities to an already great window manager.

    I’ve put my favourite extensions in the list below. This list is part so that I can remember myself but also to explain why some of these extensions are so cool to use (to me at least)

    Click the Extension name in the table below to go to the extensions web page on extensions.gnome.org

    ExtensionAwesome index
    (1-5)
    Why it is so awesome
    Activities Configurator3Allows you to customize the Activities logo and fine tune the menu bar

    Caffeine2Disable the screensaver and auto suspend, great for watching video’s or extreme prolonged pondering of diagrams

    Clipboard Indicator5Clipboard manager for Gnome. I ALWAYS use a clipboard manager, doesn’t matter if I’m working on a Windows, Linux of OSx machine, it is one of the first things I install. Such a productivity booster.
    Clipboard indicator is one of a few clipboard managers in the extensions repository, I like the simplicity.

    Dash to Dock5A dock for the Gnome Shell. One of the most popular extensions because it turns the dash into a dock! (What’s in a name) Makes switching and launching of applications easier.
    Desktop Icons NG (DING)2Adds icons to the desktop (for the ~/Desktop folder)
    Draw On You Screen3This extension allows me to draw on the screen when making screencasts.
    You can toggle the drawing on/off with a keyboard shortcut.
    gTile5Makes it easy to order your windows in a grid. Very nice productivity tool.
    I mostly use the 5×4 grid, with browsers having a size of 2×4 and terminals sized 1×4.
    You can switch on the fly between three (configurable) grid presets

    Internet Radio4Small widget which streams internet radio. I most often listen to Pinguin Radio and some of the local Dutch radio stations.
    Note: Does not listen to the keyboard media keys
    Favourite radio stations:
    Pinguin Radio: http://streams.pinguinradio.com/PinguinRadio192.mp3
    Radio 538: http://22353.live.streamtheworld.com/RADIO538AAC.aac
    Radio Veronica: https://20873.live.streamtheworld.com/VERONICA.mp3
    Radio 3FM: http://icecast.omroep.nl/3fm-bb-mp3
    Quick Close in Overview5Very simple yet effective: Middle mouse button in Overview (Win-key) closes the application
    Sound Input & Output Device Chooser4Shows all the input and output devices. I love this since I have several audio in- and outputs (USB amp / headphones / HDMI output via monitor) for different purposes.
    This extension gives me the current selected in- and output as well as letting me choose quickly.

    System Monitor5One of the simplest and cleanest looking system monitors (CPU, Mem, Storage, Network, Load)
    It takes minimal space in the bar, yet gives me exactly the information I want on a glance. The extension works with colors (Shades of yellow, orange, red) to show how busy a resource is.
    For me this is very convenient if I want to know IF my CPU is being used heavily. One click on the pane and you see the top 5 of each category in a handy overview.

    VirtualBox applet3Shows a list of running VirtualBox machines. I use this widget mostly to check if there is any running Vagrant stuff I forgot after a day of work
    Workspace Scroll3Allows me to scroll anywhere in the top panel to change the workspace.
    Very convenient when working with multiple workspaces.
    Wallpaper Changer4Changes the wallpaper based on several providers, I have it set to pick a picture from a folder every 30 minutes.
    It also serves a little like a pomodoro timer that way.
    Tray Icons4Always handy to keep the tray icons in sight.
    Table with my favorite extensions

    Summary

    I feel these extensions help a lot with increasing productivity and are a massive part of why I love working on Linux with the Gnome Window Manager.