Warning: Declaration of mosaic_walker_nav_menu_dropdown::start_lvl(&$output, $depth) should be compatible with Walker_Nav_Menu::start_lvl(&$output, $depth = 0, $args = Array) in /home/linkevin/public_html/wp-content/themes/mosaic/functions.php on line 537

Warning: Declaration of mosaic_walker_nav_menu_dropdown::end_lvl(&$output, $depth) should be compatible with Walker_Nav_Menu::end_lvl(&$output, $depth = 0, $args = Array) in /home/linkevin/public_html/wp-content/themes/mosaic/functions.php on line 537

Warning: Declaration of mosaic_walker_nav_menu_dropdown::end_el(&$output, $item, $depth) should be compatible with Walker_Nav_Menu::end_el(&$output, $item, $depth = 0, $args = Array) in /home/linkevin/public_html/wp-content/themes/mosaic/functions.php on line 537

Warning: Parameter 2 to wp_hide_post_Public::query_posts_join() expected to be a reference, value given in /home/linkevin/public_html/wp-includes/class-wp-hook.php on line 286The Notepad Blog - 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: http://linkevin.me/alienmonster IMPORTANT: The objective of the game is to kill the monsters before …

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 => …

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 …

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: http://linkevin.me/char-count-tool.html. 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 …

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 …

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. …

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 …

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 …

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 …

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 …

Meet Kevin

I work as a software engineer for Qualtrics in Seattle. I love technology, and that's why I decided to start this blog during college to share my troubles and successes with the folks of the Internet. Outside of work, I love to play and watch soccer. Occasionally, I also enjoy playing DotA 2 and FIFA online with my friends.