Emacs Identica-mode v0.9 release

I’m glad to announce this new release of identica-mode after a longer than normal. I’ve been constantly directing people to the git repository version instead of doing an official release since there are lots of improvements since the last version.

Some of these improvements include:

  • Url shortening inline
  • You can now do url shortening while typing your update by pressing key with the cursor at any point of the url text. I’ve wanted to implement this feature using any free url shortening services, but unfortunately the only two I know (ur1.ca and tighturl) don’t have APIs to easily do this. So for now, I’ve implemented it with tinyurl.

  • More keyboard friendly
  • In an effort to make identica-mode more keyboard only friendly, we’ve done a couple of changes:
    You will notice that now when pressing on any link in the timeline will take you to either the user’s page, the notice’s page, the url at point, and lastly if there’s no url at point, will do a reply to that notice.
    The other thing you will notice is that by pressing you can now jump the cursor to the next link on the timeline.

  • Follow/unfollow
  • The methods to follow and unfollow users in the timeline has been added. You can easily access them through the menu or execute M-x identica-follow, M-x identica-unfollow.

  • Replace group tags with hashtags on redents
  • To prevent spamming groups with repetitive messages, all group tags are replaced with hastags on redents.

  • Improved favorite method
  • Now by pressing “F” key you can favorite the dent under the cursor. It has been improved by adding a visual confirmation question so you don’t end up adding dents as favorites without noticing.

  • Lots of bug fixes and code cleanup
  • I’m very happy to recieve code contributions and this version has recieved the most so far. Lots of little enhancements and code cleanup has been done, removing several of the little annoyances and error messages that were appearing every now and then. I’d like to thank Sean Neakums, Jason McBrayer and Shyam Karanatt for their contributions.

Get the lastest version of Emacs Identica-mode

And as always, code contributions and bug reports are welcome on our bug reporting page.

Also, if you like the project you can also support it with a small donation.



Share:
  • Digg
  • del.icio.us
  • Technorati
  • Reddit
  • StumbleUpon
  • Facebook
  • Meneame
  • FriendFeed
  • Identi.ca
  • Twitter
  • Google Bookmarks

3 methods on how to backup your Emacs file

Data dump by swanksalot on flickr
The emacs personalization file (dotemacs) is a very important resource for every Emacs user. Typically found at ~/.emacs, this file contains elisp code all the personalization of Emacs to accommodate each user. Its so important that it basically represents your Emacs “personality”.

To loose your .emacs file can mean loosing a lot of hours of tweaking and personalizing GNU Emacs through a bunch of collected-through-time snippets. So, being a very valuable asset, having a good method to back it up is a must have.

Here are 3 common methods people use to keep their Emacs file safe:

Simple backup

The most simple thing to do is to manually make copies of the file on a different directory, another partition on the same hard drive, an external hard drive, or a USB key. Also works well when having multiple computers and copying the same .emacs file on each of them. Using rsync to back it up periodically is a good idea, and it can be used to backup all your other elisp code for common modes (typically at ~/.emacs.d/) you use too.

A good option would be to back it up to an online storage service like Drop.io or even Amazon S3.

Version control

The standard and most common way to store your emacs customizations is by saving them on a file named .emacs placed on your home folder. But this is difficult to setup on a version control system since version control systems check things under directories. So this would mean you would be version controlling your whole home folder, which wouldn’t be a bad idea on some cases but on others would be a mess to maintain.

Fortunately there’s another way: at startup, Emacs also looks for a file called init.el on a hidden folder named .emacs.d/ in your home folder when the typical ~/.emacs file is not found. This way, you can easily set your preferred version control system to track changes on that folder. This has the advantage that any other Emacs modes or code you have can be stored and tracked too. This way, whenever you have a clean install, your Emacs setup and modes are just a checkout away from getting done.

On some setups, tracking changes on the whole ~/.emacs.d/ directory may not be a good option. So, to track changes on only your .emacs file can be achieved by moving your init.el file to a folder inside the home elisp directory and will look like this: ~/.emacs.d/dotemacs/init.el and make a symbolic link to it in ~/.emacs.d/ This way I can version control the “dotemacs” directory very easily.

Distributed version control

Many people use SVN as their preferred version control system, which backs up your data into a central location. But using a distributed version control system like Git, Mercurial or Bazaar is a better option. DVCSs let you setup multiple locations where to backup your code repository, so you don’t have a single point of failure. So you can version control your dotemacs file and back up the changes history on many places like Github, Gitorious, Launchpad or any other code hosting service, plus several other remote locations like multiple machines, a NAS or external drives with complete history of your changes.

Do you know other methods? How do you keep from loosing your dotemacs file?

