I’m Cole, a STEM enthusiast born and raised in California. By calling myself a “STEM enthusiast,” I mean that I am a lover of most, if not all, of the Scientific, Technologic, Engineering, and Mathematic fields. While I do especially like those categories, I enjoy learning in general – I’ve always been a very curious person – and I also enjoy some non-STEM things.

Read more

What I Do



I’ve worked for four years (this year being my fourth) at WET, a company that manufactures and maintains fountains. At my time at WET, I’ve worked in various departments within the company and learned of how they interact with each other. I’ve spent the most time in the chemistry lab and model shop, though a close third would be the optic lab. I’ve met many interesting people and learned many interesting things through my time at WET.

3D Printing


I worked this year for two weeks as a teacher’s assistant (TA) at my school’s form of summer school: ACE, the Academy of Creative Education. I was a TA for the 3D printing portion of the program, where students built their own 3D printers and then did various 3D printing challenges. It may surprise you to hear that the building portion was not the difficult part – it was, in fact, all of the troubleshooting and calibrating that the TAs had to do and teach that made those two weeks trying at times. Overall, it was a great experience and if I’m back in town again when ACE is going on, I’ll probably TA again.

These are images from this year's ACE class on 3D printing. The first image is the closest you'll get to me -- that's my brother troubleshooting an unruly printer. Most of the other images are of the students either building or troubleshooting their printers.


ACE was not my first experience with 3D printing, however. In 2014, I built my own 3D printer and then acted as a TA for a similar program to ACE done through my school (this one is called immersion, and it’s two weeks taken out of the academic year for students to pursue a single activity which interests them, in my case it was teaching 3D printing). For immersion the students did the same thing as they do in ACE, except with printers that were slightly harder to build. I was a TA for the next immersion as well.

I’ve had a fair amount of experience with the subject, and though I would consider myself no master, I know enough to troubleshoot the 3D printers at WET when things go awry.

Maker Faire


I went to Maker Faire in San Mateo this year through my school and it was a blast. Our school’s booth was titled “The Playground” and it was an interactive exhibit designed to be enjoyable by people of all ages. If you click the link in the title, you can read an article written on it for my school, but if you want the gist of it, you can read on.

The first two images are of the bubble printers that were set up, the third image is of the Maker Mindset Challenge, and the fourth image is of a zipliner in action.


There were three areas set up: the first was an area where you could build your own “zipliner,” a device constructed out of popsicle sticks, cardboard paper, some other assorted parts, and hot glue. You attach it to one of the lines hung up, wind it up using what we called a “wind-up gun” (a device you put on the propeller that spins it for you), and then give it a shove to make it race down the line. The fourth image shows a student helping a little girl launch a zipliner. For the most part, it was the younger folks who were attracted by this event (though I did see some adults enjoying the zipliners), and they came in droves. Cleanup at the end of the day was not fun, especially at that section.

The second area was called the “Maker Mindset Challenge.” It consisted of three challenges that were to be completed within 5 minutes each. You were only allowed to proceed to the next challenge if you completed the one you were on within that time limit. If you beat all three, your time would be recorded. The person(s) (teams were allowed) with the highest score at the end of the three day event received a 3D printer. You can see the second challenge depicted in the third image (it was basically a large version of the game Jenga with the goal being to stack up the blocks to a certain height limit). The other challenges involved assembling a giant cube out of pieces that looked like tetrimino (the blocks from Tetris) and moving a series of what we called cups (we used various objects like mason jars, PVC pipe ends, etc.) to an end. The cups challenge in particular is hard to describe without a visual aide, so I’m not going to attempt further description.

The third area was a group of foam 3D printers (featured in the first and second images). Though they didn’t get much action due to a problem relating to the hardness of the water in San Mateo, when they did function they produced quite incredible results. I’ll let the pictures speak for themselves.

Maker Faire as a whole was awesome to attend, and I’d say that I enjoyed being able to walk around and view all of the attractions more than manning the various booths for our event (as enjoyable as that was). We took home two awards as well as many ideas for the next year: Maker Faire: Best in Class and Maker Faire: Editor’s Choice. This came as a surprise to me, since it was our first time attending Maker Faire. I guess next year’s group has something to live up to.

