Compare commits

...

9 Commits

Author SHA1 Message Date
filifa 0a1dca1b8c add favorites 2025-07-27 20:21:31 -04:00
filifa 91df2b8529 add robots.txt 2025-07-27 19:27:45 -04:00
filifa 8cb98a5735 add email 2025-07-27 18:25:35 -04:00
filifa c1371e7ea4 add project euler profile badge 2025-07-27 16:43:53 -04:00
filifa 22166a001e reduce width of favorite column 2025-07-27 16:08:22 -04:00
filifa 9440d58125 style table 2025-07-27 15:53:05 -04:00
filifa cc26ae50b7 mark some favorites 2025-07-27 15:14:14 -04:00
filifa cab44e03d3 add page description 2025-07-27 14:16:15 -04:00
filifa 65fc4af558 add table with links to project euler solutions 2025-07-27 13:57:17 -04:00
6 changed files with 891 additions and 1 deletions

View File

@ -20,6 +20,54 @@
rendering of the Loveland frog monster" width=944 height=850
/>
<p>I'm in your walls.</p>
<h2 class="cleared">Favorites.</h2>
<h3>Albums.</h3>
<ul>
<li>Oceanic - ISIS</li>
<li>Panopticon - ISIS</li>
<li>Ants From Up There - Black Country, New Road</li>
<li>Ashes Against the Grain - Agalloch</li>
<li>In Rainbows - Radiohead</li>
<li>Mellon Collie and the Infinite Sadness - Smashing Pumpkins</li>
<li>Flood - Boris</li>
<li>Solace - Jakob</li>
<li>Emergency &amp; I - Dismemberment Plan</li>
<li>The Downward Spiral - Nine Inch Nails</li>
<li>Lift Your Skinny Fists Like Antennas to Heaven - Godspeed You! Black Emperor</li>
<li>Stage Four - Touche Amore</li>
<li>Mirror Reaper - Bell Witch</li>
<li>Sunbather - Deafheaven</li>
<li>Somewhere Along the Highway - Cult of Luna</li>
<li>This Will Destroy You - This Will Destroy You</li>
<li>Siamese Dream - Smashing Pumpkins</li>
</ul>
<h3>Movies.</h3>
<ul>
<li>2001: A Space Odyssey</li>
<li>The Dark Knight</li>
<li>The Big Short</li>
<li>Spider-Man 2</li>
<li>Bill and Ted's Execellent Adventure</li>
<li>Inglourious Basterds</li>
<li>Monty Python and the Holy Grail</li>
<li>Napoleon Dynamite</li>
<li>Clerks</li>
<li>My Cousin Vinny</li>
<li>The Departed</li>
</ul>
<h3>TV shows.</h3>
<ul>
<li>Community</li>
<li>Nathan for You</li>
<li>Veep</li>
<li>Arrested Development</li>
<li>It's Always Sunny in Philadelphia</li>
<li>Workaholics</li>
</ul>
<h2>Contact.</h2>
<p><a href="mailto:filifa.breath652@8alias.com">filifa.breath652@8alias.com</a></p>
</article>
</main>
</body>

688
eulerbooks/eulerbooks.html Normal file
View File

