Main Page Features

Week 5

    Hey everyone,

    It’s now the start of week 5, which means everything is kinda falling into place now. Hopefully everyone’s classes are all going well. I’ve been oscillating between very busy and very bored for the past 3 weeks while trying to juggle Student Council, job interviews, and research.

    Things I’ve been working on in the past few weeks:

    Student Council:

    Student council is getting back in session with a couple of cool events. Shout out to the folks who just helped organize a successful Reverse Career Fair! Coming up next week is MedAppJam, so if you haven’t signed up for that and are interested in an awesome two-week long coding competition, register now! It’s going to be a lot of fun, so definitely join in on this. My committee is also planning on hosting two workshop series later this quarter. One will be a multi-part Android workshop that will teach you how to make an Android app from the ground up. One session will go over introductory concepts while the other two sessions will go over how to do some of the more advanced concepts. The other workshop we will host this quarter will be a Git/Github workshop. Git, or version control in general, is very important for us cs folk. When we’re nerding away, changing the code in a certain file, we may want to combine these changes with other people’s changes. Rather than email each other our code and manually go through to copy and paste the changes, git allows us to use computers to do the heavy lifting for us. It’s magical. Chances are you’ve heard about it. If you haven’t, you will. So look forward to these awesome events and more to come!



    I’m currently doing undergraduate research in machine learning. For those of you who don’t know what machine learning is, it’s essentially getting a computer to find patterns in some data so that it can predict various types of results. A less abstract way of explaining what machine learning is would be to rattle off a few examples of what a machine learning program, once properly “trained” can do:

  • Recognize where in a picture there is a face/person/animal/object, if anywhere
  • Read your god awful handwriting and recognize what you just wrote
  • Understand the meaning of text, i.e., recognizing that certain articles can be grouped together because they are talking about similar things

Among other cool things as well. For humans, these tasks are very easy. A child could do the first task and an elementary school student could probably do the second two. This isn’t so easy for machines since their way of processing information is very different from how our brains process information. A large portion of machine learning consists of treating your machine like a child. You show it these flash cards, or training data, to teach it the right answer to certain questions. Then, you test it to see how it does on questions you haven’t asked yet. (Note to self, don’t sound like this when I’m writing up my research for reals)

Right now, the group I’m working with is trying to recognize where in an audio file there is a gunshot. For humans, this task is easy. Gunshots are very distinguishable, they are loud. Of course, certain false positives like cars backfiring or books slamming down on a table would be tricky, but for the most part, we could do this fairly easily. For a computer to do this task robustly (<- keyword) we employed a bunch of machine learning techniques. After we recognize where in a file there are gunshots, we are hoping to do some other stuff with the data, like recognizing what type of gun it is. An obstacle that we continue to face is our collective non-existent knowledge of guns. Just last night, I had to google a bunch of different types of guns to see what we can have our computers do next. I’m most likely on a watch list somewhere.



Phew, I’m glad I’m done with interviews. I’ve been lucky and was able to accept an offer just a few days ago! The interviews I went through were grueling at times, but it’s always cool to be able to flown to places expense free 🙂 If you’re applying for a job or internship, chances are you have to go through similar interviews. If it’s for a programming or software engineering role, chances are you know how some of these cs interviews go. I’ve only really done cs interviews, so I can go into detail about how these work.

Typically, companies will first give you a first round screening interview, often through the phone. This involves talking with the other interviewer through the phone while at the same time on some kind of collaborative document that you both see. You’ll get some standard questions (Tell me about X on your resume, why do you want to work at company Y, what are you looking for in this internship/job) but the meat of the interview is going to involve you solving some technical questions. Honestly, I don’t like phone interviews. In a face-to-face interview, you can get a read on your interviewer pretty easily and have a good idea of whether you’re moving on the right track or not. This is not the case when you’re on the phone. If all goes well with the 1 or more phone screens (depends on the company), they’ll usually invite you to fly up to their company office or headquarters to go through the “on-campus” interview.

These on-campus interviews generally last all day or a good portion of the day. You start somewhat early (they hopefully will at least partly feed you through out the day) and go through anywhere from 2-3 up to 5 or more interviews. The structure of these interviews are more or less the same as the phone interview, but instead of sitting you down at a computer, you will usually be asked to write your solution out on a whiteboard. Rinse and repeat 2-5 times. Hopefully somewhere in the middle you’ll get a tour of their campus. All in all, it was interesting experience for me, but I’m also kind of glad I’m done with them.

And now for an interview problem: Given a tree or array that implements a max-heap of n elements, how do you find the k largest elements? What would the time complexity of your solution be?


That was a lot. I probably won’t be posting that much anytime soon. Thanks for reading!

– Phil

Week 4: New Tech

