This is me, Wu!
» feeds in this planet
» more planets

October-December, 2011 Status Report

27/01/2012 - FreeBSD latest news

The October-December, 2011 Status Report is now available with 32 entries.

quintagroup.dropdownmenu 1.2.6

26/01/2012 - plone.org releases

SimpleChat (Zope product) 1.0.4 (Release candidate)

26/01/2012 - plone.org releases

Bumped version and eggified product. Moved to CreateAppendGet 1.0 and now importing it without Products namespace prefix. Fixed new KeyError when LANGUAGE is missing from REQUEST.

Whatever!

25/01/2012 - emereci



He can have his space
He can take his time
He can kiss you where the sun don't shine
Oh baby
Don't let him waste your time

19/07/09

raptus.browsermessage 2.0b2 (Beta release)

25/01/2012 - plone.org releases

Implemented own browser detection and removed dependency on collective.browserdetector, added spanish translations and made compatible with plone 4.1

Bicos descontados (II)

24/01/2012 - emereci

14

Intercambiamos os números de teléfono. Tomamos esa caña unha tardiña de vrao outonal. Falamos moito. Acompáñame á casa. Que educado. Escribímonos algunhas mensaxes moderadas e pizpiretas. Tomamos máis cañas outonais con tendencia crecente ao frío invernal. Falamos de case todo. Non sei se entendo aos homes felices. Cóntolle as follas á margarita. Nunca antes coñecera ningún.

Bicos descontados (III)

24/01/2012 - emereci



Unha tardiña de domingo saímos de Santiago. O lugar do crime é importante. Cambiamos as cañas por unha cea con viño café e copa. Acabóusenos o vrao outonal. O frío tamén é importante, si. Trememos, pero non nos tocamos. Contidos. Covardes. Sempre educados. Arriba las manos! - di - Esto es un atraco. E, por unha vez, eu tampouco quero deixar quedar a cousa así.

___
*Más allá de la sombra / te delatan tus ojos, / y te adivino tersa, / como un mapa extendido / de asombro y de deseo. // Date por muerta / amor, / es un atraco. / Tus labios o la vida. "El Lugar Del Crimen", de Luis García Montero.

SSH con DynamicForward (-D) en .config

24/01/2012 - userlinux.net

Una de las infinitas opciones que nos ofrece SSH es hacer Forward Dinámico en modo de Socket para proxy de navegador (por ejemplo). Si queremos configurar "atajos" de las máquinas en el ~/.ssh/config podemos decirle también que conecte activando el DynamicForward de la siguiente forma:

$ cat ~/.ssh/config
Host atajo
        User root
        Port 122
        HostName mi-host-remoto.com
        DynamicForward 8080

Simple como el mecanismo de un botijo pero me ha costado encontrarlo en los frondosos bosques de documentación que habitan este gran servicio. Así que aquí queda el tip, una vez escrito este archivo llegará con un simple ssh atajo para establecer la conexión. Para nota sería ya combinarlo con IdentityFile, pero eso ya es más sencillo de encontrar ;).

Plone Symposium East 2012 Calls for Training Proposals - Due by Feb 13, 2012

24/01/2012 - plone.org news

Slackware

24/01/2012 - userlinux.net

Hoy he recordado con nostalgia aquella primera Slackware de Galicia Digital que tantos disgustos y alegrías me brindó. Por curiosidad he entrado en la web de la distribución y ha perdido toda la esencia que tenía la web de la distribución y todavía siento ese cosquilleo.

hackerspace.gr

23/01/2012 - betabug

Right now I'm in the Athens hackerspace. What's that? It's a semi-subterranean space, set up by some dedicated geeks, hackers, tinkerers. It's being used for all kind of open source projects, both in software and hardware. The first time I came here,...

SSH Mastery: A Very Welcome Addition to Any Unix User's Bookshelf

22/01/2012 - That grumpy BSD guy

The first paragraph of this book's afterword reads:

"You now know more about SSH, OpenSSH and Putty than the vast majority of IT professionals! Congratulations".

