Programmer, geek, and more.

Nicola Bagalà

Programmer, geek, and more.

Welcome to my web portfolio! Use the navigation menu above to find out more about me and what I do.

Send me an email at nicola.bagala@gmail.com

Download my CV

This is me!

About me

I'm a bit of a multi-field geek—a mathematician by training, with a solid programming background and a passion for nearly anything science-related, but if you have a look around this website, you'll see my interests reach far beyond just that.

Presently, I am looking for opportunities to apply my knowledge of programming in a professional environment to real-life applications and expand it in the process, particularly in the field of web development. At the same time, I'm building more experience autonomously, by means of personal projects which you can find in this portfolio.

Below you'll find a summary of my skills and other information. For more details and my work experience, have a look at my resume.

My skills in brief

  • Technical skills

    • Web technologies: I have good knowledge of HTML5, CSS3, JavaScript (ES6 too), Bootstrap, and I also have some experience with Semantic UI, jQuery, and SASS. Speaking of back-end, I have some experience of Node.js and Express, and of SQL and Mongo databases. I'm very willing to try other languages/technologies, too. At the moment, I'm studying React.js.
    • Programming languages: I have experience with Java and Microsoft Visual Basic and C# 2013.
    • Editors/IDEs: I use Brackets and/or Atom for web development. As for IDEs, I'm familiar with Microsoft Visual Studio, IntelliJ IDEA, and NetBeans.
    • OSes: I'm a Windows user, but I'm willing to learn about and work on other OSes. I have some familiarity with command line environments.
  • Language skills

    • English is my strongest foreign language. It's my preferred communication language and I have excellent command of it, stemming from years of speaking, reading, writing, and acting in it.
    • Finnish is my second strongest foreign language. I have certificates from several Finnish courses which I attended and passed with flying colours. Overall, my command is very good, though my comprehension and reading skills are higher than my speaking and writing skills—I don't get to practise these very often.
    • Italian is my native language.

Want to get in touch?

Send me an email to nicola.bagala@gmail.com. You'll also find me on LinkedIn, Facebook, Twitter, and GitHub.

Programming portfolio

Front-end

This is a collection of my front-end projects—either example websites or real-life ones. My favourite editors are Brackets and Atom. I made all the graphics myself, mostly; in some cases, I used freely reusable pictures from the Internet or other pictures I heavily modified. I use Adobe Photoshop as my image editing tool.

MoGo

MoGo

This is my implementation of a free PSD template called MoGo. The design didn't come with mobile specs, so I had to decide how to do those on my own. Also, I'm not sure how the author of the template meant contents to be linked, but anyway... You can have a look to a picture of the template here.

Technologies used: HTML5, CSS3, Bootstrap, FontAwesome, jQuery, SASS.

Nicola Bagalà - portfolio

My portfolio

