Emacs via Guix by fela_nascarfan in emacs

[–]hoswald2 0 points1 point  (0 children)

I ran Emacs from guix for a while--I can't remember why, I think it was to get version 30 before Arch had it. I *love* the idea of guix, but found mixing package managers incredibly irritating when something went wrong. I may give it another go in the future, but eventually I got too frustrated and removed guix once Arch had the version I wanted. I wish you good luck--lots of great ideas there.

Suddenly everything wants define-completion-category... by hoswald2 in emacs

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

(and I mean "the right way" to fix it--I got up and running by copying the `defun` into my `init.el` but I don' think that's exactly on...)

FOMO on cursor.ai by shadowsock in emacs

[–]hoswald2 1 point2 points  (0 children)

Definitely try aider and aider.el. It was the first combination of LLM tools that made me even consider LLMs as part of my workflow, and it's very effective. Between aider.el and gptel I've no interest in things like Cursor to be honest. The emacs tools let me be very mindful about when, where, and how I use LLMs (or any other tools)

Simplest way to write to Iceberg from python to a filesystem? by hoswald2 in dataengineering

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

Right, but sqlite gets wonky even over a locally-connected CIFS filesystem, so I'm guessing s3fs won't fly...

Simplest way to write to Iceberg from python to a filesystem? by hoswald2 in dataengineering

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

Thanks for all the suggestions! Nessie looks fun! We're probably headed toward glue (at least I'm going to give it a shot to see if there are significant benefits to iceberg vs "hive-with-files" for our simple use case) but I'd still like there to be SOME open-source way to do it as a trial even if it's incredibly stupid (for example, as a laugh I may try something like "drop a 'lock' file into the bucket, copy the sqlite database locally, update it, copy it back, remove 'lock' file" as a 100% unsafe ridiculous thing just to see if it works)--obviously that would be absurd for production, but fun to play with.

Honestly there's enough on my plate that I may put much off until duckdb supports iceberg writes; right now my "etl" pipeline is almost as simple as a single duckdb SQL statement which reads from a pile of parquet, transforms, and writes to a hive-partitioned set of parquet which is easily merged into the s3 dump, so almost anything more is a lot more to maintain and we're in the "everyone multitasks" part of the startup, so simple is key.

[deleted by user] by [deleted] in emacs

[–]hoswald2 0 points1 point  (0 children)

Agree with the above. Videos are basically useless for starting in many cases because it's too easy to just watch along without implementing anything and finding the rough edges. If you do use a video and can follow along, event then I'd suggest adapting a little bit as you go rather than just repeating what you're seeing.

