Home

Welcome to VVV LAND! If you haven't yet been here, head on over to the about section where you can learn more about me and contact me as well. Afterwards, play around! Have fun! All of these projects are ad-free and completely free.

What do I do?

I make fun projects on the internet for my friends, family, and the whole world (hopefully) to see. I also play musical instruments, and like to ski.

Blog

This is the blog. I post whatever I want. Website updates. Life updates. Opinions. Whatever. Read it if you want...

How this blog works

When you go through these slides, you go back in time, through all of the previous posts. This blog was started in January 2017, and obviously I have been working on this website for way way longer (since 2013, I belive) this blog is technically incomplete. Anyway, if you're triggered by any of the opinions in this blog, hit me up (just scroll down a page farther... you'll know where to find me).


Use the right and left arrows on your screen or swipe on mobile

My thoughts on Electron

For those who don't know, Electron is a framework made to create cross-platform desktop apps with HTML, CSS, and JS. My opinion on this framework is very split.

I love Electron

Electron is amazing. It lets your average web-developer to create desktop apps. This allows for useful applications and games that don't need to have access to the internet to run without it. It allows developers to create easy-to-use UI and UX for light applications. It also has a great API set up for interacting with the file system and the operating system. Except...

I hate Electron

Electron is a mess. It is slow and it takes up a lot of ram. Why? Because it's just a fancy wrapper for Chromium. That means that it literally runs a web browser, not only that but one of the heaviest modern web browsers, in order to run every little application. That might not necessarily make it slow, but it will take up a fuckton of ram.

Verdict: Electron is OKAY

It really comes down to the use case. If you have to make a desktop application specifically, you can use it. What do I mean? Look at Atom, or VSCode (I know. Atom is slow as hell. But I like it, so whatever). They run on desktop because they use the special feature of Electron to be able to access the file system and make code editing possible. However, sometimes you don't need desktop applications, like in the case of Slack. Slack runs perfectly well on the web. I don't have slack, but I've used it and I can say that it runs perfectly well on the web. The only reason I could think of for putting it into an Electron wrapper is to make file uploads easier. So Electron is OK as long as there is a good reason for using it.

Footnote: Why I won't be using Electron

I won't be using Electron for two reasons. First of all, I have no reason to. Of course, I think that the file and OS interfaces are extremely cool. However, I don't really need that for the types of projects I make. Second of all, Electron is a pain in the ass to release. Even with all of the newest tools I find, I always manage to fail at creating the application for certain platforms. The last time I deployed an electron app fully I had to do it on my Windows computer at my dacha and my Mac at home, and even then I didn't cover linux. Sure, there are ways to get around this. But it's still a pain in the ass.

My adventures with ricing and how to set up a rice