As obvious as it may be, my portfolio too is an element of my portfolio—not to mention my attempt at answering the age-old mathematical question 'Does the set of all sets contain itself as an element?' (No, it doesn't.)

Technologies used: HTML5, CSS3, Bootstrap, FontAwesome, jQuery, SASS.

The Elynx Saga

The Elynx Saga

This is a real, live website—the website of my sci-fi book series, The Elynx Saga, which I talk about a little under the 'Other Stuff' tab.

Technologies used: HTML5, CSS3, Bootstrap, FontAwesome.

Creepypasta

Creepypasta

Creepypasta is the website of a fictional theme restaurant with a horror-ish flavour. It was my first website implementing Bootstrap and making use of Javascript.

Technologies used: HTML5, CSS3, Bootstrap, Javascript.

The Museum of Stolen Art

The Museum of Stolen Art

MOSA is another example website I made shortly after Catfolio. It's the humorous website of the improbable Museum of Stolen Art of Noway, vaguely inspired by the real-life website of Kiasma museum in Helsinki, Finland.

MOSA is fully responsive.

Technologies used: HTML5, CSS3, FontAwesome. The menu toggle—the 'hamburger' icon—does not use javascript; it's a neat CSS trick I found on Stack Overflow which uses the 'checked' state of a checkbox.

Catfolio

Catfolio

My first example webpage. A single, simple, responsive portfolio page for a... cat. It's not the first webpage I've ever worked on, but it's the first one of the HTML5 gang.

Technologies used: HTML5, CSS3, FontAwesome.

Back-end

Though I did work a little with back-end (more precisely, with ASP) back in the day, I am now becoming familiar with more modern technologies. Below are my back-end projects.

Demo Blog

Demo Blog

This is a teeny tiny back-end project I made to familiarse myself with modern back-end technologies. It's a very simple blog that allows you to add posts with a featured image and tags. It has a sidebar with a weather widget using an external API, a simple tag cloud which I built from scratch, and search and tag search features. To try it out, you should pull it from my GitHub account and run it on your machine. You'll need Node.js and MongoDB. You'll find the website on 127.0.0.1, port 27016.

Technologies used: HTML5, CSS3, Semantic UI, jQuery, Node.js, MongoDB.

JavaScript

A few JavaScript games and other stuff I made to familiarise myself with the language.

Treedoku

Treedoku

Treedoku is a Sudoku solver that uses only depth-first search to solve puzzles. It can solve any legal, solvable puzzle, including puzzles with non-unique solutions (it will simply return the first solution found). It uses a webworker to do the computationally heavy stuff. It's not mobile friendly, but hey, that was not the point, was it?

Technologies used: HTML5, CSS3, JavaScript, Semantic UI.

Data Structures Demo

Data Structures Demo

This is another tiny tool that showcases the workings of three data structures—stacks, queues, and trees. I used Paper.js to create the tree, but the other data structures are drawn using HTML5 and CSS3 only.

Technologies used: HTML5, CSS3, JavaScript, Paper.js, Semantic UI.

ArraySort Demo

ArraySort Demo

This tiny tool allows you to try a few different sorting algorithms. It makes use of webworkers to prevent the UI from hanging.

Technologies used: HTML5, CSS3, JavaScript, Semantic UI.

The Great RGB Guessing Game

The Great RGB Guessing Game

This was an exercise project in a Udemy course. I could've done it following the tutorial, but I decided to do it entirely on my own. It's a game in which you need to guess which of the displayed colours matches the RGB values shown on the page header.

Technologies used: HTML5, CSS3, Javascript.

Racing Game

Racing Game

This isn't exactly a game. It should have been, but I didn't implement all the features because it would've been too much about game mechanics and not so much about Javascript itself. There's only one player and you don't win or lose—but hey, you can drive around as long as you wish!

Technologies used: HTML5, Javascript.

Brick Breaker

Brick Breaker

Another remake of a classic game.

Technologies used: HTML5, Javascript.

Tennis

Tennis

A remake of an old classic, made following a tutorial for game programmers.

Technologies used: HTML5, Javascript.

Other

A collection of various programming projects. Although I don't (yet) have projects for all programming languages I have ever tried, I have some experience in a few of them—mainly Java, and the newer versions of Microsoft Visual Basic and Microsoft C#. My all time-favourite IDE is Microsoft Visual Studio, but I also have experience of IDEA IntelliJ (big fave for Java) and NetBeans (which I don't like very much).

Jadoku

Jadoku

Jadoku is a Sudoku generator and solver which I coded in Java as a study project in Helsinki University. It generates new sudoku puzzles using previous valid puzzles as seeds, and solves puzzles using human-like techniques—something I call 'candidate exclusion', plus others explained on this website. Jadoku took me about a month to make it, and it was coded in NetBeans. (Woohoo.) It is able to tell if a puzzle is solvable or not and if it has more than one solution. As I learned only later on, trees are a much more efficient and sure-fire way of solving Sudokus, but I'm still proud of my approach!

Other stuff

Art

I've always had a thing for drawing, and I've done it a lot in the past few years. This a selection of some of my best pieces.

