1
0
mirror of https://github.com/tommytran732/tommytran.io synced 2024-12-26 16:52:15 -05:00

Site Upload

This commit is contained in:
Tommy 2022-09-02 17:49:44 -04:00
commit 7c03fa92e0
No known key found for this signature in database
GPG Key ID: 060B29EB996BD9F2
32 changed files with 861 additions and 0 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "themes/WonderMod"]
path = themes/WonderMod
url = https://github.com/Wonderfall/hugo-WonderMod

0
.hugo_build.lock Normal file
View File

2
README.md Normal file
View File

@ -0,0 +1,2 @@
# tommytran.io
My personal website. <br />

6
archetypes/default.md Normal file
View File

@ -0,0 +1,6 @@
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
---

143
config.yml Normal file
View File

@ -0,0 +1,143 @@
baseURL: "https://tommytran.io"
title: Tommy Tran
theme: WonderMod
copyright: '©Thien Tran 2021-2022'
enableRobotsTXT: true
#enableGitInfo: true
minify:
disableXML: true
minifyOutput: true
params:
env: production # to enable google analytics, opengraph, twitter-cards and schema.
author: Tommy
# author: ["Me", "You"] # multiple authors
description: System Administrator and Technical Writer
keywords: [TommyTran732]
defaultTheme: dark # dark, light
disableThemeToggle: false
images: ["/cortana.png"]
ShowReadingTime: true
ShowPostNavLinks: true
ShowBreadCrumbs: true
ShowWordCount: true
ShowToc: true
ShowRssButtonInSectionTermList: false
ShowCodeCopyButtons: true
assets:
disableHLJS: true
disableFingerprinting: false
favicon: "/favicon/favicon.ico"
favicon16x16: "/favicon/favicon-16x16.png"
favicon32x32: "/favicon/favicon-32x32.png"
apple_touch_icon: "/favicon/apple-touch-icon.png"
safari_pinned_tab: "/favicon/safari-pinned-tab.svg"
label:
text: "TommyTran.io"
# profile-mode
profileMode:
enabled: true # needs to be explicitly set
title: Tommy Tran
subtitle: "System Administrator and Technical Writer"
buttons:
- name: About
url: about
- name: Contact
url: contact
- name: PGP Key
url: gpg.asc
socialIcons:
- name: github
url: "https://github.com/tommytran732"
- name: gitea
url: "https://git.tommytran.io/tomster"
- name: matrix
url: "https://matrix.to/#/@tommy:arcticfoxes.net"
- name: twitter
url: "https://twitter.com/tommytran732"
- name: email
url: "mailto:contact@tommytran.io"
- name: youtube
url: "https://www.youtube.com/channel/UCxm1CqMnCCj5byfXyb8C6_g"
cover:
hidden: false # hide everywhere but not in structured data
hiddenInList: true # hide on list pages and home
hiddenInSingle: false # hide on single page
editPost:
URL: "https://github.com/tommytran732/tommytran.io/blob/main/content"
Text: "Suggest Changes" # edit text
appendFilePath: true # to append file path to Edit link
# for search
# https://fusejs.io/api/options.html
fuseOpts:
isCaseSensitive: false
shouldSort: true
location: 0
distance: 1000
threshold: 0.4
minMatchCharLength: 0
keys: ["title", "summary"]
#Enabling Search
outputs:
home:
- HTML
- JSON # is necessary
# Enable Chroma
markup:
highlight:
style: dracula
lineNos: false
noClasses: false
guessSyntax: true
menu:
main:
- identifier: Blog
name: Blog
url: https://privsec.dev
weight: 10
- identifier: Projects
name: Projects
url: /projects/
weight: 20
- identifier: Services
name: Services
url: /services/
weight: 30
- identifier: Hire Me!
name: Hire Me!
url: /hire-me/
weight: 40
privacy:
disqus:
disable: true
googleAnalytics:
anonymizeIP: true
disable: true
respectDoNotTrack: true
useSessionStorage: false
instagram:
disable: true
simple: false
twitter:
disable: false
enableDNT: true
simple: false
vimeo:
disable: false
enableDNT: true
simple: false
youtube:
disable: false
privacyEnhanced: true

14
content/about.md Normal file
View File

