This is me, Wu!
April 2017
Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
About
This site is an effort to share some of the base knowledge I have gathered through all this years working with Linux, FreeBSD, OpenBSD, Python or Zope, among others. So, take a look around and I hope you will find the contents useful.
Recent Entries
Recent Comments
Recent Trackbacks
Categories
OpenBSD (9 items)
BSD (0 items)
FreeBSD (19 items)
Linux (3 items)
Security (3 items)
Python (22 items)
Zope (13 items)
Daily (144 items)
e-shell (9 items)
Hacks (14 items)
PostgreSQL (3 items)
OSX (8 items)
Nintendo DS (0 items)
enlightenment (0 items)
Apache (3 items)
Nintendo Wii (1 items)
Django (24 items)
Music (12 items)
Plone (7 items)
Varnish (0 items)
Lugo (2 items)
Sendmail (0 items)
europython (7 items)
Cherokee (1 items)
self (1 items)
Nature (1 items)
Hiking (0 items)
uwsgi (0 items)
nginx (0 items)
cycling (8 items)
Networking (1 items)
DNS (0 items)
Archives
Links

Syndicate this site (XML)

RSS/RDF 0.91

29 marzo
2017

My first brevet

I still can't believe I've finally done it

Me and the Jake, just after we finished the brevet

Last saturday I did ride my first Brevet, a 200km brevet organized by the CCRiazor from A Coruña. Doing something like that has been in my personal todo list since I started cycling (or, at least, since I started cycling a bit more seriously). I guess having Super Randonneur (George Tellalov) and the Randonneur of the cyclades (Sascha Welter) as friends helped a bit with that desire.

I've to say that I totally fell in love with the whole Brevet thing. The spirit, the people, the smooth ride (I was really really lucky about the weather)... everything was just perfect. For sure one of the best experiences I've had in my life.

Keep on reading if you want all the details!

Continue reading "My first brevet"
Posted by wu at 22:18 | Comments (0) | Trackbacks (0)
25 junio
2016

Cyberpunk cycling

all geared up and connected!

A view of the road from Portomarin to Lugo from my bicycle

A couple of days ago I went on a ride in the morning. One of the usual routes I do around Lugo, first going southeast towards the mountains, then turning west, then northeast back to Lugo. Around 58 kms on both main/bigger roads and small and lovely secondary roads.

Something I do quite often this days, but this time something was different.

This time I had fun x 10. I felt so good, it was so much fun, I couldn't stop smiling. I even laughed out loud some times. It was like having an extra boost of adrenaline. It was real good fun there and, at one moment, I thought that I'd love Dolo to be there with me, having exactly that same sensation, feeling the joy and the fun.

"That won't happen any time soon" - I thought. I know, I know, not everybody likes the same things, same sports... but I thought it would be really nice to be able to share that with her.

And then an idea came to mind, like a lighting strike: SimStim!.

For those of you who hadn't read (yet) Neuromancer (seriously, go read it!), a SimStim allows one of the characters on the novel (Case) to be able to connect to another character (Molly) and live her experiences as his own, seeing what she sees, feeling what she feels (pain, joy, surprise, etc).

That'd be just perfect for sharing all the joy I had the other day while riding my bike. And, who knows, the future is just there, around the corner...

Posted by wu at 08:31 | Comments (0) | Trackbacks (0)
10 junio
2016

Sentry email notifications not arriving?

Hint: the timeout is the key!

Getsentry logo

I've been using Sentry for quite some time now in some projects, mostly all of them running python based applications and systems, and recently I did a major upgrade of a Sentry server to the latest version (8.3.1). It was an update with lots of changes, both in the Sentry internals and the dependencies needed by it (like the addition of Redis) but everything went more or less smoothly.

Once I had the server ready, I did upgrade the Raven client accordingly and I modified something in our staging server so an exception (IOError actually) was raised and the proper notification was sent to the Sentry server.

It worked just fine, the error message was sent to the server and it appeared on the Sentry web interface. Just perfect... or not?

Not really. After the error arrived in the Sentry server, a notification should have been sent to a mailing list where developers/support would see it and act accordingly. But that email never arrived and there was no error on the Sentry server logs.

When I took a look at the SMTP server logs, I found this

