Semver intermediate versioning

Lately I’ve come across multiple tweets and talks about people avoiding jumping over the dreaded 1.0.0 of their frameworks, tools, etc.

Sadly that’s the current state of «our world» as developers.

Read More


Is a «well known» fact that I’m trying to get to 12% body fat; last year I was really close at 14% but then I ricocheted back to 17% and my mental state took a toll and was not able to get back on track. I’ve been going up & down on my body fat since then.

Last December I hit horrible numbers because I pretty much gave up on exercising 💪 and dieting 🌿 ¯\_(ツ)_/¯

Read More

Xcode Plugins I use

Everyone of us have our own set of niks & tricks to better find our ways around our everyday activities.

For us developers that means tweaking our environment to quickly achieve what we want with the least amount of key strokes and (at the least for the most of us) without having to actually use the mouse/trackpad.

Xcode Plugins

For those out there that are familiar with plugins; go ahead and jump over to the next section, for the rest of you welcome to heaven.

Plugins are 3rd Party pieces of code that can be «injected» into Xcode’s life cycle and can extend its functionalities or even add new ones.

There’s plenty of plugins and many different ways to load/install them but my go-to way is always Alcatraz.

Read More

New Website

«Clearly» the site has changed (as long as you have been following me; if not then perhaps this is «shocking news» for you).

I started the blog with Jekyll and quickly «moved» to Octopress for its «simplicity» to make new posts, pages and change themes; or so I thought.

After some time having to deal with it and then having to create a blog for Log(n)‘s employees (being that I’m one of them at the moment) gave me some insights as to how convoluted the process is.

Read More

Hidden error variable on exhaustive block

On my previous post I tried to help «solve» in a way the problem with non-typed throws by documenting them on the internal docs as lists with markdown.

Based on that you can rightfully assume that I’m migrating all my Result<T,U> code to support throws instead, on my 2.0 branches.

As you might know (or not) whenever you do a do/catch block the catch block needs to be exhaustive; just like a switch and «catch» all possible paths.

It doesn’t mean you necessarily need to specify every single error type in your catch block (even though ideally you should react differently for each type of error) but you can add an exhaustive catch that will represent «every single error».

Read More