The two terms that got more popular in recent years, and as I started reading about antifragility, I noticed some issues in the way we do software nowadays.
The microservices architecture is a very resilient architecture, when a service has an outage the other ones can keep going about their business, very nice, except if they are critical services. If a critical service goes down, everything goes down.
It’s an old practice from software developers to want to remove duplication, and see it as a good thing. Services facilitate that, boundaries are very nicely drawn, many other services can integrate…
Do you remember bookmarks? Do you still use them? How do you organize your bookmarks? I organize it like this:
Yes, everything is under Other Bookmarks, or under Bookmarks Toolbar, whatever, I don’t organize them, I have just too much for it to be worth organizing, and that’s because of the way I use bookmarks.
According to the Merriam-Webster dictionary, a bookmark is:
a menu entry or icon on a computer that is usually created by the user and that serves as a shortcut to a previously viewed location (such as an Internet site)
Shortcuts, when I think about shortcuts…
When you do agile you don’t want to have silos, people learned long ago that having a separate UX team, then a frontend team, then a backend team, does not work well, ideally you want to split your product not by technical division, but by business area or product, and the team should be able to deliver new features, end-to-end
You can think this as a horizontal and vertical divisions, horizontal layers are like infra, backend, frontend, UX, and you can lay one on the top of the other, like a pie. …
I’ve been reading the book Doing Bayesian Data Analysis, and there is an example there with baseball, which I’d like to try for football.
Basically, we want to estimate what’s the probability of a player scoring in a match, and which part of that probability is influenced by their position on the field vs other factors. We’ll focus on Neymar but I’m actually using the data of all players from UEFA Champions League.
First let’s load our data. I collected data from UEFA Champions League for 2018 and 2019–2020, each row is a participation of a player in a match…
Do you know how to write tests? Cool! Can you write new test cases easily? Cool. But do you remember how did you set up the tests runner in your project? Me neither.
Once you learn, writing tests is pretty straightforward, and pretty standard across all languages, you have a way to declare the test cases, either with
it "does something" or
myTestCase() and you assert with something like
assertEqual(a,b), so you can pretty much already test even in a language that is new to you. …
You get bored, nothing to do, the first thing you reach out is your phone, you go to facebook, instagram or twitter and you scroll, scroll, scroll. Then you have an important task to do, instead you get distracted and without realizing you open facebook, and scroll, scroll, scroll.
The world now got used to it, but social media addiction didn’t use to be so common, humanity was bored since the dawn of time, but we used to use it for other more fun, relaxing, productive, or even more stupid things, but not for mindless scrolling.
When I started coding I didn’t know any good practices, I just coded and coded and you can guess that the result was horribly hard to maintain and extend, I spent nights awake solving stupid bugs to meet stupid deadlines. That’s awful, there should be a better way.
Then I entered college, and I learned software analysis with UML, service management with ITILv2, among others. Amazing! So if I plan my software in advance it will be perfect and I won’t face the problems I was having before right? Wrong. It never worked, I kept developing poor systems.
Recently I started studying about probabilistic programming, where the foundation to everything is Bayes Theorem. People always tell you that you need to have a “Bayesian Thinking” mindset to grasp probabilistic programming, and a part of this is learning to update your beliefs given new evidence.
That reminded me about this game Akinator, where you think about a character, any character ever, and it will ask you questions to precisely figure out what you are thinking of. When Akinator came up the internet was still young, at the time it felt like magic! …
When I entered this world of Software Development I was overwhelmed by the amount of good practices, recommendations, processes, organizations, rules and everything else I had to learn to deliver good software.
It was overwhelming because I never learned any of those at college, nor when I worked in an advertising agency, but since I started developing long-lasting systems I realized how necessary those good practices are.
Now, I've never seen a company who have it all, usually there is more focus in one side then in the other, previously I was working at ThoughtWorks, where technical excellence was everything…
This was a great year for machine learning, the amount of content produced about data is overwhelming, to try to keep up, I follow people on Twitter, participate on ML groups on telegram, subscribe to newsletters, podcasts and so on, so I open a lot of links every day, and some of them are very worth going back to.
Because of those many sources, I don’t have a centralized way of knowing what I read, so I decided to take a data mining approach to it: I got the links from my tweets, articles sent to kindle, YouTube history, newsletter…