Compare commits

..

34 Commits

Author SHA1 Message Date
949d476b43 templates: default: remove subdomain warning
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2025-09-04 17:00:53 +05:30
cfad9719a7 documents: cv: use italics for role
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2025-09-04 11:06:49 +05:30
67d01c2762 templates: default: update PGP signature
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2025-09-04 11:03:50 +05:30
82b7bc795e templates: cv: remove custom margin from lists
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2025-09-04 11:01:30 +05:30
9195aacab2 sticker: make it toggle-able
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2025-09-01 20:19:17 +05:30
a316bda945 sticker: add a wrapper
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2025-08-31 18:14:04 +05:30
3d03aa97e2 treewide: add sticker and format
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2025-08-31 17:57:06 +05:30
5af774f08d cv: update
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2025-08-31 17:55:23 +05:30
24ce5cd29d flake: update
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2025-08-31 17:53:26 +05:30
97f47b282c update contact and about
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2025-08-31 17:53:26 +05:30
490ed3e088 cv: update
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-11-20 22:27:02 +05:30
98e2a5c004 posts: update
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-11-20 22:09:32 +05:30
c03ad70a97 cv: change tables to lists
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-08-26 21:06:13 +05:30
8324bcc33e cv: completely rewrite how CV works here
i will kill myself

Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-08-26 20:46:12 +05:30
ba247f88d4 src: format
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-08-26 20:45:10 +05:30
7cb266782d nix: finally try haskell.nix after all these months
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-08-26 20:44:16 +05:30
2040281fcf add new PGP key to contacts
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-08-21 13:22:03 +05:30
ff98e0048d add css for footnote
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-08-21 13:21:46 +05:30
c8259e7150 cv: add hrule after section headings
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-08-09 09:52:24 +05:30
53483a6708 links: update
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-08-07 04:49:03 +05:30
75ba22464d contact: fix mail text
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-08-07 04:31:09 +05:30
3dcb311aae remove the hashicorp subdomains
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-07-26 22:51:25 +05:30
a8445e3e79 documents: update resume
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-07-25 16:12:42 +05:30
d487121f3e posts/cut-my-hair: init
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-05-09 01:38:08 +05:30
6af02d9e0e documents: update CV
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-04-29 01:52:41 +05:30
0708a4c522 css: change colors to catppuccin mocha and latte
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-04-27 19:25:30 +05:30
ea9ec55590 index: remove preview list
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-04-27 18:46:46 +05:30
bf64bc92ef dailies: remove
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-04-27 18:23:42 +05:30
3aade95b85 src: change deploy target
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-04-16 00:52:15 +05:30
9851b69c6a css: make colors simpler
needs more work

Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-04-16 00:02:33 +05:30
b2c9d4fdbd remove dailies from homepage
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-02-18 11:06:24 +05:30
55f020ed73 update license
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-01-07 10:56:04 +05:30
662c601891 more CV related changes
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-01-07 10:53:38 +05:30
849861bae2 documents: init
add cv the way jasper does it

Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2023-01-07 10:53:37 +05:30
52 changed files with 1571 additions and 827 deletions

View File

@@ -6,4 +6,4 @@ Pages by natto
* License
Software code uses the MIT license.
All the content under [[/posts/][/posts]] and [[/images/personal/][/images/personal]] uses the CC BY-NC-SA 4.0 license.
All the content under [[/posts/][/posts]], [[/documents/][/documents]] and [[/images/personal/][/images/personal]] uses the CC BY-NC-SA 4.0 license.

View File

