Today is Pregnancy and Infant Loss Remembrance/Awareness Day. I don’t blog much, but this is a topic near and dear to my heart. As many of you know, Monica and I lost one child due to low amniotic fluid and lost two others as vanishing twins.

The statistics on pregnancy and infant loss are horrific:

Each year in the US, 11,300 babies die on the day they were born.

1 in 160 babies in the US are stillborn.

10% to 20% of all pregnancies result in a miscarriage.

The actual number of pregnancies resulting in a miscarriage is probably much higher than 20% because many miscarriages occur so early in pregnancy that the woman doesn’t even know she’s pregnant.

Pregnancy and infant loss affects so many but gets so little attention. People are afraid to talk about it. Maybe it’s taboo because people don’t know how to talk about it. When it happened, I didn’t know how to talk about it. I still struggle with the topic. I do know this: the more I talk about it the easier it is.

I’m no trained expert, but through my own experience I have some tips for interacting and supporting those going through pregnancy loss:

Don’t get scientific or legal with terminology. The grieving parents just lost a baby. Not a fetus. A baby. Their baby.

Don’t try to rationalize or explain. Telling a grieving parent “Something must have been wrong and this is for the best” or “God wanted another angel” doesn’t help. In fact it can make it worse.

“At least” are probably the worst words you can use. “At least you didn’t know the baby,” “At least it wasn’t really a baby yet,” “At least you are young and can still have another one.” Nothing truly supportive can come after “at least.”

Don’t directly mention the baby. Stick to things like “I’m sorry for your loss,” and see where the conversation goes.

Actually, don’t mention any baby, pregnancy, or miscarriage. If you have a story, no matter how supportive or positive you think it may be, save it for another time. It won’t help right now. Trust me.

The one exception is if you personally experienced pregnancy or infant loss. In that case, it may help as grieving parents are seeking people to connect to who can truly understand their pain. It better be personal experience though and not a story about your friend, sister, or somebody else. I might sound arrogant saying that, but while grieving it was true.

Speaking about children may be OK, but it’s best to avoid the topic altogether if you aren’t sure.

Listen, listen, and listen. Let the grieving parents speak and let them guide the conversation wherever they want it to go.

Just because you are listening doesn’t mean you should be silent.

Grieving parents cry. They may try to hold it back in public, but they do cry. It’s ok to cry with them. In fact it’s appreciated.

Most people are sympathetic the first time they see the parents but never mention the loss again. Often they avoid it and pretend it didn’t happen. Grieving takes a long time and a simple “How are you holding up?” every once in a while goes a long way. It opens up the door for more conversation if the grieving parent so chooses, but it doesn’t invade their privacy or force them to talk if they don’t want to.

It’s like any other great pain: you never get over it; you can just hope to carry on. Some couples jump back on the wagon as having a child is the only way to lessen the pain. Others need to step back and can’t even think about trying for a long time, if ever. Either way, be supportive because they need it.

I’ve gotten to the point where I can freely talk about pregnancy loss. It was a hard long road and I couldn’t have done it without my best friend, Monica. We walked that road together.

Anyone needing a friend to talk to can always give me a call. It doesn’t matter if we see each other all the time or barely at all. I know the dark loneliness of it all and am certainly willing to extend an ear.

Did you know that you can append a plus sign and any combination of alphanumerics after your gmail address and still get the email? I did and I love the feature.

I use this feature for most of my non-personal email corespondents. For example, if I were to provide an email address to the fictional phone company No Cell Service, I’d give them bmapes+nocellservice@gmail.com. This provides two key features. First, I can easily create filters to handle mail sent to bmapes+nocellservice@gmail.com. I can move it to any folder, forward it, mark it as important, or delete it. Second, if I start getting spam emails to this address, I know No Cell Service leaked my phone number, which is easily blockable.

Apparently, many websites don’t know about this cool feature. Discover Card does not accept plus signs in email addresses and they throw up a nice big red message telling me so. Instead I give them a crap email address and forward any email from Discover to my main address. It’s a pain in the ass but I’m too OCD not to do it.

