Compare commits

...

10 commits
v1.0.0 ... main

Author SHA1 Message Date
57557a0785
CI: Add branches
Some checks failed
Build PDF's / Build PDF's (push) Failing after 10m55s
2024-05-10 21:57:09 +03:00
405d4b271f
Add workflow 2024-05-10 21:55:49 +03:00
2f1c8dcaab
Update README 2024-05-10 21:41:41 +03:00
9d5425bf12
Update license 2024-05-10 21:39:15 +03:00
38b07389ab
Create output dir if not exists 2024-05-10 21:22:03 +03:00
fcce69320c
Output files into output directory 2024-05-10 21:21:00 +03:00
7d9fd72925
Move fonts to own directory 2024-05-10 21:03:11 +03:00
684fdbffcf
Ran latexindent 2024-05-10 20:45:35 +03:00
41e1ed4bee
Clean up Makefile 2024-05-10 20:38:55 +03:00
2d053df024
Ran latexindent 2024-05-10 20:16:07 +03:00
15 changed files with 418 additions and 382 deletions

View file

@ -0,0 +1,27 @@
name: Build PDF's
on:
push:
branches:
- main
jobs:
build_pdf:
name: Build PDF's
runs-on: docker
steps:
- name: Set up Git repository
uses: actions/checkout@v4
- name: Build English PDF
uses: https://github.com/xu-cheng/latex-action@v3
with:
root_file: marko_korhonen_cv_fi.tex
latexmk_use_xelatex: true
- name: Build Finnish PDF
uses: https://github.com/xu-cheng/latex-action@v3
with:
root_file: marko_korhonen_cv_fi.tex
latexmk_use_xelatex: true

10
.gitignore vendored
View file

@ -1,9 +1 @@
*.synctex.gz
*.log
*.out
*.aux
*.blg
*.bbl
*.bcf
*.run.xml
*.pdf
target/

View file

@ -1,9 +0,0 @@
Copyright (C) 2023, Marko Korhonen (this fork)
Copyright (C) 2017, Marvin Frommhold (fork)
Copyright (C) 2012, Adrien Friggeri (origin)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

24
LICENSE.adoc Normal file
View file

@ -0,0 +1,24 @@
== The MIT License (MIT)
Copyright (C) {localyear}, Marko Korhonen (this fork)
Copyright (C) 2017, Marvin Frommhold (fork)
Copyright (C) 2012, Adrien Friggeri (origin)
Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify,
merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be included in all copies
or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View file

@ -1,14 +1,13 @@
.PHONY: outputdir en fi pdf
.DEFAULT_GOAL := all
.PHONY: en fi
en: outputdir
xelatex marko_korhonen_cv_en
biber marko_korhonen_cv_en
xelatex marko_korhonen_cv_en
LANGUAGES = en fi
fi: outputdir
xelatex marko_korhonen_cv_fi
biber marko_korhonen_cv_fi
xelatex marko_korhonen_cv_fi
all: $(LANGUAGES)
all: en fi
outputdir:
mkdir -p ./target
$(LANGUAGES): outputdir
xelatex --output-directory ./target marko_korhonen_cv_$@
biber --output-directory ./target marko_korhonen_cv_$@
xelatex --output-directory ./target marko_korhonen_cv_$@

View file

@ -1,3 +1,3 @@
= My CV
= Curriculum Vitae of Marko Korhonen
Based on the https://github.com/depressiveRobot/friggeri-cv-a4[Friggeri CV template]

View file

