Vim speed is not really the point

500px-Vimlogo.svg

I am a Vim user. And a Vim fan.

I was fiddling around for some time, you know, just knowing the basics, because it is convenient to do small changes on servers without having to worry about installing anything. Just the basics, insert mode, some search, save,

and a couple more things. Then, around two years ago, I decided to give it a try as my main editor, after watching a presentation of a co-worker (my boss, actually) about how to use Vim (he has been using Vim for around 20 years)

At the beginning, it is quite difficult, to be honest. You have to relearn everything about editors. But I was doing OK after one or two weeks, so I kept using it. I was also forcing myself into improving my usage, reading about it and learning tricks…

Then, after a while of using it and read a lot of instructional material (I cannot recommend “Practical Vim” by Drew Neil strongly enough. It’s a FANTASTIC book), everything started to make sense. Let’s be serious, the problem with Vim is not exactly that is “difficult” per se, it’s that it is so alien to any other text edition experience, that you have to forget everything that you know about how to edit text. That’s why I don’t agree that the Vim learning curve is a myth. Because, when we first heard of Vim, we already have 10+ years of using things like Word, NotePad or Gmail to write text. We need time to assimilate how to edit text “the Vim way”. And that takes time to assimilate, as your muscular memory works against you.

And, yes, the Vim way is awesome. But it is awesome not for the reason that usually someone will think at the start. There is the perception that Vim is awesome because is fast. It is not.

Continue reading “Vim speed is not really the point”

80 chars per line is great

Probably the most controversial part of PEP 8 is the limit of 80 characters per line. Well, is actually 79 chars, but I’ll use 80 chars because is a round number and the way everybody referes to it.

Capture all the experience
Capture all the experience

There are a lot of companies where the standard seems to be “PEP8, except for the 80 chars line restriction”. On GitHub projects, which in general follow PEP8 (it seems to be a very strong consensus), that’s typically not found. In explicit code guidelines, the restriction could be increased (100, 120) or even removed at all. The usual reason for that is stating that we are not programming in VT100 terminals any more, and we have big, high-resolution screens. This is true, but I’ve found that that limitation, combined with the use of whitespace in Python, makes the code much more compact and readable.

It seems that, naturally, Python code tends to occupy around 35-60 characters (without indentation). Longer lines than that are much less frequent. Having suddenly a line much longer than the rest feels strange and somehow ugly. Also, having the mandatory indentation whitespace increase the line width is a good visual way of minimising the nested loops in your code and suggesting, in a subtle way, to refactor anything that is indented more than about four times.

For example, compare this:

Continue reading “80 chars per line is great”

Great female participation on PyCon US 2013

This picture is AMAZING
This picture is AMAZING

I have read that around 20% of PyCon attendees were women. I’m sure I’ve seen it on more places I can’t find at the moment, but is at least here.

This is fantastic news, a great success for the PyCon, the Python community, and specially groups like PyLadies and Lady Coders. The opening statements of Jesse Nollan is a must see.

As I have previously expressed some concerns in this blog about whether requiring a Code of Conduct is the best approach, I’d like to say that I was wrong and it seems that had a positive impact. The CoC is also currently under review, and I’m sure it will be improved. It has also been used with great care, as the PyCon blog shows, which is also something to kudos.

There has also been special programming tracks for kids, which is awesome.

Of course, that is not the end of the road, and there is still much to do, but it is very encouraging. Keep on the good track!

Say NO to web pages adapted to iOS

I really really don’t understand why there are people that think it’s “better” to replace a perfectly good web look and feel for a stupid “adaptation” to iOS with sliding pages and different layout.

I mean, c’mon, If your page does not have a good design to start with, why not changing that? For both web clients and iOS devices. I remember when there the wordpress plugin for iOS was activated by default and all the blogs changed totally their appearance for a kind of “magazine” that, yes it looked good, but was much more difficult to read.
I get to have a responsive design to adapt the web to some sizes (like a mobile device), but changing fundamentally how your site looks and is designed is totally pointless…

There is one thing that is even worse. Apps that wraps a web site, removing all the functionality of the web browser for a stupid and independent, limited app. And even worse, they will constantly will bother you with reminders to download and install a pointless app.

No, just don’t. It is totally stupid. Work on your web page, get a great design, and make easy for the people wanting to read it, well, easy. After all they’re the ones interested in you….

PD: I think the Android ecosystem is similar. The same applies.

Google Reader as a “Be careful with the cloud” tale.

20130321181637!Google_Reader_logoI have been hit by the recent “readerpocalipse”. I use Google Reader daily heavily, and it is THE main access I use to consume information on Internet. I am taking a look at alternatives, and I (and everyone else that used it heavily) will survive. But I am worried about what impact can this have in the perception and operations of cloud services, specially by Google, but also in general.

During the last years, we have seen a lot of cloud services that the perception has been “this is going to be available forever”. Of course, we knew that it was not necessarily the case, something catastrophic can happen, like the company going out of business. But, in general, if it was from a big, profitable and established company (like Google) and it has a critical mass of followers, the feeling was that maybe it was not going to be upgraded, or could have availability problems, but it will be still there. We awake yesterday in a different scenario.

This is going to make me change my perception of cloud services. From now on, I’ll add an extra care when choosing a service, and that will probably make me use them less that I was doing it before. Specially if I start using it a lot, I’ll try to evaluate more seriously plan B’s and ‘what ifs’. Probably that’s a good thing, as I was probably being a little naïve about all this. I was keeping some minimum backups “just in case”, but I will now probably take everything more seriously and try to store less things in “the cloud”.