I'm The Proud Father Of A Son...
posted on 09/04/07 at 12:52:27 pm by Joel Ross
...which explains the blog silence in the past couple of weeks. Logan William was born on August 20th, 2007 at 3:45 PM. He was 8 pounds, 2 ounces, and is doing very well.
How he came into the world was different though. The Wife has a history of issues during and after pregnancy, so we had a C-Section scheduled on August 22nd, a week before her actual due date. On August 6th, her blood pressure shot up, so they started monitoring her closer (non-stress tests twice a week and amniotic fluid index checks once per week) - and she wasn't allowed to drive anymore. August 20th was a day for NST and an AFI, but he failed the NST in the OB's office, so we were sent to the ER for further tests.
At the ER, things were going much better. He was passing the NST, so they sent The Wife for her AFI. That passed too, but as we were waiting to be sent home, his heart rate started slowing down after movement - a sign that he was somehow tangled with the umbilical cord. Her doctor came in at 2:45, and said "we're doing this today." Then things got a little crazy. Five minutes later, The Wife was being prepped for surgery. We wondered what the rush was, and the nurse told us the OR had an opening at 3:00 PM, and that's what they were targetting.
At 3:05, The Wife was walking to the operating room, and I was waiting in the triage room for them to bring me in - that only happens after they get her prepped and numbed, and are pretty much ready to start cutting. I walked in about 3:30, and they had Logan out at 3:45. We had all of one hour of notice! Anyway, we came home on August 23rd - around 6:00 PM, and things were going good.
Until Saturday, when The Wife's blood pressure shot up. This has happened with both of the girls, so we weren't exactly shocked, but still, we hoped it wouldn't happen this time around. With our first, we went to the ER, and got a BP reading of 200/120 - the techs in the ER tend to freak out with a reading that high. For reference, Tina's normal BP is 110/65. So when it started to shoot up this time, we knew what to do. We went in and got her on medicine, and she's all good now.
Life with three kids isn't that much different than life with two kids. Getting up at all hours of the night isn't the most appealing thing, but this time has actually been easier than both girls - we get up one to two times per night - in bed by 11 or so, and up by 8. I'm practically getting more sleep now than I was getting when I'd stay up 'til 1 and be up by 7 (my normal hours).
I've been off work since the 20th. I go back Thursday. I think I'm ready. I could have gone back today or tomorrow, but I decided to stay away because our oldest started kindergarten today - we went with her for her first day (only an hour), and tomorrow, she heads out to take the bus all by herself. She is very excited - we were on our way home today and all she kept saying was that she was going to school tomorrow and we weren't going!
So anyway, that's why there's been little activity lately. Hopefully I'll pick posting back up in the next few weeks.
Categories: Personal
Adding Strangers As Friends?
posted on 08/16/07 at 12:18:10 am by Joel Ross
To start with, I need to make a confession. I'm getting more and more hooked?on Facebook. I'm also on MySpace, but it doesn't have the same appeal that Facebook does for some reason. Maybe it's because profiles don't look absolutely hideous.
Anyway, even though I check in on Facebook quite a bit, I only have a few friends. I don't add a lot of people. When I do run across someone I know pretty well, I'll add them, but if I don't know them that well, I typically won't ask to be friends.
Tom and Molly?touched on this type of thing on Buzz Out Loud either today or yesterday (I can't remember which). First, users of Facebook are commonly willing to add strangers as friends, and second, shouldn't there be something between no relation and a friend?
What prompted me to write about this? I saw Jeff Sandquist's post about updating Twitter from Facebook. I follow Jeff on Twitter, so I've seen his updates coming through. Pretty cool, actually. Anyway, at the bottom of his post he has a link to add him as a friend on Facebook. I clicked it, went through the process, and then stopped. Does being an anonymous reader of Jeff's blog make us friends?
And in case you caught it - yes, I will follow people on Twitter that I don't know (Jeff, for example). For some reason, social networks seem different.
Categories: General
Consulting vs. Development
posted on 08/15/07 at 11:46:37 pm by Joel Ross
I've been meaning to post about this, but I've been very lax lately. Chris (Woody), from Nusoft (where I work) has a post about the differences between being a developer and being a consultant. It's an interesting question to ask, and the post is worth a look.
It's funny that he brings this up now, since I was just talking to another colleague about how an engagement I'm working on right now is actually consulting - we are going in, learning their current business, and guiding them towards a solution. In all honesty, beyond some prototyping, we're not doing any development. In most projects, I'm brought in after the deal is sold and we have a fairly good understanding of what we're building, and it's time to start designing it and then developing it. What most people think of as consulting is usually a mixture between consulting and developing - even some of what Chris describes is exactly that. Doing the work isn't really consulting. It's more software development that any good programmer can do.
I guess in my mind, consulting and software development are complimentary but don't have a lot of overlap. Consulting is the process of understanding a client's business, gaining trust with the client, and working with the client to figure out the best solution to solve a pain. Actually building that solution is software development (including architectting, developing and deploying the solution). Consulting companies are typically involved in all aspects of the solution mainly because most consultants are developers as well, and by building the solution ourselves, we can alter it to better ease the pain.
And that's the real difference in my mind. A consultant solves a business need. A developer solves a technical need. My ideal place is right in between - which is why I'm pretty happy where I'm at right now.
Categories: Consulting
I'm Speaking At GLSEC
posted on 08/15/07 at 09:54:24 am by Joel Ross
I just got?confirmation that I'll be doing a talk about Continuous Integration at this year's Great Lakes Software Excellence Conference. Bob Kreha, another "NuSoftie",?spoke last year about Practical Agile, and he encouraged me to answer their call for speakers this year. He reviewed my abstract and gave me some good tips, which apparently helped, since it was enough to get me in.
The conference is November 8th in Grand Rapids. If you're in the area and interested in attending a conference geared towards agile processes, this might be a good one to attend.
Categories: General
Twitter?
posted on 08/11/07 at 12:07:51 am by Joel Ross
I've been "using" Twitter for a few months now, but could never get into it. Then I got a link to someone's twitter page and started looking through who they were subscribed to. They were people whose blog I read, so I followed them as well. I also?got Twitteroo to follow the conversations, and now I'm hooked. Seeing a ton of updates come through makes me want to update mine, even if it's something silly like I'm heading down to the dungeon (my basement office) to work.
I'm sure no one really cares, but it's addicting. And if you do care, my twitter page is at http://www.twitter.com/RossCode.
Anyway, I think this is an easier way to get news headlines than through RSS or visiting a news website. It just kind of flows in and with Twitteroo, it's updated automatically every few minutes.
Categories: Personal
Single Responsibility vs. Ease of Use
posted on 08/11/07 at 12:04:11 am by Joel Ross
Erik Lane recently posted about the contradiction between Single Responsibility Principle and Encapsulation. Well, it's not a true contradiction.?It?gets introduced during implementation. He asks how much should an object know about itself - should it know how to update itself, or do we really want just Data Transfer Objects.
If you break down what Erik's suggesting, it makes total sense, and I don't think many people would argue against it. Basically, he's saying let's take our DTOs and give them a little more knowledge about themselves - make them true objects - and pull the level of abstraction up one layer. It also lessens the amount of knowledge people using your objects have to know about your objects.?
I typically like to have objects that know a lot about themselves. It makes consuming the API simpler and to me, it just makes more sense, regardless of the "correctness" of it all.
Categories: Development
Reflection Performance - Is It That Bad?
posted on 08/10/07 at 01:36:46 am by Joel Ross
Part of our framework that we use at NuSoft utilizes a ton of reflection. I get questions about the performance of that all the time, and my basic answer is that most likely it's fast enough, as we don't build a ton of applications that do a ton of real time processing where every millisecond is important - most are web sites where the time to process a page is a fraction of the time it takes to round-trip the data back to the browser.
Having said that, I've never had any real data to back up my assertions - I just never spent the time to measure it. But someone has, and found that using reflection to construct an object, while slower than the "normal" process is slow, it's still only about .08% of the processing time for a page. His conclusion: Yes, it's slow, but it doesn't matter.
On the other hand, I have seen reflection cause major slow downs when doing?a lot of it - for example,?populating large lists of objects. Like all things, it can be good for you in small doses, but you can definitely OD if you're not careful.
Categories: Development
The Null Object Pattern
posted on 08/10/07 at 01:36:20 am by Joel Ross
I'm big into design patterns. Every time I see a new one mentioned, I will usually stop and read about it, which is why I was curious when I saw Jeremy Jarrell mention the Null Object Pattern.
It's an interesting idea. Basically, rather than return null and littering your code with "if (obj != null)" statements after every object retrieval, the method that retrieves the object would return a null object.?A null object is an object that doesn't do anything, but also doesn't throw null reference exceptions. You inherit from an object, override all of the properties and methods, and ensure that when they are called, nothing happens, but also that no exceptions are thrown. This allows your "consumer" code to be cleaner because you dont have to check objects when they are returned. Obviously, you can't use this everywhere, since (in my opinion) most of the time, you actually care if the object is null or not. But in cases where it's not unusual to get a null object back, you could utilize this pattern to make your code a little cleaner.
I'm not sure I can think of a good example where I would use this right now, but I'll keep it in mind in case I ever do - which is one of the benefits of patterns in the first place.
Categories: Development
Team Development With TFS Document Released
posted on 08/09/07 at 11:49:35 pm by Joel Ross
The first version of Team Development With TFS Guide by Microsoft's Patterns & Practices team has been released. I read through the beta copy of it back in May, and thought it was very insightful.?There's lots of good advice about setting up both large and small projects and how to manage them through the life cycle of a development project, from setting up your solution and directory structures, builds, project management, templates, reporting and a ton of How Tos. If you're using TFS, I'd definitely recommend at least skimming through it.
Categories: Development
Code Review Like The Mafia?
posted on 08/09/07 at 09:41:41 pm by Joel Ross
Tim Barcz has an interesting post about code reviews and not letting them hurt your feelings. I agree with his sentiment, and since I am (was?) a big Sopranos fan, his analogy to the mob was funny to me.
His point is that in the mob, there are always arguments, but in the end, they never affect a long term friendship - so when a code review is harsh, don't let it affect your overall relationship. It's just business.
What made me chuckle though was the picture. Tony's in there with six other characters. By the end of the show, he'd killed two of them, and would have killed another if Furio hadn't fled back to Italy. Think about that during your next code review!
Categories: Development