@grinn@emacs.ch
@grinn@emacs.ch avatar

grinn

@grinn@emacs.ch

Emacs contributor and maintainer of various Emacs packages. Housekeeper by day, knitting and coding at night.

Michigan is where I call home.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

grinn, to random
@grinn@emacs.ch avatar

Ok I have a confession: I don't really write good when talking about a project I truly care about or have invested a lot of time in. How I got by in literature class was always choosing topics I couldn't care less about.

One such project I can't be eloquent about is objed.

https://gitlab.com/grinn.amy/objed

I've simply invested too much time and gotten too little appreciation for my work for my not to let my emotion through. I spent countless hours developing not only a tutorial game but also additional commands and documentation.

Don't get me wrong, I use it and rely on it every single day and that is its own reward. But stupid shit like my Chromecast package will get 10x the recognition.

https://gitlab.com/grinn.amy/chromecast.el

I honestly worked so hard to make objed more accessible. Give it a shot. Go through the tutorial game. Tell me it sucks, or it's awesome, or it's useless, or it's groundbreaking.

grinn,
@grinn@emacs.ch avatar

@holgerschurig if you dislike modal editing in general, you might dislike objed. Then again, I had the same reason for disliking other modal editing packages: I would always be 3 or 4 letters into typing before realizing I'm in the wrong mode. I also hate the escape key, way up in the corner and all.

Objed tries to be smart about putting you into and out of the modal editing state; depending on the last command it will automatically enter or exit objed. There is an ESC key equivalent for objed, but it's bound to C-g so it's really natural and easy to reach.

It also has indicators like changing your cursor and modifying the mode line so it's pretty clear which state you are in.

Regarding Emacs bindings: you are correct they stay Emacs bindings. Objed has very few key sequences that require control or meta. Everything else will work regardless of modal editing state.

Thank you for giving it some thought, I really do appreciate you trying it out!

grinn, to emacs
@grinn@emacs.ch avatar

Sometimes I get overwhelmed by having a free day and end up not accomplishing much. This morning it was processing my feelings toward my family's political views. I think it was valuable to come to some conclusions about why their views bothered me so much, but it took time.

I'm sitting on some patches and email drafts waiting for the fsf to update my copyright assignment record.

I'm going to work on objed for a while, then my blog. For objed I want to translate the test runner from a Makefile to an elisp eldev command. For the blog I want to do the opposite: translate the elisp build script into a Makefile.

Both are attempts at simplifying the development process though, just choosing the right tool for each job.

grinn, to emacs
@grinn@emacs.ch avatar

I'm still hopeful clang-format-indent-mode will eventually be accepted into the LLVM project, but for now you can try it out as a separate package:

https://gitlab.com/grinn.amy/clang-format-indent

If you are using clang-format in any of your projects, this might be useful to apply complex .clang-format rules as you type rather than after-the-fact.

Here's the pull request:

https://github.com/llvm/llvm-project/pull/78904

clang-format-indent package usage demo.

grinn,
@grinn@emacs.ch avatar

@chandlerc thank you! And no, I'm not aware of any similar efforts unfortunately. That doesn't mean they don't exist though! Which editor were you hoping for?

grinn, to emacs
@grinn@emacs.ch avatar

I'm slightly disappointed that the mastodon client for Emacs doesn't work in the terminal, at least ootb.

grinn,
@grinn@emacs.ch avatar

@sqrtminusone still not working for me, "Invalid image type `png'"

grinn,
@grinn@emacs.ch avatar

@louis @sqrtminusone ahh there it is, I knew there must be a one-liner somewhere! Thank you!

louis, (edited ) to random
@louis@emacs.ch avatar

There is a first usable version of a Mastodon client app written with CAPI available:

https://codeberg.org/louis77/cl-mastoclient

A pre-built binary for Linux x64 is available on Codeberg, too.

The app is very simple, just downloads your statuses (meaning, your own posts) from your instance and let's you search through them after it finished. A double-click opens the post in the browser.

It should work with any Mastodon™️ compatible server.

In case any users with DV licenses for Win/MacOS/FreeBSD, let me know if you can deliver it.

grinn,
@grinn@emacs.ch avatar

@louis isn't LispWorks pretty expensive? I'm not familiar with common lisp that well but a quick search showed gtk+, qt, and others as options.

louis, to mastodon
@louis@emacs.ch avatar

I just spent 8 minutes of my life trying to scroll down in my personal timeline to find the oldest post I ever made in Nov. 2022. I almost hit it, when the browser tab froze and it became completely unresponsive. Had to force kill.

Apparently 4 physical cores of a 2020 Intel CPU and 16 GB of RAM are not enough to fight against the hopelessly bloated UI.

Now, I have to get that thought about a fork out of my mind again, which might take even longer.

Cheers 🍺

grinn,
@grinn@emacs.ch avatar

@louis what are your thoughts for the fork? Any chance you could contribute upstream instead?

grinn,
@grinn@emacs.ch avatar

@louis that's absolutely a fair assessment! Good knowing your limits.

grinn, to Michigan
@grinn@emacs.ch avatar

Does anyone know how I can influence politics most effectively? Preferably without knocking on doors. Can I program my state representative out of office? Which language would I use for that? The primary is in August.

I don't have specific beef with my current representation, I'm just interested in politics.

grinn,
@grinn@emacs.ch avatar

@louis I'm always genuine! And those are very good tips. I'll see what my local parties are up to.

Ok I checked it out and there's an event for the county-level party I think I'm most aligned with this week! I'll just try to see what they think is important. I probably won't contribute much right away.

