Introduction

Hey there! My name is Jimmy. I'm a lifelong learner with a special interest in CS, math, and language theory.

I graduated from UVic with a BSc in Computer Science and Mathematics. However, I was actually in the Mechanical Engineering program, and only after a deep reflection, realizing that I'm more into the whys behind math rather than the whats, I switched. It was one of the best and most important decisions I've ever made in my life because now I get to do what I love and get paid for it.

I'm originally from South America but I had been moving around most of my childhood, split across Asia, South America, and the Caribbean. Eventually, I came to Canada to pursue higher education and settled here.

Philosophy

I believe that software systems should be simple, modular, evolvable, and consistent. However, exceptions exist, so we shouldn't blindly follow any of these principles.

They should be simple because for complex systems to work and continue to work, they must start from simple systems that work. Over-engineering is the antithesis of this.

Their design and implementation should be modular because it makes it easier to maintain and refactor in the future.

We also want the specification of the software to be evolvable. In other words, we want the spec to facilitate future spec changes. This helps with backwards compatibility.

Lastly, we should strive to be consistent, both in the behaviour and in the implementation of the software.

Experience

I have experience building and maintaining CLI tools and web apps. Throughout these developments, I've used Java and functional TypeScript/JavaScript the most, which means I'm familiar with both OOP and functional programming. Aside from those languages, I can also code in Rust, Haskell, Python, and C/C++, where the first two are my favourites.

Elements

Text

This is bold and this is strong. This is italic and this is emphasized. This is superscript text and this is subscript text. This is underlined and this is code: for (;;) { ... }. Finally, this is a link.


Heading Level 2

Heading Level 3

Heading Level 4

Heading Level 5
Heading Level 6

Blockquote

Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.

Preformatted

i = 0;

while (!deck.isInOrder()) {
    print 'Iteration ' + i;
    deck.shuffle();
    i++;
}

print 'It took ' + i + ' iterations to sort the deck.';

Lists

Unordered

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Alternate

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Ordered

  1. Dolor pulvinar etiam.
  2. Etiam vel felis viverra.
  3. Felis enim feugiat.
  4. Dolor pulvinar etiam.
  5. Etiam vel felis lorem.
  6. Felis enim et feugiat.

Icons

Actions

Table

Default

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Alternate

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Buttons

  • Disabled
  • Disabled

Form