About Me

Hello there!
Welcome to my website! My name is Tiago Ferreira, I am an iOS (Swift and C++) Developer and beginner Cybersecurity researcher based in London but born in Portugal (you pretty much can tell by the name that I'm not english 😉 ) I am familiar with the following platforms and languages:

I specialise in Swift and C++. I am passionate about UNIX-based Operating Systems, Kernel development and security architecture planning. I am an Apple aficionado and so my main area of interest is the XNU Kernel and Apple Core Services.

Starting to code

I started to code 7 years ago, when I was 9, my first programming language was AppleScript, a very human readable programming language used to automate UI actions. When I say very human readable I mean stuff like:

tell application "Safari" open google.com

Or even:

tell app "System Events" to keystroke "foo" & return

I started with AppleScript because my father had one of those first aluminium PowerBook G4, probably one of the last PowerPC Macs, he decided it was time to teach me my way around a computer, so he set up a parental controlled account on his PowerBook, taught me around the system, and allowed me to play with it during the weekends, as he also used this to work during weekdays, I then started to wonder what that "little roll with a pen" icon was, I asked my dad and he said:

Oh that's AppleScript, it's for you to teach the computer how to automatically do boring work for you, mom and I use it sometimes.

I was amazed, do stuff for me? WOW. So I googled and googled and googled and I got it to setup alarms for me and all sorts of tasks, by the time I got bored with AppleScript I was 11 and my father told me that then I should give C++ a try, as it "is like the father of AppleScript", so both Google and my father helped me getting started, my father then bought me some C++ books and I kept on learning. By that time my father was receiving a new Mac from the company where he worked at, so as an "achievement" award he gave me his PowerBook. By that time I had explored the system well enough and escalated my account to root... ¯_(ツ)_/¯

Some years later the poor PowerBook was shutdown, he lived a good life, but his PowerPC architecture was incompatible with most programming tools I wanted to use, so on Christmas my parents gave me a brand new MacBook Air, the lowest of the models, the highest of my expectations.

RoboCup, Brazil, 2014

On the summer of 2014 I took part in RoboCup a worldwide junior robotics championship, for ages 13 to 20, our robot was a humanoid that we built, it had about 20 motors all controlled via an Arduino, which was programmed using C++. This was a good opportunity to test my programming skills, but an even better one to gain skills like team work and working under pressure, (we had less than 24 hours to code more than a thousand lines of code.) You can read more about RoboCup here, or even check the code on GitHub.

UCL CS Research, London, 2017

On the summer of 2017 I aided in post-doctoral Computer Science research at University College of London's PPLV Group my work was mainly based on C++ development of static analysis tools for C++ code, using LLVM Clang's AST frontend and libTooling. The script would be able to learn the code's function flow and then provide the user with information and possible bug fixes using the in-house automata learning technology.

Today

Today I am 16, I (like every programmer) don't know everything about C++, Swift, HTML, CSS, Docker, NGINX, Python, etc. But am very confident on using them, love to solve challenges and make my life easier with them as well as other people's life more enjoyable.

You can ask me stuff or get in contact with me by email or twitter, you can also check what I'm up to on GitHub.

See ya 👋

Tiago Ferreira

Read more posts by this author.