Category Archives: Slice o’ Life

Nano Nano

Hi.

I’m still here. Still updating.

Only.

National Novel Writing Month is intense.

But as a taste of what’s to come here:

var il = getter.GetILGenerator();
 il.Emit(OpCodes.Ldarg_0); 
 il.Emit(OpCodes.Ldfld, ezPropertyBuilder);
 il.Emit(OpCodes.Ldstr, name);
 il.Emit(OpCodes.Callvirt, Safe.Get(propInfo.PropertyType));
 il.Emit(OpCodes.Ret); 
 propertyBuilder.SetGetMethod(getter);

I’ll be back. 🙂

0 for 7

I kept having the Tom Petty song “Runnin’ Down a Dream” playing through my head as I worked my way through three rounds of Microsoft interviews.  Since declaring Computer Science as my major in 2000, getting into Microsoft has been my #1 career goal.  In fact, it was after my 2008 interview there didn’t go as I would have liked that prompted me to go to Grad School to get my Master’s in Computer Science.  Really, taking that action of going back to school sums up what the desire to be a Microsoft employee has always done for me: it’s driven me to be the best software engineer I could be.

What’s interesting is after being turned down for the four positions I was up for, I’m not devastated. Frustrated?  Sure, but that’s only because I got so close.  Like I nearly beat the boss in a video game and lost my last life when my opponent had just a sliver of life left.  And, of course, it’s one of those games that makes you play the last level all over before you can try your hand at the boss again.  Will I be back?  Probably, given I don’t like to leave things half finished.  Will I need time to sum up the desire to work my way through that last level again?  Definitely.

On the many bright sides to come from the experience, I do know what I want in my day to day job now and that’s to use the knowledge I picked up in Academia (Though I’m not going to deny working somewhere that gets a 100 from the Human Rights Campaign would be nice).  I also know what I really need to work on to be a better author of code which I think, once I get down, I’ll be able to take that final boss next time should I so choose to try.  Thing is here in this particular postscript, I won’t be putting my life on hold to work on these things.  Having a Microsoft employee badge with my name on it is no longer so important to me I gotta drop everything and pursue it, which I think is a very healthy turn from where I came from.

Lattice Multiplication

I’m going to bleed a little in this post because it’s about something very dear to me: Mathematics.

I got held back in math in second grade.  I remember walking to class and seeing my teacher holding the book for the lower level math class.  I’d been struggling in math and I immediately got this pit in my gut fearing what was about to happen and, sure enough, she called me over to her and escorted me to the lower level math class.  I don’t remember much after that…

Well I was recently on an interview and my interviewer kept saying, “This is just like you learned how to do multiplication in third grade!” and kept pressing me to implement a solution in that multiplication view.  Unfortunately for me, my brain ceased.  I flashed back to being a kid again and being escorted to that lower level math class.  If I don’t get the position I suspect that— response of mine will be a big factor why.

Thing is, I can do multiplication by hand.  Just in order for me to do it I have to change what it looks like cause, and it was actually in third grade, that I learned about Lattice Multiplication.  You go through all the motions of multiplication yet but, you change what it looks like and that change in visual has allowed me to do things like get through the math section on the GRE so I stand by it. I’ve no doubt that there are other walkthroughs on the Internet but this is important to me and I would like to personally try and help keep other children (and adults) from being haunted by math.  Math isn’t scary.  But how to do it isn’t one method fits all.

Lattice Multiplication is like this:  First you draw a grid, one box for each number you’re going to need to multiply, and split the squares on the diagonals:

grid1

Then write your numbers you need to multiply.

grid2

In the “third grade” way this would be:

279
 84
---
  ?

Now you multiply.  Right to left across rows and down columns.  The number in the 10’s position goes in the upper part of the diagonal split cell, and the 1’s in the lower.grid3

Then you begin to add down the diagonals.  If you have a carry (blue circled numbers), simply put it at the top of the next diagonal and add it as well.

grid4

Then you just read your answer along the bottom (blue arrow).

grid5

As with the “third grade” method I was being required to use, as long as your basic multiplication tables are known, you’re then able to approach multiplication this way.  Well actually it’s the same way only you don’t have to worry about indentation in the result and this way doesn’t remind me of past events so I was able to do things like survive the GRE.  It’s amazing what a change in perspective allows you to do or see sometimes.

If you’re struggling with multiplication, I recommend giving this a go.  It has worked for me.

Attending Real Discrimination – 101

My new home state appears to be on the path of legalizing Gay Marriage.  When given the opportunity I’ve voted Pro-Gay Marriage.  I have a failure in Wisconsin in keeping discrimination out of the constitution, but a success here in Minnesota.  Yay success!  Still, I haven’t done much else save for argue for Gay Marriage whenever the subject came up.