Data dump image by swanksalot on Flickr
Share:
  • Digg
  • del.icio.us
  • Technorati
  • Reddit
  • StumbleUpon
  • Facebook
  • Meneame
  • FriendFeed
  • Identi.ca
  • Twitter
  • Google Bookmarks

Goodbye ACM Crossroads, Hello GNU

ACM Crossroads logo
I’ve been the web editor for the ACM Crossroads student magazine for the past 4 years. Since I’m no longer a student, the time has come to step out of that position and let someone else take the job.

So since issue 16.2 the ACM Crossroads website is in charge of Malay Bhattacharyya of the Indian Statistical Institute, Kolkata and Srinwantu Dey of the University of Florida. I wish them the best since being an ACM Crossroads editor was a great experience. Met a lot of good friends and interesting people and learned a lot about online publishing and workflows. I’ll continue to support the ACM with any help they need, but I’m no longer in charge of anything.

GNU logo
As one thing ends, another has to begin. So at LibrePlanet 2009 I met Rob Myers and asked to volunteer as a GNU.org webmaster. My contributions so far have been small, but constant, maintaining some minor things here and there and helping cleaning up the spam. I hope to get more involved with GNU this year and make great contributions.

Share:
  • Digg
  • del.icio.us
  • Technorati
  • Reddit
  • StumbleUpon
  • Facebook
  • Meneame
  • FriendFeed
  • Identi.ca
  • Twitter
  • Google Bookmarks

My resolutions for 2010

Xmas time

This 2009 has been a good and busy year. Lots of things have happened: I switched to a new job, I got a DSLR camera I’ve been wanting for a long time, I visited San Francisco and the Sillicon Valley, I went to LibrePlanet and met Richard Stallman and many others I look up to, became GNU.org webmaster and I got a dog.

But looking back to my 2009 resolutions post, I’m very sad to see that I barely did any of those items in the list. From that list, I’ve only been able to fix that bug from Emacs Identica-mode and have continued to improve it. And also released one personal project which is Sabesquemecaga.com(spanish version only) a humor website to shout out what pisses you off in a short and anonymous way.

So, for this year’s resolutions I’m going to continue with last year’s list with some updates. So here are my goals for this 2010 year:

  • Exercise 3 times a week and keep it up at least 3 months.

    I haven’t been able to keep this one up for the past two years. I’m not good at disciplined routines and specially not at exercising, but for health conditions this must be done. Now two years later without reaching this goal it is logical that my health and my weight are worse than before, so now it is a high priority project. Last year I added a goal of 3 times a week to make it more accurate than just say “do more exercise”, but since I couldn’t reach it last year, I’m adding an additional clause to make it even more measurable: keep it up for at least 3 months. This way I’ll know for sure that I’ve reached my year’s goal and hopefully will motivate me more.

  • Start private lessons to learn to play the piano.

    Last year I wanted to learn to play the piano but learning by myself has been hard. What’s been harder is finding the time to sit down and practice. So getting private lessons will force me to sit down with the teacher and have full concentration on the task. What stopped me from learning to play the piano was that I never got the private lessons teacher. So to be more specific, I’ll start by finding my private lessons teacher and start those lessons. Lets see what stems from that at the end of the year.

  • Improve Emacs identica-mode.

    Its been a very good year for identica-mode. I’ve recieved a lot of contributions and also added nice features. I’m very happy with the progress so far. But still there’s a lot of room for improvement. I’d like to add asynchronous http connections so that it won’t hang Emacs on crappy connections.

  • Deploy and improve personal projects.

    There are several things I’d like to do with sabesquemecaga.com like adding comments, user login with option of remaining anonymous and voting. Also I’m planning to release the code with an AGPL license. There are other projects that I need to get out to the world. I’ll just set the goal to one more project release this year.

  • Finally start to podcast.

    I’ve been wanting to start producing a podcast for about 2 years. I’ve been procrastinating on that project for a very long time. I don’t have much planned, its just a thing I want to explore and experiment. It will feature tech and music, that’s all I have planned.

  • Learn to groom my dog and train her more tricks.

    This year I got a miniature schnauzer. She’s a very good and smart dog. I’ve trained her a couple of tricks but she’s still not the best obedience dog ever. I’d like to train her more tricks and make her more obedient. And also I’d like to start grooming her myself this year. I don’t like how local vets have trimmed her hair, and have basically ruined her color and texture. By grooming her myself I’ll keep the quality I want on the looks and texture of her fur.

As last year I couldn’t even get my bonus point of riding an ostrich, I’ll set this year’s bonus point as:

  • Go back to rappeling or kayaking at least once this year
Share:
  • Digg
  • del.icio.us
  • Technorati
  • Reddit
  • StumbleUpon
  • Facebook
  • Meneame
  • FriendFeed
  • Identi.ca
  • Twitter
  • Google Bookmarks

Random links from my bookmarks

