The End?

Intro - The Assumptions

This semester in SWE has been a wild ride. If you’ve taken a class with Prof. Downing before, you may realize that a good portion of the class follows a similar flow, which is what I found out. Coming into the class, though, my experience has been a bit rougher than what I expected.

Read More

Pre-Exam Life

What did you do this past week?

Over the weekend, I got to attend Earthack and created a project called Pick It Up. It was a pretty cool project because it combined computer vision and gaming in order to crowdsource cleanup, which basically allows people to collaborate over cleaning up litter in the area. This project was really fun, because it was my first time that I worked on Node.js, which I originally hated, but ended up enjoying, and I wrote a post about being more open to learning stuff that I was closed off to here. The Earthack brought a lot of thoughts and questions for me, such as my intentions and the formats of hackathons, which I’m hoping to write about sometime in a future blog post, but for now, looks like I probably won’t pursue after it until I am more free.

Read More

Writer's Unblock Week

What did you do this past week?

A lot has happened this past week, especially writing-wise. Over the weekend, I was able to help organize MusicHacks, and I was able to write about my experience as a tech organizer in my blog post. Also, Easter Sunday happened, which was a huge blessing because I was able to reflect a lot over my faith, which I wrote in my first Medium post. And most of all, I wrote my first article over UTCS’s new faculty mem, Vijay Chidambaram, which really brought so much insight over research, teaching, and the work that goes behind article writing.

Read More

Music Hacks

What did you do this past week?

This past week, our team in SWE was figuring out what tasks we had to finish for the final phase. For the back-end, we are implementing Flask-WhooShee in order to handle our search requests. One thing that has always surprised me, as a recent python programmer, is that a lot of features in python can just be imported and used. With a few quick pip install’s and some documentation reading, a lot of functionalities can be implemented. Flask has so many sub libraries that can be installed to integrate together. Hopefully, we’ll finish all the tasks needed for the proejct way beforehand so that we won’t be stressed as heck at the end of the deadline.

Read More

Molded Into Life

What did you do this past week?

This past week has been a lot of writing, programming, and thinking. I’ve been very blessed to have the opportunity to be a blogger for UTCS, and due to recent events, I’ve thought a lot about my life and a lot of things that happened. Though I am not able to share everything, I have put a little instance of it in my blog post here.

Read More

Arms Are Heavy

What did you do this past week?

This past week was a pretty crazy week, just because of exams and many other amazing things I got to do. I felt that I did well on my Algo exam, which was amazing considering the amount of subjectivity that class brings, and I did significantly better on Gov than previously. Those two classes by themselves unfortunately brought a lot of restless nights.

Read More

Back From Break

What did you do this past week?

This past week, I spent a good amount of time catching up on school work. With Spring Break finally over, I found that there was a lot of stuff that I had not finished. I spent about 8 hours working on my algo hw the day before it was due, which was not the best idea since my partner and I stayed up till 5am raging over it. Afterwards, I found that I was still stuck in the Spring Break vibes, so it was really hard to focus on hw and manage my time well.

Read More

Who Needs A Break

What did you do this past week?

This past week, I ended up doing a lot of activities and not much homework.

Read More

Is This The Real Life

What did you do this past week?

This past weekend, I went to UTD for a hackathon. HackUTD was not the most organized hackathon that I’ve ever been to, and there was not a lot of companies or coffee during that time, but I was able to work on a pretty nifty project with some friends during that time. Our project, SensorStrike, is a mobile app that replaces the keyboard and mouse with a phone, providing an FPS shooter experience in holding, aiming, and firing a gun at enemy CS:GO characters on a computer screen. You can see some demo gameplay of this project by one of my teammates here.

Read More

Crazy Week

What did you do this past week?

This past week was mainly preparing for the Software Engineering Test 1. The previous exam was based on implementation, but I understood much of the Python functions/classes well, so I was more worried over outside information from the UML book or understanding of papers/past quizzes. I didn’t do as well as I wanted to (mainly because I was aiming for a full score…) but it was not as hard as I expected.

Read More

Fully Booked

What did you do this past week?

I took my first Algo Exam, and got rekt. Though I had prepared as best I could, it was really difficult not to think of so many different ways to solve a problem’s correctness, and one of the biggest downfalls during it was I accidently spent 20 mins on a Dijkstra’s algorithm problem when it was only counterexample and could’ve taken only 5 mins. Fortunately, I feel like I learned alot of how I prepared for the exam, and I’m going to try harder next time to pick up my pace in understanding problems and doing more examples way beforehand.

