Show more

@mjog @federicomena @YaLTeR @alatiera I agree: I've come to really prefer having the commit history reflect the way development actually happened rather than some idealized series of commits.

I wrote something about the use of rebase in particular a few years ago, which I think applies to this question too:

As the number of consecutive days spent at home increases, so does your similarly to the Dude. As this progresses towards infinity, you become the Dude in the limit: Dressing gowns, milk, rugs and all.

Anyway, that's it. It might be handy setting up symbol or docs lookup from Emacs one day, but tbh DevHelp search and command line tools like grep and xargs are just as good, and I get a history of things I have looked up using the latter, which I find much more useful.

So that's my development environment, what's yours?


Show thread

The only thing sucky about this is that the third-party dvc-mode for Emacs has bitrotted badly. This was a vastly superior replacement to the built-in vc-mode (IIRC ESR maintains vc-mode these days, so no wonder it's a pile of shit that is stuck in the past). While DVC is now mostly unusable, it still at least provides an easy way to re-open files with local modifications in Emacs when returning to work on a project.


Show thread

When I want to start work on a project, I search for it in shell or in Files, and open its folder using Open In Terminal. This executes bash in that dir, loading the .localrc's and giving me the project's env and command history back, and away I go. The process is literally:

* Super+Space — GNOME Shell search opens
* G, E, A — project folder appears in the search
* ↓, ↓, Enter — folder opens in Files

Then open the folder menu, select Open in Terminal.

Way faster than an IDE startup.


Show thread

The per-project and per-organisation .localrc files sets up anything from my git committer deets, to bash and gdb history files, the location of project source and build dirs, an updated PATH and LD_LIBRARY_PATH if needed, and so on. This allows things like gdb and emacs to find source files, build config and so on.

Most importantly, this gives per-project command histories, which are the main thing that stops me from using IDEs. Once you have this, you really don't want to go back.


Show thread

The Open in Terminal and .localrc bits deserves some explanation: I have bash configured with a custom shell function that runs from .bashrc. It looks at the current directory for a file named `.localrc` when bash is first loaded and if found imports it, then recursively climbs the directory tree doing the same until it reaches $HOME.

Since I use `~/Projects/$ORG/$PROJECT as my directory layout`, this gives me per-project custom shell environments.


Show thread

I (very occasionally) get asked what my dev setup is for Geary, so while `git bisect run` is running, here it is. In short:

* Emacs with vala-mode, dvc-mode and a minimal amount of customisation
* GNOME Terminal with custom per-project shell environments (".localrc")
* GDB for debugging
* Gitg for making git less terrible to use
* GNOME DevHelp/Web for docs
* The Open in Terminal extension for GNOME Files

Apologies for not using anything more fancy. :)


Extremely happy that `git bisect run` is a thing that exists...

Hello @fdroidorg it has come to my attention that you are hosting a barely modified version of @Tusky branded to a hateful Gab instance full of TERFs in your main repository. I suggest you nuke that app immediately if you don't want to be suspicious of supporting hatespeech.

From now on I’m going to say “the gentleman is not recognized” when I mean “shut up”

FOSS maintainers, what's your angle on taking smaller patches with some code debt from first-time/irregular contributors as-is, versus asking them to make changes to ease the debt at the risk of putting them off?

I think it's time to actually get off of GitHub for good, or at least mostly

I grow stronger with every single FOSS project that adopts a Code of Conduct.

Surprisingly little known fact: These flying anti-fascist devices can also be ridden as bicycles once jail-broken.

Show more

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!