commit ea57f32fad44b9abfbe1df876263d08f10e4a9b6
parent aca3377877ac9d8f15901f7f10be7f815de8f8da
Author: mjkloeckner <martin.cachari@gmail.com>
Date: Sat, 24 Sep 2022 15:09:02 -0300
Update 24-09-22
Diffstat:
28 files changed, 696 insertions(+), 526 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -1,3 +1,4 @@
sync.sh
profile*
logos
+fonts
diff --git a/about.html b/about.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<html lang="en">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <head>
+ <title>About - Martin Klöckner's webpage</title>
+ <link rel='stylesheet' type='text/css' href="/css/style.css">
+ <link rel='stylesheet' type='text/css' href="/css/about_style.css">
+ <link rel="icon" href="/favicon.ico">
+ <meta charset="utf-8"/>
+ </head>
+
+ <body>
+ <!--#include virtual="/common/header.shtml" -->
+
+ <article>
+ <!-- <h2>What about me?</h2> -->
+ <h1 id="index-title">About me</h1>
+
+ <div class="presentation">
+ <img class=profile_img src="/common/face.jpeg" title="Profile picture" alt="Profile picture">
+ <p>Electronics engineering student at Univerity of Buenos Aires, Argentina</p>
+ <br>
+ <h3 id="skills_heading"><u>Principal skills</u></h3>
+ <div class="skills_logos">
+ <img class="skills_logo" src="/common/logos/c.png" title="C logo" alt="C logo">
+ <img class="skills_logo" src="/common/logos/c++2.png" title="C++ logo" alt="C++ logo">
+ <img class="skills_logo" src="/common/logos/python.png" title="Python logo" alt="Python logo">
+ <!-- <img max-width: 10em class="linux_logo" src="logos/linux2.png" title="Profile picture" alt="Profile picture"> -->
+ </div>
+ </div>
+
+ <h4><u>Who am I?</u></h4>
+
+ <p>I am a student, curious and self thought, looking forward to join a team and make new friends. Always trying to improve my skills and learn from other people.</p>
+
+ <br>
+
+ <!-- <p>My name is Martin, I'm from Argentina, currenly I'm staying at my parents house in a little town located at the center of Buenos Aires province. Because of the pandemic I've spend this last two years mostly seated in front of a computer, I've learned a lot about linux, embedeed systems, and also about web development, although I'm not even close of working as such, but I would like, some day.</p> -->
+
+ <h4><u>Programming</u></h4>
+ <p>Since I'm studying Electronics Engineering I took a couse in Algorithms & Programing, in which they teach me basic programming in C, we did a simple program that parses csv files, we implemented linked lists, and more of that stuff, also the concepts of Abstract Data Types (TDA), kinda like Object Oriented Programming but in C, by the end of the course they did explained a little bit of Object Oriented Programming but that is a subject of Algorithms and Programming II, and III, which I can't take beacouse I have to pass Calculus and Physics first, so they did more like an introduccion.</p>
+ <br>
+
+ <h4><u>Tech that I use</u></h4>
+ <p>In terms of hardware I got a couple of computers, I got an old generic tower pc, with an intel i3 2100 and 8gb of ram which is from 2012, and a more newer 14" dell laptop, has and i3 5005u and 8gb of ram too. I've also got two old computers that I use as 'servers', I installed debian on them and controll'em via SSH (I'm hosting this website on one of those)</p>
+ <p>In terms of software I use linux in all of them lol, I've got debian in boths 'servers', artix on the tower pc, with runit as init, I did a <a href="https://www.youtube.com/watch?v=dBdNQdocrVc" target="_blank">video</a> of it's boot time, and arch (btw) intalled on the laptop.</p>
+ <br>
+
+ <h4><u>Whats the purpose of this website?</u></h4>
+ <p>Well after watching a lot of youtube videos I've decided that it could be a good idea to make a website, to practice all this stuff that I've learned, so I made this simple webpage.</p>
+ <br>
+
+ <h4 style="color: tomato;"><u>Contact info</u></h4>
+ <ul>
+ <li>mail: <a href="mailto:martin.cachari@gmail.com">martin.cachari@gmail.com</a> </li>
+ <li>github: <a href="https://github.com/mjkloeckner">github.com/mjkloeckner</a></li>
+ </ul>
+ </article>
+ <!--#include virtual="/common/footer.shtml" -->
+ </body>
+</html>
diff --git a/articles/00/article_style.css b/articles/00/article_style.css
@@ -1,13 +0,0 @@
-.screenshot {
- border-radius: .3em;
- max-width: 60em;
-
- overflow: hidden;
-
- height: 100%;
- width: 100%;
-}
-
-p {
- margin-bottom: 1em;
-}
diff --git a/articles/00/dwm_config.html b/articles/00/dwm_config.html
@@ -1,110 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <head id=top>
- <title>DWM, A tiling window manager configuration - Martin Klöckner's webpage</title>
- <link rel='stylesheet' type='text/css' href="/css/style.css">
- <link rel='stylesheet' type='text/css' href="article_style.css">
- <link rel="icon" href="/favicon.ico">
- <meta charset="utf-8"/>
- </head>
-
- <body>
- <!--#include virtual="/common/header.shtml" -->
-
- <article>
- <h3 style="text-align: left;"><u>DWM - A tiling window manager configuration</u></h3>
- <p>A window manager is a software that can manage the layout and appearance of every window spawned in your desktop, most people confuse them with desktop enviroments, which isn't the same since a desktop enviroment is more of an ecosystem, they come with a more 'complete' set of tools, like a basic web browser, a terminal emulator or calculator, an example of desktop enviroment would be gnome, xfce or kde plasma; instead a window manager is only the program that manages the windows spawned, although there are window managers that come with a little more, like docks or taskbars (openbox for example).</p>
-
- <p> In my case I use dwm, which is a window manager written in C developed by suckless software. The most relevant thing of this window manager is that out of the box it comes with the most basic functionallity, and if you want to extend it you need to patch it.</p>
-
- <p>By default DWM comes with 9 workspaces, in which you can open as many windows as you please; to spawn a new window for example a web browser you need to assign it a keybinding or use an application launcher like <a href="https://tools.suckless.org/dmenu/">dmenu</a></p>
-
- <!-- <p>but you can add as much as you want, for example I added a 10th workspace and mapped to the '0' key, which by default turn on a mode that shows all the opened windows in the current workspace, a feature that I never used.</p> -->
- <br>
-
- <img class="screenshot" max-width=40em src="scrot.png" title="Screenshot of my dwm build" alt="Screenshot">
-
- <br><br>
- <h5><u>How do you install DWM?</u></h5>
-
- <br>
- <h5>Requisites</h5>
- <ul id="recent_articles">
- <li>GNU/Linux or BSD based operating system</li>
- <li>A C library and a C compiler</li>
- <li>make utility installed</li>
- <li>X server installed</li>
- <li>DWM source code, you can clone the repository or download as a tar file at the web</li>
- </ul>
-
- <br>
-
- <p>As you can see above you can only install DWM on GNU/Linux or BSD based distros, unfortunally dwm is not available for Windows users but I'm sure there is an alternative.</p>
-
- <!-- <br> -->
- <h5>Installation</h5>
- <p>In order to install dwm you can visit the web of the creators at <a href="https://dwm.suckless.org/">suckless.org/dwm</a>, where you can download the source code as a tar file, or clone the repository.</p>
- <p>After you obtain the source code you need to navigate to the root folder of the source code and execute the following command</p>
-
- <code>$ <em id=command><u>sudo</u> make</em> install</code>
-
- <p>after that you can log out of you user account, if you use a display manager you can select dwm as window manager and log back in, if you dont use a display manager you need to edit your .xinitrc file located at you home folder.</p>
-
- <!-- <code style="padding-left: 1em; box-shadow: 5px 5px 5px black;">$ cat $HOME/.xinitrc<br>...<br>exec dwm</code> -->
- <code>$ <em id=command>cat</em> $HOME/.xinitrc<br>...<br>exec dwm</code>
-
- <p>Then you can start the X server and it should open dwm without any problems.</p>
-
- <!-- <br> -->
- <h5><u>How do you configure DWM?</u></h5>
-
- <p>Basically you configure it by editing its source code, inside the root folder of the project there is a C header file named <a href="https://github.com/klewer-martin/dotfiles/blob/master/.config/dwm/config.def.h">config.def.h</a> which if you open with a text editor you can see that there is some C code that you can edit, for example the line "static const int topbar" defines a variable named topbar which you can set to 1 or 0, to select if the status bar should spawn in the top or the bottom of the screen. After every change you make to the source code you need to copy config.def.h to config.h and then <u>recompile dwm</u></p>
-
- <!-- <br> -->
-
- <h5>Show information on the status bar</h5>
-
- <p>dwm by default won't show any information on the status bar, this is done by using the xsetroot utility, which sets the WM_NAME enviroment variable that dwm uses, lets assume you want to set the clock and date on the status bar, well you could execute the following command</p>
-
- <code>$ <em id=command>xsetroot</em> -iname <em id=command_sym>$(</em><em id=command>date</em><em id=command_sym>)</em></code>
-
- <p>and all the output of 'date' would be printed on the status bar, this makes dwm status bar highly scriptable, in fact the are a ton of status bar implementation, the one that I use is called <a href="https://github.com/torrinfail/dwmblocks">dwmblocks</a> and its also written in C and the configuration its pretty much the same as dwm, in order to get information you need to have scripts that prints the desired data to stdout, then you can include it on the config.h of dwmblocks by having them on a folder which is included in the $PATH variable of your user.</p>
-
- <!-- <br> -->
- <h5>Getting emoji support on dwm</h5>
-
- <p>dwm by default doesn't come with emoji support, if you want to render an emoji in the status bar its going to either show it as a box or in the worst case crash, so in order to get emoji support first you need to get a font with <u>emojis</u>, I'm using <a href="https://www.joypixels.com/"JoyPixel>JoyPixels® font</a> you can also use <a href="https://fonts.google.com/noto">Google's noto font</a>, or any other font that comes with emoji support. Then open dwm configuration file and append to the <u>fonts</u> array the name of the font you want, in my case it's JoyPixels®.</p>
- <code style="max-width: 30em;">$ <em id=command>cat</em> config.def.h<br>
- ...<br>
- .. *fonts[] = { ..., "JoyPixels:size=7" };<br>
- ...<br>
- </code>
- <p>After you setup the font you need to remove or comment a chunk of code from drw.c, a file located in the root of the folder where dwm source code resides, between lines 136-150 there is a function named IsCol, you need to remove it or comment it.</p>
-
-
- <p>Finally you can recompile dwm and you will get emoji support. Sometimes even though you made all this procedure you still get boxes insted of the proper emoji, I solved this by adding another font name in the <u>fonts</u> array, like a fallback font.</p>
- <!-- <br> -->
- <h5><u>Patches in dwm</u></h5>
-
- <p>Since dwm is a simple program than doesn't include much features, if you want to extend it, for example by adding a <a href="https://dwm.suckless.org/patches/systray/">systray</a> to the status bar, you need to patch dwm. To do this first you need to download the patch from <a href="https://dwm.suckless.org/patches/">suckless.org/patches</a>, then make sure you got it 'patch' installed, although I think it comes with most linux distributions by default nowdays.</p>
-
- <code>$ <em id=command>patch</em> -p1 <em id=command_red><</em> <u><name of the file></u></code>
-
- <p>If you never patched dwm before then probably no errors would be reportjd, but if you already have applied a ton of patches then probably you would get a HUNK ## FAILED, in this case you need to get your hands dirty, and manually patch all the files that failed, you do this by opening the files with .rej extension (short for rejected), and the corresponding file to be patched, for example dwm.c and dwm.c.rej, and then you add all the chunks of code from the rejected file into the corresponding place in the non rejected file, you know where you should put the chunks of code because in the rej file you can see at the start of every chunk there is a '@@' followed by a number of line; also lines starting with plus means add, and minus means delete, if i'm not clear you should google how to use diff and patch to modify a file.</p>
-
- <h5><u>Useful links</u></h5>
- <ul>
- <li><a href="https://en.wikipedia.org/wiki/Window_manager">What is a window manager?</a></li>
- <li>Make sure to check the <a href="https://suckless.org/">suckless webiste</a></li>
- <li><a target="_blank" href="https://dwm.suckless.org/">suckless dwm website</a></li>
- <li><a target="_blank" href="https://www.x.org/releases/X11R7.7/doc/man/man1/Xserver.1.xhtml">X server man page</a></li>
- <li><a target="_blank" href="https://man7.org/linux/man-pages/man1/patch.1.html">patch man page</a></li>
- </ul>
-
- <br>
- <!--#include virtual="/common/end_of_article.shtml" -->
- </article>
- <!--#include virtual="/common/footer.shtml" -->
- </body>
-</html>
diff --git a/articles/01/article_style.css b/articles/01/article_style.css
@@ -1,31 +0,0 @@
-#vim_logo {
- /* float: center; */
- max-width: 5em;
- flex-basis: 40%
-}
-
-h3 {
- /* margin-top: 1.5em; */
- /* margin-bottom: 1.5em; */
-}
-
-.title {
- display: flex;
- align-items: center;
- justify-content: center;
- margin-top: 0.5em;
- margin-bottom: 1em;
- /* margin-left: -1.25em; */
-}
-
-.title_img {
- flex-basis: 10%;
-}
-
-.title_text {
- margin-left: .5em;
-}
-
-p {
- margin-bottom: 1em;
-}
diff --git a/articles/01/vim_config.html b/articles/01/vim_config.html
@@ -1,44 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <head>
- <title>Vi Improved - Martin Klöckner's webpage</title>
- <link rel='stylesheet' type='text/css' href="/css/style.css">
- <link rel='stylesheet' type='text/css' href="article_style.css">
- <link rel="icon" href="/favicon.ico">
- <meta charset="utf-8"/>
- </head>
-
- <body>
- <!--#include virtual="/common/header.shtml" -->
-
- <article>
- <div class="title">
- <div class="title_img">
- <img id="vim_logo" src="/media/vim_logo.png" title="Vim logo" alt="Vim logo">
- </div>
- <div class="title_text">
- <h3>The keyboard driven text editor</h3>
- </div>
- </div>
-
- <p>If we think for a moment about software we are going to realize that the core of every program it's just plain text, literally just words in a file that someone wrote, this webpage it's just text interpreted by your web-browser, whose also just plain text implemented by another program, some software has more complexity than others, for example the linux kernel it's estimated that has around 27.8 million lines of code, which is also just plain text</p>
-
- <p>The way we tell computers what to do it's with text, so in order to write that text we just need a text editor and this is were Vim it's known for. Vim it's just a text editor. The term Vim stands for Vi IMproved, Vim it's a rewrite and improved version of Vi, a text editor that dates from 1978.</p>
-
- <p>In this article I want to show how this text editor became my best frient (?), I learned to love about Vim keybindings and now I even have and extension on my browser to use vim like keybindings.</p>
-
- <p>Vim is a console text editor (altough you can find distributions like gvim, which comes with a gui), a benefit of this its that It's very lightweign in terms of system resources. Vim it's also highly configurable, you can do this by editing the <u>.vimrc</u> text file, which should be in you home directory in Linux or BSD bases OSs, if not you can <u>create</u> a new blank one and start from zero</p>
-
- <p>If you installed Vim and you don't know how to move around or insert text, first you need to understand the basics, Vim has 3 main "modes" </p>
-
- <p>By default Vim comes with a lot of features disabled, for example a key binding to comment a line or auto close brackets, parenthesis, etc, this features you can enable them by installing <u>plugins</u> which I will cover leter.</p>
-
- <br>
- <!--#include virtual="/common/end_of_article.shtml" -->
-
- </article>
-
- <!--#include virtual="/common/footer.shtml" -->
- </body>
-</html>
diff --git a/blog.html b/blog.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html lang="en">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <head>
+ <title>Blog - Martin Klöckner's webpage</title>
+ <link rel='stylesheet' type='text/css' href="/css/style.css">
+ <link rel="icon" href="/favicon.ico">
+ <meta charset="utf-8"/>
+ </head>
+
+ <body>
+ <!--#include virtual="/common/header.shtml" -->
+
+ <article>
+ <h1 id="index-title">Blog</h1>
+
+ <ul id=recent_articles>
+ <!-- <li>01 Sep 2021 -- <a href="/articles/01/vim_config.html">What is LaTeX?</a></li> -->
+ <!-- <li>31 Oct 2021 -- <a href="/articles/01/vim_config.html">About Object-Oriented Programming</a></li> -->
+ <!-- <li>30 Oct 2021 -- <a href="/articles/01/vim_config.html">How to install GCam on an android phone</a></li> -->
+ <!-- <li>29 Oct 2021 -- <a href="/articles/01/vim_config.html">What is linux?</a></li> -->
+ <!-- <li>28 Oct 2021 -- <a href="/articles/01/vim_config.html">Astrophotography with a phone</a></li> -->
+ <!-- <li>27 Oct 2021 -- <a href="/articles/01/vim_config.html">Making linux boot faster</a></li> -->
+ <!-- <li>26 Oct 2021 -- <a href="/articles/01/vim_config.html">What is initramfs?</a></li> -->
+ <!-- <li>25 Oct 2021 -- <a href="/articles/01/vim_config.html">How does Linux boot?</a></li> -->
+ <!-- <li>24 Oct 2021 -- <a href="/articles/01/vim_config.html">How I configured Vim/Nvim editor</a></li> -->
+ <li>18 Sep 2022 -- <a href="/blog/sav/sav.html">SAV - Sorting Algorithms Visualized</a></li>
+ <li>04 Mar 2022 -- <a href="/blog/01/vim_config.html">Vim introduction and basic configuration</a></li>
+ <li>23 Oct 2021 -- <a href="/blog/00/dwm_config.html">DWM - A window manager configuration</a></li>
+ </ul>
+ </article>
+
+ <!--#include virtual="/common/footer.shtml" -->
+ </body>
+</html>
diff --git a/blog/00/dwm_config.html b/blog/00/dwm_config.html
@@ -0,0 +1,120 @@
+<!DOCTYPE html>
+<html lang="en">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <head id=top>
+ <title>DWM - A tiling window manager configuration - Martin Klöckner's webpage</title>
+ <link rel='stylesheet' type='text/css' href="/css/style.css">
+ <link rel="icon" href="/favicon.ico">
+ <meta charset="utf-8"/>
+ </head>
+
+ <body>
+ <!--#include virtual="/common/header.shtml" -->
+
+ <article>
+ <link rel='stylesheet' type='text/css' href="/css/article_style.css">
+ <p class="article-date">23-10-21 (last update </p>
+
+ <script>
+ var dt = document.lastModified;
+ dt = dt.replaceAll("/", "-");
+ // document.write(dt.substring(0, 11));
+ document.querySelector('.article-date').innerHTML += dt.substring(0, 10) + ")";
+ </script>
+
+ <h1 id="article-title">DWM - A tiling window manager configuration</h1>
+ <p>A window manager is a software that can manage the layout and appearance of every window spawned in your desktop, most people confuse them with desktop enviroments, which isn't the same since a desktop enviroment is more of an ecosystem, they come with a more 'complete' set of tools, like a basic web browser, a terminal emulator or calculator, an example of desktop enviroment would be gnome, xfce or kde plasma; instead a window manager is only the program that manages the windows spawned, although there are window managers that come with a little more, like docks or taskbars (openbox for example).</p>
+
+ <p> In my case I use dwm, which is a window manager written in C developed by suckless software. The most relevant thing of this window manager is that out of the box it comes with the most basic functionallity, and if you want to extend it you need to patch it.</p>
+
+ <p>By default DWM comes with 9 workspaces, in which you can open as many windows as you please; to spawn a new window for example a web browser you need to assign it a keybinding or use an application launcher like <a href="https://tools.suckless.org/dmenu/">dmenu</a></p>
+
+ <!-- <p>but you can add as much as you want, for example I added a 10th workspace and mapped to the '0' key, which by default turn on a mode that shows all the opened windows in the current workspace, a feature that I never used.</p> -->
+ <br>
+
+ <div id="article-screenshot">
+ <img style="padding: 0em; width: 100%;" class="screenshot" max-width=40em src="scrot.png" title="Screenshot of my dwm build" alt="Screenshot">
+ </div>
+
+ <br><br>
+ <h5><u>How do you install DWM?</u></h5>
+
+ <br>
+ <h5>Requisites</h5>
+ <ul>
+ <li>GNU/Linux or BSD based operating system</li>
+ <li>A C library and a C compiler</li>
+ <li>make utility installed</li>
+ <li>X server installed</li>
+ <li>DWM source code, you can clone the repository or download as a tar file at the web</li>
+ </ul>
+
+ <br>
+
+ <p>As you can see above you can only install DWM on GNU/Linux or BSD based distros, unfortunally dwm is not available for Windows users but I'm sure there is an alternative.</p>
+
+ <!-- <br> -->
+ <h5>Installation</h5>
+ <p>In order to install dwm you can visit the web of the creators at <a href="https://dwm.suckless.org/">suckless.org/dwm</a>, where you can download the source code as a tar file, or clone the repository.</p>
+ <p>After you obtain the source code you need to navigate to the root folder of the source code and execute the following command</p>
+
+ <code>$ <em id=command><u>sudo</u> make</em> install</code>
+
+ <p>after that you can log out of you user account, if you use a display manager you can select dwm as window manager and log back in, if you dont use a display manager you need to edit your .xinitrc file located at you home folder.</p>
+
+ <!-- <code style="padding-left: 1em; box-shadow: 5px 5px 5px black;">$ cat $HOME/.xinitrc<br>...<br>exec dwm</code> -->
+ <code>$ <em id=command>cat</em> $HOME/.xinitrc<br>...<br>exec dwm</code>
+
+ <p>Then you can start the X server and it should open dwm without any problems.</p>
+
+ <!-- <br> -->
+ <h5><u>How do you configure DWM?</u></h5>
+
+ <p>Basically you configure it by editing its source code, inside the root folder of the project there is a C header file named <a href="https://github.com/klewer-martin/dotfiles/blob/master/.config/dwm/config.def.h">config.def.h</a> which if you open with a text editor you can see that there is some C code that you can edit, for example the line "static const int topbar" defines a variable named topbar which you can set to 1 or 0, to select if the status bar should spawn in the top or the bottom of the screen. After every change you make to the source code you need to copy config.def.h to config.h and then <u>recompile dwm</u></p>
+
+ <!-- <br> -->
+
+ <h5>Show information on the status bar</h5>
+
+ <p>dwm by default won't show any information on the status bar, this is done by using the xsetroot utility, which sets the WM_NAME enviroment variable that dwm uses, lets assume you want to set the clock and date on the status bar, well you could execute the following command</p>
+
+ <code>$ <em id=command>xsetroot</em> -iname <em id=command_sym>$(</em><em id=command>date</em><em id=command_sym>)</em></code>
+
+ <p>and all the output of 'date' would be printed on the status bar, this makes dwm status bar highly scriptable, in fact the are a ton of status bar implementation, the one that I use is called <a href="https://github.com/torrinfail/dwmblocks">dwmblocks</a> and its also written in C and the configuration its pretty much the same as dwm, in order to get information you need to have scripts that prints the desired data to stdout, then you can include it on the config.h of dwmblocks by having them on a folder which is included in the $PATH variable of your user.</p>
+
+ <!-- <br> -->
+ <h5>Getting emoji support on dwm</h5>
+
+ <p>dwm by default doesn't come with emoji support, if you want to render an emoji in the status bar its going to either show it as a box or in the worst case crash, so in order to get emoji support first you need to get a font with <u>emojis</u>, I'm using <a href="https://www.joypixels.com/"JoyPixel>JoyPixels® font</a> you can also use <a href="https://fonts.google.com/noto">Google's noto font</a>, or any other font that comes with emoji support. Then open dwm configuration file and append to the <u>fonts</u> array the name of the font you want, in my case it's JoyPixels®.</p>
+ <code style="max-width: 30em;">$ <em id=command>cat</em> config.def.h<br>
+ ...<br>
+ .. *fonts[] = { ..., "JoyPixels:size=7" };<br>
+ ...<br>
+ </code>
+ <p>After you setup the font you need to remove or comment a chunk of code from drw.c, a file located in the root of the folder where dwm source code resides, between lines 136-150 there is a function named IsCol, you need to remove it or comment it.</p>
+
+
+ <p>Finally you can recompile dwm and you will get emoji support. Sometimes even though you made all this procedure you still get boxes insted of the proper emoji, I solved this by adding another font name in the <u>fonts</u> array, like a fallback font.</p>
+ <!-- <br> -->
+ <h5><u>Patches in dwm</u></h5>
+
+ <p>Since dwm is a simple program than doesn't include much features, if you want to extend it, for example by adding a <a href="https://dwm.suckless.org/patches/systray/">systray</a> to the status bar, you need to patch dwm. To do this first you need to download the patch from <a href="https://dwm.suckless.org/patches/">suckless.org/patches</a>, then make sure you got it 'patch' installed, although I think it comes with most linux distributions by default nowdays.</p>
+
+ <code>$ <em id=command>patch</em> -p1 <em id=command_red><</em> <u><name of the file></u></code>
+
+ <p>If you never patched dwm before then probably no errors would be reportjd, but if you already have applied a ton of patches then probably you would get a HUNK ## FAILED, in this case you need to get your hands dirty, and manually patch all the files that failed, you do this by opening the files with .rej extension (short for rejected), and the corresponding file to be patched, for example dwm.c and dwm.c.rej, and then you add all the chunks of code from the rejected file into the corresponding place in the non rejected file, you know where you should put the chunks of code because in the rej file you can see at the start of every chunk there is a '@@' followed by a number of line; also lines starting with plus means add, and minus means delete, if i'm not clear you should google how to use diff and patch to modify a file.</p>
+
+ <h5><u>Useful links</u></h5>
+ <ul>
+ <li><a href="https://en.wikipedia.org/wiki/Window_manager">What is a window manager?</a></li>
+ <li>Make sure to check the <a href="https://suckless.org/">suckless webiste</a></li>
+ <li><a target="_blank" href="https://dwm.suckless.org/">suckless dwm website</a></li>
+ <li><a target="_blank" href="https://www.x.org/releases/X11R7.7/doc/man/man1/Xserver.1.xhtml">X server man page</a></li>
+ <li><a target="_blank" href="https://man7.org/linux/man-pages/man1/patch.1.html">patch man page</a></li>
+ </ul>
+
+ <!--#include virtual="/common/end_of_article.shtml" -->
+ </article>
+ <!--#include virtual="/common/footer.shtml" -->
+ </body>
+</html>
diff --git a/articles/00/screenshot.jpeg b/blog/00/screenshot.jpeg
Binary files differ.
diff --git a/articles/00/scrot.png b/blog/00/scrot.png
Binary files differ.
diff --git a/blog/01/vim_config.html b/blog/01/vim_config.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html lang="en">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <head>
+ <title>Vi Improved - Martin Klöckner's webpage</title>
+ <link rel='stylesheet' type='text/css' href="/css/style.css">
+ <link rel="icon" href="/favicon.ico">
+ <meta charset="utf-8"/>
+ </head>
+
+ <body>
+ <!--#include virtual="/common/header.shtml" -->
+
+ <article>
+ <link rel='stylesheet' type='text/css' href="/css/article_style.css">
+ <p class="article-date">04-03-21 (last update </p>
+
+ <script>
+ var dt = document.lastModified;
+ dt = dt.replaceAll("/", "-");
+ // document.write(dt.substring(0, 11));
+ document.querySelector('.article-date').innerHTML += dt.substring(0, 10) + ")";
+ </script>
+
+ <div id="article-title-with-icon">
+ <div id="article-icon">
+ <img src="/media/vim_logo.png" title="Vim logo" alt="Vim logo">
+ </div>
+ <h1 id="article-title">The keyboard driven text editor</h1>
+ </div>
+
+ <p>If we think for a moment about software we are going to realize that the core of every program it's just plain text, literally just words in a file that someone wrote, this webpage it's just text interpreted by your web-browser, whose also just plain text implemented by another program, some software has more complexity than others, for example the linux kernel it's estimated that has around 27.8 million lines of code, which is also just plain text</p>
+
+ <p>The way we tell computers what to do it's with text, so in order to write that text we just need a text editor and this is were Vim it's known for. Vim it's just a text editor. The term Vim stands for Vi IMproved, Vim it's a rewrite and improved version of Vi, a text editor that dates from 1978.</p>
+
+ <p>In this article I want to show how this text editor became my best frient (?), I learned to love about Vim keybindings and now I even have and extension on my browser to use vim like keybindings.</p>
+
+ <p>Vim is a console text editor (altough you can find distributions like gvim, which comes with a gui), a benefit of this its that It's very lightweign in terms of system resources. Vim it's also highly configurable, you can do this by editing the <u>.vimrc</u> text file, which should be in you home directory in Linux or BSD bases OSs, if not you can <u>create</u> a new blank one and start from zero</p>
+
+ <p>If you installed Vim and you don't know how to move around or insert text, first you need to understand the basics, Vim has 3 main "modes" </p>
+
+ <p>By default Vim comes with a lot of features disabled, for example a key binding to comment a line or auto close brackets, parenthesis, etc, this features you can enable them by installing <u>plugins</u> which I will cover leter.</p>
+
+ <br>
+ <!--#include virtual="/common/end_of_article.shtml" -->
+
+ </article>
+
+ <!--#include virtual="/common/footer.shtml" -->
+ </body>
+</html>
diff --git a/articles/02/templeos.html b/blog/02/templeos.html
diff --git a/blog/sav/sav.gif b/blog/sav/sav.gif
Binary files differ.
diff --git a/blog/sav/sav.html b/blog/sav/sav.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<html lang="en" >
+
+<meta charset="utf-8">
+<meta name="generator" content="pandoc">
+
+
+
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+<!-- pagetitle = "Martin's webpage" -->
+<head id=top>
+ <title>SAV - Sorting Algorithms Visualized {#article-title}</title>
+ <link rel='stylesheet' type='text/css' href="/css/style.css">
+ <link rel="icon" href="/favicon.ico">
+
+ <style type="text/css">code{white-space: pre;}</style>
+
+<!-- -->
+
+</head>
+
+<body id=top>
+ <!--#include virtual="/common/header.shtml" -->
+
+ <article>
+ <link rel='stylesheet' type='text/css' href="/css/article_style.css">
+
+ <script>
+ var dt = document.lastModified;
+ dt = dt.replaceAll("/", "-");
+ // document.write(dt.substring(0, 11));
+ document.querySelector('.article-date').innerHTML += dt.substring(0, 10) + ")";
+ </script>
+
+ <h1 id="article-title">SAV - Sorting Algorithms Visualized</h1>
+<p>18-09-22 {#article-date}</p>
+<p>This is a desktop app that shows how an array is being sorted using
+different algorithms.</p>
+<p><img src="sav.gif" title="Gif showing SAV working" />
+{#article-screenshot}</p>
+<p>I made it using pure C and SDL2 for graphics, you can take a look at
+it’s source code on <a
+href="https://github.com/mjkloeckner/sav">Github</a>.</p>
+<p>The main purpose of this app was to put in practice the knowledge I
+gained in C as well with algorithms, and it was like a challenge since
+I’d never used SDL2 graphics before. In the end was a very enjoyable
+project since SDL2 per se is a very simple and easy to use library.</p>
+<p>Currently it supports the following algorithms:</p>
+<ul>
+<li>bubble sort improved</li>
+<li>insertion sort</li>
+<li>merge sort wrapper</li>
+<li>quick sort wrapper</li>
+<li>shell sort</li>
+<li>selection sort</li>
+<li>heap sort</li>
+</ul>
+
+ <!--#include virtual="/common/end_of_article.shtml" -->
+ </article>
+
+ <!--#include virtual="/common/footer.shtml" -->
+</body>
+
+</html>
diff --git a/blog/sav/sav.md b/blog/sav/sav.md
@@ -0,0 +1,26 @@
+% SAV - Sorting Algorithms Visualized
+% Martin J. Kloeckner
+% 18/09/22
+
+# SAV - Sorting Algorithms Visualized {#article-title}
+
+This is a desktop app that shows how an array is being sorted using different algorithms.
+
+::: {#article-screenshot}
+![](sav.gif "Gif showing SAV working")
+:::
+
+I made it using pure C and SDL2 for graphics, you can take a look at it's source code on [Github](https://github.com/mjkloeckner/sav).
+
+The main purpose of this app was to put in practice the knowledge I gained in C as well with algorithms, and it was like a challenge since I'd never used SDL2 graphics before. In the end was a very enjoyable project since SDL2 per se is a very simple and easy to use library.
+
+
+Currently it supports the following algorithms:
+
+* bubble sort improved
+* insertion sort
+* merge sort wrapper
+* quick sort wrapper
+* shell sort
+* selection sort
+* heap sort
diff --git a/blog/sav/sav2.html b/blog/sav/sav2.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html>
+<html lang="en" >
+
+<meta charset="utf-8">
+<meta name="generator" content="pandoc">
+<meta name="author" content="Martin J. Kloeckner">
+
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+<!-- pagetitle := "Martin's webpage" -->
+<head id=top>
+ <title>SAV - Sorting Algorithms Visualized - Martin Klöckner's webpage</title>
+
+ <link rel='stylesheet' type='text/css' href="/css/style.css">
+ <link rel="icon" href="/favicon.ico">
+
+ <style type="text/css">code{white-space: pre;}</style>
+
+<!-- -->
+
+</head>
+
+<body id=top>
+ <!--#include virtual="/common/header.shtml" -->
+
+ <article>
+ <link rel='stylesheet' type='text/css' href="/css/article_style.css">
+ <h1 id="article-title">SAV - Sorting Algorithms Visualized</h1>
+
+ <script>
+ document.write("(" + document.lastModified + ")");
+ var myDate = new Date(document.lastModified);
+
+ console.log('toISOString', myDate.toISOString());
+
+ myNewDate = new Intl.DateTimeFormat(
+ "de-AT",
+ {year: "numeric", month: "numeric", day: "numeric"}
+ ).format(myDate).replace(/\./g, '-');
+
+ console.log('Intl.DateTimeFormat', myNewDate);
+
+ document.querySelector('.one').innerHTML = myDate.toISOString();
+ document.querySelector('.two').innerHTML = myNewDate;
+ </script>
+
+<p>This is a desktop app that shows how an array is being sorted using
+different algorithms.</p>
+<div id="article-screenshot">
+<p><img src="sav.gif" title="Gif showing SAV working" /></p>
+</div>
+<p>I made it using pure C and SDL2 for graphics, you can take a look at
+it’s source code on <a
+href="https://github.com/mjkloeckner/sav">Github</a>.</p>
+<p>The main purpose of this app was to put in practice the knowledge I
+gained in C as well with algorithms, and it was like a challenge since
+I’d never used SDL2 graphics before. In the end was a very enjoyable
+project since SDL2 per se is a very simple and easy to use library.</p>
+<p>Currently it supports the following algorithms:</p>
+<ul>
+<li>bubble sort improved</li>
+<li>insertion sort</li>
+<li>merge sort wrapper</li>
+<li>quick sort wrapper</li>
+<li>shell sort</li>
+<li>selection sort</li>
+<li>heap sort</li>
+</ul>
+
+ <!--#include virtual="/common/end_of_article.shtml" -->
+ </article>
+
+ <!--#include virtual="/common/footer.shtml" -->
+
+ <!-- -->
+ <!-- <header> -->
+ <!-- -->
+ <!-- <h3 class="date">18/09/22</h3> -->
+ <!-- -->
+
+ <!-- <h1 class="title">SAV - Sorting Algorithms Visualized</h1> -->
+
+ <!-- -->
+ <!-- <h2 class="author"></h2> -->
+ <!-- <p class="affilation"><em></em></p> -->
+ <!-- -->
+
+ <!-- </header> -->
+ <!-- -->
+
+</body>
+
+</html>
diff --git a/common/about.html b/common/about.html
@@ -1,61 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <head>
- <title>About - Martin Klöckner's webpage</title>
- <link rel='stylesheet' type='text/css' href="/css/style.css">
- <link rel='stylesheet' type='text/css' href="/common/about_style.css">
- <link rel="icon" href="/favicon.ico">
- <meta charset="utf-8"/>
- </head>
-
- <body>
- <!--#include virtual="header.shtml" -->
-
- <article>
- <!-- <h2>What about me?</h2> -->
- <h2 style="color:#DAA520; text-shadow: 5px 5px 5px black;">About me</h2>
-
- <div class="presentation">
- <img class=profile_img src="face.jpeg" title="Profile picture" alt="Profile picture">
- <p>Electronics engineering student at Univerity of Buenos Aires, Argentina</p>
- <br>
- <h3 id="skills_heading"><u>Principal skills</u></h3>
- <div class="skills_logos">
- <img class="skills_logo" src="logos/c.png" title="C logo" alt="C logo">
- <img class="skills_logo" src="logos/c++2.png" title="C++ logo" alt="C++ logo">
- <img class="skills_logo" src="logos/python.png" title="Python logo" alt="Python logo">
- <!-- <img max-width: 10em class="linux_logo" src="logos/linux2.png" title="Profile picture" alt="Profile picture"> -->
- </div>
- </div>
-
- <h4><u>Who am I?</u></h4>
-
- <p>I am a student, curious and self thought, looking forward to join a team and make new friends. Always trying to improve my skills and learn from other people.</p>
-
- <br>
-
- <!-- <p>My name is Martin, I'm from Argentina, currenly I'm staying at my parents house in a little town located at the center of Buenos Aires province. Because of the pandemic I've spend this last two years mostly seated in front of a computer, I've learned a lot about linux, embedeed systems, and also about web development, although I'm not even close of working as such, but I would like, some day.</p> -->
-
- <h4><u>Programming</u></h4>
- <p>Since I'm studying Electronics Engineering I took a couse in Algorithms & Programing, in which they teach me basic programming in C, we did a simple program that parses csv files, we implemented linked lists, and more of that stuff, also the concepts of Abstract Data Types (TDA), kinda like Object Oriented Programming but in C, by the end of the course they did explained a little bit of Object Oriented Programming but that is a subject of Algorithms and Programming II, and III, which I can't take beacouse I have to pass Calculus and Physics first, so they did more like an introduccion.</p>
- <br>
-
- <h4><u>Tech that I use</u></h4>
- <p>In terms of hardware I got a couple of computers, I got an old generic tower pc, with an intel i3 2100 and 8gb of ram which is from 2012, and a more newer 14" dell laptop, has and i3 5005u and 8gb of ram too. I've also got two old computers that I use as 'servers', I installed debian on them and controll'em via SSH (I'm hosting this website on one of those)</p>
- <p>In terms of software I use linux in all of them lol, I've got debian in boths 'servers', artix on the tower pc, with runit as init, I did a <a href="https://www.youtube.com/watch?v=dBdNQdocrVc" target="_blank">video</a> of it's boot time, and arch (btw) intalled on the laptop.</p>
- <br>
-
- <h4><u>Whats the purpose of this website?</u></h4>
- <p>Well after watching a lot of youtube videos I've decided that it could be a good idea to make a website, to practice all this stuff that I've learned, so I made this simple webpage.</p>
- <br>
-
- <h4 style="color: tomato;"><u>Contact info</u></h4>
- <p><ul>
- <li>mail: <a href="mailto:martin.cachari@gmail.com">martin.cachari@gmail.com</a> </li>
- <li>github: <a href="https://github.com/mjkloeckner">github.com/mjkloeckner</a></li>
- </ul></p>
- </article>
- <!--#include virtual="footer.shtml" -->
- </body>
-</html>
diff --git a/common/articles.html b/common/articles.html
@@ -1,34 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <head>
- <title>Blog - Martin Klöckner's webpage</title>
- <link rel='stylesheet' type='text/css' href="/css/style.css">
- <link rel="icon" href="/favicon.ico">
- <meta charset="utf-8"/>
- </head>
-
- <body>
- <!--#include virtual="header.shtml" -->
-
- <article>
- <h2 style="color:#DAA520; text-shadow: 5px 5px 5px black;">Blog</h2>
-
- <ul id=recent_articles>
- <!-- <li>01 Sep 2021 -- <a href="/articles/01/vim_config.html">What is LaTeX?</a></li> -->
- <!-- <li>31 Oct 2021 -- <a href="/articles/01/vim_config.html">About Object-Oriented Programming</a></li> -->
- <!-- <li>30 Oct 2021 -- <a href="/articles/01/vim_config.html">How to install GCam on an android phone</a></li> -->
- <!-- <li>29 Oct 2021 -- <a href="/articles/01/vim_config.html">What is linux?</a></li> -->
- <!-- <li>28 Oct 2021 -- <a href="/articles/01/vim_config.html">Astrophotography with a phone</a></li> -->
- <!-- <li>27 Oct 2021 -- <a href="/articles/01/vim_config.html">Making linux boot faster</a></li> -->
- <!-- <li>26 Oct 2021 -- <a href="/articles/01/vim_config.html">What is initramfs?</a></li> -->
- <!-- <li>25 Oct 2021 -- <a href="/articles/01/vim_config.html">How does Linux boot?</a></li> -->
- <!-- <li>24 Oct 2021 -- <a href="/articles/01/vim_config.html">How I configured Vim/Nvim editor</a></li> -->
- <li>04 Mar 2022 -- <a href="/articles/01/vim_config.html">Vim introduction and basic configuration</a></li>
- <li>23 Oct 2021 -- <a href="/articles/00/dwm_config.html">DWM - A window manager configuration</a></li>
- </ul>
- </article>
-
- <!--#include virtual="footer.shtml" -->
- </body>
-</html>
diff --git a/common/end_of_article.shtml b/common/end_of_article.shtml
@@ -1,4 +1,6 @@
<!-- <br> -->
+<!-- <hr class="article_bottom_bar"> -->
+<hr class="article_bottom_bar">
<div style="margin-top: 1em; text-align: center; text-decoration: none;">
<a href="#top" id="go_top">Back to top</a>
</div>
diff --git a/common/header.shtml b/common/header.shtml
@@ -1,13 +1,18 @@
<header>
- <h1 id="header_text">
- <a href="/index.html" id="header_link">Martin Klöckner</a>
- </h1>
- <div class="header_buttons">
- <!-- <a href="/index.html" style="text-decoration: none;">home</a> -->
- <a href="/common/articles.html" style="text-decoration: none;">blog</a>
- <!-- <a href="/common/library.html" style="text-decoration: none;">library</a> -->
- <!-- <a href="/common/downloads.html" style="text-decoration: none;">downloads</a> -->
- <a href="/common/about.html" style="text-decoration: none;">about</a>
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
+ <div class="header_flex_div">
+ <h1 id="header_title">
+ <a href="/index.html" id="header_link">Martin Klöckner</a>
+ </h1>
+ <ul style="list-style-type: none;" class="header_buttons">
+ <li class="header_button" style="padding-right: 10px"><a href="/blog.html" style="text-decoration: none; mergin-left: 1em;">blog</a></li>
+ <li class="header_button" style="padding-right: 10px"><a href="/about.html" style="text-decoration: none;">about</a></li>
+ <li class="header_button"><a href="/downloads/resume.pdf" style="text-decoration: none;" target="_blank">cv<i style="font-size: 14px; color: gray; margin-left: 2px;" class="fa fa-download"></i></a></li>
+ </ul>
+
+ <!-- <a href="/index.html" style="text-decoration: none;">home</a> -->
+ <!-- <a href="/common/library.html" style="text-decoration: none;">library</a> -->
+ <!-- <a href="/common/downloads.html" style="text-decoration: none;">downloads</a> -->
</div>
</header>
<hr class="header_bottom_bar">
diff --git a/css/about_style.css b/css/about_style.css
@@ -0,0 +1,92 @@
+#article-title {
+ font-size: 16px;
+ text-decoration: underline;
+ padding-bottom: 1em;
+}
+
+#article-screenshot {
+ text-align: center;
+}
+
+p {
+ padding-bottom: .5em;
+}
+
+ul {
+ margin-left: 1.5em;
+}
+
+.article_bottom_bar {
+ border: 0;
+ clear:both;
+
+ display:block;
+
+ background-color: #191919;
+
+ width: 60%;
+ max-width: 20em;
+ height: 0px;
+
+ margin-left: auto;
+ margin-right: auto;
+ margin-top: 2em;
+ margin-bottom: 0;
+
+ padding-top: 0;
+ padding-bottom: 0;
+ /*! border-bottom: dashed; */
+ border-top: 1px dashed peru;
+}
+
+@media (max-width: 800px) {
+ .article_bottom_bar{
+ width: 45%;
+ }
+}
+
+.presentation {
+ margin-left: auto;
+ margin-right: auto;
+
+ text-align: center;
+
+ padding-top: 1em;
+ padding-bottom: 1em;
+}
+
+.profile_img {
+ margin-left: auto;
+ margin-right: auto;
+ margin-bottom: 1em;
+
+ max-width: 20em;
+
+ border-style: dashed;
+ border-color: peru;
+ /* border-width: 1.75px; */
+ /* border-radius: .75em; */
+
+ box-shadow: 3px 3px 3px black;
+}
+
+.skills_logos {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ /* padding: 1em; */
+}
+
+.skills_logo {
+ max-width: 5em;
+ padding: 1em;
+}
+
+.linux_logo {
+ max-width: 5em;
+ padding: 1em;
+}
+
+#skills_heading {
+ text-align: center;
+}
diff --git a/css/article_style.css b/css/article_style.css
@@ -0,0 +1,75 @@
+#article-title {
+ font-size: 16px;
+ text-decoration: underline;
+ padding-top: 1em;
+ padding-bottom: 1em;
+}
+
+img {
+ padding: 1em;
+ width: 85%;
+
+}
+
+#article-screenshot {
+ text-align: center;
+}
+
+#article-icon {
+ /* text-align: center; */
+ /* float: center; */
+ /* max-width: 5em; */
+ /* flex-basis: 40% */
+ width: 10%;
+ padding-right: 1em;
+}
+
+#article-title-with-icon {
+ display: flex;
+ align-items: center;
+}
+
+p {
+ padding-bottom: .5em;
+}
+
+ul {
+ margin-left: 1.5em;
+}
+
+.article_bottom_bar {
+ border: 0;
+ clear:both;
+
+ display:block;
+
+ background-color: #191919;
+
+ width: 60%;
+ max-width: 20em;
+ height: 0px;
+
+ margin-left: auto;
+ margin-right: auto;
+ margin-top: 2em;
+ margin-bottom: 0;
+
+ padding-top: 0;
+ padding-bottom: 0;
+ /*! border-bottom: dashed; */
+ border-top: 1px dashed peru;
+}
+
+.article-date {
+ font-size: 14px;
+ padding-top: 1em;
+ color: #588B8B;
+ font-style: italic;
+}
+
+
+@media (max-width: 800px) {
+ .article_bottom_bar{
+ width: 45%;
+ }
+}
diff --git a/css/style.css b/css/style.css
@@ -8,6 +8,15 @@
url('/fonts/futura_medium/FuturaBT-Medium.svg#svgFutura') format('svg'); /* Legacy iOS */
}
+@font-face {
+ font-family: 'Neuzeit';
+ src: url('/fonts/neuzeit-black/NeuzeitGroteskCondW01-Black.ttf'); /* IE9 Compat Modes */
+ src: url('/fonts/neuzeit-black/NeuzeitGroteskCondW01-Black.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
+ url('/fonts/neuzeit-black/NeuzeitGroteskCondW01-Black.woff') format('woff'), /* Modern Browsers */
+ url('/fonts/neuzeit-black/NeuzeitGroteskCondW01-Black.ttf') format('truetype'), /* Safari, Android, iOS */
+ url('/fonts/neuzeit-black/NeuzeitGroteskCondW01-Black.svg#svgFutura') format('svg'); /* Legacy iOS */
+}
+
* {
margin: 0;
padding: 0;
@@ -27,21 +36,21 @@ body {
background: #191919;
/* background: #2F4F4F; */
- margin-top: .5em;
+ /* margin-top: .5em; */
margin-bottom: 30em;
margin-left: .5em;
- margin-right: 1em;
+ margin-right: .5em;
font-size: 14px;
font-family: "DejaVu Sans", sans, sans-serif;
- scroll-behavior: smooth;
+ /* scroll-behavior: smooth; */
}
header {
color: crimson;
/* background: #191919; */
- max-width: 42em;
+ max-width: 46em;
margin-left: auto;
margin-right: auto;
@@ -54,7 +63,7 @@ header {
padding-left: 1.25em;
padding-right: 1.25em;
padding-top: 1em;
- padding-bottom: 1em;
+ padding-bottom: .25em;
/* border-radius: 1em; */
border-top: 1em;
@@ -63,10 +72,23 @@ header {
/* box-shadow: 5px 5px 7px black; */
}
+.header_button {
+ float: left;
+}
+
.header_buttons {
- /* margin-top: .2em; */
- margin-top: 0;
- font-size: 1.25em;
+ margin: 0;
+ margin-top: .6em;
+ font-size: 1.5em;
+ display: inline;
+ align-self: center;
+ /* padding-top: 1em; */
+}
+
+.header_flex_div {
+ display: flex;
+ justify-content: space-between;
+ flex-wrap: wrap;
}
/* .header_bottom_bar { */
@@ -94,6 +116,22 @@ header {
border-top: 1px dashed peru;
}
+@media (max-width: 800px) {
+ .header_flex_div{
+ flex-direction: column;
+ justify-content: center;
+ }
+ .header_buttons{
+ margin-top: 0;
+ font-size: 1.5em;
+ align-self: center;
+ padding-top: 0em;
+ }
+ .header_bottom_bar{
+ width: 55%;
+ }
+}
+
#header_link {
text-decoration: none;
color: inherit;
@@ -111,12 +149,13 @@ header {
color: peru;
}
-#header_text {
+#header_title {
margin-bottom: 0em;
- padding-bottom: 0.25em;
- font-size: 2.5em;
- letter-spacing: 2px;
- line-height: 1;
+ /* padding-bottom: 0.25em; */
+ font-size: 2.75em;
+ /* letter-spacing: 2px; */
+ /* line-height: 1; */
+ display: inline-block;
}
article {
@@ -127,7 +166,6 @@ article {
margin-left: auto;
margin-right: auto;
- margin-top: 1.25em;
margin-bottom: .9em;
text-align: justify;
@@ -177,7 +215,6 @@ ol {
ul {
list-style-type: disc; /* Remove bullets */
padding: 0;
- padding-left: 1em;
margin: 0; /* Remove margins */
}
@@ -191,11 +228,11 @@ footer {
font-family: monospace;
}
-h2 {
+#index-title {
text-align: center;
color: #DAA520;
text-shadow: 5px 5px 5px black;
- /* padding-top: .5em; */
+ padding-top: .5em;
padding-bottom: .5em;
}
@@ -234,7 +271,7 @@ code {
padding-left: 1em;
padding-right: 1em;
- border-radius: .75em;
+ border-radius: .2em;
/* background-color: #03230c; */
/* background-color: #333333; */
@@ -327,4 +364,3 @@ hr {
/* padding-right: -10em; */
/* border: 1px dotted antiquewhite; */
/* } */
-
diff --git a/downloads/resume.pdf b/downloads/resume.pdf
Binary files differ.
diff --git a/fonts/demo.html b/fonts/demo.html
@@ -1,192 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="robots" content="noindex, noarchive">
- <meta name="format-detection" content="telephone=no">
- <title>Transfonter demo</title>
- <link href="stylesheet.css" rel="stylesheet">
- <style>
- /*
- http://meyerweb.com/eric/tools/css/reset/
- v2.0 | 20110126
- License: none (public domain)
- */
- html, body, div, span, applet, object, iframe,
- h1, h2, h3, h4, h5, h6, p, blockquote, pre,
- a, abbr, acronym, address, big, cite, code,
- del, dfn, em, img, ins, kbd, q, s, samp,
- small, strike, strong, sub, sup, tt, var,
- b, u, i, center,
- dl, dt, dd, ol, ul, li,
- fieldset, form, label, legend,
- table, caption, tbody, tfoot, thead, tr, th, td,
- article, aside, canvas, details, embed,
- figure, figcaption, footer, header, hgroup,
- menu, nav, output, ruby, section, summary,
- time, mark, audio, video {
- margin: 0;
- padding: 0;
- border: 0;
- font-size: 100%;
- font: inherit;
- vertical-align: baseline;
- }
- /* HTML5 display-role reset for older browsers */
- article, aside, details, figcaption, figure,
- footer, header, hgroup, menu, nav, section {
- display: block;
- }
- body {
- line-height: 1;
- }
- ol, ul {
- list-style: none;
- }
- blockquote, q {
- quotes: none;
- }
- blockquote:before, blockquote:after,
- q:before, q:after {
- content: '';
- content: none;
- }
- table {
- border-collapse: collapse;
- border-spacing: 0;
- }
- /* demo styles */
- body {
- background: #f0f0f0;
- color: #000;
- }
- .page {
- background: #fff;
- width: 920px;
- margin: 0 auto;
- padding: 20px 20px 0 20px;
- overflow: hidden;
- }
- .font-container {
- overflow-x: auto;
- overflow-y: hidden;
- margin-bottom: 40px;
- line-height: 1.3;
- white-space: nowrap;
- padding-bottom: 5px;
- }
- h1 {
- position: relative;
- background: #444;
- font-size: 32px;
- color: #fff;
- padding: 10px 20px;
- margin: 0 -20px 12px -20px;
- }
- .letters {
- font-size: 25px;
- margin-bottom: 20px;
- }
- .s10:before {
- content: '10px';
- }
- .s11:before {
- content: '11px';
- }
- .s12:before {
- content: '12px';
- }
- .s14:before {
- content: '14px';
- }
- .s18:before {
- content: '18px';
- }
- .s24:before {
- content: '24px';
- }
- .s30:before {
- content: '30px';
- }
- .s36:before {
- content: '36px';
- }
- .s48:before {
- content: '48px';
- }
- .s60:before {
- content: '60px';
- }
- .s72:before {
- content: '72px';
- }
- .s10:before, .s11:before, .s12:before, .s14:before,
- .s18:before, .s24:before, .s30:before, .s36:before,
- .s48:before, .s60:before, .s72:before {
- font-family: Arial, sans-serif;
- font-size: 10px;
- font-weight: normal;
- font-style: normal;
- color: #999;
- padding-right: 6px;
- }
- pre {
- display: block;
- padding: 9px;
- margin: 0 0 12px;
- font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
- font-size: 13px;
- line-height: 1.428571429;
- color: #333;
- font-weight: normal;
- font-style: normal;
- background-color: #f5f5f5;
- border: 1px solid #ccc;
- overflow-x: auto;
- border-radius: 4px;
- }
- /* responsive */
- @media (max-width: 959px) {
- .page {
- width: auto;
- margin: 0;
- }
- }
- </style>
-</head>
-<body>
-<div class="page">
- <div class="demo">
- <h1 style="font-family: 'Futura MdCn BT'; font-weight: 500; font-style: normal;">Futura Medium Condensed BT</h1>
- <pre title="Usage">.your-style {
- font-family: 'Futura MdCn BT';
- font-weight: 500;
- font-style: normal;
-}</pre>
- <pre title="Preload (optional)">
-<link rel="preload" href="FuturaBT-MediumCondensed.woff2" as="font" type="font/woff2" crossorigin></pre>
- <div class="font-container" style="font-family: 'Futura MdCn BT'; font-weight: 500; font-style: normal;">
- <p class="letters">
- abcdefghijklmnopqrstuvwxyz<br>
-ABCDEFGHIJKLMNOPQRSTUVWXYZ<br>
- 0123456789.:,;()*!?'@#<>$%&^+-=~
- </p>
- <p class="s10" style="font-size: 10px;">The quick brown fox jumps over the lazy dog.</p>
- <p class="s11" style="font-size: 11px;">The quick brown fox jumps over the lazy dog.</p>
- <p class="s12" style="font-size: 12px;">The quick brown fox jumps over the lazy dog.</p>
- <p class="s14" style="font-size: 14px;">The quick brown fox jumps over the lazy dog.</p>
- <p class="s18" style="font-size: 18px;">The quick brown fox jumps over the lazy dog.</p>
- <p class="s24" style="font-size: 24px;">The quick brown fox jumps over the lazy dog.</p>
- <p class="s30" style="font-size: 30px;">The quick brown fox jumps over the lazy dog.</p>
- <p class="s36" style="font-size: 36px;">The quick brown fox jumps over the lazy dog.</p>
- <p class="s48" style="font-size: 48px;">The quick brown fox jumps over the lazy dog.</p>
- <p class="s60" style="font-size: 60px;">The quick brown fox jumps over the lazy dog.</p>
- <p class="s72" style="font-size: 72px;">The quick brown fox jumps over the lazy dog.</p>
- </div>
- </div>
-
-</div>
-</body>
-</html>
diff --git a/fonts/stylesheet.css b/fonts/stylesheet.css
@@ -1,10 +0,0 @@
-@font-face {
- font-family: 'Futura MdCn BT';
- src: url('FuturaBT-MediumCondensed.woff2') format('woff2'),
- url('FuturaBT-MediumCondensed.woff') format('woff'),
- url('FuturaBT-MediumCondensed.svg#FuturaBT-MediumCondensed') format('svg');
- font-weight: 500;
- font-style: normal;
- font-display: swap;
-}
-
diff --git a/fonts/transfonter.org-20220713-164039.zip b/fonts/transfonter.org-20220713-164039.zip
Binary files differ.
diff --git a/index.html b/index.html
@@ -3,6 +3,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<head>
<title>Martin Klöckner's webpage</title>
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel='stylesheet' type='text/css' href="css/style.css">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<meta charset="utf-8"/>
@@ -14,7 +15,7 @@
<script src="js/hello.js"></script>
<article>
- <h2 style="color:#DAA520; text-shadow: 5px 5px 5px black;">Welcome, to Martin's webpage!</h2>
+ <h1 id="index-title">Welcome, to Martin's webpage!</h1>
<p>Hello world! this is my website, which I did to experiment with Web Development and such. Feel free to surf the couple of pages that I made for you, you can navigate them by the menu on top, below the title, you can also choose an article in the <a href="#recent_articles">recent articles</a> section.
</p><br>
@@ -50,9 +51,10 @@
<!-- <li>26 Oct 2021 -- <a href="articles/01/vim_config.html">What is initramfs?</a></li> -->
<!-- <li>25 Oct 2021 -- <a href="articles/01/vim_config.html">How does Linux boot?</a></li> -->
<!-- <li>24 Oct 2021 -- <a href="articles/01/vim_config.html">How I configured Vim/Nvim editor</a></li> -->
- <li>04 Mar 2022 -- <a href="articles/01/vim_config.html">Vim introduction and basic configuration</a></li>
+ <li>18 Sep 2022 -- <a href="/blog/sav/sav.html">SAV - Sorting Algorithms Visualized</a></li>
+ <li>04 Mar 2022 -- <a href="/blog/01/vim_config.html">Vim introduction and basic configuration</a></li>
<!-- <li>02 Dec 2021 -- <a href="articles/02/templeos.html">Minimal TempleOS configuration</a></li> -->
- <li>23 Oct 2021 -- <a href="articles/00/dwm_config.html">DWM - A window manager configuration</a></li>
+ <li>23 Oct 2021 -- <a href="/blog/00/dwm_config.html">DWM - A window manager configuration</a></li>
</div>
</ul>