Penrose Tiling


In my Number Theory class for the year 2015-2016, we read a book called Fermat’s Enigma by Simon Singh. It’s a great book that covers Andrew Wiles’s proof of Fermat’s Last Theorem and the theorem in general without going too deep into the actual proof (the entire book is about the length of Wiles’s proof, to give a little context). It goes on mathematical tangents (pun intended) usually discussing mathematicians or areas of math related to part of the proof or the history of the proof. One of these tangents covered Penrose tiles, a series of tiles created by Roger Penrose (you may know him from his paradoxical shape, the Penrose triangle) designed to tile aperiodically. After looking at a few images, I fell in love.

The first and second images are examples of Penrose tiling (so, coincidentally, is the background to this website). The third image (not really an image) shows how deflation works. Each pass through, the number of triangles increases by about a factor of the golden ratio.


In case it hasn’t become clear to you already, I love geometric art. Bonus points to art that is generated purely mathematically (think things like the Mandelbrot set). It’s no surprise that I knew I had to generate Penrose tiles through some sort of program. Unfortunately, it would take me almost 6 months to finally get to writing said program. Its creation was actually prompted by the design of this website, which I thought Penrose tilings would be a perfect background for. You can be the judge of whether or not I was right: I love it, though.

The tiles that I’m using are the P3 tiles: two rhombuses, one skinny (angles of 36 and 144) and one fat (angles of 108 and 72). They tile in certain specific ways so that they don’t form parallelograms and other periodic shapes (basically, certain sides of each rhombus have to match up with certain other sides of the same or other kind). The way I generate Penrose tiles is through a process called deflation. You can see an example of this in the third image on the right. You start with a Robinson triangle (or more than one, if you can arrange them appropriately), which is a special kind of triangle that also happens to be half of both kinds of our rhombuses (there are two types of Robinson triangles as well, skinny and fat). You then place a point one side for the skinny Robinson triangle such that the two line segments it creates on the side are in a ratio that equals the golden ratio. Then you connect this point with two vertices such that you form more skinny and fat Robinson triangles within the original triangle (this is starting to look a lot like a fractal). You do the same thing with two points on the fat Robinson triangle, connecting them with various vertices to form more Robinson triangles. Do this enough times and you end up with a Penrose tiling.

If you want to read more about it, this blog does a much better job than I do of explaining the intricacies of Penrose tiling. It’s also where I learned the algorithm for deflation. There are other sources on the blog page, one of which is the Wikipedia entry, which isn’t half-bad.



Guitar was a passion of mine from the time before my first memories. My parents have a video of me strumming away on a guitar and attempting to sing when I must’ve been 3 or so years old. I started lessons in 2004 and I’ve been playing it ever since then. There was a period in around 2013 where I lost interest and stopped lessons and playing, but my interest has returned since then and I intend to continue playing.

Violin has been more the “performance instrument” of mine. Barring a stint for a few years starting in around 2007 when I was in a “rock academy,” I haven’t really performed the guitar. This is really more of a coincidence owing to the fact that I haven’t really been in any bands, though. For a while, I strongly preferred the guitar to violin (I started taking it mostly on a whim), but I’ve come to appreciate both instruments almost equally (unfortunately, the guitar has a leg up when it comes to my musical tastes, which are mostly devoid of classical music). I’ve been in various orchestras, mostly those of my schools and some honors orchestras. I still remember the first honors orchestra I was in, which had a video promoting it made that I was in for a brief period. In said video, I said something like, “I’m only in third grade but I’m in a ... [professional] orchestra!” It brought me much shame to see that shown at my school. Since then, I’ve participated in the CAIS honors orchestra on two occasions (it would’ve been four if not for schedule conflicts).