Everyone is interested in tech, seeing that it is so integrated into daily life. People are usually on the lookout for the next big innovation in tech so they can incorporate it in their life. A great and entertaining source that compiles all the technological products to come is a channel on Youtube called Vsauce2.

Vasauce2 covers all the weird and wacky inventions such as tattoos that play sounds all the way to revolutionary breakthroughs like real world video game makers. It really is a fun way to delve into what people are producing and an awesome way to pass the time. The series you will most likely be interested in is called “Mind Blow.”

Next time you’re browsing through the web take a look at Vsauce2 and prepare to have your “Mind Blow[n].”

Week 1: Back to School?

Hi everybody,

Since it’s week 1 (or it was three days ago), I figured I’d write a little bit about some back to school type stuff: time management and blowing off steam.

I started this quarter thinking that I’d have a fairly light load: 12 units, CS classes only (which means no writing, can I get a ‘hallelujah’).  No big deal, right?  Well, kind of.  For all you programmers out there, you’ll know what I mean when I say that I’m transitioning from the whimsical world of dynamically typed languages (think Python, JavaScript, Ruby) to the cold, harsh landscape of statically typing  (C/C++, Java).  Let’s just say I’m spending more of my time squinting angrily into my computer screen than I normally do.

Not only am being I faced with the horrors of static typing at school, but I’ve recently gotten a couple new jobs that are requiring me to test the boundaries of my Google and Stack Overflow searching abilities.  I have deadlines coming at me from every which way, and it’s starting to get overwhelming.

Or at least, it might have (gotten overwhelming, that is) a couple years ago, but at this point I’ve got my workflow pretty streamlined.  How, you might ask?  Well, I’m not a particularly organized individual.  Anyone who takes a spin in my humble automobile would be taken aback by the number of receipts, paper scraps, unpaid parking tickets, tupperware, and even the occasional article of clothing floating in there.  Discipline?  Nah…  I think I have a harder time than most pulling myself away from Netflix on any given afternoon.  Well what then?


And that’s pretty much it.  Somebody told me a few years back to start religiously using Google Calendar, and, although it took a while to get into the swing of things, I eventually started mapping my life with it.  On top of the calendar, I’ve recently discovered that Google Keep is a pretty kick-@$$ organizer.  I feel like I’ve been on a life long quest to find the perfect task list app, and, even after writing my own, I can’t justify using it over Google Keep.  Make a new note for each category of things you have to do; change the note to a checklist; fill it with all the mind numbing tasks that you find yourself obligated to complete over the week.  Done.

And the coup-de-gras?  Google Apps Script.  Automate any and all spreadsheet, form, and document tasks.  Learn a little JavaScript, and you’ve saved yourself a lifetime of copying and pasting, form creation, and data analysis.

I didn’t mean for this to sound like an ad for Google, but I mean, *!!!*, so much time saved.

Anyway, even with all the handy technology that surrounds us these days, I know it’s easy to get bogged down by our responsibilities.  That’s why I think that, even as important as it is to be on top of one’s workload, it’s just as important to unwind regularly.  Take an hour long nap, play some couch co-op with your buddies, grab a beer with an old friend, or just sit and stare at a wall for a while.  Whatever it is that helps you relax, make sure you make some time for it.  Don’t beat yourself up if you can’t finish everything, just try your best to see that you do.  I mean, I get that the point of all this work is so that we can enjoy ourselves later in life, but that doesn’t mean we should sacrifice our sanity now.

Thanks for reading my ramblings.  Have a great week UCI.


ICSSC’s First General Meeting of Fall 2014!

Hello friends!

First of all, thanks to everyone who stopped by our booth at the Anteater Involvement Fair this past Monday. We spoke with over 200 new faces, and we hope to get to know each of you better and see you throughout the year!

Today is the first day of classes for Fall Quarter 2014, and you know what that means – ICSSC’s first general meeting of the quarter is right around the corner. As we stated before, the first meeting will be:

Monday, October 6th @ 7:30 – 8:30 PM in the Mac Lab/Kay Family Foundation Lab (ICS2 Room 110)

Many of you have asked us where the Mac Lab is, and it is a somewhat difficult place to find. It’s located in Building #304 on this map of UCI’s Campus. Here’s another image that might help –


If you are walking into ICS Plaza from Aldrich Park, continue walking before you hit the stairs leading up from ICS Plaza to Engineering Plaza. From there, turn right and keep walking down along the classrooms and you will reach the Mac Lab.

I know these directions are kind of terrible. Don’t worry! If you still can’t find the lab, we’ll have some officers in the general area of the ICS plaza who can help guide you to the right place.

I’m really excited for this year, and I hope you are too 🙂 Hope to see you all on Monday!