If you go to /r/unixporn you will see such beautiful desktop environments and setups that it will make your mouth water. Now the typical /r/unixporn user will tell you to set up Arch Linux and go from there. However I strongly advise against that. Sure, if you're setting up your very own system for the first time and want to completely migrate to linux, you'd want the best of the best. But if you were like me, just wanting to make a good looking environment in a VM (virtual machine), I reccommend you start with an already beautiful distro, like I did with budgie. Then, add your cusomizations to it. Unixporn users really like using custom terminals, so the first thing I did was to make a colorscheme for one of those. Almost every one of those users will tell you to use urxvt, a highly customizable, bare-bones terminal. I used a colorscheme that I found online with some modifications curtesy of terminal.sexy (yes, that's what the url is), mainly changing it from blue to green, and some other modifications, to make urxvt my own. After that, I made my own theme for the Atom text editor, the editor that I use all of the time when I program. I'm writing on it right now! It took a lot of trial and error, because that's basically what it is, but I was able to get it up and running, and I even published it to the Atom website, so anyone can install it. After that, it was a couple of basic modifications, and that's really it. The biggest problem I have with ricing is that I need to wear glasses now. This means that, if I forget my glasses, it's hard to see the screen, so I make the font much bigger than I normally would. Because of that, my rice kinda looks clumsy in the 4th picture, where you can see me trying to work on something in three windows at the same time. Yet it's still very fun to set up a rice, and I'm very proud of what I did. Do it. It's fun.

By the way, you can email me if anything's wrong or if you need any help.

My rice!

WEBSITE REDESIGN!!! (FOR REALS, MAN!) -- Oct. 24, 2017

I started this website redesign... probably late 2016 or early 2017. At that point I felt that I had really matured in my design and programming enough to make another redesign. At fist, my website was just a little experiment. I wasn't really doing that much programming, but I was really into it. HTML is where I found my niche. I really liked how everything was self-explanatory. P for paragraph. H1 for the first (biggest) heading. Body for the body. I liked how you could just write, without that much code clogging up the page. I liked it. So, after my uncle let me use some space on his server, I launched my first ever public website. I remember, back when I was 9, entertaining myself by making a page of just marquees in horrid colors. Saying "Blah." Of course, I wanted to go farther. I started learning better HTML (my previous education had been from my father) at Codecademy. It's a great site for beginners just looking to head into programming. Back then it only offered a few courses, but I took the HTML and CSS one and did it to the end. I was proud of myself. I know knew CSS!!! So I decided to redesign my website (this was all at age 10 or 11 or something) to include my newfound knowledge. But let me just say that 10-year-olds don't really make great designers. It looked awful, but it was mine and I was proud of it. Fast-forward to age 12. I was getting sick of the design. It actually sucked. Nobody wanted to navigate the maze of outdated blurbs and horrible black on dark blue. So, I decided to use my knwoledge from the 6th grade Early Humans project and some other design work for my projects to create a better site. One that's easy to navigate, one that looks pretty good, and one that I can actually update because it is so organized. On this site, you can see all of my creations and bask in the glory that is the ever-growing complex of programming skills that I pick up and put to use. I hope you like it!

About me

Who am I?

I am a 14 year old boy living in Brooklyn, New York (USA, duh). My uncle was letting me host my site on the server lk.net, and you can learn more about him, but now I host on github. I have a Chromebook, a Raspberry Pi B and a Raspberry Pi 0 that I converted into a small game console, a Mac Mini and a computer that I built myself for my dacha. I used to use the atom editor, with different styles, but now I use the micro editor because it is light and fast while having sane keybinds and mouse support. My favorite fonts are Anonymous Pro and Go Mono. I take music lessons in flute, and I have previously taken lessons in piano, saxophone, violin, guitar, recorder, and Afro-American drums. In 2016 (7th grade), I took the NYSSMA test at the 6th (highest) level and I got a 98, which I am very proud of. Anyway. I really like skiing and have visited Mt.Tremblant and Elk mountain before, but I usually ski at a little place called Ski Big Bear in Pennsylvania. I also like Golf, and I take the Par corse at The First Tee, and Badminton. I am in the 9th grade at Stuyvesant, a specialized high school, and I went to Brooklyn School of Inquiry for elementary and middle school

How I can be contacted

Email Me!
Me on reddit!
Me on GitHub!
My discord is vityavv#4899

Projects

As you travel through these slides, you go back in time. To the beginning of this site, with my silly marquees and my odd websites, to now, with this website redesign, and beyond! My school projects (interactive sites and such) are below, seperately.


Use the right and left arrows on your screen or swipe on mobile

Current Project

SCMS, a simple content management platform

SCMS

This is scms. I made it because I was in the shower and I thought "What if I made something like wordpress, but actually good?" So I did that. I'm aware that a lot of other cmses (CMS is a Content Management System) exist, but this one was a great learning experience for me. It's the first projec t I ever made with express.js and I find it quite enjoyable to use, despite the fact that it's dependency tree is like 151 modules fat. I also used EJS for rendering stuff and better-sqlite3 (what's so better about it? It's sync, but way faster than boring old sqlite3) as a database. It includes features such as markdown support, thanks to marked, multiple user accounts (and full on password protection with bcrypt), drafts, and image uploads. It's made for web developers, because you can host it yourself and the templates are simple and designed to be expanded upon. I hope you like it

Simple-Pastebin

I made a pastebin because I don't like solarized (which hastebin uses) and the other ones are a faff. Plus, this was a great way for me to improve my node.js server skills. You can host it yourself, and change the theme to whatever you like! It also includes an API, and hastebin-like language prediction. It uses sqlite3 as a database and highlight.js for storage, however the server is plain HTTP. Check out the Live demo here.

qdb-api-plus and qdb-cli

I recently found out about and started reading bash.org, an online quote database that contains quotes from IRC (internet chat). I was wondering if there was an API for it when, lo and behold, I found qdb-api, an NPM module that scraped the website for quotes. However, it used axios, a request module, and as a big fan of reducing the use of dependencies I decided to fork it and make a pull request. However, I kept changing things and adding new features, so I decided to break it off into it's own thing, called qdb-api-plus. Then, I decided to make something simple using the module, so I came up with qdb-cli, a simple command-line interface to fetch quotes. Example: "qdb random" gets a random quote, "qdb top" gets the top quote of all time, and "qdb get 777977" gets quote number 777977. To install: first, install node.js, which comes with the npm package manager. Then, install qdb-cli by typing "npm install -g qdb-cli" inside a terminal. Type "qdb" to get started!

Victor's Random Bot and TripleBot

I got Discord because that was the main way of communication that my friend used. Shortly after arrival, I discovered that there were some "Discord Bots" that were automated and could do various things. I decided to use my knowledge of Node.JS and go make my own. I saw that there was a pretty nice npm (Node Package Manager - the go-to for javascript libraries) module called Discord.js that made interaction with the Discord API *much* easier. So I started my very own bot, victors-random-bot, and a bot for someone else, called TripleBot. I hosted on Heroku. As my intrest grew, I got my dad to get an Amazon Web Services subscription for me, and I started hosting on an EC2 instance (a virtual private server). However, this had it's own difficulties. By then, development on the bots had slowed (mostly due to me being lazy). I finally dropped the projects when the guy who wanted TripleBot shut down the servers it operated on, and my friend banned my bot because I was annoying him. The code is still up, if you want to self host it, but I wouldn't reccomend it.

My first ever "rice"!

Let me introduce you to the topic of the rice. Sure, you might like the way your desktop looks right now, but is it beautiful? Really? If you said no, and you probably did, you might want to learn how to rice. To rice, in this case, is to take a desktop, usually of *nix nature, and make it look as beautiful as possible. Want some examples? A minute on /r/unixporn will make your mouth water, as it did mine. So I decided to take my determination and somewhat OK linux skills and make a rice. What came out was a custom color scheme, a custom Atom theme, and a whole lot more. I continue this in a blog post, but let me just say that it was a fun time, packed with lots of trying things out and seeing what worked. Also, BTW, everyone on unixporn uses CLI applications but I just can't find any good ones, other than the obvious text editor war, which I don't want to get into for the sole purpose of learning keyboard shortcuts. If you find a cool easy one that's better than anything I use, hit me up (email me).

New Tab Google

I recently learned how to use Git and GitHub. I wwas tired of seeing those "Most Visited" reccomendations on my new tab page, so I decided to do something about it. Enter this Chrome extension. Hosted on GitHub, it's a simple extension that, when you open a new tab, redirects you to google.com. Expect to see more open-source GitHub projects soon!

Reddit Expando Button Expander

Shortly after that, I decided to make this extension. A year ago, I made a little bookmarklet (a script that runs in a bookmark) to expand every image on the Reddit page. Then, after coming off of the extension high of my New Tab Google extension, I decided to make an extension to do this automatically. Now, instead of cklicking a button, every time you went onto Reddit you would be greeted with all of the wonderful expanded images and videos and albums. The README.md still includes the bookmarklet script, though.

Fuckitup Bot (not an extension... yet)

Now, I'm learning how to use Node.JS. My friend, who doesn't have a phone, got Skype so he could talk to me anyway. For fun, I decided to read up on how to make a skype bot. It's actually not that hard; you just have to have some dedication and patience while reading through the docs. Anyway, you can join this bot with this linkEdit: this bot is no longer online and has been replaced by my discord bot. Email me (about page) if you want it back up. As for what it does... you'll have to guess that. You can find this code on a github repo, just like most of my other projects from now on.

Torture with my Baby - Felix Nie

In 6th grade I started teaching programming for fun during lunch. My students were very pleased and they very much liked the personalized courses I made for them. I taught in the Khan Academy version of Processing JS because it has an easy online editor and you are able to start dealing with graphics very easily, and also because it is more similar to javascript than java, which was more akin to my area of expertise (although I did use processing a lot previously.) In seventh grade, learning from the previous year, I took to improving my mistakes and recruiting new people to my class. My star pupil (coincidentaly my only pupil, at the end) had come up with many ideas that we developed. And so, I present to you, the fruit of our combined labours, plus my reprogramming into javascript, the glorious game known simply as "Torture with my Baby!" The page is fully open source, with the complete game available below in glorious KAJS. Try it out!

Snake++

This project came about when I was screwing around in YouTube and saw a video of a man programming a simple snake game using javascript canvas in 5 minutes. Of course, he used horrible coding practices, but I decided to see what he did and use it as a little inspiration. If anyone can make a game this simple in that amount of time, I thought, why not me? So I sat down to re-create his feat, and then to expand upon it, and here came this. With over 5 game modes (there are 6) to choose from, this little game garantees anyone from the metaphorical videogame baby to the amazing master of videogames will enjoy this fun little simple game. Seriously, though, it's fun. You should try it out.

Balls n' Cubes (download)

This little project is a result of my trying to expand my horizons in terms of development. I started the easiest tutorial on the Unity site, changing some things and keeping others. Then, when the tutorial ran out of juicy information for me, I reprogrammed the whole thing in "Javascript," the unity version, of course. In reality, the only change is that you have to set the type of variable when you make it, like int var in java, plus some other minor things. I added a menu and a timer and high scores and a lot of fun stuff. All in all, I think this project was a sucess. For now, though, I'm putting the unity stuff on hold.

Animated Magic 8 Ball!

This little fun toy resulted in a 5th grade one-day craze long forgotten, and a man who wanted to sploosh the excitement (spoiler alert: me). Some girls in my class were playing with some dumb magic 8 ball online. I was frustrated because it was so obvious that it was randomized, so I decided to make my own. It started as a small text field that you could type in and a button that when clicked would pop up a small text box with the answer, but the girls were not amused. Alas, the period had ended, and home I went, defeated. A couple years later I was bored in 7th grade and decided to look at my old files, and stumbled upon this little thing. With my newfound knowledge of the canvas element I had set out to make an actual magic 8 ball. A couple boring periods and quietly used computers later, I had this. After searching around on the internet, I had determined that this was the best ball, for no other ball had captured the excitement, the suspence, the ad-free animation that this one had. And so, you have this.

Gazing Rainbow!

As soon as I heard of an "easy to use" programming library for HTML that would let you create scenes in virtual reality, I got to work. The resulting project is one that I had been debugging for A while, but I am finally done with it. I have experimented with many things, such as movement, animation, camera position and outdated documentation, and out came this product. Although you might see it as a very tiny thing I think this is the preface to something much bigger. Think "Virtual Reality Website Interface". Wouldn't that be cool?

Subway Guesser!

I started this project with a concrete idea about what I was going to make, and a plan to do it. I think I executed this idea perfectly :*). This little game, which I had continued to update, is a memory game concerning the names and colors of the subway lines in New York City, my city of origin. Since it's debut, I had added high-scores with local storage, 3 different game modes, and some other minute details. The game modes allow you to play like a timed memory game with 30 seconds, a quiz where you go though all of them and learn them better, and a mode where you are timed on each one. I first posted it on Web games to little review, but soon I will post it again, after I add a score counter. But for now, you have this.

