<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

 <title>Akshit Kumar's index.html</title>
 <link href="/atom.xml" rel="self"/>
 <link href="https://akshit.one/"/>
 <updated>2026-06-21T00:11:57+00:00</updated>
 <id>https://akshit.one</id>
 <author>
   <name></name>
   <email></email>
 </author>

 
 <entry>
   <title>William: a tiny poetry model in the browser</title>
   <link href="https://akshit.one/2026/06/21/william/"/>
   <updated>2026-06-21T00:00:00+00:00</updated>
   <id>https://akshit.one/2026/06/21/william</id>
   <content type="html">&lt;p&gt;William is a tiny local language model I trained to write short poems. The
model on this page is loaded by the browser and sampled locally, one token at a
time. There is no server endpoint behind the button.&lt;/p&gt;

&lt;link rel=&quot;stylesheet&quot; href=&quot;/assets/william/william.css&quot; /&gt;

&lt;section class=&quot;william-poem&quot; data-william-demo=&quot;&quot;&gt;
  &lt;p class=&quot;william-kicker&quot; data-william-status=&quot;&quot;&gt;loading William...&lt;/p&gt;
  &lt;input class=&quot;william-title&quot; type=&quot;text&quot; data-william-title=&quot;&quot; value=&quot;Untitled&quot; aria-label=&quot;Poem title&quot; /&gt;
  &lt;div class=&quot;william-output&quot; data-william-output=&quot;&quot;&gt;&lt;/div&gt;
  &lt;p&gt;&lt;button class=&quot;william-regenerate&quot; type=&quot;button&quot; data-william-generate=&quot;&quot; hidden=&quot;&quot;&gt;write&lt;/button&gt;&lt;/p&gt;
&lt;/section&gt;

&lt;p&gt;The title line is editable. William tokenizes it in the browser before
generating the poem.&lt;/p&gt;

&lt;p&gt;William is a small decoder-only transformer: 6 layers, 384 hidden dimensions,
6 attention heads, and a 256-token context window. I trained it locally with
&lt;a href=&quot;https://github.com/ml-explore/mlx&quot;&gt;MLX&lt;/a&gt; on Apple Silicon.&lt;/p&gt;

&lt;p&gt;The training pipeline was two-stage. First, the model learned general
poem-shaped text from the
&lt;a href=&quot;https://huggingface.co/datasets/biglam/gutenberg-poetry-corpus&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;biglam/gutenberg-poetry-corpus&lt;/code&gt;&lt;/a&gt;
line corpus after filtering out Project Gutenberg boilerplate, headers,
editorial apparatus, prose-like blocks, and non-English fragments. Then I
fine-tuned it on title/body poem pairs from
&lt;a href=&quot;https://huggingface.co/datasets/suayptalha/Poetry-Foundation-Poems&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;suayptalha/Poetry-Foundation-Poems&lt;/code&gt;&lt;/a&gt;,
with extra filtering for rows that were too long or too prose-like for the
short context window. I also used
&lt;a href=&quot;https://huggingface.co/prism-ml/Bonsai-8B-mlx-1bit&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;prism-ml/Bonsai-8B-mlx-1bit&lt;/code&gt;&lt;/a&gt;
locally as a grading model to help reject low-fitness fine-tuning rows and
audit pretraining artifacts.&lt;/p&gt;

&lt;p&gt;For this page, the MLX checkpoint was converted to ONNX and dynamically
quantized to int8. The page downloads that static model file and runs it with
ONNX Runtime Web in your browser; the model asset is around 14 MB.&lt;/p&gt;

&lt;script src=&quot;https://cdn.jsdelivr.net/npm/onnxruntime-web@1.27.0/dist/ort.min.js&quot;&gt;&lt;/script&gt;

&lt;script type=&quot;module&quot; src=&quot;/assets/william/william.js&quot;&gt;&lt;/script&gt;

</content>
 </entry>
 
 <entry>
   <title>Interactive Shell Inside a Slurm Job</title>
   <link href="https://akshit.one/2025/11/15/srun/"/>
   <updated>2025-11-15T00:00:00+00:00</updated>
   <id>https://akshit.one/2025/11/15/srun</id>
   <content type="html">&lt;p&gt;To access the shell inside a job, instead of SSHing into 