There are too many companies behind on the times that need to get their act together and start accepting the plus sign. Paint Scratch doesn’t accept the plus sign in email addresses, but they are not nearly as graceful as Discover. While making a purchase at Paint Scratch, they gladly accepted my email address with a plus sign. They sent me a confirmation email to bmapes+paintscratch@gmail.com. About an hour later they sent me an email saying there was a problem with my order. The problem was that their credit card program couldn’t handle the plus sign so it ignored it and tried sending the receipt to bmapespaintscratch@gmail.com. The email bounced because it didn’t exist. Doh! Even if it didn’t bounce, it still wasn’t the correct email address. Double doh!

In conclusion, companies should be allowing plus signs in email addresses as the character is legal. If you aren’t willing to do that, then you need to at least throw an error during input or not automatically remove the plus sign and assume the address will still work.

Peter Laviolette has been fired as coach of the Flyers and is being replaced by Craig Berube.

If Laviolette was on such thin ice then they should have fired him in the off-season and done a proper coaching search. I’m not going to bash Berube because I don’t know him well enough to say if he is going to be good or not. Maybe they would have hired him in the off-season anyway, I don’t know, but at least the team would not be dealing with an in-season system change.

The Sixers are trying to lose but at least they have a plan. The Eagles are trying to build a young team around a young, high-energy coach. I don’t have a clue what the Flyers’ (or Phillies) plan or philosophy is. The Flyers organization is clearly dysfunctional and needs more than a coaching change. Every move the GM makes turns to crap and the owner has transformed into Al Davis.

Charlie Manuel was fired today. Yes, you heard correctly, the winningest manager in Phillies history, who gave us a World Series Championship, was fired.

Manuel wasn’t a tactician. The double switch threw him for a loop. Knowing when to hit-and-run was difficult. Determining when to bring in a reliever and which one was troubling. He was loyal to a fault. That said, he was great at managing the personalities of extremely high paid ballplayers and getting the most out of them.

I think Uncle Charlie did the best he could this year. He was given a bad team that had almost no chance of competing regardless of who the manager was. The team has too many aging players. The worst part is they are overpaid and locked up in longterm contracts. Rubén Amaro, Jr is at fault here, not Chuck. By firing Manuel, RAJ confirmed he is an awful GM and doesn’t know what he is doing. He should be fired immediately but the Phillies owners are too tentative to pull the trigger.

Manuel is being replaced by Ryne Sandberg, the so called “heir apparent”. I like Sandberg but let’s remember that he is here because Chicago and Boston didn’t want him. It makes me wonder why and what flaws or baggage he carries around.

I guess it doesn’t matter who the coach is next year, the team will continue to stink until they can get younger and more patient. They need their swagger back. Unfortunately, Amaro doesn’t have the skill set to make any of this happen and we are doomed to have another awful year.

The last few years have been hell. They’ve left my heart broken and my soul shattered. I’ve shed more tears than I’d like to admit. Today I still cry but these tears taste so much sweeter. These tears are of joy as I found the thing that will mend my heart and repair my soul.

We are merely one week away from the due date and my daughter can literally be born any day now. When expecting your first child there is much to do and prepare for. Childhood is all about learning and I was thinking about all the things I need to teach my daughter. Here is my list so far. What have I forgotten?

I’m not sure how many times I’ve been tasked with estimating the time it will take to complete a software development project. I’ve already accepted the fact that most of the time I’m asked to do it with unclear requirements, poorly described features, no definition of done, and minimal time to create it. The foundation for this estimate is already shaky but I document my assumptions, quickly describe some scope, and put together my best faith estimate. Far too often, someone, usually a non-technical person such as a project manager, sends the estimate back to me and says, “I need a better estimate.” What?

After seven years in the software industry, I’ve learned to translate “I need a better estimate” to “I need it done faster as your estimate will take too long and I’ve already promised the customer a delivery date even though I didn’t have enough knowledge to do so and now I’m stuck delivering it sooner than your estimate because I’m not going to be the bad guy and tell the customer it’s going to take longer than I said because I screwed up so you need to figure out how to get it done faster.” Whoa. Deep breath.

