Vilius Vyšniauskas

Computer Engineer

#include <iostream>

int main() {

Person me = new Person("Vilius");
if (me.state() == "sad") {
me.setState("happy");
}
cout << me.state();
return 0;

}

Welcome to a page all about me, Vilius Vyšniauskas! I am a computer engineer originally from Lithuania and currently situated in Los Angeles, California. A fresh graduate from UCLA, I look forward to gaining experience and contributing to the world of technology, computer science, and engineering.

Growing up in my homeland of Lithuania has allowed me to develop a unique perspective on the world. I am incredibly fortunate to have had the opportunity to experience the world from two completely different viewpoints, socially and economically. This has taught me to approach problems from more than one angle and to always refine my solutions. Being a multi-cultured and world-travelled young adult studying computer engineering has helped me understand the technological needs of the current world and the impact of collaboration on a global scale.

My greatest interest is tinkering - with software, circuit boards, LEGOs, and everything I can get my hands on. For this reason I became an engineer. It is a field of exploration and discovery, and that motivates me every time a challenge appears. This adventure of inventing new things and extending existing ideas yields the best results with cooperation. To promote this mindset, I joined the computer science honors club at UCLA, called Upsilon Pi Epsilon (UPE), as the tutoring chair. Teaching others has this great effect in that it also makes me a better engineer, more careful and precise, so I strive to pass down my knowledge when possible.

Throughout my career at UCLA, I have taken courses in both computer science and electrical engineering curriculums. From circuit analysis, digital design, and schematic optimization to operating systems, networking, and algorithms, my time at UCLA has given me a wide breadth of knowledge. During my 4 undegraduate years, I gained a deep understanding of C/C++ and low level system programming which has enabled me to expand my interests and proficiency in other areas as well. For a full list of my skills, take a look at my resume. To see some of my personal and class projects, head over to the Projects tab at the top.

If you made it this far, then congrats on getting to know me just a little bit better! If you want to discuss my work, projects, or past experience feel free to shoot me an e-mail at: tigrasvilius@gmail.com.

Absolute Value Detector for Neural Spike Sorting

GitHub Link: https://github.com/vilius-v/Neural

Tools Used: Cadence Virtuoso Layout Suite

Time Period: February 2017 - March 2017

The goal of this project was to design a physical 6-bit absolute value detector with a worst case delay of 1 nanosecond and minimum energy. Only static logic (pass-transistor or CMOS) was allowed. Here is the final report and the full list of the requirements. The three most important features of the design are:

  • Elimination of the need for separate adder (to create |x|)
  • Carry look-ahead logic combines absolute value and comparator into one stage
  • Efficient, high-level design minimized transistor count

This project taught me about CMOS logic design, implementation, and optimization in addition to valuable experience with industry software and general techniques associated with digital electronic circuits.

Coffee Vending

Tools Used: Python, Rasberry Pi

Time Period: May 2017 - June 2017

An attempt to create a cold brew coffee dispenser using a Raspberry Pi, a personal mini-fridge, and a custom loop cooling device to cost-effectively serve coffee. This was a joint software and hardware solution, combining valves with control switches to release coffee on a credit card swipe. Created a fully working prototype which measured flow rate and calculated the cost based on current volume dispensed.

QMusic

GitHub Link: https://github.com/vilius-v/QMusic

Tools Used: Go, JavaScript, HTML, CSS

Time Period: September 2016 - November 2016

A web app created to help college students share music easily and conveniently. This web app uses a combination of JS and Go to integrate with the Spotify API and provide a web page front-end for users to interact with. It allows for a single host to share a "party" code, linked to his or her Spotify playlist, which enables all friends with a code to add music to the host's Spotify account.

This is currently a feature not supported by Spotify itself - Spotify requires a person to have a registered account in order to edit playlists. This app hides the host's credentials from other users but internally uses the host account to add all music to the desired Spotify playlist.

Image Calculator

GitHub Link: https://github.com/vilius-v/ImageCalc

Tools Used: C, Xilinx SDK, Xilinx EDK, FPGA

Time Period: April 2017 - May 2017

A calculator that can see. This calculator uses image processing to identify numbers and operators that the user presents to a camera, and then calculates the result of an expression when the user is finished. The calculator supports operations such as addition, subtraction, multiplication, and division. Operands are currently configured with a maximum of 4 digits each, with room for expansion depending on available memory.

The calculator is designed to look for 7 segment numbers and operators like the ones shown here. The user enters an expression in the form of a number followed by an operator, and ending with another number. Don't worry about overflow or dividing by zero - this is accounted for. To check out a sample output, click this.

This project uses a Xilinx Vertex-5 FPGA combined with a VModCam module to enable camera input. For a more detailed description of all the components used and the general setup of the EDK and SDK, see the report. This also includes a detailed description of the algorithms and how they work.

Research: Toxic Algae Monitoring w/ Digital Holography

Tools Used: C++, QT Framework, Matlab

Time Period: November 2016 - June 2017

A research project sponsored by HHMI Research Group. My group was tasked with investigating toxic algae. Our approach was to use digital holography to reconstruct and identify, in real-time, floating algae particles in a current. We achieved a throughput of 100mL per hour at 3 frames per second. The main algorithm had four steps:

  • Background subtraction
  • Segmentation of detected objects
  • Auto-focus and reconstruction
  • Display identified objects

My main contributions were helping with the algorithm and image processing, as well as creating a QT front-end application. Here is a link to the final presentation.

Simple HTTP Client and Server

GitHub Link: https://github.com/vilius-v/SimpleHTTP

Tools Used: C++

Time Period: May 2016

The aim of this project was to construct a web client that supports sending HTTP/1.0 GET requests and parsing HTTP/1.0 responses, as well as a web server that supports parsing HTTP/1.0 GET requests and sending HTTP/1.0 responses.

The design consists of the following three layers:

  • Obtaining and abstracting the parsing of HTTP/1.0 GET requests and responses
  • The web client, which encompasses the creation of a socket and the sending and receiving of HTTP requests via this socket.
  • The web server, which hosts files in a given directory (on a plausible network hostname and port of the user's choice) and accepts multiple incoming connections from multiple web clients.

Feel free to send me a message at tigrasvilius@gmail.com if you have any questions about my experience and work. In addition, take a look at my resume for a general summary of my work.

If you want a more personal connection point, you can always visit my social accounts (Facebook, Instagram) and developer pages (LinkedIn, GitHub) listed below. I look forward to hearing from and working with you!