domingo, 26 de enero de 2020

disable screen blank/sleep on idle

I've finally switched to more barebones linux distros again. Now I'm on NixOS and Void.

Void is minimalist and lightweight, with a textual installation process, like vectorlinux had (using text dialogs and menus).

I just found out that the way to keep the screen from going blank after some mouse/keyboard idle time is  xset s off -dpms. That saves you from any ad-hoc command line fu when watching movies with that girl.

jueves, 23 de enero de 2020

Latest Awesome Emacs Developments

In the last month or so, a great wealth of new Emacs stuff has been developing in both core and community.

We know that in free software projects (communities, that is) some branches might take a long time to develop, but some others

tree-sitter: Integrating this project opensourced by github. This could mean a new way of syntax highlight that doesn't drag, smarter indentation, and completions. Eli mentioned it in the emacs mail list and people are looking into it.

Yet another jitter, by Andrea Corrallo.  Another approach to make emacs' elisp code run faster.  There have already been many attempts to this (Guilemacs, "El Compilador", and others). Will this be the one?  From the highest level perspective, I like "el compilador" the most, because it's kinda smalltalkish, but hey,... I don't have the knowledge to hack on any of those, so whatever the wizards pick, I'm good with it. Also, see mailing list.

SystemE : Replace Systemd with runit? nope, geekier.

Emacs Application Framework because you can also have proper gui controls.
 
Animations in elisp (text)

OM. higher level org parsing

doct declarative org-capture templates.

More META-II

So there's a new article on the internet about META-II!  And not just that, but it also talks about Forth!  And not just that, but it also talks about raku!


That thing alone already deserves a detailed browsing of the whole blog.

lunes, 23 de diciembre de 2019

Do not delete tmux dead panes

I've been using tmux for about a year. tmux-fingers and the feature that I helped add of instant pasting was what triggered the move.

Even I can't exactly replicate my screen workflow in tmux, I'm more than happy with the tradeoff.

Here's a nice option I didn't know about tmux: "remain-on-exit"

By default, tmux (like screen) kills the panes (or frames, or windows, or however they are called) when the process inside them dies. And usually, that's what you want.

But there's a case when you probably don't want this: "parallell --tmux"

I use GNU parallel as much as I can. I find it an awesome tool. Very hacker friendly and composable with everything you're already doing.

So I was recently using it to build packages for multiple distros. The command was something like  "parallel ./packager.sh --tmux {} ::: alpine ubuntu".  But when the processes finish (both successfully or not), the pane disappears, and doesn't let you review and debug the outputs.

Setting "set-option -g remain-on-exit on" on tmux, leaves every pane opened for your inspection.


viernes, 6 de diciembre de 2019

Making "docker run ... bash" Remember

Here's a small docker+shell hack I've never seen around and feel it makes a difference if you're getting in and out different (but related) containers. Very hackish, but works surprisingly well! Don't try it at home or rely on anything from it for other tools, as it doesn't compose very well, but hey... it's free :)

It's shell monkeypatching, and some kind of command parsing that looks like tcl/lisp-y list munging. Enjoy!

miércoles, 4 de diciembre de 2019

Software Like Scrabble

I don't know where did I read this one but talking about how development is not linear, someone was comparing it with scrabble, where you could add words only connecting one letter, and be "ok", but if you really want to get the max scoring, you have to think of synergies (gasp), and symetries, and how to reuse components in multiple subsystems.

I don't remember the exact quote, but I like to think it as well. Although iterating is THE WAY, focus and review of greater goals help you reuse in non-obvious ways. I'm not sure if this goes against TDD, or some other methodology (but it really shouldn't)

lunes, 25 de noviembre de 2019

Git from the ground up

There's this recent amazing video about org-mode, that happens to use git internals as the topic of the org mode document. And I just remembered the Aha moments I got when I started grasping git internals.  Here's what made stuff click to me.

- https://www.youtube.com/watch?v=ig5E8CcdM9g
- https://www.youtube.com/watch?v=MYP56QJpDr4
- https://www.youtube.com/watch?v=1ffBJ4sVUb4
- http://ftp.newartisans.com/pub/git.from.bottom.up.pdf


Also, https://initialcommit.io/#baby-git seems like a very nice deep dive into git internals from its core ideas.  I haven't had the time to dig into those articles yet, but worth mentioning them.
And last but not least: A very plain but smart way to investigate git: https://www.reddit.com/r/git/comments/eel2cf/how_does_gitstash_work_under_the_hood/fbubxvz/ . Kinda emacs' "c-h k", but for git.