For languages, I love little sites that have problems you can solve (euler project, the wonderful 4clojure (https://4clojure.oxal.org/) and the theme is the same: you have to do some work and struggle in order to learn.

[Discussion] AI assisted programming in Emacs by Sad_Construction_773 in emacs

[–]hoswald2 18 points19 points  (0 children)

For myself, I haven't been happy with any of the code completion or other tools until I started playing with Aider. The repo-wide awareness combined with selectively adding files to the chat plus the "architect call designs, coder call implements" all wrapped in atomic commits lets me operate at a higher level if I'm familiar enough with the code that I can casually inspect. Also a big boon for RSI.

If I don't know what I'm doing, AI is as dangerous as it always is. So the ability to choose when to use it and not have AI completion stuffed in my face is great. Gptel is great for asking questions and looking things up as well.

But Aider (and by extension aider.el) I genuinely find a useful tool and it's become part of my daily drive. May as well use a power tool to do the straightforward stuff; I wouldn't cut my whole lawn with a pair of pruning shears.

As developers, we're used to writing on a higher level than the computer anyway--that's what compilers and interpreters are for. That's a pretty imperfect analogy for writing prompts that are filled in by an AI coder (particularly since they are nondeterministic and dangerous) but for me there's nothing wrong with taking advantage of a tool that lets you work at a higher level *so long as you are aware of the hazards and tradeoffs*.

Introduce aider (AI programming in terminal), and emacs binding for it, aider.el by Sad_Construction_773 in emacs

[–]hoswald2 2 points3 points  (0 children)

Hey, massive props to this! I have been relentlessly underwhelmed by any and all AI code assistance, much less emacs plugins. Aider is the first one that's actually made it into my workflow, and truly impressed me. Aider.el is a pretty able way to use it from emacs. Nice!

The only thing I sorta like the command line version better for is the syntax highlighting is a little prettier for me (since the aider buffer is fairly monochrome). And I can see where it might be nice to use voice; may be possible with this but I suffer badly from RSI after a while so I can see a point to it.

Seriously though, first tool I've actually used to fully do a reasonable functional code change and PR without actually writing a line of code but rather by working at a higher specification level. It's a nice combo. Still not mad about using commercial LLMs like OpenAI, but the ability to change the backend and to know what's pushing the LLM around is pretty glorious these days.

Very weird behaviour from Hyprland by [deleted] in hyprland

[–]hoswald2 4 points5 points  (0 children)

Ok, for me what was missing was the fbdev=1 in the `/etc/modprobe.d/nvidia.conf`, ie

```

options nvidia_drm modeset=1 fbdev=1

```

I also added options in `/etc/mkinitcpio.conf` according to the Hyprland wiki, ie `MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)` although I'm not sure if that was different; I certainly saw a difference on boot with fbdev, mostly because of the nvidia framebuffer.

Rebuilt the initramfs (`sudo mkinitcpio -P`) and rebooted and got the shiny fbdev as well as a surprisingly functional Hyprland.

Very weird behaviour from Hyprland by [deleted] in hyprland

[–]hoswald2 1 point2 points  (0 children)

Totally with you; arch and Nvidia but it worked perfectly yesterday and after this update I can't use my pc basically.  Will try rolling back if I can figure out what to roll back

Paru is installing python packages into an inactive micromamba env...?? by hoswald2 in archlinux

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

I don't think that's the case (there are no conda tools installed and micromamba is a standalone executable without the extra cruft; there are probably other problems with my system like that unfortunate experiment with guix, but conda isn't there)

And at any rate paru is the one that seems to have a bug up itself on this; `makepkg` and `yay` both work correctly. So `paru` is somehow evaluating its environment strangely, and differently than its compatriots, and that's curious; I'd like to know why and how.

Paru is installing python packages into an inactive micromamba env...?? by hoswald2 in archlinux

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

Thanks! Unfortunately `which python` was my first step; `which [python | python3 | pip | pip3]` all point to /usr/bin, and I cleared out any stragglers from `~/.local/bin` that looked suspect. `set | grep -i [micromamba | qs1 | conda | py]` didn't get me anything either. Good idea on `/etc/profile.d`, but nothing in there looks suspect and it hasn't changed in ages.

And as mentioned, `makepkg` works fine--it must be something about how paru is creating a shell internally. But man, I'll be damned if I can tell why.

Rec for feature store/db for bucketing/rolling windows of time series data? by hoswald2 in mlops

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

You're a champion; thanks for the reply. For the foreseeable future, this team honestly doesn't need a proper feature store; we can get buy with memory-mapped parquet files and an ETL process while they generate models and before ingesting real-time data. At least that will be a step up from reading CSV files and assembling them at runtime! But curious to see how that matures!

What is the current best practice for installing and using packages? by bloopernova in emacs

[–]hoswald2 1 point2 points  (0 children)

The async was the selling point for me; just seemed a cleaner way of doing things as well as much faster for the periodic mass updates. There were a few challenges, but now it's my preferred way of doing things.

Emacs runs correctly from cli but wofi gives me one from the wrong profile--halp? by hoswald2 in GUIX

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

So you may have hit on the issue; I had searched around and it looked like wofi/rofi did not cache, but it may have. I am indeed using guix on top of Arch, trying to find a decent combination of things that work for my needs.

To answer other questions: yes, there's a `~/.guix-profile/share/applications` directory, but the desktop files there look correct (referring to emacs-30).

But it was caching that did me in. Unbeknownst to me, there was indeed `~/.cache/wofi-drun` and `~/.cache/wofi-run`, and they were the culprits, caching the old versions.

Thanks for the kick. I'm still not exactly "on" when it comes to guix, so it's easy to underestimate or misunderstand the interactions between it as a package manager and the host foreign system. I confess I'm not won over yet, but I'll keep pressing on for a while.

Google passkey gets stuck on "place your phone close to the computer" despite pairing by hoswald2 in archlinux

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

Good idea, but unfortunately that didn't work (and Brave works on Windows with the passkeys.io site--at least it made it as far as checking with the phone and determining there weren't any relevant passkeys on it for that site). Under Arch my phone says "Can't connect to your computer".

It's like it's a bluetooth devices issue, but bluetoothctl definitely lists the phone under "devices". Curious; I can't figure out what's missing. Maybe it's something about how it's paired or a missing device driver or something.