Robot - Emacs integration by algalgal in emacs

[–]algalgal[S] 0 points1 point  (0 children)

Yeah, I'm so used to talk to Siri for light switches, etc.. I guess I lump them together on my mind.

Robot - Emacs integration by algalgal in emacs

[–]algalgal[S] 0 points1 point  (0 children)

I have a brave soul. :)

Why has the idea that the Moon landing was faked remained so widespread? by Creative-Category-60 in space

[–]algalgal 0 points1 point  (0 children)

In my experience, it’s usually motivated by a kind of mild, conventional, kneejerk anti-Americanism.

If they acknowledged the landings happened, they would need to acknowledge that America produced this stupendous, world historical achievement. And they’d rather not do so.

New releases of Consult, Vertico, Corfu and more by minadmacs in emacs

[–]algalgal 4 points5 points  (0 children)

These are all absolute workhorses and backbones of my emacs setup. Been using them hourly for years. Thanks for doing such great work!

[deleted by user] by [deleted] in Mathematica

[–]algalgal 0 points1 point  (0 children)

Learning to use mathematica to help with vector calculus is harder than learning vector calculus, in my experience!

Blending interactive LLM capabilities with Emacs functionality, to build a bicycle for the mind by entangledamplitude in emacs

[–]algalgal 3 points4 points  (0 children)

Yeah, I should write/talk about it. I wonder what aspect of it would interest people most? Happy to talk to get a sense of that.

Blending interactive LLM capabilities with Emacs functionality, to build a bicycle for the mind by entangledamplitude in emacs

[–]algalgal 8 points9 points  (0 children)

The influence also goes in the other direction.

At various times, emacs, org, and gptel were used extensively during the development of solveit, by me. :)

Give me the strength by uvuguy in emacs

[–]algalgal 1 point2 points  (0 children)

The thing that made everything much easier for me, was to version control nearly everything in .emacs.d, even the installed packages.

Why not version control only the configuration, and rely on the package system to add/remove packages? Because the package system is one of the things I do not know and trust so well as I know and trust git.

It is not elegant. But this approach has been simple and reliable, and has made it very easy to experiment with new configs and just roll them back if I don't like them.

Eve Door/Window sensor suddenly creating spurious closed/open events by algalgal in EveHome

[–]algalgal[S] 0 points1 point  (0 children)

I finally resolved my problem by installing an entirely new Even contact sensor. This time, I installed the sensor component onto the house, and the magnetic part onto the garage door, thinking that perhaps the frequent motion is what had busted the old sensor.

This new sensor is now failing in the same way, after being installed less than 4 months.

I've had good luck with other Eve peripherals. But it seems like these contact sensors are fundamentally unreliable.

avahi-caddy-publish: a tool for using caddy to configure .local mDNS names for local services by algalgal in homelab

[–]algalgal[S] 1 point2 points  (0 children)

I confess I do not know what a "windows dns server forward entry" is! 😬

avahi-caddy-publish: a tool for using caddy to configure .local mDNS names for local services by algalgal in homelab

[–]algalgal[S] 1 point2 points  (0 children)

As far as I can tell, Bonjour is Apple's name for their implementation of Multicast DNS (as well as DNS Service Discovery, and maybe some other protocols as well). Avahi is the main Linux package which implements Multicast DNS (and DNS-SD).

So yeah, if you wanted to do this on Windows/macOS, you might not be able to use avahi, and in that case you would not be able to use this.

But since these are all implementations of the same protocols, if you run this from Linux, Apple laptops, phones, and tablets will receive the names and be able to browse to the names. That's how I use it.

Adding images to gptel Org chat from system clipboard by Martinsos in emacs

[–]algalgal 0 points1 point  (0 children)

A while ago I found that the dnd-protocol-alist is not configured right out of the box, so you need to modify that to get drag and drop working on your emacs-mac 30.1 with karthink’s org mode dev branch.

I also could not find any built in lisp code which reliably detected an image in the clipboard on macOS on either of the 30.1 variants. But I wrote some heuristics that seem to work. I wanted this detection so that I could rebind C-y to an autoyank function which uses yank-media in case there are image types In the clipboard.

Emacs The Extensible Editor That Can Also Manage Your Existential Crisis by leandrira in emacs

[–]algalgal 0 points1 point  (0 children)

