Relatively Painless Technical Excellence

I have been thinking about excellence for the past couple of months, since I’ve starting working full time again. Excellence in writing code, designing systems, and formulating problems. Last week I had the opportunity to attend a talk titled Relatively Painless Technical Excellence from J.B. Reinsberger. It was one of the best talks I’ve heard on agile and software engineering. I have to start by saying I didn’t have much expectations about it, and I was positively surprised by the content. J.B didn’t talk about frameworks or tools. Instead, he discussed problems and micro-tips. Things we can do in our routine, here and there, to optimize our work for our teams and ourselves. ...

December 20, 2017 · guidj

fsql: search through your file system like a database

fsql is a tool I came across recently, while searching for Go projects on github. It’s a command line tool that lets you run SQL-like queries on your file system. You can search through your files based on their name, size, mode, and time. It’ll take you 10 min to get setup, and start using it like a (semi-)pro. It’s definetly one of my favourite command line tools now. You’ll find everything you need to know about it on its Github page.

May 20, 2017 · guidj

These Past Weeks in Science & Tech - 002

In this May’s edition of “These Past Weeks in Science & Tech”, I’ll be discussing /R Biological Data Stores Our bodies are walking a library of information. From chemical processes that regulate our biological functions, to experiences imprinted in our minds through exeprience, our cells somehow manage to store, access, and use information. So, it is no surpise that we should turn to biology to find the next generation of storage. Researchers Yaniv Erlich, from Columbia University, and Dina Zielinski the New York Genome Center, have come up with a method to successfully convert binary data into DNA strands, storing up to 2MB. ...

May 2, 2017 · guidj

Distill: Clearing Research Debt

Recently, I was refered to a website called Distill, by a friend. Their purpose for existing, as they claim, is to reduce research debt. A phenomenon that occurs when there is so much work that has been done before in a field, and is hidden behind complicated explanations that could be rather simplified, thus slowing down scientific progress by demanding a high amount of energy from researchers in understanding previous work. Energy that could be spent elsewhere, in say, doing new research. ...

April 8, 2017 · guidj

These Past Weeks in Science & Tech - 001

I tend to read quite a bit. I read journals, blogs, and sites on technology, AI, learning (with and without machines), and technology. These include renowed ones, like ACM Tech News, MIT News and Technology Review, and aleatory ones that I find on the web through platforms like Medium. As someone who enjoys reading, and writing, I figured I could use summary notes on the things I learn about. And so, I decided to do that on this blog. This is the first edition of what I am labeling as a “summary notes” type of posts, which I will be writing every few weeks. ...

April 2, 2017 · guidj

Probabilistic Reasoning

It’s Monday morning, and you just got up. You look at the clock, and it tells you the time is now 7.45am. You have a presentation that starts 8.30am, so that gives you exactly 45min to get to the office. Now, you have a few decisions to make here. Breakfast, yes or no? Mode of transportation, bus, metro or biking? Clothing preparation, i.e. throwing on last week’s shirt or ironing new clothes? Each decision will affect your timeline. For instance, breakfast could take up an extra 15 to 20min, between preparation and eating. This will give you less time for other things, and could make you potentially miss the bus. Furthermore, missing the bus could make you late, which would leave a bad impression. On the other hand, arriving hungry could be problematic because you wouldn’t be as sharp as you could be during the presentation. Let’s put aside the fact that you should have just gone to bed and woken up earlier in the first place. The fact is, you now have decisions to make to attain a specific goal, which in this case could be carrying out a good presentation, or just not being late for starters. Each choice leads to other alternatives. Some are expanded, and others dissapear, e.g. missing the bus. As you think about these decisions, you are mentally evaluating your chances of success on the final outcome. ...

March 16, 2017 · guidj

Kaggle: Titanic

I made an attempt at building a predictor for the Kaggle Titanic data challenge. You can checkout the Jupyter Python notebook on Github

September 4, 2016 · guidj

Becoming a savvy science reader

A guide from Vox on how to become savvy science reader. A must read for every Tom, Lane and Susan.

August 25, 2016 · guidj

Pokémon Go: A Killer Catch

Pokémon Go has been released for roughly six weeks now, and it’s already a phenomenon that is moving people. Literally. Whether you’re trying to get an egg hatched, searching for new Pokémon to capture, or just looking for the next gym battle to conquer your turf, and territory, people are out and about with their Pokédex in hand walking the Earth. It’s a must, if you want to become the world’s most premier Pokémon master; and according to the number of users of the app, almost every young adult and child with a smartphone does. ...

August 6, 2016 · guidj

JsonURI: json serialization and deserialization for logging

A while back, while working on the infrastructure of a ecommerce recommendations service provider, we ran into problems handling traffic from our clients in real time. As a simple solution, we decided to send data to logs through AWS S3, by appending HTTP URL parameters to GET requests to a tiny image file; something that should only be done when you’re not dealing with sensitive data. However, we had a minor issue: we had complex nested JSON objects, with objects inside fields; however, JavaScript and JQuery standard libraries only supported serialization of flat JSON objects. So, to circumvent that, I wrote a procedure to serialize complex JSON objects into plain HTTP URL parameters, and deserialize the result back to JSON. I wrote packages in Python and in JavaScript to have JavaScript client libraries sending data, and a Python app processing the logs. ...

May 28, 2016 · guidj