Luca's meaningless thoughts   SponsorGitHub SponsorsLiberapayPaypalBuy Me A CoffeePatreonFlattr

Release: Status Area Display Blanking Applet 0.9 (beta) for Maemo

by Leandro Lucarella on 2012- 07- 30 22:35 (updated on 2012- 07- 30 22:35)
tagged en, floss, maemo, n900, release, sadba, software, status area display blanking applet - with 0 comment(s)

Final beta release for the Status Area Display Blanking Applet. Changes since last release:

  • Show a status icon when display blanking is inhibited.
  • Improve package description and add icon for the Application Manager.
  • Add a extended description for display blanking modes.
  • Update translation files.
  • Code cleanup.

Also now the applet have a small home page and upload to Extras is on the way!

This is how this new version looks like:

/proj/sadba/files/0.9/screenshot-1.mini.png /proj/sadba/files/0.9/screenshot-2.mini.png /proj/sadba/files/0.9/screenshot-3.mini.png /proj/sadba/files/0.9/screenshot-4.mini.png /proj/sadba/files/0.9/screenshot-5.mini.png

You can download this 0.9 beta release (binary package and sources) from here: https://llucax.com.nyud.net/proj/sadba/files/0.9/

You can also get the source from the git repository: https://git.llucax.com/w/software/sadba.git

Please feel free to leave your comments and suggestions here or in the Maemo Talk Thread..

Release: Status Area Display Blanking Applet 0.5 for Maemo

by Leandro Lucarella on 2012- 07- 29 18:55 (updated on 2012- 07- 29 18:55)
tagged en, floss, maemo, n900, release, sadba, software, status area display blanking applet - with 0 comment(s)

New pre-release for the Status Area Display Blanking Applet. New timed inhibition button that inhibit display blanking for an user-defined amount of time. Also there's been some code cleanup since last release.

/proj/sadba/files/0.5/screenshot-1.mini.png /proj/sadba/files/0.5/screenshot-2.mini.png /proj/sadba/files/0.5/screenshot-3.mini.png /proj/sadba/files/0.5/screenshot-4.mini.png

You can download this 0.5 pre-release (binary package and sources) from here: https://llucax.com.nyud.net/proj/sadba/files/0.5/

You can also get the source from the git repository: https://git.llucax.com/w/software/sadba.git

Please feel free to leave your comments and suggestions here or in the Maemo Talk Thread..

Release: Status Area Display Blanking Applet 0.4 for Maemo

by Leandro Lucarella on 2012- 07- 27 18:12 (updated on 2012- 07- 27 18:12)
tagged en, floss, maemo, n900, release, sadba, software, status area display blanking applet - with 0 comment(s)

New pre-release of my first Maemo application: The Status Area Display Blanking Applet. Now you inhibit display blanking without changing the display blanking mode. The GUI is a little rough compared with the previous version but it works. :)

/proj/sadba/files/0.4/screenshot-1.mini.png /proj/sadba/files/0.4/screenshot-2.mini.png

You can download this 0.4 pre-release (binary package and sources) from here: https://llucax.com.nyud.net/proj/sadba/files/0.4/

You can also get the source from the git repository: https://git.llucax.com/w/software/sadba.git

Please feel free to leave your comments and suggestions here or in the Maemo Talk Thread..

Release: Status Area Display Blanking Applet 0.3 for Maemo

by Leandro Lucarella on 2012- 07- 26 10:51 (updated on 2012- 07- 27 18:13)
tagged en, floss, maemo, n900, release, sadba, software, status area display blanking applet - with 0 comment(s)

New pre-release of my first Maemo application: The Status Area Display Blanking Applet. Now you can pick whatever blanking mode you want instead of blindly cycling through all available modes, as it was in the previous version.

/proj/sadba/files/0.3/screenshot-1.mini.jpg /proj/sadba/files/0.3/screenshot-2.mini.png

You can download this 0.3 pre-release (binary package and sources) from here: https://llucax.com.nyud.net/proj/sadba/files/0.3/

You can also get the source from the git repository: https://git.llucax.com/w/software/sadba.git

Please feel free to leave your comments and suggestions here or in the Maemo Talk Thread..

Release: Status Area Display Blanking Applet 0.2 for Maemo

by Leandro Lucarella on 2012- 07- 23 09:56 (updated on 2012- 07- 23 09:56)
tagged en, floss, maemo, n900, release, sadba, software, status area display blanking applet - with 0 comment(s)