I’d like to share my bookmarks from time to time. I think sometimes random browsing can be very fruitful and sometimes even productive.

This week on my delicious bookmaks, I’d like to share:

I hope you find these links interesting or usefull as they’ve been for me.

Share:
  • Digg
  • del.icio.us
  • Technorati
  • Reddit
  • StumbleUpon
  • Facebook
  • Meneame
  • FriendFeed
  • Identi.ca
  • Twitter
  • Google Bookmarks

Mac OS X from a GNU/Linux User

Snow Leopard
The Mac OS X slogan I’ve heard from several mac fanboys is “it just works”. Well, being a GNU/Linux user for quite some time and coming to OS X, that is not the case for me. There’s a lot of little things that “just don’t work” on my particular usage.

Recently I’ve been given a 17″ Macbook Pro for use at my job. My first impression was “wow, nice solid hardware” and that has turned to be very true. But after a while of fiddling with the operating system and doing actual work as I’m used to, lots of little things started to annoy me.

Developer tools

First, I’ve been told that OS X is the best platform for developers. Well, to begin with, basic development tools are not installed by default. You have to install all Xcode tools (about 3.1 GB) just to get gcc, make and related basic tools, off the CD plus a bunch of other unknown things. The installer doesn’t detail much on what its installing.

Getting and updating software

Then, there is no repositories support by default. You have to install Macports or Fink, or download each of your software packages by hand, so upgrading all your apps depends entirely on each provider, except for the Apple applications. So this tells me the software upgrade program is exclusively for Apple apps and no third party software can access this upgrading system. It would be a good idea if the software updater had an API or something that other software vendors can use it to notify upgrades.

A curious thing for me is the fact that lately when the software updater updates the Safari web browser and other trivial applications, it asks for a full system restart. I don’t know why OS X, a BSD Unix based system, needs a restart when you upgrade such a non-critical application like the browser, but that reminds me a lot of Windows asking to restart for every single piece of software installed.

PHP and extensions

At my job we use PHP 5.2.8 and a bunch of extensions. Although OS X comes with Apache and PHP already, there’s no easy way to install all the extensions we use, so we have to compile the damn thing and all its dependencies. It has taken us a whole day just setting this up, and some co-workers just quit trying and went through the option of developing on a virtual machine with GNU/Linux. Some even cried. I got it all good and running, but when I upgraded to Snow Leopard, all my settings were reverted so I had to start again.

GNU

Emacs

For most of my tasks I use Emacs, but there’s a bunch of choices and versions on how to install it, but none is very consistent. If you install emacs from Fink, you don’t get finder actions to open files on Emacs. If you don’t install from Fink, then when installing other packages, like Auctex, will need to download Emacs from Fink. Then you have redundancy. So the solution here is to install your elisp files manually on your elisp folder.

Ctrl, meta and alt keys are messed up. Important for any Emacs user and also for a command line power user.

Other software

Basic office apps, like the typical word processor, spreasheed and presentations programs are not available by default, which is something you have for granted on most GNU/Linux distributions.

No GPG, wget, latex and other basic tools you take for granted on any GNU/Linux or BSD system.

Finder annoyances

Hidden folders (those starting with a dot) are not easy to browse on the file navigator (Finder). To view hidden files in Finder, you need a hack. There’s no easy menu option for it.

You cannot overwrite by drag and dropping a hidden folder like ~/.emacs.d/ if it already exists. It first asks you for the administrator password, then it tells you it will not change an “invisible” folder. The only way I could get around it was by using the terminal.

Also Finder has no “one directory up” button, so to move one directory up, you must enable the navigation bar that appears at the bottom of every window. But this is not very intuitive to do. Also, if you are on a file chooser dialog, this bottom navigation does not appear, so there’s no way “up”.

Finder always puts a .DS_Store and a ._MacOSX file and folder on everything you browse, being an external hard drive or usb drive or anything and you can’t disable that behavior. So I typically end up with my thumbdrives and backup drives filled with this files. Also if you compress (zip) a directory using the Finder menu option, the resulting zip also contains these files.

Finder cannot be used as an FTP or SCP client like Konqueror or Nautilus via the location bar. Although you can use the “connect to server…” option.

Conclusions

Well… not much to conclude here. I guess I just have to get used to “the mac way” of things until I get back home to my nice Debian system.

Have you migrated from GNU/Linux to OS X? I’d like to know your experiences and recommendations.

Snow Leopard foto is Creative Commons by Captain Chickenpants
Wildbeet foto is Creative Commons by Arno & Louise
Share:
  • Digg
  • del.icio.us
  • Technorati
  • Reddit
  • StumbleUpon
  • Facebook
  • Meneame
  • FriendFeed
  • Identi.ca
  • Twitter
  • Google Bookmarks
Subscribe to RSS Feed