My favorite proof of this is in this paper of Roger B. Nelsen
I also have the following method for $\sum_{n=1}^\infty {n\over 2^{n-1}}$ (one can use a similar method for $\sum_{n=1}^\infty {n\over3^n}$):
We first show that $\sum\limits_{n=7}^\infty {n\over 2^{n-1}} ={1\over4}$.
We start with a rectangle of width 1 and height $1/4$. Divide this into eights:

Now divide each eighth-rectangle above in half and take 7 of them. This gives $A_1={7\over 2^6}$.
There are $2\cdot8-7=9$ boxes left over, each having area $2^{-6}$.
Divide each remaining $16^{\rm th}$-rectangle in half and take 8 of them. This gives $A_2={7\over 2^6}+{8\over 2^7}$.
There are $2\cdot9-8=10$ boxes left over, each having area $2^{-7}$.
Divide each remaining $32^{\rm nd}$-rectangle in half and take 9 of them. This gives $A_3={7\over 2^6}+{8\over 2^7}+{9\over 2^8}$.
There are $2\cdot10-9=11$ boxes left over, each having area $2^{-8}$.
Divide each remaining $64^{\rm th}$-rectangle in half and take 10 of them. This gives $A_4={7\over 2^6}+{8\over 2^7}+{9\over 2^8}+{10\over2^9}$.
There are $2\cdot11-9=12$ boxes left over, each having area $2^{-9}$.
At each stage, we double the number of remaining boxes, keeping the same leftover area, and take approximately
half of them to form the next term of the series.
At the $n^{\rm th}$ stage, we have $$A_n= {7\over 2^6}+{8\over 2^7}+\cdots+{6+n\over2^{5+n}},$$
with leftover area $$ 2(n+7)-(n+6)\over 2^{n+5}.$$
It follows that,
$$
{7\over2^6}+{8\over2^7}+{9\over2^8}+\cdots= {1\over4}.
$$
Consequently,
$$
\sum_{n=1}^\infty{n\over 2^{n-1}}= \sum_{n=1}^6 {n\over 2^{n-1}} +\sum_{n=7}^\infty{n\over 2^{n-1}} ={15\over 4}+{1\over4}=4.
$$
You can also "Fubini" this (I think this is what Jonas is doing).