- Googler Steve Yegge is blogging about combining Javascript and Emacs. Naturally, I am interested in just about anything combined with emacs, but this sounds quite interesting; not only about fully supporting javascript in emacs, but actually being able to write extensions in javascript (instead of elisp). Apparently, he already implemented a full javascript interpreter in elisp. Very cool... but show us the code!
- I've been playing with Alberto Garcia's LastFM-client Vagalume; it works very nice on my N810 (versions for 770, N800 are available). last.fm is pretty cool anyways, but the vagalume makes it work very smoothly. Obviously, I am hdbngr there :-)
- We've been working on the downloadable packages for the modest email client, it's almost done, stay tuned.
- Said goodbye to my friend Andrea, who's going back to Italy. I'll miss him as a person and as a great host for Italian food... At least he will be in good hands there. Arrivederci!
Planet maemo: category "feed:09a4454142a8f9896476d4036a03e6ea"
It's unwise to discuss politics or religion with strangers -- or even worse, discuss favourite text editors... My personal favourite is GNU/Emacs. It took me some time to get familiar with this thermonuclear word processor, but after that I found it a wonderful tool. You can actually run Emacs on your N8x0 - see the screenshot of Emacs 23 from CVS. But that's not what I'd like to discuss here.
For maemo software development, many people seem to use a bunch of terminal windows inside and outside Scratchbox. Some alternatives exist, such as Laika, the Maemo-plugin for Eclipse, and work is apparently underway for Anjuta as well.
Anyway, I've been coding using Emacs for almost a decade, so obviously I'd like to integrate it with the Maemo/Scratchbox-environment as well - and yes, it is possible to do the following:
- Run Emacs outside Scratchbox;
- Compile inside Scratchbox;
- Jump to the right place in the source with one click from any compiler errors/warnings.
How to get that to work? It's embarrasingly easy (once I figured it out):
First, make sure the same source code can be reached using the same path both inside and outside Scratchbox, by using symlinks, for example:
$ ln -s /scratchbox/users/djcb/home/djcb/src/my-app /home/djcb/src/my-app
Having done that, it's easy to add some trivial Elisp to your .emacs:
;; compile inside scratchbox
(defun scratchbox-c-mode-compile ()
(interactive)
(compile (concat "scratchbox make -C "
default-directory)))
That's all. You can now edit your source code in your normal Linux environment, open a file in ~/src/my-app/..., and compile it with M-x scratchbox-c-mode-compile. Or even better, use a keyboard macro (add to your .emacs):
(define-key c-mode-base-map (kbd "<f8>") 'scratchbox-c-mode-compile)
And pressing F8 is now enough to start compiling...
Now, what's a blog entry without some screenshot? Here's one, running Emacs 23 (from CVS) inside Scratchbox - unrelated to what discussed above, but a nice picture anyway :)
Obligatory dot-emacs link. Happy hacking!
modest
To start with something rather technical, I working on an email-program called modest. It's been in an experimental state for a long time -- but finally it's about ready for the real world. It's a program designed specifically for Nokia N800/N810 devices. Some people have already called e-mail 'obsolete' or 'something for old people', but I think that's a bit of an exaggeration - there is a whole universe of communication for which there is no better medium than email. Try applying for a job using IM or reading the monthly report in an SMS...
Some information here; you might also be interested in the GUADEC Presentation I did about Modest in Birmingham.
mobile email improvements
Now, there are a couple of problems with e-mail, in particular with mobile email, but there's nothing we can't solve (I'm a born optimist!). Let's list some of the common problems and what to do about them:
- Setting up accounts is #@&^%& hard - modest makes this almost brainlessly easy, by including data for big email providers; setting up modest for, say, Gmail is trivial with the easy-setup wizard;
- Using your fingers is hard - why have that expensive touch-screen if you cannot even open mails with your greasy fingers? Modest provides big fingerable headers, so you can open that message from your boss, even as you're running for the meeting;
- I need that fancy stuff - many mobile email clients only provide the bare minimum - what about having mailboxes with thousands of mails, push-email, IMAP-folders, rich-text reading/writing of mails, etc.?
- Show me the code - what kind of person would want to use an email-client if they cannot even read the source? :) Modest is fully open-source, and released under a BSD-like license.
technical background
To achieve all this, modest uses an email framework called tinymail, which is the brainchild of Philip Van Hoof.
Tinymail provides a version of the libcamel protocol library that is also used for the Evolution e-mail program. The tinymail-version is optimized for low-memory situations, and improves the protocol handling especially for the needs of mobile applications. I will discuss that in more detail in some future entry.
Tinymail provides a nice object-oriented layer on top of all this, which allows for a lot of flexibility. I already wrote a bit about that last year in Gnome Journal: Tinymail: Evolution and Intelligent Design.
So -- my first post. Stay tuned!