Second pre-release of my first Maemo application: The Status Area Display Blanking Applet. No big changes since the last release just code cleanup and a bugfix or new features (depends on how you see it). Now the applet monitors changes on the current configuration, so if you change the display blanking mode from settings (or by any other means), it will be updated in the applet too.

You can download this 0.2 pre-release (binary package and sources) from here: https://llucax.com.nyud.net/proj/sadba/files/0.2/

You can also get the source from the git repository: https://git.llucax.com/w/software/sadba.git

Please feel free to leave your comments and suggestions here or in the Maemo Talk Thread..

Release: Status Area Display Blanking Applet 0.1 for Maemo

by Leandro Lucarella on 2012- 07- 15 20:09 (updated on 2012- 07- 15 20:09)
tagged en, floss, maemo, n900, release, sadba, software, status area display blanking applet - with 0 comment(s)

Hi, I just wanted to announce the pre-release of my first Maemo "application". The Status Area Display Blanking Applet let you easily change the display blanking mode right from the status menu, without having to go through the settings.

This is specially useful if you have a short blanking time when you use applications that you want to look at for a long time without interacting with the phone and don't inhibit display blanking by themselves (for example a web browser, image viewer or some GPS applications).

You can download this 0.1 pre-release (binary package and sources) from here: https://llucax.com.nyud.net/proj/sadba/files/0.1/

You can also get the source from the git repository: https://git.llucax.com/w/software/sadba.git

Here are some screenshots (the application is highlighted so you can spot it more easily :) ):

/proj/sadba/files/0.1/screenshot-1.mini.jpg /proj/sadba/files/0.1/screenshot-2.mini.jpg

Please feel free to leave your comments and suggestions.

I'll upload the package to extras-devel when I have some time to learn the procedure.

Save Peter Sundes from jail

by Leandro Lucarella on 2012- 07- 14 20:06 (updated on 2012- 07- 14 20:06)
tagged cc, copyright, en, law, peter sundes, politics, the pirate bay - with 0 comment(s)

https://llucax.com/blog/posts/2012/07/14-save-peter-sundes-from-jail.jpg

So, Peter Sundes from The Pirate Bay has been convicted to 1 year prison and 11 million euro. He lost the appeal too, so now he is looking for a last resort, a plea for pardon, a procedure where you can get a judicial sentencing undone by the political administration in exceptional circumstances.

