October-December, 2011 Status Report
The October-December, 2011 Status Report is now available with 32 entries.
David Cramer django posts
FreeBSD Security advisories
FreeBSD errata
FreeBSD latest news
lazypython.blogspot.com django
plone.org news
plone.org releases
codespatter.com
OpenBSD Journal (undeadly.org)
OpenBSD errata (via undeadly)
gnucitizen (security)
eikke.com
eflorenzano
Evilcoder
Marc Garcia
Martin Aspeli
betabug
BSDCow
emereci
Saâd Kadhi / The Web self()
peterbe.com
Graham Dumpleton
userlinux.net
Ramble on
Python Cloud DB
Limon al caba
That grumpy BSD guy
Reusable Security The October-December, 2011 Status Report is now available with 32 entries.
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.
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
Implemented own browser detection and removed dependency on collective.browserdetector, added spanish translations and made compatible with plone 4.1

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.

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.
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 ;).
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.
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,...
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)
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...
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 [...]
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...
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...
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 [...]
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...
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
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...
The Plone Foundation Board of Directors has announced the selection of Chrissy Wainwright and Maurizio Delmonte as the newest members of the Plone Foundation.
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 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.
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:
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:
That way you don't suffer from persistently cached data that is too old.
![]() |
| Take my love, take my land... |
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.