2014.09.30 – Closure

This morning was a bit cloudy and drizzly so I wasn’t sure how to dress. I’m still not used to having weather but I do love it! I kept putting on a coat and then taking it off. Finally I decided to wear one and then threw on my backpack and headed out the door. I went a few steps and decided I didn’t need a coat so back in the house to take it off. I was pretty sure I was going to miss the Max so I walked at an extra fast pace. I made it in plenty of time though. I am reading Red Mars in tiny bits and pieces so I got in a few pages before my neighbor showed up to catch the train as well. We got an old train today and the driver was kind of an asshole. He wouldn’t open the doors for anyone once they were closed. Not very Portland of him!

I got to Mozilla early as usual and checked my email. I had some comments on the bug I submitted a patch for! I was really nervous and was hoping I wasn’t going to be told it was all wrong and I didn’t know what I was doing. Well it was wrong but not entirely and not because of anything I did. Anyone can go read the bug and all of its comments but the short version is that the code has changed since the bug was reported and lives in a different place now so I need to change some things, fix some nits and modify some other code. The bug was assigned to me!

We had our check-ins and I talked a bit about this which felt kind of weird because I don’t completely know what I am doing and I didn’t want to sound like I did. I mostly understand what I need to do though. I think! Gah, anyway I’m on some sort of forward path. Everyone seemed pretty ready to get the day going. We had a short time to work on catch up stuff before our guest speaker arrived. I took the time to read over my bug comments, pull in a fresh copy of the code and apply my patch so that I would be able to edit it. I also joined the #automation IRC channel.

I started working on the easy nits. Some were just formatting things that took two seconds to fix. I love how quickly an experience coder can see these things! Some of the other things sounded more complicated so I needed to research them and figure out what to do. My reviewer wanted me to change my function name and I didn’t really want to do that because the name he picked was very general and mine was more descriptive. I asked him about it and he explained his thinking. I’ll have to ponder that. He also requested I use a function someone posted on a blog that uses an attribute I am not familiar with. I researched this attribute and it seems it is going to be deprecated soon so I will ask him about that too.

We were excused for lunch a bit early today so a few of us headed out to the food carts. There is a salad place right around the corner that always has a really long line but not today! I think we were early enough that the lunch rush hadn’t arrived so Amanda and I decided to give it a try. I’m sure glad we did. I had a huge, delicious salad for a really reasonable price. The weather was really nice so we sat outside and soon Barbara came by with her lunch and joined us. I felt even more spoiled sitting outside having lunch.

Once we were all back Lukas and Kronda continued their one-on-ones with students while the rest of us worked on our own. A few people are a bit thrown off by the new unstructured time but many feel they are more productive. I love it because it feels like I’m working, giving, and being productive in addition to sitting, taking and learning from our instructors. I tried to help out whoever needed it as I worked through my own confusing bug stuff and before I knew it, it was time to check out. We all talked about our progress and frustrations because it seems we all have both! David told us about his funny, not funny experience with Mozregression which I hope he blogs about. I couldn’t do it any justice by trying to repeat it here but trust me, the way he explained it was hilarious.

I had to rush home to take Jason and Alice to the airport and since Carmen was coming to dinner night I had to rush her as well. I got home just in time to take them but when they came over they didn’t seem in a terrible hurry to leave so that was good. I helped Alice pick out a few movies for the trip before heading out.

Wayne and Taylor were busy in the kitchen making a giant pot of vegetable soup. Jayde needed more math help but since I was leaving shortly, Carmen offered to help her. Carmen told Jayde that she loves math and has been tutoring people for the last six months so Jayde was all about her helping.

Dinner was excellent! We weren’t a huge group. It was the five of us, Carmen, Taylor, Delaney, Spencer, John and our neighbor, Glenn, who decided months ago to be my father-in-law. I think it’s great because I didn’t have a father-in-law and he’s wonderful.

Today I learned about closures in programming. A closure is a function that returns a function so when you call the outer function it returns the inner function which is then stored in a variable. It can be called over and over. The point of a closure is that the inner function can access variables within the scope of the outer function but things that can call the inner function have no direct access to those variables. Cool!