@@ -3,12 +3,14 @@ title: About
---
* Alo
My name is Amneesh Singh but I also go as natto (or natto1784) online. I was born in the blazing hot summer of 2003 in India, where I also currently reside (just in a different region). I am currently a sophomore in college studying engineering. My major is Information Technology. I struggle with basic tasks but I can barely help that.
My name is Amneesh Singh but I also go as natto (or natto1784) online. I am 22 and from Delhi, and currently I stay in Bengaluru. I am working as a software engineer right now, particularly with embedded devices. I struggle with basic tasks but I can barely help that.
I like a lot of things, but the thing I like the most is sleeping.
I dislike particularly nothing.
#+HTML: <p>Here is my <a href="/documents/cv.html">CV</a>.
* Socials
- [[https://twitter.com/natto1784][Twitter]]
- [[https://github.com/natto1784][GitHub]]

View File

@@ -2,105 +2,117 @@
title: Contact
---
- Email :: [[mailto:natto@weirdnatto.in][natto at weirdnatto dot com]]
:: [[mailto:singh.amneesh1784@gmail.com][singh dot amneesh1784 at gmail dot com]]
:: [[mailto:natto1784@protonmail.com][natto1784 at protonmail dot com]]
- IRC Nicks :: natto
:: natto17
- LinkedIn :: [[https://www.linkedin.com/in/natto1784/][natto1784]]
- Discord :: AlpaViraam#0735
* Email
Fastest way to get to me
- [[mailto:natto@weirdnatto.in][natto at weirdnatto dot in]]
- [[mailto:me@amneesh.com][me at amneesh dot com]]
- [[mailto:amneeshsingh@proton.me][amneeshsingh at proton dot me]]
- [[mailto:natto1784@protonmail.com][natto1784 at protonmail dot com]]
- [[mailto:singh.amneesh1784@gmail.com][singh dot amneesh1784 at gmail dot com]]
* IRC Nicks
I'll probably be AFK
- natto
- natto17
* Public PGP
** Amneesh Singh <natto@weirdnatto.in>
Fingerprint: 3C4BDBE7BBF45B52C14EA193007257B05FCC86A8
** Public PGP
#+begin_src
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
BN5NULMREAE8wls=
=G5qs
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
=54fJ
-----END PGP PUBLIC KEY BLOCK-----
#+end_src
** Amneesh Singh <me@amneesh.com>
Fingerprint: 0C2FDA374F2D48D9F9F0F7788EAAB36980C424C2
#+begin_src
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEaLML1BYJKwYBBAHaRw8BAQdAzsH8B3rh7b/Y7brho6KmcT0GpBb9tP4a7wbs
mB1YXIK0HkFtbmVlc2ggU2luZ2ggPG1lQGFtbmVlc2guY29tPoiWBBMWCgA+FiEE
DC/aN08tSNn58Pd4jqqzaYDEJMIFAmizC9QCGwMFCRLMAwAFCwkIBwIGFQoJCAsC
BBYCAwECHgECF4AACgkQjqqzaYDEJMLdzAEAgNYmoRrYOusOS7bXptgLDI00VPV9
EXzgd0Grqgmho0gBAPsV/ouEemx9d2GYUJ3hJI47KWkrV9dC1r9DpTk8Ak8CuDgE
aLML1BIKKwYBBAGXVQEFAQEHQOG0Vs//mYea5BfTPv4MezyMX7e+dSASKY/Cce6x
8ORpAwEIB4h+BBgWCgAmFiEEDC/aN08tSNn58Pd4jqqzaYDEJMIFAmizC9QCGwwF
CRLMAwAACgkQjqqzaYDEJMJcigEA6Y8hWlVnuFkXCx2z347X38HBQhLFgtldqt5e
BMJGWAYA+QHFO8wFQHrgBuvqOBiG878xdE8Td3RjVlCB3OJeMvsE
=xA4Z
-----END PGP PUBLIC KEY BLOCK-----
#+end_src

View File

@@ -1,133 +1,160 @@
@font-face {
font-family: 'Arvo';
font-style: normal;
src: url('../fonts/Arvo-Regular.woff2') format('woff2');
font-family: "Arvo";
font-style: normal;
src: url("../fonts/Arvo-Regular.woff2") format("woff2");
}
@font-face {
font-family: 'Arvo';
font-family: "Arvo";
font-weight: bold;
src: url('../fonts/Arvo-Bold.woff2') format('woff2');
src: url("../fonts/Arvo-Bold.woff2") format("woff2");
}
@font-face {
font-family: 'Arvo';
font-family: "Arvo";
font-style: italic;
src: url('../fonts/Arvo-Italic.woff2') format('woff2');
src: url("../fonts/Arvo-Italic.woff2") format("woff2");
}
@font-face {
font-family: 'Arvo';
font-family: "Arvo";
font-weight: bold;
font-style: italic;
src: url('../fonts/Arvo-BoldItalic.woff2') format('woff2');
src: url("../fonts/Arvo-BoldItalic.woff2") format("woff2");
}
@font-face {
font-family: 'Lato';
font-style: normal;
src: url('../fonts/Lato-Regular.woff2') format('woff2');
font-family: "Lato";
font-style: normal;
src: url("../fonts/Lato-Regular.woff2") format("woff2");
}
@font-face {
font-family: 'Lato';
font-family: "Lato";
font-weight: bold;
src: url('../fonts/Lato-Bold.woff2') format('woff2');
src: url("../fonts/Lato-Bold.woff2") format("woff2");
}
@font-face {
font-family: 'Lato';
font-family: "Lato";
font-style: italic;
src: url('../fonts/Lato-Italic.woff2') format('woff2');
src: url("../fonts/Lato-Italic.woff2") format("woff2");
}
@font-face {
font-family: 'Lato';
font-family: "Lato";
font-weight: bold;
font-style: italic;
src: url('../fonts/Lato-BoldItalic.woff2') format('woff2');
src: url("../fonts/Lato-BoldItalic.woff2") format("woff2");
}
@font-face {
font-family: 'Quantico';
font-style: normal;
src: url('../fonts/Quantico-Regular.woff2') format('woff2');
font-family: "Quantico";
font-style: normal;
src: url("../fonts/Quantico-Regular.woff2") format("woff2");
}
@font-face {
font-family: 'Quantico';
font-family: "Quantico";
font-weight: bold;
src: url('../fonts/Quantico-Bold.woff2') format('woff2');
src: url("../fonts/Quantico-Bold.woff2") format("woff2");
}
@font-face {
font-family: 'Quantico';
font-family: "Quantico";
font-style: italic;
src: url('../fonts/Quantico-Italic.woff2') format('woff2');
src: url("../fonts/Quantico-Italic.woff2") format("woff2");
}
@font-face {
font-family: 'Quantico';
font-family: "Quantico";
font-weight: bold;
font-style: italic;
src: url('../fonts/Quantico-BoldItalic.woff2') format('woff2');
src: url("../fonts/Quantico-BoldItalic.woff2") format("woff2");
}
@font-family {
font-family: 'Monoid';
src: url('../fonts/Monoid-Regular.woff2') format('woff2');
font-family: "Monoid";
font-style: normal;
src: url("../fonts/Monoid-Regular.woff2") format("woff2");
}
@font-face {
font-family: 'Monoid';
font-family: "Monoid";
font-weight: bold;
src: url('../fonts/Monoid-Bold.woff2') format('woff2'),
src: url("../fonts/Monoid-Bold.woff2") format("woff2");
}
@font-family {
font-family: 'Monoid';
font-family: "Monoid";
font-style: italic;
src: url('../fonts/Monoid-Italic.woff2') format('woff2');
src: url("../fonts/Monoid-Italic.woff2") format("woff2");
}
:root {
--yellow: #b58900;
--orange: #cb4b16;
--red: #dc322f;
--magenta: #d33682;
--violet: #6c71c4;
--blue: #268bd2;
--cyan: #2aa198;
--green: #859900;
--fg0: #93a1a1;
--fg1: #839496;
--fg2: #657b83;
--fg3: #586e75;
--fg4: #073642;
--fg5: #002b36;
--bg0: #fdf6e3 ;
--bg1: #eee8d5;
--dark: #002b36;
--light: #fdf6e3;
--rosewater: #dc8a78;
--flamingo: #dd7878;
--pink: #ea76cb;
--mauve: #8839ef;
--red: #d20f39;
--maroon: #e64553;
--peach: #fe640b;
--yellow: #df8e1d;
--green: #40a02b;
--teal: #179299;
--sky: #04a5e5;
--sapphire: #209fb5;
--blue: #1e66f5;
--lavender: #7287fd;
--text: #4c4f69;
--subtext1: #5c5f77;
--subtext0: #6c6f85;
--overlay2: #7c7f93;
--overlay1: #8c8fa1;
--overlay0: #9ca0b0;
--surface2: #acb0be;
--surface1: #bcc0cc;
--surface0: #ccd0da;
--crust: #dce0e8;
--mantle: #e6e9ef;
--base: #eff1f5;
}
@media (prefers-color-scheme: dark) {
:root {
--bg0: #073642;
--bg1: #002b36;
--fg5: #fdf6e3 ;
--fg4: #eee8d5;
--fg3: #93a1a1;
--fg2: #839496;
--fg1: #657b83;
--fg0: #586e75;
}
--rosewater: #f5e0dc;
--flamingo: #f2cdcd;
--pink: #f5c2e7;
--mauve: #cba6f7;
--red: #f38ba8;
--maroon: #eba0ac;
--peach: #fab387;
--yellow: #f9e2af;
--green: #a6e3a1;
--teal: #94e2d5;
--sky: #89dceb;
--sapphire: #74c7ec;
--blue: #89b4fa;
--lavender: #b4befe;
--text: #cdd6f4;
--subtext1: #bac2de;
--subtext0: #a6adc8;
--overlay2: #9399b2;
--overlay1: #7f849c;
--overlay0: #6c7086;
--surface2: #585b70;
--surface1: #45475a;
--surface0: #313244;
--base: #1e1e2e;
--mantle: #181825;
--crust: #11111b;
}
}
html {
font-size: 62.5%;
background-color: var(--bg0);
color: var(--fg2);
background-color: var(--base);
color: var(--subtext0);
}
body {
@@ -136,30 +163,40 @@ body {
word-wrap: break-word;
}
h1, h2, h3 {
color: var(--fg3);
h1,
h2,
h3 {
color: var(--overlay2);
}
h1, h2, h3, h4, h5, h6 {
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: "Arvo", serif;
font-weight: normal;
}
header {
border-bottom: 0.2rem solid var(--magenta);
border-bottom: 0.2rem solid var(--pink);
margin: 4.2rem 0;
}
main a, footer a {
color: var(--blue);
main a,
footer a {
color: var(--sky);
}
main a:hover, footer a:hover{
color: var(--light);
background: var(--blue);
main a:not(.footnote-ref):hover,
main .footnote-ref *:hover,
footer a:hover {
color: var(--base);
background: var(--sky);
}
.subdomains li a:hover {
#subdomains li a:hover {
background: none !important;
}
@@ -168,34 +205,38 @@ a {
font-family: "Quantico", monospace;
}
a:hover {
a:hover,
a *:hover {
transition-duration: 0.1s;
}
nav {
display: flex;
flex-direction: row;
text-align: center;
justify-content: center;
margin: 0 auto 3rem;
}
nav a {
font-size: 2rem;
font-weight: bold;
color: var(--cyan);
color: var(--sapphire);
text-transform: uppercase;
padding: 0.5rem;
}
nav a:hover {
background: var(--cyan);
color: var(--dark);
background: var(--sapphire);
color: var(--base);
}
footer {
margin-top: 3rem;
padding: 1.2rem 0;
border-top: 0.2rem solid var(--magenta);
border-top: 0.2rem solid var(--pink);
font-size: 1.2rem;
color: var(--fg0);
color: var(--text);
}
h1 {
@@ -206,41 +247,27 @@ h2 {
font-size: 2rem;
}
.post-preview-item {
list-style-type: none;
padding: 2rem;
border: 0.2rem ridge var(--fg5);
}
.post-preview-item:not(:last-child) {
margin-bottom: 3rem;
}
.post-title {
text-align: center;
color: var(--fg5) !important;
color: var(--subtext1);
}
article .post-header {
font-size: 1.4rem;
font-style: italic;
color: var(--fg0);
color: var(--text);
}
.logo {
#nattopages {
text-align: center;
margin: 1rem auto 3rem;
}
.logo a:hover {
transform: rotate(180deg);
}
.logo a {
#nattopages a {
font-weight: bold;
font-family: "Monoid";
font-size: 3rem;
color: var(--green);
color: var(--overlay2);
text-decoration: none;
}
@@ -258,26 +285,27 @@ article > section {
}
.verbatim {
background: var(--bg1);
background: var(--mantle);
}
pre {
font-family: 'Monoid', monospace;
font-family: "Monoid", monospace;
padding: 2rem;
border-radius: 1rem;
border-left: 0.5rem solid var(--cyan);
background: var(--bg1);
border-left: 0.5rem solid var(--sapphire);
background: var(--mantle);
overflow-x: auto;
}
.toc {
background: var(--bg1);
background: var(--mantle);
border-radius: 1rem;
float: right;
max-width: 40%;
float: none;
width: max-content;
}
img, video {
img,
video {
max-width: 100%;
}
@@ -285,7 +313,7 @@ img, video {
max-width: 100%;
position: relative;
height: 0;
padding-bottom: 56.25%
padding-bottom: 56.25%;
}
.iframe-parent iframe {
@@ -296,19 +324,55 @@ img, video {
height: 100%;
}
#sticker {
bottom: -2em;
left: -2em;
position: fixed;
z-index: 9999;
transform: rotate(45deg);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
#sticker label:hover {
cursor: pointer;
}
#sticker-toggle {
display: none;
}
#sticker-toggle:checked ~ #sticker {
bottom: 1em;
left: 1em;
}
#sticker-toggle:checked ~ #sticker img {
display: none;
}
@media (max-width: 319px) {
body {
width: 90%;
margin: 0;
padding: 0 5%;
}
footer {
text-align: center;
}
nav {
flex-direction: column;
}
nav a {
display: block;
line-height: 1.6;
}
.toc {
padding: 1rem;
}
@@ -320,31 +384,47 @@ img, video {
margin: 0;
padding: 0 5%;
}
footer {
text-align: center;
}
nav a {
display: inline;
margin: 0 0.6rem;
}
.toc {
padding: 1rem;
}
}
@media (max-width: 639px) {
#sticker {
display: none;
}
nav {
flex-direction: column;
}
}
@media (min-width: 640px) {
body {
width: 60%;
margin: 0 auto;
padding: 0;
}
nav a {
margin: 0 0 0 1.2rem;
display: inline;
}
footer {
text-align: right;
}
.toc {
padding: 2rem;
}

View File

@@ -1,30 +1,97 @@
pre code { color: var(--fg2); }
code span.kw { color: var(--green); } /* Keyword */
code span.dt { color: var(--yellow); } /* DataType */
code span.dv { color: var(--cyan); } /* DecVal */
code span.bn { color: var(--cyan); } /* BaseN */
code span.fl { color: var(--cyan); } /* Float */
code span.ch { color: var(--cyan); } /* Char */
code span.st { color: var(--cyan); } /* String */
code span.co { color: var(--fg0); font-style: italic; } /* Comment */
code span.ot { color: var(--blue); } /* Other */
code span.al { color: var(--red); } /* Alert */
code span.fu { color: var(--blue); } /* Function */
code span.cn { color: var(--cyan); } /* Constant */
code span.sc { color: var(--red); } /* SpecialChar */
code span.vs { color: var(--fg2); } /* VerbatimString */
code span.ss { color: var(--red); } /* SpecialString */
code span.im { color: var(--fg2); } /* Import */
code span.va { color: var(--blue); } /* Variable */
code span.cf { color: var(--green); } /* ControlFlow */
code span.op { color: var(--green); } /* Operator */
code span.bu { color: var(--fg2); } /* BuiltIn */
code span.ex { color: var(--fg2); } /* Extension */
code span.pp { color: var(--orange); } /* Preprocessor */
code span.at { color: var(--fg2); } /* Attribute */
code span.er { color: var(--red); } /* Error */
code span.wa { color: var(--orange); font-style: italic; } /* Warning */
code span.do { color: var(--fg0); font-style: italic; } /* Documentation */
code span.an { color: var(--fg0); font-style: italic; } /* Annotation */
code span.cv { color: var(--fg0); font-style: italic; } /* CommentVar */
code span.in { color: var(--fg0); font-weight:normal; font-style: normal; } /* Information */
pre code {
color: var(--subtext0);
}
code span.kw {
color: var(--green);
} /* Keyword */
code span.dt {
color: var(--yellow);
} /* DataType */
code span.dv {
color: var(--sapphire);
} /* DecVal */
code span.bn {
color: var(--sapphire);
} /* BaseN */
code span.fl {
color: var(--sapphire);
} /* Float */
code span.ch {
color: var(--sapphire);
} /* Char */
code span.st {
color: var(--sapphire);
} /* String */
code span.co {
color: var(--text);
font-style: italic;
} /* Comment */
code span.ot {
color: var(--sky);
} /* Other */
code span.al {
color: var(--maroon);
} /* Alert */
code span.fu {
color: var(--sky);
} /* Function */
code span.cn {
color: var(--sapphire);
} /* Constant */
code span.sc {
color: var(--maroon);
} /* SpecialChar */
code span.vs {
color: var(--subtext0);
} /* VerbatimString */
code span.ss {
color: var(--maroon);
} /* SpecialString */
code span.im {
color: var(--subtext0);
} /* Import */
code span.va {
color: var(--sky);
} /* Variable */
code span.cf {
color: var(--green);
} /* ControlFlow */
code span.op {
color: var(--green);
} /* Operator */
code span.bu {
color: var(--subtext0);
} /* BuiltIn */
code span.ex {
color: var(--subtext0);
} /* Extension */
code span.pp {
color: var(--peach);
} /* Preprocessor */
code span.at {
color: var(--subtext0);
} /* Attribute */
code span.er {
color: var(--maroon);
} /* Error */
code span.wa {
color: var(--peach);
font-style: italic;
} /* Warning */
code span.do {
color: var(--text);
font-style: italic;
} /* Documentation */
code span.an {
color: var(--text);
font-style: italic;
} /* Annotation */
code span.cv {
color: var(--text);
font-style: italic;
} /* CommentVar */
code span.in {
color: var(--text);
font-weight: normal;
font-style: normal;
} /* Information */

View File

@@ -1,29 +0,0 @@
---
title: "Daily #1"
author: natto
published: October 29, 2022
---
* Hm?
Doing chores sucks but errands suck more. Also self hosting shit sucks, but I do it anyway.
* Image of the Day
#+ATTR_HTML: :alt Bro thinks he GettyImages 💀
[[https://f.weirdnatto.in/sshb-modinazisalute.png]]
* Video of the Day
#+begin_export html
<video controls>
<source src="https://f.weirdnatto.in/ZOUJ-osakasohigh.mp4" type="video/mp4">
</video>
#+end_export
* Song of the Day
Been loving this one since my early adolescence.
#+begin_export html
<div class="iframe-parent">
<iframe src="https://youtube.com/embed/mGnJm0qIpFw" />
</div>
#+end_export
* Thought of the Day
Big tech companies are dying, the American century is over. The Chinese century is upon us, long live the CCP.

View File

@@ -1,30 +0,0 @@
---
title: "Daily #2"
author: natto
published: October 30, 2022
---
* Hm?
I have really shitty internet bandwidth and I have a lot of work pending (that does not involve internet).
* Image of the Day
#+ATTR_HTML: :alt Your dreams and hopes are incompatible with reality.
[[http://f.weirdnatto.in/3eW6-dreams.png]]
* Video of the Day
#+begin_export html
MEGU MEGU FIRE ENDLESS NIGHT SOSHITE MOTTO MOTTO ATSUKU NARE FEVER
<div class="iframe-parent">
<iframe src="https://youtube.com/embed/N6FfOevhA10" />
</div>
#+end_export
* Song of the Day
Sofia Vempo's version/cover of Misirlou
#+begin_export html
<div class="iframe-parent">
<iframe src="https://youtube.com/embed/8myXQRe-WcY" />
</div>
#+end_export
* Thought of the Day
Everyone on the internet is a loser (including me). Shit sucks.

View File

@@ -1,28 +0,0 @@
---
title: "Daily #3"
author: natto
published: November 01, 2022
---
* Hm?
College sucks, it makes me eepy.
* Image of the Day
#+ATTR_HTML: :alt LLVM
[[https://f.weirdnatto.in/oqKU-llvm.jpg]]
* Video of the Day
#+begin_export html
<video controls>
<source src="https://f.weirdnatto.in/Kf6o-bengalibee.webm" type="video/webm">
</video>
#+end_export
* Song of the Day
#+begin_export html
<div class="iframe-parent">
<iframe src="https://youtube.com/embed/N-cU-M_tX68" />
</div>
#+end_export
* Thought of the Day
Why do people like to photograph every living moment of a trivial event? It feels unnecessary and stupid.

View File

@@ -1,30 +0,0 @@
---
title: "Daily #4"
author: natto
published: November 02, 2022
---
* Hm?
I really am a midwit.
* Image of the Day
Red and black, I dress eagle on my chest
#+ATTR_HTML: :alt Red and black, I dress eagle on my chest
[[https://f.weirdnatto.in/EXrJ-albaniagdp.jpg]]
* Video of the Day
Welcome!
#+begin_export html
<video controls>
<source src="https://f.weirdnatto.in/ftNe-myhouse.mp4" type="video/mp4">
</video>
#+end_export
* Song of the Day
#+begin_export html
<div class="iframe-parent">
<iframe src="https://youtube.com/embed/Nfql0PyA8D0" />
</div>
#+end_export
* Thought of the Day
People show empathy towards animals and kids for obvious reasons (they cannot hurt their pride) but why do they fail to do the same for a complete stranger?

View File

@@ -1,29 +0,0 @@
---
title: "Daily #5"
author: natto
published: November 12, 2022
---
* Hm?
Gitea is going company-mode (emacs pun intended), I am not sure whether to continue using it. Also I should look into completing the query-stats featureset in libvirt whenevr I get time.
* Image of the Day
#+ATTR_HTML: :alt we reap what we sow
[[https://f.weirdnatto.in/Q0Wa-we-reap-what-we-sow-cat.gif]]
* Video of the Day
#+begin_export html
<video controls>
<source src="https://f.weirdnatto.in/z1eU-a2.mp4" type="video/mp4">
</video>
#+end_export
* Song of the Day
#+begin_export html
My comfort song of all time
<div class="iframe-parent">
<iframe src="https://youtube.com/embed/2A-zCEMyNV4" />
</div>
#+end_export
* Thought of the Day
Black and white is sometimes better than looking beyond it.

View File

@@ -1,29 +0,0 @@
---
title: "Daily #6"
author: natto
published: December 06, 2022
---
* Hm?
I really should be doing all the pending necessary work.
* Image of the Day
#+ATTR_HTML: :alt You should grow yourself, NOW!
[[https://f.weirdnatto.in/kiKc-grow.jpg]]
* Video of the Day
#+begin_export html
<video controls>
<source src="https://f.weirdnatto.in/t73H-luka.mp4" type="video/mp4">
</video>
#+end_export
* Music of the Day
#+begin_export html
<div class="iframe-parent">
<iframe src="https://youtube.com/embed/wGrGln_eE8I" />
</div>
#+end_export
* Thought of the Day
Everything is so exhausting, I refuse to think for today's thought.

View File

@@ -1,27 +0,0 @@
---
title: "Daily #7"
author: natto
published: December 22, 2022
---
* Hm?
I really, REALLY should be doing all the pending necessary work.
* Video of the Day
#+begin_export html
<video controls>
<source src="https://f.weirdnatto.in/j3Kl-apdhillon.mp4" type="video/mp4">
</video>
#+end_export
* Music of the Day
#+begin_export html
<div class="iframe-parent">
<iframe src="https://youtube.com/embed/28yqd9Bf3OQ" />
</div>
<div class="iframe-parent">
<iframe src="https://youtube.com/embed/QZQQc4Z1rHo" />
</div>
#+end_export
* Thought of the Day
Life should only have two milestones, birth and death.

69
documents/cv.org Normal file
View File

@@ -0,0 +1,69 @@
---
title: Curriculum Vitae
---
#+MACRO: SMALL \mdseries\smaller @@html:<small>@@ /$1/ @@html:</small>@@
#+MACRO: RIGHT \hfill @@html:<span style="float:right">@@ $1 @@html:</span>@@
#+MACRO: TRULE \titlerule @@html:<hr />@@
#+HTML: <h1>Curriculum Vitae</h1>Go <a href="/documents/cv.pdf">here</a> for the pdf.<hr>
* Amneesh Singh
{{{TRULE}}}
| Email | : | [[mailto:amneeshsingh@proton.me][amneeshsingh at proton dot me]] - [[mailto:me@amneesh.com][me at amneesh dot com]] - [[mailto:natto@weirdnatto.in][natto at weirdnatto dot in]] |
| Homepage | : | [[https://weirdnatto.in][weirdnatto.in]] - [[https://amneesh.com][amneesh.com]] |
| GitHub | : | [[https://github.com/natto1784/][natto1784]] |
* Work Experience
{{{TRULE}}}
** Texas Instruments, Bengaluru
/Embedded Software Engineer/ {{{RIGHT(/Aug 2025 - Present/)}}}
- Working with Sitara RTOS team
- Working on SDHC driver for ZephyrOS
/Embedded Software Engineer Intern/ {{{RIGHT(/Feb 2025 - July 2025/)}}}
- Added AM64x/AM243x Cortex-R and Cortex-M support for ZephyrOS
- Wrote ADC, SPI, EPWM, ECAP and NOR Flash device drivers for ZephyrOS
/Embedded Software Engineer Intern/ {{{RIGHT(/July 2024 - Sept 2024/)}}}
- Tested various Xen features on K3 with Linux and ZephyrOS
- Wrote Yocto recipes for enabling Xen on K3
- Enabled Xen on baremetal and freertos binaries
- Wrote sample inter-VM communication programs using shared memory and event channels
** Cypherock, Gurugram (Hybrid)
/Software Engineer Intern/ {{{RIGHT(/June 2023 - Sept 2023/)}}}
- Worked on the firmware apps in C
- Worked on the Electron side of things in Typescript
- [[https://github.com/Cypherock/MPC-TSS/tree/main][Implemented]] the sockets based PoC for an MPC based threshold signing scheme
** TurboML, Remote
/Software Engineer Intern/ {{{RIGHT(/November 2023/)}}}
- Worked on the deployment side of things involving docker and nomad
* Student Programs, Scholarships, Examinations
{{{TRULE}}}
- *Google Summer of Code 2022* | {{{SMALL(C - GLib - Git)}}}
I participated as a contributor in [[https://summerofcode.withgoogle.com/archive/2022][Google Summer of Code 2022]] at [[https://libvirt.org][libvirt]] and got paid a stipend for it by Google. The project involved adding the new introspectable statistics provided by QEMU and adding them under the libvirt statistics API.
- NOC: Foundations of Cryptography, IIIT Bangalore, NPTEL {{{RIGHT(/May 2022/)}}}
- NOC: Computer Architecture, IIT Delhi, NPTEL - {{{RIGHT(/May 2022/)}}}
* Education
{{{TRULE}}}
** B.Tech, Information Technology
Maharaja Agrasen Institute of Technology {{{RIGHT(/(2021 - 2025)\, 8.6GPA/)}}}
* Skills
{{{TRULE}}}
** Programming Languages
- *Proficient*: C/C++, Rust, Python, Javascript
- *Experienced*: Lisp, Haskell, PHP, Java, Lua, Go, x86-Assembly, ARM-Assembly
** Tools
- *General*: GNU/Linux, Nix/NixOS, Xen, POSIX shells, TeX, Git, ffmpeg
- *DevOps*: Docker, Nomad, Consul, Vault, Terraform, ConcourseCI, GitHub Actions, nginx, OCI
- *Embedded*: ZephyrOS, Yocto, Baremetal, FreeRTOS, Device Driver Development
** Soft Skills
- *Languages*: Hindi, Punjabi, English
- *Hobbies*: Home server/lab, Writing, Philosophy

616
flake.lock generated
View File

@@ -1,34 +1,624 @@
{
"nodes": {
"nixpkgs": {
"HTTP": {
"flake": false,
"locked": {
"lastModified": 1666393929,
"narHash": "sha256-Tet6WIaK0NaeNmr+0ayIkHEauuKde+Tv3X+giSQB6wE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "7a0b1f3b9549507ba45339178221e6494f5ab6d7",
"lastModified": 1451647621,
"narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=",
"owner": "phadej",
"repo": "HTTP",
"rev": "9bc0996d412fef1787449d841277ef663ad9a915",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "release-22.05",
"owner": "phadej",
"repo": "HTTP",
"type": "github"
}
},
"cabal-32": {
"flake": false,
"locked": {
"lastModified": 1603716527,
"narHash": "sha256-X0TFfdD4KZpwl0Zr6x+PLxUt/VyKQfX7ylXHdmZIL+w=",
"owner": "haskell",
"repo": "cabal",
"rev": "48bf10787e27364730dd37a42b603cee8d6af7ee",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "3.2",
"repo": "cabal",
"type": "github"
}
},
"cabal-34": {
"flake": false,
"locked": {
"lastModified": 1645834128,
"narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=",
"owner": "haskell",
"repo": "cabal",
"rev": "5ff598c67f53f7c4f48e31d722ba37172230c462",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "3.4",
"repo": "cabal",
"type": "github"
}
},
"cabal-36": {
"flake": false,
"locked": {
"lastModified": 1669081697,
"narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=",
"owner": "haskell",
"repo": "cabal",
"rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "3.6",
"repo": "cabal",
"type": "github"
}
},
"cardano-shell": {
"flake": false,
"locked": {
"lastModified": 1608537748,
"narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=",
"owner": "input-output-hk",
"repo": "cardano-shell",
"rev": "9392c75087cb9a3d453998f4230930dea3a95725",
"type": "github"
},
"original": {
"owner": "input-output-hk",
"repo": "cardano-shell",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1672831974,
"narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=",
"owner": "input-output-hk",
"repo": "flake-compat",
"rev": "45f2638735f8cdc40fe302742b79f248d23eb368",
"type": "github"
},
"original": {
"owner": "input-output-hk",
"ref": "hkm/gitlab-fix",
"repo": "flake-compat",
"type": "github"
}
},
"hackage": {
"flake": false,
"locked": {
"lastModified": 1756600676,
"narHash": "sha256-jwu+nyaVHxJzgDJMJjZ6ZJ7kR/Tc0Zd+kj0TnbhXzwU=",
"owner": "input-output-hk",
"repo": "hackage.nix",
"rev": "e020d73db65a3077ed216941a682ac8de3722cd2",
"type": "github"
},
"original": {
"owner": "input-output-hk",
"repo": "hackage.nix",
"type": "github"
}
},
"hackage-for-stackage": {
"flake": false,
"locked": {
"lastModified": 1756600075,
"narHash": "sha256-rCDhCCWoNPbNM92s+Cy2ynLsy26GLwaT0cNgttbHbTY=",
"owner": "input-output-hk",
"repo": "hackage.nix",
"rev": "cfc1ade34a20cf02b8da122c7c13dc8402cff0e1",
"type": "github"
},
"original": {
"owner": "input-output-hk",
"ref": "for-stackage",
"repo": "hackage.nix",
"type": "github"
}
},
"hackage-internal": {
"flake": false,
"locked": {
"lastModified": 1750307553,
"narHash": "sha256-iiafNoeLHwlSLQTyvy8nPe2t6g5AV4PPcpMeH/2/DLs=",
"owner": "input-output-hk",
"repo": "hackage.nix",
"rev": "f7867baa8817fab296528f4a4ec39d1c7c4da4f3",
"type": "github"
},
"original": {
"owner": "input-output-hk",
"repo": "hackage.nix",
"type": "github"
}
},
"hls": {
"flake": false,
"locked": {
"lastModified": 1741604408,
"narHash": "sha256-tuq3+Ip70yu89GswZ7DSINBpwRprnWnl6xDYnS4GOsc=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "682d6894c94087da5e566771f25311c47e145359",
"type": "github"
},
"original": {
"owner": "haskell",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-1.10": {
"flake": false,
"locked": {
"lastModified": 1680000865,
"narHash": "sha256-rc7iiUAcrHxwRM/s0ErEsSPxOR3u8t7DvFeWlMycWgo=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "b08691db779f7a35ff322b71e72a12f6e3376fd9",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "1.10.0.0",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-2.0": {
"flake": false,
"locked": {
"lastModified": 1687698105,
"narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "783905f211ac63edf982dd1889c671653327e441",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "2.0.0.1",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-2.10": {
"flake": false,
"locked": {
"lastModified": 1743069404,
"narHash": "sha256-q4kDFyJDDeoGqfEtrZRx4iqMVEC2MOzCToWsFY+TOzY=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "2318c61db3a01e03700bd4b05665662929b7fe8b",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "2.10.0.0",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-2.11": {
"flake": false,
"locked": {
"lastModified": 1747306193,
"narHash": "sha256-/MmtpF8+FyQlwfKHqHK05BdsxC9LHV70d/FiMM7pzBM=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "46ef4523ea4949f47f6d2752476239f1c6d806fe",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "2.11.0.0",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-2.2": {
"flake": false,
"locked": {
"lastModified": 1693064058,
"narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "2.2.0.0",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-2.3": {
"flake": false,
"locked": {
"lastModified": 1695910642,
"narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "2.3.0.0",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-2.4": {
"flake": false,
"locked": {
"lastModified": 1699862708,
"narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "2.4.0.1",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-2.5": {
"flake": false,
"locked": {
"lastModified": 1701080174,
"narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "27f8c3d3892e38edaef5bea3870161815c4d014c",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "2.5.0.0",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-2.6": {
"flake": false,
"locked": {
"lastModified": 1705325287,
"narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "2.6.0.0",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-2.7": {
"flake": false,
"locked": {
"lastModified": 1708965829,
"narHash": "sha256-LfJ+TBcBFq/XKoiNI7pc4VoHg4WmuzsFxYJ3Fu+Jf+M=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "50322b0a4aefb27adc5ec42f5055aaa8f8e38001",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "2.7.0.0",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-2.8": {
"flake": false,
"locked": {
"lastModified": 1715153580,
"narHash": "sha256-Vi/iUt2pWyUJlo9VrYgTcbRviWE0cFO6rmGi9rmALw0=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "dd1be1beb16700de59e0d6801957290bcf956a0a",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "2.8.0.0",
"repo": "haskell-language-server",
"type": "github"
}
},
"hls-2.9": {
"flake": false,
"locked": {
"lastModified": 1719993701,
"narHash": "sha256-wy348++MiMm/xwtI9M3vVpqj2qfGgnDcZIGXw8sF1sA=",
"owner": "haskell",
"repo": "haskell-language-server",
"rev": "90319a7e62ab93ab65a95f8f2bcf537e34dae76a",
"type": "github"
},
"original": {
"owner": "haskell",
"ref": "2.9.0.1",
"repo": "haskell-language-server",
"type": "github"
}
},
"hnix": {
"inputs": {
"HTTP": "HTTP",
"cabal-32": "cabal-32",
"cabal-34": "cabal-34",
"cabal-36": "cabal-36",
"cardano-shell": "cardano-shell",
"flake-compat": "flake-compat",
"hackage": "hackage",
"hackage-for-stackage": "hackage-for-stackage",
"hackage-internal": "hackage-internal",
"hls": "hls",
"hls-1.10": "hls-1.10",
"hls-2.0": "hls-2.0",
"hls-2.10": "hls-2.10",
"hls-2.11": "hls-2.11",
"hls-2.2": "hls-2.2",
"hls-2.3": "hls-2.3",
"hls-2.4": "hls-2.4",
"hls-2.5": "hls-2.5",
"hls-2.6": "hls-2.6",
"hls-2.7": "hls-2.7",
"hls-2.8": "hls-2.8",
"hls-2.9": "hls-2.9",
"hpc-coveralls": "hpc-coveralls",
"iserv-proxy": "iserv-proxy",
"nixpkgs": [
"hnix",
"nixpkgs-unstable"
],
"nixpkgs-2305": "nixpkgs-2305",
"nixpkgs-2311": "nixpkgs-2311",
"nixpkgs-2405": "nixpkgs-2405",
"nixpkgs-2411": "nixpkgs-2411",
"nixpkgs-2505": "nixpkgs-2505",
"nixpkgs-unstable": "nixpkgs-unstable",
"old-ghc-nix": "old-ghc-nix",
"stackage": "stackage"
},
"locked": {
"lastModified": 1756601532,
"narHash": "sha256-r6p+T14ZlXEDVGml9scgfz7SFq03vOdnOVpDi/muAr8=",
"owner": "input-output-hk",
"repo": "haskell.nix",
"rev": "c3380cc02d0e5249b6c1b609833135b95a610af9",
"type": "github"
},
"original": {
"owner": "input-output-hk",
"repo": "haskell.nix",
"type": "github"
}
},
"hpc-coveralls": {
"flake": false,
"locked": {
"lastModified": 1607498076,
"narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=",
"owner": "sevanspowell",
"repo": "hpc-coveralls",
"rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430",
"type": "github"
},
"original": {
"owner": "sevanspowell",
"repo": "hpc-coveralls",
"type": "github"
}
},
"iserv-proxy": {
"flake": false,
"locked": {
"lastModified": 1755243078,
"narHash": "sha256-GLbl1YaohKdpzZVJFRdcI1O1oE3F3uBer4lFv3Yy0l8=",
"owner": "stable-haskell",
"repo": "iserv-proxy",
"rev": "150605195cb7183a6fb7bed82f23fedf37c6f52a",
"type": "github"
},
"original": {
"owner": "stable-haskell",
"ref": "iserv-syms",
"repo": "iserv-proxy",
"type": "github"
}
},
"nixpkgs-2305": {
"locked": {
"lastModified": 1705033721,
"narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-23.05-darwin",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-2311": {
"locked": {
"lastModified": 1719957072,
"narHash": "sha256-gvFhEf5nszouwLAkT9nWsDzocUTqLWHuL++dvNjMp9I=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "7144d6241f02d171d25fba3edeaf15e0f2592105",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-23.11-darwin",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-2405": {
"locked": {
"lastModified": 1735564410,
"narHash": "sha256-HB/FA0+1gpSs8+/boEavrGJH+Eq08/R2wWNph1sM1Dg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1e7a8f391f1a490460760065fa0630b5520f9cf8",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-24.05-darwin",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-2411": {
"locked": {
"lastModified": 1748037224,
"narHash": "sha256-92vihpZr6dwEMV6g98M5kHZIttrWahb9iRPBm1atcPk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f09dede81861f3a83f7f06641ead34f02f37597f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-24.11-darwin",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-2505": {
"locked": {
"lastModified": 1754477006,
"narHash": "sha256-suIgZZHXdb4ca9nN4MIcmdjeN+ZWsTwCtYAG4HExqAo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4896699973299bffae27d0d9828226983544d9e9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-25.05-darwin",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1754393734,
"narHash": "sha256-fbnmAwTQkuXHKBlcL5Nq1sMAzd3GFqCOQgEQw6Hy0Ak=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a683adc19ff5228af548c6539dbc3440509bfed3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"old-ghc-nix": {
"flake": false,
"locked": {
"lastModified": 1631092763,
"narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=",
"owner": "angerman",
"repo": "old-ghc-nix",
"rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8",
"type": "github"
},
"original": {
"owner": "angerman",
"ref": "master",
"repo": "old-ghc-nix",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs",
"hnix": "hnix",
"nixpkgs": [
"hnix",
"nixpkgs"
],
"utils": "utils"
}
},
"utils": {
"stackage": {
"flake": false,
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"lastModified": 1756599261,
"narHash": "sha256-q5bRMT/Zr/hzXT1q8yDzPDsthgVIn6KLTa9Uens2oWo=",
"owner": "input-output-hk",
"repo": "stackage.nix",
"rev": "1ae535ce067096a08308b6884e70a634a16ee8d0",
"type": "github"
},
"original": {
"owner": "input-output-hk",
"repo": "stackage.nix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {

110
flake.nix
View File

@@ -2,58 +2,76 @@
description = "My personal website";
inputs = {
nixpkgs.url = github:nixos/nixpkgs/release-22.05;
utils.url = github:numtide/flake-utils;
nixpkgs.follows = "hnix/nixpkgs";
hnix.url = "github:input-output-hk/haskell.nix";
utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, utils }:
utils.lib.eachDefaultSystem
(system:
let
pkgs = import nixpkgs {
inherit system;
};
outputs =
{
self,
nixpkgs,
utils,
hnix,
}:
utils.lib.eachDefaultSystem (
system:
let
overlays = [
hnix.overlay
];
inherit (pkgs.lib.sources) cleanSource;
pkgs = import nixpkgs {
inherit system overlays;
inherit (hnix) config;
};
vars = pkgs.lib.mapAttrsToList (n: v: "export ${n}=${v}") {
LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
LANG = "en_US.UTF-8";
};
nattopages = pkgs.haskell-nix.hix.project {
src = ./src;
compiler-nix-name = "ghc948";
};
site = pkgs.haskellPackages.developPackage {
name = "nattopages-site";
root = ./src;
};
nattopages = pkgs.stdenv.mkDerivation {
name = "nattopages";
src = cleanSource ./.;
phases = "unpackPhase buildPhase";
nativeBuildInputs = [ site ];
buildPhase = (pkgs.lib.concatStringsSep "\n" vars) + "\n" +
''
site build
mkdir -p $out
cp -r _site/* $out
'';
};
in
rec {
devShell = with pkgs.haskellPackages; shellFor {
packages = _: [ site ];
withHoogle = true;
buildInputs = [
flake = nattopages.flake { };
in
flake
// rec {
packages.default = flake.packages."nattopages:exe:site";
devShells.default =
with pkgs;
mkShell {
buildInputs = with pkgs; [
cabal-install
haskell-language-server
ghcid
site
haskellPackages.fourmolu
prettier
(texlive.combine {
inherit (texlive)
scheme-small
fontspec
enumitem
parskip
hyperref
standalone
relsize
titlesec
;
})
packages.default
];
SSHTARGET = "bat@weirdnatto.in:/var/lib/site/";
SSHTARGETPORT = 22002;
};
packages = {
inherit nattopages site;
};
defaultPackage = packages.nattopages;
}
);
formatter = pkgs.nixfmt-tree;
}
);
nixConfig = {
extra-substituters = [
"https://cache.iog.io"
];
extra-trusted-public-keys = [
"hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
];
};
}

BIN
fonts/Arvo-Bold.ttf Normal file

Binary file not shown.

BIN
fonts/Arvo-BoldItalic.ttf Normal file

Binary file not shown.

BIN
fonts/Arvo-Italic.ttf Normal file

Binary file not shown.

BIN
fonts/Arvo-Regular.ttf Normal file

Binary file not shown.

BIN
fonts/Lato-Bold.ttf Normal file

Binary file not shown.

BIN
fonts/Lato-BoldItalic.ttf Normal file

Binary file not shown.

BIN
fonts/Lato-Italic.ttf Normal file

Binary file not shown.

BIN
fonts/Lato-Regular.ttf Normal file

Binary file not shown.

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

Before

Width:  |  Height:  |  Size: 559 B

After

Width:  |  Height:  |  Size: 559 B

View File

@@ -1 +1 @@
<?xml version="1.0" encoding="utf-8"?><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.88 116.12" style="enable-background:new 0 0 122.88 116.12" xml:space="preserve"><style type="text/css">.st0{fill-rule:evenodd;clip-rule:evenodd;}</style><g><path class="st0" d="M84.61,51.83c13.81,0,25.01,11.2,25.01,25.01s-11.2,25.01-25.01,25.01s-25.01-11.2-25.01-25.01 S70.8,51.83,84.61,51.83L84.61,51.83z M12.53,36.69c0.28-0.27,0.63-0.49,1.02-0.64L42.4,25.29c0.63-0.23,1.29-0.24,1.89-0.06 c0.19-0.15,0.4-0.28,0.64-0.36l18.39-6.9c0.41-0.15,0.84-0.18,1.24-0.1c0.03-0.02,0.07-0.03,0.1-0.04l18.85-7.36 c0.53-0.21,1.1-0.17,1.57,0.06c0.06-0.04,0.13-0.07,0.21-0.1l19-7.32c0.08-0.03,0.16-0.05,0.24-0.07c0.11-1.7,1.52-3.04,3.24-3.04 c1.8,0,3.25,1.46,3.25,3.25s-1.46,3.25-3.25,3.25c-0.94,0-1.78-0.4-2.37-1.03c-0.06,0.03-0.12,0.06-0.18,0.08l-19,7.32 c-0.04,0.02-0.09,0.03-0.13,0.04c-0.18,0.54-0.58,1-1.15,1.22l-18.85,7.36c-0.07,0.03-0.13,0.05-0.2,0.07 c-0.25,0.31-0.58,0.56-0.98,0.71l-18.39,6.9c-0.14,0.05-0.28,0.09-0.42,0.11c-0.31,0.69-0.89,1.25-1.65,1.53l-15.78,5.89h84.21 c2.75,0,5.25,1.12,7.06,2.93c1.81,1.81,2.93,4.31,2.93,7.06v59.44c0,2.75-1.12,5.25-2.93,7.06c-1.81,1.81-4.31,2.93-7.06,2.93H9.99 c-2.75,0-5.25-1.12-7.06-2.93C1.12,111.38,0,108.88,0,106.13V46.69c0-2.75,1.12-5.25,2.93-7.06c1.81-1.81,4.31-2.93,7.06-2.93 H12.53L12.53,36.69z M13.79,88.93c-1.45,0-2.63-1.18-2.63-2.63s1.18-2.63,2.63-2.63h32.28c1.45,0,2.63,1.18,2.63,2.63 s-1.18,2.63-2.63,2.63H13.79L13.79,88.93z M13.79,98.89c-1.45,0-2.63-1.18-2.63-2.63c0-1.45,1.18-2.63,2.63-2.63h39.15 c1.45,0,2.63,1.18,2.63,2.63c0,1.45-1.18,2.63-2.63,2.63H13.79L13.79,98.89z M13.79,59.06c-1.45,0-2.63-1.18-2.63-2.63 c0-1.45,1.18-2.63,2.63-2.63h38.03c1.45,0,2.63,1.18,2.63,2.63c0,1.45-1.18,2.63-2.63,2.63H13.79L13.79,59.06z M13.79,69.02 c-1.45,0-2.63-1.18-2.63-2.63c0-1.45,1.18-2.63,2.63-2.63h32.28c1.45,0,2.63,1.18,2.63,2.63c0,1.45-1.18,2.63-2.63,2.63H13.79 L13.79,69.02z M13.79,78.98c-1.45,0-2.63-1.18-2.63-2.63c0-1.45,1.18-2.63,2.63-2.63h30.84c1.45,0,2.63,1.18,2.63,2.63 c0,1.45-1.18,2.63-2.63,2.63H13.79L13.79,78.98z M112.89,42.94H9.99c-1.03,0-1.96,0.42-2.65,1.1c-0.68,0.68-1.1,1.62-1.1,2.65 v59.44c0,1.03,0.42,1.96,1.1,2.65c0.68,0.68,1.62,1.1,2.65,1.1h102.9c1.03,0,1.96-0.42,2.65-1.1c0.68-0.68,1.1-1.62,1.1-2.65V46.69 c0-1.03-0.42-1.96-1.1-2.65C114.85,43.36,113.92,42.94,112.89,42.94L112.89,42.94z M84.61,59.05c9.82,0,17.79,7.96,17.79,17.79 c0,9.82-7.96,17.79-17.79,17.79s-17.79-7.96-17.79-17.79C66.83,67.02,74.79,59.05,84.61,59.05L84.61,59.05z M84.61,71.61 c2.89,0,5.23,2.34,5.23,5.23c0,2.89-2.34,5.23-5.23,5.23s-5.23-2.34-5.23-5.23C79.38,73.95,81.72,71.61,84.61,71.61L84.61,71.61z"/></g></svg>
<?xml version="1.0" encoding="utf-8"?><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.88 116.12" style="enable-background:new 0 0 122.88 116.12" xml:space="preserve"><style type="text/css">.st0{fill-rule:evenodd;clip-rule:evenodd;}</style><g><path class="st0" d="M84.61,51.83c13.81,0,25.01,11.2,25.01,25.01s-11.2,25.01-25.01,25.01s-25.01-11.2-25.01-25.01 S70.8,51.83,84.61,51.83L84.61,51.83z M12.53,36.69c0.28-0.27,0.63-0.49,1.02-0.64L42.4,25.29c0.63-0.23,1.29-0.24,1.89-0.06 c0.19-0.15,0.4-0.28,0.64-0.36l18.39-6.9c0.41-0.15,0.84-0.18,1.24-0.1c0.03-0.02,0.07-0.03,0.1-0.04l18.85-7.36 c0.53-0.21,1.1-0.17,1.57,0.06c0.06-0.04,0.13-0.07,0.21-0.1l19-7.32c0.08-0.03,0.16-0.05,0.24-0.07c0.11-1.7,1.52-3.04,3.24-3.04 c1.8,0,3.25,1.46,3.25,3.25s-1.46,3.25-3.25,3.25c-0.94,0-1.78-0.4-2.37-1.03c-0.06,0.03-0.12,0.06-0.18,0.08l-19,7.32 c-0.04,0.02-0.09,0.03-0.13,0.04c-0.18,0.54-0.58,1-1.15,1.22l-18.85,7.36c-0.07,0.03-0.13,0.05-0.2,0.07 c-0.25,0.31-0.58,0.56-0.98,0.71l-18.39,6.9c-0.14,0.05-0.28,0.09-0.42,0.11c-0.31,0.69-0.89,1.25-1.65,1.53l-15.78,5.89h84.21 c2.75,0,5.25,1.12,7.06,2.93c1.81,1.81,2.93,4.31,2.93,7.06v59.44c0,2.75-1.12,5.25-2.93,7.06c-1.81,1.81-4.31,2.93-7.06,2.93H9.99 c-2.75,0-5.25-1.12-7.06-2.93C1.12,111.38,0,108.88,0,106.13V46.69c0-2.75,1.12-5.25,2.93-7.06c1.81-1.81,4.31-2.93,7.06-2.93 H12.53L12.53,36.69z M13.79,88.93c-1.45,0-2.63-1.18-2.63-2.63s1.18-2.63,2.63-2.63h32.28c1.45,0,2.63,1.18,2.63,2.63 s-1.18,2.63-2.63,2.63H13.79L13.79,88.93z M13.79,98.89c-1.45,0-2.63-1.18-2.63-2.63c0-1.45,1.18-2.63,2.63-2.63h39.15 c1.45,0,2.63,1.18,2.63,2.63c0,1.45-1.18,2.63-2.63,2.63H13.79L13.79,98.89z M13.79,59.06c-1.45,0-2.63-1.18-2.63-2.63 c0-1.45,1.18-2.63,2.63-2.63h38.03c1.45,0,2.63,1.18,2.63,2.63c0,1.45-1.18,2.63-2.63,2.63H13.79L13.79,59.06z M13.79,69.02 c-1.45,0-2.63-1.18-2.63-2.63c0-1.45,1.18-2.63,2.63-2.63h32.28c1.45,0,2.63,1.18,2.63,2.63c0,1.45-1.18,2.63-2.63,2.63H13.79 L13.79,69.02z M13.79,78.98c-1.45,0-2.63-1.18-2.63-2.63c0-1.45,1.18-2.63,2.63-2.63h30.84c1.45,0,2.63,1.18,2.63,2.63 c0,1.45-1.18,2.63-2.63,2.63H13.79L13.79,78.98z M112.89,42.94H9.99c-1.03,0-1.96,0.42-2.65,1.1c-0.68,0.68-1.1,1.62-1.1,2.65 v59.44c0,1.03,0.42,1.96,1.1,2.65c0.68,0.68,1.62,1.1,2.65,1.1h102.9c1.03,0,1.96-0.42,2.65-1.1c0.68-0.68,1.1-1.62,1.1-2.65V46.69 c0-1.03-0.42-1.96-1.1-2.65C114.85,43.36,113.92,42.94,112.89,42.94L112.89,42.94z M84.61,59.05c9.82,0,17.79,7.96,17.79,17.79 c0,9.82-7.96,17.79-17.79,17.79s-17.79-7.96-17.79-17.79C66.83,67.02,74.79,59.05,84.61,59.05L84.61,59.05z M84.61,71.61 c2.89,0,5.23,2.34,5.23,5.23c0,2.89-2.34,5.23-5.23,5.23s-5.23-2.34-5.23-5.23C79.38,73.95,81.72,71.61,84.61,71.61L84.61,71.61z" fill="white"/></g></svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
images/personal/nyn.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -2,6 +2,6 @@
title: Home
home: true
---
<h2>Welcome</h2>
$partial("templates/post-preview-list.html")$
<p>Find more in the <a href="/archive.html">archives</a>.</p>
<h2><b>Welcome</b></h2>
Hello, I post stuff here. Check the <a href="/archive.html">archive</a>.

View File

@@ -41,10 +41,10 @@ Random links I find useful
- [[https://github.com/NixOS/nixpkgs][Nixpkgs]]: Nix Packages collection.
- [[https://github.com/concourse/concourse][Concourse CI]]: A continuous thing-doer.
- [[https://github.com/emacs-lsp/lsp-mode][lsp-mode]]: Emacs library for Language Server Protocol.
- [[https://gitlab.com/qemu-project/qemu][QEMU]]: The famous virtualization API library.
- [[https://gitlab.com/libvirt/libvirt/][libvirt]]: The famous virtualization API library.
- [[https://github.com/CompVis/stable-diffusion][Stable Diffusion]]: Text2Image and Image2Image diffusion scripts for the SD models.
- [[https://gitlab.com/simple-nixos-mailserver/nixos-mailserver][Simple Nixos Mailserver]]: True to its name.
- [[https://github.com/bakape/captchouli][Captchouli]]: Booru-backed procedurally-generated anime image captcha library and server
- [[https://github.com/rui314/chibicc][chibicc]]: A [[https://jisho.org/word/%E7%A6%BF%E3%81%B3][chibi]] C compiler by Rui Ueyama.
** Torrent Trackers
- I won't post any more private trackers even if you want me to.
@@ -53,5 +53,13 @@ Random links I find useful
- [[https://nyaa.si][Nyaa]]: The anime public tracker, also has JP music, games, manga, books and software. Mirror for blocked countries: [[https://nyaa.iss.one]].
- [[https://en.metal-tracker.com][METAL-TRACKER.COM]]: Public metal music tracker.
** Music
- [[https://doujinstyle.com/][DOUJINSTYLE.COM]]: Everything doujin, convenient way to get albums although LOG files may not be 100% correct.
** Misc
- [[https://www.proxysite.com/][ProxySite]]: I use it to download large GitHub assets.
* Other Blogs
- [[https://justinas.org/nixos-in-the-cloud-step-by-step-part-2][NixOS in the Cloud, step-by-step: part 2]] by Justinas Stankevičius (also see https://github.com/justinas/nixos-cloud)
- [[https://snehit.dev/posts/body-trade-in-mainline-streams/][Body Trade in Mainline Streams?]] by Snehit Shah (flyingcakes)
- [[https://blog.konno.tk/#30][most depressing midi player]] by junko (Possibly browsing https://github.com/Henrixounez/v-midi/)

21
posts/cut-my-hair.org Normal file
View File

@@ -0,0 +1,21 @@
---
title: I cut my hair
author: Amneesh
tags: rant, religion
published: May 08, 2023
---
Hello, it has been ages since I last wrote something, life has been hard in ways more than one. As the post title says, I cut my hair, for the very first time, a few days before my 20th birthday.
It may not seem like a huge deal to many but being born in a Sikh family, although I was never initiated/baptised (Amrit Sanchar/ਅੰਮ੍ਰਿਤ ਸੰਚਾਰ), I have had my hair my entire life. That is the only way I have ever lived, with uncut hair and a turban when outside. I went through an atheist phase back in middle school like many, and that is when I decided I will get rid of my hair some day. Albeit I am not an atheist (or a theist for that matter) anymore, I got a haircut yesterday. I had been preparing for this passively for years and mentally for months at least, but a day later, it hit me like a truck.
I woke up feeling rather shitty about the whole situation. I cut my hair and that's what I wanted, then why am I mad about it? The answer is an amalgam of a number of reasons, one of the major ones being that it was not about Sikhi or religion anymore, it was about the culture.It is ironic but I have never cared about Sikh tenets that much despite knowing their significance; that is how it has been, but the hair and the turban have become my very identity. They are me and I am them, at least that's how it had been up until yesterday. Now I am left with this gaping hole in my chest with this new me. My relatives do not know about the entire ordeal but my parents and sister have accepted me for what I did and do not think ill of it anymore. The problem is selfish. I want to go back to how I was so much, and think about all this again. The entire problem stems from my coping mechanism for major changes; but even if I say that, everything is the same - friend and family are the same and so are my memories; however, I am not me anymore. I cannot bring myself to look into the eyes of other people, as if I have somehow defiled myself. I am completely aware that this is not the case, and people who have not been in this situation might find it offensive or hilarious at best, my upbringing has has had somewhat of an effect on how I think subconsciously. I should try to get rid of that.
Even Bulleh Shah did not know who they were, nor does any thinking mortal either. And Nanak said that the 'I' does not exist. But the fact remains that people are who they believe they are, and that is not at all wrong. Maybe that is why the lack of an existing identity is so excruciating. Being as reserved and introverted as I am, with no contact with the native Punjabi culture outside textbooks and the internet, why do I feel this strange lack of brotherhood? I am more fragile and weak than I thought. Doing this on purpose without being forced by external factors does not feel right. Maybe I was looking for a reason, but that would mean I indeed wanted what I did. Today is a rough day and tomorrow will be rougher, all I can hope for is for me to get through it.
Before closing, I must state that I did not do this to "look" good. I looked much better when I used to don a turban, I do not anymore. I do not hate or even dislike Sikhi or Punjabi culture; on the contrary, I very much like it since I somewhat grew up with it. The only reason I did it was because I did not want to be associated with a single group identity; turns out I miss it. This post was just me sharing my experience.
Short hair feel shitty and my beard is prickly. Maybe I will go back to being the way I was some day or maybe I won't.
-----
Too many 'I's in this post, lol.

20
posts/fear.org Normal file
View File

@@ -0,0 +1,20 @@
---
title: Fear
tags: random
author: AlpaViraam
published: September 30, 2023
---
One often wonders if it is possible to attain a better tomorrow - a better future; and if it is, then how? A common question with an obvious answer that it is all rooted in the fear of a worse tomorrow or of a “worse you”. This much is obvious, however, not many attempt to eliminate this fear and instead focus on getting over it by overcoming the trials it sets. Is there something more to it than fear? Is the desire, greed or want driven by this fear? Or is the fear driven by them? Does eliminating the fear eliminate the associated desires, and vice versa? What is the primal nature of this fear and what does it mean to be the “worse you”, when the only “you” is the “you” of the “now”? Many more questions may arise from this very obvious inference. However, do these questions even hold any value over determining whether fear is something to be taken hold of? Or is it some part of you that makes you the person you are? Perhaps it is both, or perhaps it is something that we can completely get rid of and get closer to understanding what it means to realise oneself, that is, the “you”. This text tries a little to explore these questions and possibly get closer to the answer.
* Ideology
Fear is associated with, as petty as they may be, an individuals ideologies, ambitions, feelings, etc. But the primary and the most important factor is the ideology. Ideologies have surrounded mankind since the dawn of it, it is not something new and nor is it much more advanced than it was in the older times; at least, when it comes to the core values. One may see oneself as an individual with a unique ideology, however, it is a fact that parts of this ideology are shared by many; making it less of an individual thing and more of what would be called a “product” - a product of things greater than the individual. To understand this, we must understand that this product may be a result of influences, feelings, senses, environment and of course, society. Even if a person is to seclude themselves, they are still living on the same planet, experiencing the same emotions and same senses, making them less of an individual but more of a collective idea. This is the part where fear comes in - the ideology or what can also be sometimes called the philosophy is many time so rigid that one would get so attached to it, very much like other material things, like money and family; that it can be a cause of fear for him to instantly get rid of it. Imagine building something up for a long time, perhaps even your entire life and then instantly giving it up when you find something more suited to the truth or subjectively “correct” or “better”. This is no easy feat to do - perhaps even harder than giving up on ones most treasured belongings like their own children or spouse. Now what does this fear “actually” stem from? Why is it hard to give up on something you worked so hard on? One possible answer might be the individual himself. Encouraging deletion of the already present beliefs might lead one to question the credibility of his own existence or the individualism itself. This might just be the fear of not being “one” as in a separate “one”. As soon as the idea of “one” (or “you”) begins to dissolve, the fear takes hold. What can be inferred from this is that there is no such thing as a “you” - neither of the past, nor of the present and neither worse or better. The entity that is often associated with these idologies is not “you” but “you” is the ideologies themselves; and if we remember from earlier, ideologies are not something alien for every being, it is a shared belief, no matter how much the overlap is. Then why does the “you” and “me” exist? What is the “me” and “you”, and why fear losing it? This all sounds so childish but that is only because it is so. Rigid ideologies, for a lack of a better term, whether religious, political or philosophical, are pretty much the very definition of childish. This is because a “child” lacks, not the understanding of what is and what is not, but the understanding of what may be.
* Ego
Why would one get troubled over abandoning their entire lifes meaning despite knowing very well that their life has no inherent impact? That is due to ones idea about themselves. We earlier inferred that a person is nothing but his own idea, but it is now time to understand that the idea also includes something along the lines of what is ones perception of self. Contrary to the popular belief I do not think life is something as romantic as what can be called “absurd”. Abandoning self and attributing happens to this absurdity does hold some truth in it but it comes off as plain lazy. What should be analyzed here is that living is fear; even if you “embrace this absurdity”, you are still living in the constant fear of tomorrow and have your own little ambitions for it. Then when we say that losing this fear might help in embracing the reality itself and being “happy”, we might not be completely wrong. But is the fear something to be conquered? Probably not; the fear from abandoning the ideology is at the core, the fear of abandoning your existence as discussed earlier; but lets say we completely demolish this fear, then what is left? Certainly not you or even the idea of you. This is because having an idea of yourself is a very primary trait of being alive and has a streak of arrogance in it. Is the self so petty as to need an idea of self while not even realising what self might be. Perhaps having even an inkling of what the self might be would prevent this idea of self from existing. Acceptance is the natural step in conquering fear. However, this acceptance would eventually collapse the entire ego and the self. Is this the same as death, is it even achievable? I do not know, but probably not. Then is the best we can do is simplify the complexities involved and figure out what might be causing this fear at the high level to begin going into the process of even understading it? No, but it is certainly a good point to start.
* Desires
Lets explore this fear at a high level now since delving deep into the abyss has only raised more questions. As we discussed earlier, one “desires” a better or sustainable tomorrow, but what entails this betterment might be very different for each individual. Whatever these desires may be, these may be the easiest things to control so far, and doing this may also lead to being free of the desire of the better tomorrow and subsequently, the fear itself. This is what one would think, but isnt being free of desires also a desire itself? As long as one continues to think of getting rid of these desires, he is only substituting one desire with another. To continue living is to indulge in desires - the desire to live, the desire to breathe, the desire to exist, we cannot deny that. So is the only solution of being free of fear dying? That is a reasonable solution and it probably works as well but do we really need to eliminate this fear? Well, objectively speaking, we do not “need” to do anything, “need” is nothing but an unavoidable desire; but addressing the question with another question - would eliminating fear, eliminate the desires and the self containing them, and subsequently simulate a state similar to that of death? Let me correct my earlier sentence, living is to indulge in fear and grief, for the lack of grief is very attractive. If there was no grief, there would not be any lack of it either; happiness is only a state achievable with the presence of grief. This dichotomy is what drives fear and it is not possible to live outside this very basic dichotomy.
* Fear
Fear is something that cannot be eliminated without eliminating oneself. As stated earlier, thinking about eliminating fear is nothing but fearing having fear itself. It is not enough to accept and identify this fear to do something about it; as this will only lead to more fears and thus creating an illusion of seeing fear as a separate entity. One must understand that one is ones fear itself. Trying to change this fear or trying to change oneself will only deepen the illusion; but when one realises the fear itself, the entire perspective is changed. Now one is the fear, and inevitably one is bound to undergo changes and when I say changes, I do not mean voluntary or changes by desires; since those are nothing but illusion of changes and the idea of the self. If you read this entire piece so far, and can only take away one thing from it, please realise that thinking of yourself or anything as a separate entity gives rise to this another so called entity called “fear” and you cannot just try to be one with it by wanting and trying to be one with it, for there is no “you” but an already inseparable entity.

245
src/Main.hs Normal file
View File

@@ -0,0 +1,245 @@
--------------------------------------------------------------------------------
{-# LANGUAGE OverloadedStrings #-}
import Data.Functor.Identity (runIdentity)
import Data.Maybe (isJust)
import Data.Text (Text)
import qualified Data.Text as T
import Hakyll
import System.Environment (getEnv)
import System.FilePath (replaceDirectory, replaceExtension, takeDirectory)
import System.IO.Unsafe (unsafePerformIO)
import qualified System.Process as Process
import Text.Pandoc (
WriterOptions (
writerHighlightStyle,
writerNumberSections,
writerTOCDepth,
writerTableOfContents,
writerTemplate
),
)
import qualified Text.Pandoc as Pandoc
import Text.Pandoc.Templates (Template, compileTemplate)
--------------------------------------------------------------------------------
main :: IO ()
main = hakyllWith config $ do
let individualPatterns = fromList ["about.org", "contact.org", "links.org", "documents/cv.org"]
let copyPatterns = fromList ["images/**", "fonts/*", "documents/*"]
match "images/**" $ do
route idRoute
compile copyFileCompiler
match "fonts/*" $ do
route idRoute
compile copyFileCompiler
match "css/*" $ do
route idRoute
compile compressCssCompiler
match "*pdf" $ do
route idRoute
match individualPatterns $ do
route $ setExtension "html"
compile $
pandocCompiler
>>= loadAndApplyTemplate "templates/default.html" defaultCtx
>>= relativizeUrls
-- kindly stolen from https://github.com/jaspervdj/jaspervdj/blob/b2a9a34cd2195c6e216b922e152c42266dded99d/src/Main.hs#L163-L169
-- also see helper functions writeXetex and xelatex
match "documents/cv.org" $
version "pdf" $ do
route $ setExtension "pdf"
compile $
getResourceBody
>>= readPandoc
>>= writeXeTex
>>= loadAndApplyTemplate "templates/cv.tex" defaultCtx
>>= xelatex
tags <- buildTags "posts/*" (fromCapture "archive/tags/*.html")
tagsRules tags $ \tag pattern -> do
let title = "Posts tagged \"" ++ tag ++ "\""
route idRoute
compile $ do
posts <- recentFirst =<< loadAll pattern
let tagCtx =
constField "title" title
<> constField "tag" tag
<> listField "posts" (postCtx tags) (return posts)
<> defaultCtx
makeItem ""
>>= loadAndApplyTemplate "templates/tag.html" tagCtx
>>= loadAndApplyTemplate "templates/default.html" tagCtx
>>= relativizeUrls
match "posts/*org" $ do
route $ setExtension "html"
compile $ do
identifier <- getUnderlying
toc <- getMetadataField identifier "enabletoc"
numbering <- getMetadataField identifier "enablenumbering"
let writerOptions' = maybe defaultHakyllWriterOptions (const $ writerOptions $ isJust numbering) toc
pandocCompilerWith defaultHakyllReaderOptions writerOptions'
>>= saveSnapshot "content"
>>= loadAndApplyTemplate "templates/post.html" (postCtx tags)
>>= loadAndApplyTemplate "templates/default.html" (postCtx tags)
>>= relativizeUrls
create ["archive.html"] $ do
route idRoute
compile $ do
posts <- recentFirst =<< loadAll "posts/*"
let archiveCtx =
listField "posts" (postCtx tags) (return posts)
<> constField "title" "Archives"
<> field "tags" (\_ -> renderTagList tags)
<> defaultCtx
makeItem ""
>>= loadAndApplyTemplate "templates/archive.html" archiveCtx
>>= loadAndApplyTemplate "templates/default.html" archiveCtx
>>= relativizeUrls
match "index.html" $ do
route idRoute
compile $ do
let indexCtx = defaultCtx
getResourceBody
>>= applyAsTemplate indexCtx
>>= loadAndApplyTemplate "templates/default.html" indexCtx
>>= relativizeUrls
create ["rss.xml"] $ do
route idRoute
compile $ do
let feedCtx = postCtx tags <> bodyField "description"
posts <- fmap (take 10) . recentFirst =<< loadAllSnapshots "posts/*" "content"
renderRss rssFeedConfiguration feedCtx posts
-- https://robertwpearce.com/hakyll-pt-2-generating-a-sitemap-xml-file.html
create ["sitemap.xml"] $ do
route idRoute
compile $ do
posts <- recentFirst =<< loadAll "posts/*"
individualPages <- loadAll individualPatterns
let pages = posts <> individualPages
sitemapCtx =
listField "pages" (postCtx tags) (return pages)
<> defaultCtx
makeItem ""
>>= loadAndApplyTemplate "templates/sitemap.xml" sitemapCtx
match "templates/*" $ compile templateBodyCompiler
where
-- https://github.com/jaspervdj/jaspervdj/blob/b2a9a34cd2195c6e216b922e152c42266dded99d/src/Main.hs#L214-L218
writeXeTex :: Item Pandoc.Pandoc -> Compiler (Item String)
writeXeTex = traverse $ \pandoc ->
case Pandoc.runPure (Pandoc.writeLaTeX Pandoc.def pandoc) of
Left err -> fail $ show err
Right x -> return (T.unpack x)
-- https://github.com/jaspervdj/jaspervdj/blob/b2a9a34cd2195c6e216b922e152c42266dded99d/src/Main.hs#L280-L292
-- but even more hacky
xelatex :: Item String -> Compiler (Item TmpFile)
xelatex item = do
TmpFile texPath <- newTmpFile "xelatex.tex"
let tmpDir = takeDirectory texPath
pdfPath = replaceExtension texPath "pdf"
unsafeCompiler $ do
writeFile texPath $ itemBody item
let x = itemBody item
_ <-
Process.system $
unwords
[ "xelatex"
, "-halt-on-error"
, "-output-directory"
, tmpDir
, texPath
, ">/dev/null"
, "2>&1"
]
return ()
makeItem $ TmpFile pdfPath
rssFeedConfiguration :: FeedConfiguration
rssFeedConfiguration =
FeedConfiguration
{ feedTitle = "nattopages"
, feedDescription = "Pages by natto"
, feedAuthorName = "Amneesh Singh"
, feedAuthorEmail = "natto@weirdnatto.in"
, feedRoot = "https://weirdnatto.in"
}
config :: Configuration
config =
defaultConfiguration
{ deployCommand = "rsync --checksum -ave 'ssh -p" ++ sshTargetPort ++ "' _site/* " ++ sshTarget
, previewPort = 3333
}
where
{-# NOINLINE sshTarget #-}
sshTarget = unsafePerformIO $ getEnv "SSHTARGET"
{-# NOINLINE sshTargetPort #-}
sshTargetPort = unsafePerformIO $ getEnv "SSHTARGETPORT"
postCtx :: Tags -> Context String
postCtx tags =
tagsField "tags" tags
-- <> teaserFieldWithSeparator "((.tease.))" "teaser" "content"
<> dateField "date" "%B %e, %Y"
<> dateField "altdate" "%Y-%m-%d"
<> teaserField "teaser" "content"
<> defaultCtx
defaultCtx :: Context String
defaultCtx =
listField "subdomains" subCtx (return subdomains)
<> domainCtx
<> defaultContext
where
domain :: String
domain = "weirdnatto.in"
subCtx :: Context String
subCtx =
field "name" (return . itemBody)
<> domainCtx
domainCtx :: Context String
domainCtx = constField "domain" domain
subdomains :: [Item String]
subdomains = map mkItem ["git", "radio", "f"]
where
mkItem :: a -> Item a
mkItem a = Item{itemIdentifier = "subdomain", itemBody = a}
writerOptions :: Bool -> WriterOptions
writerOptions withNumbering =
defaultHakyllWriterOptions
{ writerNumberSections = withNumbering
, writerTableOfContents = True
, writerTOCDepth = 2
, writerTemplate = Just tocTemplate
}
tocTemplate :: Text.Pandoc.Templates.Template Text
tocTemplate =
either error id . runIdentity . compileTemplate "" $
T.unlines
[ "<div class=\"toc\"><div class=\"toc-header\">Table of Contents</div>"
, "$toc$"
, "</div>"
, "$body$"
]

7
src/cabal.project Normal file
View File

@@ -0,0 +1,7 @@
packages: .
source-repository-package
type: git
location: https://github.com/natto1784/pandoc.git
tag: b30124ce3e835cdb7b35fafd88c86d0841dcfaa9
--sha256: sha256-tHUhx+RBGFN+Km0qulSrD9NSsMIAjIhOU+6CxGPmwZ8=

View File

@@ -5,10 +5,12 @@ license: MIT
cabal-version: >= 1.10
executable site
main-is: site.hs
main-is: Main.hs
build-depends: base == 4.*
, hakyll == 4.15.*
, pandoc == 2.*
, text == 1.*
, filepath == 1.4.*
, hakyll == 4.16.*
, pandoc == 3.1.6.2
, process == 1.6.*
, text == 2.*
ghc-options: -threaded -rtsopts -with-rtsopts=-N
default-language: Haskell2010

View File

@@ -1,214 +0,0 @@
--------------------------------------------------------------------------------
{-# LANGUAGE OverloadedStrings #-}
import Data.Functor.Identity (runIdentity)
import Data.Maybe (isJust)
import Data.Text (Text)
import qualified Data.Text as T
import Hakyll
import Text.Pandoc (WriterOptions (writerHighlightStyle, writerNumberSections, writerTOCDepth, writerTableOfContents, writerTemplate))
import Text.Pandoc.Templates (Template, compileTemplate)
--------------------------------------------------------------------------------
main :: IO ()
main = hakyllWith config $ do
let individualPatterns = fromList ["about.org", "contact.org", "links.org"]
match "images/**" $ do
route idRoute
compile copyFileCompiler
match "fonts/*" $ do
route idRoute
compile copyFileCompiler
match "css/*" $ do
route idRoute
compile compressCssCompiler
match individualPatterns $ do
route $ setExtension "html"
compile $
pandocCompiler
>>= loadAndApplyTemplate "templates/default.html" defaultCtx
>>= relativizeUrls
tags <- buildTags "posts/*" (fromCapture "archive/tags/*.html")
tagsRules tags $ \tag pattern -> do
let title = "Posts tagged \"" ++ tag ++ "\""
route idRoute
compile $ do
posts <- recentFirst =<< loadAll pattern
let tagCtx =
constField "title" title
<> constField "tag" tag
<> listField "posts" (postCtx tags) (return posts)
<> defaultCtx
makeItem ""
>>= loadAndApplyTemplate "templates/tag.html" tagCtx
>>= loadAndApplyTemplate "templates/default.html" tagCtx
>>= relativizeUrls
match "posts/*org" $ do
route $ setExtension "html"
compile $ do
identifier <- getUnderlying
toc <- getMetadataField identifier "enabletoc"
numbering <- getMetadataField identifier "enablenumbering"
let writerOptions' = maybe defaultHakyllWriterOptions (const $ writerOptions $ isJust numbering) toc
pandocCompilerWith defaultHakyllReaderOptions writerOptions'
>>= saveSnapshot "content"
>>= loadAndApplyTemplate "templates/post.html" (postCtx tags)
>>= loadAndApplyTemplate "templates/default.html" (postCtx tags)
>>= relativizeUrls
create ["archive.html"] $ do
route idRoute
compile $ do
posts <- recentFirst =<< loadAll "posts/*"
let archiveCtx =
listField "posts" (postCtx tags) (return posts)
<> constField "title" "Archives"
<> field "tags" (\_ -> renderTagList tags)
<> defaultCtx
makeItem ""
>>= loadAndApplyTemplate "templates/archive.html" archiveCtx
>>= loadAndApplyTemplate "templates/default.html" archiveCtx
>>= relativizeUrls
match "dailies/*org" $ do
route $ setExtension "html"
compile $ do
pandocCompiler
>>= saveSnapshot "dailiescontent"
>>= loadAndApplyTemplate "templates/post.html" dailiesCtx
>>= loadAndApplyTemplate "templates/default.html" dailiesCtx
>>= relativizeUrls
create ["dailies.html"] $ do
route idRoute
compile $ do
dailyToday <- fmap (take 1) . recentFirst =<< loadAllSnapshots "dailies/*" "dailiescontent"
dailies <- recentFirst =<< loadAll "dailies/*"
let dailiesCtx' =
listField "today" dailiesCtx (return dailyToday)
<> listField "posts" dailiesCtx (return dailies)
<> constField "title" "Dailies"
<> defaultCtx
makeItem ""
>>= loadAndApplyTemplate "templates/dailies.html" dailiesCtx'
>>= loadAndApplyTemplate "templates/default.html" dailiesCtx'
>>= relativizeUrls
match "index.html" $ do
route idRoute
compile $ do
posts <- fmap (take 10) . recentFirst =<< loadAllSnapshots "posts/*" "content"
let indexCtx =
listField "posts" (postCtx tags) (return posts)
<> defaultCtx
getResourceBody
>>= applyAsTemplate indexCtx
>>= loadAndApplyTemplate "templates/default.html" indexCtx
>>= relativizeUrls
create ["rss.xml"] $ do
route idRoute
compile $ do
let feedCtx = postCtx tags <> bodyField "description"
posts <- fmap (take 10) . recentFirst =<< loadAllSnapshots "posts/*" "content"
renderRss rssFeedConfiguration feedCtx posts
-- https://robertwpearce.com/hakyll-pt-2-generating-a-sitemap-xml-file.html
create ["sitemap.xml"] $ do
route idRoute
compile $ do
posts <- recentFirst =<< loadAll "posts/*"
individualPages <- loadAll individualPatterns
let pages = posts <> individualPages
sitemapCtx =
listField "pages" (postCtx tags) (return pages)
<> defaultCtx
makeItem ""
>>= loadAndApplyTemplate "templates/sitemap.xml" sitemapCtx
match "templates/*" $ compile templateBodyCompiler
rssFeedConfiguration :: FeedConfiguration
rssFeedConfiguration =
FeedConfiguration
{ feedTitle = "nattopages",
feedDescription = "Pages by natto",
feedAuthorName = "Amneesh Singh",
feedAuthorEmail = "natto@weirdnatto.in",
feedRoot = "https://weirdnatto.in"
}
config :: Configuration
config =
defaultConfiguration
{ deployCommand =
"rsync --checksum -ave 'ssh -p 22001' \
\_site/* \
\root@weirdnatto.in:/var/lib/site/",
previewPort = 3333
}
postCtx :: Tags -> Context String
postCtx tags =
tagsField "tags" tags
-- <> teaserFieldWithSeparator "((.tease.))" "teaser" "content"
<> dateField "date" "%B %e, %Y"
<> dateField "altdate" "%Y-%m-%d"
<> teaserField "teaser" "content"
<> defaultCtx
dailiesCtx :: Context String
dailiesCtx =
dateField "date" "%B %e, %Y"
<> defaultCtx
defaultCtx :: Context String
defaultCtx =
listField "subdomains" subCtx (return subdomains)
<> domainCtx
<> defaultContext
where
domain :: String
domain = "weirdnatto.in"
subCtx :: Context String
subCtx =
field "name" (return . itemBody)
<> domainCtx
domainCtx :: Context String
domainCtx = constField "domain" domain
subdomains :: [Item String]
subdomains = map mkItem ["git", "nomad", "consul", "vault", "radio", "f", "ci"]
where
mkItem :: a -> Item a
mkItem a = Item {itemIdentifier = "subdomain", itemBody = a}
writerOptions :: Bool -> WriterOptions
writerOptions withNumbering =
defaultHakyllWriterOptions
{ writerNumberSections = withNumbering,
writerTableOfContents = True,
writerTOCDepth = 2,
writerTemplate = Just tocTemplate
}
tocTemplate :: Text.Pandoc.Templates.Template Text
tocTemplate =
either error id . runIdentity . compileTemplate "" $
T.unlines
[ "<div class=\"toc\"><div class=\"toc-header\">Table of Contents</div>",
"$toc$",
"</div>",
"$body$"
]

View File

@@ -1,7 +1,5 @@
<p>
<h3> Here you can find all my previous posts: </h3>
</p>
<h3>Here you can find all my previous posts:</h3>
$partial("templates/post-list.html")$
<h3>Tags</strong></h3>
<h3><strong>Tags</strong></h3>
<div class="tags">$tags$</div>

43
templates/cv.tex Normal file
View File

@@ -0,0 +1,43 @@
\documentclass[a4paper,11pt]{article}
\usepackage[margin=0.5in]{geometry}
\usepackage[colorlinks=true]{hyperref}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{enumitem}
\setlist[itemize]{partopsep=-4pt, itemsep=-6pt}
\usepackage{parskip}
\setlength{\parindent}{0em}
\setlength{\parskip}{0.5em}
\setcounter{secnumdepth}{-1}
\def\tightlist{}
\usepackage{ulem}
\normalem
\usepackage{titlesec}
\titleformat{\section}{
\vspace{-5pt}\scshape\raggedright\large
}{}{0em}{}[\vspace{-5pt}]
\titleformat{\subsection}{
\vspace{0pt}\raggedright\normalsize\bfseries
}{}{0em}{}[\vspace{-4pt}]
\titlespacing{\subsection}{0pt}{8pt}{5pt}
\let\OldRule\rule
\renewcommand{\rule}[2]{\OldRule{\linewidth}{#2}}
\setlength{\LTleft}{0pt}
\setlength{\LTpre}{3pt}
\setlength{\LTpost}{0pt}
\usepackage{relsize}
\begin{document}
$body$
\end{document}

View File

@@ -1,16 +1,13 @@
These are called dailies but these are not posted daily
<hr>
You have stumbled upon a relic of the past that I never maintained.
<hr />
$for(today)$
<article>
<h1 class="post-title">$title$</h1>
<div class="post-teaser">
$body$
</div>
<hr>
</article>
<article>
<h1 class="post-title">$title$</h1>
<div class="post-teaser">$body$</div>
<hr />
</article>
$endfor$
<p>
<h3> Previous Dailies: </h3>
</p>
<h3>Previous Dailies:</h3>
$partial("templates/post-list.html")$

View File

@@ -1,47 +1,65 @@
<!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">
<title>nattopages - $title$</title>
<link rel="stylesheet" href="/css/default.css" />
<link rel="stylesheet" href="/css/highlight.css" />
</head>
<body>
<header>
<div class="logo">
<a href="/">nattopages</a>
</div>
<nav>
<a href="/about.html">About</a>
<a href="/contact.html">Contact</a>
<a href="/archive.html">Archive</a>
<a href="/dailies.html">Dailies</a>
<a href="/links.html">Links</a>
</nav>
</header>
<head>
<meta charset="utf-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>nattopages - $title$</title>
<link rel="stylesheet" href="/css/default.css" />
<link rel="stylesheet" href="/css/highlight.css" />
</head>
<body>
<header>
<div id="nattopages">
<a href="/">nattopages</a>
</div>
<nav>
<a href="/about.html">About</a>
<a href="/contact.html">Contact</a>
<a href="/archive.html">Archive</a>
<a href="/links.html">Links</a>
</nav>
</header>
<main role="main">
$body$
</main>
<main role="main">$body$</main>
<footer>
All content published under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International</a><br>
<a href="https://git.weirdnatto.in/natto1784/nattopages">Source</a> available under MIT License<br>
Site proudly generated by
<a href="http://jaspervdj.be/hakyll">Hakyll</a><br>
53EC 089E F230 E47A 83BA 8F81 9594 9BD4 B853 F559<br>
<a href="/rss.xml">RSS 2.0</a><br>
<ul class="subdomains" style="list-style-type: none;">
$for(subdomains)$
<li style="display: inline-block;">
<a href="https://$name$.$domain$">
<img src="/images/logos/$name$.svg" alt="https://$name$.$domain$" width="30" height="30"/>
</a>
</li>
$endfor$
</ul>
</footer>
</body>
<footer>
All content published under
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/"
>Creative Commons Attribution-NonCommercial-ShareAlike 4.0
International</a
><br />
<a href="https://git.weirdnatto.in/natto1784/nattopages">Source</a>
available under MIT License<br />
Site proudly generated by
<a href="http://jaspervdj.be/hakyll">Hakyll</a><br />
3C4B DBE7 BBF4 5B52 C14E A193 0072 57B0 5FCC 86A8<br />
<a href="/rss.xml">RSS 2.0</a><br />
<ul id="subdomains" style="list-style-type: none">
$for(subdomains)$
<li style="display: inline-block">
<a href="https://$name$.$domain$">
<img
src="/images/icons/$name$.svg"
alt="https://$name$.$domain$"
width="30"
height="30"
/>
</a>
</li>
$endfor$
</ul>
</footer>
<input type="checkbox" id="sticker-toggle" />
<div id="sticker">
<label for="sticker-toggle"> hello! </label>
<label for="sticker-toggle">
<img
src="/images/personal/nyn.webp"
alt="いらっしゃいませ"
aria-hidden="true"
/>
</label>
</div>
</body>
</html>

View File

@@ -1,7 +1,5 @@
<ul>
$for(posts)$
<li class="post-item">
<a href="$url$">$title$</a> - $date$
</li>
$endfor$
$for(posts)$
<li class="post-item"><a href="$url$">$title$</a> - $date$</li>
$endfor$
</ul>

View File

@@ -1,27 +0,0 @@
<ul class="post-preview-item-list">
$for(posts)$
<li class="post-preview-item" >
<article>
<h1 class="post-title">$title$</h1>
<div class="post-header">
<div class="post-date" >
Posted $date$
</div>
<div class="tags" >
$if(tags)$
Tags: $tags$
$endif$
</div>
</div>
<div class="post-teaser">
$if(teaser)$
$teaser$
$else$
$body$
$endif$
</div>
<a href="$url$">Read more</a>
</article>
</li>
$endfor$
</ul>

View File

@@ -1,19 +1,10 @@
<article>
<h1 class="post-title">$title$</h1>
<section class="post-header">
Posted on $date$
$if(author)$
by $author$
$endif$<br>
$if(tags)$
Tags: $tags$
$endif$<br>
$if(modified)$
Last modified on $modified$
$endif$
</section>
<hr>
<section>
$body$
</section>
<h1 class="post-title">$title$</h1>
<section class="post-header">
Posted on $date$ $if(author)$ by $author$ $endif$<br />
$if(tags)$ Tags: $tags$ $endif$<br />
$if(modified)$ Last modified on $modified$ $endif$
</section>
<hr />
<section>$body$</section>
</article>

View File

@@ -1,2 +1,3 @@
Here are all the posts marked with tag <strong style="font-size: 3rem;">$tag$</strong>:
Here are all the posts marked with tag
<strong style="font-size: 3rem">$tag$</strong>:
$partial("templates/post-list.html")$