That claim will be true for any reader of SSH Mastery who has read the book up to that point and has incorporated at least some of the elements of the configurations it describes into their own environments.

"But why a book dedicated to a single command?", you might ask. Almost all Unixes and Unix-likes have incorporated OpenSSH, the free SSH that is developed as part of the OpenBSD project, and OpenSSH comes with excellent documentation in the form of several extensive man pages.

Well, that question in itself justifies this title's existence (there are in fact several programs in the OpenSSH suite), and readers familiar with Michael Lucas' work will appreciate hearing that his latest work is task-oriented and well written, covering anything from the basic secure shell access through to the peculiarities of setting up a virtual private network (VPN) using OpenSSH. An enterprising reader would be able to find all the information in this book or close equivalents using the OpenSSH man pages or other online sources, but this book provides a very concise guide to both the basics and some rather advanced concepts and provides you with the vocabulary and understanding that you will need in order to successfully navigate the man pages.

This book has several highlights, such as the very sensible and useful discussion of key based authentication and how to set things up for a passwordless existence, a number of suggestions on how to distribute and maintain both host keys and user keys as well as very readable and useful introductions to various kinds of tunneling, forwarding and proxying available using the OpenSSH tools.

In particular I enjoyed reading the description of SSH-based virtual private networks (VPNs) in Chapter 13. This is one of the most clearly written and useful treatments I've seen of that subject, and for many readers this chapter alone will be worth the price of the book or even considerably more.

The book very sensibly covers OpenSSH on OpenBSD, FreeBSD and Ubuntu Linux, and users who are compelled to use Microsoft Windows desktops will be pleased to hear that configuration and use information for Putty, the most popular and free SSH client for their environment, is included too everywhere it's relevant to the task at hand.

Before Michael W. Lucas' new title was released in January 2012, the most recent widely available book about the Secure Shell protocol (SSH) and applications that support it was an O'Reilly title dated 2005. So even with high quality documentation available via the manual pages, it was time for a new title on the subject.

This title conveniently grew out of one of Michael W. Lucas' other technical writing projects, the second edition of Absolute OpenBSD. The SSH chapter of that manuscript simply kept growing until it made sense to branch the text off to a separate book. This probably means that the treatment of SSH in the upcoming OpenBSD title will be slimmer again, but separating out the OpenSSH parts as a separate book with information for several different environments added makes sense because it makes high-quality information about important tools available to a larger audience.

I am convinced SSH Mastery is a title that Unix users and system administrators like myself will want to keep within reach on their Kindles or other ebook readers for a quick and convenient refresh of important concepts. If you're a student or learning your Unix skills, you will certainly find this to be a very handy guide that helps you
grasp both the basics of SSH and several advanced concepts that are hard to find well described elsewhere.

The ebook is available in several formats via Amazon and other ebook outlets, a printed version is planned but was not yet available at the time of writing (January 22, 2012).

Title: SSH Mastery: OpenSSH, PuTTY, Tunnels and Keys
Author: Michael W. Lucas
Publisher: Tilted Windmill Press (January 18, 2012)

SSH Mastery: A Very Welcome Addition to Any Unix User's Bookshelf

The first paragraph of this book's afterword reads:

"You now know more about SSH, OpenSSH and Putty than the vast majority of IT professionals! Congratulations".

That claim will be true for any reader of SSH Mastery who has read the book up to that point and has incorporated at least some of the elements of the configurations it describes into their own environments.

Read more...

Plone Conference 2012 Coming to Arnhem, the Netherlands

22/01/2012 - plone.org news

Now running dovecot-lda with sieve.

20/01/2012 - Evilcoder

After testing this on my jail that runs postfix+dovecot, I fiddled with dovecot-lda and started using this. It worked like a charm, so I replaced my production procmail-wrapper thingy with dovecot-lda and started using Sieve. Sieve works just fine from Roundcube and the managesieve plugin. Sadly I do not see a decent option to plug [...]

Pressezensur

17/01/2012 - betabug

