System/web/Linux developer

  • 1 Post
  • 19 Comments
Joined 2 years ago
cake
Cake day: July 15th, 2023

help-circle
  • For me is the lack of virtual displays is Wayland.

    I’m using a 49" monitor (with i3) and split it into virtual monitors/displays. For some tasks two displays are good, for others three, and all doesn’t need to be the same size.

    The reason for not using i3 splits is that many programs have fullscreen functions that I often use.

    Watching a movie is one example, where I have a script that automatically calculate the optimal width without borders and gives me an extra virtual display beside with whatever’s left.






  • We have had the opposite problem in the past. A cert provider requiring us to exist in certain international directories of companies took weeks of waiting around on bureaucratic red tape.

    Then they didn’t even call us to verify our existance, place of business or anything (yeah, this was one of the big certificate providers a long time ago).

    Their website was horrible, and their support wasn’t better.

    LetsEncrypt though hasn’t failed me once since it was setup, and that is over hundreds of domains with thousands of renewals.


  • Last 25 years I have been using a couple of different tiling window managers. My main workstations usually have four monitors, accessed by AltGr+number.

    I heavily base my workflow on virtual desktops, accessed by Ctrl+number.

    Each virtual desktop have a specific type of programs on it:

    1. Development
    2. Terminals
    3. Browsers
    4. Communication / documentation
    5. Multimedia
    6. Graphics
    7. SQL
    8. Debugging
    9. Email
    10. Virtual machines / monitoring

    So with this I can access nearly every program with AltGr+number, Ctrl+number which is quite quick. As long as I remember the monitor I placed it on, I always know which virtual desktop.

    I use chained keyboard shortcuts for window manager shortcuts, here: https://files.ahall.se/images/i3-keybindings.svg (old one, this has grown a bit…)

    The chaining allows me to easier remember shortcuts with mnemonics, and they are fast enough, especially considering the amount of shortcuts I can scale it to.

    • Alt+T to start the chain, L for Layout, R for Resize.
    • Alt+T, R for Run, I for Inkscape.
    • Alt+T, A for Audio, N for Next.

    There are some exceptions for the most used focus- and window moving operations, as well as for managing a clipboard buffer system. There are too many times when one goes back and forth to copy something, paste it somewhere else and going back for the previous one. So I can copy something, press Ctrl+Shift+3 to put in buffer 3. After a few other copy/pastes, I bring it into clipboard again with Ctrl+Alt+3. This also allows me to for example reload a page I’m working on and login with user/pass easily accessible in buffer 1 and 2, or login to four different network devices again and again without going to a text file and copying one of four passwords each and every time.

    I wrote a special session manager via socket for i3 to be able to press Ctrl+number and go to a certain predefined desktop on the current monitor I’m at.



  • Magnus Åhall@lemmy.ahall.setoSelfhosted@lemmy.worldRouters
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 years ago

    You are completely right about SwitchOS, and it is even more exciting that some models sells in two versions, with the only difference being called CSS* for SwitchOS, or CRS* for RouterOS. And the SwitchOS-enabled model is much cheaper, so customers ordering for themselves almost always pick the wrong one (that is, SwitchOS, which we can’t manage properly in our automations and other software solutions).



  • As long as /bin/sh isn’t pointing to zsh, you haven’t messed anything up. A lot of public scripts wouldn’t expect to be run under zsh.

    If you write your own scripts, I’d say to use zsh, but start it with #/bin/zsh (or whatever resolves to zsh) to be explicit about the fact that it is designed for zsh and nothing else. Most scripts written aren’t going to be distributed to hundred of thousands of systems, but at most used in a handful of systems. No point in not enjoying some things zsh does better in scripts.

    A lot of systems have other dependencies as well, and as long as a system which has scripts in it is specifing zsh along with other dependencies, I wouldn’t see the problem. zsh doesn’t take up much space or introduce other problems just by being installed.

    As for the root shell, you can put Defaults env_keep += HOME in your sudo configuration. That will have sudo -s run your usual zsh with its usual configuration for interactive, daily use. Be aware of any config that shouldn’t be run as root.

    sudo -i will still run the shell root is assigned in /etc/passwd, and everything run as root would function ar expected.


  • Magnus Åhall@lemmy.ahall.setoSelfhosted@lemmy.worldRouters
    link
    fedilink
    English
    arrow-up
    2
    ·
    2 years ago

    Can only agree on Mikrotik routers. All are using RouterOS, which works the same on all their devices, from routers to switches and access points.

    They are relatively cheap for the capabilites you’re getting. They have their own scripting language, two APIs (their new one is REST-based).

    GUI (winbox is recommended, and plays nice with wine. Wouldn’t recommend web interface, just cumbersome) and CLI exists.

    They have a lot of builtin functionality, like DHCP server, DNS server with static configuration, and even file sharing. Some models are powerful enough to run Docker images on (yes, that’s builtin…).

    We’re running a couple of hundred and don’t have much problem with them.


  • st from suckless all the way. Used it a couple of years now in conjunction with i3. I’m spawning a lot of terminals, doing a few commands and closing them often, so starting quick is a must.

    Wrote a small patch that allows me to copy current directory from a terminal instance to primary selection with a keybinding. That allows me to quickly navigate to whatever directory that would be in another terminal or application.




  • The look of ungit would confuse my users I’m afraid.

    In the end I whipped up our own solution, with the added benefit of it being more efficient to the problem domain.

    Take a look at https://files.ahall.se/n8n-gitted.mp4 where I demonstrate the functionality. The user makes changes to the n8n workflows, goes to the git system page and syncs the workflows to the git repo residing on the same docker as the n8n instance. User can then choose workflows with changes that are to be commited, types a message and is done.

    Selecting an earlier commit does a git checkout on that commit and shows the files. Clicking on a file copies the contents of it. In this case, the workflow can be pasted into n8n and the user can pick and choose what was desired to bring back.

    The git system page is static HTML and javascript, and communicates through webhooks to a git workflow in n8n. https://files.ahall.se/workflow-git.png



  • It will be used to put changes to n8n workflows into git repos. The n8n software is in the browser, and I can extract the workspaces and write them to a directory on the server, but the n8n users will not have access to this directory, nor are they especially well versed on git. Simple staging and commiting would be ok though.

    Found a long list of git clients and among them found git webcommit and ungit, which seems to fit the bill. Still browsing the list, so haven’t had the time to try them out yet :)