I fell into a case where I wanted to count the tags that were present in an HTML file and I didn’t want to download any library (like BeautifulSoup) to do so. I searched online and realized I could use the HTMLParser to do that.
Last year (2021) I decided to add GoatCounter as the analytics tool for my blog. There were a couple of reasons why I did it, but the main one is privacy. I am trying to move a bit away from Google, and I wanted something different.
I’ve written over and over about why you should have a blog and write on it. I made this website using nothing but free tools. The only thing I paid was my domain (leportella.com) and I find this super cool! 🤩
When I created my website I realied on a lot of different tutorials, one for each part of it. Because the process of creating it can be quite tricky, I decided to create a full, step-by-step tutorial.
A friend of mine told me this week that she was invited to give a talk at a conference, and asked me what I thought about it. I told her all the things I consider when giving a talk and I discovered I consider a lot of things!
One thing that I always say that is hard from learning computer science by yourself, is not knowing what you don’t know. I learned the name of a couple of concepts that I am going to share, so people know they exist 😊
When I started studying Python, if a new variable depended on another variable, I would write something like this:
Hacktoberfest is here and it is an awesome moment to contribute to open-source! However, Git and Github can be quite scary, so let’s talk a bit about the basics of these two extremely useful tools! Versioning Git is a versioning system that was designed focusing in code versioning. It basically helps us to handle file modification in an easy and painless way. Github, on the other side, is a company that implemented a system that allows you to use git to version your code while storing the code in their cloud.
I was handling some LaTeX files and I needed code coloring. I found the package minted and it seemed perfect, but it required a couple of things that made my life a bit more complicated on VSCode.
Leticia is a Brazilian developer who changed career to web development four years ago. She previously worked as an Oceanographer but caught the coding bug! Now she works as a developer at the payments solution company Stripe. She is a great example of a software engineer without a CS degree who has a successful career.
As the years went by, I developed a framework to deal with my impostor syndrome in different scales it occurs. It is not something super complex or with a deep theoretical background, but it worked for me and I’ve been using it for the past year.
Continuation of My Saga learning Scala - Part 1.
me•di•o•cre: adj. Of moderate degree or quality; synonym: average
Julia is a programming language that I heard a lot for some time now and I knew it deserved my attention. However, a number of libraries and frameworks for machine learning and deep learning keep emerging and I ended up prioritizing them first.
When you start entering the data science world, things can become really messy. There are thousands of concepts and meanings, most of them thrown at you at the same time.
AKA magics to plug holes in your dataset
I’ve been working with Project Jupyter since December of last year and it has been a wonderful experience. The last couple of days I struggled with the SQLAlchemy library that JupyterHub works on its internals. Since I studied this library and had to scratch some Stack Overflow questions to find some answers, I created this post to help digesting some of my doubts and findings.
This week, I finished my Nanodegree in Machine Learning Engineer by Udacity. To finish the course, I had to create a final study. Talking with a dear friend of mine, Pedro, he said that the National Highway Police of Brazil had a dataset on car accidents in federal roads. I decided to study this dataset, and try to predict which types of victims an accident would have based on the local, hour and accident characateristics.
I started to study programming logic when I came across problems that required knowledge in Matlab. After a while studying Matlab I was suggested to switch to Python for its ease, simplicity and for being able to be applied to numerous areas (besides being free).
This week I ran into a case were I should run several scripts with analysis that could run simultaneously. The analysis results would then be used as basis for another analysis, that could only run after all other scripts ended.
One year ago I started my new job as a Backend Python Developer. I have dropped a career, a profession and I almost drop my master degree. When everything happened, I think I didn’t understand the proportions that decision would have in my life. Now, one year later, I want to tell you a little bit about what happened this year.
Few months ago I decided to drop my career as an oceanographer and decided to become a backend developer with Python, as I told some of you here. After my blog post circulates on the internet, I got an invitation to talk on the Caipyra conference, in Ribeirão Preto (thanks Marco Rougeth).
On the last post I have written some tips for those who are starting in the world of programming, but today I want to talk something that happened to me before, and is happening to me now: There is just too much information on the internet! You will say that this is an obvious observation, but when you want to study something, this is just overwhelming!
This is the translation of the keynote talk I gave at Pycon Brazil 2022. The talk was about leading complex software engineering projects and what is the major skill needed for the job
This is the forth post on how to create your website step by step!
Last week I was part of the 2nd online edition of Pycon Brazil. An inclusive event, with interpreters to Brazilian sign language, free admission, code of conduct and much more.
I had a Django model that had 2 regular attributes and a user Foreign Key:
All my career I worked in places where people were better than me. Like… way better, in one thing or another. They were truly exceptional people.
“This post is also known as “My saga learning Scala - Part 5”
I didn’t study computer science in college and I never took a “formal” programming course. Without going into too much detail, I want to reaffirm that, looking at the past, I by no means believe that having gone to another college (different from the profession I have today) was a waste of time. <! - more -> A university teaches many things that you cannot learn by yourself, behind a computer, sinking in a sea of content.
LaTeX (yes, written exactly like this) is a system that allows you to write documents without worrying about the style of the presentation.
If you ever told me you are learning to code (or anything, really), chances are I told you you should have your blog and write in it.
Although we think of a software as being this one massive thing that does a lot of things, we can thing of a software as a huge pile of small functions that work together. A function is basically something that receives inputs, work with them internally and returns an output.
I decided that I needed to learn a new language and the language I choose was Scala. I added as my goal for 2020 to at least feel a bit comfortable with this language, so here I am.
Being a software engineer at a new company—anywhere—is hard. The codebase is completely new, you have to adapt to new patterns (for both code and culture) and most likely the problem space is completely new to you too.
My participation in technology communities over the last 3 years, lead me to notice that it’s always tricky to show to companies which don’t interact with this technology ecosystem, how beneficial it is for them to get involved. Many people (developers or not) struggle within their companies, trying to show how much they could benefit from this.
This is the fifth post on my internship on the Outreachy Program with Project Jupyter. The previous posts are available and should be read in order if you want to understand the big picture: Outreachy I Outreachy II Outreachy III Outreachy IV Increasing documentation Native Authenticator was pretty advanced, but we still needed more information available on the documentation. And this got me thinking: what is relevant to make a good documentation?
This is the second part of my study on predicting the type of victims an accident can have based on the data from the National Highway Police (Polícia Rodoviária Federal), in Brazil. This was my final report for my Machine Learning Engineer Nanodegree and my first technical diploma in the computer science field (yey!).
In today’s development, tests are a fundamental tool for keeping things nice and easy and to keep programmer’s sanity. I’ve been using a set of tools for developing my web applications with Django and it is time for me to share a little bit about them.
Starting to contribute to an open-source project is always recommended to someone who is studying to be a programmer.
The lovely Pyladies-Salvador asked for a text to debut their blog and told me that they would publish it on Women’s Day. I reflected a lot on what to write, what I could somehow add to that day that has so much meaning, and decided that I would like to talk to you about ambition. How ambitious do you consider yourself?
As I talked to some people, few new about Django’s Generic Relation and Generic Foreign Key. And when I was studying it to apply on our system, I realised that the documentation can be kind of tricky and sparse. Nevertheless, Generic Relations helped us a lot, and so I decided to write about it in this blog post :)
As I write this article, I am already talking from this world… the one we actually know so well. But I will try to explain, as best as I can, everything that I lived in this awesome week I spent in Portland at the Pycon 2016.
Hello, everybody! :D
On the last post I told everyone a little bit about my story, but now let’s begin the fun part! As I am studying and becoming a programmer I will try my best to pass along the fun and good things I am learning in the process, ok!?
While trying to check test coverage for a file that had multiple Class Based Views (CBV) everything was returning as coverage but they weren’t! I couldn’t understand why and it took me days until I get to an answer! So I wrote this post to make it more easily accessible 😊
This is the third post on how to create your website step by step! In this post, we will allow that people can comment on your awesome posts!
This is the second post on how to create your website step by step!
I talked to Tim Bourguignon at the Dev Journey podcast about career life and mentoring.
There are people who can play the piano wonderfully while others can’t even clap in rhythm (me). There are people who can express themselves well and people who cannot deal with the countless thoughts that flow through their brain. There are multiple types of intelligence. In the past few days I have had several philosophical conversations with people of all kinds. A recurring theme was a feeling of inability, of mediocrity, mixed with drops of sadness and a handful of blindness.
Panel with the London Chapter of Latinas in Tech!
I was recently helping a friend who was transitioning from Matlab to Python. Giving him some tips, I realized that many of the cool nuances I learned in Python were taught me by someone in a “do you know that?” style or to solve a very specific problem that could be solved more simply. When helping this friend who is there on the other side of the world, I remembered the time when there was no one to teach me a cool trick and, in fact, I didn’t even know it could exist.
Tutorial given during the OceanHackWeek 2020
This post is also known as “My saga learning Scala - Part 4“
This month is my 4 year anniversary of my first job as a developer. During this time I’ve had multiple jobs (startups, big companies and open source projects) and changed countries and continents. I was able to learn a couple of things that helped me improve my career and I wanted to share them as a celebration of my anniversary and everything that came with this new life.
Writing is a good way to evolve your career. You can go deep in studies you are doing, can generate content to people that may be needing a more friendly view and it is a good way to gain visibility (thinking in future jobs). Once you decided to start a new blog, a doubt pops up: where am I going to post this content?
In April 2018 I started Udacity’s Nanodegree in Machine Learning Engineer. The classes are not cheap and many questions asked me the same thing: does it worth it?
On this post you could have a small idea how SQLAlchemy works. However, all my study on SQLAlchemy basics was due to a problem I was having that took me a lot of time to figure it out. Since the problem was more complex and didn’t actually fit on the last post, I decided to create a new one dedicated to it, so here it is :)
On November I discovered that I was selected for the Outreachy internship program for the batch of December 2018 to March 2019.
I started working with MongoDB for fun and for some side projects in the last year. The main idea of using MongoDB is its flexibility. The pymongo library is really nice for getting some information, but on a project more complex, we may need something a little more intense. A nice alternative is the MongoEngine library, which is an Object-Document Mapper (ODM), which treats MongoDB documents as a kind of ORM.
This post could also be called what comes after the tutorials :)
In several Django tutorials, we learn how to receive requests and return responses with html pages having several information. This is very easy to start understanding the process that Django does: receiving requests and returning templates. But what happens after that?
Most of all Django tutorials teach us how to return HTML as response to a request. Sometimes, it is useful to make it a little more RESTful. One option is to use Django REST Framework but sometimes you need something a little bit simpler. Then you have Restless. Restless is a miniframework made by Daniel Lindsley based on what he learned by making Tastypie and some other REST libraries.
Code review is a complicated task and can become overwhelming, specially when you have no idea how to do it. However, code review can be a powerful tool to increase code quality and assure “healthy” deploys.
I just watched an awesome lecture about how to have a five-digit salary in Brazil by Bruno Ticami (Python Brazil 2013). Here are some questions and advises that he talked about:
This week I was asked to tell a little about how I became programmer (or at least, I’m in the process). I wrote this text to tell a little bit more about my story.