@ -0,0 +1,14 @@
---
title: "About Me"
date: 2022-09-02
---
![fedora-tux](/images/fedora-tux.png)
Hey there 👋
My name is Thien, but I mostly go by "Tommy" nowadays. I am an enthusiastic Linux system administrator around 4 years of experience. I am familiar with most major Linux families, from Red Hat to Debian to SUSE to Arch Linux. Recently, my interest has shifted to immutable distributions such as Fedora Silverblue/CoreOS and openSUSE MicroOS.
Like most Linux users, I am an open source enthusiast and publish most of the projects made in my free time on [GitHub](https://github.com/tommytran732) and [my own Gitea instance](https://git.tommytran.io/tomster). I also made a couple of small contributions to various projets on GitHub as well.
If you are active in the privacy communities on Matrix, you may recognize me. I used to be a collaborator for [PrivacyGuides.org](https://privacyguides.org) and wrote a large portion of the site from around October 2021 - July 2022. Now, I am now working on my own website - [PrivSec.dev](https://privsec.dev) - with a couple of friends I "met" through [GrapheneOS](https://grapheneos.org). Oh, while we are on this topic, I am also a moderator in the official GrapheneOS channels as well (though not a developer or project member). Or, you may just know me as that one guy who loves throwing a hypervisor at every problem he encounters, typical of a Qubes OS user.

17
content/contact.md Normal file
View File

@ -0,0 +1,17 @@
---
title: "Contact"
date: 2022-09-02
---
![Matrix](/images/matrix.jpg)
I highly recommend that you contact me via Matrix, so we could take advantage of their end to end encryption. My Matrix is [@tommy:arcticfoxes.net](https://matrix.to/#/@tommy:arcticfoxes.net).
In case you do not have a Matrix account, you can sign up for one on my homeserver [arcticfoxes.net](https://arcticfoxes.net) or on [matrix.org](https://app.element.io). Alternatively, check out [joinmatrix.org](https://joinmatrix.org/servers/) for a list of public homeservers. I do not ask for your email address or any personal information for registration on [arcticfoxes.net](https://arcticfoxes.net). All you need to provide is a username and password.
If you prefer to reach out to me via email, my address is contact@tommytran.io. You can use my GPG Key to encrypt the messages. Aliases:
- tommy@privsec.dev
- tommy@arcticfoxes.net
Please by wary of anyone claiming to be me or using the handle "TommyTran732" reaching out to you. Chances are, they are an impersonator. You can always contact me via Matrix or Email for identity verification.

17
content/hire-me.md Normal file
View File

@ -0,0 +1,17 @@
---
title: "Hire Me"
date: 2022-09-02
---
![rchsa](/images/rhcsa.png)
I am graduating in a few months and I am looking for a full-time sysadmin job. If you are interested in hiring me, please send me an email at contact@tommytran.io.
I will not be posting my full resume here for privacy reasons, but here are the the certifications I have gotten so far:
- **Red Hat Certified System Administrator** | ID: 200-058-41
- **Linux Foundation Certified System Administrator** | ID: LFCS-2000-002661-01
- **SUSE Certified Administrator for SUSE Linux Enterprise 15** | ID: 2107 (2021-04-24)
- **CompTIA Linux+** (QYRCZ8BM0HE11LK)
- **CompTIA ITF+** (MJ29K56PQC44QWWG)
- **Linux Professional Institute Linux Essentials** (ju2ycbghb9)

26
content/projects.md Normal file
View File

@ -0,0 +1,26 @@
---
title: "Projects"
date: 2022-09-02
---
## PrivSec.dev
![Privsec.dev](/images/privsec.png)
[PrivSec.dev](https://privsec.dev) is a website made by me and a couple of friends. The goal is to provide practical privacy and security advice for the end user. You can think of it as a shared blog focusing on this topic.
We focus on in-depth system configuration, security analysis, and software/hardware recommendations. Our site is based on technical merits, not ideologies and politics.
## Pterodactyl Script
![Pterodactyl](/images/pterodactyl.png)
The [Pterodactyl Script](https://github.com/tommytran732/Pterodactyl-Script) is a bash script I wrote to automate the fairly tedious installation process of the popuar Pterodactyl control panel. It comes with automatic SSL certificate generation using Certbot, MariaDB SSL, basic firewall configuration, Fail2ban, and optional phpMyAdmin support. With this script, a 30-40 minutes task for a seasoned system administrator could be completed in under 5 minutes. This is my most popular project to date, with over 150 stars on GitHub.
## Arch Install Script
![Arch Linux](/images/archlinux.jpg)
The Arch Setup Script is a script that I wrote to automate my Arch Linux installation which mimics openSUSE's setup with BTRFS and Snapper. At the time, there was no other installer that does this nicely because they all use the same flat layout as recommended in the Arch Wiki. The downside of using this layout is that snapper rollback does not work properly and the user has to get into the Arch ISO to manually rollback their system. This could be solved by using the openSUSE's layout for BTRFS, and I forked Easy Arch to do just that.
Over time, I have been adding more security/privacy related settings by default (such as randomized MAC address, IPv6 Privacy, Apparmor, Kernel module blacklist, encrypted /boot). The project is still actively developed, and many of the changes I made are merged upstream as well.

14
content/services.md Normal file
View File

@ -0,0 +1,14 @@
---
title: "Services"
date: 2022-09-02
---
![ArcticFoxes](/images/arcticfoxes.png)
I run some public services that you could use:
- [ArcticFoxes.net](https://arcticfoxes.net), a small Matrix homeserver for cool nerds to hang around. Registration is open.
- My own [Gitea instance](https://git.tommytran.io). It currently is a mirror of my public repositories and a few other projects that I find interesting. Registration is closed.
I am quite busy right now, but I am looking at deploying Mastodon and PrivateBin in the near future. When the Gitea federation comes to fruition, I will consider converting my private Gitea instance into a public one under [ArcticFoxes.net](https://arcticfoxes.net) as well.

101
layouts/_default/list.html Normal file
View File

@ -0,0 +1,101 @@
{{- define "main" }}
{{- if (and site.Params.profileMode.enabled .IsHome) }}
{{- partial "index_profile.html" . }}
{{- else }} {{/* if not profileMode */}}
{{- if not .IsHome | and .Title }}
<header class="page-header">
{{- partial "breadcrumbs.html" . }}
<h1>
{{ .Title }}
{{- if and (or (eq .Kind `term`) (eq .Kind `section`)) (.Param "ShowRssButtonInSectionTermList") }}
<a href="index.xml" title="RSS" aria-label="RSS">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round" height="23">
<path d="M4 11a9 9 0 0 1 9 9" />
<path d="M4 4a16 16 0 0 1 16 16" />
<circle cx="5" cy="19" r="1" />
</svg>
</a>
{{- end }}
</h1>
{{- if .Description }}
<div class="post-description">
{{ .Description | markdownify }}
</div>
{{- end }}
</header>
{{- end }}
{{- if .Content }}
<div class="post-content">
{{- if not (.Param "disableAnchoredHeadings") }}
{{- partial "anchored_headings.html" .Content -}}
{{- else }}{{ .Content }}{{ end }}
</div>
{{- end }}
{{- $pages := union .RegularPages .Sections }}
{{- if .IsHome }}
{{- $pages = where site.RegularPages "Type" "in" site.Params.mainSections }}
{{- end }}
{{- $paginator := .Paginate $pages }}
{{- if and .IsHome site.Params.homeInfoParams (eq $paginator.PageNumber 1) }}
{{- partial "home_info.html" . }}
{{- end }}
{{- $term := .Data.Term }}
{{- range $index, $page := $paginator.Pages.ByTitle }}
{{- $class := "post-entry" }}
{{- $user_preferred := or site.Params.disableSpecial1stPost site.Params.homeInfoParams }}
{{- if (and $.IsHome (eq $paginator.PageNumber 1) (eq $index 0) (not $user_preferred)) }}
{{- $class = "first-entry" }}
{{- else if $term }}
{{- $class = "post-entry tag-entry" }}
{{- end }}
<article class="{{ $class }}">
{{- $isHidden := (site.Params.cover.hidden | default site.Params.cover.hiddenInList) }}
{{- partial "cover.html" (dict "cxt" . "IsHome" true "isHidden" $isHidden) }}
<header class="entry-header">
<h2>
{{- .Title }}
{{- if .Draft }}<sup><span class="entry-isdraft">&nbsp;&nbsp;[draft]</span></sup>{{- end }}
</h2>
</header>
{{- if (ne (.Param "hideSummary") true) }}
<div class="entry-content">
<p>{{ .Summary | plainify | htmlUnescape }}{{ if .Truncated }}...{{ end }}</p>
</div>
{{- end }}
{{- if not (.Param "hideMeta") }}
<footer class="entry-footer">
{{- partial "post_meta.html" . -}}
</footer>
{{- end }}
<a class="entry-link" aria-label="post link to {{ .Title | plainify }}" href="{{ .Permalink }}"></a>
</article>
{{- end }}
{{- if gt $paginator.TotalPages 1 }}
<footer class="page-footer">
<nav class="pagination">
{{- if $paginator.HasPrev }}
<a class="prev" href="{{ $paginator.Prev.URL | absURL }}">« {{ i18n "prev_page" }}</a>
{{- end }}
{{- if $paginator.HasNext }}
<a class="next" href="{{ $paginator.Next.URL | absURL }}">{{ i18n "next_page" }} »</a>
{{- end }}
</nav>
</footer>
{{- end }}
{{- end }}{{/* end profileMode */}}
{{- end }}{{- /* end main */ -}}

View File

@ -0,0 +1,62 @@
{{- $pageurl := .Permalink }}
{{- $title := .Title }}
{{- $.Scratch.Set "tags" ""}}
{{- with .Params.Tags }}
{{- $hashtags := newScratch}}
{{- range . }}{{ $hashtags.Add "tags" (slice (replaceRE "(\\s)" "" . ))}}{{end}}
{{- $.Scratch.Set "tags" (delimit ($hashtags.Get "tags") ",") }}
{{- end -}}
{{- $custom := false }}
{{- $ShareButtons := (.Param "ShareButtons")}}
{{- with $ShareButtons }}{{ $custom = true }}{{ end }}
<div class="share-buttons">
{{- if (cond ($custom) (in $ShareButtons "twitter") (true)) }}
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on twitter"
href="https://twitter.com/intent/tweet/?text={{ $title }}&amp;url={{ $pageurl }}&amp;hashtags={{- $.Scratch.Get "tags" -}}">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-253.927,424.544c135.939,0 210.268,-112.643 210.268,-210.268c0,-3.218 0,-6.437 -0.153,-9.502c14.406,-10.421 26.973,-23.448 36.935,-38.314c-13.18,5.824 -27.433,9.809 -42.452,11.648c15.326,-9.196 26.973,-23.602 32.49,-40.92c-14.252,8.429 -30.038,14.56 -46.896,17.931c-13.487,-14.406 -32.644,-23.295 -53.946,-23.295c-40.767,0 -73.87,33.104 -73.87,73.87c0,5.824 0.613,11.494 1.992,16.858c-61.456,-3.065 -115.862,-32.49 -152.337,-77.241c-6.284,10.881 -9.962,23.601 -9.962,37.088c0,25.594 13.027,48.276 32.95,61.456c-12.107,-0.307 -23.448,-3.678 -33.41,-9.196l0,0.92c0,35.862 25.441,65.594 59.311,72.49c-6.13,1.686 -12.72,2.606 -19.464,2.606c-4.751,0 -9.348,-0.46 -13.946,-1.38c9.349,29.426 36.628,50.728 68.965,51.341c-25.287,19.771 -57.164,31.571 -91.8,31.571c-5.977,0 -11.801,-0.306 -17.625,-1.073c32.337,21.15 71.264,33.41 112.95,33.41Z" />
</svg>
</a>
{{- end }}
{{- if (cond ($custom) (in $ShareButtons "facebook") (true)) }}
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on facebook"
href="https://facebook.com/sharer/sharer.php?u={{ $pageurl }}">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-106.468,0l0,-192.915l66.6,0l12.672,-82.621l-79.272,0l0,-53.617c0,-22.603 11.073,-44.636 46.58,-44.636l36.042,0l0,-70.34c0,0 -32.71,-5.582 -63.982,-5.582c-65.288,0 -107.96,39.569 -107.96,111.204l0,62.971l-72.573,0l0,82.621l72.573,0l0,192.915l-191.104,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Z" />
</svg>
</a>
{{- end }}
{{- if (cond ($custom) (in $ShareButtons "reddit") (true)) }}
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on reddit"
href="https://reddit.com/submit?url={{ $pageurl }}&title={{ $title }}">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z" />
</svg>
</a>
{{- end }}
{{- if (cond ($custom) (in $ShareButtons "telegram") (true)) }}
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on telegram"
href="https://telegram.me/share/url?text={{ $title }}&amp;url={{ $pageurl }}">
<svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
<path
d="M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z" />
</svg>
</a>
{{- end }}
{{- if (cond ($custom) (in $ShareButtons "whatsapp") (true)) }}
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on whatsapp"
href="https://api.whatsapp.com/send?text={{ $title }}%20-%20{{ $pageurl }}">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z" />
</svg>
</a>
{{- end }}
</div>

33
netlify.toml Normal file
View File

@ -0,0 +1,33 @@
[build.environment]
HUGO_VERSION = "0.102.2"
[context.deploy-preview]
command = "hugo -b $DEPLOY_PRIME_URL"
[[plugins]]
package = "netlify-plugin-checklinks"
[plugins.inputs]
# An array of glob patterns for pages on your site
# Recursive traversal will start from these
entryPoints = [
"*.html",
]
# Recurse through all the links and asset references on your page, starting
# at the entrypoints
recursive = true
# Checklinks outputs TAP (https://testanything.org/tap-version-13-specification.html)
# by default. Enabling pretty mode makes the output easier on the eyes.
pretty = true
# You can mark some check as skipped, which will block checklinks
# from ever attempting to execute them.
# skipPatterns is an array of strings you can match against failing reports
skipPatterns = [
"public/index.html",
"public/about/index.html",
"public/contact/index.html",
"public/404.html",
]

BIN
static/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,4 @@
version: STSv1
mode: enforce
mx: mail.tommytran.io
max_age: 604800

14
static/_headers Normal file
View File

@ -0,0 +1,14 @@
/*
Strict-Transport-Security : max-age=63072000; includeSubDomains; preload
Content-Security-Policy : default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self'; style-src 'self'; frame-src https://www.youtube-nocookie.com; form-action 'none'; frame-ancestors 'none'; block-all-mixed-content; base-uri 'none'
X-Content-Type-Options : nosniff
Referrer-Policy : no-referrer
# Cross-Origin-Opener-Policy : same-origin
X-Frame-Options : DENY
X-XSS-Protection : 0
Permissions-Policy : accelerometer=(), ambient-light-sensor=(), autoplay=(), battery=(), camera=(), clipboard-read=(), display-capture=(), document-domain=(), encrypted-media=(), fullscreen=(), geolocation=(), gyroscope=(), hid=(), idle-detection=(), interest-cohort=(), magnetometer=(), microphone=(), midi=(), payment=(), picture-in-picture=(), publickey-credentials-get=(), screen-wake-lock=(), serial=(), usb=(), sync-xhr=(), xr-spatial-tracking=()
Cross-Origin-Resource-Policy : same-origin
Expect-CT: enforce, max-age=63072000
/*.xml
Content-Security-Policy : default-src 'none'; img-src 'self' data: https://www.w3.org/; style-src 'self' 'unsafe-inline'; block-all-mixed-content; base-uri 'none'

BIN
static/cortana.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
static/favicon/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,302 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="411.000000pt" height="411.000000pt" viewBox="0 0 411.000000 411.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.14, written by Peter Selinger 2001-2017
</metadata>
<g transform="translate(0.000000,411.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M0 3200 c0 -897 0 -911 19 -900 28 15 97 12 110 -4 9 -11 8 -15 -6
-21 -15 -6 -14 -9 11 -20 29 -12 29 -13 8 -24 -22 -12 -90 -15 -116 -5 -15 6
-15 8 1 20 16 12 16 15 3 24 -8 5 -18 10 -22 10 -5 0 -8 -472 -8 -1050 0 -577
2 -1050 5 -1050 3 0 22 11 43 24 55 34 209 114 274 142 31 13 112 52 180 86
68 34 148 74 179 89 55 27 99 69 99 94 0 26 113 269 135 292 8 8 15 18 15 23
0 4 12 13 28 19 22 10 72 68 72 86 0 3 -11 5 -25 5 -31 0 -31 1 1 60 19 35 31
47 43 43 35 -13 41 -25 38 -79 -2 -34 0 -54 7 -54 11 0 36 -66 36 -95 0 -8 4
-15 9 -15 5 0 14 -14 20 -31 13 -39 49 -67 123 -99 32 -14 70 -36 86 -50 15
-14 40 -32 55 -39 28 -15 80 -95 91 -143 5 -21 2 -28 -14 -33 -11 -3 -24 -4
-28 -1 -5 3 -23 -12 -41 -34 -26 -32 -38 -40 -66 -40 -18 0 -40 -3 -48 -6 -9
-3 -29 -49 -47 -103 -25 -78 -36 -101 -56 -110 -13 -6 -34 -16 -46 -22 -13 -6
-39 -32 -60 -59 -28 -36 -45 -49 -73 -54 -23 -5 -42 -3 -51 4 -10 9 -25 6 -66
-14 l-52 -26 -433 0 c-426 0 -433 0 -433 -20 0 -20 7 -20 2055 -20 l2055 0 0
2055 0 2055 -2055 0 -2055 0 0 -910z m2079 891 c11 -7 11 -10 0 -17 -8 -4 -23
-8 -33 -9 -11 0 -26 -13 -35 -29 -9 -16 -21 -29 -26 -30 -13 -1 -48 71 -40 84
8 12 114 13 134 1z m-149 -80 c13 -26 13 -44 -2 -39 -14 5 -30 58 -17 58 4 0
13 -9 19 -19z m-31 -65 c11 -14 4 -76 -9 -76 -13 0 -29 48 -23 69 6 24 16 27
32 7z m651 -77 c0 -12 -5 -16 -15 -13 -8 4 -15 17 -15 31 0 22 2 24 15 13 8
-7 15 -21 15 -31z m-674 -44 c-7 -20 -25 -16 -40 8 -8 13 -7 20 4 27 20 12 45
-12 36 -35z m844 -12 c0 -20 -3 -24 -11 -16 -7 7 -9 19 -6 27 10 24 17 19 17
-11z m-660 -59 c0 -8 -4 -14 -10 -14 -5 0 -10 9 -10 21 0 11 5 17 10 14 6 -3
10 -13 10 -21z m190 0 c0 -16 -16 -19 -25 -4 -8 13 4 32 16 25 5 -4 9 -13 9
-21z m-189 -31 c1 -5 3 -23 5 -42 2 -19 9 -38 15 -42 14 -8 2 -32 -14 -26 -6
2 -12 19 -13 38 -2 19 -6 44 -9 57 -5 13 -3 22 4 22 6 0 12 -3 12 -7z m199
-23 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0 10 -4 10 -10z
m-1675 -12 c23 -10 31 -31 12 -29 -4 1 -16 1 -27 1 -10 0 -24 9 -30 20 -13 24
4 27 45 8z m2593 -86 c46 -77 86 -204 107 -342 35 -227 7 -660 -47 -725 -4 -5
-8 -28 -8 -52 0 -48 1 -47 -35 -31 -25 11 -34 28 -14 28 6 0 8 9 4 20 -5 16
-2 20 15 20 13 0 20 5 17 13 -2 6 2 20 11 30 10 12 11 17 3 17 -7 0 -10 4 -7
8 12 20 17 392 7 463 -6 41 -13 108 -16 149 -7 117 -19 170 -39 170 -6 0 -17
9 -24 21 -11 17 -16 18 -28 8 -18 -14 -20 -12 -28 26 -9 40 14 75 37 57 11 -9
17 -10 22 -2 9 14 0 49 -31 128 -25 63 -25 93 1 72 7 -6 31 -41 53 -78z
m-2595 32 c42 -28 40 -49 -5 -40 l-29 6 27 -24 27 -23 -19 -31 c-22 -38 -48
-41 -94 -9 -44 29 -52 52 -17 45 l26 -5 -20 28 c-19 27 -19 29 -2 31 10 0 26
0 37 -1 15 -1 16 1 6 13 -13 17 -6 36 13 36 7 0 29 -11 50 -26z m1527 -54 c0
-4 -7 -11 -17 -14 -14 -6 -14 -8 3 -21 18 -13 18 -15 2 -31 -16 -16 -16 -19 8
-41 22 -20 23 -24 9 -29 -9 -4 -33 -2 -53 5 -20 6 -50 12 -67 14 -19 3 -13 5
18 6 39 1 47 4 47 20 0 11 -6 22 -12 25 -10 3 -9 8 3 18 15 12 15 15 1 27 -13
13 -13 16 2 27 17 12 56 8 56 -6z m250 -10 c0 -5 -4 -10 -10 -10 -5 0 -10 5
-10 10 0 6 5 10 10 10 6 0 10 -4 10 -10z m480 -161 c0 -6 -4 -7 -10 -4 -5 3
-10 11 -10 16 0 6 5 7 10 4 6 -3 10 -11 10 -16z m-694 -2 c4 -4 4 -10 1 -14
-9 -8 -212 -5 -252 4 l-30 7 35 7 c44 9 236 6 246 -4z m-1696 -27 c13 -8 13
-10 -2 -10 -9 0 -20 5 -23 10 -8 13 5 13 25 0z m1735 -21 c77 -12 102 -29 40
-29 -19 0 -35 -4 -35 -10 0 -6 27 -10 60 -10 71 0 115 -16 99 -36 -17 -21 -2
-23 186 -28 169 -5 169 -5 170 -28 0 -19 6 -23 38 -26 24 -2 37 -8 34 -15 -3
-7 -10 -11 -17 -9 -23 5 -51 -10 -48 -26 2 -11 -9 -23 -29 -32 -18 -8 -33 -18
-33 -22 0 -11 67 -21 92 -15 32 8 100 -9 114 -27 6 -9 19 -16 28 -16 10 0 16
-5 14 -12 -3 -7 -25 -13 -54 -14 -27 0 -65 -4 -84 -7 -27 -5 -103 -12 -180
-17 -3 0 2 -5 10 -10 9 -6 41 -8 79 -4 42 4 62 3 58 -4 -9 -14 -59 -22 -144
-23 -77 -1 -120 12 -69 21 39 7 36 23 -6 32 -42 8 -68 -5 -61 -32 3 -12 -1
-22 -11 -26 -11 -4 -14 -13 -10 -30 4 -17 1 -26 -10 -30 -20 -8 -21 -24 -1
-24 20 0 19 -26 -1 -34 -26 -10 -87 -6 -119 8 -25 12 -27 15 -13 21 27 11 12
23 -37 31 -48 7 -66 21 -44 35 15 9 16 8 -45 26 -36 11 -46 33 -16 33 19 0 20
2 6 15 -8 8 -21 15 -28 15 -7 1 0 8 15 16 15 8 25 19 22 25 -4 5 -11 7 -16 4
-5 -4 -9 -1 -9 6 0 10 -3 10 -12 1 -17 -17 -25 -15 -31 9 -4 14 -11 20 -21 16
-8 -3 -16 0 -19 6 -5 14 -121 22 -168 12 -16 -4 -29 -12 -29 -19 0 -7 -25 -18
-57 -26 -32 -7 -63 -19 -69 -27 -16 -19 -77 -36 -71 -20 2 7 14 17 27 24 21
10 22 13 7 19 -25 9 -21 23 9 35 26 9 26 10 8 24 -18 14 -17 15 13 27 24 9 31
17 28 29 -8 25 18 30 143 32 95 1 113 -2 146 -21 41 -24 77 -29 74 -9 -2 7 9
12 27 13 17 1 35 3 40 4 19 6 30 8 48 9 25 2 21 21 -4 21 -12 0 -38 4 -58 10
-20 5 -48 12 -63 15 -32 6 -37 21 -10 28 9 3 3 5 -14 6 -90 3 -130 30 -46 32
26 0 56 4 66 8 35 14 -3 25 -109 31 -117 7 -108 18 20 23 50 1 93 4 97 5 4 1
41 -3 83 -9z m-1714 -35 c22 -11 28 -19 21 -26 -13 -13 -116 5 -138 23 -40 33
54 36 117 3z m919 -24 c0 -5 -7 -10 -15 -10 -8 0 -15 5 -15 10 0 6 7 10 15 10
8 0 15 -4 15 -10z m-948 -24 c69 -20 84 -36 31 -36 -43 1 -104 28 -111 49 -3
9 0 12 9 9 8 -3 40 -13 71 -22z m2076 10 c3 -3 -25 -6 -61 -6 -37 0 -67 4 -67
9 0 9 118 6 128 -3z m-1768 -16 c0 -18 -3 -19 -20 -10 -22 12 -18 30 6 30 8 0
14 -9 14 -20z m-285 -51 c50 -23 54 -42 12 -47 -36 -4 -34 -17 6 -33 l32 -13
-32 -3 c-44 -6 -41 -16 10 -35 l42 -16 -30 -7 c-57 -13 -62 -17 -32 -27 32
-12 31 -30 -3 -38 l-23 -5 27 -12 c35 -17 33 -33 -4 -33 -31 0 -43 -20 -12
-20 16 -1 16 -1 0 -14 -24 -18 -23 -23 9 -50 26 -23 27 -24 10 -50 -10 -14
-26 -26 -37 -26 -26 0 -25 -16 1 -31 15 -7 18 -14 11 -21 -6 -6 -8 -17 -5 -24
3 -8 -4 -17 -17 -22 -20 -7 -18 -9 17 -20 21 -7 58 -13 83 -15 45 -3 44 -3
-17 -11 -35 -5 -63 -12 -63 -17 0 -12 -66 -22 -95 -15 -14 4 -23 11 -20 16 11
18 -49 32 -115 25 -70 -6 -108 6 -80 25 9 7 40 9 77 5 34 -3 81 -2 105 2 l43
7 -40 7 c-22 5 -67 8 -101 8 -33 1 -63 4 -67 7 -3 3 -1 17 6 31 9 21 8 27 -6
34 -42 24 -15 31 89 24 78 -6 105 -5 100 4 -4 6 -11 11 -16 11 -5 0 -21 5 -37
11 -26 10 -27 12 -8 19 11 5 34 9 50 10 27 1 25 3 -18 16 -54 17 -54 34 0 34
20 0 33 3 29 7 -10 10 -78 33 -101 33 -11 0 -27 5 -35 11 -11 7 -2 9 35 8 28
-1 64 -1 80 0 l30 2 -27 15 c-33 17 -34 22 -10 40 16 13 16 15 -3 27 -11 6
-29 15 -40 19 -11 4 8 6 42 5 39 -1 59 1 53 8 -20 19 -10 35 23 35 l32 1 -42
25 c-47 28 -52 38 -27 48 15 6 14 10 -7 33 l-24 26 47 -6 c26 -4 68 -16 93
-28z m915 21 c0 -5 -7 -10 -15 -10 -8 0 -15 5 -15 10 0 6 7 10 15 10 8 0 15
-4 15 -10z m1517 -12 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z
m-132 2 c3 -5 -1 -10 -9 -10 -9 0 -16 5 -16 10 0 6 4 10 9 10 6 0 13 -4 16
-10z m-2031 -10 c28 -10 35 -30 12 -30 -27 0 -67 20 -61 30 8 13 17 13 49 0z
m23 -52 c7 -5 10 -15 6 -21 -4 -7 -6 -26 -4 -44 2 -26 -1 -33 -15 -33 -17 0
-16 -1 1 -14 18 -13 18 -14 -4 -25 -17 -9 -30 -9 -56 -1 -48 16 -46 40 3 41
27 1 30 3 12 6 -39 7 -46 19 -44 65 1 24 2 45 3 47 2 7 85 -10 98 -21z m303 6
c0 -2 -9 -4 -21 -4 -11 0 -18 4 -14 10 5 8 35 3 35 -6z m320 6 c0 -5 -11 -10
-25 -10 -14 0 -25 5 -25 10 0 6 11 10 25 10 14 0 25 -4 25 -10z m155 -31 c10
-15 -1 -23 -20 -15 -9 3 -13 10 -10 16 8 13 22 13 30 -1z m-165 -19 c12 -8 12
-10 -3 -16 -9 -3 -25 -3 -34 0 -15 6 -15 8 -3 16 8 6 17 10 20 10 3 0 12 -4
20 -10z m-325 -10 c-3 -5 -10 -10 -16 -10 -5 0 -9 5 -9 10 0 6 7 10 16 10 8 0
12 -4 9 -10z m498 -16 c12 -12 -6 -34 -29 -34 -17 0 -24 6 -24 20 0 14 7 20
23 20 13 0 26 -3 30 -6z m-175 -41 c2 -8 -5 -13 -17 -13 -21 0 -35 13 -24 24
10 10 36 3 41 -11z m-505 0 c-7 -2 -19 -2 -25 0 -7 3 -2 5 12 5 14 0 19 -2 13
-5z m174 1 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m493 -38
c-6 -8 -18 -12 -26 -9 -23 9 -16 23 12 23 22 0 24 -2 14 -14z m-521 -2 c44 -9
39 -24 -8 -24 -51 0 -78 10 -59 21 16 10 26 11 67 3z m-761 -13 c24 -15 -22
-20 -49 -5 l-24 13 30 0 c17 1 36 -3 43 -8z m1112 -4 c0 -19 -10 -27 -26 -20
-21 8 -17 33 6 33 11 0 20 -6 20 -13z m-365 -42 l30 -13 -35 -1 c-19 -1 -30
-5 -25 -9 6 -4 11 -15 13 -24 5 -31 -59 -21 -65 10 -2 6 4 12 13 12 13 0 14 3
5 13 -23 28 14 35 64 12z m543 4 c-2 -6 -7 -10 -11 -10 -4 1 -14 1 -22 1 -8 0
-15 5 -15 10 0 6 12 10 26 10 14 0 24 -5 22 -11z m-180 -21 c4 -21 -17 -28
-48 -16 l-25 9 25 14 c29 17 44 14 48 -7z m463 12 c24 -13 25 -39 2 -35 -80
16 -79 16 -59 31 24 17 31 17 57 4z m1156 -27 c-16 -16 -17 -16 -17 3 0 11 3
24 7 28 4 3 11 2 17 -4 7 -7 5 -16 -7 -27z m-897 11 c0 -14 -3 -14 -15 -4 -8
7 -15 14 -15 16 0 2 7 4 15 4 8 0 15 -7 15 -16z m-1363 0 c-3 -3 -12 -4 -19
-1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m-462 -49 c0 -12 -9 -21 -25 -25 -25 -6
-25 -6 -2 -12 12 -3 22 -11 22 -17 0 -13 -49 -14 -70 -1 -12 7 -12 10 4 16 18
7 18 8 0 21 -17 13 -17 14 2 28 27 21 69 15 69 -10z m1628 1 c16 -13 15 -14
-10 -19 -26 -5 -70 -1 -103 9 -13 5 -13 6 0 14 22 14 92 11 113 -4z m1002 3
c11 -17 2 -18 -25 -4 -24 14 -24 14 -3 15 12 0 25 -5 28 -11z m-870 -9 c3 -5
1 -10 -4 -10 -6 0 -11 5 -11 10 0 6 2 10 4 10 3 0 8 -4 11 -10z m-1047 -33 c3
-13 -3 -17 -27 -17 -20 0 -31 5 -31 14 0 29 53 32 58 3z m442 -22 l25 -15 -22
-6 c-13 -3 -23 -9 -23 -12 0 -12 37 -31 62 -32 15 0 29 -4 33 -9 3 -6 -15 -10
-42 -10 -27 0 -58 -2 -70 -5 -13 -2 -27 2 -34 11 -11 12 -9 18 11 33 l23 18
-21 6 c-24 8 -29 22 -9 29 21 9 41 7 67 -8z m-660 -15 c-20 -13 -57 -13 -65 0
-4 6 11 10 37 10 31 0 39 -3 28 -10z m217 -7 c6 -17 -35 -36 -63 -29 -30 8
-31 20 -1 34 27 14 59 11 64 -5z m1066 -32 c6 -6 0 -13 -19 -18 -36 -10 -259
-9 -299 1 -29 7 -29 8 -11 22 11 8 31 14 45 14 14 0 31 4 38 8 16 10 233 -14
246 -27z m-1138 -11 c22 0 34 -4 30 -10 -3 -6 -36 -9 -73 -9 -37 1 -88 -2
-114 -6 -34 -5 -52 -4 -63 5 -27 23 -16 30 49 30 36 0 68 4 71 10 4 6 17 4 35
-5 16 -8 45 -15 65 -15z m1559 12 c16 -9 -20 -22 -64 -22 -52 0 -90 9 -90 21
0 16 126 17 154 1z m-1500 -69 c-11 -49 -64 -71 -72 -30 -5 25 26 57 55 57 20
0 23 -3 17 -27z m1512 17 c33 -13 26 -21 -23 -30 l-38 -7 40 -7 c77 -14 86
-17 80 -25 -3 -5 -24 -13 -48 -17 l-42 -8 45 -7 c75 -14 91 -19 85 -29 -3 -6
-15 -10 -26 -10 -10 0 -19 -4 -19 -10 0 -5 11 -10 24 -10 33 0 76 -17 76 -30
0 -5 -10 -10 -22 -10 -34 -1 -3 -16 50 -25 36 -6 42 -10 37 -25 -5 -17 1 -19
52 -22 l58 -3 6 -39 c6 -37 -7 -94 -25 -107 -4 -4 -5 -16 -1 -28 5 -16 2 -21
-11 -21 -24 0 -84 -22 -84 -31 0 -4 5 -11 10 -14 16 -10 1 -25 -26 -25 -27 0
-32 -15 -8 -28 14 -8 14 -11 -3 -27 -13 -13 -14 -20 -5 -23 22 -7 13 -22 -14
-22 -19 0 -25 4 -21 14 9 24 -29 30 -159 27 -146 -3 -252 7 -215 21 13 5 88
11 165 15 141 7 155 19 26 23 -93 2 -120 15 -53 25 66 9 79 25 21 26 -61 1
-124 22 -121 40 2 8 -11 20 -30 28 -31 12 -32 13 -9 23 31 16 28 25 -15 36
l-38 9 28 12 c34 13 29 26 -15 36 l-33 7 37 12 c47 14 55 23 29 31 -24 7 -28
24 -6 30 49 16 50 18 18 28 -43 13 -42 23 2 31 44 9 45 21 3 30 -26 5 -30 9
-18 16 8 5 26 10 40 10 14 0 32 4 40 10 11 7 8 11 -15 21 -30 11 -30 12 35 27
l65 16 -47 10 c-78 15 -59 33 39 35 28 0 64 -4 79 -9z m-1596 -10 c0 -5 -17
-12 -37 -15 -21 -4 -50 -11 -64 -16 -35 -14 -95 -8 -91 9 1 6 -2 12 -8 12 -5
0 -10 5 -10 10 0 6 42 10 105 10 60 0 105 -4 105 -10z m1024 1 c8 -13 -52 -22
-93 -14 -34 6 -35 7 -11 14 36 10 98 10 104 0z m-479 -11 c-8 -13 -45 -13 -65
0 -11 7 -3 10 28 10 26 0 41 -4 37 -10z m168 -34 c13 -10 29 -11 64 -5 104 20
373 12 373 -10 0 -5 -19 -13 -42 -18 l-43 -10 30 -13 30 -12 -35 -15 -34 -15
24 -14 c14 -7 34 -14 45 -14 19 -1 19 -2 -2 -12 -34 -16 -28 -25 22 -32 52 -8
57 -18 18 -33 -26 -9 -26 -11 -8 -17 62 -23 62 -23 13 -36 -51 -13 -55 -30 -8
-30 41 0 46 -17 8 -25 -30 -7 -31 -8 -13 -21 10 -8 27 -14 37 -14 29 0 21 -18
-12 -25 -40 -9 -38 -25 3 -26 17 0 41 -4 52 -9 18 -7 16 -9 -13 -15 -48 -11
-48 -21 0 -38 43 -15 43 -16 -9 -33 -15 -5 -16 -7 -3 -13 8 -5 33 -12 55 -16
l40 -8 -40 -12 c-38 -11 -39 -12 -15 -19 14 -3 107 -5 207 -4 134 2 185 0 194
-9 18 -18 9 -23 -52 -30 -39 -5 -48 -8 -34 -14 11 -4 36 -8 55 -9 19 0 46 -7
60 -15 23 -13 21 -14 -45 -15 -38 0 -76 -4 -83 -9 -15 -9 286 -25 408 -22 81
3 98 7 81 24 -9 9 -5 16 11 29 22 16 22 17 3 24 -11 4 -26 12 -33 17 -17 14 2
27 41 27 44 0 31 19 -15 22 -59 4 -50 22 12 26 l50 3 0 36 c0 30 3 35 20 30
11 -3 20 -1 20 5 0 5 -9 12 -20 15 -24 6 -27 23 -4 23 24 0 12 35 -14 38 -12
2 -22 8 -22 14 0 5 7 8 15 4 10 -4 15 1 15 14 0 15 -7 20 -28 20 -16 0 -32 3
-35 7 -12 11 13 31 33 26 22 -6 29 20 9 33 -6 3 -8 16 -5 29 4 15 1 25 -9 29
-18 7 -20 39 -2 34 15 -5 55 -76 56 -100 1 -19 37 -43 45 -30 7 12 -5 81 -15
88 -14 8 -11 24 4 24 16 0 40 -54 59 -130 23 -94 17 -146 -63 -555 -33 -164
-86 -350 -119 -410 -48 -89 -118 -174 -212 -257 -100 -90 -132 -145 -153 -263
-10 -57 -10 -95 -3 -151 10 -76 4 -140 -11 -115 -6 8 -11 2 -17 -21 -7 -30 -9
-26 -12 32 -2 45 -6 60 -12 50 -7 -11 -10 0 -11 35 -1 45 -3 40 -18 -45 -15
-85 -21 -99 -54 -133 -20 -21 -37 -46 -37 -56 0 -10 -24 -50 -52 -89 -29 -40
-62 -86 -73 -104 -19 -30 -67 -66 -91 -67 -28 -2 -72 -58 -79 -101 -11 -69
-20 -80 -64 -80 -47 0 -54 18 -40 98 12 62 5 75 -37 77 -21 1 -32 -7 -47 -33
-22 -37 -37 -29 -37 20 0 22 -5 27 -27 30 -21 2 -29 9 -31 28 -6 55 -12 69
-35 72 -18 2 -23 10 -25 48 -2 24 -7 49 -12 55 -4 5 -13 37 -20 70 -16 79 -23
90 -70 116 -57 32 -112 105 -108 144 4 36 33 47 43 15 7 -23 32 -36 115 -57
84 -21 109 -22 115 -2 9 26 3 119 -6 113 -11 -6 -39 49 -39 76 0 18 -36 79
-106 178 -11 16 -22 21 -35 17 -15 -5 -19 -1 -19 17 0 30 -23 63 -37 55 -12
-8 -29 -135 -24 -180 5 -49 -19 -136 -46 -165 l-24 -27 5 28 c8 33 0 34 -25 5
-10 -13 -17 -16 -14 -8 11 38 47 188 51 215 13 94 19 181 13 185 -4 3 -12 24
-19 47 -8 25 -21 45 -32 48 -12 4 -18 16 -18 34 0 16 -11 58 -24 93 -49 129
-55 171 -59 420 -3 164 -7 241 -16 251 -9 12 -8 18 3 30 14 13 14 16 1 21 -18
7 -20 33 -2 39 9 3 9 7 -2 20 -11 14 -11 20 -1 32 10 12 10 18 -1 32 -8 9 -10
18 -4 20 6 2 17 8 25 13 13 9 12 12 -4 25 -19 14 -18 15 13 26 29 10 31 13 17
28 -12 14 -13 19 0 35 9 14 11 23 3 32 -7 9 -4 14 11 19 15 5 19 12 15 26 -5
15 -2 19 14 19 22 0 28 -14 11 -25 -17 -10 -11 -25 10 -25 24 0 26 -13 5 -34
-13 -13 -11 -15 16 -21 17 -4 33 -4 36 -1 4 3 0 6 -7 6 -10 0 -8 5 4 19 9 10
16 25 14 32 -2 11 13 15 60 17 72 3 76 22 4 22 -64 0 -86 15 -47 30 17 7 45
12 63 13 41 1 28 15 -18 19 -22 2 -35 8 -35 17 0 17 42 34 50 21 8 -12 145
-13 163 -1 15 9 -116 25 -185 22 -37 -2 -41 0 -36 19 6 23 30 26 56 6z m1321
8 c17 -7 22 -29 7 -38 -9 -6 -120 10 -128 18 -21 21 77 37 121 20z m-2059 -23
c9 -16 -106 -44 -155 -37 -52 7 -72 22 -50 36 19 12 197 13 205 1z m558 -8
c-7 -2 -19 -2 -25 0 -7 3 -2 5 12 5 14 0 19 -2 13 -5z m-443 -13 c0 -5 -11
-12 -25 -16 -29 -7 -34 -24 -7 -24 33 0 33 -13 0 -33 -29 -17 -30 -20 -13 -29
17 -10 17 -12 -6 -24 l-24 -13 27 -1 c15 0 29 -4 33 -9 9 -15 -32 -32 -60 -25
-21 5 -24 11 -19 28 4 11 11 27 16 33 8 10 -8 12 -79 7 -63 -5 -92 -3 -97 5
-5 8 15 11 72 11 84 0 94 3 85 27 -5 12 -19 13 -79 8 -50 -5 -74 -4 -74 3 0
15 37 25 96 26 28 1 58 6 65 13 25 20 89 30 89 13z m-390 -45 c0 -16 -6 -25
-16 -25 -8 0 -12 -4 -9 -10 3 -5 18 -10 33 -10 21 0 24 -2 12 -10 -20 -13
-130 -13 -130 0 0 6 9 10 21 10 12 0 19 5 17 13 -3 7 -29 14 -64 17 -32 3 -52
8 -44 12 34 13 98 26 138 27 39 1 42 -1 42 -24z m-175 -40 c0 -12 -91 -19
-114 -9 -12 6 -7 9 19 15 47 9 95 6 95 -6z m2555 -15 c0 -5 -2 -10 -4 -10 -3
0 -8 5 -11 10 -3 6 -1 10 4 10 6 0 11 -4 11 -10z m-2183 -54 c-2 -6 -21 -12
-41 -14 -43 -4 -47 18 -5 29 30 7 51 0 46 -15z m-167 -1 c0 -20 -70 -39 -114
-31 -38 7 -49 31 -18 39 9 3 43 5 75 6 44 1 57 -2 57 -14z m-27 -60 c1 -5 -19
-15 -44 -23 -40 -13 -51 -13 -78 -1 -17 8 -31 17 -31 21 0 17 148 21 153 3z
m2367 5 c0 -5 -7 -7 -15 -4 -8 4 -15 8 -15 10 0 2 7 4 15 4 8 0 15 -4 15 -10z
m247 -6 c3 -8 12 -13 20 -10 8 4 17 -4 23 -20 12 -31 5 -45 -17 -37 -14 6 -15
1 -9 -38 28 -158 24 -584 -3 -553 -8 9 -29 253 -36 429 -5 99 -8 122 -19 147
-5 11 0 24 15 39 20 20 20 23 5 31 -9 5 -14 13 -11 19 9 14 25 11 32 -7z
m-2252 -4 c-3 -5 -23 -10 -43 -10 -28 0 -33 3 -22 10 20 13 73 13 65 0z m-2
-49 c25 -16 26 -19 11 -31 -14 -13 -14 -15 0 -26 14 -10 14 -13 -3 -28 -10 -9
-34 -19 -52 -22 l-34 -6 0 61 c0 60 3 66 40 70 6 0 23 -7 38 -18z m-344 -7 c2
-2 -8 -8 -23 -14 -36 -13 -128 -13 -163 1 -26 10 -27 12 -8 19 18 7 185 2 194
-6z m176 -4 c9 -14 -17 -22 -57 -18 l-33 4 25 11 c32 15 57 16 65 3z m429 -3
c17 -12 17 -14 2 -20 -9 -4 -16 -17 -16 -30 0 -13 -6 -29 -12 -35 -10 -10 -10
-14 0 -21 18 -11 -10 -33 -43 -33 -37 0 -41 9 -17 35 25 26 28 43 10 51 -10 5
-10 7 0 12 18 8 5 24 -21 25 -19 1 -18 2 8 14 39 18 67 18 89 2z m-619 -57 c0
-23 -50 -36 -79 -21 -15 9 -38 11 -59 7 -20 -4 -38 -2 -41 3 -4 6 10 13 31 16
21 4 43 8 48 10 6 2 30 3 55 2 32 -1 45 -6 45 -17z m185 -4 c0 -2 -13 -6 -29
-8 -17 -2 -28 -1 -25 4 5 8 54 12 54 4z m-327 -43 c-7 -2 -19 -2 -25 0 -7 3
-2 5 12 5 14 0 19 -2 13 -5z m112 -3 c-3 -5 -13 -10 -21 -10 -8 0 -14 5 -14
10 0 6 9 10 21 10 11 0 17 -4 14 -10z m271 -25 c-22 -29 -24 -35 -10 -35 13 0
14 -3 5 -14 -14 -16 -59 -27 -67 -15 -2 5 -18 6 -34 2 -41 -8 -38 3 8 26 l37
20 -32 1 c-23 0 -33 5 -33 15 0 21 35 34 99 34 l53 1 -26 -35z m154 19 c2 -3
-1 -14 -8 -25 -7 -11 -10 -24 -6 -30 3 -6 -2 -19 -12 -30 -10 -11 -12 -19 -6
-19 7 0 12 -9 12 -20 0 -22 -64 -55 -88 -45 -12 4 -12 9 2 30 9 14 13 25 8 25
-4 0 -8 8 -8 18 -1 9 -4 29 -8 44 -7 24 -4 30 26 48 30 18 71 20 88 4z m-820
-43 c0 -12 -37 -21 -85 -20 l-40 1 30 13 c34 16 95 20 95 6z m460 -21 c-15
-27 -55 -35 -100 -20 -21 7 -57 10 -79 7 -30 -4 -41 -1 -41 8 0 16 47 26 91
19 19 -3 54 -1 79 4 54 10 63 7 50 -18z m555 6 l26 -25 -45 -6 c-62 -10 -77 2
-40 32 16 12 30 23 31 23 1 0 14 -11 28 -24z m1755 14 c0 -13 -50 -13 -70 0
-11 7 -4 10 28 10 23 0 42 -4 42 -10z m-2165 -75 c-16 -8 -39 -14 -50 -14 -15
1 -13 4 10 14 17 8 39 14 50 14 15 -1 13 -4 -10 -14z m398 -11 c3 -20 -1 -27
-20 -35 -34 -13 -40 -12 -47 8 -5 11 1 23 16 35 32 24 45 22 51 -8z m-558 6
c-3 -5 -16 -10 -28 -9 -21 0 -21 1 -2 9 28 12 37 12 30 0z m208 -7 c-7 -2 -19
-2 -25 0 -7 3 -2 5 12 5 14 0 19 -2 13 -5z m147 -52 c0 -16 -28 -32 -64 -38
-43 -7 -47 6 -8 29 29 19 72 24 72 9z m-2 -63 c-3 -7 -19 -18 -36 -25 -27 -11
-32 -11 -32 0 0 14 34 35 58 36 8 1 12 -4 10 -11z m8 -50 c10 -15 -32 -48 -62
-48 -30 0 -22 25 15 45 32 18 38 18 47 3z m-170 -73 c-11 -8 -27 -15 -35 -15
-13 1 -12 4 3 15 11 8 27 15 35 15 13 -1 12 -4 -3 -15z m53 -81 c34 -7 41 -27
14 -44 -13 -8 -14 -13 -5 -16 19 -9 14 -32 -10 -45 -23 -12 -23 -13 9 -21 23
-6 31 -13 27 -23 -4 -8 -10 -15 -15 -15 -5 0 -9 -4 -9 -10 0 -5 7 -10 15 -10
17 0 21 -55 5 -65 -5 -3 -10 -19 -10 -34 0 -30 -13 -50 -50 -75 -30 -20 -44
-21 -36 -1 3 9 -4 21 -19 31 -22 15 -23 17 -9 39 8 12 12 29 9 38 -4 9 3 24
16 36 l23 21 -22 0 c-36 0 -34 18 5 44 l38 26 -38 0 c-37 0 -50 16 -22 26 8 4
15 13 15 21 0 8 -4 12 -9 9 -11 -7 -41 3 -41 13 0 8 71 61 81 61 4 0 21 -3 38
-6z m-209 -329 c0 -8 -12 -17 -27 -21 -16 -3 -34 -7 -40 -10 -23 -7 -13 6 20
26 38 24 47 25 47 5z m254 -186 c-9 -10 -12 -19 -6 -19 6 0 9 -7 5 -16 -5 -13
-2 -15 16 -9 20 6 21 5 13 -12 -15 -27 -44 -51 -67 -55 -17 -2 -20 3 -20 29 0
17 -3 35 -7 39 -14 14 -8 24 34 55 44 31 65 24 32 -12z m702 -331 c-3 -13 -8
-49 -11 -80 -5 -41 -11 -58 -21 -58 -17 0 -17 2 0 68 8 28 12 52 10 52 -3 0 0
9 6 20 14 27 21 25 16 -2z m850 -632 c-3 -46 -11 -95 -16 -108 -8 -17 -9 -6
-5 47 3 39 5 87 5 108 0 21 5 37 11 37 9 0 10 -24 5 -84z m104 -45 c0 -5 10
-9 23 -9 41 0 121 -23 177 -49 30 -14 65 -27 76 -29 12 -1 39 -14 61 -28 45
-30 264 -91 388 -109 17 -2 -49 -5 -145 -6 -96 -1 -207 -4 -247 -8 -39 -3
-132 -2 -206 2 l-134 7 -10 61 c-11 67 -6 177 8 177 5 0 9 -4 9 -9z m-254 -81
c-7 -92 -13 -110 -32 -110 -8 0 -14 -6 -14 -12 0 -7 -5 -5 -11 5 -6 11 -8 34
-4 54 8 42 51 143 61 143 4 0 4 -36 0 -80z m-466 -12 c0 -33 -20 -98 -29 -98
-5 0 -14 6 -20 14 -18 22 6 106 30 106 13 0 19 -7 19 -22z m-306 -123 c4 -11
-2 -15 -26 -15 -26 0 -29 2 -18 15 7 8 18 15 25 15 7 0 15 -7 19 -15z"/>
<path d="M2660 3223 c-8 -1 -42 -5 -75 -9 l-60 -8 75 -7 c41 -3 77 -5 78 -3
10 7 -5 29 -18 27z"/>
<path d="M2465 3090 c-4 -6 7 -10 27 -10 25 0 29 3 18 10 -19 13 -37 13 -45 0z"/>
<path d="M2463 3043 c-18 -7 -16 -20 3 -27 19 -7 57 11 49 25 -6 10 -31 11
-52 2z"/>
<path d="M222 2772 c-11 -7 -10 -12 3 -26 17 -17 53 -19 95 -6 l25 7 -30 12
c-44 18 -78 23 -93 13z"/>
<path d="M2490 2350 c0 -5 6 -10 14 -10 8 0 18 5 21 10 3 6 -3 10 -14 10 -12
0 -21 -4 -21 -10z"/>
<path d="M2404 2318 c-7 -11 15 -29 30 -25 6 2 11 8 13 14 5 14 -35 24 -43 11z"/>
<path d="M1575 2470 c-26 -7 -24 -8 20 -9 36 0 46 2 35 9 -8 5 -17 9 -20 9 -3
-1 -18 -5 -35 -9z"/>
<path d="M1615 2410 c-19 -8 -19 -9 3 -9 12 -1 22 4 22 9 0 6 -1 10 -2 9 -2 0
-12 -4 -23 -9z"/>
<path d="M3035 2350 c-3 -5 3 -10 15 -10 12 0 18 5 15 10 -3 6 -10 10 -15 10
-5 0 -12 -4 -15 -10z"/>
<path d="M3050 2290 c-12 -8 -10 -10 8 -10 13 0 20 4 17 10 -7 12 -6 12 -25 0z"/>
<path d="M3050 2230 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
-10 -4 -10 -10z"/>
<path d="M2474 1960 c-28 -4 -73 -15 -100 -24 -39 -13 -223 -46 -256 -46 -5 0
-8 -4 -8 -8 0 -5 43 -12 95 -15 53 -4 104 -11 114 -16 20 -11 350 -51 418 -51
24 0 43 5 46 13 4 10 6 10 6 0 1 -7 8 -13 16 -13 9 0 20 -12 25 -26 10 -25 30
-25 30 1 0 12 -80 84 -87 78 -9 -8 -23 -1 -23 11 0 33 -137 107 -194 105 -17
-1 -54 -5 -82 -9z m-1 -107 c-13 -2 -33 -2 -45 0 -13 2 -3 4 22 4 25 0 35 -2
23 -4z"/>
<path d="M2770 1950 c0 -5 12 -10 26 -10 14 0 23 4 19 10 -3 6 -15 10 -26 10
-10 0 -19 -4 -19 -10z"/>
<path d="M2532 1663 c-40 -4 -42 -5 -36 -31 10 -41 31 -59 79 -66 24 -4 48
-13 55 -21 6 -7 22 -16 37 -20 14 -3 32 -13 40 -20 29 -30 36 -17 30 51 -4 37
-11 72 -17 79 -6 7 -34 16 -63 20 -29 3 -59 8 -67 9 -8 1 -34 1 -58 -1z"/>
<path d="M2450 1639 c0 -5 -4 -8 -9 -4 -13 8 -22 -10 -15 -29 10 -25 34 -19
34 8 0 13 6 27 13 29 7 3 5 6 -5 6 -10 1 -18 -4 -18 -10z"/>
<path d="M2750 1603 c0 -34 21 -94 31 -88 13 8 11 49 -3 80 -13 29 -28 33 -28
8z"/>
<path d="M1025 969 c-4 -6 -5 -12 -2 -15 2 -3 7 2 10 11 7 17 1 20 -8 4z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 21 KiB

101
static/gpg.asc Normal file
View File

@ -0,0 +1,101 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
RfEUGQb7FolM
=DBNe
-----END PGP PUBLIC KEY BLOCK-----

BIN
static/images/archlinux.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

BIN
static/images/matrix.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 KiB

BIN
static/images/privsec.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 KiB

BIN
static/images/rhcsa.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

2
static/sshkeys Normal file
View File

@ -0,0 +1,2 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDbVNnQVs6SVW1GvQQ7FE6afs08LMtTNmDIPtoT3+Aqa7I3HOZRgWpqh3kIz3OTOCs2zl5JHCJDaANvadjGFcdtSI+zy7bozpj5TJWGDnGkH3Rp2SBBRK6twjjrN9nbTJ2ihlkXEOA2e3SDFXEkwu6t0fLZelBUk3FWnbK/xPmsRUuEF90oxpXpZIPeFbE4nNK3HarNPL+XzA2xzSqrwNk9ICCJ9MS3OcnPpWIQR3LKLEgyPFKwy4K6WzQyNvr5uFAcV9Zrq9TM93HSOUdtFFXcDeAEu76cQorsgAyU7XbAPqSza780qF/kHhQ+Hb4q1Wmyk62nAu7dT86lujpzIWXOdFJZyb3WWjP21qe7bk8A1S5Q9lfto/bo0Rs2wHbBRtoxMrb8DTC3EtErjN/IXMZrqMZpj3hNiNxP3PYKXLWb6AbuWjQO5d4Tu4vv4QWKGyJwvkI55V0sI9a2lLODAK+x9z4K7cbGLFHqdEFCLkq7sDU3zd9q68//M/LQO3AO9sMpd8jHDg0xdgdfh5dP6grUDypz1h/HtXCT+w3Ka2geitqoTMv6y0WO1vT+c97mvbjf24rwoLiPe7qVPnxKTRPNRH1vhmOLeZsQva2ATXBCR/J+Xn4JzSWOt17N/s5ldvfD+d6FrYzDNw664efaXMIWCbVJtlKvas0I9iM2VYRM7Q==
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDcmfm4RKkVC02QrF6ajGVVlbO3+AiVVyfoO4jbUjNbBNarVNgOHNC2lyxo3DJG33uKg74/e6fwj2mr2qW7Bq/yefmMqZrwY6ZyBDOOnkmsaMjX3Q5dJVRvHaYDShseJEBVtALVZFPyYQhdCdCEI/pO1Oeh+bDgLFinWoKAx6Fau8ArjbCsU4WfmgTUQae8AkE5e+uj+2T7Nq195CgfWEnAcKTKEYTr+6Y5a8L/w6ugto41bXvbwWhgogMT7epkcsfSF14M5hi0kBTawmzSi6HsqnAs4PWadaN0IMtfZJ/ZdpNw2QjdDKReGc3AcvEUQU9840RgVmXLp0JT5kdHJZabYcpPaDRwTw3A/oNIEZCzOKve8j4aFrf003etUn7Vq5wchyqyRrk2KRnK61v8BOtF7REs5jw/hQ1PdbsGewhxmGQy3gJ670BS1apQDvrZVHUqIsl3SGcykBBQvLu0F5erZ3ENPAk0wb++ygBtqsoF0wV9rv+L/VEh7233/TUQbH6K2ggZg5SvQnjUA4JqnBcSPf8kMlEGCU+8yeGSF086vL3gpVF6VpvUa34Sh+RbLGtNPVcoTSa2yLwSHdU0NmA9Lj/0M3+ty+uK4pBU86zIIAmyB9NBN/TcpeR7PVi3J991EbVLZgwzAK7S/LAmE6vWLG1IoQbDDN7QCB9XWiFiaQ==