DrawAnim!

This project is a result of me learning how to use the canvas. I at first wanted to create an animation tool but after many MANY failures and a couple unanswered questions on StackOverflow I had decided to change it into something more unique. An online Drawing tool! Just kidding. It does draw, but the main feature is that you can see your drawing unfold in real time, speed it up, and even export it as a gif! This is my second-favorite project and probably the one that I worked the hardest on. I hope you enjoy it, because it took me like half a year to make.

A very fun browser puzzle

Minor Project

A very fun browser puzzle that you can play. The picture is a surprise so you will have to just look at it. Also, do it at home because the image site is blocked at school (at least in NYC, anyway)

Crime

Minor Project

I actually made this after magic8ball but I decided to put it here because it's a minor project. My sister really loved this weird app where you put your finger on it and it told you what crime you were charged of doing, so I made her this ON MY PHONE to prove to her how stupidly randomized it is. Kinda like This one...

Schoolsites

Even though I started programming in 2nd grade, and I started with HTML as early as fourth grade, the oppertunity provided itself in 5th grade to use my *amazing* skills and *amazing* design knowledge to get away from doing some horrible project in everyone's least favorite clas, community service. Ever since that spark in my mind, I had been creating websites and scripts for my school projects. Take a look back in time all the way to my old 5th grade days.