@ -4,7 +4,7 @@
\DeclareOption{nocolors}{\def\@cv@nocolors{}}
\DeclareOption{print}{\def\@cv@print{}}
\DeclareOption*{%
\PassOptionsToClass{\CurrentOption}{article}%
\PassOptionsToClass{\CurrentOption}{article}%
}
\ProcessOptions\relax
\LoadClass{article}
@ -34,31 +34,31 @@
\definecolor{blue}{HTML}{6CE0F1}
\ifdefined\@cv@print
\colorlet{green}{gray}
\colorlet{orange}{gray}
\colorlet{purple}{gray}
\colorlet{brown}{gray}
\colorlet{red}{gray}
\colorlet{blue}{gray}
\colorlet{fillheader}{white}
\colorlet{header}{gray}
\colorlet{green}{gray}
\colorlet{orange}{gray}
\colorlet{purple}{gray}
\colorlet{brown}{gray}
\colorlet{red}{gray}
\colorlet{blue}{gray}
\colorlet{fillheader}{white}
\colorlet{header}{gray}
\else
\colorlet{fillheader}{gray}
\colorlet{header}{white}
\colorlet{fillheader}{gray}
\colorlet{header}{white}
\fi
\colorlet{textcolor}{gray}
\colorlet{headercolor}{gray}
\ifdefined\@cv@nocolors
\colorlet{green}{gray}
\colorlet{rdfgreen}{gray}
\colorlet{orange}{gray}
\colorlet{rdforange}{gray}
\colorlet{purple}{gray}
\colorlet{rdfpurple}{gray}
\colorlet{brown}{gray}
\colorlet{red}{gray}
\colorlet{blue}{gray}
\colorlet{green}{gray}
\colorlet{rdfgreen}{gray}
\colorlet{orange}{gray}
\colorlet{rdforange}{gray}
\colorlet{purple}{gray}
\colorlet{rdfpurple}{gray}
\colorlet{brown}{gray}
\colorlet{red}{gray}
\colorlet{blue}{gray}
\fi
%%%%%%%%%
@ -67,26 +67,29 @@
\RequirePackage[quiet]{fontspec}
\RequirePackage{unicode-math}
\defaultfontfeatures{Mapping=tex-text}
\newfontfamily\bodyfont
[BoldFont=texgyreheros-bold.otf,
ItalicFont=texgyreheros-italic.otf,
BoldItalicFont=texgyreheros-bolditalic.otf]
{texgyreheros-regular.otf}
\newfontfamily\thinfont[]{Lato-Light.ttf}
\newfontfamily\headingfont[]{texgyreheros-bold.otf}
[
Path=fonts/,
BoldFont=texgyreheros-bold.otf,
ItalicFont=texgyreheros-italic.otf,
BoldItalicFont=texgyreheros-bolditalic.otf
]{texgyreheros-regular.otf}
\newfontfamily\thinfont[Path=fonts/]{Lato-Light.ttf}
\newfontfamily\headingfont[Path=fonts/]{texgyreheros-bold.otf}
\defaultfontfeatures{Mapping=tex-text}
\setmainfont
[Mapping=tex-text, Color=textcolor,
BoldFont=texgyreheros-bold.otf,
ItalicFont=texgyreheros-italic.otf,
BoldItalicFont=texgyreheros-bolditalic.otf
]
{texgyreheros-regular.otf}
[
Path=fonts/,
Mapping=tex-text, Color=textcolor,
BoldFont=texgyreheros-bold.otf,
ItalicFont=texgyreheros-italic.otf,
BoldItalicFont=texgyreheros-bolditalic.otf
]{texgyreheros-regular.otf}
\setmathfont{texgyreheros-regular.otf}
%%%
\setmathfont[Path=fonts/]{texgyreheros-regular.otf}
%%%%%%%%%%
% Header %
@ -95,25 +98,25 @@ BoldItalicFont=texgyreheros-bolditalic.otf
\RequirePackage{tikz}
\newcommand{\rolefont}{%
\fontsize{14pt}{24pt}\selectfont%
\thinfont%
\color{white}%
\fontsize{14pt}{24pt}\selectfont%
\thinfont%
\color{white}%
}
\newcommand{\header}[3]{%
\begin{tikzpicture}[remember picture,overlay]
\node [rectangle, fill=fillheader, anchor=north, minimum width=\paperwidth, minimum height=4cm] (box) at (current page.north){};
\node [anchor=center] (name) at (box) {%
\fontsize{40pt}{72pt}\color{header}%
{\thinfont #1}{\bodyfont #2}
};
\node [anchor=north] at (name.south) {%
\fontsize{14pt}{24pt}\color{header}%
\thinfont #3%
};
\end{tikzpicture}
\vspace{2.5cm}
\vspace{-2\parskip}
\begin{tikzpicture}[remember picture,overlay]
\node [rectangle, fill=fillheader, anchor=north, minimum width=\paperwidth, minimum height=4cm] (box) at (current page.north){};
\node [anchor=center] (name) at (box) {%
\fontsize{40pt}{72pt}\color{header}%
{\thinfont #1}{\bodyfont #2}
};
\node [anchor=north] at (name.south) {%
\fontsize{14pt}{24pt}\color{header}%
\thinfont #3%
};
\end{tikzpicture}
\vspace{2.5cm}
\vspace{-2\parskip}
}
@ -124,40 +127,40 @@ BoldItalicFont=texgyreheros-bolditalic.otf
\newcounter{colorCounter}
\def\@sectioncolor#1#2#3{%
{%
\color{%
\ifcase\value{colorCounter}%
blue\or%
red\or%
orange\or%
green\or%
purple\or%
brown\else%
headercolor\fi%
} #1#2#3%
}%
\stepcounter{colorCounter}%
{%
\color{%
\ifcase\value{colorCounter}%
blue\or%
red\or%
orange\or%
green\or%
purple\or%
brown\else%
headercolor\fi%
} #1#2#3%
}%
\stepcounter{colorCounter}%
}
\renewcommand{\section}[1]{
\par\vspace{\parskip}
{%
\LARGE\headingfont\color{headercolor}%
\@sectioncolor #1%
}
\par\vspace{\parskip}
\par\vspace{\parskip}
{%
\LARGE\headingfont\color{headercolor}%
\@sectioncolor #1%
}
\par\vspace{\parskip}
}
\renewcommand{\subsection}[1]{
\par\vspace{.5\parskip}%
{\Large\headingfont\color{headercolor} #1}
\par\vspace{.25\parskip}%
\par\vspace{.5\parskip}%
{\Large\headingfont\color{headercolor} #1}
\par\vspace{.25\parskip}%
}
\renewcommand{\subsubsection}[2]{
\par\vspace{.5\parskip}%
{\Large\headingfont\color{headercolor} #2}
\par\vspace{.25\parskip}%
\par\vspace{.5\parskip}%
{\Large\headingfont\color{headercolor} #2}
\par\vspace{.25\parskip}%
}
\pagestyle{empty}
@ -169,18 +172,18 @@ BoldItalicFont=texgyreheros-bolditalic.otf
\setlength{\tabcolsep}{0pt}
\newenvironment{entrylist}{%
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}ll}
}{%
\end{tabular*}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}ll}
}{%
\end{tabular*}
}
\renewcommand{\bfseries}{\headingfont\color{headercolor}}
\newcommand{\entry}[4]{%
\parbox[t]{2cm}{#1}&\parbox[t]{11.3cm}{%
\textbf{#2}%
\hfill%
{\footnotesize\addfontfeature{Color=lightgray} #3}\\%
#4\vspace{\parsep}%
}\\}
\parbox[t]{2cm}{#1}&\parbox[t]{11.3cm}{%
\textbf{#2}%
\hfill%
{\footnotesize\addfontfeature{Color=lightgray} #3}\\%
#4\vspace{\parsep}%
}\\}
%%%%%%%%%%%%%%
@ -191,18 +194,18 @@ BoldItalicFont=texgyreheros-bolditalic.otf
\setlength{\TPHorizModule}{1cm}
\setlength{\TPVertModule}{1cm}
\newenvironment{aside}{%
\let\oldsection\section
\renewcommand{\section}[1]{
\par\vspace{\baselineskip}{\Large\headingfont\color{headercolor} ##1}
}
\begin{textblock}{5.0}(0.5, 4.33)
\begin{flushright}
\obeycr
}{%
\restorecr
\end{flushright}
\end{textblock}
\let\section\oldsection
\let\oldsection\section
\renewcommand{\section}[1]{
\par\vspace{\baselineskip}{\Large\headingfont\color{headercolor} ##1}
}
\begin{textblock}{5.0}(0.5, 4.33)
\begin{flushright}
\obeycr
}{%
\restorecr
\end{flushright}
\end{textblock}
\let\section\oldsection
}
%%%%%%%%%%%%%%%%
@ -218,126 +221,126 @@ BoldItalicFont=texgyreheros-bolditalic.otf
\DeclareFieldFormat[report]{title}{#1\par}
\DeclareBibliographyDriver{article}{%
\printfield{title}%
\newblock%
\printnames{author}%
\par%
\newblock%
{%
\footnotesize\addfontfeature{Color=lightgray}\itshape%
\usebibmacro{journal+issuetitle}%
\setunit{\space}%
\printfield{pages}%
\newunit%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\printfield{year}%
\newunit%
}
\par\vspace{0.3\baselineskip}
\printfield{title}%
\newblock%
\printnames{author}%
\par%
\newblock%
{%
\footnotesize\addfontfeature{Color=lightgray}\itshape%
\usebibmacro{journal+issuetitle}%
\setunit{\space}%
\printfield{pages}%
\newunit%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\printfield{year}%
\newunit%
}
\par\vspace{0.3\baselineskip}
}
\DeclareBibliographyDriver{book}{%
\printfield{title}%
\newblock%
\printnames{author}%
\par%
\newblock%
{%
\footnotesize\addfontfeature{Color=lightgray}\itshape%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\printfield{note}%
\setunit*{\addcomma\space}%
\printfield{year}%
\setunit{\addcomma\space}%
\printlist{location}%
\newunit%
}
\par\vspace{0.3\baselineskip}
\printfield{title}%
\newblock%
\printnames{author}%
\par%
\newblock%
{%
\footnotesize\addfontfeature{Color=lightgray}\itshape%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\printfield{note}%
\setunit*{\addcomma\space}%
\printfield{year}%
\setunit{\addcomma\space}%
\printlist{location}%
\newunit%
}
\par\vspace{0.3\baselineskip}
}
\DeclareBibliographyDriver{inproceedings}{%
\printfield{title}%
\newblock%
\printnames{author}%
\par%
\newblock%
{%
\footnotesize\addfontfeature{Color=lightgray}%
\printfield{booktitle}%
\setunit{\addcomma\space}%
\printfield{year}%
\setunit{\addcomma\space}%
\printlist{location}%
\newunit%
}
\par\vspace{0.3\baselineskip}
\printfield{title}%
\newblock%
\printnames{author}%
\par%
\newblock%
{%
\footnotesize\addfontfeature{Color=lightgray}%
\printfield{booktitle}%
\setunit{\addcomma\space}%
\printfield{year}%
\setunit{\addcomma\space}%
\printlist{location}%
\newunit%
}
\par\vspace{0.3\baselineskip}
}
\DeclareBibliographyDriver{misc}{%
\printfield{title}%
\newblock%
\printnames{author}%
\par%
\newblock%
{%
\footnotesize\addfontfeature{Color=lightgray}\itshape%
\printfield{booktitle}%
\setunit*{\addcomma\space}%
\printfield{note}%
\setunit*{\addcomma\space}%
\printfield{year}%
\setunit{\addcomma\space}%
\printlist{location}%
\newunit%
}
\par\vspace{0.3\baselineskip}
\printfield{title}%
\newblock%
\printnames{author}%
\par%
\newblock%
{%
\footnotesize\addfontfeature{Color=lightgray}\itshape%
\printfield{booktitle}%
\setunit*{\addcomma\space}%
\printfield{note}%
\setunit*{\addcomma\space}%
\printfield{year}%
\setunit{\addcomma\space}%
\printlist{location}%
\newunit%
}
\par\vspace{0.3\baselineskip}
}
\DeclareBibliographyDriver{report}{%
\printfield{title}%
\newblock%
\printnames{author}%
\par%
\newblock%
{%
\footnotesize\addfontfeature{Color=lightgray}\itshape%
\printfield{type}%
\setunit{\space}%
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{year}%
\newunit%
}
\par\vspace{0.3\baselineskip}
\printfield{title}%
\newblock%
\printnames{author}%
\par%
\newblock%
{%
\footnotesize\addfontfeature{Color=lightgray}\itshape%
\printfield{type}%
\setunit{\space}%
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{year}%
\newunit%
}
\par\vspace{0.3\baselineskip}
}
\DeclareNameFormat{author}{%
\small\addfontfeature{Color=lightgray}%
\nameparts{#1}\ifblank{\namepartgiven}{}{\namepartgiven\space}\namepartfamily%
\ifthenelse{\value{listcount}<\value{liststop}}
{\addcomma\space}
{}%
\small\addfontfeature{Color=lightgray}%
\nameparts{#1}\ifblank{\namepartgiven}{}{\namepartgiven\space}\namepartfamily%
\ifthenelse{\value{listcount}<\value{liststop}}
{\addcomma\space}
{}%
}
\defbibheading{bibheading}[\bibname]{%
\subsubsection*{#1}
\markboth{#1}{#1}
\subsubsection*{#1}
\markboth{#1}{#1}
}
\newcommand{\printbibsection}[2]{
\begin{refsection}
\newrefcontext[sorting=chronological]%
\nocite{*}
\printbibliography[type={#1}, title={#2}, heading=bibheading]
\end{refsection}
\begin{refsection}
\newrefcontext[sorting=chronological]%
\nocite{*}
\printbibliography[type={#1}, title={#2}, heading=bibheading]
\end{refsection}
}
\DeclareSortingTemplate{chronological}{
\sort[direction=descending]{\field{year}}
\sort[direction=descending]{\field{month}}
\sort[direction=descending]{\field{year}}
\sort[direction=descending]{\field{month}}
}
@ -349,11 +352,11 @@ BoldItalicFont=texgyreheros-bolditalic.otf
\RequirePackage[left=6.1cm,top=2cm,right=2.5cm,bottom=2.5cm,nohead,nofoot]{geometry}
\RequirePackage{hyperref}
\hypersetup{
colorlinks=false,
linkcolor=red,
citecolor=red,
filecolor=red,
urlcolor = red}
colorlinks=false,
linkcolor=red,
citecolor=red,
filecolor=red,
urlcolor = red}
% A fix for \href{}{} colors not working with fontspec
\makeatletter

View file

@ -37,24 +37,24 @@
%----------------------------------------------------------------------------------------
\begin{aside} % In the aside, each new line forces a line break
\section{contact}
\restorecr
\include{contact_info}
\obeycr
\section{languages}
\textbf{fluent}
finnish \& english
\textbf{basics}
german, russian \& swedish
\section{programming}
Java
Bash
Rust
Python
HTML \& CSS
JavaScript
Node.js
React
\section{contact}
\restorecr
\include{contact_info}
\obeycr
\section{languages}
\textbf{fluent}
finnish \& english
\textbf{basics}
german, russian \& swedish
\section{programming}
Java
Bash
Rust
Python
HTML \& CSS
JavaScript
Node.js
React
\end{aside}
%----------------------------------------------------------------------------------------
@ -70,27 +70,27 @@ programming, open source software, Linux, networking, self-hosted applications,
\section{education}
\begin{entrylist}
\entry
{2016 - 2020}
{Bachelor of ICT}
{Metropolia UoAS}
{Specialization in Software Engineering}
\entry
{2016 - 2020}
{Bachelor of ICT}
{Metropolia UoAS}
{Specialization in Software Engineering}
\entry
{2018 - 2019}
{Student Exchange}
{Frankfurt UoAS, Germany}
\entry
{2018 - 2019}
{Student Exchange}
{Frankfurt UoAS, Germany}
\entry
{2013 - 2015}
{Upper secondary {\normalfont qualification}}
{Saimaan Ammattiopisto}
{Specialization in Business Economics}
\entry
{2013 - 2015}
{Upper secondary {\normalfont qualification}}
{Saimaan Ammattiopisto}
{Specialization in Business Economics}
\entry
{2009 - 2012}
{High school {\normalfont and matriculation examination}}
{Lauritsalan Lukio}
\entry
{2009 - 2012}
{High school {\normalfont and matriculation examination}}
{Lauritsalan Lukio}
\end{entrylist}
@ -101,43 +101,43 @@ programming, open source software, Linux, networking, self-hosted applications,
\section{experience}
\begin{entrylist}
\entry
{05/2020 -}
{Rossum Oy}
{Full-time job}
{Software developer}
\entry
{05/2020 -}
{Rossum Oy}
{Full-time job}
{Software developer}
\entry
{06-07/2018}
{Uskonnen Oy}
{Internship}
{Repairing and troubleshooting customer computers.\\
Also selling computers}
\entry
{06-07/2018}
{Uskonnen Oy}
{Internship}
{Repairing and troubleshooting customer computers.\\
Also selling computers}
\entry
{06-07/2017}
{Auto-Suni Oy Lappeenranta}
{Internship}
{Internal technical support}
\entry
{06-07/2017}
{Auto-Suni Oy Lappeenranta}
{Internship}
{Internal technical support}
\entry
{2014-2015, 2017}
{Gigantti Oy Lappeenranta}
{Part-time job}
{Service adviser and dispatcher of customer electronics,\\
customer service, warehouse work}
\entry
{2014-2015, 2017}
{Gigantti Oy Lappeenranta}
{Part-time job}
{Service adviser and dispatcher of customer electronics,\\
customer service, warehouse work}
\entry
{07-08/2014}
{Kaskein Marja Oy}
{Summer job}
{Warehouse worker}
\entry
{07-08/2014}
{Kaskein Marja Oy}
{Summer job}
{Warehouse worker}
\entry
{2010-2012}
{K-Market Niiva}
{Summer job}
{Grocery store worker}
\entry
{2010-2012}
{K-Market Niiva}
{Summer job}
{Grocery store worker}
\end{entrylist}
@ -147,17 +147,17 @@ Metropolia. These have been the most fruitious
\begin{itemize}
\item \textbf{Scorebook} (Closed source project)
\begin{itemize}
\item Innovation project for the Finnish Baseball association, where a new score keeping application was developed using modern technologies
\end{itemize}
\begin{itemize}
\item Innovation project for the Finnish Baseball association, where a new score keeping application was developed using modern technologies
\end{itemize}
\item \textbf{Codename Frozen Omega} \href{https://gitlab.com/ReekyMarko/Codename-Frozen-Omega}{(Link to source code)}
\begin{itemize}
\item An ecosystem simulator written in Java
\end{itemize}
\begin{itemize}
\item An ecosystem simulator written in Java
\end{itemize}
\item \textbf{Codename Swift Steel} \href{https://gitlab.com/ReekyMarko/Codename-Swift-Steel}{(Link to source code)}
\begin{itemize}
\item A robotic hand built from LEGO and programmed in Java
\end{itemize}
\begin{itemize}
\item A robotic hand built from LEGO and programmed in Java
\end{itemize}
\end{itemize}
\let\cleardoublepage\clearpage
\end{document}

View file

@ -37,23 +37,23 @@
%----------------------------------------------------------------------------------------
\begin{aside} % In the aside, each new line forces a line break
\section{Yhteystiedot}
\restorecr
\include{contact_info}
\obeycr
\section{Kielet}
\textbf{Sujuva}
suomi \& englanti
\textbf{Alkeet}
saksa, venäjä \& ruotsi
\section{Ohjelmointi}
Java
Bash
Rust
Python
HTML \& CSS
Node.js
React
\section{Yhteystiedot}
\restorecr
\include{contact_info}
\obeycr
\section{Kielet}
\textbf{Sujuva}
suomi \& englanti
\textbf{Alkeet}
saksa, venäjä \& ruotsi
\section{Ohjelmointi}
Java
Bash
Rust
Python
HTML \& CSS
Node.js
React
\end{aside}
%----------------------------------------------------------------------------------------
@ -69,25 +69,25 @@ Linux, avoin lähdekoodi, tietoverkot, serverit, tietokoneen korjaukset
\section{Koulutus}
\begin{entrylist}
\entry
{2016 - 2020}
{Tietotekniikan Insinööri} {Metropolia AMK}
{Pääaineena ohjelmistotuotanto}
\entry
{2016 - 2020}
{Tietotekniikan Insinööri} {Metropolia AMK}
{Pääaineena ohjelmistotuotanto}
\entry
{2018 - 2019}
{Opiskelijavaihto}
{Frankfurt UoAS}
\entry
{2018 - 2019}
{Opiskelijavaihto}
{Frankfurt UoAS}
\entry
{2013 - 2015}
{Merkonomi}
{Saimaan Ammattiopisto}
\entry
{2013 - 2015}
{Merkonomi}
{Saimaan Ammattiopisto}
\entry
{2009 - 2012}
{Lukio ja ylioppilastutkinto}
{Lauritsalan Lukio}
\entry
{2009 - 2012}
{Lukio ja ylioppilastutkinto}
{Lauritsalan Lukio}
\end{entrylist}
@ -98,47 +98,47 @@ Linux, avoin lähdekoodi, tietoverkot, serverit, tietokoneen korjaukset
\section{Työkokemus}
\begin{entrylist}
\entry
{05/2020 -}
{Rossum Oy}
{Kokopäivätyö}
{Ohjelmistokehittäjä}
\entry
{05/2020 -}
{Rossum Oy}
{Kokopäivätyö}
{Ohjelmistokehittäjä}
\entry
{06-08/2019}
{Touch \& Go Aerial Photography}
{Harjoittelu}
{Web-ohjelmointiprojekti}
\entry
{06-08/2019}
{Touch \& Go Aerial Photography}
{Harjoittelu}
{Web-ohjelmointiprojekti}
\entry
{06-07/2018}
{Uskonnen Oy}
{Harjoittelu}
{Tietokoneiden korjauksia myyntiä}
\entry
{06-07/2018}
{Uskonnen Oy}
{Harjoittelu}
{Tietokoneiden korjauksia myyntiä}
\entry
{06-07/2017}
{Auto-Suni Oy Lappeenranta}
{Harjoittelu}
{Sisäinen tekninen tuki}
\entry
{06-07/2017}
{Auto-Suni Oy Lappeenranta}
{Harjoittelu}
{Sisäinen tekninen tuki}
\entry
{2014-2015}
{Gigantti Oy Lappeenranta}
{Osa-aikaistyö}
{Asiakaspalvelu ja varastotyö}
\entry
{2014-2015}
{Gigantti Oy Lappeenranta}
{Osa-aikaistyö}
{Asiakaspalvelu ja varastotyö}
\entry
{07-08/2014}
{Kaskein Marja Oy}
{Kesätyö}
{Tuotteiden valmistus ja varastotyöt}
\entry
{07-08/2014}
{Kaskein Marja Oy}
{Kesätyö}
{Tuotteiden valmistus ja varastotyöt}
\entry
{2010-2012}
{K-Market Niiva}
{Kesätyö}
{Ruokakaupan työt}
\entry
{2010-2012}
{K-Market Niiva}
{Kesätyö}
{Ruokakaupan työt}
\end{entrylist}
@ -148,16 +148,16 @@ Tässä muutama esimerkki:
\begin{itemize}
\item \textbf{Scorebook} (Omisteinen ohjelmisto, ei lähdekoodia saatavilla)
\begin{itemize}
\item Innovaatioprojekti Suomen Baseball-liitolle, jossa tehtiin uusi pelien kirjanpitosovellus moderneilla web-ohjelmointitekniikoilla
\end{itemize}
\begin{itemize}
\item Innovaatioprojekti Suomen Baseball-liitolle, jossa tehtiin uusi pelien kirjanpitosovellus moderneilla web-ohjelmointitekniikoilla
\end{itemize}
\item \textbf{Codename Frozen Omega} \href{https://gitlab.com/ReekyMarko/Codename-Frozen-Omega}{(Linkki lähdekoodiin)}
\begin{itemize}
\item Ekosysteemin simulointia Javalla
\end{itemize}
\begin{itemize}
\item Ekosysteemin simulointia Javalla
\end{itemize}
\item \textbf{Codename Swift Steel} \href{https://gitlab.com/ReekyMarko/Codename-Swift-Steel}{(Linkki lähdekoodiin)}
\begin{itemize}
\item LEGOista rakennettu robottikäsi joka on koodattu Javalla
\end{itemize}
\begin{itemize}
\item LEGOista rakennettu robottikäsi joka on koodattu Javalla
\end{itemize}
\end{itemize}
\end{document}