I'm also not crazy far from the capitol and there's a few events there in April.

galdor, to emacs
@galdor@emacs.ch avatar

The value of is not in the packages that are available (Gnus, org-mode, Magit, etc.). It is the fact that these packages live in the same application, manipulate text the same way, and can interact with each other to do exactly what you want them to do.

grinn,
@grinn@emacs.ch avatar

@galdor one part of this that always blows my mind is that buffers are a primitive data type yet the whole point of Emacs is to display buffers. Everything in Emacs is just changing the display of, and operating on, buffers.

To say it a different way, you can't construct a buffer from more basic Elisp elements. A buffer is the most basic data type, on par with a symbol or a literal. Yet it's also the main way users and developers interact with each other.

I don't know of another project where the developers and the users are all using the same concept as a building block. It would be like if matlab was written entirely using arrays.

grinn, to emacs
@grinn@emacs.ch avatar

If you want to be notified of scheduled and deadlined tasks in Org mode, there is no better way than with org-yaap. It has zero dependencies other than Emacs 27.1 and it works great on Android with termux.

I've been using it for two years without issue. The documentation and options are superbly setup to fit most uses of Org:

"""
By default, you will be notified for all scheduled headings (org-yaap-include-scheduled') and headings with a deadline (org-yaap-include-deadline') within your agenda files. If a heading only includes the date, you will be notified at 9am on the day of the heading (org-yaap-daily-alert'). If you don't mark a heading as done, you will be repeatedly notified every 30 minutes after the heading was due (org-yaap-overdue-alerts').
"""

You can install it from my package archive at https://packages.amygrinn.com/ or download the latest release from https://gitlab.com/grinn.amy/org-yaap/-/releases then package-install-file

grinn, to random
@grinn@emacs.ch avatar

Did ya know you can write Makefiles in Elisp? Just add these three lines:

SHELL != which emacs
.SHELLFLAGS = -Q --batch --eval
.ONESHELL:

grinn, to random
@grinn@emacs.ch avatar

Does anyone know an better way to get org noweb to not interfere with syntax highlighting in a shell script?

The noweb syntax is treated like a heredoc. Even this hack doesn't work all the time: I'll often have to press return at the end of the "firewall-safe-mode" line and undo in order to correct the highlighting.

grinn, to random
@grinn@emacs.ch avatar

Some might've noticed my personal blog has been down. Full disclosure: it was running on a Windows server that wasn't really mine but was being stored in my home. I am planning on moving to gitlab pages for a more permanent home.

At the same time, my laptop screen broke. That's unfortunate, of course, but I also see it as an opportunity to convert the laptop into a home server and learn more about networking.

It's been slow, cuz I have a day job and I've been doing most of the configuration on my phone and tablet. But it's given me a lot more stuff to write about in the future.

For one thing, I'd like to update my article on how to use Emacs on the remarkable tablet with a Bluetooth keyboard. It's still possible! Even with the latest xochitl.

But I'm also really excited about this tiny bit of elisp I wrote to interactively execute and log system commands using org babel. I'm hoping most or all of the server configuration will be detangled into a single literate config.

I'd also like to write about my experiences setting up DNS filtering and OpenVPN, as well as dealing with a limited and sometimes 'creepy' router through all of it.

In the end, I realize that no one is entitled to be able to access my blog and I would like to apologize for the delay in getting it back up and running. It's going to be a little longer! But technical blogging is something that still gives me a lot of joy.

Interactively executing and logging system commands using org babel

grinn,
@grinn@emacs.ch avatar

@louis that's the remarkable tablet I mentioned in the post!

grinn, to random
@grinn@emacs.ch avatar

I made my first transient menu! It enables control of any chromecast-enabled device on the local network.

https://gitlab.com/grinn.amy/chromecast.el

grinn, to random
@grinn@emacs.ch avatar

My blog is now located at https://blog.amygrinn.com

grinn,
@grinn@emacs.ch avatar

@louis that's a deep cut! Lol thanks for the compliments and the suggestion. I don't think MySQL has anything similar though unfortunately. I just kept the table small through a pruning event run once a day.

louis, (edited ) to random
@louis@emacs.ch avatar

deleted_by_author

  • Loading...
  • grinn,
    @grinn@emacs.ch avatar

    @dekkzz76 @louis @svetlyak40wt @galdor

    Janeway was my favorite captain as well, no shame

    ms, to random
    @ms@emacs.ch avatar

    I've been trying to get into Org-Mode more but on multiple packages (Jira, Agenda) I get

    "autoload-do-load: Symbol’s value as variable is void: org--inhibit-version-check"

    Anyone has seen this error? I'm not comfortable with elisp enough to jump into it.

    grinn,
    @grinn@emacs.ch avatar

    @ms you're not actually using the org package in your config, so there's no need to use-package it, require it, straight it, or anything. I wonder if that would help.

    grinn,
    @grinn@emacs.ch avatar

    @ms that's great! But I don't think you even need (require 'org), in fact that probably adds half a second to your init time. Just the setq and mkdir on their own should work

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • rosin
  • ngwrru68w68
  • Durango
  • DreamBathrooms
  • mdbf
  • magazineikmin
  • thenastyranch
  • Youngstown
  • khanakhh
  • slotface
  • everett
  • vwfavf
  • kavyap
  • provamag3
  • osvaldo12
  • GTA5RPClips
  • ethstaker
  • tacticalgear
  • InstantRegret
  • cisconetworking
  • cubers
  • tester
  • anitta
  • modclub
  • Leos
  • normalnudes
  • JUstTest
  • All magazines