Use the right and left arrows on your screen or swipe on mobile

The Jungle -- 8th Grade Humanities

In Humanities this year, we learned about the Progressive Era. One of the most important things from the era was the presence of Mucrackers, people who went into big corporations and other places and exposed the horrible living and working conditions of the working people there. This culminated in our class reading a book titled "The Jungle", by Upton Sinclair, a realistic fiction novel centered around a Lithuanian family coming to America in the very early 1900s. The book was extremely depressing and horrid. After reading the book, we had to create a project about it. I chose to make a game based off of real events from the book, so here it is! One thing I really liked about this project was that it was more working than learning, which allowed me to make something more complicated than I thought I would. I barely had any bugs that weren't solved with a google or two, so all of my time was dedicated to better code quality and more extensivity. Anyway, check it out. My class thought it was really fun when I presented it. Here's the GitHub repo.

Editing Tool -- 8th Grade Media Literacy

AAAAAARRRRRGGGGGGHHHHHHH!!!!!!!! When our Media Literacy teacher went bye-bye, like many other teachers, a new teacher came. She was very interested with coding and programming, so we had the choice, as our first project, to create an "editing tool" that would highlight overused words in a google doc using google's coding software. Not to be outdone, I set out to make a similar tool in javascript. Not an easy task, as I soon learned. This is how it works: first, I parse the HTML inside of the content div and make an object with all of the words, and the number of times those words are used. Then, I go through the HTML again, this time with regex, to match and replace each word with that word highlighted with a color. Simple, right? NOO! All because of that little word. REGEX. This is how the process of making this project was: First three periods - Setting up the editable div and getting the text out. Next three periods - Taking all unnecesary things like punctuation and splitting on all whitespace too get an array, and mapping that array out onto an object (sounds more complicated than it is). Next three periods: Figuring out the right regex to get the words without messing up the formatting---I was expecting people to paste in their text from google drive, and since that uses HTML for their docs I would have to preserve formatting. Next three periods - keep trying! Next three periods - I found one! Wait.... it matches words inside of other words (is in His). Next three periods - Keep trying! Next three periods - Give up and ask the internet. Next three periods - The internet fixed it! (It still doesn't work, for some reason). Next three periods - I give up. Paste with Ctrl-Shift-V to paste without formatting. Add finishing touches (like actually highlighting everything) and send it off. Yay (it kinda sucks tho).

