“Reverting” the auto-fill in emacs

I wonder if there is a more elegant solution to this. I guess it could be wrapped up into a neat function that works on every paragraph marked/selected.


Most of the time I use emacs with auto-fill mode breaking any line at 70. Sometimes though I’d like a paragraph to be reverted to a single line; for example for copy-pasting into other editors where it could breaks the formatting. Here’s how

M-x set-variable RET fill-column RET 100000
M-q (on the desired paragraphs)
M-x set-variable RET fill-column RET 70

First line set the fill-column to a large amount, the second will re-run the fill-paragraph and the third will reset the fill-column to my usual value

View original post

mi ĝojas! esperanto en emakso (emacs)

mi ĝojas, fine mi kalkulas kiel tajpi en esperanto en emakso (emacs).

Typing unicode in emacs was not as simple as I thought and took a fair
amount of searching over the internet. Just so you don’t have to to
do the same. Please find below they way I have working things out.



Key Bindings

There are two options.
1. use C-x 8 ret `unicode number` ret.
for example type: C-x 8 ret 108 ret. to get Ĉ

2. C-q `octal number` then carry one typing as normal with any
non-octal character.

for example type C-q 410 space. to get Ĉ the same as above

3. Find the table with conversion numbers of typical esperanto characters
and their typical encodings.

Cxapelita litero Ĵ ĵ Ŝ Ŝ ŝ Ŭ ŭ
html-ento Ĵ ĵ Ŝ ŝ Ŭ ŭ
Unikodo-numero U+ 0134 U+ 0135 U+ 015C U+ 015D U+ 016C U+ 016D
UTF-8bajtoj heksaj C4B4 C4B5 C59C C59D C5AC C5AD
octal codes 464 465 534 535 535 554 555
Cxapelita litero Ĉ ĉ Ĝ ĝ Ĥ ĥ
html-ento Ĉ ĉ Ĝ ĝ Ĥ ĥ
Unikodo-numero U+ 0108 U+ 0109 U+ 011C U+ 011D U+ 0124 U+ 0125
UTF-8bajtoj heksaj C488 C489 C49C C49D C4A4 C4A5
octal codes 0410 411 434 435 444 445

4. Create global keyboard bindings in emacs to make typing them easy.
I used <f9> as it was free to use in my setup and is quick to use
during typing.
here are the commands to put in your .emacs files.

(global-set-key (kbd “<f9> c”) (lambda () (interactive) (insert “ĉ”)))
(global-set-key (kbd “<f9> C”) (lambda () (interactive) (insert “Ĉ”)))
(global-set-key (kbd “<f9> G”) (lambda () (interactive) (insert “Ĝ”)))
(global-set-key (kbd “<f9> g”) (lambda () (interactive) (insert “ĝ”)))
(global-set-key (kbd “<f9> H”) (lambda () (interactive) (insert “Ĥ”)))
(global-set-key (kbd “<f9> h”) (lambda () (interactive) (insert “ĥ”)))
(global-set-key (kbd “<f9> J”) (lambda () (interactive) (insert “Ĵ”)))
(global-set-key (kbd “<f9> j”) (lambda () (interactive) (insert “ĵ”)))
(global-set-key (kbd “<f9> S”) (lambda () (interactive) (insert “Ŝ”)))
(global-set-key (kbd “<f9> s”) (lambda () (interactive) (insert “ŝ”)))
(global-set-key (kbd “<f9> U”) (lambda () (interactive) (insert “Ŭ”)))
(global-set-key (kbd “<f9> u”) (lambda () (interactive) (insert “ŭ”)))

Ĝojas… Uzu liberale, ĉie!


The Real Personal Computing Revolution.

Sometime back now I wrote about a personal dream of mine. I wanted to create (or for there to be available) a computing system that was both powerful and programmable by most people. By most people I really mean by almost all people above the age of 10 – 15.

For example:

  1. The technology of reading and writing was once considered the domain of experts, read history if you don’t believe me.
    Look where it is now. Later, you could only publish with the help of Publishers. Where is that model today.
  2. Art was only for artists such as Michelangelo, currently my 2-year-old is participating with computer aid design
  3. Music was only for professionals, now your 15-year-old and produce quality music in a garage with a pc and a few peripherals.
  4. International telecommunication was only for statesman and the like…. hmm?

The list goes on and on, I bet you can think of even better ones.

But what about programmable computing? Anyone involved in the discipline knows that we are so close and yet so far. Computers are much easier to program today than even 10 years ago but I feel more needs to be done.

I think we need something like a modern Smalltalk, that plays well with Browser and integrates easier with the rest of the OS environment, that runs equally well on Mobile devices.

