erubycon 2009

Yep. I’ll be there! Loved it last year and looking forward to it this year as well. Hosted by EdgeCase, it’s a conference that presents Ruby and Ruby on Rails as a solution for the enterprise. Held in Columbus, OH, it’s relatively close to home for me, which makes it convenient, and the lineup of speakers is great. See the erubycon site for more information, and better yet, register while you’re there. Early registration ends Monday and is $250, but even at the full price of $299 it’s still well worth attending.

I’m Not the Geek I Want to Be

have always considered myself a geek. I’m into the programming, have really enjoyed learning Ruby on Rails, love doing anything on my Mac, get silly over little changes in the iPhone OS, and even though I haven’t used it as much as I want to, I get excited when there is a new iPhone SDK beta. But I did realize something today. I am not nearly as geeky as I want to be, or should be. And that is a bad thing.

My family thinks I am the biggest nerd. When I start talking about what I do at work their eyes glaze over and they kind of nod and look really confused. They’ll never get it. To them I am the epitome that they think about when they think of someone who is geeky. Little do they know that it’s really a farce.

Until recently, I really thought that I had come a long way in terms of learning Ruby and Ruby on Rails. Every day I was becoming more and more confident and not afraid to suggest better ways of writing the code or taking criticism from others concerning my code. But today I took a step back. I looked at how long I’ve been doing the Rails thing (oh, about a year-and-a-half) and exactly where I’m at, or feel like I’m at (advanced beginner at best). After a year-and-a-half I really think I should be further along than I am. There are times when the simplest things stump me and render me useless. There are also times when I feel like I am a joke, plain stupid and dare I say it, ditzy. Sure, Rails is ever-changing. Yes, we’re trying different things all the time. Alright, although Rails makes everything seem easy, we’re doing a lot of work that is very complex. Excuses. I should be better. I need to be better.

This past year, I took on teaching myself a little iPhone development because not only am I interested in how applications work, I thought it would be interesting to learn something new. I now think I took on too much. Now, I am not required by anyone but myself to put out an application, but it’s been disappointing to me to really get nowhere with it. I see all of the awesome applications that others are making and think “Hey, I can do that,” but the truth is that I’m not doing that. I’m not even sure if I can anymore.

A friend of mine told me today that it’s probably difficult for me to be exactly where I want to be because I am very occupied at the moment with being a mother. I do have two full-time jobs, the one I go to during the day, and the one that I go home to in the evenings. He said that it’s either get rid of the kid and focus on being the geek or keep the kid and be half-mom, half-geek. Well, of course I am not getting rid of my child, but I don’t feel that half-geek is acceptable either. I need to be good at something. I would like that something to be programming.

I by no means intend for this post to be a “feel sorry for me” kind of thing; That is not why I’m laying it all out like this. This is my blog and I needed some therapy. I’m even disabling the comments on this post because I’m not really looking for advice right now, just a means to vent. I guess I have issues. But you know what? It happens. There are times when everyone feels inferior, even people who know what they are doing.

I think this will pass and I’ll eventually be back to my chipper self, but I also believe it was time for me to take inventory and figure out what to do. I think I’m on a new mission now, to really figure out the best way to retain what I learn. Maybe find a new way of thinking. I’m going to continue reading books, writing code, and doing what I can to understand what’s going on around me but hopefully try to gain a new perspective along the way.

Playing Card Workout

A few months back, when I first joined my gym, I hired on a personal trainer (at the introductory rate) for four sessions to help familiarize myself with the gym and the equipment. I was kind of shocked when he recommended that I didn’t start off on the equipment right away but instead learn to work with my own weight first. Part of me was disappointed, thinking that he was just trying to get more sessions out of me in the future to show me my way around the equipment, but then I realized that he really was looking out for my body’s best interest. He said there is no reason to be able to lift a bunch of dead weight if you can’t even handle the way your own body works and I agree with him.

One of the workouts that I did with him was the Playing Card Workout. When I met with him the morning of the workout he said “Today we’re going to have some fun.” I wasn’t sure what to expect from that considering the past two times I met with him he practically killed me. Seriously. I couldn’t walk for two weeks after he had me do a workout incorporating squats and my lower back hurt so bad after doing reclined sit-ups that I thought I had a hernia.

As it turns out, the Playing Card Workout was indeed fun. It went by so fast and I really felt like I had acomplished something when I was finished. Usually, when I go to the gym, I will alternate running with the card workout because right now I’m really wanting to do cardio to get my weight down. But by doing the card workout I’m also doing some strength training as well, so my body will reap the benefits of that once the weight is gone. There are times when I will do a stability ball workout or lift dumbbells and do squats, but I tend to run and do the card workout regularly.

