--- /dev/null
+
+/**
+ *
+ * @licstart The following is the entire license notice for the
+ * JavaScript code in this page.
+ *
+ * Copyright (C) 2025 David Polakovic
+ *
+ *
+ * The JavaScript code in this page is free software: you can
+ * redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GNU GPL) as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option)
+ * any later version. The code is distributed WITHOUT ANY WARRANTY;
+ * without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
+ *
+ * As additional permission under GNU GPL version 3 section 7, you
+ * may distribute non-source (e.g., minimized or compacted) forms of
+ * that code without the copy of the GNU GPL normally required by
+ * section 4, provided you include this license notice and a URL
+ * through which recipients can access the Corresponding Source.
+ *
+ * @licend The above is the entire license notice
+ * for the JavaScript code in this page.
+ *
+ */
+
+const dotImg = document.getElementById("toggleImageDot");
+const spaceImg = document.getElementById("toggleImageSpace");
+const dpoImg = document.getElementById("toggleImagedpo");
+
+// Track key state
+const keysPressed = {};
+
+// Helper function to check for redirect
+function checkRedirect(clickedKey) {
+ const requiredKeys = [".", "d", " "];
+ const otherKeys = requiredKeys.filter(k => k !== clickedKey);
+
+ if (keysPressed[otherKeys[0]] && keysPressed[otherKeys[1]]) {
+ window.location.href = "https://www.dpolakovic.space/ro";
+ }
+}
+
+// Mouse behavior for dot
+if (dotImg) {
+ dotImg.addEventListener("mousedown", () => {
+ dotImg.src = "../Pictures/dot2.png";
+ checkRedirect(".");
+ });
+
+ dotImg.addEventListener("mouseup", () => {
+ dotImg.src = "../Pictures/dot.png";
+ });
+
+ dotImg.addEventListener("mouseleave", () => {
+ dotImg.src = "../Pictures/dot.png";
+ });
+}
+
+// Mouse behavior for space
+if (spaceImg) {
+ spaceImg.addEventListener("mousedown", () => {
+ spaceImg.src = "../Pictures/space2.png";
+ checkRedirect(" ");
+ });
+
+ spaceImg.addEventListener("mouseup", () => {
+ spaceImg.src = "../Pictures/space.png";
+ });
+
+ spaceImg.addEventListener("mouseleave", () => {
+ spaceImg.src = "../Pictures/space.png";
+ });
+}
+
+// Mouse behavior for dpo
+if (dpoImg) {
+ dpoImg.addEventListener("mousedown", () => {
+ dpoImg.src = "../Pictures/dpo2.png";
+ checkRedirect("d");
+ });
+
+ dpoImg.addEventListener("mouseup", () => {
+ dpoImg.src = "../Pictures/dpolakovic.png";
+ });
+
+ dpoImg.addEventListener("mouseleave", () => {
+ dpoImg.src = "../Pictures/dpolakovic.png";
+ });
+}
+
+// Keyboard behavior
+document.addEventListener("keydown", (event) => {
+ keysPressed[event.key] = true;
+
+ if (dotImg && event.key === ".") {
+ dotImg.src = "../Pictures/dot2.png";
+ }
+ if (spaceImg && event.key === " ") {
+ spaceImg.src = "../Pictures/space2.png";
+ }
+ if (dpoImg && event.key === "d") {
+ dpoImg.src = "../Pictures/dpo2.png";
+ }
+
+ // Check if all three keys are pressed
+ if (keysPressed["."] && keysPressed["d"] && keysPressed[" "]) {
+ window.location.href = "https://www.dpolakovic.space/ro";
+ }
+});
+
+document.addEventListener("keyup", (event) => {
+ delete keysPressed[event.key];
+
+ if (dotImg && event.key === ".") {
+ dotImg.src = "../Pictures/dot.png";
+ }
+ if (spaceImg && event.key === " ") {
+ spaceImg.src = "../Pictures/space.png";
+ }
+ if (dpoImg && event.key === "d") {
+ dpoImg.src = "../Pictures/dpolakovic.png";
+ }
+});
+
--- /dev/null
+
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=600, initial-scale=1.0">
+ <title>"This site uses client-side scripting"</title>
+ <link rel="icon" href="../Pictures/dot.png">
+ <link rel="stylesheet" href="../Styles/styles.css">
+ <link rel="author" href="mailto:email@dpolakovic.space">
+ <meta name="description" content="personal website and git server">
+ </head>
+ <body>
+
+ <!-- show pictures (banner) on top of the page -->
+ <div class="banner">
+ <p>
+ <img id="toggleImagedpo" src="../Pictures/dpolakovic.png" alt="simple">
+ <img id="toggleImageDot" src="../Pictures/dot.png" alt="website">
+ <img id="toggleImageSpace" src="../Pictures/space.png" alt="website">
+ </p>
+ <script src="clicky-images-in-blogs.js"></script>
+ </div>
+
+ <!-- navigation bar -->
+ <nav class="nav-bar-blog">
+ <ul>
+ <li><a href="https://www.dpolakovic.space/blog.php">Go back</a></li>
+ </ul>
+ </nav>
+
+ <!-- page content -->
+ <main class="content">
+ <p>
+ <h2> This site uses client-side scripting </h2>
+ <i>5 Jun 2025 - Spooky, scary JavaScript update.</i>
+ <br>
+ <p>
+ <!-- PUT HERE A PICTURE -->
+ <img src="./pics/jst.jpg"
+ alt="Jerry about to be eaten by Tom">
+ </p>
+ <p>
+ I have a few thoughts on client-side scripting. It was only recently that
+ I decided to burden your browsers with up to 2.9 kilobytes of JavaScript
+ code per page[<a href="#notes">*</a>]. My previous zealotry of avoiding
+ it was based on privacy and security concerns that I have with this
+ technology, which I didn't want my few readers to deal with. So, let me
+ explain why I decided to burden your browser with a code size of a photo
+ taken with a Nokia 6600.
+ </p>
+ <p>
+ The sheer concept of running served code locally in your browser is alien
+ to me. Sandboxed or not, escapes happen on a large scale. Just this week,
+ the zero-day vulnerability
+ <a href="https://nvd.nist.gov/vuln/detail/CVE-2025-5419">CVE-2025-5419</a>
+ was documented after having existed for almost half a year in the wild. Last
+ year, four severe vulnerabilities in the JavaScript engine emerged that
+ I am aware of, one of which enabled ACE with as little as 40 lines of code
+ (including the payload!).
+ </p>
+ <p>
+ Running code client-side means placing a lot of trust in your source (the
+ website) but even more in the tool (the browser). My decision to include
+ JavaScript in the non-critical functionality of the site was made for the
+ comfort of average surfers. To be specific, now visitors can see my
+ <a href="https://www.dpolakovic.space/mars-clock">mars clock</a>
+ update in real time. I wanted to demonstrate the difference between a Mars
+ second and an Earth second in the simplest possible example.
+ </p>
+ <p>
+ The core functionality is, and always will be, executed server-side. All
+ scripting is purely cosmetic and in no way interferes with your experience
+ on my domain.
+ </p>
+ <p>
+ But don't take my word for it. I encourage every visitor to read my source
+ code. Up-to-date "backups" are stored on my Git server and linked in every
+ footer. Compare them with the dev console and call me out if you find any
+ discrepancies. If you don't feel comfortable diving into the code, fire up
+ <a href="https://jshelter.org/">JShelter</a>
+ to protect yourself. Even better, I encourage you to disable all JavaScript
+ and fetch only my
+ <a href="https://dpolakovic.space/rss.xml">RSS feed</a>.
+ </p>
+ <p>
+ Remember, a web publication should be obtained from the server in its complete and
+ unaltered form. If someone hides information behind potential security risks,
+ it might not be worth your time.
+ </p>
+
+
+
+ <!--<p><img src="./pics/free3.png" alt="Happy ash"></p>-->
+ <br>
+ <hr>
+ <div id="notes"></div>
+ <i>
+ <p>
+ * If we include the license statements, which don't affect the logic of mentioned code,
+ it adds up to 5 kilobytes per page.
+ </p>
+ </i>
+ <br>
+ </main>
+
+ <!-- footer -->
+ <footer class="footer">
+ Copyright 2025 David Polakovic -
+ This publication is licensed under
+ <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.
+ <br>
+ This site uses client-side scripting. Please, read the source code
+<a href="https://git.dpolakovic.space/?p=my-website;a=tree">here</a> for more information.
+ </footer>
+ <br><br>
+
+ </body>
+ </html>
* for the JavaScript code in this page.
*
*/
-
const dotImg = document.getElementById("toggleImageDot");
const spaceImg = document.getElementById("toggleImageSpace");
const dpoImg = document.getElementById("toggleImagedpo");
+// Track key state
+const keysPressed = {};
+
+// Helper function to check for redirect
+function checkRedirect(clickedKey) {
+ const requiredKeys = [".", "d", " "];
+ const otherKeys = requiredKeys.filter(k => k !== clickedKey);
+
+ if (keysPressed[otherKeys[0]] && keysPressed[otherKeys[1]]) {
+ window.location.href = "https://www.dpolakovic.space/ro";
+ }
+}
+
// Mouse behavior for dot
if (dotImg) {
dotImg.addEventListener("mousedown", () => {
dotImg.src = "./Pictures/dot2.png";
+ checkRedirect(".");
});
dotImg.addEventListener("mouseup", () => {
// Mouse behavior for space
if (spaceImg) {
spaceImg.addEventListener("mousedown", () => {
- spaceImg.src = "./Pictures/space2.png";
+ spaceImg.src = "../Pictures/space2.png";
+ checkRedirect(" ");
});
spaceImg.addEventListener("mouseup", () => {
if (dpoImg) {
dpoImg.addEventListener("mousedown", () => {
dpoImg.src = "./Pictures/dpo2.png";
+ checkRedirect("d");
});
dpoImg.addEventListener("mouseup", () => {
// Keyboard behavior
document.addEventListener("keydown", (event) => {
- if (event.key === "." && dotImg) {
+ keysPressed[event.key] = true;
+
+ if (dotImg && event.key === ".") {
dotImg.src = "./Pictures/dot2.png";
}
- if (event.key === " " && spaceImg) {
+ if (spaceImg && event.key === " ") {
spaceImg.src = "./Pictures/space2.png";
}
- if (event.key === "d" && dpoImg) {
+ if (dpoImg && event.key === "d") {
dpoImg.src = "./Pictures/dpo2.png";
}
+
+ // Check if all three keys are pressed
+ if (keysPressed["."] && keysPressed["d"] && keysPressed[" "]) {
+ window.location.href = "https://www.dpolakovic.space/ro";
+ }
});
document.addEventListener("keyup", (event) => {
- if (event.key === "." && dotImg) {
+ delete keysPressed[event.key];
+
+ if (dotImg && event.key === ".") {
dotImg.src = "./Pictures/dot.png";
}
- if (event.key === " " && spaceImg) {
+ if (spaceImg && event.key === " ") {
spaceImg.src = "./Pictures/space.png";
}
- if (event.key === "d" && dpoImg) {
+ if (dpoImg && event.key === "d") {
dpoImg.src = "./Pictures/dpolakovic.png";
}
});
\ No newline at end of file
<!DOCTYPE html>
<html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=600, initial-scale=1.0">
- <title>dpolakovic.space</title>
- <link rel="icon" href="./Pictures/dot.png">
- <link rel="stylesheet" href="./Styles/styles.css">
- <?php require_once('./php/config.php'); ?>
- <?php require_once('./php/time.php'); ?>
- <link rel="author" href="mailto:email@dpolakovic.space">
- <meta name="description" content="personal website and git server">
- <meta name="author" content="David Polakovic, 2023">
-
- </head>
- <body>
-
- <!-- show pictures (banner) on top of the page -->
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=600, initial-scale=1.0">
+<title>dpolakovic.space</title>
+<link rel="icon" href="./Pictures/dot.png">
+<link rel="stylesheet" href="./Styles/styles.css">
+<?php require_once('./php/config.php'); ?>
+<?php require_once('./php/time.php'); ?>
+<link rel="author" href="mailto:email@dpolakovic.space">
+<meta name="description" content="personal website and git server">
+<meta name="author" content="David Polakovic, 2023">
+<script>
+ /**
+ *
+ * @licstart The following is the entire license notice for the
+ * JavaScript code in this page.
+ *
+ * Copyright (C) 2025 David Polakovic
+ *
+ *
+ * The JavaScript code in this page is free software: you can
+ * redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GNU GPL) as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option)
+ * any later version. The code is distributed WITHOUT ANY WARRANTY;
+ * without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
+ *
+ * As additional permission under GNU GPL version 3 section 7, you
+ * may distribute non-source (e.g., minimized or compacted) forms of
+ * that code without the copy of the GNU GPL normally required by
+ * section 4, provided you include this license notice and a URL
+ * through which recipients can access the Corresponding Source.
+ *
+ * @licend The above is the entire license notice
+ * for the JavaScript code in this page.
+ *
+ */
+// Earth update every second
+setInterval(() => {
+ fetch('./php/clock-earth.php')
+ .then(res => res.text())
+ .then(html => {
+ document.querySelector('.earth-block').innerHTML = html;
+ });
+}, 1000);
+
+// Mars update every 3 seconds
+setInterval(() => {
+ fetch('./php/clock-mars.php')
+ .then(res => res.text())
+ .then(html => {
+ document.querySelector('.mars-block').innerHTML = html;
+ });
+}, 1100);
+</script>
+</head>
+<body>
+<!-- show pictures (banner) on top of the page -->
<div class="banner">
<p>
- <img src="./Pictures/dpolakovic.png" alt="simple">
- <img src="./Pictures/dot.png" alt="website">
- <img src="./Pictures/space.png" alt="banner">
+ <img id="toggleImagedpo" src="./Pictures/dpolakovic.png" alt="simple">
+ <img id="toggleImageDot" src="./Pictures/dot.png" alt="website">
+ <img id="toggleImageSpace" src="./Pictures/space.png" alt="website">
</p>
+ <script src="clicky-images.js"></script>
</div>
-
- <!-- navigation bar -->
- <nav class="nav-bar">
- <ul>
- <li><a href="https://www.dpolakovic.space">About</a></li>
- <li><a href="https://www.dpolakovic.space/blog.php">Blog</a></li>
- <li><a href="https://www.dpolakovic.space/mars-clock.php">Mars clock</a></li>
- <li><a href="https://www.dpolakovic.space/dead-drop.php">Dead drop</a></li>
- <li><?php serverStatus() ?></li>
- </ul>
- </nav>
+<!-- navigation bar -->
+<nav class="nav-bar">
+<ul>
+ <li><a href="https://dpolakovic.space">About</a></li>
+ <li><a href="https://dpolakovic.space/blog.php">Blog</a></li>
+ <li><a href="https://dpolakovic.space/dir.php">Web directory</a></li>
+ <li><a href="https://dpolakovic.space/mars-clock.php">Mars clock</a></li>
- <!-- page content -->
- <main class="content">
- <p>
- <h2> Mars clock </h2>
- <i> Ack Ack Ack Ack Ack!</i>
- <br>
- <br>
+<li><?php serverStatus() ?></li>
+</ul>
+</nav>
+
+<!-- page content -->
+<main class="content">
+<p>
+<h2> Mars clock </h2>
+<i> Ack Ack Ack Ack Ack!</i>
+<br>
+<br>
It was my friend Peter who got me into timekeeping "nerding". He is a devoted fan
of Mars colonization and author of few articles about timekeeping on other
celestial bodies. He inspired me to make a simple app to help me (and you!)
to see what time it is on other places in our Solar system.
- </p>
- <p>
- <div class="terminal-block" style="white-space: pre;">
+</p>
+<p>
+<div class="terminal-block" style="white-space: pre;">
<?php title() ?>
-------------------------------------------------------
-Earth | Time | Date |
-------------------------------------------------------
-Silicon Valley | <?php timeEarth("America/Los_Angeles") ?> | <?php dateEarth("America/Los_Angeles") ?> |
+---------------------------------------------------------
+Earth | Time | Date |
+---------------------------------------------------------
+<span class="earth-block">Silicon Valley | <?php timeEarth("America/Los_Angeles") ?> | <?php dateEarth("America/Los_Angeles") ?> |
Boston | <?php timeEarth("America/New_York") ?> | <?php dateEarth("America/New_York") ?> |
London* | <?php timeEarth("Europe/London") ?> | <?php dateEarth("Europe/London") ?> |
Tokyo | <?php timeEarth("Asia/Tokyo") ?> | <?php dateEarth("Asia/Tokyo") ?> |
+</span>
-------------------------------------------------------
-Mars | Time | Date |
-------------------------------------------------------
-Jezero Crater | <?php timeMars(10) ?> | <?php dateMars(10) ?> |
+---------------------------------------------------------
+Mars | Time | Date |
+---------------------------------------------------------
+<span class="mars-block">Jezero Crater | <?php timeMars(10) ?> | <?php dateMars(10) ?> |
Gale Crater | <?php timeMars(6) ?> | <?php dateMars(6) ?> |
Olympus Mons* | <?php timeMars(0) ?> | <?php dateMars(0) ?> |
Tharsis Tholus | <?php timeMars(-3) ?> | <?php dateMars(-3) ?> |
Conv. Prime Meridian | <?php timeMars(-9) ?> | <?php dateMars(-9) ?> |
-
-
-
-------------------------------------------------------
+</span><br><br>
+---------------------------------------------------------
* 0 offset time zone
- </div>
-
- </p>
- <p>
+</div>
+</p>
+<p>
The idea was to create the most humanly readable modification of the
- <a href="https://en.wikipedia.org/wiki/Darian_calendar#Calendar_layout">Darian calendar</a>
+<a href="https://en.wikipedia.org/wiki/Darian_calendar#Calendar_layout">Darian calendar</a>
On contrary to the original, the epoch starts on UTC 00:00 11th April,
1609 (invention / first use of telescope) with year 1, not year 0. Aditionaly, the time zone with zero offset was chosen not
conventionally (the first landing spot / prime meridian) but rather by matching the
converted time with actual daylight on the Red Planet.
- </p>
- <p>
+</p>
+<p>
Note, that original Darian calendar designates the first
day of each month as the start of a new week, which results in a one-day weekend occurring
three or four times a year. I am uncertain how this would be received by future Martian
colonists, so I didn't implemented this feature as well as
winter/summer time shifts or any holidays whatsoever.
- </p>
- <p>
- Also, the clocks are not updating automatically like clocks usually do,
- because I didn't want to DDOS myself nor invade your client with
- <i>any</i> scripting. It is also not very useful extraterrestrially,
+</p>
+<p>
+ Also, this site is not very useful extraterrestrially,
so I made a portable version which you can fit on your Raspberry
Pi or any device running Java. It runs in GUI mode and terminal as well.
- </p>
- <p>
- <center>
- <a href="https://git.dpolakovic.space/?p=mars-clock;a=blob;f=mars-clock.jar;h=2460a6a73d6994cad06b76d4e9dd862eb4bc75c6;hb=refs/heads/master">Download</a>
+</p>
+<p>
+<center>
+<a href="https://git.dpolakovic.space/?p=mars-clock;a=blob;f=mars-clock.jar;h=2460a6a73d6994cad06b76d4e9dd862eb4bc75c6;hb=refs/heads/master">Download</a>
(12.7kb) /
- <a href="https://git.dpolakovic.space/?p=mars-clock;a=tree;h=refs/heads/master;hb=refs/heads/master">Source code</a>
- </center>
- </p>
- <br>
- <br>
- <hr>
- <p>
- <i>
+<a href="https://git.dpolakovic.space/?p=mars-clock;a=tree;h=refs/heads/master;hb=refs/heads/master">Source code</a>
+</center>
+</p>
+<br>
+<p>
+ What about other celestial bodies in the Solar System? All relatively good
+ colonization candidates have a problem adopting a customized timekeeping
+ format due to their vastly different synodic rotation periods compared to
+ that of Earth. Homo sapiens are biologically programmed to function on a
+ 24–26-hour day. Therefore, it is much easier to implement the classic
+ Gregorian calendar with a 24-hour day and disregard the actual daylight
+ period (especially since the thin atmospheres and natural luminous intensity
+ would require artificial lighting anyway).
+</p>
+<p>
+ However, it is important to keep track of local daylight duration for technical purposes,
+ such as photovoltaic system management, energy conservation during spacewalks,
+ or monitoring surface temperature. Nasa is actually working on their custom timekeeping format
+ for future Moon missions. You can read more about it
+<a href="https://www.nist.gov/news-events/news/2024/08/what-time-it-moon">here</a>.
+</p>
+<br><br>
+<hr>
+<p>
+<i>
Mars clock is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE like aerospace engineering, tax payments and/or time travel.
- </i>
- </p>
- <br>
- </main>
+</i>
+</p>
+<br>
+</main>
- <!-- footer -->
- <footer class="footer">
+<!-- footer -->
+<footer class="footer">
Copyright <?php printYear() ?> David Polakovic -
Publications on this domain are licensed under
- <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.
- <br>
- This site uses no client side scripting. The source code is available
- <a href="https://git.dpolakovic.space/?p=my-website;a=tree">here</a>
- under
- <a href="https://www.gnu.org/licenses/gpl-3.0.en.html">GPLv3 license</a>.
- </footer>
- <br><br>
-
- </body>
- </html>
+<a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.
+<br>
+ This site uses client-side scripting. Please, read the source code
+<a href="https://git.dpolakovic.space/?p=my-website;a=tree">here</a> for more information.
+</footer>
+<br><br>
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=600, initial-scale=1">
+ <title>dpolakovic.biza</title>
+ <link rel="icon" href="./Pictures/dot.png">
+ <link rel="stylesheet" href="./Styles/styles.css">
+ <?php require_once('./php/config.php'); ?>
+ <link rel="author" href="mailto:email@dpolakovic.space">
+ <meta name="description" content="personal website and git server">
+ </head>
+ <!--
+ How did you get here???
+ -->
+ <body>
+ <!-- show pictures (banner) on top of the page -->
+ <div class="banner">
+ <p>
+ <img id="toggleImagedpo" src="./Pictures/dpolakovic.png" alt="simple">
+ <img id="toggleImageDot" src="./Pictures/dot.png" alt="website">
+ <img id="toggleImageSpace" src="./Pictures/space.png" alt="website">
+ </p>
+ <script src="clicky-images.js"></script>
+ </div>
+
+ <!-- navigation bar -->
+ <nav class="nav-bar">
+ <ul>
+ <li><a href="https://www.dpolakovic.space">Iq</a></li>
+ <li><a href="https://www.dpolakovic.space/blog.php">Ugz</a></li>
+ <li><a href="https://www.dpolakovic.space/dir.php">Web zok</a></li>
+ <li><a href="https://www.dpolakovic.space/mars-clock.php">Zadop bira dotab</a></li>
+
+ <li><?php serverStatusRo() ?></li>
+ </ul>
+ </nav>
+
+ <!-- page content -->
+ <main class="content">
+ <p>
+ <h2> Giyo tagab </h2>
+ <i> Sit ac is erken in! </i>
+ <br>
+ <br>
+ Abe rokab ela
+ <a href="./Pictures/david.jpg" class="hide-link">David</a>
+ ud al ela <i>Ro</i> ro robit
+ iv abe rabali web <i>biza</i>. Ab neli vev ag uyid gizit, ub
+ avit ab vev, ag gizit hek camib cid iv abe ladup ta.
+ Ac eluk relidek ay iv abe ugz, abe uyil lajog git ramibaf
+ ur ac aluk eca alid ud dotac al cednob.<br><br>
+ <center>
+ <img src="./Pictures/alien.png" alt="cool dancing alien" class="bee-gifs">
+ </center>
+ </p>
+ <p>
+ Ab neli vev sicu jivabz, alif uf ac hib col ir ab,
+ ac elul vev E-pipac. Ab rur abe pipac-pejab lacik gizit
+ alif ab fafac kimerem in zab taf.
+ Rek ladup eb vev abaque GPG patab rubigeb ace pipalz.
+ </p>
+ <p>
+ <center>
+ <a href="mailto:email@dpolakovic.space">email@dpolakovic.space</a>
+
+ <a href="./gpg.html">Kalibev abe GPG patab</a>
+
+ <a href="https://emailselfdefense.fsf.org/en/">(Avif vev GPG petab?)</a>
+ </center>
+ </p>
+ <p>
+ </p>
+ <br>
+ <p>
+ <a class="gif-buttons" href="https://en.wikipedia.org/wiki/Glider_(Conway%27s_Game_of_Life)">
+ <img src="./Pictures/glider2.png" alt="the glider">
+ </a>
+ <form action="https://www.paypal.com/donate" method="post" target="_top" class="gif-buttons">
+ <input type="hidden" name="hosted_button_id" value="FZ7CVXEDL3TY6" />
+ <input type="image" src="./Pictures/donate2.png" border="0" name="submit" title="PayPal - The safer, easier way to pay online!" alt="Donate with PayPal button" />
+ </form>
+ <a class="gif-buttons" href="https://git.dpolakovic.space/?p=my-website;a=tree">
+ <img src="./Pictures/sanehtml.png" alt="GIF button: html and php only">
+ </a>
+ <br>
+ </p>
+ </main>
+
+ <!-- footer -->
+ <footer class="footer">
+ Ob-rul-sob <?php printYear() ?> David Polakovic -
+ Pipalz if alz dafz hab
+ <a href="https://creativecommons.org/licenses/by-sa/4.0/">CC BY-SA 4.0</a>.
+ <br>
+ Al daf viv JavaScript. Sec, rur at
+<a href="https://git.dpolakovic.space/?p=my-website;a=tree">jedac</a> is cik rocab.
+ </footer>
+ </body>
+ </html>
<description>Some obscure thoughts caught on the Web.</description>
<language>en-us</language>
+ <item>
+ <title>This site uses client-side scripting</title>
+ <link>https://www.dpolakovic.space/blogs/javascript.html</link>
+ <description>Spooky, scary JavaScript update.</description>
+ <pubDate>Thu, 5 Jun 2025 22:00:00 GMT</pubDate>
+ <image>https://www.dpolakovic.space/blogs/pics/jst.jpg</image>
+ <pos>100% 1</pos>
+ </item>
+
+ <item>
+ <title>Stormtrooper's guide to Galaxies</title>
+ <link>https://www.dpolakovic.space/blogs/star-wars-galaxies</link>
+ <description>"You seen that new VT-16?"</description>
+ <pubDate>Wed, 26 Mar 2025 15:00:00 GMT</pubDate>
+ <image>https://www.dpolakovic.space/blogs/pics/sw5.jpg</image>
+ <pos>100% 1</pos>
+ </item>
+
<item>
<title>The Phantom Menace is good</title>
- <link>https://dpolakovic.space/blogs/phantom-menace</link>
+ <link>https://www.dpolakovic.space/blogs/phantom-menace</link>
<description>An inevitable STAR WARS rant.</description>
<pubDate>Sun, 18 Aug 2024 17:00:00 GMT</pubDate>
- <image>https://dpolakovic.space/blogs/pics/starwars26.jpg</image>
+ <image>https://www.dpolakovic.space/blogs/pics/starwars26.jpg</image>
<pos>100% 1</pos>
</item>
<item>
<title>Y292B bug</title>
- <link>https://dpolakovic.space/blogs/y292b</link>
+ <link>https://www.dpolakovic.space/blogs/y292b</link>
<description>We're doomed! Again...</description>
<pubDate>Wed, 26 Jun 2024 17:00:00 GMT</pubDate>
- <image>https://dpolakovic.space/blogs/pics/bug.jpg</image>
+ <image>https://www.dpolakovic.space/blogs/pics/bug.jpg</image>
<pos>100% 0</pos>
</item>
<item>
<title>Reproducing the printer hack of Windows 95</title>
- <link>https://dpolakovic.space/blogs/windows-95-printer-hack</link>
+ <link>https://www.dpolakovic.space/blogs/windows-95-printer-hack</link>
<description>Start me up!</description>
<pubDate>Fri, 12 Apr 2024 16:00:00 GMT</pubDate>
- <image>https://dpolakovic.space/blogs/pics/deskjet710c.jpg</image>
+ <image>https://www.dpolakovic.space/blogs/pics/deskjet710c.jpg</image>
<pos>100% 5</pos>
</item>
<item>
<title>Let's play Zork</title>
- <link>https://dpolakovic.space/blogs/zork</link>
+ <link>https://www.dpolakovic.space/blogs/zork</link>
<description>A hollow voice says "Fool".</description>
<pubDate>Fri, 24 Nov 2023 20:00:00 GMT</pubDate>
- <image>https://dpolakovic.space/blogs/pics/zork.png</image>
+ <image>https://www.dpolakovic.space/blogs/pics/zork.png</image>
<pos>100% 1</pos>
</item>
<item>
<title>On the nature of Free software</title>
- <link>https://dpolakovic.space/blogs/free-software</link>
+ <link>https://www.dpolakovic.space/blogs/free-software</link>
<description>Does your synthetic colleague pose a threat to you?</description>
<pubDate>Tue, 25 Jul 2023 20:00:00 GMT</pubDate>
- <image>https://dpolakovic.space/blogs/pics/free2.jpg</image>
+ <image>https://www.dpolakovic.space/blogs/pics/free2.jpg</image>
<pos>100% 0</pos>
</item>