From af65dcca44d8fbd0cbb7dfe36acbd335a0c8ab43 Mon Sep 17 00:00:00 2001 From: Marcel Plch Date: Mon, 19 Jul 2021 20:56:15 +0200 Subject: [PATCH] Add basic styling. --- base_app/static/base_app/css/master.css | 90 +++++++++++++++++++++++ base_app/templates/cv.html | 97 +++++++++++++++++++++++++ base_app/templates/index.html | 10 ++- base_app/templates/layout.html | 47 +++++++----- base_app/views.py | 5 ++ plchweb/urls.py | 3 +- 6 files changed, 230 insertions(+), 22 deletions(-) create mode 100644 base_app/static/base_app/css/master.css create mode 100644 base_app/templates/cv.html diff --git a/base_app/static/base_app/css/master.css b/base_app/static/base_app/css/master.css new file mode 100644 index 0000000..3ec29a4 --- /dev/null +++ b/base_app/static/base_app/css/master.css @@ -0,0 +1,90 @@ +body { + font-family: 'Comic Sans MS'; + color: #377ba8; + background: #252525; + font-size: 62.5%; + color: white; +} + +h1, h2 { + font-family: 'Impact', serif; + margin: 0; + text-shadow: -2px -2px 0 #000, 2px -2px 0 #000, + -2px 2px 0 #000, 2px 2px 0 #000; +} + +h1 { + color: white; + font-size: 4rem; + border-bottom: 2px solid #eee; + padding-bottom: 0.7%; + margin-bottom: 2.5%; + margin-top: 1%; +} + +h2 { + margin-top: 6%; + font-size: 3rem; + line-height: 2.9rem; +} + +a, h2 { + color: #377ba8; +} + +pre { + font-family: 'Comic Sans MS'; +} + +p { + padding-right: 33%; + font-size: 0.8rem; +} +h3 { + font-size: 1.7rem; + margin-bottom: 2%; +} + +ul { + font-size: 1.05rem; +} + +h4 { + font-size: 1.05rem; +} + +.page { + margin: 2% auto; + width: 66.666%; + border: 5px solid #ccc; + padding: 0.8%; + padding: 0.8%; + background: #333; +} + +.navbar { + margin-left: -5%; + margin-top: 1%; + width: 12%; + border: 5px solid #ccc; + padding: 0.8%; + padding-left: 5%; + background: #333; + float: left; + position: fixed; +} + +.navbar-block { + font-size: 1.13rem; + width: 95%; + padding: 5%; + padding-left: 5%; + margin: 5.8%; + margin-left: -7%; + margin-top: 3%; + float: left; + color: white; + background: #454545; +} + + diff --git a/base_app/templates/cv.html b/base_app/templates/cv.html new file mode 100644 index 0000000..5cbb4ff --- /dev/null +++ b/base_app/templates/cv.html @@ -0,0 +1,97 @@ +{% extends "layout.html" %} +{% load static %} + +{% block content %} +

Marcel Plch

+

+

Work Experience

+

Comprimato Systems Ltd.

+ +

My first job during summer before I went to third grade of high school. Here, I have learned most of my C++ skills. I was working on multimedia codec live transcoder, where my most important role was to wrap a C library x264 into a C++ project. Aside from this, I was given small side-tasks like tweaking logger or fixing a small bug.

+

Red Hat Czech s.r.o.

+ +

Internship

+

Most of my experience overall comes from this employment. I started here as an intern in the Python maintenance team, where I made connections during previous year by working on open-source projects (PEP 547 and a semestral work in cooperation with Red Hat).

+

During my internship, I was working on patches for the cpython interpreter. This included bugfixes and working on Python enhancement proposals (later on as PEPs). Both PEPs I have worked on are linked below.

+

First PEP I was working on is supposed to allow running C modules the same way one can run a common .py file. This PEP had to be deferred until the internal mechanics are prepared for this.

+

The second PEP is also about C modules, here the goal was to allow the extension modules to implement classes the same way they work in Python. Before this PEP, C-implemented Python classes had no access to global module memory. This often caused hackish approach that usually resulted in memory leaks.

+

Employment

+

A year into my internship, I was hired as a RHEL/Fedora packager at the same team. My responsibilities included RPM packaging, bugfixing, software maintenance, rebuilding new versions and making sure nothing is broken.

+

Bugfixing was probably the most common responsibility. Aside from this, I was working on fixing CVEs (security vulnerabilities), submitting updates to the distribution, tweaking software to be FIPS-compliant and if there was enough time, I continued my work on my PEPs.

+

Comprimato Systems Ltd.

+ +

This company grew since the time I last worked here, I was hired as a Developer in QA, my responsibility was to work on QA tools for the main product of the company. The expectations from each side didn’t quite meet, so it didn’t take long before this cooperation got terminated.

+

Education

+ +

Conference Attendance

+ +

Skills

+

Programming

+

Designing algorithms and solutions to logical problems is a very fundamental concept in solving any problem in (not just) software. It’s programmer’s responsibility to design a sturdy and reliable code, as even the most careful user may get compromised, if the development process is underestimated.

+

Languages I know:

+ +

Project maintenance

+

Most of my work experience comes from Red Hat, which is a company selling support for their enterprise solutions. Selling support means a great effort being put into maintenance of the products.

+

I have worked at the Python maintenance team, which means I know the internals of the cpython interpreter and I am able to quickly learn a new library or Python project.

+

Operating Systems

+

As a huge enthusiast into open software, free operating systems are of great importance to me. Considering knowledge about internals of how computers work an important subject, I have learned many useful skills like system administrations, setting up permissions securely, working with sensitive data, setting a server up for a specific purpose etc.

+

Computer Networks

+

One computer may never solve a problem efficiently. Thus it is crucial to know how to make them communicate. By working with git, secure communication channels, webservers, multimedia codecs, etc., I have learned much useful information from practice (opening up sockets, securing them, selecting correct protocol…) on top of theoretical knowledge being taught at schools like IPv4 and basics of IPv6, TCP/IP, etc.

+

Public Speaking

+

One of my favorite semi-IT tasks is giving talks about topics I find useful or interesting. I often gave talks at some conferences and local Python meetups. I attended some Toastmasters sessions, so I could get better at public speaking. Unfortunately, before I could utilize these new skills, the COVID crisis terminated my public speaking for a while.

+

Interests

+ +

Contact

+ + + +{% endblock %} diff --git a/base_app/templates/index.html b/base_app/templates/index.html index 81f24e5..a4f04a0 100644 --- a/base_app/templates/index.html +++ b/base_app/templates/index.html @@ -1,5 +1,13 @@ {% extends "layout.html" %} +{% load static %} {% block content %} - hello +

Homepage

+

Some fucking section

+

Some fucking subsection

+ +

{% endblock %} + diff --git a/base_app/templates/layout.html b/base_app/templates/layout.html index b1e238f..d5e30b2 100644 --- a/base_app/templates/layout.html +++ b/base_app/templates/layout.html @@ -6,43 +6,50 @@ {{ title }} - + {# REQUIRED META TAGS #} - + + {# CSS #} - {% block headerExtension %} - {% endblock %} + {% block headerExtension %} + {% endblock %} + {# NAVBAR #} + {# CONTENT #}
- {% block content %} {% endblock %} - -
-
-

Marcel Plch

-
-
-
-

Lorem ipsum

-
-
-
+ + {# FOOTER #} + diff --git a/base_app/views.py b/base_app/views.py index b77d52b..3b71f13 100644 --- a/base_app/views.py +++ b/base_app/views.py @@ -9,4 +9,9 @@ class IndexView(TemplateView): def get(self, request, *args, **kwargs): return render(request, "index.html", {}) +class CVView(TemplateView): + + def get(self, request, *args, **kwargs): + return render(request, "cv.html", {}) + diff --git a/plchweb/urls.py b/plchweb/urls.py index 565b520..31a7053 100644 --- a/plchweb/urls.py +++ b/plchweb/urls.py @@ -15,9 +15,10 @@ Including another URLconf """ from django.contrib import admin from django.urls import path -from base_app.views import IndexView +from base_app.views import IndexView, CVView urlpatterns = [ path('admin/', admin.site.urls), path('', IndexView.as_view()), + path('curriculum-vitae/', CVView.as_view()), ]