Because I love this workout so much I figured I would share it with everyone. Here goes.

I’m sure you could mix up your workout accordingly, but to do my workout I need the following:

  • (2) 8-12lb dumbbells
  • (1) step at a height you feel comfortable jumping onto
  • A deck of playing cards, Jokers removed.
  • Water and a towel.

And now, how to do the workout.

Each suite represents a different fitness move. Here’s what I do:

  • Diamonds – Laps. Run one lap per card. This is the only suite that only one repetition is done no matter how many items are on the card. If I had to do a lap for every diamond on the card it would take me a half a day and I would have run 6.3 miles on the track at the gym!For the following do one repetition for each number of items on the card. Jacks are 11, Queens are 12, Kings are 13 and Aces are 14.
  • Hearts – Bicep or Hammer curls. Now I have to admit, on my lazier days I will grab the 8 lb. weights and call it a day, but I find I generally get a better workout from the 10 lb. dumbbells. The 12 lb. dumbbells are pretty heavy for me to try and lift, as I found out during the workout with the trainer. I completed the entire workout with them though, but my arms were really feeling it the next day. I try to stick with the 10’s unless they are not available then I decide how lazy I’m feeling that day and pick the weights that best suit that mood.
  • Spades – Box Jumps or Squats. For the squats, I grab enough risers for the step so that when I bend my knees at a 90 degree angle my butt touches the top riser. For box jumps, set up the step to your desired height. I usually use a step with three risers. Any taller than that and I will fall forward and bang my head off of the railing I jump toward or trip on the way up and fall on my rear end. Jump with both legs onto and off of the step.
  • Clubs – Crunches. Focus on touching your chin to the ceiling. This makes for a more effective crunch.

So there you have it. This workout takes me about 45 minutes to complete, with both some warm-up and cool-down laps, and I generally bun around 350-375 calories. Not a bad way to do it! Try switching things up too and have some fun.

Background Processing with Nanite

Below is a short presentation I gave to my team about Nanite and the benefits of using it for background processing. Unfortunately the slide show notes are not available but at least you can get an idea of what I talked about and where I got my information.

The application that I work on, written in Ruby on Rails, was previously using BackgrounDRb for its background processing but we have decided to give Nanite a try because of its flexibility and scalability. I’ve been very pleased so far with the choice.

Required Reading

Ok, so I’m not really “required” by anyone to read technical books but I did resolve this year to try to read at least one per month.  My boss is helping me out a bit by suggesting books for me to read and so far I’m happy with what he’s selected.  First up: Pragmatic Version Control Using Subversion by Mike Mason.  I got a bit of a late start on this book in January but I finished it up this week and it was a surprisingly excellent read.

Thinking about my work goals for the year, I tried to consider things that I didn’t necessarily deal with directly but probably should know more about.  So when I thought about Subversion I realized that even though I knew how to “use” it I didn’t really understand what was involved with setting up and maintaining repositories.  I also needed help with my severely lacking command line skills and wanted to better understand the version control process and why we do things we do at work when it comes to version control.  Thankfully this book was very clear in explaining the concepts and even provided some helpful tips and tricks.

I especially enjoyed chapters 9 and 10 which dive into how exactly tags and branches should be used and how to organize projects.  This was exactly what I was expecting to learn more about when I started to read this book and I was not disappointed.  I’m looking forward to putting what I have learned into practice.  Maybe with my iPhone app?  Ha.  We’ll see.

If you use Subversion I highly recommend this book!

What Kind of Example are We Setting?

Yesterday my family celebrated my nephew’s third birthday at the place where birthdays are a business, Chuck E. Cheese.  Because my nephew’s birthday is in the winter and there are very few options for locations to have a party other than my sister’s house, I agree that having the party at the “House of the Mouse” seemed like a great, low-stress idea.  The party however though could not have been more chaotic.  It’s completely driven by the staff at the restaurant and is extremely impersonal.  There were four other birthday parties going on at the same time my nephew was having his, so that meant there was a group “Birthday Song” sing and Chuck himself stopped by only to dance a little bit and have his picture taken with the birthday boy, as well as every other birthday child there.  My nephew didn’t even open his presents there because we had to vacate the area at a certain time to allow for another party. But I digress, that’s just a general rant about the place.

 

Now, I have to admit, from time to time I do like to take Aidyn to Chuck E. Cheese so that she can run around and play without me having to worry too much about her wandering off.  We usually tend to go during the “off” hours, on weeknights and early on Saturdays as to avoid the larger crowds and birthday parties which I now have discovered has been an excellent plan.  You see, yesterday’s experience there was crazy.  Kids were running around being kids and I totally expect that.  It is touted as the place where “a kid can be a kid” after all.  What I did not expect was the rudeness that I encountered from the parents.

 

