“Fix” Eclipse’s UI With the Eclipse MoonRise UI Theme

A coworker tipped me off to a way to change the Eclipse UI from this mess:


Into this:

The magic is done through the Github project known as the MoonRise UI Theme. Installation is as simple as adding the update site into Eclipse and updating a UI preference. Make sure to add the “optional” RainbowDrops syntax highlighting scheme as the dark UI seems pretty useless without it. I found that even with the optional syntax highlighting I still needed to modify comment brightness and Java string text color.  For fine tuning of colors and text-brightness, simply right-click any text you’d like to tweak > Preferences > Java > Editor > Syntax Coloring, then find and change the Java, Javadoc, or Comment section you want to modify.

Wolverine’s Holiday Vacation in San Francisco!

Photo Dec 10, 10 10 37 AMRecently, I partook in Reddit’s Secret Santa 2013 -Reddit’s attempt to conquer the world record for the number of people participating in an international gift exchange.  At the time of this update, Reddit smashed the world record obtaining over 120,000 participants in 160 different countries. 

My pairing was with a Norwegian gal named Ava.  In her description she mentioned that she likes X-Men, and I had the idea to get a Lego X-Men character (Wolverine) and take him on an adventure in San Francisco, before sending him off to Norway.  Here is the story of our adventure around “Fog City.”

For those of you unfamiliar with San Francisco, or who simply want to follow along, I’ve created a Google Map indicating the location of each event.

Photo Dec 10, 9 19 20 AMWhile on a walk one day I spotted a strange-looking man sleeping on the sidewalk.

“Hmm,” I asked, bending over to check on him, “long night, I guess?”

“Uuuugh, it’s been a long week.  Help me up would you?” the man replied.

I bent over, lifted him and suddenly realized, “I recognize you!  I’ve seen you in movies.  What happened to you Wolverine?!”

Photo Dec 10, 9 17 55 AM“Ugh, I just got done fighting another villain for the countless time and it was harder on me than I expected.  I only wanted to take a short rest, and well… clearly, I was more tired than I thought.  Thanks a lot for your help!”

“No problem,” I replied.  “You sound exhausted.  I mean, you never hear about it, but… do X-Men ever take vacations?  You look like you could really use one.”

“No, not really,” Wolverine said groggily.

He paused, “Hey… now that you’ve got me thinking about it, a vacation sounds exactly like what I need! What are you doing today?”

“Well, I had planned on meandering about in San Francisco.  Would you like to come hang out with me today? I can show you around.”

“Yeah that sounds excellent, actually!  Sure you wouldn’t mind?”

“Not at all!  It’d be cool to hang out with a celebrity.  Also, I can show you some of the great experiences the city has to offer!”

“Sounds like a plan!” he exclaimed.

Photo Dec 10, 9 13 21 AM
Wolverine in front of the Walnut Creek BART station.


Photo Dec 10, 9 21 22 AM
Wolverine enjoyed the BART’s “gently aged” seats.

After that, we were set.  Wolverine accompanied me to the BART -the “Bay Area Rapid Transit” system of trains throughout the Bay Area. We took the train from my town into the city.





After our short ride in we reached the station next to my office building in the center of Downtown San Francisco.



We lucked out!  In a city renowned for its dense layers of fog, it was an incredibly sunny day! Barely a cloud in the sky!

Photo Dec 10, 10 11 37 AM
Little known fact about Wolverine, he has a bit of a sweet tooth when he’s on vacation!





When we got downtown, I helped Wolverine to some hot cocoa and cookies.  That man could eat!




Wolverine loved the authentic San Francisco Sourdough, the best bread in the world.
Wolverine loved the authentic San Francisco Sourdough, the best bread in the world.



I also got Wolverine a slice of bread from my favorite bakery called Acme Bread Company.

Around mid day, I ventured out to the rock climbing gym in nearby Oakland.  Wolverine tagged along for the exciting workout!

Photo Dec 10, 7 48 34 PMPhoto Dec 10, 7 55 40 PMPhoto Dec 10, 7 52 21 PMPhoto Dec 10, 7 48 44 PM

Wolverine is a great climber (naturally), and also very helpful and responsible.  He even helped to belay my friend while he was climbing.

Photo Dec 10, 7 56 12 PM
Wolverine understands other human’s don’t have his regenerative capabilities, so he’s very safe and careful when belaying.

When we finished there, we decided to go sightseeing.

Wolverine doesn't like politicians.
Wolverine doesn’t like politicians.



We saw the San Francisco City hall.



Photo Dec 17, 11 55 58 AM




We saw some tall buildings in SOMA -the “South of Market” district, a San Francisco hot spot for creative and well-established tech companies.


Eventually, we made it to the other side of town to take in one of the greatest overlooks in San Francisco, with a great view of the Golden Gate Bridge, and Alcatraz.

Wolverine got a bit windblown.
Wolverine got a bit windblown.
Photo Dec 17, 12 47 34 PM
Not a flattering picture of Alcatraz or Wolverine.

Photo Dec 17, 12 46 31 PMI gave Wolverine the option to head out on his own or join my coworkers and me at a local charity, while we packaged up meals for those in need.

Photo Dec 11, 1 23 05 PM
Wolverine got to see a great view of the San Francisco skyline during the day.

Photo Dec 11, 2 05 35 PM