Friend portrait 1
Friend portrait 2
Edward Scissorhands' portrait
Self-portrait
Starry Night by Vincent Van Gogh
Friend's portrait 3
Batman Arkham Origins
Tree
The Church at Auvers by Vincent Van Gogh
Friend's portrait 4
Woman's colour portrait

Books

Writing is another long-standing interest of mine. While there have been countless attempts at writing a novel when I was a child, nowadays I dedicate myself only to The Elynx Saga a science fiction novel series which I created in the early 2000's. While I have either written or planned most of the novels in the series already, thus far I have self-published only one of them—time is always so little. Anyway, rest assured that I will bring the series to completion.

I drew all the covers in Photoshop, with a little help from my girlfriend for some things.

The Fall of the Gods

The Fall of the Gods

In the opening title of The Elynx Saga, we're introduced to Yuki Kashizawa, a young maths student from Japan who moves to London for her PhD. Her father, Yutaka, was a close friend of renowned billionaire genius Edwin Deverex, who disapperead into thin air years before and from whom Yutaka inherited a vast fortune. The fabulous Deverex Tower, located in the heart of London, is part of the inheritance, and it is where Yuki will live for the duration of her studies. At the tower, Yuki will bump into the extravagant Rupert Howards, a young man who claims to have been a friend of Deverex and who involves Yuki into a rather unconventional private investigation on the mysterious disappearance. Their research will soon lead to Ayleen Marker, a secretive woman whose forgotten past haunts her in her cryptic dreams. Initially, Rupert is quite convinced that Ayleen Marker must have something to do with the disappearance, but an unexpected discovery reveals that the situation is far, far worse than he thought...

Music

I love playing piano. I'm just an amateur with very little formal training, but I have quite an ear for music, if I say so myself. I don't have any recording of myself playing, but I do have a couple of pieces I composed myself using Melody Assistant.

Select a piece:

Title

Description

Blogs

I run two blogs, mostly for advocacy purposes, but sometimes just to share my thoughts. Since you're here already, why don't you take a look at them?

Rejuvenaction

Rejuvenaction

Have you ever stopped to think that biological ageing is really bad for you? As you age, you become sicker and sicker, and that's why you eventually die. Thankfully, medical science is on the verge of being able to fully repair age-related damage in the human body, allowing us to live in youthful health into an indefinite future. The science of rejuvenation isn't simple, but that's not the only challenge we face: People's irrational, fierce opposition against rejuvenation stands between us and an ageless future just as much as technical hurdles do. The main purpose of Rejuvenaction is answering all common objections to rejuvenation and advocating for the development of a comprehensive rejuvenation biotechnology platform.

looking4troubles

looking4troubles

l4t is my all-purpose blog, where I talk just about anything crossing my mind. From time to time, I also use it to talk about my book series, rejuvenation and other interesting science topics, and my views about money—i.e., why I think money is a really bad idea. Together with rejuvenation, this is a topic that can easily get people mad at you, hence the name looking4troubles.

Theses

Here are the results of my academic endeavours! Bachelor's and Master's theses I've written, only in mathematics... for now.

Fundamental Group of the Unit Circle in the Complex Plane (PDF)

Bachelor's thesis, mathematics

The fundamental group of a topological space identifies its basic 'shape', allowing to tell it apart from another space or determine if they are topologically equivalent. In the case of the unit circle, the fundamental group turns out to be isomorphic to the group of the relative integers (i.e. all whole numbers, positive, negative, and null alike). Proving this fact was the objective of my Bachelor's thesis.

Semidirect products and Rubik's cube (PDF)

Master's thesis, mathematics

Rubik's cube isn't only the fastest way to get a headache, but it is also a useful tool to explore several algebraic concepts, from simple groups to crazier stuff like wreath products. In my Master's thesis, I proved (among the rest) that Rubik's cube group is the semidirect product of its orientation-preserving moves and position preserving moves subgroups. Want to know more? Have a look at my thesis!