@ -0,0 +1,688 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link rel="stylesheet" href="/styles/default.css" />
<link rel="stylesheet" href="/styles/eulerbooks.css" />
<link rel="icon" href="/images/favicon.ico" />
<title>Eulerbooks</title>
</head>
<body>
<header>
<p><a id="homelink" href="/">dairydemon.net</a></p>
</header>
<main>
<article>
<img id="euler-badge" src="https://projecteuler.net/profile/filifa.png" alt="a badge showing filifa's up-to-date Project Euler statistics (solved 168 as of 2025-07-27)" width="200px" height="60px"/>
<h1 id="eulerbooks">Eulerbooks</h1>
<p>This is a collection of Jupyter notebooks containing solutions and
discussions for the first 100 <a
href="https://projecteuler.net">Project Euler problems</a> using <a
href="https://www.sagemath.org">SageMath</a>.</p>
<p>My main goal with these notebooks is not simply to provide working
code for solving the problems. Frequently, solutions to these problems
are short, but theyre not always easy to follow without understanding
some important mathematical principles. Therefore, my aim is to provide
insight into the underlying algorithms and mathematical concepts that
make an efficient solution possible. I personally find that these
topics are frequently even more interesting than the problems
themselves, which I see as mainly existing to provide situations to
apply the concepts after learning about them. In short, its more about
the journey, not the destination, so these notebooks mainly exist to
discuss the former.</p>
<h2 id="approach">Approach</h2>
<p>Frequently, either Python or SageMath provide functions and
libraries that make it trivially easy to write a solution. I dont have
a problem with presenting solutions that use these, since for practical
purposes, its better to use whats already available than to reinvent
the wheel. It also tends to lead to code that is easy to read and
understand, which is the best kind of code.</p>
<p>However, when a function already exists that does the heavy lifting,
I also tend to provide my own basic implementation and an explanation
of why it works. This is especially true if a solution or algorithm is
based off of an important mathematical concept that is not especially
intuitive.</p>
<p>When not especially tedious, I like writing up solutions that do not
require programming at all, since these approaches often require
interesting mathematical techniques.</p>
<p>Another thing to note is that I dont prioritize a solutions
performance above all. When a solution is fast enough (using Project
Eulers own “one-minute rule” as a rule of thumb), I instead usually
focus on making the code easy to read. You can basically always
optimize, but there are frequently diminishing returns, and it tends to
negatively impact readability. Once a solution is fast enough to solve
the problem at hand, I only consider optimizing further if the concepts
are reusable.</p>
<h2 id="solutions">Solutions</h2>
<p>Solutions are provided as non-interactive HTML renderings that you
can view directly in your browser. Alternatively, you can download the
Jupyter notebooks to play with them yourself. I've also marked some of
my favorite problems.</p>
<table>
<caption>
Project Euler solutions
</caption>
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">HTML</th>
<th scope="col">Notebook</th>
<th scope="col">Favorite?</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td><a href="html/problem0001.html">View</a></td>
<td><a href="notebooks/problem0001.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">2</th>
<td><a href="html/problem0002.html">View</a></td>
<td><a href="notebooks/problem0002.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">3</th>
<td><a href="html/problem0003.html">View</a></td>
<td><a href="notebooks/problem0003.ipynb">Download</a></td>
<td>Yes</td>
</tr>
<tr>
<th scope="row">4</th>
<td><a href="html/problem0004.html">View</a></td>
<td><a href="notebooks/problem0004.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">5</th>
<td><a href="html/problem0005.html">View</a></td>
<td><a href="notebooks/problem0005.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">6</th>
<td><a href="html/problem0006.html">View</a></td>
<td><a href="notebooks/problem0006.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">7</th>
<td><a href="html/problem0007.html">View</a></td>
<td><a href="notebooks/problem0007.ipynb">Download</a></td>
<td>Yes</td>
</tr>
<tr>
<th scope="row">8</th>
<td><a href="html/problem0008.html">View</a></td>
<td><a href="notebooks/problem0008.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">9</th>
<td><a href="html/problem0009.html">View</a></td>
<td><a href="notebooks/problem0009.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">10</th>
<td><a href="html/problem0010.html">View</a></td>
<td><a href="notebooks/problem0010.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">11</th>
<td><a href="html/problem0011.html">View</a></td>
<td><a href="notebooks/problem0011.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">12</th>
<td><a href="html/problem0012.html">View</a></td>
<td><a href="notebooks/problem0012.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">13</th>
<td><a href="html/problem0013.html">View</a></td>
<td><a href="notebooks/problem0013.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">14</th>
<td><a href="html/problem0014.html">View</a></td>
<td><a href="notebooks/problem0014.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">15</th>
<td><a href="html/problem0015.html">View</a></td>
<td><a href="notebooks/problem0015.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">16</th>
<td><a href="html/problem0016.html">View</a></td>
<td><a href="notebooks/problem0016.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">17</th>
<td><a href="html/problem0017.html">View</a></td>
<td><a href="notebooks/problem0017.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">18</th>
<td><a href="html/problem0018.html">View</a></td>
<td><a href="notebooks/problem0018.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">19</th>
<td><a href="html/problem0019.html">View</a></td>
<td><a href="notebooks/problem0019.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">20</th>
<td><a href="html/problem0020.html">View</a></td>
<td><a href="notebooks/problem0020.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">21</th>
<td><a href="html/problem0021.html">View</a></td>
<td><a href="notebooks/problem0021.ipynb">Download</a></td>
<td>Yes</td>
</tr>
<tr>
<th scope="row">22</th>
<td><a href="html/problem0022.html">View</a></td>
<td><a href="notebooks/problem0022.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">23</th>
<td><a href="html/problem0023.html">View</a></td>
<td><a href="notebooks/problem0023.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">24</th>
<td><a href="html/problem0024.html">View</a></td>
<td><a href="notebooks/problem0024.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">25</th>
<td><a href="html/problem0025.html">View</a></td>
<td><a href="notebooks/problem0025.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">26</th>
<td><a href="html/problem0026.html">View</a></td>
<td><a href="notebooks/problem0026.ipynb">Download</a></td>
<td>Yes</td>
</tr>
<tr>
<th scope="row">27</th>
<td><a href="html/problem0027.html">View</a></td>
<td><a href="notebooks/problem0027.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">28</th>
<td><a href="html/problem0028.html">View</a></td>
<td><a href="notebooks/problem0028.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">29</th>
<td><a href="html/problem0029.html">View</a></td>
<td><a href="notebooks/problem0029.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">30</th>
<td><a href="html/problem0030.html">View</a></td>
<td><a href="notebooks/problem0030.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">31</th>
<td><a href="html/problem0031.html">View</a></td>
<td><a href="notebooks/problem0031.ipynb">Download</a></td>
<td>Yes</td>
</tr>
<tr>
<th scope="row">32</th>
<td><a href="html/problem0032.html">View</a></td>
<td><a href="notebooks/problem0032.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">33</th>
<td><a href="html/problem0033.html">View</a></td>
<td><a href="notebooks/problem0033.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">34</th>
<td><a href="html/problem0034.html">View</a></td>
<td><a href="notebooks/problem0034.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">35</th>
<td><a href="html/problem0035.html">View</a></td>
<td><a href="notebooks/problem0035.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">36</th>
<td><a href="html/problem0036.html">View</a></td>
<td><a href="notebooks/problem0036.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">37</th>
<td><a href="html/problem0037.html">View</a></td>
<td><a href="notebooks/problem0037.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">38</th>
<td><a href="html/problem0038.html">View</a></td>
<td><a href="notebooks/problem0038.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">39</th>
<td><a href="html/problem0039.html">View</a></td>
<td><a href="notebooks/problem0039.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">40</th>
<td><a href="html/problem0040.html">View</a></td>
<td><a href="notebooks/problem0040.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">41</th>
<td><a href="html/problem0041.html">View</a></td>
<td><a href="notebooks/problem0041.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">42</th>
<td><a href="html/problem0042.html">View</a></td>
<td><a href="notebooks/problem0042.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">43</th>
<td><a href="html/problem0043.html">View</a></td>
<td><a href="notebooks/problem0043.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">44</th>
<td><a href="html/problem0044.html">View</a></td>
<td><a href="notebooks/problem0044.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">45</th>
<td><a href="html/problem0045.html">View</a></td>
<td><a href="notebooks/problem0045.ipynb">Download</a></td>
<td>Yes</td>
</tr>
<tr>
<th scope="row">46</th>
<td><a href="html/problem0046.html">View</a></td>
<td><a href="notebooks/problem0046.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">47</th>
<td><a href="html/problem0047.html">View</a></td>
<td><a href="notebooks/problem0047.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">48</th>
<td><a href="html/problem0048.html">View</a></td>
<td><a href="notebooks/problem0048.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">49</th>
<td><a href="html/problem0049.html">View</a></td>
<td><a href="notebooks/problem0049.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">50</th>
<td><a href="html/problem0050.html">View</a></td>
<td><a href="notebooks/problem0050.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">51</th>
<td><a href="html/problem0051.html">View</a></td>
<td><a href="notebooks/problem0051.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">52</th>
<td><a href="html/problem0052.html">View</a></td>
<td><a href="notebooks/problem0052.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">53</th>
<td><a href="html/problem0053.html">View</a></td>
<td><a href="notebooks/problem0053.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">54</th>
<td><a href="html/problem0054.html">View</a></td>
<td><a href="notebooks/problem0054.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">55</th>
<td><a href="html/problem0055.html">View</a></td>
<td><a href="notebooks/problem0055.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">56</th>
<td><a href="html/problem0056.html">View</a></td>
<td><a href="notebooks/problem0056.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">57</th>
<td><a href="html/problem0057.html">View</a></td>
<td><a href="notebooks/problem0057.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">58</th>
<td><a href="html/problem0058.html">View</a></td>
<td><a href="notebooks/problem0058.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">59</th>
<td><a href="html/problem0059.html">View</a></td>
<td><a href="notebooks/problem0059.ipynb">Download</a></td>
<td>Yes</td>
</tr>
<tr>
<th scope="row">60</th>
<td><a href="html/problem0060.html">View</a></td>
<td><a href="notebooks/problem0060.ipynb">Download</a></td>
<td>Yes</td>
</tr>
<tr>
<th scope="row">61</th>
<td><a href="html/problem0061.html">View</a></td>
<td><a href="notebooks/problem0061.ipynb">Download</a></td>
<td>Yes</td>
</tr>
<tr>
<th scope="row">62</th>
<td><a href="html/problem0062.html">View</a></td>
<td><a href="notebooks/problem0062.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">63</th>
<td><a href="html/problem0063.html">View</a></td>
<td><a href="notebooks/problem0063.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">64</th>
<td><a href="html/problem0064.html">View</a></td>
<td><a href="notebooks/problem0064.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">65</th>
<td><a href="html/problem0065.html">View</a></td>
<td><a href="notebooks/problem0065.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">66</th>
<td><a href="html/problem0066.html">View</a></td>
<td><a href="notebooks/problem0066.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">67</th>
<td><a href="html/problem0067.html">View</a></td>
<td><a href="notebooks/problem0067.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">68</th>
<td><a href="html/problem0068.html">View</a></td>
<td><a href="notebooks/problem0068.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">69</th>
<td><a href="html/problem0069.html">View</a></td>
<td><a href="notebooks/problem0069.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">70</th>
<td><a href="html/problem0070.html">View</a></td>
<td><a href="notebooks/problem0070.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">71</th>
<td><a href="html/problem0071.html">View</a></td>
<td><a href="notebooks/problem0071.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">72</th>
<td><a href="html/problem0072.html">View</a></td>
<td><a href="notebooks/problem0072.ipynb">Download</a></td>
<td>Yes</td>
</tr>
<tr>
<th scope="row">73</th>
<td><a href="html/problem0073.html">View</a></td>
<td><a href="notebooks/problem0073.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">74</th>
<td><a href="html/problem0074.html">View</a></td>
<td><a href="notebooks/problem0074.ipynb">Download</a></td>
<td>Yes</td>
</tr>
<tr>
<th scope="row">75</th>
<td><a href="html/problem0075.html">View</a></td>
<td><a href="notebooks/problem0075.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">76</th>
<td><a href="html/problem0076.html">View</a></td>
<td><a href="notebooks/problem0076.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">77</th>
<td><a href="html/problem0077.html">View</a></td>
<td><a href="notebooks/problem0077.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">78</th>
<td><a href="html/problem0078.html">View</a></td>
<td><a href="notebooks/problem0078.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">79</th>
<td><a href="html/problem0079.html">View</a></td>
<td><a href="notebooks/problem0079.ipynb">Download</a></td>
<td>Yes</td>
</tr>
<tr>
<th scope="row">80</th>
<td><a href="html/problem0080.html">View</a></td>
<td><a href="notebooks/problem0080.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">81</th>
<td><a href="html/problem0081.html">View</a></td>
<td><a href="notebooks/problem0081.ipynb">Download</a></td>
<td>Yes</td>
</tr>
<tr>
<th scope="row">82</th>
<td><a href="html/problem0082.html">View</a></td>
<td><a href="notebooks/problem0082.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">83</th>
<td><a href="html/problem0083.html">View</a></td>
<td><a href="notebooks/problem0083.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">84</th>
<td><a href="html/problem0084.html">View</a></td>
<td><a href="notebooks/problem0084.ipynb">Download</a></td>
<td>Yes</td>
</tr>
<tr>
<th scope="row">85</th>
<td><a href="html/problem0085.html">View</a></td>
<td><a href="notebooks/problem0085.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">86</th>
<td><a href="html/problem0086.html">View</a></td>
<td><a href="notebooks/problem0086.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">87</th>
<td><a href="html/problem0087.html">View</a></td>
<td><a href="notebooks/problem0087.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">88</th>
<td><a href="html/problem0088.html">View</a></td>
<td><a href="notebooks/problem0088.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">89</th>
<td><a href="html/problem0089.html">View</a></td>
<td><a href="notebooks/problem0089.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">90</th>
<td><a href="html/problem0090.html">View</a></td>
<td><a href="notebooks/problem0090.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">91</th>
<td><a href="html/problem0091.html">View</a></td>
<td><a href="notebooks/problem0091.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">92</th>
<td><a href="html/problem0092.html">View</a></td>
<td><a href="notebooks/problem0092.ipynb">Download</a></td>
<td>Yes</td>
</tr>
<tr>
<th scope="row">93</th>
<td><a href="html/problem0093.html">View</a></td>
<td><a href="notebooks/problem0093.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">94</th>
<td><a href="html/problem0094.html">View</a></td>
<td><a href="notebooks/problem0094.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">95</th>
<td><a href="html/problem0095.html">View</a></td>
<td><a href="notebooks/problem0095.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">96</th>
<td><a href="html/problem0096.html">View</a></td>
<td><a href="notebooks/problem0096.ipynb">Download</a></td>
<td>Yes</td>
</tr>
<tr>
<th scope="row">97</th>
<td><a href="html/problem0097.html">View</a></td>
<td><a href="notebooks/problem0097.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">98</th>
<td><a href="html/problem0098.html">View</a></td>
<td><a href="notebooks/problem0098.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">99</th>
<td><a href="html/problem0099.html">View</a></td>
<td><a href="notebooks/problem0099.ipynb">Download</a></td>
<td></td>
</tr>
<tr>
<th scope="row">100</th>
<td><a href="html/problem0100.html">View</a></td>
<td><a href="notebooks/problem0100.ipynb">Download</a></td>
<td></td>
</tr>
</tbody>
</table>
</article>
</main>
</body>
</html>

