Ruby: Use .each on anything

While parsing several variables that could be strings or arrays of strings, I found myself doing too much type checking and my code was getting ugly. I wished there was a way to execute each on types that weren’t containers. For instance:

#define variables
$some_path = "/path1"
$some_path2 = ["/path2", "/path3"]
# ... some time later ...
$some_path.each {|path| puts path}
$some_path2.each {|path| puts path}

That should produce:


Turns out, this is easy to do. Simply add the each method to the Object class:

class Object
  def each(ary)
    yield self
    return ary

I’m not concerned with the index, so this works just fine for my needs

Studying for the GRE

GRE flashcards by NEPMET
GRE flashcards by NEPMET

I recently took the Graduate Record Examinations (GRE) General Test as part of the application process to get into a technical masters program. I had only a few weeks to prepare for it and was given advice of all kinds from many sources, some of it helpful, some of it not. Below is a list I’ve compiled of the advice that was helpful along with some of my own:

  • Find out what score you should be shooting for
    By all means, reach for the sky and try to get the best score you can, but within reason. Whether your scores are good or not is dependent upon what the program(s) you’re applying for are seeking. See if you can find the average GRE scores for current students in your program and make that your minimum goal.
  • Start early
    Start a month or two before you have to take the test. This will give you plenty of time to learn what you might need in order to improve your scores.
  • Take a written practice test first
    Before any studying, print out the practice test from the GRE website or use a GRE preparation book and work through the problems by hand. Use this to guage your skills and find out what you need to work on. The types of problems that you spend the most time on should likely become a focus early in your preparation.
  • Practice your weaknesses at the beginning
    If you struggled with vocabulary in the practice test, spend most of your time in the early days of preparation learning vocabulary. If it took you forever to work the math problems, spend a few days just working practice math problems.
  • Buy a GRE preparation book
    Even if you have access to online practice tests, spend the 20ish dollars it costs to get a current GRE prep book. The practice problems are more than worth it and they’ll provide you with some strategies for taking the test. Take their suggestions with a grain of salt though as some of them are worthless. Just use what you find works best for you.
  • Practice, practice, practice
    This is key. Spend at least a couple of hours a day drilling yourself with as many practice problems as you can. Grade them yourself and, if available, read through the solutions to those you get wrong.
  • Save the timed practice tests for last
    Work as many practice problems as you can but save the full timed practice tests for last. These tests can be found in the prep books and online and are extremely helpful if you take a few of them in the days before you take the actual test. They get you used to the process and help you learn to manage your time.
  • Prepare physically
    If you’re taking the GRE, you’ve likely taken plenty of tests prior to this and know that you need a good night’s rest and a good breakfast the day you take it. The same applies here. Exercise the day before and try to schedule the test so you won’t be in a stressful state when you arrive to take it (i.e.: schedule it so you don’t have to drive in rush hour traffic to get to it).

There are many other tips to be found with the help of Google or in one of the books available on GRE test prep, but these were most helpful to me. I got the score I wanted on my first try and aside from my test day, wasn’t any more stressed than I usually am. I hope these tips help those of you preparing for the GRE as much as it did myself. Good luck!

My Long Haul Through College

I’m an Engineer. I spent eight years of my life trying to become one. Why so long? I would like to say that I consider four of those years to be my High School years but that would be a lie. High School for me was less about my future than it was about being liked and getting good enough grades to avoid being lectured by parents and teachers. I was in advanced classes and did decent, but I would not have considered myself a good student. No, the truth is that I spent eight years in college. Eight years and I earned nothing more than a bachelors degree. I’m now 27 and only a year in, am at the beginning of my career. My situation is not desirable but it is becoming more and more common. With that said, I’m happy with the way things turned out. I chose a career that suits my interests and with effort on my part, can provide me with a comfortable living.

Making a Cheat Sheet
Making a Cheat Sheet

I originally went to college to appease my parents. I wanted to be an engineer but was following their dream more than my own. My dad had once told me that he thought I should become a Mechanical Engineer. He wasn’t pushy about it and I wasn’t brainwashed. I simply believed him because I had no better ideas.

In an effort to “save money,” I worked while attending a local community college to “get my generals out of the way.” My grades dropped consistently while my work hours increased. I maintained a passable GPA but was struggling until I learned about the ability to withdraw from classes. A free exit, it seemed, for when my lack of motivation and focus led to a class grade dropping below a recoverable limit. It got so bad during one semester that I only completed one of the four classes I signed up for; the rest I withdrew from to keep from damaging my mediocre GPA.

