Friday, August 20, 2010

Blog!

This is a blog entry.

Saturday, February 27, 2010

Software Design Lessons for Business People

At work recently, a client requested a huge, complicated (but really cool) feature. Because it was such a cool feature, I slightly underestimated in hopes that the client would approve it. When they found out about the estimate, the client was surprised it was so high - I think they even called it "absurd!" They thought the (huge, complicated) feature would take no more than 2 hours.

This isn't the first time something like this has happened. Most business people seem to think that the hard part of software development is thinking of how a feature should work. In other words, "I can think of how it works, so programming it must be easy!"

So, business people, here's a good way to think of software development. Imagine that you have a worker who only speaks Italian. You have a simple task that you want him to do. However, this particular worker does exactly what you tell him, only what you tell him, and all of what you tell him. So you have to come up with exact instructions, translate them into Italian, watch him try to perform the action, then alter the original instructions if things don't go the right way. How many times would you have to let him go through the procedure before you got it right? How many provisions would you have to create for unusual situations?

Now take that employee and make it a computer. That's software development! We have to translate requirements into exact instructions that the computer understands. Coming up with the requirements is important, but it's just the first step of a long process.

Thursday, August 6, 2009

Real Life! AHHHHH!!!!!!!

With graduation came the realization that I'm now doing what I will be doing for the rest of my life. And I want writing on this Blog to be a part of it. So I'm now planning to do more posts, and make them more meaningful.

This Blog started out as a school project, so I didn't really get a choice about what topics I could write about. Now I get to decide what to make this blog about. After that class was over, I scrambled to post, wanting to make this a great blog. I still didn't really have the time to think about a theme for my blog, though. I'm still thinking about that, but I have some pretty good ideas so far:
  • Life
  • General Geekiness (video games, hacks, TV, books...)
  • Advanced Geekiness (programming, Internet, Linux, software companies, math...)
  • Music
  • Random stuff that interests me

I'm aiming for a post about twice a month, with at least one of those being geeky. That's starting in August, with this post not counting!

Tuesday, March 10, 2009

HBO: Not Surprising

Big Love's ratings must be really bad. Why else would HBO be pulling such an outrageous publicity stunt?

For anyone not familiar with the story, Big Love is planning on including an LDS Endowment Ceremony in their next episode. In The Church of Jesus Christ of Latter-Day Saints, this is a sacred ceremony that not everyone can attend. Only worthy members of the church can go to a Temple and be in this ceremony.

It's working. The Church didn't bite (in fact, they urged members not to respond!) But individual members have been organizing protests and boycotts.

When people mock something sacred, it doesn't make the thing less sacred - it makes the mockers less sacred. Don't watch it, but don't give them what they want either. Jesus Christ lived his life not organizing protests against the Pharisees, but teaching love. Let's follow him.

(And for anyone who's tempted to tune in, let me give you this warning: HBO also made Sex and the City. If Big Love is anything like it, it's melodramatic, boring, and has ugly actresses.)

Friday, February 27, 2009

Utah by Habit

I'm going to go out on a limb and say that most people who live in Utah are here by habit. It's funny because Utah culture (= Mormon culture, derived from Mormon doctrine) says that you're supposed to pray about big life decisions such as where to live. Most of the people who live here are here because they grew up here. Some of them even have myths about the outside world - that it will be destroyed (not backed by Mormon doctrine), or that it's exceptionally evil (out of ignorance).

Here's what I think. No, I'm going out on another limb - this is the truth. For the most part, God wants Mormons everywhere in the world right now. A Latter-Day Saint can do more good outside of the Great Utah Valley Bubble (GUVB) than inside. And if you haven't considered moving outside of Utah, you haven't adequately "studied it out in your mind."

So rest assured: wherever I end up after graduation, we'll have decided to go there after lots of thinking and lots of prayer. We're not ending up on either side of the GUVB without knowing that it's the right place.

Monday, February 9, 2009

25 Things

In honor of the Facebook "25 Things" fad, here are 25 completely random statements.

  1. The word monosyllabic should be monosyllabic! I suggest splag.
  2. Jack Handey was a genious.
  3. I like spelling things wrong (see above.)
  4. There will be no #17.
  5. They have reruns of The Critic on a channel called Reelz!
  6. I have a shirt that says "Keeping South Brunswick Clean."
  7. In OpenGL, you rotate by glRotate{df}(angle, x, y, z)
  8. In JOGL, you rotate by gl.glRotate{df}(angle, x, y, z)
  9. Wii!!!!!!
  10. Everybody shout, "What's the big idea?!??!"
  11. This song comes from the heart of my bottom. (-Brak, on Brak presents the Brak Album starring Brak)
  12. The movie The Santa Clause ruined people for spelling Santa Claus forever.
  13. It's really hard to think of 25 completely random things!
  14. I bet the movie Arachnophobia causes arachnophobia. They should do a study.
  15. People drive bad!
  16. My favorite Utah fake swears: Oh my heck, What in the Sam Hill (apparently "Sam Hell" is a term, who knew?), and of course, Good gravy.
  17. #4 is a lie.
  18. I never said any of these things had to be true.
  19. Writing good is hard.
  20. It is your birthday.
  21. eia = cos a + i sin a
  22. I couldn't figure out how to do a theta in blogger or HTML.
  23. I should be doing my homework.
  24. There will be no #17.

And the number one thing overheard at the Winter Olympics:
"Why did I come here when I could be home playing Wii????"

Saturday, November 8, 2008

Re-dispatching an Event in Flex

There's a trick to re-dispatching a custom event in Flex, and I always forget what it is. Hopefully, I'll remember to look at my own blog the next time I get stuck.

Here are the symptoms this solves: You're dispatching a custom event in one component, then catching that event in another component, only to dispatch it again. But the event never gets to the next component up, which is listening for it.

The reason it's not working is because the flex.events.Event.clone() method is being called when you call dispatchEvent() the second time. All you need to do is override it that function in your custom Event class:


public override function clone():Event{
return new MyEvent(type, mytype1, mytype2, bubbles, cancelable);
}


This fixes the problem every time, and the re-dispatched event will get to the next component. Of course, if you're doing more than two layers of dispatching to get what you want, you may want to consider a better design, but this is useful as a quick hack.