View File

@ -27,11 +27,12 @@
<h1>Hi.</h1>
<p>Welcome to one of the most boring websites on the internet.</p>
<p>Feel free to peruse any of the <em>two</em> (2) interesting things
<p>Feel free to peruse any of the <em>three</em> (3) interesting things
on this site:</p>
<ul>
<li><a href='mgs/mgs.html'>this Metal Gear Solid trivia game I made</a>
<li><a href='statsapi/index.html'>generated documentation for MLB's Stats API</a>
<li><a href='eulerbooks/eulerbooks.html'>Jupyter notebooks for the first 100 Project Euler problems</a>
</ul>
</article>
</main>

125
robots.txt Normal file
View File

@ -0,0 +1,125 @@
# many entries lifted from https://seirdy.one/robots.txt
# several also come from https://radar.cloudflare.com/bots#verified-bots
# and still others from https://github.com/ai-robots-txt/ai.robots.txt
# adtech
User-Agent: peer39_crawler/1.0
Disallow: /
# IP-violation scanners
User-Agent: TurnitinBot
Disallow: /
User-Agent: AcademicBotRTU
Disallow: /
User-Agent: NPBot
Disallow: /
User-Agent: SlySearch
Disallow: /
User-Agent: BLEXBot
Disallow: /
User-agent: CheckMarkNetwork/1.0 (+https://www.checkmarknetwork.com/spider.html)
Disallow: /
User-agent: BrandVerity/1.0
Disallow: /
# Identity data scraper
User-agent: PiplBot
Disallow: /
# Gen-AI data scrapers
User-agent: GPTBot
User-agent: ChatGPT-User
User-agent: OAI-SearchBot
Disallow: /
User-agent: Google-Extended
User-Agent: GoogleOther
User-Agent: Google-CloudVertexBot
User-Agent: Gemini-Deep-Research
User-Agent: GoogleAgent-Mariner
Disallow: /
User-agent: Applebot
User-agent: Applebot-Extended
Disallow: /
User-agent: ClaudeBot
User-agent: Claude-User
User-agent: Claude-Web
Disallow: /
User-Agent: FacebookBot
User-Agent: meta-externalagent
User-Agent: Meta-ExternalAgent
User-Agent: meta-externalfetcher
User-Agent: Meta-ExternalFetcher
Disallow: /
User-agent: Cotoyogi
Disallow: /
User-agent: Webzio-extended
Disallow: /
User-agent: Kangaroo Bot
Disallow: /
User-Agent: GenAI
Disallow: /
User-Agent: SemrushBot-OCOB
User-Agent: SemrushBot-FT
Disallow: /
User-Agent: VelenPublicWebCrawler
Disallow: /
User-Agent: Amazonbot
Disallow: /
User-Agent: PetalBot
Disallow: /
User-Agent: PerplexityBot
User-Agent: Perplexity-User
Disallow: /
User-Agent: DuckAssistBot
Disallow: /
User-Agent: anthropic-ai
Disallow: /
User-Agent: MistralAI-User
User-Agent: MistralAI-User/1.0
Disallow: /
User-Agent: cohere-ai
Disallow: /
User-Agent: Quora-Bot
Disallow: /
User-Agent: Scrapy
Disallow: /

View File

@ -6,3 +6,7 @@
margin-bottom: 10px;
float: left;
}
.cleared {
clear: left;
}

24
styles/eulerbooks.css Normal file
View File

@ -0,0 +1,24 @@
table {
width: 100%;
text-align: left;
}
caption {
font-weight: bold;
}
tbody > tr:nth-of-type(even) {
background-color: mediumturquoise;
}
tr :nth-child(1) {
text-align: right;
}
tr :nth-child(4) {
width: 20%;
}
#euler-badge {
float: right;
}