Then, after two and a half years of this, I got a notice in the mail. I was being put on academic probation for withdrawing from too many courses. I was told that I would need to pass all of my courses in the next semester or I would be suspended. Even that couldn’t jar me into waking up and focusing. I withdrew from one of the three courses I was taking and was subsequently suspended for a semester. I was being forced to drop school for a semester and was on the verge of losing everything my parents had hoped of me. But that’s when it hit me.

My time off gave me time to think and reflect on who I was and what I was doing with my life. Yes, that sounds corny, but being told indirectly that I was not good enough to attend acommunity college forced me to do some real soul searching. In high school I was the smart kid that did not try hard enough to ace his classes. In college, however, I was an unmotivated, lazy waste of time. If I didn’t try hard enough to finish my courses, the college wasn’t going to hold my hand, they were just going to kick me out. More importantly, however, I realized that the person I had been acting as wasn’t me. I knew I was intelligent and I understood the material I was in class to learn. I had become lazy and passive with regard to pursuit of education. It was something I sought because I felt I had to and not because I wanted to. That all had to change.

I increased my hours to full time for a spring and a summer semester. In the transition between those semesters, my suspension really hit me. It was the first spring since my toddler years that I hadn’t experience that last day of the school year and I didn’t have a degree. I felt like a failure and vowed to prove to myself that this wasn’t me.

Hitting the Books
Hitting the Books

I buckled down and hit the fall semester running. I wasn’t sure exactly what I wanted to do afterwords, but I needed to get out of that school and into something legitimate. I was still taking classes geared for a mechanical engineering student when one of my classes was visited by a faculty member of the computer and electrical engineering department at Saint Cloud State University (SCSU). He spoke about their Computer Engineering program and sold me within the first couple of minutes. It wasn’t his sales pitch that sold me but his description of the field of study. It fit perfectly with my interests and sounded like something I really wanted to do. I did some research and in late february, had sent off an application to SCSU, along with a few other smaller state schools.

In the two semesters since my suspension, I had finished all of my courses with a 3.8 GPA, raising my cumulative GPA up above a 2.8 (yes, it had been THAT bad). When I began attending SCSU that fall, my confidence was sky-high. I was successful in attaining a bachelors of science in Computer Engineering and am completely happy with the career it has provided me. One would think I would look back on my years at that community college as a waste, but I don’t. Had I gone to a university and compiled debt, it would have been much more costly and might not have afforded me the second chance I had. More importantly though, I grew up and learned a lot about myself in the process. I look back on that time with no regrets. Sure I made some bad decisions, but my life has turned out great because of them. While slacking in community college I:

  • dedicated much of my time to a Family Guy fan site through which I met my current girlfriend of five years. The two of us toured the Family Guy studios on our first “date.”
  • worked as an assistant in an construction management office. I was the resident computer expert outside of the I.T. guy and was asked to develop several tools for the estimating and marketing departments. This experience made me stand out in the pool of intern applicants at the Boeing Company several years later. I interned with them for two years prior to graduation from SCSU and am now working full time with them as an engineer.
  • was forced to become more aware of who I was and who I wanted to be. From that, I was able to confidently choose a major that I wanted for myself.
In the end, my undergraduate college years were many but worked for me. I am an engineer and a proud one. I took responsibility for my laziness and lack of enthusiasm as it related to education and pushed through. In fact, only a year after attaining my degree I am pursuing a masters program at Carnegie Mellon University West in the Silicon Valley of California. I look forward to further embracing my education and learning throughout my career.

And So It Begins…

Hello and welcome to my blog at “,” a personal blog1 about career and life written from the perspective of an engineer recently out of college. I am a graduate from a moderately-sized state university in central Minnesota as well as a new resident in the great state of California (budgets be damned, this place is still a joy to live).

Prior to graduating with a degree in Computer Engineering, I interned with and was eventually hired full-time by The Boeing Company in Anaheim, CA. In trying to transition from full-time student to full-time employee and from Midwesterner to Californian I am learning a lot about people, my career, and myself that I thought might be useful and interesting to those who will be or have been in situations similar to mine.

I plan to share what I learn as well as some of my ramblings and rants about all things science / tech. So bookmark or subscribe to my blog and I will do my best to keep you entertained and at the very least, keep from annoying you.

1: Being a nerd, I tend to hit most trends at or near the end of their popularity. Creating a blog is no different.

A place to share my digitized chicken scratch.