Welcome to the repository for my personal technical blog! This site is built with Jekyll and hosted on GitHub Pages. Here, I write about my journey and interests in computer science.
This blog serves as my digital notebook where I share articles and notes on topics that I'm passionate about, including:
- Programming Language Theory & Formal Methods: Exploring the theoretical foundations of programming languages, with notes on Abstract Interpretation and using proof assistants like Coq.
- Natural Language Processing (NLP): Diving into concepts like N-Grams and Language Models.
- C++: Sharing insights on modern C++ features, such as object life cycles and runtime polymorphism.
- Distributed Systems
You can learn more about me on my About Page.
This blog is built using a simple and robust stack, leveraging the GitHub ecosystem for development and deployment.
- Jekyll: A static site generator that transforms plain text into a static website.
- Ruby: The language powering Jekyll.
- GitHub Pages: For hosting the static site directly from this repository.
- GitHub Actions: For continuous integration and deployment. Every push to the
masterbranch automatically builds the site and deploys it.
You can run a local copy of this blog for development or to preview changes.
You'll need a working Ruby development environment. You can follow the official Jekyll installation guide to set it up for your operating system.
-
Install system dependencies (on Fedora): You'll need Ruby development headers and build tools to install the Jekyll gems.
For example, if you are using Fedora:
sudo dnf install ruby-devel gcc gcc-c++ make glibc-headers glibc-devel
-
Clone the repository:
git clone https://github.com/ExcitedSpider/excitedspider.github.io.git cd excitedspider.github.io -
Install Ruby dependencies: This project uses
bundlerto manage Ruby gems.bundle install
-
Run the Jekyll server: This command builds the site and serves it locally. It will also watch for changes and automatically regenerate the site.
bundle exec jekyll serve -
View the blog: Open your browser and navigate to
http://127.0.0.1:4000.
- Create a new Markdown file in the
_postsdirectory. - Follow the Jekyll naming convention:
YYYY-MM-DD-your-post-title.md. - Add the necessary front matter at the top of the file (e.g.,
layout,title,categories,description). - Write your content in Markdown.
- Commit and push to the
masterbranch. GitHub Actions will handle the rest!
If you'd like to connect, feel free to reach out to me via LinkedIn or email at chew.y.feng@outlook.com.