Lateral Opinion

Also available in: Español

Hack English Instead    Posted: 2012-05-16 17:23:00


Lots of noise recently about Jeff Atwood's post about why you should not learn to code. I am here now telling you you should learn to code. But only after you learn a few other things.

You should learn to speak. You should learn to write. You should learn to listen. You should learn to read. You should learn to express yourself.

Richard Feynman once described his problem solving algorithm as follows:

  1. Write down the problem
  2. Think real hard
  3. Write down the solution

Most of us cannot do that because we are not Richard Feynman and thus, sadly, cannot keep all the solution in our head in step 2, so we need to iterate a few times, thinking (not as hard as he could) and writing down a bit of the solution on each loop.

And while we who code are unusually proud of our ability to write down solutions in such a clear and unforgiving way that even a computer can follow them, it's ten, maybe a hundred times more useful to know how to write it down, or say it, in such a way that a human being can understand it.

Explanations fit for computers are bad for humans and viceversa. Humans accept much more compact, ambiguous, and expressive code. You can transfer high level concepts or design to humans much easier than to computers, but algorithms to computers much easier than to humans.

I have a distrust of people who are able to communicate to computers easier than with fellow humans, a suspicion that they simply have a hole in their skillset, which they could easily fix if they saw it as essential.

And it is an essential skill. Programmers not only run on coffee and sugar and sushi and doritos, they run on happiness. They have a finite endowment of happiness and they spend it continuously, like drunken sailors. They perform an activity where jokingly they measure productivity on curses per hour, a lonely endeavour that isolates them (us) from other humans, from family and friends.

If a developer cannot communicate he isolates. When he isolates he can't cooperate, he cannot delegate. He can't give ideas to others, he can't receive them, he can't share.

And since lots of our communication is via email, and chat, and bug reports, and blogs, it's better if he can write. A developer who cannot write is at a serious disadvantage. A developer who cannot write to express an idea cannot explain, he doesn't make his fellows better. He's a knowledge black hole, where information goes to die behind the event horizon of his skull.

So, learn to write. Learn to speak. Learn to read and listen. Then learn to code.

Comments

Nikola Plans    Posted: 2012-05-15 22:05:00


English only!


I have not stopped working on Nikola, my static site generator. Here are the plans:

  1. Finish the theme installer (so you can get a theme from the site easily)
  2. Implement a theme gallery on the site (same purpose)
  3. Fix a couple of bugs
  4. Update manual
  5. Polish a few theme bits
  6. Release version 3.x (new major number because it requires manual migration)

After that, I will push on projects Shoreham (hosted sites) and Smiljan (planet generator) and make them more public. Shoreham will become a real web app for those who don't want to have their own server. For free, hopefully!

Once I have that, I have no further feature ideas, really. So I need more people to start using it, and that means I have to start announcing it more.

So, stay tuned for version 3.x sometime next week.

Post-Nikola, I will do a rst2pdf release, and then will get back to work on a book.

Comments

One Meter    Posted: 2012-05-15 12:44:00


If I learned one important thing in college (and I like to think I do because otherwise I wasted a lot of time there) that important thing is how to measure things.

You may think that you don't need to go to college to learn that, and you are right, but the interesting bit, if I may sound like a social studies major for a few seconds, is how arbitrary measurements are. They are the one bit where all that "reality is a social construct" insanity is kinda true.

Consider the distance between two places. ¿How far is my house from my mother's?


View Larger Map

Well, google says it's 447km away. But you already know that's not true! If I were to go by, say, helicopter, or unstoppable tank, I may be able to take a somewhat shorter path. Were I to use the Underminer's tunneling machine, I could take an even shorter path.

http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Chord_in_mathematics.svg/200px-Chord_in_mathematics.svg.png

The Underminer follows the shorter, red line.

But all that is mostly changing paths, so you may still feel some confidence that you know how far my mom's house really is, except that we just may not be able to take a specific path, but the distance is a "real" thing.

But geographical, geometrical distance is only one way to measure. There are other metrics, and they may be more or less valid. For example, my mother's house is 6 hours away by bus.

