Software engineerBrazilOttawa
Ângelo Ocanã
Software engineer at Shopify, in Ottawa. I’ve been learning and building for the web since 2007, and I still try to learn something new every day. I like making hard things feel simple for the people who use them.

Ice swimming
Blocks, butterfly and the club

Lifting
First powerlifting meet

Woodworking
Building my board-game table

Ice swimming
Another sunny day at the frozen beach! ❄️🌅☀️🏊♂️

Camping
Sunset in the lake

Snow days
swimming in the snow + snow angel ❄️🏊♂️🥶👼🌨️

Ice swimming
freestyle + butterfly = 50m 🏊♂️🥶 -12°c, feels -19°, wind 30km/h. Today was hard, I almost gave up on going 😅

Lifting
1 year ago :D I'm almost recovered after the pandemic :/

Woodworking
First Japanese-style woodwork, no screws

Ice swimming
-16°C scared most away, but 4 brave souls showed up to take the plunge today 🥶🧊💪🦵🏊♂️

Lifting
First time climbing, it was fun 🤩, but painful 😅

Food
bbq all year! burgers at 7am on -19° 🍔🥶

Ice swimming
What should I do? I love butterfly 😭🥶🧊🏊♂️

Lifting
🔝

Snow days
A refreshing snow angel 😇 and swim after shoveling for more than 1 hour

Ice swimming
Building the resistance up again 🙏 it was so cold today🥶 -18c, wind gust 24km/h but the sun and the day were beautiful 😍

Lifting
🧗🔝💪

Woodworking
I can't believe I made this board gaming table! I started 1 month ago, it was a lot of work but I'm really happy with the results :D I'm looking forward for the next project! :D

Ice swimming
Cold 🥶❄️

Lifting
🙏 #altitudegymkanata

Food
🔥🔥🔥

Ice swimming
beautiful day to go to the beach 🏖️😍🥶❄️

Lifting
Still far from the goal of 10 reps in 2025 but happy with the progress, started the year with 1 rep 🦵🏋️♂️🔥

Snow days
First snow storm of the season ❤️❄️🌨️ best time to go to the gym 😅

Ice swimming
Cold 🥶❄️

Lifting
Deadlift

Food
cassava and chicken thighs on the grill, will it turn out well?

Ice swimming
ice to heal the pain

Lifting
Heavy back squat

Food
#ribs #dutchoven #bbq

Ice swimming
Cutting ice is a lot of work 🥵 glad it worked out and now we have a long hole to swim ❤️

Lifting
My new gym in Brazil lol

Food
#ribs

Ice swimming
TBT from yesterday 😅, first time 3 laps (150m), my back was frozen and barely moving on the last lap

Lifting
My new gym in Brazil lol

Food
Tortillas on the charcoal grill

Ice swimming
100m 🏊♂️🥶

Lifting
Last set of the best exercise for chest

Food
Sausages smoking on the grill

Ice swimming
I forgot to were goggles today 🤦 It was really hard when doing the butterfly swim 🥶🥶🥶

Lifting
I'm back to deadlifts after a long time without doing it :D

Food
Steaks searing over charcoal

Ice swimming
Swimming past blue ice blocks

Lifting
oh no 🤣

Music
shopify summit - Roots, Weezer, Girltalk.

Ice swimming
First ice swimming of the season with my legend friend Tom 🥶😍🧊🏊♂️🩲

Lifting
#basketball #trampoline

Nature
meditation, snake and frog.

Ice swimming
First ice swim of the season, 15m pool 🥶🏊♂️🧊

Lifting
leg workout 🔥🦵

Travel
NYC

Ice swimming
lots of people today and I had the pleasure to help cut the ice 🔪🧊❄️🥶🏊♂️

Lifting
Is this the hardest leg exercise? 🦵

Food
Brazilian hot dog 😋🇧🇷🇨🇦

