Restore some good stuff.
This commit is contained in:
parent
07ea4f1ca2
commit
31779c2a61
5 changed files with 277 additions and 1 deletions
167
base_app/templates/CV.html
Normal file
167
base_app/templates/CV.html
Normal file
|
@ -0,0 +1,167 @@
|
|||
{% extends "layout.html" %}
|
||||
{% load static %}
|
||||
|
||||
{% block content %}
|
||||
<div class="page">
|
||||
<h1 id="marcel-plch">Marcel Plch</h1>
|
||||
<p><img src="{% static "base_app/img/me.jpg" %}" width="125" /></p>
|
||||
<h2 id="work-experience">Work Experience</h2>
|
||||
<h3 id="comprimato-systems-ltd.">Comprimato Systems Ltd.</h3>
|
||||
<ul class="incremental">
|
||||
<li>2017 Jul - 2017 Aug</li>
|
||||
</ul>
|
||||
<p>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.</p>
|
||||
<h3 id="red-hat-czech-s.r.o.">Red Hat Czech s.r.o.</h3>
|
||||
<ul class="incremental">
|
||||
<li>2017 Sep - 2020 Oct</li>
|
||||
</ul>
|
||||
<h4 id="internship">Internship</h4>
|
||||
<p>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).</p>
|
||||
<p>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.</p>
|
||||
<p>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.</p>
|
||||
<p>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.</p>
|
||||
<h4 id="employment">Employment</h4>
|
||||
<p>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.</p>
|
||||
<p>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.</p>
|
||||
<h3 id="comprimato-systems-ltd.-1">Comprimato Systems Ltd.</h3>
|
||||
<ul class="incremental">
|
||||
<li>2021 Mar - 2021 May</li>
|
||||
</ul>
|
||||
<p>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.</p>
|
||||
<h3 id="tramex-rail-s.r.o.">Tramex Rail s.r.o.</h3>
|
||||
<ul class="incremental">
|
||||
<li>2022 Apr - 2022 Sep</li>
|
||||
</ul>
|
||||
<p>I was primarily tasked with developing user web interface (Django) to
|
||||
already exisitng solutions and embedded firmware for new hardware.</p>
|
||||
<p>The firmware consisted of Linux system + proprietary layers from
|
||||
manufacturers, on top of which we could build our solutions to meet
|
||||
customer’s (mostly České Dráhy) demands.</p>
|
||||
</div>
|
||||
<div class="page">
|
||||
<h2 id="education">Education</h2>
|
||||
<ul class="incremental">
|
||||
<li>Střední škola informatiky, poštovnictví a finančnictví, Brno,
|
||||
příspěvková organizace
|
||||
<ul class="incremental">
|
||||
<li>High school of informatics, postal and financial services, Brno</li>
|
||||
<li>2015 - 2019</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<h3 id="unfinished-attempts">Unfinished attempts</h3>
|
||||
<ul class="incremental">
|
||||
<li>Fakulta informatiky Masarykovy univerzity
|
||||
<ul class="incremental">
|
||||
<li>Faculty of Informatics, Masaryk University</li>
|
||||
<li>2021</li>
|
||||
</ul></li>
|
||||
<li>University of Highlands and Islands, Perth college, Scotland
|
||||
<ul class="incremental">
|
||||
<li>2019</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<h2 id="conference-attendance">Conference Attendance</h2>
|
||||
<ul class="incremental">
|
||||
<li>Linux Days 2016</li>
|
||||
<li>PyCon CZ 2018</li>
|
||||
<li>PyCon CZ 2019</li>
|
||||
<li>EuroPython 2019</li>
|
||||
<li>Flock (Fedora Linux distribution conference)</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="page">
|
||||
<h2 id="skills">Skills</h2>
|
||||
<h3 id="programming">Programming</h3>
|
||||
<p>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.</p>
|
||||
<p>Languages I know:</p>
|
||||
<ul class="incremental">
|
||||
<li>C (Advanced)</li>
|
||||
<li>Python (Advanced)</li>
|
||||
<li>C++ (Intermediate-advanced)</li>
|
||||
<li>Java (Intermediate)</li>
|
||||
<li>C# (Intermediate</li>
|
||||
<li>Rust (Basic)</li>
|
||||
<li>Go (Basic)</li>
|
||||
</ul>
|
||||
<h3 id="project-maintenance">Project maintenance</h3>
|
||||
<p>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.</p>
|
||||
<p>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.</p>
|
||||
<h3 id="operating-systems">Operating Systems</h3>
|
||||
<p>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.</p>
|
||||
<h3 id="computer-networks">Computer Networks</h3>
|
||||
<p>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.</p>
|
||||
<h3 id="public-speaking">Public Speaking</h3>
|
||||
<p>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.</p>
|
||||
</div>
|
||||
<div class="page">
|
||||
<h2 id="interests">Interests</h2>
|
||||
<ul class="incremental">
|
||||
<li>Free software</li>
|
||||
<li>Ethics in computing</li>
|
||||
<li>Cybersecurity</li>
|
||||
<li>IT in politics</li>
|
||||
<li>Chess</li>
|
||||
<li>Philosophy</li>
|
||||
</ul>
|
||||
<h2 id="contact">Contact</h2>
|
||||
<ul class="incremental">
|
||||
<li>E-mail: dormouse@plch.xyz / marcel.plch@protonmail.com</li>
|
||||
<li>Website: https://plch.xyz (inactive)</li>
|
||||
</ul>
|
||||
<h2 id="links-to-see">Links to see</h2>
|
||||
<ul class="incremental">
|
||||
<li>Gitea: https://gitea.plch.xyz</li>
|
||||
<li>PEP 547: https://www.python.org/dev/peps/pep-0547/</li>
|
||||
<li>PEP 573: https://www.python.org/dev/peps/pep-0573/</li>
|
||||
</ul>
|
||||
</div>
|
||||
{% endblock %}
|
77
base_app/templates/ukraine.html
Normal file
77
base_app/templates/ukraine.html
Normal file
|
@ -0,0 +1,77 @@
|
|||
{% extends "layout.html" %}
|
||||
{% load static %}
|
||||
|
||||
{% block headerExtension %}
|
||||
<link rel="stylesheet" href="{% static "base_app/css/ukraine.css" %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="page">
|
||||
|
||||
<h1 style="display:inline"> Glory to Ukraine!
|
||||
<img src="{% static "base_app/img/ukraine.png" %}" width="48">
|
||||
</h1>
|
||||
|
||||
<h2> Glory to heroes! </h2>
|
||||
|
||||
<h3> Say no to propaganda </h3>
|
||||
<p>
|
||||
This website is inspired by <a
|
||||
href="https://vug.pl/takeRussiaDown.html">vug.pl</a> (Careful,
|
||||
this will immediately launch a DoS attack against russian servers.)
|
||||
</p>
|
||||
<p>
|
||||
Please bookmark that website as well, any page like this is at risk of
|
||||
being taken down. If you wish to contact me about this effort, please do so
|
||||
by encrypted means. I will send tutorials and help explain how to, if you do not
|
||||
posses such skills.
|
||||
</p>
|
||||
<p>
|
||||
Thank you for your help.
|
||||
</p>
|
||||
|
||||
<h3>What can I do?</h3>
|
||||
<p>
|
||||
Below, you can see a list of domains and a start button. If you click
|
||||
the start button, you launch a <a
|
||||
href="https://en.wikipedia.org/wiki/Denial-of-service_attack">
|
||||
DDoS attack</a> (Wikipedia)
|
||||
against russian servers and disinformation websites
|
||||
directly connected to, or exclusively sourcing, russian propaganda.
|
||||
</p>
|
||||
<p>
|
||||
If you believe some website is missing or shouldn't be here, please
|
||||
contact me using the information in the footer.
|
||||
</p>
|
||||
|
||||
<input type="button" value="Start" onclick="flood()">
|
||||
<input type="button" value="Stop" onclick="stop=true">
|
||||
<p id="status">Status: off</p>
|
||||
<p>Max requests (more is better, pull down if browser is unusable):</p>
|
||||
<div class="slidecontainer" onchange="req_update()">
|
||||
<input type="range" min="1" max="5096" value="50" class="slider" id="requests">
|
||||
</div>
|
||||
<p id="amount">50</p>
|
||||
<p>Un/selecting a domain requres restart.</p>
|
||||
{% for domain in domains %}
|
||||
<div class="domain-wrapper">
|
||||
<div class="domain-segment-checkbox">
|
||||
<input type="checkbox" checked="true">
|
||||
</div>
|
||||
<div class="domain-segment-domain">
|
||||
{{ domain }}
|
||||
</div>
|
||||
<div class="domain-segment-req">
|
||||
requests: 0
|
||||
</div>
|
||||
<div class="domain-segment-err">
|
||||
errors: 0
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
|
||||
<script src="{% static "base_app/js/fuck_putin.js" %}"></script>
|
||||
{% endblock %}
|
||||
|
|
@ -3,7 +3,17 @@ from django.shortcuts import render
|
|||
from django.shortcuts import render, redirect
|
||||
from django.views.generic import TemplateView, FormView
|
||||
|
||||
import json
|
||||
|
||||
# Helper functions
|
||||
def get_domains():
|
||||
domains = None
|
||||
with open("data/domains.json", "r") as f:
|
||||
data = f.read()
|
||||
domains = json.loads(data)
|
||||
|
||||
return domains
|
||||
|
||||
|
||||
# Create your views here.
|
||||
class IndexView(TemplateView):
|
||||
|
@ -11,3 +21,20 @@ 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", {})
|
||||
|
||||
class LoremView(TemplateView):
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
return render(request, "lorem.html", {})
|
||||
|
||||
class UkraineView(TemplateView):
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
domains = get_domains()
|
||||
return render(request, "ukraine.html", {"domains" : domains})
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
[
|
||||
"https://aeronet.news/",
|
||||
"https://www.spd.cz/",
|
||||
"https://lenta.ru/",
|
||||
"https://ria.ru/",
|
||||
"https://ria.ru/lenta/",
|
||||
|
|
|
@ -15,8 +15,12 @@ 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, LoremView, CVView, UkraineView
|
||||
|
||||
urlpatterns = [
|
||||
path('admin/', admin.site.urls),
|
||||
path('', IndexView.as_view()),
|
||||
path('lorem-ipsum/', LoremView.as_view()),
|
||||
path('curriculum-vitae/', CVView.as_view()),
|
||||
path('ukraine/', UkraineView.as_view()),
|
||||
]
|
||||
|
|
Loading…
Reference in a new issue