Prison Industrial Complex -- 7th Grade Humanities

One of my first confidently designed websites for school, this is a combination animation and text. I composed and recorded the background music for the animation, and provided the website, while my partner Kaylin Li did all of the animation. I also created a favicon for this end-of-year project, which I am very proud of. Go see it for yourself!

Tungsten Product Page -- 7th Grade Science

This is a little mock advertisment page for the element Tungsten (W). My 7th grade science teacher asked our class to choose an element and create a little promotion for it in any format (like a poster). I wanted to choose Neodymium (Nd) but my science teacher said that there was not enough information about it, and so I had to choose another one. Tungsten it was! If you don't want to go to the website, here are some facts: Tungsten's main use is in an alloy called "Tungsten Carbide" which is used for many applications including Jewlery, Cutting tools, and more. Pure Tungsten costs $24 per pound. Want more facts? Click on that link right up there.

CNN Student News Search Engine -- 6th Grade Humanities

This is... ah... not one of my most good looking design pieces. In fact it is far from that. Far, far, far, far, far from that. Looking at it wants to make me take my eyes out. But, such is the way of junior css-er. I was not very concerned with this site's design---it is an integral part to it, of course---because most of my time went into copying a years worth of CNN Student News headlines from their site into my formatted javascript (the world of XML and JSON was invisible to me, at that point.) But before you embark on a horribly designed journey of 2016 nostalgia, here's some backstory. Throughout the year the humanities teacher, Ms.Marjorie, was playing us clips, usually once a week, from CNN Student news. The 10 minute clips went over everything from Flint's water crisis to the Apple VS FBI case. So, at the end of the year, as some busy work to finish it off, we had to make a presentation about three of the most prominent stories of that year. Most people finished quickly, and not having much to do took to playing on their computers. Alas, I, in search of some protection from the boredom that would surely ensue, had decided to make a big compilation of all of the three headlines from each clip from that year (the show ended in May or something, I think.) I set off to the long, often mind-numbing task of using a slow online ssh client (we had chromebooks with no access to downloading apps and extensions, you see, and I had been using nano (yes, shame on me) for ALL of my website stuff.) to copy all of that information from long, portly CNN website to javascipt object. But, that is not the end of my sinning. For, I did not know you could access things in an object like this: object["key"] and so I used EVAL("object."+key) to get my value. I just needed to get this off my back. God help the man who goes to read my code, looking for some pointers. Let this be a lesson to you all: it is important to program a lot, so you can make mistakes and then learn from them. But, what can you say? What's done is done, and here for your "enjoyment." Take a look!