Read More

Working It All Out

What did you do this past week?

CS-wise, I spent my Tuesday morning working on the Algo problem-set with my friend William. Even as a logical-minded person, I find it hard to put together a short solution that can solve all aspects of a problem, not only because of my nature, but also because there is a certain notation that needs to be followed when writing proofs. Since the Algo exam is coming up next week, I’m hoping to look over many examples and go to office hours so that I will be able to build a good foundation to solve Algo problems at a reasonable pace.

Read More

Sound of my Heart

What did you do this past week?

This past week was really busy. After going to retreat with my church, I came back to school with this never-ending pressure to catch up with schoolwork. I ended up staying awake till 2AM Tuesday to complete Algo hw, which is was frustrating because the logic behind the problems were not too difficult, such as proving Dijkstra’s algorithm or how binary digits works, but building proofs to show matter-of-fact algorithms are correct are tedious. Not only are you required to write in standard notation, but you must provide an indefinite amount of observations so that a reader of a proof cannot be deterred in thinking a statement is an assumption.

Read More

Problem Acquired

What did you do this past week?

This past week was the 2nd half of my liquids fast. Though it was challenging since most of the week was drinking sweet citrus acids, consuming Wendy’s frosties (since frosties aren’t solids), and watching my friends down hot fries and cookies, it was good spiritually. Every time I was hit by hunger, I was provoked to either crave food, or remind myself to hunger for God. Unfortunately, I played my first IM basketball game during this time. That game was a toughie since most of our team was running on a fast of some sort. Despite not winning, we balled hard and did well for our own physical condition (30+ points is pretty good). Fortunately, I will be heading into congregational church retreat this weekend, which will be taxing for my schoolwork, but great for me spiritually!

Read More

Write On Time

What did you do this past week?

This past week was the 1st part of my One Desire Fast, which consisted of fasting from meat. Even though after the 4th day, I started missing the juicy crunch of a Chik-fil-a sandwich, I was able to spend more time with God and grow closer to Him in my reflection. Next week will be a bit more of a struggle, because I’ll be taking on the 2nd part of my fast consisting of only liquids. Fortunately I’ve done it last year, and I’m looking forward to it because I believe I’m more prepared for it.

Read More

Back At It Again

What did you do this past week?

The previous week, I had just got back from a 2-week trip to Taiwan, so I expected my sleep schedule to be messed up beyond compare, but surprisingly it’s been really nice. I’ve been sleeping at 11 to 12 at night and waking up at around 5 to 6 in the morning, which gives me a lot of time to do a lot of stuff, such as plan out the day, do devotionals, and get in a morning run.

Read More

Winter with Code

What did you do this past week?

This past week, I spent a good majority of my time reviewing for my Operating System exam. Let’s just say studying for that exam is like trying to take a bite out of a watermelon: Most of the things are already understood, but you have to get through a pretty hard shell before things start making sense. I would really like to try and learn something new through Feynman’s method of learning. In order to learn a new concept, write or explain a given concept as if you were teaching someone else. Whenever you find there are gaps in understanding for the concept, learn those parts, and restart teaching that concept. Repeat until you can teach the concept from beginning to end. Now to ingrain it into your brain, try to see how you can explain the concept in smaller, simpler terms. Once you get it down to that, create an analogy to pair with that concept, and it will be nicely ingrained into your brain.

Read More

Week Sixteen – Dis is Finals

What did you do this past week?

This past week, I went through the biggest hill of stress I ever faced. I had my last interview with a company, final test in OOP, and the finale project of OS to finish by Saturday. I don’t know how I survived, since I went to the ER…

Read More

Week Fourteen – Thanksgivings

What did you do this past week?

This past week, I finished busy work I had for my classes and taking time off to go home for the break. It was good to be able to see family after such a long time. I was planning to work my OS project and study for my OOP exam, but I decided to take a well-needed break. It’s been a while being able to sleep more than 7 hours. (sleep, you have been missed).

Read More

Week Thirteen – Chill-ish Week

What did you do this past week?

This past week I finished my OS project 3 over the weekend. We had to use 2 slip days, because we wanted to improve our past project 2 code to prevent synchronizing issues that may arise in our final project (since project 3 and 4 code all depended on project 2). Even after constant reviews by the TAs and our professor and fixing several synchronization issues, our code never was completely synchronized. Hopefully project 4 will work out.