It's also U$S 60 away by bus, U$S 30 by car. Unless I take my son with me, in which case it' U$S 120 by bus, but still U$S 30 by car.

And if I really really want to go there, it's an impulsive decision away, and i I don't really want to, there is a whole lot of convincing between here and there.

And if I were as poor as I once was, then maybe it's infinitely far away because there is no way to get there from here.

When someone says "the world is smaller now" that's not metaphor, that's maths.

Comments

Porn in Turkey: It's for Work Purposes    Posted: 2012-05-11 16:07:00


I have written a few days ago about some issues with SSL certificates.

This post will describe the strangest thing I have done or work purposes in the last year, year and a half.

We get reports that users of Ubuntu Precise Pangolin, in Turkey, are getting a SSL certificate error. I suspect it may be because there is a government firewall there (the "Halal Internet") So, we try debugging it with them. And we get nowhere yet. So, I had the idea of trying to get a turkish IP address and debug from there.

I started looking for a VPS, couldnot find any, then Rodney Dawes found a Turkish VPN provider. Which is weird in that a million Turks are using VPNs to get out of the Turkish censoring firewall, but hey, I will do things for the users.

So, I get that, I make it work, and then I debug. No error. So, how do I know if I am behind the Turkish firewall? I tried to open a porn site, expecting it to fail. But it did not.

So, oficially I saw like 10 seconds of porn while working, for work purposes.

BTW: the correct way to know is to try to access http://www.rollingstone.com

Comments

A day like this in 2006... (or maybe 2002)    Posted: 2012-05-09 22:52:00


In 2006 I republished an essay about the Lord Of The Rings and sysadmins. It's as painful as it sounds.

You can read it here

Comments

Yendo Para PyCon    Posted: 2012-05-09 11:35:00


This is a short story, in spanish, so if you want to read it, click here

Comments

Dogfooding new theme: Readable    Posted: 2012-05-08 21:58:00


I just switched this blog to a new Nikola theme, that I am calling Readable. Because it tries to be readable. It's loosely based on the looks of a WP theme called doc, but it shares no code.

If you are seeing this through a planet, this is how it looks:

http://lateral.netmanagers.com.ar/galleries/random/readable.thumbnail.png

Comments

Tato's first penalties    Posted: 2012-05-08 19:24:00


Tato had today his first day at football school. The other day he was crying because all his friends went there and he didn't, so, what the heck, he goes now too.

He doesn't have too much of a clue yet, but he tries hard ;-)

Comments

Changing Color Schemes and Fonts in Nikola    Posted: 2012-05-08 10:54:00


One of the easiest ways to personalize how your site looks is using color and typography. While Nikola's "site" theme is intended to be rather bland and neutral, it doesn't have to be that way, and it's easy to change.

http://lateral.netmanagers.com.ar/galleries/random/site-theme.thumbnail.png

Bland, solid and boring.

To do these changes, you don't even need to know any CSS, HTML, or programming!

Here's the trick: Nikola is using Twitter Bootstrap to handle its styling. And they provide a handy web form to create a customized version, just for you, at their customize page.

So, if you want auvergine navigation bars and avocado backgrounds, with courier fonts all over the place, that's where you do it. Just change the value in the right variable to whatever color you want.

Once you have your bootstrap.zip, go to your site's folder, and create themes/mytheme/assets and unzip it in there, so that you have themes/mytheme/assets/css, themes/mytheme/assets/js, etc.

Create a file called themes/mytheme/parent containing the word site.

Then edit your dodo.py (or conf.py if you are using the git master) and change the THEME option "mytheme".

Rebuild your site, and voilá, all your customizations are now in place.

This awfulness, for example, was done by setting just three variables (bodyBackground, textColor, and sansFontfamily):

http://lateral.netmanagers.com.ar/galleries/random/site-c64.thumbnail.png

Yes, I had a C64.

Comments

PyDay Luján: Photos    Posted: 2012-05-08 00:00:00


Comments



Contents © 2000-2012 Roberto Alsina