Automating yourself out of a job: planning

DISCLAIMER: This post appeared originally in SpiderOak’s Engineering Blog (CC BY-NC-ND 4.0).

Whenever the word automation appears in conversation, I always remember this story of a build engineer that took the word “automation” to the next level.

There are times where you want to be really needed at your job; at the very least, it gives you a sensation of stability that has nothing to do with whatever your environment is.

This should be just a stage. Stability should come from the environment, and your goal should be to not be needed in as many things as possible, so that you can focus on new things.

Continue reading “Automating yourself out of a job: planning”

On human trafficking or traveling for free

It’s been a while since I written anything. I have a list of things I would like to write about, but somehow I haven’t sat down to think them through.

To my surprise, here I am, sitting down writing about what seems to be a recurring subject: bypassing security checks without even trying. Not because I’m great at bypassing them, but because the checks are bad and I just happen to want to see the situations through.

This time around the subject is traveling light by air.

Continue reading “On human trafficking or traveling for free”

Questions every manager needs to ask

The best way to approach a situation, that I’ve learned, is making sure you ask the right questions. That’s it. As a manager, you don’t have to have the answers, some answers sure, but not all. That’s why you are a manager, you are the router on a network of really smart people.

You do quality of service, you filter out what content reaches the network from the outside, and you make sure packets (ideas, comments, etc) get properly from one node to the other, or if they are going to the wrong node, you make sure they are redirected. That’s it.

It’s not an easy job though, and you as a manager should be guarded by a wall of good questions to distill the right answer out of the right minds. Sometimes the right mind is yours, but the process is the same.

Continue reading “Questions every manager needs to ask”

DevOps: Going from fire fighting to fire prevention

There are many ways to run a DevOps team. Is there a recipe in this post to run the best ops team ever? Certainly not. This is just the starting point: the basic things you need to look for when everything is on fire and you can’t just double or triple the size of the team.

How the ops team at a startup might start

I wish I was able to start this section by saying “of the 74 ops teams I helped build over the last 20 years…”, I can’t. But I’ve seen a lot of examples of people starting products, some successful, most of them not at all.

Continue reading “DevOps: Going from fire fighting to fire prevention”

How to steal a newborn baby

Ok, yeah, it sounds like a drastic title, but it is.

Just in case you are wondering if you are reading a baby stealer’s blog, I’m going to invade my own privacy a bit just to explain how it all went down.

Here’s the new fact you’ll know about me after this: I’ve got a newborn son.

Baby security

If you happen to have a baby through the regular, nature intended way, then chances are you were right there in the delivery room with your significant other and you saw your baby getting into this world and followed him/her every step of the way from that point on.

Continue reading “How to steal a newborn baby”

How to close somebody else’s bank account

Somewhere around 5 to 7 years ago I opened a bank account. Around 2 years ago (or was it 3?) I stopped using it because I got a new job and they offered an account in another bank with more benefits. I left some money in the first account, because it had some monthly expenses and I wanted to keep it just in case.

Time went by, I checked the account a year later or so, just to see if I had any debt. There was a bit of money in there, interestingly it had some interest so while I wasn’t making a profit, the account was almost paying for itself. “I should close this account, I’ve got no use for it now”, I said to myself.

Being how I am, time went by and I didn’t get to close the account as soon as I wanted to.

A couple of weeks ago, I tried getting to an ATM with the card for the account to check the balance, in case I might have accumulated some debt. But the card was rejected as invalid.

Continue reading “How to close somebody else’s bank account”

Python + PySide + logging = headache

Wait what?

I’ve been working with Python and PySide for quite a while, but only just a couple of months ago as my full-time job. As it has happened to me before, I start to think “well, I really know this thing from head to toes”, and then I realize I don’t.

As a part of the LEAP Client a friend of mine started developing a log viewer for the app. Since we were already using logging, what made most sense was to have a logging.Handler subclass that harvested all the logs and then later on display those in a nice dialog. While the dialog is open, it needs to receive new logs, and for that of course we used the mighty signals.

Continue reading “Python + PySide + logging = headache”

Objective-C my C++ – Blocks

The Objective-C side

A really handy Objective-C feature that came to my attention not so long ago are blocks. Now I’m not going to write much about blocks themselves, for that there are much better docs. But here’s the basic idea:
Blocks are anonymous functions that retain the environment where they are created and abstract functionality. Depending on how that environment is presented, the block can modify it or not. Simple, right? Not exactly, but lets see an example:

Continue reading “Objective-C my C++ – Blocks”