Why is it that this place, supposedly a fun place for children, bring out the worst in us adults?  For example, my husband, daughter and I were waiting in line to have our portrait drawn at a booth where a camera takes a picture of the subjects and the screen shows a hand with a pencil sketching the photo.  There were a couple of acquaintances in front of us getting their picture taken and we were next.  There was no one behind us.  As we were waiting, a woman with her son came over and stood on the other side of the machine.  She looked over at my husband and me and said “Are you in line?”  When we said yes, for whatever reason, she huffed loudly and then came around to stand behind us, like us being there in line was inconveniencing her.  Apparently the photo process was taking too long for her because she stood there impatiently tapping her foot, as if that would make us speed up, arms crossed and still huffing.  Finally she walked away, dragging her child with her.  We didn’t take any longer to get our picture done than any of those before us and did nothing to that woman to make her so frustrated.  I understand that she was probably stressed out, her kid wanted their picture taken, and it was taking longer than expected for their turn but really, what did that little interaction tell that child, and my child for that matter?  That if you don’t get your way right away you stomp off and drag anyone with you that you can?  Maybe it shows that losing patience because you have to wait is the answer.

 

Another instance of rudeness, most likely bred from frustration, was at the counter where we were waiting in line to cash Aidyn’s tickets for prizes.  Aidyn and my nephew were not so patiently waiting their turn to look in the cases at the prizes but my husband and I were doing our best to keep them contained.  When space opened up to the left of us, the couple in front of us with their children moved into that space, freeing up space on the right.  We moved forward, allowing the kids to look in the case and decide on which prizes they wanted for their tickets.  Now, at the same time, both employees who were working behind the counter had disappeared into the back and because they had been standing there for some time, the couple to our left were visibly frustrated.  When one employee returned, the male in the couple asked the employee a question, which the employee answered as he picked up his calculator.  After answering, the employee began to head our way, telling the man, “Just one minute please.”  When he asked us what we would like, the man to our left shouted and pointed his finger up into the face of the employee and said “We were here first!.” At the same time we pointed over at the couple and said “They were first.”  It was not that employee’s fault they did not know who was next, although he probably could have asked.  But did he deserve to be degraded like that, with someone’s finger in their face?  No.  A simple “Excuse me, but we were next” or even letting it slide would have been appropriate in front of the children.

 

I do not claim to be a saint but when I have my child with me I try to set an example of how to behave in public.  I can understand that going to a place like Chuck E. Cheese makes adults frustrated and causes tempers to flare and rudeness abound, but being adults we need to realize that we are adults.  Just because we are in a place geared toward children does not mean we act like children and throw tantrums and pout when we don’t get our way.  And with so many little eyes and ears watching and listening (and children are extremely observant) it is everyone’s responsibility to be on their best behavior.

 

Although I was appalled at the rudeness that I experienced, it really wasn’t that terrible.  For the most part people were kind and were just looking out for the best interest of their children.  It could have been much worse.  I leave you with this video a friend sent to me just the other day.  At least when I was at the party no one threw punches.

“We only have tequila… It’s like beer” or “How I became a programmer”

It takes some people years and years to decide what they want to do in life but I was lucky.  I can truly say that I knew in high school that I was going to and was meant to be a programmer.

 

It all happened kind of by accident when my family moved and I started the tenth grade at a different high school.  As my guidance counselor was going over the classes I had chosen to take that year at my previous school, she enrolled me in their equivalents at the current school.  Trigonometry, Physical Education, Chorus, American Studies, and English were all available at my grade level but as she made her way down my schedule she couldn’t seem to find a match for my last elective, Keyboarding.

 

When the guidance counselor at the new school asked me what “this Keyboarding” was, I told her that Keyboarding was a typing class where students were taught how to type on an electric typewriter keyboard.  I informed her that I took it as a “fun thing to do” during activity period and decided that I liked typing so much that I wanted to take on the full-blown class the next semester.  ”Oh,” she said, “we don’t have Keyboarding here but we do have BASIC.”  ”What’s BASIC?” I asked, to which she replied, “It’s like Keyboarding.”

 

Now every time I think of what she said, “It’s like Keyboarding,” I always think of the scene in Three Amigos when the Amigos walk into a Mexican bar and ask for a beer.  When the bartender informs the three that the bar only serves tequila, they ask what tequila is.  The bartender replies “Oh, it’s like beer.”  Makes me laugh every single time because to me the situation could not be more relevant.

 