the node (in a case when one has multiple jobs in the same node).&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;srun &lt;span class=&quot;nt&quot;&gt;--jobid&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&amp;lt;jobid&amp;gt; &lt;span class=&quot;nt&quot;&gt;--pty&lt;/span&gt; bash
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Configuring Pyright with uv</title>
   <link href="https://akshit.one/2025/11/15/pyright-pyproject/"/>
   <updated>2025-11-15T00:00:00+00:00</updated>
   <id>https://akshit.one/2025/11/15/pyright-pyproject</id>
   <content type="html">&lt;p&gt;To get pyright to look at the correct package installation folder (using pyproject.toml, like uv does),
add the following to the pyproject.toml.&lt;/p&gt;

&lt;div class=&quot;language-toml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nn&quot;&gt;[tool.pyright]&lt;/span&gt;
&lt;span class=&quot;py&quot;&gt;venv&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;.venv&quot;&lt;/span&gt;
&lt;span class=&quot;py&quot;&gt;venvPath&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;.&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Custom uv Environments and Caches with direnv</title>
   <link href="https://akshit.one/2025/10/24/uv-venvs/"/>
   <updated>2025-10-24T00:00:00+00:00</updated>
   <id>https://akshit.one/2025/10/24/uv-venvs</id>
   <content type="html">&lt;p&gt;When working on turing/ada, it is useful to install 
python packages on the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/scratch&lt;/code&gt; directory 
instead of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.venv&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Fortunately, the blessed people at uv have a specific command for this.&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# .envrc&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;export &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;UV_PROJECT_ENVIRONMENT&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/scratch/venvs/myproj
&lt;span class=&quot;nb&quot;&gt;export &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;UV_CACHE_DIR&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/scratch/uv_cache
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Add it to direnv and then run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;direnv allow&lt;/code&gt; to approve.&lt;/p&gt;

&lt;p&gt;Test using:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;uv add tqdm pip # only to be able to &amp;gt;pip show&amp;lt; on &amp;gt;uv run&amp;lt;
uv run python3 -m pip show tqdm
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;will return something like&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;...
Location: /scratch/venvs/bitter_lesson/lib/python3.12/site-packages
...
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now the heavy packages can live on cheap compute node storage instead of the master node.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Establishing Communication</title>
   <link href="https://akshit.one/2025/06/06/establishing-communication/"/>
   <updated>2025-06-06T00:00:00+00:00</updated>
   <id>https://akshit.one/2025/06/06/establishing-communication</id>
   <content type="html">&lt;p&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/Michelangelo_-_Creation_of_Adam_%28cropped%29.jpg/1920px-Michelangelo_-_Creation_of_Adam_%28cropped%29.jpg&quot; alt=&quot;The Creation of Adam – Michelangelo&quot; /&gt;&lt;br /&gt;
&lt;em&gt;Michelangelo, The Creation of Adam (c. 1512)&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;From &lt;em&gt;Ilya Sutskever, Oriol Vinyals &amp;amp; Quoc V. Le&lt;/em&gt;, “Sequence to Sequence Learning with Neural Networks,” &lt;em&gt;Advances in Neural Information Processing Systems 27&lt;/em&gt; (2014). &lt;a href=&quot;https://arxiv.org/abs/1409.3215&quot;&gt;arXiv:1409.3215&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Section 3.3 - Reversing the Source Sentences&lt;/p&gt;

&lt;p&gt;While the LSTM is capable of solving problems with long term dependencies, we discovered that the LSTM learns much better when the source sentences are reversed (the target sentences are not reversed). By doing so, the LSTM’s test perplexity dropped from 5.8 to 4.7, and the test BLEU scores of its decoded translations increased from 25.9 to 30.6.&lt;/p&gt;

&lt;p&gt;While we do not have a complete explanation to this phenomenon, we believe that it is caused by the introduction of many short-term dependencies to the dataset. Normally, when we concatenate a source sentence with a target sentence, each word in the source sentence is far from its corresponding word in the target sentence. As a result, the problem has a large “minimal time lag”. By reversing the words in the source sentence, the average distance between corresponding words in the source and target language is unchanged. However, the first few words in the source language are now very close to the first few words in the target language, so the problem’s minimal time lag is greatly reduced. Thus, backpropagation has an easier time “establishing communication” between the source sentence and the target sentence, which in turn results in substantially improved overall performance.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>--index-strategy unsafe-best-match</title>
   <link href="https://akshit.one/jekyll/update/2025/01/17/index-strategy-unsafe-best-match/"/>
   <updated>2025-01-17T22:30:47+00:00</updated>
   <id>https://akshit.one/jekyll/update/2025/01/17/index-strategy-unsafe-best-match</id>
   <content type="html">&lt;p&gt;Installing PyTorch 2.5.1, Fairseq2, CUDA 12.1.&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;uv pip install fairseq2 --pre --extra-index-url https://fair.pkg.atmeta.com/fairseq2/whl/pt2.5.1/cu121 --upgrade --index-strategy unsafe-best-match&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Note from uv:
