Creating a 2D HTML5 Game with Construct 2 (Game Engine)

AlienMonster Featured Image by Kevin Lin

  Last week I attended a Construct 2 (game engine) workshop held by Microsoft Student Partner and good friend Karim Soliman. My only other time creating a game was during HackNC, and so when I saw the posters flying around the computer science department I knew I was interested. During the workshop, Karim taught us how to create a 2D “click-and-shoot” game. I took that concept and expanded it further, adding smarter AIs, interactive messages, and customized the gameplay for a better user experience! For those interested, the game can be found here (HTML5). Plain text URL:     IMPORTANT: The objective of the game is to kill the monsters before …

Continue reading

Posted in Projects.

Redundancy Bits Graphed (m + r vs r) – Internet Protocol (OSI Model)

redundancy bits graphed logarithmic

While going through redundancy checks in Internet Protocol this week, we were shown this homework problem by our professor [1]: Using plotting software (Matlab, Maple, Excel…) give the graph for the number of redundant bits r required for m + r (data and redundant) message bits. The x-axis must measure the m + r bits and range from 1 to 5000 bits. What does the shape of the graph represent? What does this mean? Courtesy of Dr. Fulp’s lecture slides [2]: to find the number of redundancy bits r required for each message m, we must find a relationship between message length (in bits) m and the number of redundancy bits r. m + r bits  => …

Continue reading

Posted in Uncategorized.

Setting up CUDA in Windows 10 (8, and 7 )

  This weekend I decided to set up my own desktop to run CUDA programs for my GPU programming class. It probably wasn’t the best idea, since I had to force reboot my computer a few times for crashing my GeForce device driver. Oh well. The approach I followed was from the Nvidia Getting Started Guide for Microsoft Windows. It’s pretty concise, so it’s definitely a good read if time allows. How to Setup CUDA in Windows 10: For this approach, you will need: A CUDA-enabled GPU Nvidia CUDA toolkit Visual Studio 2013 At the time of this writing (Nov 2015), Visual Studio 2014 and 2015 are not yet supported for CUDA programming. I believe …

Continue reading

Posted in C++, Programming.

Tutorial: A Character Count Tool Using Bootstrap and JavaScript

This week I want to document how I created a simple web application that allows users to input a message, and in return display the number of characters in it. Not only was it simple to make, but useful in the real world too! Final Character Count Page: For this project, we will be using Bootstrap for the user interface, and basic JavaScript for the character counting functionality. To get started, download the compiled and minified version of Bootstrap from the official website. Getting Started To kickstart our project, we will be using the “Starter template” from Bootstrap as it is easy to configure and readily available. According to Bootstrap, the template contains “nothing but …

Continue reading

Posted in Code, Web Development.

AppleScript: Back Page Function in Browsers

This week at work, I realized how pre-2010 my Mac’s Mighty Mouse was. There is a set of buttons on the side of the mouse, but it doesn’t even serve any functions! Namely, it doesn’t allow me to go back a back (aka a “back page” operation, if that’s what it’s called) on the browser. At home, I use the Logitech Performance MX mouse, and on Windows at least, the side buttons are preconfigured to do exactly that, and more (go forward a page), when pressed. Being a OS X newbie, I decided to create a simple AppleScript macro to perform just this function.  It probably isn’t the best solution by far, but at …

Continue reading

Posted in Code.

Replacing Spaces with “%20” in a String (C++, Ex: 1.4)

string space to %20 cracking

There are multiple ways to replace spaces in a string with “%20”, but one way I did it without starting from the back is through string concatenations and substrings (substr). In C++: Output: Substr takes in two inputs and returns a string that starts from position index and spans for length characters. In our above example, str.substr(0, i) when i = 5 ([5] == ‘ ‘) will return “hello” (starting from position 0 and spanning 5 chars). My reasoning in this example was that I would take substrings of everything before and after the space, and then concatenate them together with a “%20” in between. Corner cases weren’t checked, but it works well in normal cases. …

Continue reading

Posted in C++, Code.

How To Install the GMP Library on Ubuntu

how to install gmp ubuntu

In my Data Structures and Algorithms II class (more like Algorithms and Algorithms class), our professor assigned us to write a RSA encryption program to complement our coursework on modular arithmetic and primality testing. Because we needed large numbers (1024 bits) which would absolutely not fit inside normal primitive data types, we were suggested to use the GMP library for C++, or BigInteger for Java. Being a C++ guy, I choose GMP. Now, what I found out while writing this lab was that installing GMP was actually harder than writing the program! To cut to the chase, here is how to download and install GMP onto your Ubuntu system. This …

Continue reading

Posted in C++, Programming.

HackNC 2014 Hackathon at UNC Chapel Hill

Wake Forest University HackNC Kevin Lin

HackNC is an annual hackathon event hosted by UNC Chapel Hill, and this year’s competition marks the first time I attended as a participant. I have been to Sitterson Hall before during last year’s ACM – ICPC (Association for Computing Machinery – International Collegiate Programming Contest) so it was nice coming back to something familiar! In case I haven’t mentioned it before, I am currently a junior at Wake Forest University studying computer science. Chapel Hill and Duke have the biggest (and best I suppose) CS and EE departments around the area, so we often come here to attend events and meet new people. The Oculus Rift, Myo, and Unity For …

Continue reading

Posted in Events. Tagged with , , , .

FileZilla Fix: Error 421 Too many connections (8) from this IP


Recently while moving a WordPress blog with thousands of files, I ran into an error on FileZilla: 421 Too many connections (8) from this IP. I was transferring a huge blog over to my other hosting server when this error began popping out. I was having such a good day.. Not knowing what this error meant, I did a quick Google search and wandered myself into a hosting company’s website. As it turns out, this may be due to the fact that a file has been transferred, but the connection has not yet been closed. Normally, this shouldn’t be a big problem on VPS or dedicated servers because they have the ability to change …

Continue reading

Posted in Web Development.

Setting Eclipse to Compile with C++11

C++11 Linux Terminal Compile

A few days ago I was writing a program that required the use of new syntax from a newer standard of C++. I looked around trying to figure out where to tick a setting or add a line somewhere on Eclipse, but just couldn’t find where to do so! Now, I knew how to compile under the new standards on the Linux command line, but with the way my project was designed, being able to compile under Eclipse would be wayy more convenient. In this page, I will be going over how to compile C++11 under both the terminal and Eclipse. Compiling under Ubuntu Terminal Starting from the command line …

Continue reading

Posted in C++, Programming. Tagged with , , , .