At the end of my trip to Maryland, I got to help throw a baby shower for my sister-in-law Daniela. She is due in May and I am SUPER excited to have another niece to dote on
For the first time I played the baby food game and actually ate the baby food—I do not envy babies
Angie and I took the kiddos to Yogi Castle one last time. Kira has become a master and filling her cup with multiple kinds of frozen yogurt and 10 or so toppings. She eats it all, so I can’t complain. I’m just glad she enjoys it!
We also went to the park to play! Wahoo!
I definitely miss those kiddos, but I’m glad to be home
I managed to catch the plague from one of the seven or so sick people on my flight back. I spent the first five days after my trip sick in bed. I am FINALLY getting back into my routine. I guess it’s time to start jogging again!
About a week ago, Anson came out to visit. It was great because it had been over three weeks since
I had seen him—I miss that guy!
He got to meet his newest niece, Nora. They make such a cute pair
One of the best things about this visit was getting to see Uncle Anson and Mia play together. Mia LOVES Uncle Anson. She gives him hugs & kisses, wants to follow him everywhere, and shares a common interest—gadgets!
She had him put bows in her hair and then taught him how to smile for the camera. So cute!
And, of course, he had a great visit with Kira. She loves science and is currently very interested in animals. She watched a Discovery Channel special on sea creatures and learned that shrimp can pinch their prey to death. She then taught us all how to pinch like shrimp and took pictures of us.
Uncle Anson was a bit more like a lobster. That’s okay—he’s learning
We both had a lot of fun hanging out with our cutie pie nieces. Love them so much!
We also had a great visit with the Horton side of the family. We went to Mom and Dad Horton’s house for dinner and board games.
The game: Trivial Pursuit
The teams: Dad Horton, Grandma Horton, Grandma Johnson & Me VS. Mom Horton, Aaron, Daniela and Anson
My team managed to get around the entire board and get all the pie pieces while the other team only had one pie piece. They spent a lot of time reading questions.
My team spent a lot of time smiling and being happy because we were so far ahead
Of course, my team couldn’t seem to land on the center. So, Anson’s team eventually won. Here are some pics of their celebration.
Ah well! I played Anson one-on-one the next morning and I DESTROYED him. No worries
It was a great visit and we got some cute pics with Aaron and Daniela.
It was sad to see Anson head back to WA, but it was great to spend some quality time with him in MD
On February 8th, after months of intense contractions, Angie headed to the hospital to be induced. Nora Jane Dallavalle was born at 6:57 in the evening. At 8lbs 11oz, she is the smallest baby Angie has had—the little peanut!
Kira and I ran over to the hospital in our jammies to get a quick look at the new baby.
You’ll probably notice that I’m using the black & white picture setting for most of this trip. I don’t know why, but the pictures seem to be coming out better that way. Maybe I’ll experiment with it a little more when I get home (one week from today!).
Over the last two weeks, we’ve gotten to know Nora quite well. She’s a super cute little girl who likes to eat and sleep
Kira loves to hold her baby sister. And she even took some pictures of me holding her as well!
Mia is also a great big sister! She’s not old enough to hold Nora, but she likes to sit next to her and wave hello
When Nora got home, she got to meet Pops for the first time. Now she knows who to go to when she wants ice cream
(She loves Mamie too, but those pictures are on Angie’s camera)
The best thing about Nora is that she likes to be soothed differently by each person. For example, Angie can just talk to her and she’s fine. Kira and Mia can sing the “Soft Kitty” song (from Big Bang Theory) and she will calm right down. If I sing that song, she screams like a banshee. Go figure! For me, I have to do Star Wars sound effects to the tune of the Imperial March. I’m pretty sure she’s going to be way cooler than me when she grows up
All in all, my newest niece is super cute! I can’t wait until she starts causing trouble…err…I mean talking and walking <he he he>.
Next post—Uncle Anson’s Visit!
I’ve been in Maryland for about a month now and just figured out that I can post to the blog from here. Because this trip has been so long, I will probably write several blogs about it. I figure it’s best to start at the beginning.
It was a cold and wintery night on January 15th. I got the frantic call from Angie telling me her water broke. Naturally, I hopped on the first available plane so that I could help out while she’s in the hospital. While wandering around Denver during my layover, I got the call from Angie informing me that she had not actually had her water break. What had happened? Nobody knows. It’s a mystery. But what’s life without a little mystery?
We spent the next couple of weeks having fun while waiting for Nora to make her arrival. It snowed, so we were able to go out and play. Though, to Kira’s great disappointment, it was not “snowman-making snow.” We still had some fun outside though!
As Angie got more and more pregnant, she was less and less comfortable walking around. So, we decided to have some fun indoors. We had a couple of crazy hair pajama parties. Mamie and Pops even stopped by for a bit! And my adorable nieces learned how to stick out their tongues in photos. I may be guilty of teaching them that. I stand by the fact that they are super cute when they do it
And I’ll end this post by writing about the Superbowl. We had a little party. Every year my dad and I make a bet and choose different teams to cheer for. This year, my dad won (though I maintain that Eli Manning won the game, not the Giants). At some point I’ll have to take him out to Dairy Queen to pay my debt. This was probably the least embarrassing football loss that I’ve had. The first time was when Seattle was in the Superbowl. My dad flew out to Seattle, came with me to a Superbowl party, and made me cheer for the Steelers. Even though the Steelers won, it still feels like a loss. And the absolute worst time? He made me cheer for <insert random team name here> when they played against the Nebraska Cornhuskers. The next time I saw my dad was in NE where I took him to an ice cream shop and he informed everyone there that I was paying for the ice cream because I bet against NE. I wasn’t sure I was going to make it out of that ice cream shop alive…
Anyway, here was our Superbowl party this year. I had the girls wearing red, white, and blue. And I taught them to say things like “Go Patriots!” and “I would NEVER cheer for the Giants! EWWW!”
What happened next on my trip? You’ll have to wait to find out!
About 2 years ago I wrote a program called Tivo to Media center because we have a Tivo in the family room and an Xbox in the bedroom. The bedroom TV isn’t hooked up to cable, but we can watch dvds, streaming shows from the xbox, or television recorded by our Tivo (using Tivo to Media center). It’s a generally painful process to copy the shows since it takes several hours, but with the program I can just let it do the copying overnight and then they are always available. This has worked out well, though it’s honestly pretty rare that we end up watching the copied shows anyway. Still, it’s nice to have the option. The other choice, of course, would be to simply buy another Tivo since they support multi-room viewing.
Anyway, I was generally happy with the way it was working. The other day I watched a show and decided I wanted to add it to the list of shows that were copied to our media center. It had been a while since I’d let the program run, so I spun it up just to make sure it was working. Of course, it wasn’t. After a little investigation it turns out that the Tivo web server was returning 403 (Forbidden) for the downloading of those shows. After looking into it further, it seems that the cable companies have started to annotate content with a bit that specifies whether the content can be copied or not. Further, the FCC has required device manufacturers to obey this flag. I looked through the 300+ shows recorded on our Tivo and almost all of them are now set to ‘copy once’. This means that they can be recorded, but cannot be copied to another Tivo or computer. Unfortunately this completely defeats the purpose of my app, and I can’t imagine Tivo is terribly happy about it either since it cripples their TivoToGo and multi-room viewing functionality. In short, it’s lame.
Oddly this bit is being set by the cable companies, apparently in completely inconsistent ways. I’m certain that some networks ask for their content to be ‘copy once’ only. However, it seems that Comcast and Verizon, e.g., set the bit differently on the same shows. That’s frustrating to say the least. What’s more frustrating is that 15 years ago we could have just recorded the show on VHS and watched it on any device in the house.
I can’t imagine that the cable companies believe this is a long term solution. At least, I hope they don’t think that. I am fairly tired of paying for cable service, a cable card, and Tivo fees all separately anyway. It’s just silly, expensive, and apparently going backwards. I continue to hope that XBox will make more deals with TV providers so that at some point we can dump the cable card and Tivo entirely. Sadly the most recent deal with FIOS only works for Verizon customers and not Frontier.
I spent the last year dreading turning 30. It seemed like I would finally be in the “adult” category of life, which I was completely unprepared for. My closet still consisted of t-shirts, jeans, and sweatshirts. I knew that after I turned 30, it would just be weird for me to wear the same clothes I wore in college. I spent the week leading up to my birthday thinking of the many ways in which I was “old.” The day before my birthday, the list looked something like this:
- I avoid going to the movies on weekends because there are too many teenagers at the theatre.
- At times, I have to squint my eyes and lean forward to read street signs.
- I can remember a time before cell phones and the internet. Ah, the good old days.
- I like to sit around drinking tea and playing board games.
- I often comment that “those kids are playing their music too loud” or “their skirts are too short.”
- I get frustrated when young people text me and use abbreviations—it’s like a different language!
- I have actually checked for gray hairs.
- On more than one occasion, I have forgotten why I entered a room.
- I pay attention to the amount of fiber and cholesterol in my diet.
I’m sure there’s more to that list, but I’ve already forgotten the rest of it (my old and addled brain can’t remember things like it used to). So, for so many reasons, I was not excited about my birthday this year.
Fortunately, I have awesome friends who decided to surprise me! My friend Jane asked me out to coffee. She and Sharon picked me up and we headed to the mall. There, they took me to Nordstrom’s where we met up with Sarah (and cutie-pie baby Alex!). At this point, I was slightly confused as to why we were getting coffee at Nordstrom’s. But, it turns out that they got me a personal shopper and a gift card for me to find a new look for my 30’s!
The dressing room was full of fun outfits to try on, as well as cake
I ended up getting some new pants, shirts, sweaters ,and a dress. Jane had me put on the dress and then they took me to Maggianos for dinner.
The boys met us for the meal and we had a great evening of delicious Italian food and wonderful conversation. I am so lucky to have such great friends! All in all, I think I like being in my 30’s.
I’m sure everyone has been waiting with baited breath to see what became of the typing game that I mentioned in my last post. It’s coming up on the last weekend of my vacation, and I wanted to make sure to finish the game before I have to go back to work. It’s always incredible how much work there is to ‘finish’ any project. In particular, I always forget that with games you want to support sound effects, music, icons, etc. It took a while, but I’m finally decently happy with the game as it stands (meaning that for a brief moment I’m just too tired to think about any more changes).
I learned a lot about XNA from this project. Particularly about 2d sprit manipulation. The XNA content pipeline is a thing of beauty really, it’s so convenient just to be able to plop all of your assets into the content project and load them using the content manager. It’s also a great place to do build time processing and manipulation.
I also learned that I still have no idea how to draw good looking sprites. I had originally planned to have several different space ships that varied depending on the length of the word being typed, but ultimately gave up after I had started on the first ship. I spent a lot of time tweaking the ship I did end up with, and it still looks awful. It’s not so much the general shapes that seem to cause me problems, but the actual texturing of the object. I have like 16 million colors to play with, and my ships look only slightly worse than the 16 color Gameboy sprites.
I thought about trying to craft some music myself. I even watched several videos explaining how to use FL Studio. The videos convinced me that no matter how good the software has gotten you still need to have some form of rhythm to compose decent music. The guy giving the tutorial would often put together a quick pattern and then play it, and I’d be bobbing my head and thinking wow that’s awesome, and then he’d spend the next 30 minutes explaining how terrible that sounded and showing all of the things that needed to be done to make it sound reasonable. If I ever switch professions, video game composer is not going to be high on the list of options.
The game itself ended up being pretty close to what I had envisioned. The basic idea is that ships fly across the screen with words ‘mounted’ on the top. The goal is to type those words before the ships make it to the other side of the screen. You start the game with 3 lives, and each time a ship reaches the left side of the screen, you lose a life. When you have no lives left, the game is over. There are 10 ships per ‘level’, with an unlimited number of levels. A ship’s speed is dictated by the level that you are on, insomuch as the speed increases on each level. There are 3 difficulties, easy, medium and hard. The difficulty controls how quickly a new ship will start heading towards your left side. I’m not convinced that hard is really that much more difficult than easy, so maybe I’ll need to tweak that.
There were several problems that I hadn’t considered when I started, which are amusing in retrospect:
- I had to find a word list to use which wasn’t too hard. Unfortunately after playing the game a bit, I started to notice that there were all sorts of profanity in the words it was choosing. Honestly the random number generator seems particularly prone to picking out the dozen or so swear words from the dictionary, because pretty much every game it would throw something out there. I had to remove these by hand, which almost certainly means I’ve missed some. Oh well…
- It turns out that playing on landscape was way easier than portrait for a long while. The reason? Landscape is quite a bit wider than portrait, and since the ships go from right to left, it took them longer to get across the screen. I eventually fixed it by just scaling their speed appropriately.
- There is no API at all for the phone keyboard (it’s meant to be ‘invisible’ to app developers). Unfortunately that makes programming a game that needs to know what kind of keyboard is being used, how large it is, what keys have been pressed, etc. very difficult. I think I figured out most of the issues, though ultimately the choice of landscape vs. portrait, and hardware vs. software keyboard is made in the options page prior to starting a game and can’t be switched until the next game. Worse, it’s entirely possible to claim a hardware keyboard even if you don’t have one (which means that the software keyboard will be drawn, but the ships might fly below it). There is still one bug sitting around where the software keyboard will randomly disappear. Touching the screen brings it back… but I have no idea why this happens and cannot figure out any repro for it.
I will probably throw this up in the Windows Phone Marketplace after I get some folks to try it out and let me know what they think. Anyway, I thought I’d include a short video showing what the game looks like:
Anson and I have really been enjoying the holidays this year. We were lucky that Anson was able to take some time off in December to relax and have fun. And by “have fun,” I mean “write apps.” He’s written 3 so far, including a cute Christmas snow app for me! Considering there has been no sign of snow yet, it’s nice to be able to see it on my phone. Gotta love my hubby
To kick off the season, we went to Jane and Eric’s annual Christmukah Party. Delicious food, good friends—it was awesome! It’s my yearly excuse to drink eggnog
Here’s a pic of the entire group (Thanks Sunava!). Anson and I are the ones in the ridiculous Christmas sweaters. You can’t really see mine, but you can check out Anson’s new sweater—Santa is golfing on it. I need to find a better one for next year though. I’m thinking a flashing Rudolph nose would be awesome. In the meantime, we have some pretty awesome Christmas socks to help make us look a little more Christmas-y. I mean, when else can you get away with wearing these clothes?
The next night, we went to see the Nutcracker. I LOVED IT! The dancing was so impressive and it SNOWED ON STAGE! We may have to make this a holiday tradition! Plus, it gave us an excuse to get dressed up.
On Christmas Eve I rang bells with my church choir. This year, we rang Hark the Herald Angels Sing. We also rang Little Drummer Boy while the children’s choir sang. It was a lot of fun! If they end up sending out a recording of the performance, I will post it.
In the wee hours of the morning, Santa arrived and we were able to open our presents! We were already in our Christmas jammies—I had reindeer footie pajamas and Anson had robot jammies.
We had a lot of fun with stocking stuffers this year. Or should I say, Anson had fun with stocking stuffers this year. It was a complete surprise!
I got a flip/flap plant (I can’t kill it! yay!).
Naturally, it was from a reindeer:
Anson and I both got 6 pairs of Christmas socks, but Beta tried to steal them.
I got some cupcake lip gloss from Mrs. Claus—she knows how much I like to bake!
And Anson got some lightsaber chopsticks from Darth Vader. Don’t ask me how Vader got involved with Christmas. I’m thinking maybe Anson is sending his list to the wrong guy
Anson got me a glowing necklace. We were having trouble getting a good pic of it, but believe me when I say that it is glows purple—super cool! Plus, I got several colored necklaces from Aaron and Daniela. I’m set!
We also got to play with some gifts from our family:
Anson got a train set! I need to get a new picture (it is currently running around our Christmas tree). He also got a sound bar for the tv. Now we’ll actually be able to hear our shows without turning the volume all the way up!
Games! We’ve played Pirate Fluxx a few time and Anson will probably start playing Batman while he’s still off work. Fun stuff!
Anson got me a stand mixer for my Christmas gift! Now I’ll actually be able to mix things without pulling a muscle in my arm. Thanks hun!
And, of course, we exchanged our traditional anniversary ornaments. He got me a crystal candy cane and I got him a Gizmo ornament. I figured that his favorite Christmas movie should be represented somewhere
We want to thank our families for sending such wonderful gifts! I need to start writing some Thank You cards—and I can do that easily since Mary gave me some nifty card-making materials for Christmas. Merry Christmas EVERYONE!
A few weeks ago at Thanksgiving, Irfaan introduced us to a new board game called Betrayal at House on the Hill. The game is a lot of fun and it’s different from any other board game that we have played before. The game is divided into two main phases. The first phase consists of exploration where there is no real objective other than to try to ‘improve’ your character by finding items, increasing your character’s stats, and triggering events that may help you in the second phase. The second phase, known as the ‘haunt’, starts after a random number of turns. In this phase one of the players turns into a traitor and the objective of the game is revealed. There are roughly 60 different unique scenarios in the game, again randomly determined, all of which have unique objectives.
The game itself is a blast to play, but pretty quickly we realized there was one major flaw. The stats, which dictate whether a character is alive or dead, how far the character can move during a turn, how well the character survives various events, and pretty much every interesting aspect of the game are tracked by moving 4 small plastic pointers up and down the side of a cardboard character cutout. The problem is that these plastic pieces tend to slide and the space between each of the values of any given stat is very small. For the first couple of times that we played the game, we resorted to paper and pencil to keep track of the stats in addition to the cutout to make sure that we were tracking them accurately. Ultimately, since I was on vacation last week, I decided it would be fun to solve this problem with a Windows Phone 7 app.
I hadn’t written a full WP7 app before, and it’s been something I’ve been meaning to do for a while. I figured the stats tracking app would be a good starting place because the app itself was conceptually pretty simple. I figured it would have two screens, a character selection page and then the page on which the stats were actually tracked. The trickiest, and most interesting, part of the app had to do with tracking the actual value for a stat. In the game it’s important that for any given stat you can see the value that immediately precedes and immediately follows the current selection. The reason this is important is because the game often gives you a choice about what stat to increase, and the scales for the stats are nonlinear. It’s entirely possible to increase speed, for example, w/o actually being able to move any faster (e.g. the scale might be 3 3 4 4 4 5 5 6 6 8). In that case, it might behoove you to increase your might instead. Unfortunately there was no ‘out-of-the-box’ control that had exactly the look and feel that I wanted. The DatePicker/Calendar control was probably the closest, except that I didn’t want the selection ‘wheel’ to disappear when it lost focus, and I wanted it to be horizontal instead of vertical. Ultimately I decided to write my own control.
I finished the app near the end of last week, though it really only took a couple of days to get it entirely functional. I learned a lot in pretty short order – all of which I think are fascinating, and will probably bore anyone else to tears that managed to read this far:
- The selection of a listbox in WPF and Silverlight is tracked via hashcode. So if you happen to databind to a List<int> and your list duplicate multiple values then your selection will be wonky. In the multi-selection case it will select all of the numbers of the same value, and in the single selection case it will simply select the one that appears first in the list.
- The performance tools for WP7.1 are really good. It was pretty easy to figure out why selection in my app was slow (which I didn’t even notice until Luke said – hey! why is selection so slow!). Sadly it was non-obvious on how to make it faster. In reading about performance tips for phone apps, it turns out that I did pretty much everything wrong. In general, my biggest performance problem was simply that the visual tree for my character stats page was too complicated. Outside of removing controls, optimizing the display, and removing certain converters, there was little I could do to speed it up. Ultimately I delay loaded some controls which made the experience better but didn’t actually speed up the loading of the page.
- Microsoft Express Design is a fun product to use to make small graphics, such as for the icon of your app. I made a haunted house design of which I’m very proud. Everyone else that’s seen it hasn’t thrown up, and given my artistic talent, that says a lot for the software.
- JPGs load faster than PNGs, content loads faster than resources.
- The new Beta option on the marketplace is really cool. It publishes the app comparatively quickly. My experience was the app could be downloaded within 12 hours of being published. That said, it sucks that you cannot update a Beta app. I ended up creating a second ‘Beta’ after I got some feedback and wanted people to try out the new version. That requires putting in all the same information again. It also sucks that you cannot tell when the app can actually be downloaded by people. You know when it’s ‘published’ (which happens within an hour or so), but it’s many hours after that before the folks you’ve added to the Beta can actually get the app. They don’t get sent email, so you sort of just have to keep trying it until it works for you and then send them email yourself. The best practice seems to be to wait a day or so. Until they fix the update thing, you really shouldn’t bother until you think you’re really done the app and you want broader testing. The best thing about it, of course, is that the people trying the app don’t need a developer unlocked phone.
- Saving state is pretty easy, but implementing the INotifyPropertyChanged pattern just generally sucks in C#. There is so much boiler plate code.
- I remain confused about capabilities. I tried removing all of the ones I don’t need (which is all of them), and the next time I opened the project the tools prompted to me add them all back. I figure I’ll just leave them there for the moment.
The app ended up looking like this:
The icon for the app, of which I continue to be happy with of despite the looks of confusion when I show it other people, looks like this:
I don’t know that I’ll actually post the app to the real marketplace or not. I’m waiting to hear back from the company about whether they would be okay with the usage of some of the artwork from the game. That said, it turned out pretty much exactly how I imagined it which is always gratifying. Phone development is really a lot of fun since it brings back that feeling that it’s possible to write a complete app by yourself. That said, the quality of a lot of the apps on the store is pretty amazing. In particular, a lot of the games are flat out astounding. Still, it’s fun to write apps that you can use at least for yourself
I was going to switch over to do some Windows 8 development, but I had so much fun working on the app above I decided I would do another quick phone app this week. I wanted to try a 2d XNA game. My general premise is a ‘typing texting tutor’. The idea is a simple game that has words that fly across the screen. You try to type the words before they get to the other side. The dictionary contains normal words + a lot of SMS acronyms. I just started, but already I’ve found that the keyboard API for the phone is woefully inadequate for what I’d like to do. The other thing that is woefully inadequate are my drawing skills. This is what the app looks like so far. Hopefully it will look much better, and be functional, by the end of the week:
This year we ended up with a pretty big group at the house for Thanksgiving. All told, I think we had around 12 people. So, naturally I baked a 23 lb turkey for dinner
I have to say that this year’s turkey was particularly good. I’m beginning to think that the bigger the turkey is, the better it is going to taste. I’m sure we eat enough turkey at our house to thoroughly test out this theory over the next year.
This year I baked 2 apple pies and chocolate cake pops for dessert. I think I am going to have to accept that we don’t all eat like college students any more. We didn’t even finish the pies! Ah well—Thanksgiving leftovers are awesome!
We kept many of our Thanksgiving traditions alive, including making Chris carve the turkey. He did an excellent job, as always. And there’s only a 33% chance that he’s the one who dented the tin to leak turkey grease all over the counter. That percentage gets better every year. Go Chris!
We got to spend time catching up with our friends, old and new
Irfaan brought over a new game to share with us. It’s called “Betrayal at House on the Hill.” It was a pretty awesome game (and he let us keep it because he’s super awesome)!
Basically, everybody explores the haunted house until “the bad thing” happens. One person betrays the rest of the group and they battle against each other until the end. The game has a huge number of scenarios that can play out, so it’s fun to play multiple times.
Here are a couple shots of the board as we first started exploring the haunted house.
Then Fiona betrayed us! You can tell, since she has the “Traitor Tome.”
Just a couple pics of Michael and Irfaan enjoying the game. Go good guys!
And Chris helped Fiona as she attacked us all. Go traitors!
We also played Stomple and Martian Flux (and 2 more games of Betrayal at House on the Hill with Irfaan at the end of the night).
We had such a great time celebrating with friends and can’t wait to do it again next year.
Thanks everyone for making our Thanksgiving a happy one!