[{"content":"Remove the fish greeting The greeting text when starting the fish shell is friendly and nice. But after seeing it a couple of times you get tired of it. To remove the greeting set the fish_greeting variable to an empty list in ~/.config/fish/config.fish:\nset fish_greeting Alternatively create a universal variable:\nset -U fish_greeting Check out the fish documentation for more details.\nDefault desktop environment for Xorg in CentOS 8 According to /etc/X11/xinit/Xclients if there is a file named /etc/sysconfig/desktop it is sourced for a variable called PREFERRED. The Xclients file has support for the strings \u0026ldquo;GNOME\u0026rdquo;, \u0026ldquo;MATE\u0026rdquo;, \u0026ldquo;KDE\u0026rdquo; and \u0026ldquo;LXDE\u0026rdquo; by default. You can specify the path to the init script of other desktops in the PREFERRED variable. Let\u0026rsquo;s take XFCE as an example:\nPREFERRED=\u0026#34;$(type -p startxfce4)\u0026#34; Enable vmware tools in Solus Looks like there\u0026rsquo;s a bug in Solus 4.1 with Budgie desktop environment preventing the vmtools from working properly. Vmtools can be enabled again by restarting the vmtoolsd service. To do this at startup for the current user a Desktop entry can be created in ~/.config/autostart. For example a file named restart_vmtoolsd.desktop with the following contents:\n[Desktop Entry] Name=RestartVmtoolsd GenericName=Restart the vmtoolsd service Comment=This is a work-around Exec=sudo systemctl restart vmtoolsd.service Terminal=false Type=Application X-GNOME-Autostart-enabled=true I should note that I have added the following line to sudoers to make this work (as my user belongs to the sudo group):\n%sudo ALL=NOPASSWD: /bin/systemctl Disable the bell in a Manjaro/Arch VM Add the following to ~/.xprofile:\nxset -b Resetting the desktop background image in Manjaro i3 When running Manjaro i3 in a VM, changing the screen size often (always?) results in a distorted desktop background image. It will be drawn in a tiled rather than filled manner. Restoring the desktop background image can be done with nitrogen:\nnitrogen --restore Activate adblock in qutebrowser This one is easy to forget. Activate adblock in qutebrowser like this:\n:adblock-update Manually mount a shared folder in a VMWare Linux guest If the shared folder has not been mounted automatically this is how it\u0026rsquo;s done for Linux Kernel 4.0 and later:\nvmhgfs-fuse .host:/shared /mnt/hgfs/shared -o subtype=vmhgfs-fuse Refer to Mounting Shared Folders in a Linux Guest .\nCreate symbolic links in Windows 10 PowerShell can create symbolic links. It\u0026rsquo;s really annoying that it isn\u0026rsquo;t simpler than this in Windows:\nNew-Item -ItemType SymbolicLink -Path \u0026lt;link_name\u0026gt; -Target \u0026lt;target\u0026gt; or in a shorter form:\nni \u0026lt;link_name\u0026gt; -i SymbolicLink -ta \u0026lt;target\u0026gt; Note: I could not get mklink working in CMD.\nSetup Flutter on Linux (using Manjaro Linux and Fish) Install the flutter snap sudo snap install flutter --classic De-googlify as best we can flutter config --no-analytics dart --disable-analytics Add the Brave browser as the chrome executable In your fish config:\nset -x CHROME_EXECUTABLE /usr/bin/brave Or create a universal variable:\nset -U CHROME_EXECUTABLE /usr/bin/brave Install Android Studio IDE and the Android SDK command-line tools In Android Studio, enter settings and go to \u0026ldquo;Appearance \u0026amp; Behavior\u0026rdquo; \u0026gt; \u0026ldquo;System settings\u0026rdquo; \u0026gt; \u0026ldquo;Android SDK\u0026rdquo;. In the \u0026ldquo;SDK Tools\u0026rdquo; tab make sure \u0026ldquo;Android SDK Command-line Tools\u0026rdquo; is checked.\nInstall the Flutter and Dart plugins In Android Studio, go to Settings \u0026gt; Plugins. Select Marketplace and search for and install the Flutter plugin. Android Studio will ask you to also install the Dart plugin, do it.\nAccept all the SDK package licenses flutter doctor --android-licenses Check that everything is set up OK flutter doctor Install Kali Desktop In WSL2 Install Kali Linux for WSL2 and update the system:\nsudo apt update sudo apt full-upgrade -y Install the win kex package (takes a while):\nsudo apt install -y kali-win-kex Install the default desktop metapackage (takes a while):\nsudo apt install -y kali-linux-default Start kex in Window mode (VNC):\nkex --win Start kex in Enhanced Session Mode (RDP):\nkex --esm --ip Start kex in Seamless mode (Windows X server):\nkex --sl Add -s for sound support in all modes.\nEnable Advanced Mouse In VMWare Guest By default only a basic mouse is enabled in the guest OS (with three buttons). To enable advanced mice one have to edit the vmx file for the virtual machine. Shut down the VM and add the following to the vmx file:\nmouse.vusb.enable = \u0026#34;TRUE\u0026#34; mouse.vusb.useBasicMode = \u0026#34;FALSE\u0026#34; Add Custom App Launcher in Ubuntu Create a .desktop file in ~/.local/share/applications for the application. For example:\n[Desktop Entry] Type=Application Name=p4merge Icon=\u0026lt;path_to_p4merge\u0026gt;/lib/P4VResources/icons/p4merge.svg Terminal=false Exec=\u0026lt;path_to_p4merge\u0026gt;/bin/p4merge If the application comes with multiple icon resolutions, place them in the correstponding folder under ~/.local/share/icons/. For example:\nme@home ~/.l/s/icons\u0026gt; tree . └─ hicolor ├─ 128x128 │ └─ apps │ └─ myapp.png ├─ 16x16 │ └─ apps │ └─ myapp.png ├─ 256x256 │ └─ apps │ └─ myapp.png ├─ 32x32 │ └─ apps │ └─ myapp.png ├─ 512x512 │ └─ apps │ └─ myapp.png └─ 64x64 └─ apps └─ myapp.png The Icon entry in the .desktop file should look like this instead of a full path to the file:\nIcon=myapp Notice that, in some cases, when you launch a custom desktop application the correct icon will not be visible in the dock and it is not possible to add the application to the favorites. This can happen when the StartupWMClass does not match with the WMClass of the application.\nTo fix this an entry named StartupWMClass can be added to the .desktop file. To find out the actual StartupWMClass of the application you can use the xprop tool.\nStart the custom application Run xprop WM_CLASS Place the cursor over the custom application window and click. You should get a list of one or more WM_CLASS strings. In the p4merge example this was returned on Ubuntu 20.04.3:\nWM_CLASS(STRING) = \u0026#34;p4merge.bin\u0026#34;, \u0026#34;Helix Merge\u0026#34; The .desktop file for p4merge was updated to look like this:\n[Desktop Entry] Type=Application Name=p4merge Icon=\u0026lt;path_to_p4merge\u0026gt;/lib/P4VResources/icons/p4merge.svg Terminal=false Exec=\u0026lt;path_to_p4merge\u0026gt;/bin/p4merge StartupWMClass=Helix Merge Add Gerrit Commands to Sublime Merge Add the following to \u0026ldquo;~/.config/sublime-merge/Packages/User/Default.sublime-commands\u0026rdquo; to be able to push to Gerrit master branch via the command palette:\n[ { \u0026#34;caption\u0026#34;: \u0026#34;Push to Gerrit - for review\u0026#34;, \u0026#34;command\u0026#34;: \u0026#34;git\u0026#34;, \u0026#34;args\u0026#34;: {\u0026#34;argv\u0026#34;: [\u0026#34;push\u0026#34;, \u0026#34;origin\u0026#34;, \u0026#34;HEAD:refs/for/master\u0026#34;]} }, { \u0026#34;caption\u0026#34;: \u0026#34;Push to Gerrit - WIP\u0026#34;, \u0026#34;command\u0026#34;: \u0026#34;git\u0026#34;, \u0026#34;args\u0026#34;: {\u0026#34;argv\u0026#34;: [\u0026#34;push\u0026#34;, \u0026#34;origin\u0026#34;, \u0026#34;HEAD:refs/for/master%wip\u0026#34;]} }, { \u0026#34;caption\u0026#34;: \u0026#34;Push to Gerrit - WIP ready for review\u0026#34;, \u0026#34;command\u0026#34;: \u0026#34;git\u0026#34;, \u0026#34;args\u0026#34;: {\u0026#34;argv\u0026#34;: [\u0026#34;push\u0026#34;, \u0026#34;origin\u0026#34;, \u0026#34;HEAD:refs/for/master%ready\u0026#34;]} }, { \u0026#34;caption\u0026#34;: \u0026#34;Push to Gerrit - private\u0026#34;, \u0026#34;command\u0026#34;: \u0026#34;git\u0026#34;, \u0026#34;args\u0026#34;: {\u0026#34;argv\u0026#34;: [\u0026#34;push\u0026#34;, \u0026#34;origin\u0026#34;, \u0026#34;HEAD:refs/for/master%private\u0026#34;]} }, { \u0026#34;caption\u0026#34;: \u0026#34;Push to Gerrit - remove private\u0026#34;, \u0026#34;command\u0026#34;: \u0026#34;git\u0026#34;, \u0026#34;args\u0026#34;: {\u0026#34;argv\u0026#34;: [\u0026#34;push\u0026#34;, \u0026#34;origin\u0026#34;, \u0026#34;HEAD:refs/for/master%remove-private\u0026#34;]} } ] VMWare Guest Window Resolution Autofit Arch based distros might have problems with adapting the resolution to the window size on the host after boot. If this is resolved by restarting the vmtoolsd service the solution to the problem could be to add a couple of kernel modules to the initramfs. This will let them be loaded before any boot hooks are run. See Archwiki - autofit problems and Archwiki - mkinitcpio .\nEdit /etc/mkinitcpio.conf and add the following kernel modules:\nMODULES=(vsock vmw_vsock_vmci_transport vmw_balloon vmw_vmci vmwgfx) Then regenerate the initramfs:\nsudo mkinitcpio -P Fix the Powerlevel10k ZSH Bug In Manjaro Plasma edition there\u0026rsquo;s a bug in the powerlevel10k ZSH prompt theme. It doesn\u0026rsquo;t show the git status correctly. There is a missing character at the end of the status string. I copied the theme scripts to my local share folder.\nmkdir -p ~/.local/share/zsh cp /usr/share/zsh/manjaro-zsh-prompt ~/.local/share/zsh/ cp /usr/share/zsh/p10k-portable.zsh ~/.local/share/zsh/ cp /usr/share/zsh/p10k.zsh ~/.local/share/zsh/ In ~/.zshrc I make sure to reference my version of manjaro-zsh-prompt.\n# Use my modified manjaro zsh prompt if [[ -e ~/.local/share/zsh/manjaro-zsh-prompt ]]; then source ~/.local/share/zsh/manjaro-zsh-prompt fi In manjaro-zsh-prompt the references to p10k.zsh and p10k-portable.zsh must be to my versions as well:\nif [[ $USE_POWERLINE == false ]]; then # Use 8 colors and ASCII. source ~/.local/share/zsh/p10k-portable.zsh ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE=\u0026#39;fg=black,bold\u0026#39; else # Use 256 colors and UNICODE. source ~/.local/share/zsh/p10k.zsh ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE=\u0026#39;fg=244\u0026#39; fi And in both p10k zsh files I added the fix in the end of the my_git_formatter function. The fix is a missing space in the res variable. This should be added just before my_git_format is set to res in the end of the function:\nres+=\u0026#34; \u0026#34; \u0026lt;---add this typeset -g my_git_format=$res } I picked up this fix from the Manjaro forum .\nEnable Hyper-V Enhanced Session and Integration Services for Manjaro Create a Manjaro virtual machine in Hyper-V Manager. Install the hyperv package and enable the services.\nsudo pamac install hyperv systemctl enable --now hv_fcopy_daemon.service systemctl enable --now hv_kvp_daemon.service systemctl enable --now hv_vss_daemon.service Enable enhanced session mode by utilizing Xrdp and the hv_sock kernel module.\ngit clone https://github.com/microsoft/linux-vm-tools cd linux-vm-tools/arch ./makepkg.sh ./install-config.sh Edit ~/.xinitrc and remove \u0026ldquo;\u0026ndash;exit-with-session\u0026rdquo; from the line \u0026ldquo;local dbus_args=(\u0026ndash;sh-syntax \u0026ndash;exit-with-session)\u0026rdquo;. Shut down the virtual machine. On the Windows host enable hv_sock on the virtual machine by using powershell as admin:\nSet-VM -VMName \u0026lt;name\u0026gt; -EnhancedSessionTransportType HvSocket The next time a connection is made to the virtual machine it will enable enhanced session. Disable enhanced session by using powershell as admin:\nSet-VM -VMName \u0026lt;name\u0026gt; -EnhancedSessionTransportType VMBus Disable Samsung Nvme From Going Cold During Sleep I have a Tuxedo computer with a nvme ssd from Samsung. The computer will hang after waking up from sleep probably since the ssd has lost power during the nap. This can be prevented with a udev rule.\ncat /etc/udev/rules.d/99-pulse1502-samsung-nvme.rules: SUBSYSTEM==\u0026#34;pci\u0026#34;, ACTION==\u0026#34;add\u0026#34;, ATTR{vendor}==\u0026#34;0x144d\u0026#34;, ATTR{device}==\u0026#34;0xa80a\u0026#34;, RUN+=\u0026#34;/bin/sh -c \u0026#39;echo 0 | tee /sys/bus/pci/devices/$kernel/d3cold_allowed\u0026#39;\u0026#34; SUBSYSTEM==\u0026#34;pci\u0026#34;, ACTION==\u0026#34;add\u0026#34;, ATTR{vendor}==\u0026#34;0x144d\u0026#34;, ATTR{device}==\u0026#34;0xa808\u0026#34;, RUN+=\u0026#34;/bin/sh -c \u0026#39;echo 0 | tee /sys/bus/pci/devices/$kernel/d3cold_allowed\u0026#39;\u0026#34; Automount a NFS Share via SystemD This is great for laptops as you can set sane timeouts to let SystemD unmount the file system when idle.\ncat /etc/fstab \u0026lt;ip_address\u0026gt;:/photos /mnt/photos nfs _netdev,noauto,x-systemd.automount,x-systemd.mount-timeout=10,timeo=14,x-systemd.idle-timeout=1min 0 0 Set Up Windows 11 Without Internet You install Windows 11 and for some reason don\u0026rsquo;t have access to Internet. It might be due to missing drivers or that you don\u0026rsquo;t want to or can have access. During installation you will get a message saying that you\u0026rsquo;ve lost internet connection. Open cmd with shift + F10 and type OOBE\\BYPASSNRNO. Your computer will restart and you will have the option to click \u0026ldquo;I don\u0026rsquo;t have internet\u0026rdquo;. Your installation can continue. This was found here .\n","permalink":"https://www.stenbrottet.se/tech/","summary":"\u003ch3 id=\"remove-the-fish-greeting\"\u003eRemove the fish greeting\u003c/h3\u003e\n\u003cp\u003eThe greeting text when starting the fish shell is friendly and nice. But after seeing it a couple of times you get tired of it. To remove the greeting set the \u003ccode\u003efish_greeting\u003c/code\u003e variable to an empty list in \u003ccode\u003e~/.config/fish/config.fish\u003c/code\u003e:\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eset fish_greeting\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eAlternatively create a universal variable:\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;\"\u003e\u003ccode class=\"language-bash\" data-lang=\"bash\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003eset -U fish_greeting\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eCheck out the \u003ca href=\"https://fishshell.com/docs/current/index.html\"\n    \n     target=\"_blank\"\u003e\n    fish documentation\n\u003c/a\u003e\n for more details.\u003c/p\u003e\n\u003ch3 id=\"default-desktop-environment-for-xorg-in-centos-8\"\u003eDefault desktop environment for Xorg in CentOS 8\u003c/h3\u003e\n\u003cp\u003eAccording to \u003ccode\u003e/etc/X11/xinit/Xclients\u003c/code\u003e if there is a file named \u003ccode\u003e/etc/sysconfig/desktop\u003c/code\u003e it is sourced for a variable called PREFERRED. The Xclients file has support for the strings \u0026ldquo;GNOME\u0026rdquo;, \u0026ldquo;MATE\u0026rdquo;, \u0026ldquo;KDE\u0026rdquo; and \u0026ldquo;LXDE\u0026rdquo; by default. You can specify the path to the init script of other desktops in the PREFERRED variable. Let\u0026rsquo;s take XFCE as an example:\u003c/p\u003e","title":"Tech Stuff"},{"content":"Fast-forward a year and a half and I find myself using the Plasma Desktop edition of Manjaro on my main Linux computer at home. I don\u0026rsquo;t use a tiling window manager any longer. Not at home and not at work either.\nSpeaking of my main Linux computer at home, late 2022 I was on a short misson to find a good laptop for my new Linux computer. I ended up with a shortlist of a couple of brands. My decision was to go for a laptop from Tuxedo, TUXEDO Pulse 15 - Gen2 . Tuxedo has since discontinued the 15\u0026quot; Pulse series it seems. I don\u0026rsquo;t know the reasons, but I am a happy user of the laptop at least.\nMore recent stuff. Lately I\u0026rsquo;ve started to use Logseq for collecting my knowledge and thoughts. This has been especially important at work. It has already helped me a lot. With my knowledge and thoughts instantly searchable and linked in a graph database I don\u0026rsquo;t have to struggle as much to find the information I need. The daily journal in Logseq is great for me. In the daily journal I keep my meeting notes and ideas. This way the notes are automatically logged with a date as well. I\u0026rsquo;m really stoked about using Logseq going forward.\n","permalink":"https://www.stenbrottet.se/posts/linux-and-software/","summary":"\u003cp\u003eFast-forward a year and a half and I find myself using the Plasma Desktop edition of \u003ca href=\"https://manjaro.org\"\n    \n     target=\"_blank\"\u003e\n    Manjaro\n\u003c/a\u003e\n on my main Linux computer at home. I don\u0026rsquo;t use a tiling window manager any longer. Not at home and not at work either.\u003c/p\u003e\n\u003cp\u003eSpeaking of my main Linux computer at home, late 2022 I was on a short misson to find a good laptop for my new Linux computer. I ended up with a shortlist of a couple of brands. My decision was to go for a laptop from Tuxedo, \u003ca href=\"https://www.tuxedocomputers.com/en/TUXEDO-Pulse-15-Gen2.tuxedo\"\n    \n     target=\"_blank\"\u003e\n    TUXEDO Pulse 15 - Gen2\n\u003c/a\u003e\n. Tuxedo has since discontinued the 15\u0026quot; Pulse series it seems. I don\u0026rsquo;t know the reasons, but I am a happy user of the laptop at least.\u003c/p\u003e","title":"Linux and Software"},{"content":"For the most time I\u0026rsquo;m using tiling window managers on my Linux installations. It lets me use the screen real estate in a very efficient way and I also don\u0026rsquo;t have to use the mouse that much. Ever since the meltdowns of Gnome 3 and KDE 4 I\u0026rsquo;ve been wandering around trying different desktop environments. KDE 4 was even more horrific than Gnome 3. So for a very long time KDE wasn\u0026rsquo;t even an option for me. This weekend I tested out KDE 5. It was a lovely experience! It was far from the nightmare I remembered from KDE 4. In a way it felt like this is the way Linux desktop environments were supposed to go. It is very customizable, it ships with great applications and tools and it is a very pretty desktop environment. I tried out the Plasma Desktop edition of Manjaro. I normally enjoy the Manjaro themes and the Breath theme was no exception.\nFrom now, whenever I feel like using a desktop environment, I think my desktop environment of choice will be KDE. I didn\u0026rsquo;t see that one coming\u0026hellip;\n","permalink":"https://www.stenbrottet.se/posts/linux-environment/","summary":"\u003cp\u003eFor the most time I\u0026rsquo;m using tiling window managers on my Linux installations. It lets me use the screen real estate in a very efficient way and I also don\u0026rsquo;t have to use the mouse that much. Ever since the meltdowns of Gnome 3 and KDE 4 I\u0026rsquo;ve been wandering around trying different desktop environments. KDE 4 was even more horrific than Gnome 3. So for a very long time KDE wasn\u0026rsquo;t even an option for me. This weekend I tested out KDE 5. It was a lovely experience! It was far from the nightmare I remembered from KDE 4. In a way it felt like this is the way Linux desktop environments were supposed to go. It is very customizable, it ships with great applications and tools and it is a very pretty desktop environment. I tried out the Plasma Desktop edition of Manjaro. I normally enjoy the Manjaro themes and the Breath theme was no exception.\u003c/p\u003e","title":"Linux Environment"},{"content":"My never ending search for the perfect GIT GUI client has continued since GitAhead stopped being developed. What I now use both for work and personal projects on all platforms is Sublime Merge (licensed to me of course). Currently it can do all I need. It works well with Gerrit after adding some custom actions to the command palette. Sublime Merge even has a built-in merge conflict tool that works great.\n","permalink":"https://www.stenbrottet.se/posts/never-ending-gui-search/","summary":"\u003cp\u003eMy never ending search for the perfect GIT GUI client has continued since GitAhead stopped being developed. What I now use both for work and personal projects on all platforms is \u003ca href=\"https://www.sublimemerge.com/\"\n    \n     target=\"_blank\"\u003e\n    Sublime Merge\n\u003c/a\u003e\n (licensed to me of course). Currently it can do all I need. It works well with Gerrit after adding some custom actions to the command palette. Sublime Merge even has a built-in merge conflict tool that works great.\u003c/p\u003e","title":"Never Ending GUI Search"},{"content":"I recently learned that GitAhead is no longer under active development. That is very sad news for me as I really enjoy using it. The team behind GitAhead will release bug fixes so I will keep using it as long as it works for me though. But I suppose I have to revisit this topic in the future unfortunately.\n","permalink":"https://www.stenbrottet.se/posts/gitahead/","summary":"\u003cp\u003eI recently learned that GitAhead is no longer under active development. That is very sad news for me as I really enjoy using it. The team behind GitAhead will release bug fixes so I will keep using it as long as it works for me though. But I suppose I have to revisit this topic in the future unfortunately.\u003c/p\u003e","title":"GitAhead"},{"content":"Just a short update on my GIT GUI client quest\u0026hellip; I ended up ditching Fork completely in favour of GitAhead (and Ungit) both for work and for personal use. It works great for my purposes.\nOtherwise I\u0026rsquo;ve been looking into how to replace my Arlo cameras at home. I would really like to get rid of the monthly fee. I could use the free tier, but that would mean only one week of cloud storage and no AI object detection (persons, animals, packages). One week cloud storage would work just fine. But I would really miss the object detection.\nIssues with the Arlo camera system:\nCloud dependency (even for storing videos on the base station USB stick) Monthly fee Max number of cameras Yet another wi-fi network Constant battery recharging Lots of compression artefacts The solution for me is to use PoE IP cameras, local handling of video streams and local object detection. Everything connected to an UPS to protect against power failures. The only bullet I can\u0026rsquo;t completely get rid of is the first one, about cloud dependency. I of course need a service outside my home network to get push notifications on my mobile devices. With this solution I am free to use cloud storage if I want to. Since I already use SpiderOak for my personal backups I have the possibility to store videos there as well.\n","permalink":"https://www.stenbrottet.se/posts/home-surveillance/","summary":"\u003cp\u003eJust a short update on my GIT GUI client quest\u0026hellip; I ended up ditching Fork completely in favour of GitAhead (and Ungit) both for work and for personal use. It works great for my purposes.\u003c/p\u003e\n\u003cp\u003eOtherwise I\u0026rsquo;ve been looking into how to replace my Arlo cameras at home. I would really like to get rid of the monthly fee. I could use the free tier, but that would mean only one week of cloud storage and no AI object detection (persons, animals, packages). One week cloud storage would work just fine. But I would really miss the object detection.\u003c/p\u003e","title":"Home Surveillance"},{"content":"My search for GIT GUI clients have continued for a couple of days. My last blog post sparked my curiosity once again and I have again checked what\u0026rsquo;s available on the market.\nFor my private stuff I have more or less decided to go with SmartGit. I like the client and I can use it on both Windows and Linux. I am also interested in Ungit. It\u0026rsquo;s quirky but fun.\nThe thing is that I need a client for my work stuff as well. I can\u0026rsquo;t use SmartGit for that unfortunately. So I have tried GitEye , Aurees and GitAhead .\nI couldn\u0026rsquo;t stand GitEye. It literally looked like an old Java application. I think it\u0026rsquo;s feature rich, though. Aurees has a strange GUI and a weird license. GitAhead really surprised me. It has a MIT license and a clean and nice GUI. It has enough features for me at the moment. It works well on both Windows and Linux. GitAhead does not have a built-in merge conflict tool like SmartGit does. So I have to resort to using external tools like meld or p4merge. I would of course prefer a built-in tool, but it\u0026rsquo;s not too bad.\nThe conclusion this time is that GitAhead will be my go-to GIT GUI client at work.\n","permalink":"https://www.stenbrottet.se/posts/more-git-gui-clients/","summary":"\u003cp\u003eMy search for GIT GUI clients have continued for a couple of days. My last blog post sparked my curiosity once again and I have again checked what\u0026rsquo;s available on the market.\u003c/p\u003e\n\u003cp\u003eFor my private stuff I have more or less decided to go with SmartGit. I like the client and I can use it on both Windows and Linux. I am also interested in Ungit. It\u0026rsquo;s quirky but fun.\u003c/p\u003e","title":"More Git GUI Clients"},{"content":"I like GIT GUI clients. It\u0026rsquo;s not that I don\u0026rsquo;t understand the GIT CLI commands. I do and it\u0026rsquo;s important to know what\u0026rsquo;s happening behind the scenes. It\u0026rsquo;s just that I enjoy using a good GIT GUI much more than using the CLI. I don\u0026rsquo;t avoid using the CLI, sometimes it\u0026rsquo;s more convenient. But most of the time I tend to do most tasks in a GIT GUI. It usually also gives me a good overview of the repos I\u0026rsquo;m working with.\nSo which are my favorite GUI clients? For a long time it was GitKraken . I even bought a t-shirt! But then they went bad. They would no longer allow usage of their product free of charge for non-public repositories. That is in itself fine but they have a subscription based licensing model. I do not tolerate that at all (looking at you Adobe). So GitKraken had to go.\nFor a while I tried using Atlassian Sourcetree . If I remember correctly I had extreme difficulties connecting it to GitLab . As a workoaround I used Bitbucket . But GitLab was, and still is, my preferred GIT hosting service. So I had my eyes open for alternatives.\nAlong came Fork . I noticed it sometime in 2019. It\u0026rsquo;s a client for Windows and Mac. It is feature rich, pretty and free. Well, it was free. Now they want you to pay for the client. It\u0026rsquo;s a one-time payment, no subscription, so I\u0026rsquo;m all for it. Since it\u0026rsquo;s only $49 it\u0026rsquo;s well worth the money. The problem is, they don\u0026rsquo;t support Linux and they don\u0026rsquo;t plan to in the foreseeable future .\nSo what do we have on Linux? To be fair, not too much when it comes to GIT GUI clients. But there is a shining star (except GitKraken), SmartGit . Their license permits usage free of charge by Open Source developers, teachers and their students, or for hobby, non-paid usage. Otherwise they too have a subscription model.\nSo for now I use Fork on Windows and SmartGit on Linux. I would like to use Fork also on Linux but that might never be. So I will probably end up ditching Fork in favour of SmartGit on Windows/Mac as well. SmartGit supports both Linux, Mac and Windows.\n","permalink":"https://www.stenbrottet.se/posts/git-gui-clients/","summary":"\u003cp\u003eI like GIT GUI clients. It\u0026rsquo;s not that I don\u0026rsquo;t understand the GIT CLI commands. I do and it\u0026rsquo;s important to know what\u0026rsquo;s happening behind the scenes. It\u0026rsquo;s just that I enjoy using a good GIT GUI much more than using the CLI. I don\u0026rsquo;t avoid using the CLI, sometimes it\u0026rsquo;s more convenient. But most of the time I tend to do most tasks in a GIT GUI. It usually also gives me a good overview of the repos I\u0026rsquo;m working with.\u003c/p\u003e","title":"Git GUI Clients"},{"content":"Instead of having to bother with guest additions and similar packages to be able to use full screen, copy-paste and shared folders, I\u0026rsquo;m trying out remote desktop solutions. I am fairly happy with X2Go . It only needs an SSH connection (with X forwarding enabled because of reasons). Just install the x2goserver package and some distros have a service that must be started after that. Then it mostly just works.\n","permalink":"https://www.stenbrottet.se/posts/x2go/","summary":"\u003cp\u003eInstead of having to bother with guest additions and similar packages to be able to use full screen, copy-paste and shared folders, I\u0026rsquo;m trying out remote desktop solutions. I am fairly happy with \u003ca href=\"https://wiki.x2go.org/doku.php\"\n    \n     target=\"_blank\"\u003e\n    X2Go\n\u003c/a\u003e\n. It only needs an SSH connection (with X forwarding enabled because of reasons). Just install the x2goserver package and some distros have a service that must be started after that. Then it mostly just works.\u003c/p\u003e","title":"X2Go"},{"content":"My current go-to environment for development is the Manjaro Linux distro with the i3 tiling window manager and the fish shell. Other than that I tend to use the Windows Subsystem for Linux quite a lot. Especially since I am stuck with Windows at work and partly at home (I\u0026rsquo;m a gamer). It is quite easy to start a WSL session and get things done. I don\u0026rsquo;t have to bother with a virtual machine in that case. WSL2 is just around the corner. That\u0026rsquo;s good news since it will finally be using a real Linux kernel.\nSpeaking of virtual machines, when I do use a virtual machine I prefer VMWare Workstation over VirtualBox. VMWare Workstation has proved to be more stable than VirtualBox for me.\n","permalink":"https://www.stenbrottet.se/posts/manjaro-thoughts/","summary":"\u003cp\u003eMy current go-to environment for development is the \u003ca href=\"https://manjaro.org/\"\n    \n     target=\"_blank\"\u003e\n    Manjaro\n\u003c/a\u003e\n Linux distro with the \u003ca href=\"https://i3wm.org/\"\n    \n     target=\"_blank\"\u003e\n    i3\n\u003c/a\u003e\n tiling window manager and the \u003ca href=\"https://fishshell.com/\"\n    \n     target=\"_blank\"\u003e\n    fish\n\u003c/a\u003e\n shell. Other than that I tend to use the Windows Subsystem for Linux quite a lot. Especially since I am stuck with Windows at work and partly at home (I\u0026rsquo;m a gamer). It is quite easy to start a WSL session and get things done. I don\u0026rsquo;t have to bother with a virtual machine in that case. WSL2 is just around the corner. That\u0026rsquo;s good news since it will finally be using a real Linux kernel.\u003c/p\u003e","title":"Manjaro Thoughts"}]