Letzten Sonntag hat es seit längerer Zeit wiedermal eine Demonstration der " Empörten " (Αγανακτισμένοι) gegeben. Es waren viel weniger Menschen als letzten Sommer, nach Schätzungen so um die 2000 Menschen. Das ist aber auch verständlich, für Athener...

Guitar: Ejercicio 1

16/01/2012 - userlinux.net

No es para estar orgulloso ni mucho menos, pero es de esas cosas que jamás pensé conseguir. Hace cuestión de un año y pico me regalaron una guitarra española y desde entonces ha estado bastante abandonada en la oscuridad de su funda.

Este año he empezado a ir a clases para aprender a tocarla, tan solo van dos sesiones pero cada vez que me pongo a practicar en casa me relaja de semejante forma que dudo que no llegue a ser hasta peligroso. Hoy me han mandado deberes, algo imagino que trivial para el que sabe, pero bastante tormentoso para mis dedos, y para muestra un botón...

Governments and Fine’s

16/01/2012 - Evilcoder

Some minutes ago I was reading through a document that described that one of our Privacy organisations (College Bescherming Persoonsgegevens) can only sentence another organization for a fine of 4500euro’s, but that in the future due to European Law, that might be raised to 5% of an organization’s income.

I started wondering what groups are [...]

On My Reading List

14/01/2012 - betabug

Here's what I'm reading at the moment: " Shop Class as Soulcraft " , by Matthew B. Crawford. This books makes a lot of valid points about how our work moved away from what we do with our hands and our minds towards some automated, rule based corporat...

Using OpenBSD VMs to teach Unix

In episode 208 of his bsdtalk podcast, Will Backman talks about how he uses OpenBSD virtual machines to aid in his teaching of a Unix course at the University of Maine, along with details of why he chose it and how it helps round-out his pupils' understanding of different Unixes.

The podcast files (15min, 7MB) are available here:

Ogg: http://cisx1.uma.maine.edu/~wbackman/bsdtalk/bsdtalk208.ogg , MP3: http://cisx1.uma.maine.edu/~wbackman/bsdtalk/bsdtalk208.mp3

wiconfig - simplifies the configuration of wireless interfaces

Daniel M wrote in about the wiconfig script that he wrote to handle moving a laptop between networks:

So, I got tired of doing my little time saving workarounds every time I connected to a wireless network and decided to look for a solution. Several people have posted little wireless scripts here, to misc@ and minor modifications to help simplify and automate the configuration of wireless, but the scripts never seemed to go far enough. Read more...

Chrissy Wainwright and Maurizio Delmonte Chosen Plone Foundation Members

13/01/2012 - plone.org news

The Plone Foundation Board of Directors has announced the selection of Chrissy Wainwright and Maurizio Delmonte as the newest members of the Plone Foundation.

Announcing FreeBSD9

12/01/2012 - Evilcoder

FreeBSD released it’s latest major version just a few minutes ago: FreeBSD9.

Since I didn’t follow activities as close as normally: I figured you might be interested in an excerpt of the release notes, on what changed lately:

The FreeBSD Release Engineering Team is pleased to announce the availability
of FreeBSD 9.0-RELEASE. This is [...]

FreeBSD 9.0-RELEASE Available

12/01/2012 - FreeBSD latest news

FreeBSD 9.0-RELEASE is now available. Please be sure to check the Release Notes and Release Errata before installation for any late-breaking news and/or issues with 9.0. More information about FreeBSD releases can be found on the Release Information page.

FreeBSD-EN-12:01.freebsd-update

04/01/2012 - FreeBSD errata

no summary

FreeBSD-SA-11:06.bind

no summary

New committer: Jason Helfman (ports)

16/12/2011 - FreeBSD latest news

no summary

Persistent caching with fire-and-forget updates

14/12/2011 - peterbe.com

I just recently landed some patches on toocool that implements and interesting pattern that is seen more and more these days. I call it: Persistent caching with fire-and-forget updates

