Skip to main content

Introducing Bluefin - A statically-typed reflective programming language

· 8 min read
Nick Silva
College Junior

Introduction#

After my experience working on the Hermes JavaScript interpreter during my time at the MLH fellowship, I was curious to see what it would be like to develop my own language spec and interpreter. Once fall semester ended, and I started to get bored during winter break, I started work on Bluefin, a simple interpreter in C++. Since December, I have been reading up on computer language concepts, and have patched together a basic interpreter when not too busy with school.

I hope to make this blog a place where I can provide information and tips about building interpreters, and also keep an update of how Bluefin is going. Obviously, I'm already a few months and many hours down the road, so I'll try to use this post to catch up on all thats happened over the past 64 commits.

How to create a custom plugin for Docusaurus

· 22 min read
Nick Silva
College Rising Junior

Introduction#

One of Docusaurus's best features is its growing library of open-source plugins and themes. Before starting your plugin, check out the officially supported and community maintained plugins already available. Although there are already a lot of plugins on the market, there are still many that haven't been written. This guide should help take you along the path of development.

Understanding Latent Semantic Analysis

· 15 min read
Nick Silva
College Rising Junior

Introduction to LSA:#

LSA#

A classical problem in the field of natural language processing (NLP) is that of finding and matching semantic meaning from large bodies of text. Some classical solutions involve stemming, controlled vocabularies, and using thesauri 1. A different approach to this problem is Latent Semantic Analysis (LSA). LSA is an application of dimension reduction to the fields of natural language processing and information retrieval 2. Mathematically, it involves (1) creating a vector encoding of a large body of text, (2) computing a truncated singular value decomposition on the matrix, and (3) retrieving word and vector similarity in the dimension-reduced space. LSA is a well-studied model that remains an important tool and benchmark in the task of semantic similarity.

Big Launch!

· One min read
Nick Silva
College Rising Junior

After a few weeks of development, tweaking, and learning I am finally proud to announce my website and the first functional version of docusaurus-portfolio. I started this project as a way to learn about Docusaurus's code base while also spending time crafting my own personal site.

So, what's up with docusaurus-portfolio? Although it started out as a pet project, as I've continued to add more features and expanded the project, I've quickly grown to hope that the plugin can assist other developers. The sole goal of docusaurus-portfolio is to help fellow developers add a personal touch to their documentation websites or build an entire portfolio website in minutes.

What's next? I hope that docusaurus-portfolio will continue to grow over time, but its main purpose as a plugin to help me create my website is complete and I think I'll move on to other things in the near future. As always, contributions of any form are welcome.