“A compatible version may be available on a subsequent index (e.g., https://pypi.org/simple). By default, uv will only consider versions that are published on the first index that contains a given package,
to avoid dependency confusion attacks. If all indexes are equally trusted, use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--index-strategy unsafe-best-match&lt;/code&gt; to consider all versions from all indexes, regardless of the order in which they were
defined.”&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>biaffine dependency parsing</title>
   <link href="https://akshit.one/ml/2024/11/20/biaffine/"/>
   <updated>2024-11-20T05:25:47+00:00</updated>
   <id>https://akshit.one/ml/2024/11/20/biaffine</id>
   <content type="html">\[h_{i}^{head} = FNN^{head}(r_i)\]

\[h_{i}^{dep} = FNN^{dep}(r_i)\]

\[s_{i,j} = Biaff(h_i^{head}, h_j^{dep})\]

\[Biaff(x_1, x_2) = x_1^T U x_2 + W(x_1 \oplus x_2) + b\]

\[ArcScore :: Biaff(x_1, x_2) \rightarrow p^{|toks|}\]

\[LabelScore :: Biaff(x1, x2), pred \rightarrow p^{|labels|}\]

&lt;h4 id=&quot;references&quot;&gt;References&lt;/h4&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://aclanthology.org/2021.iwpt-1.13/&quot;&gt;Applying Occam’s Razor to Transformer-Based Dependency Parsing: What Works, What Doesn’t, and What is Really Necessary&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
 </entry>
 
 <entry>
   <title>Fixing the Python REPL in Emacs</title>
   <link href="https://akshit.one/emacs/python/2024/10/10/gnureadline/"/>
   <updated>2024-10-10T00:00:00+00:00</updated>
   <id>https://akshit.one/emacs/python/2024/10/10/gnureadline</id>
   <content type="html">&lt;p&gt;The default &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;uv&lt;/code&gt; python install uses libedit readline which doesn’t &lt;a href=&quot;https://github.com/syl20bnr/spacemacs/issues/15998&quot;&gt;work well&lt;/a&gt; with emacs.&lt;/p&gt;

&lt;h4 id=&quot;fix&quot;&gt;Fix&lt;/h4&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pip install gnureadline&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;python3 -m override_readline&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;might have to remove &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;__file__&lt;/code&gt; from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;override_readline.py&lt;/code&gt;, this has been solved already &lt;a href=&quot;https://github.com/ludwigschwardt/python-gnureadline/pull/75&quot;&gt;here&lt;/a&gt; but not merged yet.&lt;/li&gt;
  &lt;li&gt;this should make the repl use gnureadline.&lt;/li&gt;
  &lt;li&gt;final check
    &lt;div class=&quot;language-py highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;readline&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;readline&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;__doc__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
    &lt;p&gt;should print &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&apos;Importing this module enables command line editing using GNU readline.&apos;&lt;/code&gt;.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;
</content>
 </entry>
 
 <entry>
   <title>std::multiset</title>
   <link href="https://akshit.one/c++/cp/2024/06/24/multiset/"/>
   <updated>2024-06-24T00:00:00+00:00</updated>
   <id>https://akshit.one/c++/cp/2024/06/24/multiset</id>
   <content type="html">&lt;p&gt;For problems needing logarithmic searching and removing,
like &lt;a href=&quot;https://cses.fi/problemset/task/1091/&quot;&gt;concert tickets&lt;/a&gt;,
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;std::multiset&lt;/code&gt;&lt;/p&gt;

&lt;div class=&quot;language-c++ highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;multiset&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tickets&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;auto&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;it&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tickets&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;upper_bound&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;..&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;tickets&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;erase&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Ada Cluster Reference</title>
   <link href="https://akshit.one/2024/04/26/ada-reference/"/>
   <updated>2024-04-26T00:00:00+00:00</updated>
   <id>https://akshit.one/2024/04/26/ada-reference</id>
   <content type="html">&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ncdu&lt;/code&gt; for looking at the disk usage.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sinteractive -c 10 -g 2&lt;/code&gt; for getting a node.&lt;/li&gt;
  &lt;li&gt;Jupyter setup
    &lt;ul&gt;
      &lt;li&gt;Run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;jupyter lab password&lt;/code&gt; followed by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;jupyter lab --no-browser&lt;/code&gt; on ada.&lt;/li&gt;
      &lt;li&gt;Tunnel to your system: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ssh -L 1025:localhost:8888 -J akshit.kumar@ada.iiit.ac.in akshit.kumar@gnodeXX&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;connect to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;localhost:1025&lt;/code&gt; using emacs/browser.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;pyenv and pipenv
    &lt;ul&gt;
      &lt;li&gt;torch install &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pipenv install torch torchaudio torchvision&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;set local python as: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pyenv local 3.X&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pipenv shell&lt;/code&gt; to use the installed configuration.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;
</content>
 </entry>
 
 <entry>
   <title>Static Types and Legacy Python</title>
   <link href="https://akshit.one/2023/11/17/why-types/"/>
   <updated>2023-11-17T00:00:00+00:00</updated>
   <id>https://akshit.one/2023/11/17/why-types</id>
   <content type="html">&lt;h4 id=&quot;update-pls-use-pathlib&quot;&gt;Update: pls use &lt;a href=&quot;https://docs.python.org/3/library/pathlib.html&quot;&gt;pathlib&lt;/a&gt;&lt;/h4&gt;

&lt;p&gt;I was given a folder of python2 files to work with for 
a task required to be done for my lab (LTRC, IIIT-H).&lt;/p&gt;

&lt;p&gt;The files, of course, had issues – they were written
some time ago by people no longer associated
with the project. The issues weren’t really unsolvable
in any way.&lt;/p&gt;

&lt;p&gt;Most of them involved &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;file_not_found&lt;/code&gt; – probably
due to a path issue or some variable lacking a parameter.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-python2&quot;&gt;TypeError: &apos;bool&apos; object has no attribute &apos;__getitem__&apos;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Most of these issues simply would not have existed 
if a language with static typing was used, saving time in the future (at this moment).&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Fetching Recent Last.fm Tracks</title>
   <link href="https://akshit.one/server/python/2023/11/06/serverside/"/>
   <updated>2023-11-06T00:00:00+00:00</updated>
   <id>https://akshit.one/server/python/2023/11/06/serverside</id>
   <content type="html">&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;#!/usr/bin/env python3
&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;http.client&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;json&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;api_key&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;thistotallyworks&quot;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;username&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;marxplank&quot;&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;conn&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;http&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;client&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;HTTPSConnection&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;ws.audioscrobbler.com&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;url&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;/2.0/?method=user.getrecenttracks&amp;amp;user=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;username&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;amp;api_key=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;api_key&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;amp;format=json&quot;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;conn&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;request&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;GET&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;response&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;conn&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;getresponse&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;status&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;200&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;json&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;loads&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;read&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;decode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;track&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;recenttracks&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;track&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;artist&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;track&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;artist&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;#text&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;track_name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;track&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;name&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;result&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;track_name&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt; by &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;artist&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;result&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;Failed to retrieve recent tracks.&quot;&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;conn&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;close&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;code&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&quot;&amp;lt;website code /&amp;gt;&quot;&lt;/span&gt;
    &lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;result&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&apos;&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&quot;&amp;lt;rest of it /&amp;gt;&quot;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;pathlib&lt;/span&gt; &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Path&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;root_folder&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;__file__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;parents&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;rpath&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;root_folder&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;public_html/index.html&quot;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;with&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rpath&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;w&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;seek&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;code&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Typeface preferences and C-k</title>
   <link href="https://akshit.one/2023/08/29/iosevka/"/>
   <updated>2023-08-29T00:00:00+00:00</updated>
   <id>https://akshit.one/2023/08/29/iosevka</id>
   <content type="html">&lt;div class=&quot;language-lisp highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;set-frame-font&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-*-Iosevka-regular-normal-normal-*-12-*-*-*-m-0-iso10646-1&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;wisdom: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;C-k&lt;/code&gt; does not copy into the global mark-ring most times.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Exporting Org Notes to Jekyll</title>
   <link href="https://akshit.one/post/2022/12/14/org-notes-to-jekyll/"/>
   <updated>2022-12-14T15:16:22+00:00</updated>
   <id>https://akshit.one/post/2022/12/14/org-notes-to-jekyll-</id>
   <content type="html">&lt;div class=&quot;language-emacs-lisp highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;defun&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;generate-file-name&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;interactive&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;sEnter title:&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;message&lt;/span&gt;
	 &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;format&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;/Some/Folder/komikat.github.io/_posts/%s-%s.md&quot;&lt;/span&gt;
		   &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;format-time-string&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;%Y-%m-%d&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
				   &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;replace-regexp-in-string&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot; &quot;&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-&quot;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;downcase&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))))&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

  &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;defun&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;generate-header-post&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;format&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;---