WorkSUX: A Remix of Rhianna's "Work" for 6th grade music

Ah, 6th grade music. A time for goofing around, not doing much of anything, and trying to come up with a result. We had 2 music projects that year, I belive, and while the first of mine was a horrible play on "Mary Had A Little Lamb," long forgotten, the files forever sanctified on that one computer, the second was a result of my reluctance to work with traditional methods. I decided, instead of writing a melody and lyrics, to take garageband and see in what ways I could destroy a sound file. We were supposed to make our song about a cause. My cause? Hating on "Work." I put it through every horrifying filter in our outdated garageband. I was blasting it on the speakers, prancing around class like a maniac. And now, it's your turn. Partake in the Ad-free, horribly editied, free download song that is this creation. Or rather, songs. Yes, I managed to stretch out this thing into three versions, one for the complete baby, one for the aspiring listener, and one for the expert self-torturer. Go ahead and listen to them all. I garantee you'll want to wash your ears in a shower of bleach when you're over.

An Original Song for 6th Grade Advisory

This started when I watched this video, which reviewed an iconic keyboard called the "Casio VL-1 VL Tone." I was so inspired and intrigued that I got one off of eBay. Then, when our advisory teacher decided to let us make projects at the end of the year, I jumped on the idea and decided to, once again influenced by that video, make a multi-track recording with the VL Tone. So I sat down to compose. I already knew of a musical composition tool called Flat so I opened a school account and got to composing. Alas, when I was finally done, I could not record from the tone because: 1) I had no time. 2) I had no recording device. 3) I was making too much noise trying to record through the microphone and was not letting the students concentrate. So I packaged up the song in flat, and sent it off as my final project. Give it a listen!

Astronomy Quiz for 6th Grade Science

This is a little quiz that I made. It contains all of the vocabulary words we learned through the astronomy unit, plus some more! Funny story, when I was researching for this the page for the geocentric theory was edited to replace planets and stars with various parts of the reproductive system of humans, so I changed it back. Anyway, take a shot at this quiz, and see what score you get!

Early Humans Timeline for 6th Grade Humanities

This is my second-oldest project. The biggest challenge here was positioning the images and text correctly, and that took me a while, but it payed off. While it's not the prettiest thing in the world, it's waaay prettier than the next project in the list, and I think it's prettier than my old site, even. This was also one of the first times that I used a css or javascript framework so heavily. What framework was it? The same one that runs this site! Looking through the project now (January 2018) I found a hidden gem---links to social media pages long gone, when I was more into that sort of thing. Adventure there if you must.

Respect Your Materials for 5th Grade Community Service

This is my first ever site that I made for school. During this horrible class we had to choose one thing to do to improve our school community. I decided to use videos to tell people to respect the materials that we have in school. That's all this was---a series of videos about the materials in school and reasons not to completely disregard them. I used powtoon to create them. But as often happens, I had finished early and had to find something to do. So, I made this sute. Using my trademark "Header That Inverts Color On Hover", and the amazing colors that I knew, I created this beautiful site. And... it's still here! The videos still exist too, which is cool.