home.social

Search

573 results for “evgandr”

  1. @evgandr This really does seem like a key to unlocking Emacs. Once you understand that you can introspect any part of the API and mutate as you like at runtime, something sort of clicks.

    This is a big one for me with respect to the 'bloom' in the title. The idea is that you simply need to be aware of the 1 fact (that you can introspect the API effortlessly), then you have access to the full, beautiful universe of every function / variable / macro etc....

    I need to check out #uxn !

  2. @evgandr This really does seem like a key to unlocking Emacs. Once you understand that you can introspect any part of the API and mutate as you like at runtime, something sort of clicks.

    This is a big one for me with respect to the 'bloom' in the title. The idea is that you simply need to be aware of the 1 fact (that you can introspect the API effortlessly), then you have access to the full, beautiful universe of every function / variable / macro etc....

    I need to check out !

  3. @evgandr This really does seem like a key to unlocking Emacs. Once you understand that you can introspect any part of the API and mutate as you like at runtime, something sort of clicks.

    This is a big one for me with respect to the 'bloom' in the title. The idea is that you simply need to be aware of the 1 fact (that you can introspect the API effortlessly), then you have access to the full, beautiful universe of every function / variable / macro etc....

    I need to check out #uxn !

  4. @evgandr This really does seem like a key to unlocking Emacs. Once you understand that you can introspect any part of the API and mutate as you like at runtime, something sort of clicks.

    This is a big one for me with respect to the 'bloom' in the title. The idea is that you simply need to be aware of the 1 fact (that you can introspect the API effortlessly), then you have access to the full, beautiful universe of every function / variable / macro etc....

    I need to check out #uxn !

  5. @evgandr This really does seem like a key to unlocking Emacs. Once you understand that you can introspect any part of the API and mutate as you like at runtime, something sort of clicks.

    This is a big one for me with respect to the 'bloom' in the title. The idea is that you simply need to be aware of the 1 fact (that you can introspect the API effortlessly), then you have access to the full, beautiful universe of every function / variable / macro etc....

    I need to check out #uxn !

  6. @evgandr @justdude @jibsaram @gacha
    @Slash909uk

    @surfhosting

    wow, I understand why #Syncthing nuked my source directory.

    The android client (be it -fork) only support Folder Type "Send only" IF the target directory is stored on the SDCARD. Meaning, it will replicate its states and not accept any changes... And as it was empty, you understand what will happen.

    I first thought it was because I recreated the syncthing share on android but nope, even a published share from a server/PC with the "Send-Receive" Folder Type will be converted to "Send-only" on the Android client if you select a directory somewhere on a SDCARD.

    And as the versioning is not enabled by default, you will loose your data!

    Now, it won't do that automatically, the client complains about "out of sync" share and will ask you to "override the change" but that message was not clear in my opinion.

    oh-boi!

  7. @evgandr

    Hey bud, IIRC, I couldn't get it working. :/

    Looking at my past statuses with the #brutaldon hashtag, it looks like I got it working with #NetSurf and #w3m, but I don't see anything from (nor recall getting it working with) #Dillo. :/

  8. @evgandr

    Hey bud, IIRC, I couldn't get it working. :/

    Looking at my past statuses with the #brutaldon hashtag, it looks like I got it working with #NetSurf and #w3m, but I don't see anything from (nor recall getting it working with) #Dillo. :/

  9. @evgandr

    Hey bud, IIRC, I couldn't get it working. :/

    Looking at my past statuses with the #brutaldon hashtag, it looks like I got it working with #NetSurf and #w3m, but I don't see anything from (nor recall getting it working with) #Dillo. :/

  10. @evgandr

    Hey bud, IIRC, I couldn't get it working. :/

    Looking at my past statuses with the #brutaldon hashtag, it looks like I got it working with #NetSurf and #w3m, but I don't see anything from (nor recall getting it working with) #Dillo. :/

  11. @evgandr

    Hey bud, IIRC, I couldn't get it working. :/

    Looking at my past statuses with the #brutaldon hashtag, it looks like I got it working with #NetSurf and #w3m, but I don't see anything from (nor recall getting it working with) #Dillo. :/

  12. So, after I met problems with iwlwifi driver and my attempts to aggregate both em0 and wlan0 interfaces to the one lagg0 interface (mastodon.bsd.cafe/@evgandr/115) — looks like I found a much (MUCH!) simpler solution :drgn_happy:

    I wanted to automatically switch between wired and wireless networks when I plug-in (or disconnect) my Ethernet cable. First, because I was a newbie in the FreeBSD world, I tried to search for some kind of NetworkManager. Thankfully, I didn't find any NetworkManager clone ported to the FreeBSD. I found some tries to port NetworkManager from Linux to FreeBSD but all of them are failed (not surprised, lol).

    Then, I finally started to read documentation :drgn_think_science: . In the section about advanced networking I read about aggregation interfaces. And somehow I managed to aggregate both of em0 and wlan0 to the one lagg0 interface and it works well.

    But, looks like (see mstdn.social/@erikarn/11598626) it is not the way how the lagg interfaces should work. It is not intended to use wireless interfaces in the aggregate interfaces — so my tricky setup stopped working in the FreeBSD 15.0.

    BUT, since we have a beautiful devd daemon, which listens for various system events and able to execute actions when event is happened — I just wrote 23 lines of shell script to learn my laptop how to switch between interfaces when the Ethernet cable (dis)connects, lol. Solution is very simple:

    First, we already have /etc/devd/dhclient.conf, which starts dhclient when some interface appeared in the system. I modified it, so it calls the sPeCiAL script, each time when em0, or wlan0, or ue0 interface appeared in the system, or when em0 is disappeared:

    notify 0 {
    match "system" "IFNET";
    match "type" "LINK_UP";
    media-type "ethernet";
    action "/root/bin/unfuck_network.tcsh $subsystem ifup";
    };

    notify 0 {
    match "system" "IFNET";
    match "type" "LINK_DOWN";
    media-type "ethernet";
    action "/root/bin/unfuck_network.tcsh $subsystem ifdown";
    };

    notify 0 {
    match "system" "IFNET";
    match "type" "LINK_UP";
    media-type "802.11";
    action "/root/bin/unfuck_network.tcsh $subsystem";
    };

    notify 0 {
    match "system" "ETHERNET";
    match "type" "IFATTACH";
    match "subsystem" "ue0";
    action "/root/bin/unfuck_network.tcsh ue0";
    };

    Then, the main magic happens in the /root/bin/unfuck_network.tcsh:
    — When Ethernet cable is connected — it destroys the wlan0 interface and starts dhclient for em0 to talk with DHCP server.
    — When Ethernet cable is disconnected — it makes all to remove route using em0 from routing table (removes em0 interface completely, flush routing table, etc — somehow em0 still stays in the routing table if interface is not destroyed; btw system will create it anyway later, in some point) and recreates the wlan0 interface.
    — When wlan0 device is created — it starts dhclient for it.

    Script contents (for tcsh):
    #!/bin/tcsh

    switch ( $1 )
    case "em0":
    if ( $2 == "ifup" ) then
    service netif quietstop wlan0
    service dhclient quietstart em0
    else if ( $2 == "ifdown" ) then
    service dhclient quietstop em0
    ifconfig em0 delete
    route flush
    service routing restart
    service netif quietstart wlan0
    endif
    breaksw;
    case "wlan0":
    service dhclient quietstart wlan0
    breaksw;
    case "ue0":
    service dhclient quietstart ue0
    breaksw;
    endsw

    #FreeBSD #FreeBSD150RELEASE #wifi #tcsh #devd #iwm

  13. @jwildeboer @homelab I had the script, which did the work like described:

    - Takes all picture files in current directory (using find+file commands for that)
    - Renames files with YYYYMMDD_HHMMSS pattern using the EXIF creation date or filesystem's mtime if no EXIF.
    - If there are some files made in the same time — the "_DN" (N is a number) suffix will be added to the filenames to prevent loss of such files during rename.
    - Has an option for test run, without real rename.
    - Has an option to skip already renamed files.

    Note: it was written for Bash first, so it will work not only for ZSH (after adding a proper she-bang) — I just used it as ZSH function.

    codeberg.org/evgandr/dotfiles/

    #shell #script #exif #exiftool #zsh #bash

  14. Context:

    mastodon.bsd.cafe/@chesheer/11

    mas.to/@evgandr/11454849499753

    The lizard looks like the famous russian actor, who played the russian policeman "Dukalis" in the russian detective series: "Streets of broken lights", "Deadly force" and "Cops: the chronicles of the Robbery Homicide Division"

    #Dukalis #StreetsOfBrokenLights #DeadlyForce #RussianMeme

  15. Context:

    mastodon.bsd.cafe/@chesheer/11

    mas.to/@evgandr/11454849499753

    The lizard looks like the famous russian actor, who played the russian policeman "Dukalis" in the russian detective series: "Streets of broken lights", "Deadly force" and "Cops: the chronicles of the Robbery Homicide Division"

    #Dukalis #StreetsOfBrokenLights #DeadlyForce #RussianMeme

  16. Context:

    mastodon.bsd.cafe/@chesheer/11

    mas.to/@evgandr/11454849499753

    The lizard looks like the famous russian actor, who played the russian policeman "Dukalis" in the russian detective series: "Streets of broken lights", "Deadly force" and "Cops: the chronicles of the Robbery Homicide Division"

    #Dukalis #StreetsOfBrokenLights #DeadlyForce #RussianMeme

  17. Context:

    mastodon.bsd.cafe/@chesheer/11

    mas.to/@evgandr/11454849499753

    The lizard looks like the famous russian actor, who played the russian policeman "Dukalis" in the russian detective series: "Streets of broken lights", "Deadly force" and "Cops: the chronicles of the Robbery Homicide Division"

  18. Context:

    mastodon.bsd.cafe/@chesheer/11

    mas.to/@evgandr/11454849499753

    The lizard looks like the famous russian actor, who played the russian policeman "Dukalis" in the russian detective series: "Streets of broken lights", "Deadly force" and "Cops: the chronicles of the Robbery Homicide Division"

    #Dukalis #StreetsOfBrokenLights #DeadlyForce #RussianMeme

  19. TIL that media players, even the web browsers, can be controlled with hardware media keys via the MPRIS interface (wiki.archlinux.org/title/MPRIS)

    For example, Firefox supports hardware media keys by default. In Audacious the "MPRIS 2 Server" plugin should be enabled.

    Both of them can be controlled by a small utility called playerctl (github.com/altdesktop/playerct) from any DE/WM, even i3 (see for example playerctl.sh in codeberg.org/evgandr/dotfiles/)

    #freebsd #linux #i3 #media #TIL #MPRIS

  20. @evgandr I was wondering why you didn't just use the built-in support for #MHTML (en.wikipedia.org/wiki/MHTML), but apparently Firefox never implemented it. :(

  21. @evgandr @amin @OpenComputeDesign

    No, just me trying to shoehorn #YakovSmirnoff (actually Yakov Pokhis, thanks wikipedia jokes into everyday conversation.

    Also, more of a commentary on the end of the #PaxAmericana and the slow, painful death of American Democracy than any kind of actual Soviet-style state.

  22. Thank you for the reaction

    Regretfully I have to inform you that your detector is flawed. Any errors and mistakes you've found are all from my brains.

    Have a wonderful day

    @evgandr

    #curl #programming #mathematics #linear #algebra #libcurl #Linux #BSD #freeBSD #openBSD #netBSD #POSIX #bash #csh #ksh #sh #fish #radio #TV #smartTV #router

  23. @angrylinus @paul @halibut @evgandr

    Doing some digging, and it seems like truecolor is the correct setting for the COLORTERM variable, so I'm back to square one.

    Hey #VimWizards, any suggestions to fixing a gray background in #NeoVim? This is an odd problem I'm having on a couple very unrelated systems.

  24. Trying browser alternatives...

    #Dillo: the GOAT. Very basic, but crazy fast. Lacks modern less/vi-style keyboard navigation
    Update: Dillo's keybinds are pretty flexible, and the config files is pretty easy to understand. #TIL!!
    #NetSurf: a bit more compatible with the modern web, pretty comfy to use, but also lacking the keyboard navigation features I'm really used to and loving in plugins like Vimium
    #LuaKit: #WebKit-based. Capable and modern, yet fairly lightweight. The scrollbar is an abomination, though. What even is that? iOS?!? Also, turning off JS turns off a lot of features in the browser, last time I tried it
    #XLinks: lacks CSS, but is very usable for basic sites. Keybinds are nonstandard, but usable
    #chawan: probably the best terminal browser out there I've seen so far, but sometimes you really want a graphical browser with terminal-ish features, instead

    P.S., Thanks to @evgandr, I have learned that you can customize #DilloBrowser's keybinds! Fantastic stuff!!

  25. @angrylinus @paul @halibut @evgandr

    Doing some digging, and it seems like truecolor is the correct setting for the COLORTERM variable, so I'm back to square one.

    Hey #VimWizards, any suggestions to fixing a gray background in #NeoVim? This is an odd problem I'm having on a couple very unrelated systems.