An ol’ softie at heart, Wolverine decided to accompany me to Stop Hunger Now, a charitable organization that sends millions of meals to the hungry in third-world countries. We jumped on a shuttle and rode across the Oakland Bay Bridge.

With his help, we managed to package meals for over 78,000 families in just under 3 hours!

After we finished, we returned to my office building and I wanted to show him one more great view of the San Francisco Bay from my office rooftop before the sun set.

Photo Dec 17, 3 53 10 PM

“Well Brian, that was a great time today!  Thank you so much for showing me around and inviting me along on your volunteer trip.  This was exactly what I needed!  I’m pumped back up, and ready to face the world again.”

Photo Dec 10, 9 08 01 AM


“It was my pleasure Wolverine.  Where do you think you’ll go now?”

“I have some business to attend to in Norway -a meeting with a certain lady about a Secret Santa exchange.  I best be off.  Good luck to you Brian!”


And with that, he sped off to his next adventure.  Good-bye Lego Wolverine!  Take care of Ava!

Linux – Find which ports are open

While not exactly showing what is open on which port, you can see which ports are occupied with a:

netstat -nap

The output is filtered based on which user is looking at the information.  Perform the command as the super user to see the ports occupied by all processes.

Original source:

Final Interview Results

The career fair has come and gone, resumes were dropped off, phone calls were made, flights were taken, onsite and offsite interviews were attended, and job offers were achieved.  Overall it was a success, and a lot was learned.  As I plan my next set of articles about any wisdom I can offer about the interviewing experience, I want to first give a few statistics anyone curious of what happened.

  • 23 resumes dropped off
  • 48 interviews with 13 companies
  • 6 job offers
  • 1 job 🙂

It was honestly an extremely exhausting and repetitive experience, but should hopefully be very encouraging for anyone looking to start a career in the Computer Science field out of college right now!

Interview Questions: Describing Code (Braces)

One of the most frustrating things during interview can be coding on paper then having to reiterate what you’ve written to an interviewer.  One frustration I’ve found was discerning the differences between the names of the braces used in programming.  Here’s a list to help with that:

  • ( ) – Parenthesis, aka open-bracket (used when defining ranges in math), or round-bracket
  • [ ] – Square brackets, or closed-bracket (used when defining ranges in math)
  • { } – Curly brackets
  • < > – Angle brackets, aka inequality signs, or just “brackets”

When describing them from left to right, ( is the “open parenthesis”, ) the “close/closing parenthesis”.



Would be “Backslash open-square-bracket open-parenthesis back-slash d open-curly-brace one comma four closing-curly-brace closing-parenthesis comma open-parenthesis backslash d open-curly-brace one comma two closing-curly-brace closing-parenthesis backslash closing-square-brace”.  This is why telling an interviewer a regular expression is a terrible experience.

Interview Questions: Linux/Unix

One thing I have neglected to study are the not-to-often used commands of Linux and Unix.  In an effort to make sure I never forget them, I’ll keep a list of the few that I have been asked about:

  • lsof – lists all of the files currently open in the operating system.
  • echo $SHELL – displays which shell you are currently using.
  • uname – displays which operating system you are running.  By itself it doesn’t tell you much, but uname -a tells you everything about the computer you are logged into.
  • find vs grep – use grep to find stuff in files, use find to find files by file name.  Specifically: find . -name filename -print looks for files matching the filename string.  You can use * for wildcard, eg: *brian* to look for any files containing brian (case sensative).

Golden Rule to Boost Website Performance

I just attended a Yahoo tech talk here at UCSD, held by Marcell Duran, Yahoo’s Frontend Lead with their Exceptional Performance Team. The tech talk was extremely enlightening and discussed the number one golden rule to boost your website’s performace:

Reduce the number of HTTP requests

While there are several ways to do this, such as making sure to cache content on visitor’s computers, the principle tactic recommended by Yahoo was to attempt to merge all of the JavaScript scripts, CSS stylesheets, and images into as few files as possible.

Tip 1 – Merge JavaScript and CSS: You should combine your JS and CSS pages into one large file JS/CSS page instead of having your site require user’s to fetch script1.js, script2.js, script3.js, …etc.

Tip 2 – Merge Images: Something else I learned tonight about strategies used to optimize load times of Yahoo’s home page is that through CSS, you can effectively “merge” images (called image slicing). When you view Yahoo’s homepage, there is the Yahoo Sites section on the left hand side:

Yahoo SitesWhat you may notice is that each Yahoo site has its own icon… or does it? If you inspect closer, Yahoo actually uses a single long image (on the right of this post) over and over again, but obscures most of the image except for the visible “icon” you see. This is image slicing, and is done by delivering only one image, and reusing different regions of the same image multiple times across the web page.

There were several other optimizations mentioned at the tech talk including using image compression, and even base64 encoding an image to have it delivered initially by using a URI scheme. This method is essetially taking the base-64 encoding of an image and embedding the encoded data in the initial HTML payload, instead of having it come up as a separate request for an image–information here.

When your webpage is optimized, Marcell mentioned a few tools that can be used to profile the webpage, specifically YSlow. This tool is a plug-in for Chrome, Firefox, and several other browsers, and analyzes the web page currently being viewed and rates it on 23 different criteria. The first rating mentioned: number of HTTP requests! The best part about YSlow is that it actually gives recommendations on how to optimize areas where the site is slow.

The original presentation available at: Yahoo’s Web Performance Optimization 101 slides.