For the sake of this post, let’s ignore the unclear requirements, poorly described features, and no definition of done, and assume everything is crystal clear. Here is a simple, non-software related example: Bob tasks me with creating an estimate for Rob to drive from Philadelphia to a bank in Pittsburgh.

Tasked with creating an estimate, I take my personal knowledge of having previously driven from Philly to Pittsburgh, I check Google Maps, and I ask if anyone else had any expense with this trip. I then come up with a five hour estimate and add half an hour for contingency. In no time, Bob would be emailing me. “Five hours! I need a better estimate! I promised the customer Rob could get there in three!” So how is it my problem? Oh yeah, I’m the developer. So now I’m tasked not with creating a better estimate, but figuring out how to get it done faster. I always handle it the same way; I put the work back on the Bob.

There are only a few ways to affect a project schedule: time, scope, resources, and quality. Let’s take them one by one.

Time

Time is very simple. Bob can always go back to the customer and ask for more time.

Scope

Many times the requirements are relayed without really understanding the problem. By figuring out why Rob needs to get to the bank in Pittsburgh maybe we can find a solution that will take less time. Maybe there is a bank in Harrisburg that will meet the same needs as the one in Pittsburgh? Heck, maybe there is one right in Philadelphia? Maybe Rob doesn’t need to go to Pittsburgh at all and this can be handled over the phone or on the Internet? Maybe someone already in Pittsburgh can go in his place? Again, I put it back on the Bob to go find out the actual problem.

Resources

If Rob is using a broken-down car that only goes 40 miles an hours and dies every 30 minutes then maybe a faster car would make a difference. My estimate assumed he is driving a car that can consistently do the speed limit and has average reliability, so giving him Ferrari isn’t going to make much difference. The Ferrari would allow him to go faster but we’ll assume Rob is going to drive at a reasonable speed. Two cars aren’t going to help much either. Maybe we have access to helicopter or airplane? Can we get a police escort? Again, Bob needs to go find out what additional resources we have access to and then I’ll revise the estimate.

Quality

Rob could run a few lights, drive down the shoulder, cut off other drives, take curves at dangerous speeds, and other crazy things to shave off time. Cutting corners is only going to make things worse. Rob might get pulled over, arrested, or injured. In any case, quality should never be compromised. I’ve been on development teams where quality was sacrificed to meet customer demands. It eats away at your soul. If you are ever part of a team where sacrificing quality is truly an option, quit immediately. You are not only sacrificing quality but you are also sacrificing your personal integrity.

In summary

In some cases you may need to actually improve on the estimate. Maybe your estimate for the drive from Philadelphia to Pittsburgh considered the scenic route though San Francisco. This isn’t the case most of the time. Improving the estimate is all about getting more information, agreeing on assumptions, better defining the requirements, and recognizing resource availably and constraints.

I was a child of the 90s and Microsoft did an excellent job of reminding me how awesome the 90s were.

Internet Explorer

While the video is fun it’s not enough to get me to switch back to Internet Explorer. IE 6 and 7 were awful. IE 8 was a step in the right direction but still crap. IE 9 is almost passable as a real browser. IE 10 is actually pretty good but at this point I’m too comfortable with Chrome to think about switching.

For years scalpers have been using bots to quickly purchase tickets before they are sold out. In turn, Ticketmaster and many other sites installed CAPTCHAs to determine if the ticket buyer is a human or a bot. CAPTCHAs can be difficult to decipher even for humans and have been annoying customers for years. Ticketmaster isn’t dropping puzzles altogether but rather moving to easier ones by Solve Media.

I’m assuming they are doing this because of customer feedback. I’m guessing they’ve got enough complaints over the years and they may even believe it’s affecting their bottom line. The customer in me appreciates this change as I no longer have to strain my eyes while translating obscure text.

The developer in me finds it even more interesting. This is a perfect example of UX and it also shows that you don’t always have to redesign an entire form to improve the user’s experience. Just replacing a difficult to solve CAPTCHA with a much simpler puzzle goes a long way.

I guess it’s a good thing to never be satisfied and always strive to make something better but I may be taking it too far. The more I looked at the last design, the more I felt it was too busy. This design is super simple. Still need to create the archive page and work out a few bugs though.