From e1c5bcb98584d03b7af6d6f1561b80d2241ad782 Mon Sep 17 00:00:00 2001 From: xAlpharax <42233094+xAlpharax@users.noreply.github.com> Date: Fri, 21 Feb 2025 23:20:43 +0200 Subject: Preapring for going live. Changes to be committed: modified: .gitignore modified: content/about.md new file: content/posts/Generating Functions.md new file: content/posts/Void Linux - A Comfy Guide.md modified: content/posts/_index.md renamed: content/posts/code_test.md -> content/posts/code-syntax-highlighting.md deleted: content/posts/some_cool_stuff.md modified: content/posts/typography.md new file: content/posts/youtube.md renamed: content/posts/How I made this Blog with Zola.md -> content/posts/zola-blog.md modified: static/Alphara.png --- .gitignore | 1 + content/about.md | 7 +-- content/posts/Generating Functions.md | 53 ++++++++++++++++++++ content/posts/How I made this Blog with Zola.md | 20 -------- content/posts/Void Linux - A Comfy Guide.md | 16 +++++++ content/posts/_index.md | 2 +- content/posts/code-syntax-highlighting.md | 61 ++++++++++++++++++++++++ content/posts/code_test.md | 43 ----------------- content/posts/some_cool_stuff.md | 32 ------------- content/posts/typography.md | 11 +++-- content/posts/youtube.md | 24 ++++++++++ content/posts/zola-blog.md | 20 ++++++++ static/Alphara.png | Bin 78378 -> 138470 bytes 13 files changed, 185 insertions(+), 105 deletions(-) create mode 100644 content/posts/Generating Functions.md delete mode 100644 content/posts/How I made this Blog with Zola.md create mode 100644 content/posts/Void Linux - A Comfy Guide.md create mode 100644 content/posts/code-syntax-highlighting.md delete mode 100644 content/posts/code_test.md delete mode 100644 content/posts/some_cool_stuff.md create mode 100644 content/posts/youtube.md create mode 100644 content/posts/zola-blog.md diff --git a/.gitignore b/.gitignore index 364fdec..4f18294 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ public/ +.obsidian/ diff --git a/content/about.md b/content/about.md index 85c6e79..e9eda42 100644 --- a/content/about.md +++ b/content/about.md @@ -1,9 +1,4 @@ +++ title = "About" +date = 2025-01-27 +++ - -Hi there! My name is Iustin. I'm a math student from Romania with a background in AI development and research. This blog represents my attempt at sharing personal thoughts and experiences as a follow-through venture in AI research, mathematics, philosophy and Linux related things, as well as a bunch of other things that define my interests. - -I wish to write interesting, useful, qualitative and fun content for you to read and learn from. I hope you will enjoy! - -Welcome to my corner of organised anarchy on the internet! Feel free to reach out to me if you have any questions or comments or would like to chat. I am always happy and open to meet passionate people. diff --git a/content/posts/Generating Functions.md b/content/posts/Generating Functions.md new file mode 100644 index 0000000..8d90696 --- /dev/null +++ b/content/posts/Generating Functions.md @@ -0,0 +1,53 @@ ++++ +title = "Generating Functions" +date = 2024-10-08 +draft = true + +[taxonomies] +tags = ["math"] + +[extra] +math = true +disable_comments = true +toc = false ++++ + +A generating function is just a different way of writing a sequence of numbers. Here we will be dealing mainly with sequences of numbers $(a_n)$ which represent the number of objects of size $n$ for an enumeration problem. The interest of this notation is that certain natural operations on generating functions lead to powerful methods for dealing with recurrences on $a_n$. + +***Theorem 1:*** Let $(a_n)_{n \geq 0}$ be a sequence of numbers. The generating function associated to this sequence is the series: + +$$A(x) = \sum_{n \geq 0} a_n x^n .$$ + +Also if we consider a class $A$ of objects to be enumerated, we call generating function of this class the generating function + +$$A(x) = \sum_{n \geq 0} a_n x^n ,$$ + +where $a_n$ is the number of objects of size $n$ in the class. + +Note that the variable $x$ in generating functions doesn’t stand for anything but serves as a placeholder for keeping track of the coefficients of $x^n$. + +**Example 1:** The generating function associated to the class of binary sequences (where the size of a sequence is its length) is $A(x) = \sum_{n \geq 0} 2^n x^n$ since there are $a_n = 2^n$ binary sequences of size $n$. + +**Example 2:** Let $p$ be a positive integer. The generating function associated to the sequence $a_n = \binom{k}{n}$ for $n \leq k$ and $a_n = 0$ for $n > k$ is actually a polynomial: + +$$A(x) = \sum_{n \geq 0} \binom{k}{n} x^n = (1 + x)^k .$$ + +Here the second equality uses the binomial theorem. Thus $A(x) = (1+x)^k$ is the generating function of the subsets of $\set{1, 2, \ldots, k}$ (where the size of a subset is its number of elements). + +We see on this second example that the generating function has a very simple form. In fact, more simple than the sequence itself. This is the first magic of generating functions: in many natural instances the generating function turns out to be very simple. + +Let us now modify this example in connection with probabilities. Suppose we have a coin having probability $p$ of landing on heads and a probability $q = 1 - p$ of landing on tails. We toss it $k$ times and denote by an the probability of getting exactly $n$ heads. What is the generating function of the sequence $(a_n)$? Well, it can be seen that $a_n = \binom{k}{n} q^{k-n} p^n$ thus the generating function is + +$$A(x) = \sum_{n \geq 0} \binom{k}{n} q^{k-n} p^n x^n = (q + px)^k .$$ + +using the binomial theorem again. + +Now, we observe that the generating function is + +$$(q + px)(q + px)(q + px)\cdot\cdot\cdot(q + px) ,$$ + +which is just multiplying $k$ times the generating function $(q + px)$ corresponding to a single toss of the coin. + +This is the second magic of generating functions: the generating function for complicated things can be obtained from the generating function for simple things. We will explain this in details, but first we consider an example. + +***Theorem 2:*** Let $\mathcal{A}$ and $\mathcal{B}$ be classes of objects and let $A(x)$ and $B(x)$ be their generating functions. Then the class $\mathcal{C} = \mathcal{A} \times \mathcal{B}$ has generating function $C(x) = A(x)B(x)$. diff --git a/content/posts/How I made this Blog with Zola.md b/content/posts/How I made this Blog with Zola.md deleted file mode 100644 index 520ee1c..0000000 --- a/content/posts/How I made this Blog with Zola.md +++ /dev/null @@ -1,20 +0,0 @@ -+++ -title = "Hello Internet" -date = 2024-01-27 -draft = false - -[taxonomies] -tags = ["original_post", "blog", "test"] - -[extra] -disable_comments = true -toc = false -+++ - -Hello, World! This is my first post on my new blog. I'm excited to share my thoughts with you. - -First off, how did I make this? I used Zola - a static site generator written in Rust. It's fast, easy to use, and has lots of features. - -Design : markdown rendered pages ; css-only animations and eyecandy ; minimal js ; must have atom rss - -You can find the source code for this blog on my GitHub as well as on [my own git instance](https://git.alphara.art/blog). diff --git a/content/posts/Void Linux - A Comfy Guide.md b/content/posts/Void Linux - A Comfy Guide.md new file mode 100644 index 0000000..3e40e6d --- /dev/null +++ b/content/posts/Void Linux - A Comfy Guide.md @@ -0,0 +1,16 @@ ++++ +title = "Void Linux - A Comfy Guide" +date = 2024-10-08 +draft = true + +[taxonomies] +tags = ["linux", "guide"] + +[extra] +disable_comments = true +toc = false ++++ + +I've been using Void Linux for about 4 years now (4th Feb 2021 -> 8th Oct 2024), and I've been loving it. It's a rolling release distribution that's simple, fast, and lightweight. It's a great choice for those who want to learn more about Linux, or for those who want to have a system that's easy to maintain and customize. + +Void Linux has been, in my experience, my go-to choice in diff --git a/content/posts/_index.md b/content/posts/_index.md index b33cac7..ca4530f 100644 --- a/content/posts/_index.md +++ b/content/posts/_index.md @@ -1,4 +1,4 @@ +++ title = "Posts" sort_by = "date" -+++ ++++ \ No newline at end of file diff --git a/content/posts/code-syntax-highlighting.md b/content/posts/code-syntax-highlighting.md new file mode 100644 index 0000000..7df307d --- /dev/null +++ b/content/posts/code-syntax-highlighting.md @@ -0,0 +1,61 @@ ++++ +title = "Test Code Syntax Highlighting" +date = 2025-01-27 +draft = false + +[taxonomies] +tags = ["test-formatting"] + +[extra] +disable_comments = false +permalink = "https://alphara.art/posts/code-syntax-highlighting/" +toc = false + +[extra.earlier] +title = "Test Typography" +permalink = "https://alphara.art/posts/typography/" + +[extra.later] +title = "Test YouTube" +permalink = "https://alphara.art/posts/youtube/" ++++ + +```rust +fn factorial(n: u64) -> u64 { + match n { + 0 => 1, + _ => n * factorial(n-1) + } +} +``` + +```typescript +const sum = (n: number) => n * (n + 1) / 2 +``` + +```python +import os ; n_cores = os.cpu_count() // 2 ; + +from concurrent.futures import ThreadPoolExecutor + +with ThreadPoolExecutor(max_workers=n_cores) as executor: + executor.map(render, range(0, len(image_array))) +``` + +```zig +const std = @import("std"); + +pub fn main() void { + const user = User{ + .power = 9001, + .name = "Goku", + }; + + std.debug.print("{s}'s power is {d}\n", .{ user.name, user.power }); +} + +pub const User = struct { + power: u64, + name: []const u8, +}; +``` diff --git a/content/posts/code_test.md b/content/posts/code_test.md deleted file mode 100644 index ed248f9..0000000 --- a/content/posts/code_test.md +++ /dev/null @@ -1,43 +0,0 @@ -+++ -title = "Test code syntax highlight" -date = 2020-10-13 -draft = false - -[taxonomies] -tags = ["test", "code"] - -[extra] -disable_comments = false -permalink = "https://alphara.art/posts/code-test/" -toc = false - -[extra.earlier] -title = "Typography" -permalink = "https://alphara.art/posts/typography/" - -[extra.later] -title = "Henlo Internet!" -permalink = "https://alphara.art/posts/how-i-made-this-blog-with-zola/" -+++ - -```rust -fn factorial(n: u64) -> u64 { - match n { - 0 => 1, - _ => n * factorial(n-1) - } -} -``` - -```typescript -const sum = (n: number) => n * (n + 1) / 2 -``` - -```python -import os ; n_cores = os.cpu_count() // 2 ; - -from concurrent.futures import ThreadPoolExecutor - -with ThreadPoolExecutor(max_workers=n_cores) as executor: - executor.map(render, range(0, len(image_array))) -``` diff --git a/content/posts/some_cool_stuff.md b/content/posts/some_cool_stuff.md deleted file mode 100644 index 9de2829..0000000 --- a/content/posts/some_cool_stuff.md +++ /dev/null @@ -1,32 +0,0 @@ -+++ -title = "Some cool stuff" -date = 2024-03-02T00:00:00+03:00 -draft = false - -[taxonomies] -tags = ["test"] - -[extra] -disable_comments = true -toc = true -+++ - -Let's test manual anchor link declaration: - -# Heading 1 {#h1} - -## Heading 2 - -Nice, let's test internal linking now: [my link](@/posts/typography.md#h1) - ---- - -Nice! Now let's test shortcodes with a youtube iframe embed video: - -{{ youtube(id="dCKeXuVHl1o") }} - ---- - -{{ youtube(id="dCKeXuVHl1o", autoplay=true) }} - -Cool! All these features should be plenty enough for now. I will add some others as we go. diff --git a/content/posts/typography.md b/content/posts/typography.md index 9a7d074..9164530 100644 --- a/content/posts/typography.md +++ b/content/posts/typography.md @@ -1,10 +1,10 @@ +++ -title = "Typography" -date = 2018-09-29T11:36:33+08:00 +title = "Test Typography For The Blog" +date = 2025-01-26 draft = false [taxonomies] -tags = ["test", "original_post"] +tags = ["test-formatting"] [extra] math = true @@ -40,6 +40,10 @@ Inline styles to test: ###### Heading 6 +Let's test manual anchor link declaration: + +Nice, let's test internal linking now: [my link](@/posts/typography.md#h1) + Cute Table: | Left-Aligned | Center Aligned | Right Aligned | @@ -47,6 +51,7 @@ Cute Table: | col 3 is | some wordy text | $1600 | | col 2 is | centered | $12 | | zebra stripes | are neat | $1 | +| | | | Lists: diff --git a/content/posts/youtube.md b/content/posts/youtube.md new file mode 100644 index 0000000..2e52f39 --- /dev/null +++ b/content/posts/youtube.md @@ -0,0 +1,24 @@ ++++ +title = "Test YouTube Video Embeds" +date = 2025-01-28 +draft = false + +[taxonomies] +tags = ["test-formatting"] + +[extra] +disable_comments = true +toc = false ++++ + +Let's test shortcodes with a youtube iframe embed video: + +{{ youtube(id="dCKeXuVHl1o") }} + +--- + +Now with `autoplay=true` : + +{{ youtube(id="dCKeXuVHl1o", autoplay=true) }} + +Cool ! All these features should be plenty enough for now. I will add others as we go. diff --git a/content/posts/zola-blog.md b/content/posts/zola-blog.md new file mode 100644 index 0000000..5fb797d --- /dev/null +++ b/content/posts/zola-blog.md @@ -0,0 +1,20 @@ ++++ +title = "How I made this Blog with Zola" +date = 2024-01-27 +draft = true + +[taxonomies] +tags = ["guide"] + +[extra] +disable_comments = true +toc = true ++++ + +Hello, Internet! This is my first post on my new blog. I'm excited to share my thoughts with you. + +First off, how did I make this? I used Zola - a static site generator written in Rust. It's fast, easy to use, and has lots of features. + +Design : markdown rendered pages ; css-only animations and eyecandy ; minimal js ; must have atom rss + +You can find the source code for this blog on my GitHub as well as on [my own git instance](https://git.alphara.art/blog). diff --git a/static/Alphara.png b/static/Alphara.png index ebb735c..7551312 100644 Binary files a/static/Alphara.png and b/static/Alphara.png differ -- cgit v1.2.3