Read More

Week Twelve – Moodify Hack

What did you do this past week?

This past weekend, I went to Austin’s Indigitous #Hack, a Global missional hackathon that tackles challenges to help those in need and allows Christians to find out how technology, missions, and faith are directly linked.

Read More

Week Six - Hard-Aware Hack

What did you do this past week?

Half of this week was spent recovering from HackGT. Overcoming the tiredness of lack of sleep, 1 hour jet lag (I don’t deal with time-zones), and 10 lbs of food gained was hard, but I was eventually able to get enough rest (I’m still struggling with the 10 lbs). Unfortunately, I haven’t gotten my reimbursements yet for HackGT, so I’m down $275, which means I have to rely on free food and another hackathon (TAMUHack) for “living expenses” for the next weekend.

Read More

Week Five - Hack my Life Away

What did you do this past week?

I spent my first 4 AM sesh with my pair programming partner in the computer lab trying to figure out the best way to parse a string in C++ to store into a cache (of course we did other things, but that was one of the tasks we took on). I realized by taking a string, passing it into an istringstream, converting it into a istream_iterator, and storing it as a vector, I can get data in an array through random access. It would've been way more efficient to create a macro to do this, but here's how the code looks uncovered.

Read More

Week Four - Discovering the Lab

What did you do this past week?

I found the CS lab. I had always shied away from that place. All the stories of people who stay there so long, that they end up seeing the sun set at night, and seeing the sun rise in the morning. It seemed like a stress factory with everyone crammed into a computer lab on the 3rd floor of the Computer Science Building (GDC); eating delivery Dominoes at 2 in the morning, sleeping only 2 hours a night, and finishing projects several minutes before the deadline. I didn’t want to get sucked into that ‘nightmarish’ environment, where like a horror story, once you go in, you never get out.

Read More

Week Three - Bugs, Bugs, Bugs!

What did you do this past week?

On the technical side, I spent a good portion of my life reading Piazza, working on a mini-shell project for 439 (bless the TAs), and completing Collatz for OOP.

I ended up participating in a skit in 439 in order to simulate many important scheduling algorithms used within operating systems.

I hated it.

Basically, the teacher asked for 7 volunteers who didn’t mind looking like fools (maybe I should’ve paid attention to that last part), and I ended up standing up in the front of class dancing to ‘Wheels on the Bus’… not just once, but multiple times. Granted, it was a very good visual in representing First In First Out (FIFO), Round Robin, Shortest Job First (SJF), and Multilevel Feedback Queues with scheduling, process execution, and I/O interrupts, but please… don’t ever let me dance to music that goes ‘all through the town’ ever again.

On the non-technical side, I attended a prayer gathering for my church (which was great because it was on the day that Collatz was due), played Blazer Tag and ate Magnolia’s cafe with my life group, and had a successful night at Slosh social dance (Shoutout to Michelle and Ethan for an awesome dance lesson).

What’s in your way?

I found that even though I started working on all my projects early (439 and OOP), I still encountered crunchtime in finishing Collatz (the OOP project).

Collatz was hard, not only in maintaining a routine in testing files on Docker, committing them on Github, and doing continuous integration on Travis CI, but there were multiple things that I did not take account for because of the sheer amount of software that we had to work with.

For Github, there were multiple times where I accidently worked on the master branch instead of my dev branch, thus committing and pushing onto the main source files rather than the separate dev branch space. Additionally, while learning to use different commands such as ‘git reset’, ‘git stash’ and ‘git commit –amend’, I found that many times I would end up corrupting the files in my local space with merge conflicts in files that are auto-generated. Resolving those issues were painstakingly annoying, and I learned that careful planning and design were necessary to carry out any execution, or else 90% of the time will be spent fixing problems that I created.

Furthermore, encountering errors with ‘dot’ and background files for specific tools like Travis CI and Docker just ‘triggered’ me to the times during the beginning of spent my internship. About 5% of my time was spent coding, while the rest of the time was spent searching and reading through 10-15 page long wikis in order to figure out how to set up a desktop that I never ended up using. Though I did end up using Travis CI and Docker a lot, it reminded me that inevitably a good amount of software development time is spent learning how to use tools to develop software (APIs, Version Control, Continuous Integration, etc…), and I just had to accept that fact as a software developer.