I used to tell this story about how when I was in Hiroshima, I was refused a stay in a hotel because I and the person I was traveling with were white.  Or at least we assume that was the reason.  Anyway, what happened was we went to check in at the hotel and the clerk at the desk started to look up a room for us only to have his manager come over, stick his hand over the screen and tell us, “No Vacancy” before gesturing to the door.  That was an interesting discriminatory experience, but it wasn’t painful.  Certainly it was nothing compared to what gay couples have been going through their entire lives.

My Hiroshima experience seems trite to me now but, for a chunk of my life, it was all I really had.  I think “Discrimination Bad” is a pretty easy concept for any compassionate person to get.  But until you feel it, until you are told by someone, “These rights or these benefits, these are for other people.  These are not for you.” it’s very hard to understand what it’s like to be discriminated against.

My issue has turned out to be health insurance.  It’s coming up on a month since I first experienced that discrimination and I don’t think I’ve healed all that much.  It bothers me that every week I’ll have to pay for something that excludes me.  It’s kinda like a one, two punch there.  I really don’t want to be an activist but as the quote goes: Well-Behaved Women Seldom Make History.

The Rose of Perseverance

I was feeling rather pbbbbbbhhhhhtttttt with the things I’ve been alluding to going on in my life.  That and it’s April and the snow just keeps coming.  4-8 inches tonight.  On April 23rd.  But it was the last snowstorm that I stopped off on the way home from work and bought myself 10 roses.

I love them.  First nights I had them here I carried them around my apartment with me in their vase to whatever room I was in.  Now they stay in my Lab because the only place I could put them in my bedroom was uneven and, sure enough, they fell over a few nights back.  That night I sprang into action trying to save them when I noticed that one of my roses had a weakness in the stem just below the bud.  I thought it might be a goner, I thought about trashing it but I couldn’t give up on it. So, I clipped off the stem some more at the bottom and positioned the rose so the weak spot, that bent like a hinge one way, was weighted with the bud so it was forced to stay open.

Tonight the weak spot is gone and the rose, along with her nine sisters, are all beautiful and still warming my heart.

Geek Ego

I was in a daily stand-up meeting and one of my colleagues said, “I know developers always say ‘That code sucks’ or ‘That code is horrible’ but, wow!”  I kinda wished he hadn’t of added the “but, wow” for the purposes of this post but he did and, really, he was beyond qualified to make such judgments.  Still, as he indicated, those kinds of really violent judgments on other’s work isn’t exactly rare in my line of work or in the geek community.

Picking on Microsoft is another favorite pass time and really illustrates the Geek Ego issue I want to talk about.  I wish I still had the e-mail for reference but I got a message once from another party lambasting how Microsoft implemented some control for socket communication work only, if you checked the specification, the control was doing exactly what it was supposed to do per spec.  This assumption that “I know better” or “Those people are idiots!” happens way to often for my taste.  Sure, mistakes are made by everyone and I’ve seen technical and reasoned arguments against Microsoft APIs on sites like Ars Technica which I found thought provoking.  But the flat suggestion that Microsoft doesn’t as a company know what they’re doing at all, that takes some gall!  I mean, Windows works!  That’s no small feat for a company to accomplish.

One of my personal goals is to reign in my ego as I’ve made violent judgments against other’s work myself.  To bleed a little, after earning my Masters and enjoying some pretty strong success in my career before that, I wanted something more out of my day to day job.  I deserved better I thought.  I believed I found what I was looking only to end up in the situation that inspired my last post.

My hope is the events of this March and April will forever teach me about watching my ego because I know better now.  Just, for so long I thought I had to be like Steve Jobs and go out there and do something really great!  Create the iPad or something that would impact the world in one fell swoop.  It’s hard to stop thinking like that when you’ve done it for so long.  What I was absolutely blind to was everyday a stylist goes to a job, he or she is in a position to change the lives of their clients that they’ll have that day.  Helping someone look better can change how someone feels about themselves and make them feel wonderful!  They then can take their new positivity out into the world and spread it.  Few will know the name of the stylist, but the world was changed for the better in part because of them.

In my career and life I’ll be aiming to take things like “Just working on CRUD” or “That code is stupid” or “I feel like an API plumber” out of my vocabulary forever.  Up until very recently I feel into the trap of using this egoist and violent communication without reservation.  I don’t want to do it anymore.  I can criticize but it needs to come from a place of analysis and reason then delivered in an compassionate way.  The news is a bad enough to hear about bugs you wrote or that the system your company made now has so much low cohesion and high coupling in the code base that it’s difficult to maintain.  No need to be judgmental or egoist or violent about the delivery.