Basically, the implementation is this: You issue a request that requires information about a Twitter user: E.g. http://toocoolfor.me/following/chucknorris/vs/peterbe The app looks into its MongoDB for information about the tweeter and if it can't find this user it goes onto the Twitter REST API and looks it up and saves the result in MongoDB. The next time the same information is requested, and the data is available in the MongoDB it instead checks if the modify_date or more than an hour and if so, it sends a job to the message queue (Celery with Redis in my case) to perform an update on this tweeter.

You can basically see the code here but just to reiterate and abbreviate, it looks like this:

tweeter = self.db.Tweeter.find_one({'username': username})
if not tweeter:
result = yield tornado.gen.Task(...)
if result:
tweeter = self.save_tweeter_user(result)
else:
# deal with the error!
elif age(tweeter['modify_date']) > 3600:
tasks.refresh_user_info.delay(username, ...)
# render the template!

What the client gets, i.e. the user using the site, is it that apart from the very first time that URL is request is instant results but data is being maintained and refreshed.

This pattern works great for data that doesn't have to be up-to-date to the second but that still needs a way to cache invalidate and re-fetch. This works because my limit of 1 hour is quite arbitrary. An alternative implementation would be something like this:

tweeter = self.db.Tweeter.find_one({'username': username})
if not tweeter or (tweeter and age(tweeter) > 3600 * 24 * 7):
# re-fetch from Twitter REST API
elif age(tweeter) > 3600:
# fire-and-forget update

That way you don't suffer from persistently cached data that is too old.

De por qué Firefly es la mejor serie de la historia.

09/12/2011 - Limon al caba

Hace ya la friolera de 2 años y medio que volví a mi ciudad natal, Lugo, tras mi época universitaria en la ciudad de A Coruña. Los motivos de mi regreso fueron varios: sólo me quedaba una asignatura del 2º ciclo de Ingeniería Informática y el PFC, mi novia y yo apostamos por un futuro aquí y me surgió una buena oportunidad laboral que no dudé en aprovechar.
Evidentemente, las partidas nunca son agradables y en esa ciudad dejé muchos recuerdos -buenos y malos-, experiencias, compañeros y amigos...pero también descubrí un Lugo que hasta entonces no conocía. Me explico, soy perfectamente consciente de la imagen que proyecta Lugo hacia el exterior como una pequeña ciudad centrada fundamentalmente en los servicios, la administración pública y el rural; nada de esto es mentira, pero lo que no se ve (hasta a veces me pregunto si no se querrá ver) es que Lugo ofrece mucho más: es cierto que no tenemos grandes infraestructuras para el ocio: un auditorio que ha quedado anclado en el tiempo y que ejerce de improvisado teatro, salas de conciertos escasas y pequeñas y galerías de arte en las que es complicado exponer si no eres "amigo de" o "familiar de" (por suerte, cada vez esto pasa menos) pero también es cierto el dicho de que "el que busca, encuentra": por ejemplo, hace poco descubrí que se hacen catas de queso y maridaje en una tienda de delicatessen en pleno centro de la ciudad, de que prácticamente todos los días hay música en directo en una sala también muy céntrica y de que un restaurante de corte medio-alto ha organizado una "blind dinner" este pasado mes de Noviembre...esto me hace confiar en que algo se está moviendo, que Lugo está creciendo como ciudad para quitarse esa pesada cruz que tiene de "ciudad de bares".
Profesionalmente hablando, tenemos 3 viveros de empresas: el C.E.I., el de la C.E.L. y uno nuevo que quieren abrir centrado exclusivamente en el sector TIC. Personalmente conozco a varias empresas asentadas en estos viveros- espacios multidisciplinares financiados por entes públicos o privados- que ofrecen unas condiciones estupendas para los que quieren aventurarse en el mundo empresarial: empresas de desarrollo de software empresarial, diseño web o "social media" son claro ejemplo de que hay gente con ganas de hacer cosas por y para esta ciudad.
Asimismo, me siento orgulloso de haber participado en las Jornadas Nacionales de OpenERP durante este año como organizador y relator, de haber podido enseñar mi ciudad a un buen montón de profesionales del sector y de que, en general, la impresión haya sido buena. Las iniciativas "ticenlugo" y "juegosenlugo" son otras dos manifestaciones de que Lugo cuenta con un buen puñado de profesionales TIC con muchas ganas de hacer cosas y gritar bien alto "¡ey!¡estamos aquí!" siendo conscientes de que nos cuesta mucho desarrollar nuestra profesión en esta ciudad, pero también siendo conscientes de que estamos preparados para competir en igualdad de condiciones con el resto de compañeros.

