Rudolf Sykora | 27 Mar 17:48 2015

ssh handshake failed


trying to connect from 9atom via ssh (v2) to my linux machine I get:
ssh: dial: handshake failed

What should I check that might have gone wrong?
(The machine is otherwise accessible from other systems via ssh.)

Thank you

Mathieu Lonjaret | 26 Mar 17:02 2015

easier refreshing of acme wins


I work with many git branches, often affecting the same files. And I
also happen to jump from one to the other quite frequently. There
could be a problem with my workflow, but let's pretend there isn't.

When one of said files is already open in acme, the win won't
automatically refresh it and that's ok, I certainly wouldn't want that
anyway, because I don't always to refresh them all.

However, I find it a bit tedious that I have to write (or paste)
myself the Get tag for each of the wins I want to refresh. To the
point that I'm thinking of hardcoding the Get tag as one of the
"permanent" tags for a win.

Before I do that, does anyone have a better solution to suggest? The
best would be that the Get tag gets automatically added to the tag bar
whenever the files are changed (by git checkout, or other).

p9p acme btw.


Giacomo Tesio | 25 Mar 12:01 2015

jas' cpython

I feel a bit dumb, but I can't grasp how to extracts file from

tar(1), gzip(1) and ar(1) did not helped.How should I extract files from an .arch archive?
6o205zd02 | 25 Mar 08:55 2015

Any examples of using the py9p client code?

Can anyone point me at an example of using the py9p 
( or client code to talk to a 
server.  I've been playing around with a little bit, but haven't had any 

More specifically, I would like to use it to write a client that talks 
to P9P acme.  Is that even possible?  If not is there some other python 
library that would help?

     Peter Canning

Aram Santogidis | 24 Mar 17:51 2015

ACME Getall ?

Hi all,

imagine you have multiple files open in acme and then you 

$ git checkout somebranch

now there is the need to update the views of each open file. You can type Get in the tag of each
window and middle-click it, yes. It would be nice to have a Getall along the lines of Putall, though.

I was wondering what is the best way to handle the above situation.

Steve Simon | 24 Mar 14:48 2015
Roberto E. Vargas Caballero | 19 Mar 07:41 2015

Very old bug in db(1)

I was doing some experiments with db(1), when I tried something like:

main:b *argv/X

and it gave me an error. I debugged it and I found that is a bug in the
code due to a mix between char* and Rune*. I have created a patch
in sources with the name unicode-db.

The funny thing is this error must be at least 20 years old,
because clearly its origin is the unicode translation of old unix tools.
I have checked  labs, 9front and plan9port and all of them have
the error (in some moment someone realized about a warning
of the compiler about different pointer types and simply put a
cast, that is not present in the code of plan9port).

I send this mail here, first because I think is the error is funy,
second because is my first patch send to plan9 and I'm not sure about
the process, and third because it affects to all the versions of plan9
and I'm not sure if all of them take this bug fixes from sources.


Adrian Regenfuss | 18 Mar 21:36 2015

plan 9 file

Hey, just found something interesting:
When you run file on /rc/lib/rcmain, it tells me that it is «English text». I didn't look at the source of file yet,
but if you cat rcmain it really doesn't look like «English text».
Have there been similar mistakes or has it been working fine most of the time?
P.S: Sorry for my bad english…
P.P.S: By the way: I know how to do a screenshot in Plan 9, but how do I make a screen recording? Does plan 9
deal with video files in any way?
ron minnich | 16 Mar 17:03 2015

is now at

Just for historical interest.

mw | 13 Mar 16:12 2015

capturing command output in acme


I've been working in acme the last few days, but new to the plan 9 ecosystem e.g. rc. I have a n00b question I
can't figure out: 

When running cmake in a build directory, I'm losing significant diagnostic output, even when using

cd $proj/build
cmake ../ >[2=1]

Sometimes, this produces partial output but not the errors, and sometimes it hangs (!). So, I resort to
opening an external xterm and running by hand but would prefer to have all the output in an acme window. 

can someone point out how this can be done?


erik quanstrom | 12 Mar 17:46 2015

fun with rc

so an interesting problem i run into from time to time is separately computing
the files added to and deleted from a directory in a shell script.  uniq doesn't
work for this.  certainly one can loop over two lists of files and do this easily,
but that seems dull and tedious.

but as it turns out, one can compute the deleted and added files relatively
efficiently with diff in two steps.  obviously uniq -d gives us the union, so

	fn ∩ {echo $$1 $$2 | sed 's/ /\n/g' | sort | uniq -d}

and uniq -u gives us not union

	fn not∩ {echo $$1 $$2 | sed 's/ /\n/g' | sort | uniq -u}

but then we can compuete the "difference" (relative complement) we want

	fn listminus {c=`{∩ $1 $2} not∩ c $1}

so then

	echo 'added=('  `{listminus old new} ')'
	echo 'deleted=('  `{listminus new old} ')'

he!  such fun with rc.

this is available now in 9atom.

- erik