layout: post
title: \&quot;%s\&quot;
date: %s
categories: post
comments: false
---
&quot;&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;title&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;format-time-string&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;%Y-%m-%d %H:%M:%S %z&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;then combine the two after converting the org buffer to markdown using &lt;a href=&quot;https://github.com/larstvei/ox-gfm&quot;&gt;ox-gfm&lt;/a&gt;.&lt;/p&gt;

&lt;div class=&quot;language-emacs-lisp highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;defun&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;generate-post&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;interactive&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;sEnter title:&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;progn&lt;/span&gt;
	&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;org-gfm-export-as-markdown&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;write-region&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;generate-header-post&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;generate-file-name&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;write-region&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;nil&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;generate-file-name&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Doesn’t support images for now.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>lisp syntax highlight testing</title>
   <link href="https://akshit.one/fp/racket/2022/11/14/nth-elem/"/>
   <updated>2022-11-14T00:00:00+00:00</updated>
   <id>https://akshit.one/fp/racket/2022/11/14/nth-elem</id>
   <content type="html">&lt;div class=&quot;language-racket highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cons&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;one&quot;&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;second&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;; &apos;(&quot;one&quot; &quot;second&quot;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;useful-links&quot;&gt;Useful links&lt;/h4&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://gigamonkeys.com/book/they-called-it-lisp-for-a-reason-list-processing.html&quot;&gt;Practical Common Lisp&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/questions/50320764/racket-writing-function-that-find-nth-element-in-list&quot;&gt;Relevant stack overflow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
 </entry>
 
 <entry>
   <title>Asahi Linux Setup</title>
   <link href="https://akshit.one/arch/emacs/2022/08/03/arch-setup/"/>
   <updated>2022-08-03T12:36:10+00:00</updated>
   <id>https://akshit.one/arch/emacs/2022/08/03/arch-setup</id>
   <content type="html">&lt;p&gt;Why? i3 and less clutter&lt;/p&gt;

&lt;h4 id=&quot;display-manager-and-zsh&quot;&gt;Display Manager and ZSH&lt;/h4&gt;
&lt;ul&gt;
  &lt;li&gt;LightDM is a mess.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;startx&lt;/code&gt; after login – remove &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;xdisplay&lt;/code&gt; commands and append &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;exec i3&lt;/code&gt; to .xinitrc. ZSH
is the default shell.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;emacs&quot;&gt;Emacs&lt;/h4&gt;
&lt;ul class=&quot;task-list&quot;&gt;
  &lt;li&gt;AUR has a native-comp install which works on ARM64.&lt;/li&gt;
  &lt;li&gt;find it way faster than native-comp on MAC OSX, not sure why.&lt;/li&gt;
  &lt;li class=&quot;task-list-item&quot;&gt;&lt;input type=&quot;checkbox&quot; class=&quot;task-list-item-checkbox&quot; disabled=&quot;disabled&quot; /&gt;TODO: custom emacs init functions for mac/linux&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;iiit-git-setup&quot;&gt;IIIT Git setup&lt;/h4&gt;
&lt;p&gt;IIIT has blocked the default ports on LAN,
```config
Host github.com
    Hostname ssh.github.com
    Port 443
    User git&lt;/p&gt;

&lt;p&gt;Host gitlab.com
    Hostname altssh.gitlab.com
    Port 443
    User git
    PreferredAuthentications publickey```
after setting username and email.&lt;/p&gt;

&lt;h3 id=&quot;email&quot;&gt;Email&lt;/h3&gt;
&lt;p&gt;WIP&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Hello world! (for the 7538th time)</title>
   <link href="https://akshit.one/jekyll/update/2022/01/13/hello-world/"/>
   <updated>2022-01-13T11:04:47+00:00</updated>
   <id>https://akshit.one/jekyll/update/2022/01/13/hello-world</id>
   <content type="html">&lt;h3 id=&quot;update&quot;&gt;Update&lt;/h3&gt;
&lt;p&gt;This website is now serves to be my public notepad.&lt;/p&gt;

&lt;p&gt;I’ve been meaning to blog for some time now, finally went around caring enough to actually set it up and deploy. The blog also coincides with January 1st (we’re &lt;em&gt;13&lt;/em&gt; days late actually but lets ignore that for a moment), a Happy New Years to you too. &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;If you’re looking to chat, I’m eternally active on discord – komikat#5603, a few other socials are linked in the footer.&lt;/p&gt;
</content>
 </entry>
 

</feed>

