Worklogger

Automatic timesheet entry

As you may know, part of the daily responsibilities of the software-workers is to log their time. (And many other professions too, I’m sure.) This implies reporting time with a certain level of detail so that our managers (sometimes, ourselves) can properly bill each customer for the work done.

The problem with this is that it is a pretty repetitive task, and not only that, each customer will have requirements of their own, like using their own system for time tracking, to separate the work in tickets, to receive a summary by email, etc.

I created Worklogger to be a swiss-army-knife solution to these variables.

(Read more →)

Correlation ≠ causation

But causation ⇒ correlation|

In my earlier post I explained how certain type of machine learning models, specifically neural networks, find the correlations between two sets of values. For predictive models, we feed correlated variables to train our models. However, sometimes, we don’t know if or how variables correlate, and part of the machine learning intelligence is to actually find that out.

(Read more →)

Neural Networks can learn anything

A simple explanation on the basis of neural network learning

This is a question I’ve been recently asked, and I think it’s interesting enough to share about. A few people asked me how is it that machines can learn, and specifically, how is it that neural networks can learn to understand data that may be really complex. The goal of this article is not to give an in-depth explanation, but rather one that can be easily understood.

(Read more →)

Udacity's Deep Learning Nanodegree Foundations

Course contents and structure

A few weeks ago I graduated from Udacity’s Deep Learning Foundations Nanodegree program. It was an introduction to all things deep learning, from the very basics to state of the art techniques. Let me tell you a little bit about it.

(Read more →)

Technical Leaders **must** write code

And here's why

While the premise sounds obvious, it is not so much once you get used to all the responsibilities that a Technical Leader has. And most of the time it turns out that writing code is a second priority to them. But here’s why it shouldn’t be dismissed at all.

(Read more →)

Some best practices for HTML Canvas

by Colin Cieloha from Skilled.co

This is a guest post submitted by Colin Cieloha, who is an American author and content marketer at Skilled.co. He writes about everything that will draw his attention with a focus on the mobile and e-commerce space. When he is not writing he is spending his time traveling the globe and snowboarding. You can follow him on his Twitter at @ColinCieloha or on Linkedin.

His post focuses on performance tips regarding the use of HTML Canvas, and general best practices. Thanks Colin for this content!


So you’ve started using your canvas cheat sheet to acclimatize yourself to all the various uses of the canvas element. In the beginning you were working on some simple 2D drawings and objects, but now you’re looking to become proficient with the canvas element and see what it is capable of.

Finding a set of best practices for the canvas element isn’t always easy, since the element has been evolving for some time, and will continue to evolve. But there are a few great habits that have emerged which will help you achieve a higher level of efficiency with the element than you already have.

(Read more →)

Failed experiments and what I've learned from them

Hey, I messed up but at least I learnt from it!

In a preparation for a post that I’m going to write, I’ve prepared some code examples, and of course, making sure they work correctly. I spent nearly all of last week trying to find out what was wrong with my code, and when I did it, it was something really stupid. I don’t consider myself very stupid, so why did this happen? Let’s reflect a bit.

(Read more →)

Dealing with "unreasonable" clients

Customer management

One of the forums from the StackExchange family which I usually visit is the Workplace one. It deals with office / team behavior, ethics and professionalism. The questions are incredibly interesting – most of the time, I’m not entirely sure what I should do in situations like that – and the answers are amazingly well crafted and thought.

And there is a particular one which caught my attention lately: Manager requesting task which I believe is unnecessary. And I found it interesting because we hear that a lot in the software world: “why is my customer / manager / leader asking for that if it’s not really necessary / a priority / important?”

Well, there are several aspects to consider. Let’s go in this world of absurd requirements together.

(Read more →)

The Clean Coder

a.k.a. "Software Professionalism"

I recently read Uncle Bob’s “The Clean Coder”. I have to say, this book slapped me in the face. There’s so much to discuss.

(Read more →)

How to perform a good code review

Reaching agreement from a bunch of code

I recently wrote about how to create a good pull request, this is, how to make your code changes easy to review and discuss. Now we’re going to talk about the second part: reviewing someone else’s code. This puts you on the reviewers side, and hopefully the person submitting code did follow our guidelines to make your life easier.

There are several approaches you can take to review the code, but we’re going to enumerate a checklist that you could use to minimize the usage of your time and the efficiency of the code review.

(Read more →)