Who knows where I would be if I realized that taking that one BASIC course would mean years of learning difficult, complex concepts and having to take Calculus and eventually Statistical Inference.  In high school I stayed as far away from math and science as I possibly could.  Why would I want to pursue a career where those two things would be blended into a something that I would use daily?  In the end I’m thankful that guidance counselor had no clue what BASIC was.  She may never realize it, but  that misunderstanding is the single reason I am where I am today and I could not be happier.

New Year Resolutions

Now, I don’t usually make New Year’s Resolutions, and yes, I am aware that it’s not quite the new year yet, but I feel compelled to put down a couple of things that I hope to accomplish and avoid this year.  Maybe if I actually put them down here for the public to view I will feel as though I’m being held accountable!

This year, I resolve to:

  • Focus on quality time with my daughter and realize that I will never be able to spend the quantity of time with her that I want.
  • Distinguish wants from needs and act appropriately when confronted with the overwhelming desire to purchase yet another item that I will use for two weeks and then put away forever.
  • Keep my extremely personal life personal and not divulge every detail to those I do not truly consider my best friends.  Because I frequently open myself up to people I feel close to, I provide them with ammunition that frequently gets used against me, hurting only myself.
  • Not be too emotional at work.  I tend to get upset too easily and my emotion comes through.  Although I am a human, this is not acceptable in professional situations.
  • Improve my programming skills and read at least one new technical book per month.
  • Blog at least once per week.
  • Be true to myself and not be made into someone others want me to be.
  • Don’t take life for granted and realize that I should appreciate the small miracles around me.  I believe this will make me a happier person.  I’ve been struggling with a sort of depression lately and it’s very easy in this state to overlook the simple things that bring joy to life.

That’s quite a long list of resolutions to try to meet but they are all very important things that I have been striving to do, even lately.  We’ll see how I do as I blog this year… if I keep that one. :)

 

Birthday on a Budget

I am one of those people who believes that it is not always necessary to spend an exorbitant amount of money to have a fun, memorable event. I made sure to keep this in mind when it came time to plan my daughter’s fourth birthday bash – a Barbie themed party, complete with the cake, decorations, and balloons.  Normally, this type of event, a simple, at-home party, would have run me anywhere from $100 to $150 for a handful of family members and maybe a couple of friends.  This figure includes serving dinner but does not include gifts.

Planning is Key

The first thing I did in regards to the party was plan.  How hard is it to plan a small party for a four year-old?  Not very, but if you forget tiny details they begin to add up to big expenses.  Crafting your budget will enable you to know how many people you can invite, what you can spend on necessities including cake, ice cream, and supplies, and will keep you from making impulse purchases as you near the party date.  My budget was $30.

Aidyn decided a while ago that she wanted to have a Barbie-themed party.  When I first sat down to determine the supplies I needed to accomplish this, I came up with the following and noted the cost if I were to take a more non-DIY approach:

  • Spaghetti dinner for 18 – $20 (includes salad with fixings, spaghetti, homemade sauce, and garlic bread)
  • A Barbie cake – $15-$30 for a round or sheet cake from the local bakery
  • Themed plates – $2.99 for 8 (I would need two packages)
  • Themed cups – $3.39 for 8 (Again, would need two packages)
  • Themed napkins  – $3.39 for 16 (At last, something I don’t need to purchase two of)
  • Pink cutlery – $2.49 for 24 (8 of each, forks, knives, and spoons… would need two)
  • Balloons – $2.49 each for mylar balloons at Giant Eagle or Wal-Mart (would most likely need two)
  • Ice Cream – $2.50 on sale for each container (need two, Chocolate and Vanilla)
  • Potato Chips – Anywhere from $1.50 per package to $3.00 per package (would need two)
  • Pop – Anywhere from $1.25 each 2 liter (would need three) to $6.98 for a case of Pepsi.
  • Coffee – Already have that at home
  • Children’s beverages – Already have a variety of sugar-free Kool-Aid like drinks in the house
That adds up to around $70 for the least expensive party to around $95 for the most expensive.  That’s already pretty frugal, no?  But remember, my budget was only $30.  I needed to be able to meet this budget in order to host the party as well as purchase the gifts I wanted to give to Aidyn.  When all was said and done I only went $0.25 over budget.

How I did it

The first thing I decided to do was to nix the dinner idea.  Just because my child has a party does not require me to feed dinner to every person who walks through the door.  Would dinner be fun?  Of course, but it is a lot of extra preparation, expense, and clean-up to deal with, especially for a party honoring a four year-old child.  We decided to have the party at 4 p.m. and only serve cake and ice cream.