We need a Real Personal Computing Revolution, one that works so well, that people over the world literally program their own computers, powerful computers with personally written powerful software. I envisage the day that you are sitting around the dinner table with your mum and 8-year-old sister, discussing about the latest software they wrote that interfaces with the international ecology lab by sending soil sample data (also automatically collected)  for the home garden. How cool!

Over and Out,


padfone2 and Q10

I just bought 2 phones and dumped my Samsung s4. 

The Asus padfone 2 and the BlackBerry Q10. And the truth is that they are born good. The padfone is amazing, it is my primary phone and tablet,all in one. 

In fact I am using it right now. 

The Q10 is good too.

Why really these people hating on BlackBerry?

Let me tell you about the padfone by Asus…. well it is a phone with a tablet attachment. The thing about it is that you get a phone that transmutes into a tab. 

I can’t really explain the advantage, it is like having a super phone that becomes a computer at Will. Not metaphorically, but actually!


The Mission

What would it be like to be totally free to do, think and concoct just
about anything your mind can conceive of? This is my new mission… to
figure out the boundaries of our intellects.

This is also a question of total freedom, not just political freedom, but a
kind of intellectual freedom. So let us ask ourselves what it means to
be intellectually free to do what you want, to conceive of what you
want? I think this has been a goal that has completely been ignored by
the greatest minds in human history. At least I haven’t come across it
in my pursuits.

To be intellectually free is to “not be limited by our intellect”. It
is the ability to intellectually grasp and to be intellectually
capable of doing anything we want in a trivial amount of time.

Want to speak German… well go and do it.
Want to understand Nanotechnology, well do it, and then build nano
Want to build the next facebook. Well conceive of the idea and just do
Want to stop Global Warming. Why not, just get on with it.

Anything else is to be limited in our ability to act. To be limited by
our intelligence. It is to be controlled by what we can understand.

And that is a horror to me.

I look all over this world and see people
controlled and limited by what they can conceive. These limitations
are very apparent in my own life.
It is the equivalent of being a fish in a bowl, unable to conceive of
the larger Universe. Limited.

I think more than ever, we as a species feel this inability to act. We
have been flooded by a complex environment of our own making, where we
can’t consceive of escape. All the major problems, of Poverty,
Environmental Destruction, Desease, War, etc… are still unsolved.

So the question is reasonable ask what would a total intellectual
freedom look like.

It is reasonable to first look at our physical selves. Human beings
obviously cannot fly, cannot lift boulders or cut rocks without
instruments. We can then look at our biological physical limitations
and augment them with machines.

It is equally obvious that in our intellectual lives, that we cannot
compute 100!, imagine 10 dimensional spaces or learn the 3500 or so
actively spoken languages directly. What we need is brain
augmentation. And, to that end, we have created computers, the
computer is an embodiment of an abstract machine that can “think” for
us where we cannot think ourselves.

So in the quest for intellectual freedom, we need to create certain
types of machines that we can conceive of and then command to do our

Some of the problems that I have found with modern computers is that
their architecture is now so complex that, a very few of us can
actually understand what our computers are up to. Even fewer amongst
us are capable of actually commanding these machines to do anything
remotely useful.

Most of the time we rely on Software created by others to perform a
limited set of computations. Ones that were preconceived by the
software creators.

So the idea has to be that we set on a mission with a two pronged

1) Learn to augment our minds directly, through a better understanding
of the world around us.
2) Learn to build machines / software that can augment our minds.

So how are we going to do this.

As for directly augmenting our minds we will leave the question of
medical solutions out completely. I am not overly aware of them or
their safety.

So how do we go about getting smarter?

The answer doesn’t seem to be by brute force, a brute accumulation of
facts. In some instances that seems to be unavoidable, in learning a
language we need to learn about 3000 words of vocabulary and a lot of
grammar. In any domain specific language, whether it is chemistry or
religion there are a certain amount of facts that need to be learnt.

However there does seem to me to be a middle road, a road whereby we
learn to first learn how to learn within the domain we are interested
in. Reading the works of several polygots, I have come to the
conclusion that we can develop a ‘knack’, to learn what we need to,
without overly brute force methods.

A large part of this will be to take a abstract scienctific and
artistic approach. It is the underlying patterns that have to be
learnt first, and upon the patterns do we apply the brute.

As for the second part. Learning to build machines that bend to our
will. It hasn’t been done yet. There is no computer on earth that is
easy to learn to master. Some ‘hackers’ have done it, but they are
special cases.

Just how to go about this has eluded me. I have currently embarked on
a course called Nand2tetris. Which aims to instruct the student on how
to build a computer from NAND gates all the way up to a tetris game.
Can it help? Not sure but I sure hope so.