OOP Class Impressions

As much as I delight the learning style Downing executes, I found that several friends of mine did not enjoy it as much. Though I had thought that everyone would learn the best under Downing’s style, in reality, not everyone learns in the same way. In fact, it seemed like several of them enjoyed the lecture-heavy, ask-questions-anytime style most professors do rather than the teach-through, get-called-on and get-challenged-by-any-questions-asked style that Downing takes.

Furthermore, there seems to be some tension amongst students and the professor/TAs the past several weeks, which I was not sure if it was because of the recent Travis CI issue, or the situation with the public-repo tests where many tests contained faulty tests or bad format (I’ll admit, I was one of them who had both faulty tests and carriage returns ._.).

I hope that rather than defaulting to pointing fingers at one another by saying who’s wrong and such, we can understand several things.

(1) The TAs have 180 student’s projects to grade, so organizing how pull requests get submitted while answering any Piazza questions can be overwhelming, especially during crunch time at the end of the project. And though you can say it’s their job and they made several mistakes, the TAs are trying their best, and being students also, they have their own work that they need to accomplish, while grading all our projects (which are obviously a priority for us). Thanks Onur Domanic, Reza Mahjourian, Cindy Wu, and Peter Scamman!

(2) We are like a mini-student community in class, and in being so, we can do many things to help one another get through the same problems that we encounter. Encouragingly enough, this happened a lot, especially with Travis CI, Docker issues, invalid test cases, and many other problems resolved by students on Piazza. A big shoutout to Simon (Xuming) Zeng (for too many things to count for), Brian Cui (for catching test cases), Ryan Le (main Travis CI communicator), Megan Chen (for step-by-step project setup), George Farcasiu (for the acceptance test script) and many others that I can’t cover (because there’s too many of you), who’ve helped out on Piazza and behind the scenes. Thanks guys! thumbs up sign

What will you do next week?

I plan to schedule out times to meet with my partner in working on Project 2 for Collatz. Hopefully after experiencing the first project, set up should be easier to go through and a greater amount of time can be used to design, code, and optimize the project.

On top of that, I aim to finish my first 439 project, creating my first mini-shell and answering all design questions.

Additionally, I will be preparing for the career fair next Tuesday, creating the perfect elevator pitch, bringing my resume up to date, and studying ‘Cracking the Coding Interview’ in order to be at my best shape during interviews.

Finally, I hope I can manage my time well enough so that not only I can do all those technical, school work stuff, but also I can spend time with my church family as well as practice dance moves for the one step lesson this Saturday for Slosh.

Tip of the Week

As you may know, I am a productivity fanatic, and I find that there can be a lot of time saved if we didn’t have to study. Studying is hard (not gonna lie) and I know I would much rather spend hours of my time on the weekend speed-watching YouTube videos of Ted Talks, Cooking videos, or Better ways to resolve traffic rather than studying. But what if we could improve our studying?

I was introduced to a Study Hacks Blog last year, and I wish I knew about it before college. Not only were there tips on studying, paper writing, note-taking, and test taking, but there were also tips about college admissions, interviews, and fighting procrastination. All the solutions for problems that I wanted solved were all given to me right here. Also, the author is a Computer Science professor, and he’s written several interesting books that I recommend checking out. (‘So Good They Can’t Ignore You’ is very mind blowing for people who try to follow their passion).

Read More

Week Two - Let the projects begin!

What did you do this past week?

First off, I learned MATLAB and LaTeX, two programs I never worked with before. The syntax for both languages is not hard, so picked up the basics quickly. Secondly, I finished another week of online Linear Algebra for Programming for Correctness.

Read More

Week One - Starting the Sophomore Semester (Not Slump)

What did you do this past week?

I installed Docker Toolbox and pulled Downing’s image and OOP files onto my Windows terminal. Furthermore, I created a linkedlist in C for Principles of Computer Systems, which was difficult because I had not worked with pointers in C for a while. Additionally, I revamped my resume to contain the work experience I had from Audible as well as reformat and delete non-technical details that took up precious space, which was a pain because I worked in Microsoft Word instead of LaTeX. I also downloaded MatLab for Programming for Correctness, and finished half a week of a Linear Algebra course in preparation for the class. Finally, I lead the first Slosh social dance event on Saturday night, where people learned Footloose and East Coast Swing and got to free dance to many social dance songs.

Read More