Take my love, take my land...


Precisamente -y aquí por fin se explica el motivo del título del post- en una de estas reuniones de "ticenlugo" que se celebraron en verano fui invitado a participar en lo que se vino a llamar "juevesdeseries" (incluso con web recién inaugurada): un grupo de personas (no sólo informáticos) que nos juntamos para cenar, hablar, intercambiar experiencias y ver algún episodio de alguna serie. La serie en cuestión fue "Firefly", una space opera de Joss Whedon que sirvió de perfecta excusa para que pudiese aprender un montón de compañeros de profesión en un ámbito que no era el laboral, sino algo mucho más cercano y familiar (de lo cual tenía muchas ganas).
Como experiencia lo recomiendo encarecidamente, al ser en Jueves y no trabajar el Viernes por la tarde se ha convertido en una motivación en la que pensar toda la semana, me he topado con un grupo humano excepcional y he crecido profesionalmente gracias a sus aportaciones; ojalá que algún día (ya que soy el más pequeño de ellos, jeje), se lo pueda devolver.
Por todo esto, sin duda, Firefly para mí ha sido la mejor serie de la historia.

Ya veremos cuál toca ahora...

PD: En cuanto a la serie en sí no me ha gustado, pero creo que ha quedado claro que eso poco importa...

Cryptic errors when using django-nose

06/12/2011 - peterbe.com

After about 3 days of debugging using pdb, print and writing to a log file I've almost finally solve my bizarre errors I was getting when running a whole test suite. The error that it lead to was that Django refused to re-register models to the admin and the errors looked something like this:

  ...
  File "/Users/peterbe/dev/MOZILLA/PTO/pto/urls.py", line 6, in <module>
    admin.autodiscover()
  File "/Users/peterbe/dev/MOZILLA/PTO/pto/vendor/src/django/django/contrib/admin/__init__.py", line 26, in autodiscover
    import_module('%s.admin' % app)
  File "/Users/peterbe/dev/MOZILLA/PTO/pto/vendor/src/django/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/Users/peterbe/dev/MOZILLA/PTO/pto/apps/users/admin.py", line 30, in <module>
    admin.site.register(UserProfile, UserProfileAdmin)
  File "/Users/peterbe/dev/MOZILLA/PTO/pto/vendor/src/django/django/contrib/admin/sites.py", line 85, in register
    raise AlreadyRegistered('The model %s is already registered' % model.__name__)
 AlreadyRegistered: The model UserProfile is already registered

Turns out to be independent of which Django project I ran and it was something no one else was able to reproduce on any machine with the exact same code.

After 2 days I found that there's a difference between a successful run and a failing run was how I specified (to nose) which module to load:

 ./manage.py test users  # fails!
 ./manage.py test users.test  # works!

In both cases it finds the same tests. So it would either fail 10 times or work 10 times. Hmmm...

The bridging between nose and Django is done by awesome django-nose developed here at Mozilla by Django extraordinaire Jeff Balogh and it's a non-trivial piece of code as it depends on some really smart importing tricks and stuff which I haven't even begun to understand.

However, after so many trial and errors I finally discovered that the solution (for me) was to delete the ~/.noserc file. What's strange is that all it contained was:

 [nosetests]
 with-doctest=1

I might never actually find out what went wrong. Ultimately I think a reason things went wrong was because it incorrectly populated sys.modules with excessive keys that would cause double imports of urls.py which in turn runs admin.autodiscover() but incorrectly does so twice.

Sorry for the rambling. And sorry for not actually finding the real bug. I did spent 2-3 days debugging this non-stop and hopefully some other poor frustrated person is going to see this and also look into the ~/.noserc for ways to fix it maybe.