Next, onto the cake.  I detest store-bought cakes because, not only are they expensive, they are impersonal, sometimes sloppy, and you never truly get what you want unless it is made from a template they have made hundreds of times before (back to impersonal).  At first, I thought I would buy a pre-molded cake pan from JoAnn Fabrics (anywhere from $9 to $14 depending if a 40% off coupon was used), buy cake mix, make my own icing, color it myself and decorate the cake, but when I searched the internet for Barbie Cake ideas, I saw a wealth of possibility.  Barbie cakes that featured dolls with cake skirts were everywhere and seemed very nice and very doable and although I knew I would put more time into this type of cake, I knew it would be worth it.  Total cost of cake was $11: $2 for the doll, $2 for the cake mix, $5 for homemade fondant and icing, and an additional $2 for eggs and oil.

Decorations are always very costly.  Because party plates and cups are generally used and then thrown away, I decided to forego the Barbie plates and purchase a package of 20 pink plates for $1 at the dollar store.  I also picked up a package of pink napkins for the same price.  I already had plastic cutlery and cups at my house, so we used those, but even if we didn’t have these things, we would have purchased cups and used regular silverware.  As far as balloons go, we purchased two Barbie mylar balloons from the dollar store for $1 each and had six balloons, that we already had on hand, inflated with helium at Wal-Mart for $0.25 each.  My sister had the excellent idea of creating big poofy decorations from pastel tissue paper which cost $2 for two packages.  The poofs turned out beautiful and matched the girly Barbie theme perfectly.  Total cost for decorations: $7.50.

I didn’t have much leeway on the ice cream and potato chips.  I purchased two half-gallons of ice cream on sale for $2.50 each and purchased two bags of potato chips (one plain and one barbeque) for $1.50 each, also on sale.  I went the 2 liter route with pop and purchased three two liters (Pepsi, Diet Pepsi, and Orange) for $1.25 each.  I also made coffee and Kool-Aid that I had on hand.  Food and beverage total: $11.75.

Grand total for party: $30.25.

Sometimes it’s the Little Things that Mean the Most

Beautiful cakes ultimately get cut into and eaten, plates are covered with frosting and tossed in the trash, and even the most beautiful decorations get taken down.  It’s the memories that last.  What my daughter will remember is helping me bake her birthday cake, crafting decorations, spending time with her closest family and friends, and of course, receiving lots of little girl gifts.  She told me it was the best birthday party she ever had, not that she’s had many to compare with, but it really meant a lot to me that she had a nice time.

Also important to me is that as she grows, I’m teaching her a valuable lesson – that there is benefit in being creative with how money is spent and how memories are created.  For Aidyn, doing much of the work for the party together was fun and it undoubtedly made for some great memories.  Working together with the help of family and the fact that we are willing to put in extra effort to provide her with a wonderful party shows her exactly how important she is to all of us.  That’s something she will cherish for a lifetime.

Banana Pepper Relish

This past Saturday I did the last of my canning for this year.  My daughter and I went down to the garden early in the morning and picked enough banana peppers to fill a round clothes basket.  I decided the night before that I was going to attempt to make a hot pepper relish, much like what is served with lamb when ordered out at nearby restaurants.  Unfortunately I haven’t the first clue how to cook lamb, so we use it mostly on venison, in spaghetti, and on crackers.

 

A lot of people have been asking for recipes and photos of my canning sessions so I have decided to post what I did this past Saturday to make the relish.  It’s all very easy, but quite time-consuming and did use up a lot of the peppers that were in the garden.  Even after the relish was made I still had enough peppers left over to make two loaves of banana pepper bread and a batch of stuffed banana peppers.  Suffice it to say that I really don’t care if I ever see another pepper again. :)

The Recipe

Yield: 10 pints

  • 1 bushel banana peppers
  • 1 pint apple cider vinegar
  • 1 pint water
  • 1 C. sugar
  • 2 tsp. tumeric
  • 2 tsp. celery seed
  • 2 tsp. mustard seed
  • 2 T. salt

Sterilize 10 pint jars, rings, and lids.  Wearing gloves to protect hands, cut the tops off peppers, remove seeds and rinse.  In large pot prepare brine by combining remaining ingredients and bring to a boil.  Meanwhile, grind peppers in a meat grinder or finely chop.  Add banana peppers to boiling brine, bring to a boil and simmer for 20 minutes.  Pack mixture into hot jar and seal.  Process in a boiling water bath for 10 minutes.

Warning:  Always wear gloves when handling peppers and do not touch your face or skin while handling peppers!  They’re not called “Hot Peppers” for nothing!