I initially started to teach myself Blender as a means of designing parts to 3D print since I don’t feel much accomplishment building my own 3D printer and then printing stuff other people have made (it ruins the whole “DIY” feel for me). While I was teaching myself the software, I also discovered the beauty of low-polygon (low-poly) art, which is basically art made to look more simple and geometric through the use of fewer polygons (hence the name). I’ve done a fair amount of low-poly works, most of which are far too incomplete or poorly-made to share, but there are some that I am proud of. I’ve never really been the visual art sort, so it’s been interesting working with Blender, especially since it combines so many different art forms: you have to learn how to light a scene, position a camera, work with colors (I really need to take a color theory class at some point), and, of course, model 3D objects (the hardest part!). Most of the scenes I’ve made that I’m proud of are products of a little bit of watching/reading videos/articles on Blender and a lot of fumbling around (as well as some happy accidents). Though I’m familiar with a lot of controls in Blender, there are many I don’t know and even more techniques that I am lacking in. I intend to keep at it, and who knows, maybe one day it’ll come easy to me.

One of my hobbies is making low polygon (dubbed colloquially "low-poly") art using Blender. Even though I'm still mostly a novice, I feel like I've made a few pieces that I think are presentable (shown on the right). The second one ("Submit to Art and Lit") warrants some explanation. At the High School I attended, there's a magazine called "Art and Lit" and their slogan is "Submit to Art and Lit." I always joked about the alternate meaning of that phrase, imagining Art and Lit as a government force that assumed power through a military coup. I thus decided to bring my pun to life. Unfortunately and somewhat ironically, I never got around to submitting it to Art and Lit.


Code Golf


Discovered by me mostly by chance, code golf is what engulfed my free time over the fall and winter periods of 2015. In brief, code golfing is when you are tasked with writing a program or function as short as possible to accomplish a specific task (e.g. calculating pi). The creativity exhibited in many of the answers and even questions is astounding, although it’s what I’d expect from a Stack Overflow site. There usually is a decent variety in the languages used for answers, but over time languages have been created by users of the site specifically with the purpose of being as short as possible. I mostly write answers in Python and ><> (the latter being an “esoteric” language I discovered through the site and fell in love with), though I don’t always share them if there are already shorter answers in the same language posted.

profile for Cole at the Programming Puzzles and Code Golf Stack Exchange

Click on the image to be taken to my Stack Exchance profile for PPCG (Programming Puzzles and Code Golf). Unfortunately, its size is static so it looks somewhat out of place.

At some point I’m going to get back into the groove, but as for now I just check on the site periodically to appreciate its brilliance.

Mechanical Keyboards


For whatever reason, mechanical keyboards captivate my interest. Let me clarify for you, these forms of keyboards are the same kind of input device as your regular keyboard, save for the fact that the switches they use to register keypresses are different. Although it may seem like a small difference, the feel of a mechanical keyboard is, in my opinion, significantly better than that of a regular one. I’ve been somewhat active on online communities for enthusiasts and I’ve recently taken strides towards building my own.

This is a presentation I did on building a mechanical keyboard. It only has a couple of pictures of the custom one I'm making, primarily because there still isn't much to see yet (I'll update this site once I finish it).

The keyboard I’m building is completely custom: I’ve purchased all of the parts necessary and I’m going to laser cut a case and custom manufacture the PCB. It’s been a real journey learning all that I needed to to make this (in spite of the fact that a keyboard is just a bunch of switches connected to an HID-compliant microcontroller, it still is not an easy endeavor for a complete novice to PCB design and electronics manufacturing), and while I still haven’t arrived at an end product, I am much closer than I thought I would ever be.



In 2013 I took my first programming class in which I learnt the basics of Java. It was at this point in time I realized what I had been missing. I am a logic-driven person and programming is all logic (and some Googling), so it shouldn’t come as too much of a surprise that it fascinated me. Ever since then, I’ve told people that if I had to choose a major (thankfully, I don’t have to declare one yet), it would be computer science. Since learning Java, I’ve taught myself a variety of languages to varying degrees, chief among them Python which has become my favorite. It was around the summer of 2014 when I first taught myself Python and I’ve used it over Java ever since then. There isn’t too much more to say about this topic – a lot of the things that I’ve done relating to programming are in their own separate categories.