Ice swimming
Sawed +2 feet, 3 reps shoulder press 😅, failed butterfly swim (my head froze and I started drinking water and I couldn't stop it 🤦😅)

Lifting
T-bar rows 🐎💪🦵🔥

Music
shopify summit - Roots, Weezer, Girltalk.

Ice swimming
best pool ever 😅🥶🏊♂️

Lifting
Old-school barbell rows in the middle of a long back workout

Nature
🐧🐧🐧 fight Calgary zoo

Ice swimming
🧊🥶 the pool is getting longer, we extended it more today, now it is over 8 meters on the way to 20~25m 🙏

Lifting
leg day 🔥

Travel
Toronto sunset from CN Tower

Ice swimming
Oh no, the perfect ice block broke 😭

Lifting
Leg and chest day in Brazil

Food
Feijoada 😋

Ice swimming
Butterfly in the ice pool

Lifting
slow and steady wins the race 🔥💪🦵

Nature
So cute 🥹

Ice swimming
No swimming today

Lifting
happy new year! last leg day of the year, trying out pistol squats on the Smith machine, they are so hard 🤯🦵💪

Food
first bbq of the snow season 🥶🔥🥩❄️

Ice swimming
What a beautiful and warm (-1c) day to go to the frozen beach! 🏖️ 🥶❤️🏊♂️

Lifting
new squats record 🤯🔥😁🦵

Nature
Seahorse among coral

Ice swimming
Getting into the frozen lake

Lifting
My goal for this year is to squat with 3 45lbs plates each side for 10 reps. It is already May and I'm still at 2 reps 😭😅🙏🦵

Food
sushi & bacon is this a crime?

Ice swimming
Walking out onto lake ice

Lifting

Nature
Sea anemones in aquarium

Ice swimming
Wading into icy lake

Food
Ketchup, mustard and relish on Costco’s pepperoni pizza

Lifting
The best way I found out to workout traps without pain in the neck

Nature
Sand tiger shark gliding

Ice swimming
so windy today 🌬️🥶❄️

Food
Slicing grilled steak

Lifting
Deep barbell squats

Nature
Kelp forest aquarium tank

Ice swimming
-8°, feels like -15°, wind 29 km/h, water moving fast... hardest cold plung of this season 🥶🏊♂️🧊

Food
Firing up the grill in snow

Lifting
Heavy dumbbell rows

Nature
Tropical fish over coral reef

Ice swimming
Deadlifting ice blocks for a swim 🧊💪

Lifting
Some new weights unlocked today 🔥

Nature
Jellyfish under blue light

Ice swimming
3 more ice blocks out today, the pool is now over 10 meters 🧊❤️💪🏊♂️🩲

Lifting
Using every weight in the hotel gym on the leg press 🦵🔥 and I'm a weakling, a real bodybuilder would just warm up with this 😅

Nature
Stingrays gliding in aquarium

Ice swimming
4h to reopen 70% of the ice pool at -20ish°c 🥶🧊🏊♂️🌤️

Lifting
last week I failed but today 1.5 reps, on the way to 10 reps 2025 🙏🦵🔥

Nature
Shark swimming overhead

Ice swimming
Swimming between ice floes

Lifting
first time 5 plates, but I'm not ready yet 😅 maybe next time 🙏

Nature
Drifting jellyfish

Life
bowling 🎳

Lifting
One-arm dumbbell row

Snow days
First sleeding of the season 😍🥶

Travel
Riding my Moto in brazil after 2 years, I didn't forget how to do it :D

Lifting
Leg extensions at the gym

Food
#ribs #airfryer

Nature
🐒🐒🐒 calgary zoo

Lifting
bridge the hardest of all. Help! I can't get up after this 😅⚰️

Nature
Fish in aquarium tank
Personal projects · track2.fit
Train hard. Log easy.
A workout tracker I design and build end to end, on iPhone, Apple Watch, iPad and the web, always in sync.
Open track2.fit →How we built it · soon














It already knows what’s next.
Suggests your next workout, fills in weights and reps, and logs whole sets from one sentence.




Log a set from your wrist.
Rest timer, heart rate and PRs, without reaching for your phone between sets.

The big picture.
History, body measurements and records, laid out on iPad.

And on the web.
The same workouts in any browser, always in sync.
Offline first.
Every device keeps its own copy and syncs when it can: watch to phone, phone to cloud, cloud to everything else.
- TRACK2.FITAndroidcoming soon
Android and Wear OS.
On the way. Free, no ads.
Personal projects · Jump Over Jump
Make your next leap.
Like checkers, but nobody gets captured. Hop over any piece, chain your jumps and race all eight home, in any browser.
Hand-coded in 2014. Rebuilt with AI in 2026.
Play it →How we built it · soon
jump over jump
Ⅱ Pause demoTwo sides, one race: first to bring all eight across wins.
Make your
next leap.Play it →
jump over jump
Make your next leap.
Two sides, one race: first to bring all eight across wins.
Play it →
- BeginnerA gentle start
- 2014My first hand-coded bot
- ClassicPreserved from an early version
- ExpertPlans several moves ahead
- MasterDeeper thinking, up to 3 seconds
- NeuralPure intuition · 5.8M parameters
Six bots, from gentle to Neural.
A beginner, the two bots from my hand-coded versions, search bots that plan moves ahead, and Neural: it looks at the board once, searches nothing, and still beat Master in 19 of 24 games.
jump over jump
Make your next leap.
Two sides, one race: first to bring all eight across wins.
Play it →
✓Room link copied
You vs Friend
Play a friend online.
Open a private room, send the link, and play live from any phone or browser. No sign-up, and the server checks every move.
EveryonePlayersAIs
- 1Your name here🏆
- 2NeuralAI
- 3MasterAI
- 4ExpertAI
Win 3 · Draw 1
Room at the top.
Three points a win, one a draw, for people and bots alike. It’s early, so a few wins go a long way.
- 4 lessons
- 30 languages
- Works offline
- 3D board
- Light & dark
Learn it in a minute.
Four short lessons teach the rules by playing. The board is animated in 3D, it speaks 30 languages, and it works offline.
Behind the scenes
Twelve years of rewrites.
Every time I wanted to learn a language, I rebuilt the same little game.
Bots from beginner to a neural network, online rooms for friends, and the original 2014 bot still waiting for a rematch.
$ git log --reverse --date=short 2014-10-25 Init 2014-10-27 Board … c_sharp_phaser/JumpOverJump2014
C# + Phaser
The first version, hand-coded to learn a game engine.

2016
C# + AngularJS
The version that lived on jumpoverjump.com for years.

2016
TypeScript, Angular 2, Meteor
One language for the client and the server.
a b c d e f g h 8 ● ● ● ● ● ● ● ● 7 · · · · · · · · 6 · · · ● · · · · 5 · · · · · · · · 4 · · ○ · · · · · 3 · · · · · · · · 2 · · · · · · · · 1 ○ ○ · ○ ○ ○ ○ ○ > c1 → c4
2017
Functional TypeScript
The rules rewritten as pure functions, with a simple AI and a terminal UI.
JumpOverJump/ ├── bend/ # massively parallel ├── c/ # tiny + fast ├── typescript/ ├── c_sharp_angularjs/ └── c_sharp_phaser/
2024
Bend and C
Massively parallel code, and the smallest, fastest engine I could write.

2026
Rebuilt with AI
A neural opponent, online rooms for friends, and the 2014 bot still there to beat.
Personal projects · Tic Tac Toe AI
Beat my AI.
I built it by hand in 2017 for my interview at Kinaxis, whose challenge was a game on the HTML5 canvas: three days from the first commit to the demo. The AI came after, with six more weeks of polish.
You 0 × 0 AI
Built in 2017 with
How it plays
Simple rules make the moves: win if it can, block if it must, otherwise any free square. A small neural network (18 inputs, 9 hidden, 9 out) trains on every game too. That was the experiment, and it never learned to play: it always reaches for the same square, and the rules step in.
The game here is the same code, ported to TypeScript.
- HTML5 Canvas
- Web Workers
- Synaptic
- React
- Redux
- Ramda
- Gatsby
- GraphQL
- styled-components
- Jest
- ESLint
- Babel
From the commit log · 2017
Three days, by hand
- Sep 23The challenge arrives. First commit, and a board on a canvas by the afternoon.
- Sep 24–25Lines that draw themselves frame by frame, then X, O and the winning line.
- Sep 26The interview, at 11:30. The last commit before it, a test, went in at 11:28.
- Sep 27–28After it: an AI that wins and blocks, and a neural network wired in.
- Sep 30–Oct 6It takes turns starting, keeps the score and thinks in a web worker.
- Oct 8The board rewritten as bits: two per square, one number for the whole game.
- Nov 5–7Type signatures, docs and memoized animations.
Career · today, then back to the start
Where I’ve built things.
7 companies since 2007. Scroll sideways for each one.
2021NowToday
Shopify
Staff software engineer · Ottawa, Canada
What I built
On every team I joined I was the team lead: I championed the projects, designed their architecture and brought together the people they needed, across Shopify teams and partner companies like Amazon, to ship them for millions of merchants.
- Rollouts ↗Launch theme, checkout and account changes on a schedule, roll them out gradually, or run them as A/B experiments against the live store.
- SimGym ↗AI shoppers that visit a store before real buyers do. They browse, add to cart and say what confused them, so merchants can compare a new theme with the live one before shipping it.
- Delivery promise ↗Delivery dates buyers can trust, on product pages and in checkout, worked out from where the stock is, where the buyer is and real transit times.
- Buy with Prime ↗The Amazon integration that brings Prime delivery options to Prime members in Shopify checkout, paying with their Amazon or Shop Pay wallet.
- Shopify Fulfillment NetworkOrders, then Growth and Activation: getting merchants’ orders into Shopify’s warehouses, and helping new merchants get set up to ship with the network.
- Ruby
- TypeScript
- Rust
- GraphQL
- React
- Remix
- MySQL
- BigQuery
Shopify · Highlights
01 Rollouts ↗
Launch theme, checkout and account changes on a schedule, roll them out gradually, or run them as A/B experiments against the live store.
02 SimGym ↗
AI shoppers that visit a store before real buyers do. They browse, add to cart and say what confused them, so merchants can compare a new theme with the live one before shipping it.
03 Delivery promise ↗
Delivery dates buyers can trust, on product pages and in checkout, worked out from where the stock is, where the buyer is and real transit times.
Shopify · Highlights
04 Buy with Prime ↗
The Amazon integration that brings Prime delivery options to Prime members in Shopify checkout, paying with their Amazon or Shop Pay wallet.
05 Shopify Fulfillment Network
Orders, then Growth and Activation: getting merchants’ orders into Shopify’s warehouses, and helping new merchants get set up to ship with the network.
20182021
Kinaxis
Principal developer · Ottawa, Canada
What I built
The web app for RapidResponse, Kinaxis’s supply chain planning platform, in TypeScript and React. I helped move it off AngularJS, designed its monorepo, hunted down performance problems and memory leaks, and wrote our own state management library, inspired by Redux, Reselect and Recoil.
- Our own state libraryInspired by Redux, Reselect and Recoil, built for the size and speed the app needed.
- Reviews and mentoringMore than 100 pull requests reviewed a month, and always around to help the team.
- Tech talksRegular internal talks, and close work with UX and product to shape new features.
- TypeScript
- React
- Redux
- RxJS
- Angular
- C#
- .NET MVC
- Node.js
- Jest
- Jasmine
- TestCafe
- TDD
- webpack
- Gulp
- styled-components
- Sass
- Ramda
- Azure
Kinaxis · Highlights
01 Our own state library
Inspired by Redux, Reselect and Recoil, built for the size and speed the app needed.
02 Reviews and mentoring
More than 100 pull requests reviewed a month, and always around to help the team.
03 Tech talks
Regular internal talks, and close work with UX and product to shape new features.
20152018
Freelance the comeback
Independent developer
What I built
Back on my own after POL: web and mobile apps for startups and investors, websites, more work for POL, and my own board game.
- InnovativeA website for Innovative and BBM Brasil, in HTML, CSS and JavaScript.
- StaffgeistA web and mobile app in Angular and Ionic, on C#, MongoDB and Elasticsearch in Azure.
- HiveProject management software I spent a few months building for a group of investors, with Angular, Ionic, D3 and C#.
- Empório Viña RealThe store’s website, in plain HTML, CSS and JavaScript.
- APM ↗For the Associação Paulista de Medicina, with Sorocabacom, in C#, .NET MVC, WCF and SQL Server.
- budbuds.usA US startup that helped growers monitor and control their plants’ growth with QR codes. Built with React Native, GraphQL and Node.js. No longer online.
- POLMore work on the rewards platform I helped build, this time as a freelancer.
- Jump Over JumpMy own board game, on the side: the C# and AngularJS version that lived on jumpoverjump.com for years, then its TypeScript rewrites.
- TypeScript
- AngularJS
- Ionic
- Cordova
- React Native
- Redux
- GraphQL
- Node.js
- D3
- C#
- .NET MVC
- WCF
- MongoDB
- PostgreSQL
- Redis
- Elasticsearch
- SQL Server
- Docker
- Kubernetes
- Azure
Freelance · the comeback · Highlights
01 Innovative
A website for Innovative and BBM Brasil, in HTML, CSS and JavaScript.
02 Staffgeist
A web and mobile app in Angular and Ionic, on C#, MongoDB and Elasticsearch in Azure.
03 Hive
Project management software I spent a few months building for a group of investors, with Angular, Ionic, D3 and C#.
04 Empório Viña Real
The store’s website, in plain HTML, CSS and JavaScript.
Freelance · the comeback · Highlights
05 APM ↗
For the Associação Paulista de Medicina, with Sorocabacom, in C#, .NET MVC, WCF and SQL Server.
06 budbuds.us
A US startup that helped growers monitor and control their plants’ growth with QR codes. Built with React Native, GraphQL and Node.js. No longer online.
07 POL
More work on the rewards platform I helped build, this time as a freelancer.
08 Jump Over Jump
My own board game, on the side: the C# and AngularJS version that lived on jumpoverjump.com for years, then its TypeScript rewrites.
20112015
Total On Demand · Peela · POL
Lead senior C# developer · São Paulo, Brazil · one company, renamed twice
What I built
Incentive-campaign and rewards platforms for big brands, then POL, our own e-commerce platform where people redeem the points they earn.
- Incentive campaigns5 to 8 a year, with 5 thousand to 9 million users: a social network for each campaign, games, goals and results, a news feed, quizzes and photo galleries.
- Campaign clientsVivo · Telefônica, BASF, Volkswagen, Sony, L’Oréal, Johnson, Net, FMC, FTD, Sky, Oi, BRF, Syngenta, Cury and Tenda.
- POL · Prêmios OnlineOur own e-commerce platform, connected to retail partners like B2W, Magazine Luiza, Walmart, Casas Bahia, FastShop and Avon. I built its search engine on Lucene.
- Working with clientsMeeting clients to understand what they needed and plan the strategy for each campaign.
- C#
- .NET MVC
- Web API
- WebForms
- WCF
- Entity Framework
- StructureMap
- Lucene
- Elasticsearch
- RabbitMQ
- SQL Server
- PostgreSQL
- jQuery
- Heroku
- AWS
- DDD
- TDD
- Scrum
Total On Demand · Peela · POL · Highlights
01 Incentive campaigns
5 to 8 a year, with 5 thousand to 9 million users: a social network for each campaign, games, goals and results, a news feed, quizzes and photo galleries.
02 Campaign clients
Vivo · Telefônica, BASF, Volkswagen, Sony, L’Oréal, Johnson, Net, FMC, FTD, Sky, Oi, BRF, Syngenta, Cury and Tenda.
03 POL · Prêmios Online
Our own e-commerce platform, connected to retail partners like B2W, Magazine Luiza, Walmart, Casas Bahia, FastShop and Avon. I built its search engine on Lucene.
Total On Demand · Peela · POL · Highlights
04 Working with clients
Meeting clients to understand what they needed and plan the strategy for each campaign.
20102011
Empresário Cobrança
Lead C# developer · São Paulo, Brazil
What I built
Systems for a debt-collection company: debt negotiation for people and companies across Brazil, data imports, access control and internal tools.
- Debt negotiationA web platform for negotiating the debts of people and companies across Brazil, with interest-rate algorithms and our own barcode generator for payment slips.
- Millions of recordsImports that cleaned up millions of records in many file formats, and fast queries on a 500 GB SQL Server database.
- Access controlAccess control that takes a photo with a webcam, built in WPF.
- Internal systemsHR, finance and CRM systems for the company itself.
- C#
- WCF
- WPF
- WebForms
- Windows Forms
- Windows Services
- Ext.NET
- jQuery
- SQL Server
Empresário Cobrança · Highlights
01 Debt negotiation
A web platform for negotiating the debts of people and companies across Brazil, with interest-rate algorithms and our own barcode generator for payment slips.
02 Millions of records
Imports that cleaned up millions of records in many file formats, and fast queries on a 500 GB SQL Server database.
03 Access control
Access control that takes a photo with a webcam, built in WPF.
04 Internal systems
HR, finance and CRM systems for the company itself.
2010
Media W
C# developer · São Paulo, Brazil
What I built
PDV TED, point-of-sale software for the Cadê o Nenê stores, built to Brazil’s tax rules and talking to Bematech fiscal printers and card machines.
- C#
- Windows Forms
- MySQL
20082010
Upgrade Consultoria
Junior C# developer · São Paulo, Brazil
What I built
Web systems for big construction projects and for São Paulo’s public schools, and the company’s own ERP and CRM.
- PriManagerSistema Pri’s web system for managing large construction projects, for clients like Eletropaulo and CDHU, and, in 2009, Mapa de Obras for AES Eletropaulo.
- FDE ↗For the Fundação para o Desenvolvimento da Educação: a system to manage the infrastructure of São Paulo state’s public schools.
- ERP and CRMOur own system for running the company: cash flow, clients, suppliers and the relationship with each.
- C#
- .NET
- WebForms
- Windows Forms
- Windows Services
- Telerik
- Web Services
- jQuery
- Flash · ActionScript
- Google Maps API
- SQL Server
Upgrade Consultoria · Highlights
01 PriManager
Sistema Pri’s web system for managing large construction projects, for clients like Eletropaulo and CDHU, and, in 2009, Mapa de Obras for AES Eletropaulo.
02 FDE ↗
For the Fundação para o Desenvolvimento da Educação: a system to manage the infrastructure of São Paulo state’s public schools.
03 ERP and CRM
Our own system for running the company: cash flow, clients, suppliers and the relationship with each.
20072010
Freelance the start
Independent developer
What I built
Where it all started: my first websites and systems, for a church, a gym and local companies, then side work alongside my first jobs.
- Academia Corpus S&AMember sign-up and access control for the gym.
- Igreja Cristã de AlphavilleThree websites, for the church, its youth group and its branch in Portugal, and a system to show song lyrics on the projector.
- FRP InstalaçõesThe company’s website, in PHP and MySQL.
- RIS Security ↗The website for a security and automation company in Itapevi, near São Paulo.
- BBM BrasilA system for sending SMS messages, in C#, ASP.NET MVC and SQL Server, built in 2009–10 alongside my job at Upgrade.
- PHP
- MySQL
- jQuery
- Flash · ActionScript
- Adobe Flex
- VB.NET
- MS Access
- C#
- ASP.NET MVC
- SQL Server
Freelance · the start · Highlights
01 Academia Corpus S&A
Member sign-up and access control for the gym.
02 Igreja Cristã de Alphaville
Three websites, for the church, its youth group and its branch in Portugal, and a system to show song lyrics on the projector.
03 FRP Instalações
The company’s website, in PHP and MySQL.
04 RIS Security ↗
The website for a security and automation company in Itapevi, near São Paulo.
Freelance · the start · Highlights
05 BBM Brasil
A system for sending SMS messages, in C#, ASP.NET MVC and SQL Server, built in 2009–10 alongside my job at Upgrade.
Education · courses · languages
Never stopped learning.
School and college around São Paulo, courses ever since, the languages I speak, and side projects along the way.
20132014
UNIP
Universidade Paulista
Analysis and systems development: the degree I started at FIAP, finished here in 2014.
20102011
FIAP
Faculdade de Informática e Administração Paulista
Where I started my degree in analysis and systems development.
20072009
ITB · FIEB
Instituto Técnico de Barueri
A technical course in web design, with an emphasis on digital media.
2012
Pluralsight
Design and technology courses
Online courses ever since. A few from the early years:
- ASP.NET MVC 4 Fundamentals
- Build Your Own Application Framework with ASP.NET MVC 5
- AngularJS: Get Started
- Domain-Driven Design Fundamentals
- Introduction to Ruby on Rails 3
Online learning
Besides Pluralsight, I keep learning from:
- egghead.io ↗
- Frontend Masters ↗Now master.dev
- O’Reilly ↗
- Udemy ↗
- Brilliant ↗
- YouTubeTech videos, every day
20082009
Inglês 200h
AMPM · Aliança Mundial Idiomas
A 200-hour intensive English course.
Certificates
- FIAP Certified System Developer
- Desenvolvedor .NET 5 EstrelasMicrosoft’s five-star .NET developer program.
- Workshop MSDN Visual Studio 2010Microsoft
- Certificado de Qualificação Profissional em Programação de ComputadoresA professional qualification in computer programming.
Languages
- PortugueseNative
- EnglishFluent
- SpanishProficient
- FrenchBasic
Side projects
- Polutz ↗Open-source, reusable and tested modules to share between projects, in React, GraphQL and Node.js.
- angeloocana.com v22017: the second version of this site, in Gatsby, React and GraphQL.
- angeloocana.com.br2014–15: my first site, in Angular and C#.
Posts
Notes I wrote along the way.
Kept as they were first published, from C# video tutorials in 2015 to React in 2020. New ones are coming: how track2.fit and Jump Over Jump were built.
2020
Mar 29, 20203 min read
Why useMemo instead of useState + useEffect?
I frequently see useState and useEffect being used together where only useMemo would be enough to handle the same task, and as a bonus it is even faster! Checkout this…
- React
2018
Aug 24, 20183 min read
Making async reasonable with redux saga
<img style="max width: 100%; display: block; margin: 3rem auto;" alt="Redux Saga Logo" src="https://angeloocana.com/imgs/Redux Saga Logo Landscape.png" title="Redux saga…
- JavaScript
- ES6
2017
Oct 16, 20171 min read
Learn English links
Tests, correct pronunciation, tips and more. Learn and contribute to this collection of free content to learn English. (New links weekly!) Links Level Test & answers…
- Language
- English
2017
Sep 21, 20171 min read
10 tips to Start using Github and Command line
Do NOT lose your files anymore! Keep track of the history change, save to the cloud and be safe. Here you are going to learn simple tips to become a NINJA using Github…
- Git
- version control
2017
Sep 3, 20171 min read
Fix ENOSPC error
This error happens when your are watching to many files on linux. You can get an error message like this: error UNHANDLED EXCEPTION Error: watch…
- Linux
- Arch
2017
Aug 30, 20171 min read
How to setup ssl https:// for your site
How to setup https / ssl for surge.sh and ssl.com, It was hard to grab all the pieces, So I hope I can help who is in trouble. You can follow the oficial tutorial at…
- Gatsby
- surge.sh
- ssl.com
2017
Aug 30, 20171 min read
How to use Word and Excel on Linux or maybe not...
Do you need Word and Excel on linux? Follow my steps to install LibreOffice an open source option for linux distros. Install LibreOffice Official guide:…
- Linux
- Arch
- Word
2017
Aug 28, 20171 min read
Access and Backup Android Files and Photos
Is your Android mobile FULL? Backup your data to your Arch Linux. It is easy following my steps (I hope hahaha). I had some trouble with other programs (android file…
- Linux
- Arch
- Android
2017
Aug 26, 20171 min read
How to install Yaourt on Arch linux
Yaourt is the community packager manager for Arch Linux. When you are using pacman (official packager manager), you do need to use sudo , when you are using yaourt , you…
- Linux
- Arch
2017
Aug 12, 20171 min read
Install Arch linux + wifi and xfce4
If you want to learn Linux for real, Arch is my favorite distribution, be prepared for lots of commands and research, but keep calm, you are goin to learn! Boot Arch…
- Linux
- Arch
2017
Aug 8, 20171 min read
French Movies
I love French Movies. They are so close to real life, real people. They talk about sex, drugs and other taboos openly. Jeune & jolie en: Young & Beautiful pt: Jovem e…
- Language
- French
2017
Aug 8, 20172 min read
Vim Help Commands
Vim is a old school text editor, It runs in the console, It is the faster of all. It's the best option for accessing servers through line command. Basic commands Y Copy…
- Text Editor
2017
Aug 3, 20171 min read
Learn French links
If you want to learn this amazing language, here you can find my link collection of free content. Links Learn French with Vincent
- Language
- French
2017
Jul 31, 20171 min read
Extract Files in Arch linux
Extract .rar Extract .zip Install unzip Extract file
- Linux
- Arch
- Extract files
2017
Jul 31, 20171 min read
Install fonts in Arch linux
Move your font files to /usr/share/fonts/
- Linux
- Arch
2017
Jul 30, 20171 min read
Setup dev env Arch linux
Install git Install Nodejs Install NPM Fix global permissions error https://docs.npmjs.com/getting started/fixing npm permissions Make a directory for global…
- Linux
- Arch
- NodeJs
2017
Jun 23, 20171 min read
Advanced Git commands
Enable Auto Complete, Commit with title and description, create alias, navigate history, update fork and more! Enable Auto Complete while typing git commands on terminal…
- Git
- version control
2017
Jun 23, 20171 min read
Functional Programming Examples
- Functional Programming
2017
Jun 23, 20171 min read
Install ZSH and oh-my-zsh
Install ZSH https://github.com/robbyrussell/oh my zsh/wiki/Installing ZSH Install oh my zsh Download Install Make it your default shell: (You must logout to see the…
- Terminal
- ZSH
- Command line
2017
Jun 23, 20171 min read
JS Spred Operator Examples
- JavaScript
- ES6
- ES2015
2015
Aug 15, 2015VideoIn Portuguese
Parte 6 App do Projeto Completo C# MVC Migrations StructureMap DDD TDD
Parte 6 'App' do do curso de criação passo a passo de um projeto completo com CleanCode, C , MVC, SQL Server, EntityFramework, Migrations, UnitTest, DDD, TDD, Moq, IOC,…
- C#
- .net
2015
May 7, 2015VideoIn Portuguese
Parte 5 Repositories do Projeto Completo C# MVC Migrations StructureMap DDD TDD
Parte 5 'Repositories' do do curso de criação passo a passo de um projeto completo com CleanCode, C , MVC, SQL Server, EntityFramework, Migrations, UnitTest, DDD, TDD,…
- C#
- .net
2015
Apr 29, 2015VideoIn Portuguese
Parte 4 EnityFramework e Migrations do Projeto Completo C# MVC Migrations StructureMap DDD TDD
Parte 4 'Entity Framework e Migrations' do do curso de criação passo a passo de um projeto completo com CleanCode, C , MVC, SQL Server, EntityFramework, Migrations,…
- C#
- .net
2015
Apr 17, 2015VideoIn Portuguese
DicaRapida 2 Por um código MELHOR!
Dicas para cria um excelente código, que vai aumentar sua produtividade, evitar muitas dores de cabeça, e colaborar para um mundo melhor!
- C#
- .net
2015
Apr 14, 2015VideoIn Portuguese
Parte 3 Entities do Projeto Completo C# MVC Migrations StructureMap DDD TDD
Parte 3 'TDD e Entities' do do curso de criação passo a passo de um projeto completo com CleanCode, C , MVC, SQL Server, EntityFramework, Migrations, UnitTest, DDD, TDD,…
- C#
- .net
2015
Apr 10, 2015VideoIn Portuguese
DicaRapida 1 Melhorar Performance MVC
A dica rápida de hoje é de como melhorar a performance do seu projeto MVC com uma alteração simples!
- C#
- .net
2015
Apr 7, 2015VideoIn Portuguese
Parte 2 ValueObjects do Projeto Completo C# MVC Migrations StructureMap DDD TDD
Parte 2 'TDD e Value Objects' do do curso de criação passo a passo de um projeto completo com CleanCode, C , MVC, SQL Server, EntityFramework, Migrations, UnitTest, DDD,…
- C#
- .net
2015
Mar 27, 2015VideoIn Portuguese
Parte 1 Base Projeto do Projeto Completo C# MVC Migrations StructureMap DDD TDD
Parte 1 do curso de criação passo a passo de um projeto completo com CleanCode, C , MVC, SQL Server, EntityFramework, Migrations, UnitTest, DDD, TDD, Moq, IOC,…
- C#
- .net