12:53:12 sm-mta[1534]: NOQUEUE: connect from my.sentry.server [xxx.xxx.xxx.xxx]
12:53:12 sm-mta[1534]: AUTH: available mech=SCRAM-SHA-1 DIGEST-MD5 OTP CRAM-MD5 ANONYMOUS, allowed mech=LOGIN PLAIN
12:53:12 sm-mta[1534]: u4JArC4c001534: Milter (bogom): init success to negotiate
12:53:12 sm-mta[1534]: u4JArC4c001534: Milter (opendkim): init success to negotiate
12:53:12 sm-mta[1534]: u4JArC4c001534: Milter (opendmarc): init success to negotiate
12:53:12 sm-mta[1534]: u4JArC4c001534: Milter: connect to filters
12:53:12 sm-mta[1534]: u4JArC4c001534: milter=bogom, action=connect, continue
12:53:12 sm-mta[1534]: u4JArC4c001534: milter=opendkim, action=connect, continue
12:53:13 sm-mta[1534]: u4JArC4c001534: milter=opendmarc, action=connect, continue
12:53:17 sm-mta[1534]: u4JArC4c001534: my.sentry.server [xxx.xxx.xxx.xxx] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA

Which basically means there was an incoming connection which was suddently closed by the client.

Weird.

Continue reading "Sentry email notifications not arriving?"
Posted by wu at 06:35 | Comments (0) | Trackbacks (0)
09 mayo
2016

Store python PersistentMapping objects into an objects TreeSet

When the OOTreeSet refuses to add new PersistentMapping objects...

I've been working with ZODB for quite some time now. First when I was doing Zope based web development (oh, the ol' good^hard days), then in some courses I gave about persistence and data storage in python, nowadays working with pyramid and still using ZODB for some apps.

Some days ago, working on one of those pyramid based projects, I found something really weird, something that was not working as expected, and it took me some time to figure out what was it. I'd like to share it, just in case it happens to any of you.

Continue reading "Store python PersistentMapping objects into an objects TreeSet"
Posted by wu at 08:47 | Comments (0) | Trackbacks (0)
05 mayo
2016

The Flower Power Sprint

The third one already in naxos!

Flying towards Greece

Exactly one month ago I had a long traveling day with r0sk. We left Lugo in the middle of the night and we got in a plane in A Coruña while it was still dark outside.

After a one-hour-and-something flight we arrived in Barcelona, where we got in another plane, this time the destination was Athens, Greece. We were on our way to one of our regular International Pizza sprints, when all the people working on the same project meet to work hand by hand for a few days (and then have lots of fun, of course).

Continue reading "The Flower Power Sprint"
Posted by wu at 00:00 | Comments (0) | Trackbacks (0)
25 abril
2016

The 100

Finally, I did a +100km ride, and in the best possible company

100 ride

10 of April, 2016

The alarm should ring at 07:00 (EEST), but I wake up way before that. I'm too excited to stay in bed, so I get out of the room as stealthy as I can, trying not to bother Oscar, sleeping in the other bed.

I left the clothes ready the day before, in the living room, so there is where I go after preparing breakfast (coffee, milk, bread and cheese).

Breakfast, coffee, milk, bread and cheese Preparing the coffee Preparing the bread and the cheese Having breakfast

I take it easy, eating slowly. It is always really hard to have breakfast so early, but today I manage quite well and I eat it all up. The bike is ready already, I put my cycling clothes on and I double check again that I have everything with me (Phone, Garmin, HR Sensor, GoPro, spare tube, tools...). Then I pick up Sascha's Jake to get outside.

Getting dressed with the cycling clothes (1) Getting dressed with the cycling clothes (2) Taking everything I need with me Almost ready for the start of the ride

Today we have planned to go on a longer ride together, Sascha and me. We will do the Apollonas round (clockwise), a route that covers something like 100 kms around the island of Naxos. We will pass by beaches, villages, valleys and mountains.

Leaving Damarionas, the road is waiting for me!

And I am pretty sure we will have looots of fun

Continue reading "The 100"
Posted by wu at 21:42 | Comments (2) | Trackbacks (0)
17 abril
2016

Moving through the big city

It had been a while since the last time I did this

Image of the Athens Metro, from the wikipedia

(image from the wikipedia)

Eleven days ago I hopped into a plane in A Coruña. That was the first part of a trip that would take me to Barcelona, then Athens, then the island of Naxos, in the Aegean Sea. We were going to have another International Pizza sprint, but that's a totally different story, I just wanted to add some context for this short story.

Yesterday I arrived in Piraeus around 15:00, as part of my trip back home. I did step down the boat (Blue Star Naxos) and I went to the Piraeus Metro station.

I was a bit excited. Moving around big cities is something that always excites me, specially if I'm not in a hurry to get quickly somewhere. I like to take my time, see what is happening around me and try to stop and watch even the smaller details.

Before going to the Metro station, I gave my bigger backpack to my friend Panos, so he and Oscar could take it on their motorbikes. Then I picked up the smaller backpack and a bigger piece of luggage, one of those harder suitcases with wheels (that they couldn't carry on the motorbikes). I also checked I had a book with me, real paper book this time, it was a novel from Haruki Murakami, Kafka on the shore.

Continue reading "Moving through the big city"
Posted by wu at 16:25 | Comments (0) | Trackbacks (0)