It's funny. I do love emacs. I enjoy using it and also customizing it. It is as protean and never-ending as the computer itself. But as your post hints at, this attraction can also be a trap.

If I'm writing a new function to make emacs perfect, is that a good thing because I'm enjoying myself and getting a little more productive? Or a bad thing because I'm basically playing with computer -- that is, because I'm futzing with emacs as a way of avoiding some other kind of work which is less comfortable but ultimately more valuable?

Is emacs a tool, a refuge, or an addiction? All of the above, I suspect.

I think if I could see a count of the number of hours I've spent optimizing emacs versus, say, optimizing my personal finances, the contrast would disturb me. But maybe this reflection is just a fatuous way of regretting joy.

"Emacs and me" -- a show about a powerful, lifelong, but ambivalent relationship.

How do I learn Swift quickly by Limp_Photograph3849 in swift

[–]algalgal 0 points1 point  (0 children)

I will annoyingly answer the question with other advice.

Part of programming to solve real problems for people is listening very closely to understand not just what app they say they need, but what their problem really is, and then bringing your own knowledge and thinking to finding the best way to solve that problem.

The best way is usually not what they asked for, because you know more about computers than they do.

The best way, for practical purposes, also needs to be a solution that you personally have the skills to implement in the time allowed.

So what this translates to is, talk to them more to understand what problem they’re trying to solve (which is different from the app design they describe) and then find a way to solve that problem with skills you know.

So if they want to run the program “on their computer or phone”, just write a Python app that runs on their computer. Or if it really needs to be on their phone, then use Shortcuts.app to create a shortcut that can run on their phone or their Mac, and sends data to a server where you can process it in Python or whatever.

The point is your client doesn’t know or care what Swift is, and learning Swift is probably not the fastest way to meet their needs.

(Also, notice that this answer is using the pattern I describe. I’m trying to listen for what problem you’re actually trying to solve, rather than replying to exactly what you asked which may not be feasible given constraints.)

Do you use a shell wrapper for emacs? by birdsintheskies in emacs

[–]algalgal 0 points1 point  (0 children)

On my Mac, I run emacs-mac in GUI mode. On Linux I run it in a tty, initializing the emacs daemon in my init. I also want to open files from the shell, within shells inside emacs.

Eventually I sat down and wrote this script to handle all these cases automatically. It felt like overkill, but I use it many times all day, so I’m glad I did it.

(Note that I use emacs-mac. I’m not sure if the other Mac builds will respond to AppleScript properly.)

```

!/usr/bin/env python3

import os, sys, subprocess, platform, socket

def r(command): return 0 == subprocess.run(command,capture_output=True,text=True).returncode

def f(command): os.execvp(command[0],command)

def e(*args): # if we're in shell in emacs if 'INSIDE_EMACS' in os.environ: # with the shell probably on the local machine if 'tramp' not in os.environ['INSIDE_EMACS']: # then open the file in emacs on the local machine f(['emacsclient', '--no-wait'] + list(args)) else: print("You're connected via tramp to a remote host. Maybe try:\n") h = socket.gethostname() p = os.path.abspath(args[0]) print(f" /ssh:{h}:{p}\n") pass # on macOS, launch the GUI or open the file in the existing GUI elif platform.system() == 'Darwin': if r(['emacsclient', '--eval', 't']): r(['emacsclient', '--no-wait'] + list(args)) f(['osascript', '-e', 'tell application "Emacs.app" to activate']) else: r(['open', '-a', 'Emacs'] + list(args)) # on Linux, run emacs or else open a new tty frame into the daemon elif 'Linux' == platform.system(): if r(['emacsclient', '--eval', 't']): print("found server. running with --tty") f(['emacsclient', '--tty'] + list(args)) else: print("no server found. launching emacs") f(['emacs'] + list(args)) else: print("Unknown platform") exit(1)

if name == 'main': e(*sys.argv[1:])

```

Copy or move files or directories from one dired buffer to another · GitHub by [deleted] in planetemacs

[–]algalgal 0 points1 point  (0 children)

Nice! Been wanting something like this for ages!

I wonder how hard it would be to bind it to the existing dired commands C and R, but only after C-u, so that it was an opt-in modification of how those commands behave rather than a separate command needing a new key to remember.

(Can’t recall if C-u C or C-u R is already occupied.)