Tools For Writing
created_at: 2021-05-15 Half a year ago, I began the process of writing my first book. This book is special to me because it attempts to teach middle schoolers and those without experience, quantum. By using fairy tales everyone is familiar with, it is easier to teach new topics. I found that younger audiences were able to learn new material better when that knowledge was introduced in the context of popular stories. In this way, I will use stories from around the world to help teach many ...
Read post
Raspberry Pi and Caenorhabditis Elegans
created_at: 2016-08-20 One of my first projects was AI projects was taking the OpenWorm C. Elegans brain map and connecting it to a Raspberry Pi. The Pi was integrated with Lego Mindstorms, so the Lego motors would move in the direction the worm wanted to go. # BrickPi3 Worm Brain # Written by Spencer Churchill 2016, in Python 2.7 # The BrickPi3 Worm Brain uses a Postsynaptic dictionary based on the C Elegans Connectome Model # This application can be ran on the Raspberry Pi BrickPi robot...
Read post
The Best TLD is Not .com
created_at: 2021-08-29 The TLD is controlled by its parent company or country. When choosing a TLD, consider the site to be strictly under the laws of the country that ultimate controls it. For example, if you use a .ae domain, with a single query from the monarchy, your site could be completely removed. On the otherhand, if you use a domain from… well let's get into it 😉 The EFF outlined a comparison of TLDs. They say that there isn't a "best" TLD since different domains have varying pu...
Read post
Efficient Solar-Powered Website
created_at: 2021-11-07 After seeing Kris' solar-powered website, I decided I wanted my own to be the same. This conveniently followed the release of the Raspberry Pi Zero 2 W, a low-power SoC. I purchased this board since I doubt my website will warrant anything stronger than a Raspberry Pi and it enables solar-power with its small energy footprint. There is a thorough article comparing servers' abilities handling different types of data; however, I opted to use Go's built-in web server....
Read post
Searching for Interactive Code
created_at: 2021-09-03 I want readers to execute code I use anywhere in my blog. Recently, I added code that scrapes DuckDuckGo's !bangs; however, the reader would need to run the code on their own machine. It'd be helpful if they could have executable code embedded in the post. I searched the internet for popular online IDEs and found those listed below. I wanted to compare features and languages to determine which I should use in my blog (if any). Name Website Languages HTTP Request...
Read post
Degrees of Randomness and the Law of Large Numbers
created_at: 2022-02-04 In a previous post comparing quantum and avalanche diode methods of true random number generation, an interesting pattern emerged. The quantum random numbers would pass more STS tests than avalanche diode random numbers. Seemingly, the quantum RNG converges to a mean before the diode RNG. This should not be the case since both methods produce true random numbers, so this post will be exploring if this is actually occurring and why. Code We'll be using C to do thi...
Read post
Quantum Tales
created_at: 2021-05-18 Shortly after becoming an IBM Qiskit Advocate, I was introduced to the Unitary Fund. After writing a story where the reader uses Shor's algorithm to decrypt a stock listing, I wanted to create more stories teaching quantum algorithms. With the help of the Unitary Fund, I was able to realize this dream. I created a series of stories that teach various quantum algorithms. The stories are all rooted in classic fairy tales from around the world, except the protagonist ...
Read post
Summer of Quantum
created_at: 2021-07-15 This summer will be affectionately known as the Quantum Summer. Because of a scheduling mishap, I found myself teaching three quantum courses at once: Brookhaven National Laboratory Qiskit Global Summer School QuBes Camp This situation pushed me to balance responsibilities and make tons of quantum resources. As a result, I became inspired to buy www.quantumforay.com; a fun play on quantum fourier. Now, equipped with the QF website, I am inspired to make an ama...
Read post
Quantum Physics I
created_at: 2021-08-23 I began learning quantum mechanics with Professor Allan Adams on MIT OpenCourseWare! This will be an ongoing post about interesting things I learn, as a way to share a computer scientist's perspective on quantum physics as well as to hold myself accountable in finishing the course. The miracle is not that electrons behave oddly. The miracle is that when you take $10{26}$ electrons, they behave like cheese! 🧀 The first lecture taught me something fundamental abou...
Read post
QR Quine
created_at: 2021-09-25 I was hoping to encode the b64 string of a QR code into another QR code. The catch was that the encoded QR code would match the encoded string of the QR code. When you scan the QR code, it would return itself. Sadly, this is most likely impossible, though I might still try to create a search function for it. Instead, I optimized Alok's approach a bit with Javascript's arrow syntax. Minor things like that enabled me to create an HTML-validated QR quine. data:text/ht...
Read post
Exploring Privacy Tools
created_at: 2021-09-02 The brain has been hacked and its security patches come slowly. In order to avoid targeted ads and refining my digital consciousness, I'm making steady progress toward respectful technology. After learning more about AI, I began to understand the importance of privacy. Everyone has their own reasons for protecting their data, and mine is to reduce the ability of models to fit me. This ties into preventing ad recommendations and other popular motivations broadly, bu...
Read post
Poems
created_at: 2019-09-15 Alexandre Alexandre, my trembling wings. Your dead are in the fields. Our fight was stretched on the forest. A wealth of shadow lies beneath the woodland hills. An earth that is not mine. Skies A sky became a wave, and suddenly the breeze - azure floating on the hills. Our music was not of a god or spirit, not of that colour of the sea. falafel My falafel from the seas and palm-trees. This magic, the stars have been held for. Mysterious prophets ...
Read post
Generating a PGP Key
created_at: 2022-03-23 This is an extreme guide to generating a PGP key. A simple tutorial will suffice; however, this will help generate the most secure key possible. Quantum Background The NIST compared the security of RSA and ECC keys and concluded that, with sufficient lengths in key complexity, either standard will suffice. Shor's algorithm factors coprime numbers, thus is able to recreate the private key to any RSA-generated public key. This NIST paper, however, asserts that Grov...
Read post
Testing DuckDuckGo's Email
created_at: 2021-09-01 DuckDuckGo began releasing @duck.com emails. These emails are currently in beta and only act as an email-forwarding account. The purpose of this post is to stess-test the service and see where it earns the beta tag. Duck.com vs. Duck.co Both duck.com and duck.co forward to duckduckgo.com, so I wondered if a duck.com and duck.co email forward emails identically as well. When I tried emailing [email protected], however, I received the following 550 error: Final-Recipie...
Read post
Neural Networks From Scratch
created_at: 2021-05-18 The best way to learn how something works is to build it from scratch. Unsurprisingly, the Neural Networks from Scratch book does exactly that. I had the privilege to edit it alongside Harrison and Daniel, and wanted to write about my experiences editing a technical book. On January 10th, 2020, Harrison, or sentdex, released a YouTube video announcing a Kickstarter campaign for funding Neural Networks From Scratch. On January 10th, I backed the Kickstarter 😂 This ...
Read post
Nextcloud + Syncthing = Better Together
created_at: 2022-05-09 This guide will quickly walk through how to share a folder with Syncthing and manage it with Nextcloud. First, we'll cover Syncthing then get into Nextcloud. This tutorial is made with Debian in mind, so there might be some changes with different operating systems. Installation Syncthing There are two primary methods of downloading Syncthing: From the releases tab or the apt repository. Releases Package To install from the releases, download your correct ver...
Read post
Major League Hacking Fellowship
created_at: 2022-01-31 I'll be working on creating examples and documentation for BentoML! ...
Read post
Minecraft Seeds
created_at: 2021-11-15 Title Screen: Version: Beta 1.7.3 Seed: 2151901553968352745 or 8091867987493326313 Player X: 61.48 Player Y: 75 Player Z: -68.73 Pack.png: Version: Alpha 1.2.2 [Java] Seed: 3257840388504953787 Player X: 116 Player Y: -31 Skull on Fire: Version: Alpha 1.1.2_01 [Java] Seed: -1044887956651363087 or -6984854390176336655 Player X: -249.65 Player Y: 91 Player Z: -29.04 Speedrunning: Version: 1.17.41 Seed: 376166226 Player X: 0 Player Y: 0 Interesting S...
Read post
The Meanest Color
created_at: 2022-03-24 Have you ever wanted to know what the most mean color is? Red might come to mind — a fiery and belligerent color. But I'll do one better! I'll give you the color vector that's closest to every other color vector. Here, the most average and mean color can be determined with word2vec and vector averaging. Process Load the word2vec model Load the list of colors Sum the vectors of each color together Divide by the number of colors Find the color vector with the larg...
Read post
Installing Manjaro Linux on Chromebook
created_at: 2021-12-06 1. Enable Developer Mode You'll need to hold the escape (esc) and refresh (⟳) keys together. While holding them, press the power button to turn on the Chromebook. Chrome will get nervous and show this screen. When you boot, you'll need to access the disabled verified boot with control and D (ctrl+d). Now, press enter to turn OS verification off. Once the Chromebook boots, shut it down. 2. Enable Debug Mode You can do this by removing the battery. Modern chr...
Read post
M-Protect
created_at: 2014-03-17 M-Protect, the virus protector that promised everything and fulfilled nothing, was an overnight sensation. After amassing a cult following of thirteen-year-olds and becoming the sponsor of the school's crossfire tournament, this antivirus program was seemingly on the up and up. However, its ambition would become its downfall. Getting things done — that's the M-Protect way This all started when I learned that I could very easily make GUIs with Visual Basic. I'm n...
Read post
Comprehensive Lists of the Best Retro Nintendo Games
created_at: 2022-01-21 I combed the web for Top 100 lists for the NES and GB and combined them to record the most beloved 975 games. This master table is helpful when making ROM libraries or finding something tried, true, and new to play. Here is the unfiltered data on Google Sheets. The raw tab has most lists in order, but some lists went from 100-91, 90-81, …, 10-1, so it's either in order or very out of order! Please enjoy the list and let me know if there's something to change! 😊 ...
Read post
The Last Single-Letter Domain
created_at: 2021-09-22 ý.is is now taken. This morning, I began rummaging through the NCIS' Domain Rules and found a list of all allowed single characters. a b c d e f g h i j k l m n o p q r s t u v w x y z - 0 1 2 3 4 5 6 7 8 9 á æ é í ð ó ö ú ý þ After a few searches and CAPTCHAs, I was surprised to that ý was available! I didn't wait long before paying that €31.90 fee 😂 It's very interesting that there was a single-letter domain left considering most of the others were regis...
Read post
Hugo <3 IPFS
created_at: 2022-04-18 Install Hugo Create a new site Deploy on IPFS Add IPFS hash to DNS ...
Read post
Heirs of Nyx
created_at: 2022-01-11 The Raspberry Pi Pico inspired the release of the Picosystem. I love working with limited hardware as a challenge to improve my programming. I've had my fair share of 6502 assembly for the NES but recently enjoyed the new RP2040. The Picosystem uses the RP2040 to run games, so I just had to try it out! I began development of Skullduggery, a procedurally generated game. I've laid the groundwork for terrain and item generation; however, enemy placement is still needed....
Read post
Grokking Go
created_at: 2021-08-22 Despite an earlier post being so optimistic about the IPFS, I decided to self-host this site. I'm only leaving IPFS because this site will never be popular enough to be on any node besides my own. In this way, I was already hosting from the start. It all began as a fun endeavor to apply Go, but has since led to a certificate and obsessive refinement of the server. Most recently, I have added the ability to edit and create posts from within this site! There's quite ...
Read post
Short and Sweet Google Interview Process
created_at: 2021-09-29 I'll use this post as a progress report of the Google Internship application process. The only unique thing I did in regards with the initial application was specifying my interest in the ChromeOS team. In addition, I submitted a bug report to the ChromeOS team and mentioned my application. I don't know if this helped move me forward, but it was something different I did compared to previous applications. Snapshot Survey The survey autosaves, so use the answer his...
Read post
The Data-Driven Keyboard
created_at: 2022-04-17 Using the keystrokes and blog authorship datasets, we can derive a keyboard that is optimized for the shortest delays between the most common key presses. For example, if x to q has the shortest delay of 33ms, but t to h is the most frequently occurring key presses, then we can replace x with t and q with h. This approach maps keys with regard to finger agility. The proposed algorithm greedily replaces the keys with the shortest delay with the most frequently used k...
Read post
Converting Country Codes to Flag Emojis
created_at: 2020-09-18 In a Flutter app I started — and eventually stopped — working on, I was converting country codes to their corresponding flag emojis in Dart. This was a fun problem to solve and it's actually my highest rated solution on StackOverflow, so I wanted to save it here! String countryCode = 'us'; String flag = countryCode.toUpperCase().replaceAllMapped(RegExp(r'[A-Z]'), (match) => String.fromCharCode(match.group(0).codeUnitAt(0) + 127397)); print(flag); .toUpp...
Read post
My First Car
created_at: 2021-12-19 I've always been curious about how to repair cars since debugging tends to follow similar thought processes. Today, I finally got my first car, a 1988 Toyota Pickup affectionately known as Lil' Mo. I'm excited to learn how to work on its famous 22R-E engine and handle wiring for the electronics. Music is my biggest priority after safety, so having a bangin' stereo is a must. After that, the appearance of the truck is important since I tend to get smiles or thumbs u...
Read post
IB CS Extended Essay
created_at: 2018-03-14 "How feasible are deep neural networks in generating thematically diverse video game music?" Introduction Research The purpose of this paper is to test the ability of deep neural networks (DNNs), using long short-term memory architecture to model video game (VG) music and evaluate its aptitude in expressing thematically diverse emotion. In other words, how feasible are deep neural networks in generating thematic video game music? My goal is to test whether a DN...
Read post
Dolorem Ipsum
created_at: 2021-11-11 How would Cicero feel if he learned most knew him through Lorem Ipsum? I'm sure he'd lose his head… again. To further Herennius' delight, Cicero didn't even write those lines! To do justice to his legacy, I present Cicerkov: The Cicero Markov Chain. To follow along, download his work here. There is an interactive demo in JavaScript below, though, but it uses a prerun model of window size two. Imports from nltk.tokenize import sent_tokenize from itertools import t...
Read post
Delete Me Guides
created_at: 2021-12-05 I'm going to create a simple program that will delete personal information like deleteme. It'll be open-source and able to run whenever you please. I'll use the guides from deleteme to help identify services and their links. I have each link listed below, but you can run the code below to download every document. https://joindeleteme.com/help/kb/how-to-national-do-not-call-registry/ https://joindeleteme.com/help/kb/how-to-remove-yourself-from-alc/ https://joindel...
Read post
Every Bang in DuckDuckGo
created_at: 2021-08-31 In response to a question about a list of all DuckDuckGo !bangs, I wrote this script: from requests import get from json import loads def get_bangs(): r = get('https://duckduckgo.com/bang.v260.js') r = loads(r.text) return r def create_dict(bangs): d = {'Misc': set()} for i in bangs: el = (i['s'].strip(), i['t'].strip()) try: if i['c'] in d: d[i['c']].add(el) else: d[i['c...
Read post
Custom Gates in Qiskit with Pulse
created_at: 2021-12-07 Quantum research often requires applying operations in novel ways; however, it's occasionally necessary to create gates to reduce circuit length. If too many operations are applied to a qubit, the quantum state is lost and no valuable insight can be gained. The quantum compiler can optimize these steps, but having the ability to create custom microwave pulses to apply to qubits is valuable. In this quick tutorial, we will compose a Hadamard pulse and apply it to a qu...
Read post
Creating My Site
created_at: 2021-08-27 I bought my first domain through Google Domains and actually hosted my site through Google's website builder. It really is a great free builder with solid SEO, but I'm a programmer, so I wanted to program. Distributed networks are an amazing technology, and I was drawn to IPFS hosting. I used Pinata to pin my new site, but when I tried using an HTTP request for a different page, it failed. Instead of fetching pages dynamically, I created a site that downloaded ever...
Read post
Cool Simple Math
created_at: 2022-02-07 Swapping $$ a = a + b \ b = a - b \ a = a - b \ $$ void swap(int *a, int *b) { if (a != b) { *a ^= *b; *b ^= *a; *a ^= *b; } } Minimum and Maximum Minimum: $min(a,b)=\frac{1}{2}(a+b-|a-b|)$ Maximum: $max(a,b)=\frac{1}{2}(a+b+|a-b|)$ Non-Overflowing Average unsigned avg(unsigned a, unsigned b) { return (a & b) + (a ^ b) / 2; } There are a few common methods of finding an average. This section compares their pros and cons 😊 Th...
Read post
Brown Butter Cookie Recipe
created_at: 2021-09-18 ⏲️ Prep time: 15 min 🍪 Baking time: 11 min 🍽️ Servings: 11+ Ingredients 1¾ cups unbleached all-purpose flour ½ teaspoon baking soda 14 tablespoons unsalted butter (1¾ sticks) ½ cup granulated sugar ¾ cups packed dark brown sugar 1 teaspoon table salt 2-3 teaspoons vanilla extract 1 large egg 1 large egg yolk 1¼ cups semisweet chocolate chips ¾ cups chopped toasted pecans Before You Begin Avoid using a nonstick skillet to brown the butter; the dark color of t...
Read post
Quantum versus Avalanche Breakdown Randomness
created_at: 2021-12-08 Avalanche breakdown and quantum are two methods for generating true random numbers. Here, we'll compare them for feasibility and quality. The feasibility of a TRNG is how many bits per second it can produce while remaining random. And that leads us into quality which will be determined according to the NIST's STS. We'll also compare these methods against the computer's default RNG as a baseline. I'm using the Arcetri Team's implementation of the STS. Building it ju...
Read post
Deep Cleaning a Game Boy Color
created_at: 2022-01-23 I've been using my old Game Boy Color a lot more now that I'm programming a GB game, so I wanted to clean up the handheld! This tutorial is the culmination of a few YouTube videos from The Retro Future and Odd Tinkering. I liked a lot of their tips, so I decided to add them and my own to this post. Tools: Tri-Point Y1 Screwdriver Phillips Head Screwdriver Cotton Swab Tooth Brush 99% Isopropyl Alcohol The higher percentage, the faster the evaporation Vinegar ...
Read post
Chinese Word List
created_at: 2022-04-06 Dataset I used the SUBTLEX-CH frequency list to list the top 100 Chinese words per part of speech. There are 2,683 words on this page. From rough estimates, this should cover 78% of spoken Mandarin. The lists are sorted first by total counts of each part of speech, then by the word itself. For example, verbs are the most common words in Mandarin, and the most common verb is "是". So, the list begins with Verbs and its first entry is "是". The second piece of informa...
Read post
Future of Blockchain Domains
created_at: 2021-05-14 I bought this domain (splch.zil) today! I have a .dev/net domain, but I don't like the idea of renting a space. When I discovered blockchain domain names and IPFS hosting, I knew it suited me. It all depends on security and privacy Now, I don't know what the future holds for blockchain and IPFS internet, but I think that the importance of publicly served domains will increase by considering present privacy trends. Specifically, as governments continue subpoenaing ...
Read post
Best Wordle Strategy — Explore or Exploit
This post will derive an optimal Wordle-specific guessing strategy. The approach taken will be reducing the set of possible words a maximum amount for each guess; however, it doesn't make sense to keep reducing the set of words until the final guess, so we're reintroduced to our old friend, the explore-exploit tradeoff. The first question we need to answer is, given six guesses, how many should be exploring which consonants and vowels are and aren't present, and how many should exploit that kno...
Read post
Bangle.js Watch
created_at: 2022-09-10 I was gifted a Bangle.js 2 watch a few months ago and have since fallen in love with its developer-friendly SDK. The first project I began was ambitious as I attempted a Pokemon Battle watchface but the graphics are difficult to get perfect. I then moved to a health widget that reminds me to look away from my screen for 20 seconds and stand up / sit down for 20 minutes. I realized that this widget should only run when I'm wearing the watch, so I then began work on a...
Read post
Backyard Quantum Computer
created_at: 2022-01-25 Quantum computers are still seen as science fiction, partially because their descriptions are shrouded by advanced physical phenomena in foreign environments. I'm involved in IBM's quantum group, Qiskit, and they use transmon qubits which need to be at nearly absolute zero to function as quantum bits. The physics that go into these systems are colder than the universe and uninviting to casually-curious learners. My goal in quantum is to lower that barrier of entry w...
Read post
RGB for Average Contrast
created_at: 2022-03-17 I'm working on an interpreted assembly-like language called Bee Assembly, and the editor's background will change from a light or dark color depending on the user's preference. It uses Simple.css to style the page, so I wanted to avoid adding additional CSS rules. Instead, I opted to find the best red, green, and blue values to maximize the contrast between the white and black backgrounds, and the text. I also found the average gray value. If others want to compute ...
Read post
Assembly Neural Network on Pico
created_at: 2021-09-10 I've been using the Raspberry Pi Foundation's products for almost a decade now, but they only recently released their first microcontroller. Their custom RP2040 has an ARM Cortex-M0+ chip that, obviously, uses ARM assembly. I've been wanting to learn assembly and this is definitely a great opportunity to do so. The goal is to code a very basic neural network in assembly. I want to make a simple neural network, and luckily the Pico has a multiplication instructio...
Read post