The plea for pardon is not serious in the sense that he is not really doing so, he is denouncing an extremely corrupt and absurd trial. You can read the plea and find out, is long but really interesting how the trial makes no sense (besides what's your stand on file sharing, copyright, etc.).

If you believe the trial was unfair, you can sign this petition, it will probably be completely ignored, but hey, it only takes 2 seconds, worth trying.

Subtítulos para todos (y todas)

by Leandro Lucarella on 2012- 07- 14 18:37 (updated on 2012- 07- 14 18:37)
tagged es, floss, release, software, subdivx, subdivxget, subtitle, subtítulos - with 0 comment(s)

¡Viva Perón, carajo!

Podrido de buscar subtítulos a mano en subdivx.com, que es una paja enorme por la interfaz bastaaante pedorra, decidí, hace mucho tiempo, hacer un pequeño script para hacer el trabajo sucio por mí. Como muchas veces pasa, esa mugre fue creciendo hasta convertirse en algo relativamente decente, así que decidí publicarlo.

Si bien no estoy tan orgulloso de él como para hacer un release serio, subí el código a un repo git que pueden bajar, mejorar y mandar parches.

También pueden bajar el script directamente y usarlo (chmod +x de por medio). Está probado con Python 2.7 y 3.2.

Acá un screenshot del usage, que es la única documentación que existe sobre el script:

Usage: subdivxget [OPTIONS] QUERY [FILTER ...]

Download subtitles from subdivx.com searching the string QUERY. If FILTERs
are specified, only subtitles that matches all those filters are downloaded.
Filters have the format "X:fitler", where X is a field specification:
t=titulo, d=desc, a=autor, f=formato, c=comentarios, C=cds, F=fecha and
D=downloads. filter is a string that should be found on that field (case
insensitive). If the format specifier is not known (or there isn't one) the
filter string is looked in all the fields.

Options:
  -h, --help       show this help message and exit
  -l, --list-only  Don't download the subtitles, just list them
  -q, --quiet      Don't print progress messages

Ah, sí, me quedó mezcla de inglés y castellano, es que estoy acostumbrado a codear en inglés, pero dado que subdivx AFAIK sólo tiene subtítulos en castellano se complica.

Espero que a alguien le sea útil.

Cloud Nothings @ Magnet Club (2012-05-07)

by Leandro Lucarella on 2012- 07- 13 17:50 (updated on 2012- 07- 13 17:50)
tagged 1/20s, 14.7 mm, 16.3 mm, 2012-05-07, 5.0 mm, auto, berlin, canon powershot sx210 is, cloud nothings, f/3.1, f/4.5, iso400, live, magnet club, manual, music, photo, pic - with 0 comment(s)

Very low light, so I did what I could :)

Cloud Nothings @ Magnet Club (2012-05-07) (1)

Cloud Nothings @ Magnet Club (2012-05-07) (1)

2012-05-07 21:58:44 CEST
[ Canon PowerShot SX210 IS 1/20s f/3.1 iso400 5.0 mm Auto Manual ]
Cloud Nothings @ Magnet Club (2012-05-07) (2)

Cloud Nothings @ Magnet Club (2012-05-07) (2)

2012-05-07 22:03:52 CEST
[ Canon PowerShot SX210 IS 1/20s f/4.5 iso400 16.3 mm Auto Manual ]
Cloud Nothings @ Magnet Club (2012-05-07) (3)

Cloud Nothings @ Magnet Club (2012-05-07) (3)

2012-05-07 22:04:57 CEST
[ Canon PowerShot SX210 IS 1/20s f/4.5 iso400 16.3 mm Auto Manual ]
Cloud Nothings @ Magnet Club (2012-05-07) (4)

Cloud Nothings @ Magnet Club (2012-05-07) (4)

2012-05-07 22:10:31 CEST
[ Canon PowerShot SX210 IS 1/20s f/4.5 iso400 14.7 mm Auto Manual ]
Cloud Nothings @ Magnet Club (2012-05-07) (5)

Cloud Nothings @ Magnet Club (2012-05-07) (5)

2012-05-07 22:26:33 CEST
[ Canon PowerShot SX210 IS 1/20s f/3.1 iso400 5.0 mm Auto Manual ]

Fujitsu S6240's guts

by Leandro Lucarella on 2012- 07- 11 10:35 (updated on 2012- 07- 11 10:35)
tagged 1/30s, 2012-04-29, 5.0 mm, canon powershot sx210 is, f/3.1, fujitsu, hardware, iso500, parts, photo, pic, program ae, s6240, tungsten - with 0 comment(s)

Sometimes you just need to clean your notebook's fan...

Fujitsu S6240's guts

Fujitsu S6240's guts

2012-04-29 12:47:35 CEST
[ Canon PowerShot SX210 IS 1/30s f/3.1 iso500 5.0 mm Tungsten Program AE ]

Release: Mutt with NNTP Debian package 1.5.21-5nntp3

by Leandro Lucarella on 2012- 07- 05 19:59 (updated on 2012- 07- 05 19:59)
tagged debian, en, mutt, nntp, package, patch, release, ubuntu, vsevolod volkov - with 0 comment(s)

This is just a quick fix for yesterday's release. Now mutt-nntp depends on mutt >= 1.5.21-5. This should allow having mutt-nntp installed with the standard distribution mutt package for both Debian and Ubuntu (please report any problems).

If you have Ubuntu 12.04 (Precise) and amd64 or i386 arch, just download and install the provided packages.

For other setups, here are the quick (copy&paste) instructions:

ver=1.5.21
deb_ver=$ver-5nntp3
url=https://llucax.com.nyud.net/proj/mutt-nntp-debian/files/latest
wget $url/mutt_$deb_ver.dsc $url/mutt_$deb_ver.diff.gz \
   http://ftp.de.debian.org/debian/pool/main/m/mutt/mutt_$ver.orig.tar.gz
sudo apt-get build-dep mutt
dpkg-source -x mutt_$deb_ver.dsc
cd mutt-$ver
dpkg-buildpackage -rfakeroot
# install any missing packages reported by dpkg-buildpackage and try again
cd ..
sudo dpkg -i mutt-nntp_${deb_ver}_*.deb

Now you can enjoy reading your favourite newsgroups and your favourite mailing lists via Gmane with Mutt without leaving the beauty of your packaging system. No need to thank me, I'm glad to be helpful (but if you want to make a donation, just let me know ;).

Note

You should always install the same mutt version as the one the mutt-nntp is based on (i.e. the version number without the nntpX suffix, for example if mutt-nntp version is 1.5.21-5nntp1, your mutt version should be 1.5.21-5 or 1.5.21-5ubuntu2). A newer version will satisfy the dependency too but it is not guaranteed to work (even when it probably will, specially if the upstream version is the same). You could also install the generated/provided mutt package, but that might be problematic when upgrading your distribution.

See the project page for more details.

Release: Mutt with NNTP Debian package 1.5.21-5nntp2

by Leandro Lucarella on 2012- 07- 04 17:24 (updated on 2012- 07- 04 17:24)
tagged debian, en, mutt, nntp, package, patch, release, ubuntu, vsevolod volkov - with 0 comment(s)

A new version of Mutt with NNTP support is available. This version only moves Mutt with NNTP support to a separate package in the hopes of having a smoother interaction with the distribution packages (avoiding automatic updates with less hassle). Now a new mutt-nntp package is generated.

If you have Ubuntu 12.04 (Precise) and amd64 or i386 arch, just download and install the provided packages.

For other setups, here are the quick (copy&paste) instructions:

ver=1.5.21
deb_ver=$ver-5nntp2
url=https://llucax.com.nyud.net/proj/mutt-nntp-debian/files/latest
wget $url/mutt_$deb_ver.dsc $url/mutt_$deb_ver.diff.gz \
   http://ftp.de.debian.org/debian/pool/main/m/mutt/mutt_$ver.orig.tar.gz
sudo apt-get build-dep mutt
dpkg-source -x mutt_$deb_ver.dsc
cd mutt-$ver
dpkg-buildpackage -rfakeroot
# install any missing packages reported by dpkg-buildpackage and try again
cd ..
sudo dpkg -i mutt-nntp_${deb_ver}_*.deb

Now you can enjoy reading your favourite newsgroups and your favourite mailing lists via Gmane with Mutt without leaving the beauty of your packaging system. No need to thank me, I'm glad to be helpful (but if you want to make a donation, just let me know ;).

Note

You should always install the same mutt version as the one the mutt-nntp is based on (i.e. the version number without the nntpX suffix, for example if mutt-nntp version is 1.5.21-5nntp1, your mutt version should be 1.5.21-5). I'm not forcing that in the dependencies because in general it shouldn't be a big issue using an older version. You could also install the generated/provided mutt package, but that might be problematic when upgrading your distribution.

See the project page for more details.

The Shins @ Huxley's Neue Welt (2012-03-28)

by Leandro Lucarella on 2012- 07- 03 11:01 (updated on 2012- 07- 03 11:01)
tagged 1/15s, 1/30s, 1/50s, 12.0 mm, 2012-03-28, 30.0 mm, 34.3 mm, 40.3 mm, 42.9 mm, 9.2 mm, auto, berlin, canon powershot sx210 is, concert, en, es, f/4.0, f/5.0, f/5.6, huxley's neue welt, iso800, live, manual, music, photo, pic, the shins - with 0 comment(s)

The Shins @ Huxley's Neue Welt (2012-03-28) (1)

The Shins @ Huxley's Neue Welt (2012-03-28) (1)

2012-03-28 22:01:00 CEST
[ Canon PowerShot SX210 IS 1/15s f/5.0 iso800 34.3 mm Auto Manual ]
The Shins @ Huxley's Neue Welt (2012-03-28) (2)

The Shins @ Huxley's Neue Welt (2012-03-28) (2)

2012-03-28 22:08:15 CEST
[ Canon PowerShot SX210 IS 1/30s f/4.0 iso800 12.0 mm Auto Manual ]
The Shins @ Huxley's Neue Welt (2012-03-28) (3)

The Shins @ Huxley's Neue Welt (2012-03-28) (3)

2012-03-28 22:17:42 CEST
[ Canon PowerShot SX210 IS 1/50s f/5.0 iso800 30.0 mm Auto Manual ]
The Shins @ Huxley's Neue Welt (2012-03-28) (4)

The Shins @ Huxley's Neue Welt (2012-03-28) (4)

2012-03-28 22:22:32 CEST
[ Canon PowerShot SX210 IS 1/30s f/5.6 iso800 42.9 mm Auto Manual ]
The Shins @ Huxley's Neue Welt (2012-03-28) (5)

The Shins @ Huxley's Neue Welt (2012-03-28) (5)

2012-03-28 22:25:13 CEST
[ Canon PowerShot SX210 IS 1/50s f/4.0 iso800 9.2 mm Auto Manual ]
The Shins @ Huxley's Neue Welt (2012-03-28) (6)

The Shins @ Huxley's Neue Welt (2012-03-28) (6)

2012-03-28 22:47:08 CEST
[ Canon PowerShot SX210 IS 1/30s f/5.0 iso800 40.3 mm Auto Manual ]

Querying N900 address book

by Leandro Lucarella on 2012- 07- 02 20:49 (updated on 2012- 07- 02 20:49)
tagged addressbook, binding, c, en, evolution, hacking, libebook, maemo, mobile, n900, osso, python - with 0 comment(s)

Since there is not a lot of information on how to hack Maemo's address book to find some contacts with a mobile phone number, I'll share my findings.

Since setting up an environment to cross-compile for ARM is a big hassle, I decided to write this small test program in Python, (ab)using the wonderful ctypes module to avoid compiling at all.

Here is a very small script to use the (sadly proprietary) OSSO Addressbook library:

# This function get all the names in the address book with mobile phone numbers
# and print them. The code is Python but is as similar as C as possible.
def get_all_mobiles():

    osso_ctx = osso_initialize("test_abook", "0.1", FALSE)
    osso_abook_init(argc, argv, hash(osso_ctx))

    roster = osso_abook_aggregator_get_default(NULL)
    osso_abook_waitable_run(roster, g_main_context_default(), NULL)
    contacts = osso_abook_aggregator_list_master_contacts(roster)

    for contact in glist(contacts):
        name = osso_abook_contact_get_display_name(contact)
        # Somehow hackish way to get the EVC_TEL attributes
        field = e_contact_field_id("mobile-phone")
        attrs = e_contact_get_attributes(contact, field)
        mobiles = []
        for attr in glist(attrs):
            types = e_vcard_attribute_get_param(attr, "TYPE")
            for t in glist(types):
                type = ctypes.c_char_p(t).value
                # Remove this condition to get all phone numbers
                # (not just mobile phones)
                if type == "CELL":
                    mobiles.append(e_vcard_attribute_get_value(attr))
        if mobiles:
            print name, mobiles


# Python

import sys
import ctypes
# be sure to import gtk before calling osso_abook_init()
import gtk
import osso

osso_initialize = osso.Context

# Dynamic libraries bindings
glib = ctypes.CDLL('libglib-2.0.so.0')
g_main_context_default = glib.g_main_context_default
def glist(addr):
    class _GList(ctypes.Structure):
        _fields_ = [('data', ctypes.c_void_p),
                    ('next', ctypes.c_void_p)]
    l = addr
    while l:
        l = _GList.from_address(l)
        yield l.data
        l = l.next

osso_abook = ctypes.CDLL('libosso-abook-1.0.so.0')
osso_abook_init = osso_abook.osso_abook_init
osso_abook_aggregator_get_default = osso_abook.osso_abook_aggregator_get_default
osso_abook_waitable_run = osso_abook.osso_abook_waitable_run
osso_abook_aggregator_list_master_contacts = osso_abook.osso_abook_aggregator_list_master_contacts
osso_abook_contact_get_display_name = osso_abook.osso_abook_contact_get_display_name
osso_abook_contact_get_display_name.restype = ctypes.c_char_p

ebook = ctypes.CDLL('libebook-1.2.so.5')
e_contact_field_id = ebook.e_contact_field_id
e_contact_get_attributes = ebook.e_contact_get_attributes
e_vcard_attribute_get_value = ebook.e_vcard_attribute_get_value
e_vcard_attribute_get_value.restype = ctypes.c_char_p
e_vcard_attribute_get_param = ebook.e_vcard_attribute_get_param

# argc/argv adaption
argv_type = ctypes.c_char_p * len(sys.argv)
argv = ctypes.byref(argv_type(*sys.argv))
argc = ctypes.byref(ctypes.c_int(len(sys.argv)))

# C-ish aliases
NULL = None
FALSE = False

# Run the test
get_all_mobiles()

Here are some useful links I used as reference: