June 16, 2008

Evan Christopher Anderson

Filed under: Uncategorized, Family, Personal — Nathan @ 2:11 pm

Evan Christopher Anderson was born on at 1:47pm on June 10th.  He weighed in at 9lb 5oz and measured out at 20.75 inches.  Everyone is happy, healthy and recovering.  I’ll update with some pictures once I have caught up on some email.

June 2, 2008

life comes at you fast

Filed under: Family, Personal — Nathan @ 7:47 am

Things have been pretty crazy around the Anderson household lately.

First, Ben graduated from pre-school and lost his first tooth on the same day. Awesome! He’s such a big guy now I can’t believe it. We are so proud of him.

Then a few days later we lost Daisy, our Golden Retriever, to cancer. That was pretty traumatic as one can imagine. Amy and I adopted her before we were married and she’s been such a close part of our lives ever since.

And now Amy is scheduled to be induced on June 10th. One week from tomorrow. That’s 8 days away. Wow!!!

March 30, 2008

In response to things I love

Filed under: Uncategorized, Family, Personal — Nathan @ 10:55 am

My lovely wife recently asked me publicly about the things I love. Here’s a quick list.

  • Food (I don’t think I’m a “foodie” but I REALLY like food, there’s nothing I patently dislike)
  • wine: I’m not too particular but I really like a good shiraz or merlot
  • beer: anything but american piss-beer, I really like these brands: Guinness, Duvel, Sierra Nevada, Rahr, Shiner
  • cheese: blue, havarti, sharp swiss, blue cheddar (I’m drooling just thinking about it)
  • bread: anything crusty, whole wheat, with chunks (that’s for you Amy), pumpernickel etc
  • fruits and vegetables: about anything fresh, I’m currently growing: tomatoes, 3 kinds of peppers, squash, lettuce and watermelon
  • Ms Sandy’s snow cones, mmmmm, tastes like summer
  • Items
    • my Ridgid 24V cordless hammer drill, it’s the best cordless drill you can buy IMHO hands down
    • my Craftsman radial arm saw, it’s my general purpose work-horse saw, I love it
    • my BBQ pit. :)
  • Music (…where to begin…)
    • U2, Toadies, NIN, Muse, Sparta, Stone Temple Pilots, Chevelle, Metallica, The Mars Volta, Burden Brothers, and many more….
  • Places
    • Davis Mountains, not the most beautiful mountains I’ve been to, but this family place is my zen-spot, my centering place
    • our back yard, very relaxing and comforting
    • my workshop (or my Man Room as Amy calls it)
  • Misc
    • My wife and son are the joys of my life. Period.
    • My family (immediate and extended) is incredible and I don’t get to spend enough time with any of them.
    • My friends are all wonderful and different. Every time we have a BBQ or gathering I realize how fortunate we are.
    • My job and career. I love where I work and what I do. I couldn’t ask for a better team, boss, department or company to work for. I’ve never been happier professionally.

    February 21, 2008

    new member of the family

    Filed under: Family, Personal — Nathan @ 12:05 am

    Last weekend we picked up a new member of the family. Sophie Sky Anderson is a 7 week old Pembroke Welsh Corgi. She’s utterly adorable and Ben is about as happy as you could imagine a 4 (but almost 5) year old little boy could be.

    Sophie Sky Anderson

    And, as usual, we have lots of pictures.

    January 1, 2008

    2008 Technology Predictions

    Filed under: Uncategorized, Technology — Nathan @ 4:44 pm

    Lots of techies are out there right now thinking ahead to 2008 and what might be. Here’s a few random thoughts. Hopefully the tongue-in-cheek entries will be self evident.

    The semantic web will become more fully realized. But you won’t notice it. It will power more and more of your daily functionality yet remain very transparent. All of your news feeds, TV listings, calendar items etc will all be managed more and more by web related delivery mechanisms. Look out for Google Mashups and Yahoo Pipes to become a lot more interesting.

    The push for pure-play SOA will be replaced by simpler message bus style architectures. Techies are tired of having large scale infrastructure and application architecture pushed on them. The message here is to start small. the introduction of message bus driven architectures to solve scalability issues will help long term SOA adoption by bringing the tools and techniques in the back-door. Players to watch for in this space: WSO2, ServiceMix.

    The “Web 2.0″ label will officially be retired. Subsequently “Web 3.0″ will be announced by Tim in mid ‘08.

    MySpace, Facebook or LinkedIn will be hit by a serious security vulnerability that will expose enough personal information (more than they already perhaps) that serious questions will be raised regarding online privacy legislation.

    Google’s gPhone will launch and Android will be a smashing success. Riding the coat tails of the iPhone (and Apple fandom) will tough and traction will be difficult. Once Android is running on more platforms and people start to understand its power then phones (and their networks) running it will slowly start to become more popular. This will begin in ‘08 but wait another few years to see the revolution. Eventually even the iPhone will have an Android compatibility layer.

    Kindle will fizzle more than it already has.

    OLPC will not change the world. Don’t get me wrong, some really cool inexpensive technology will eventually trickle down to the masses. It will not have a significant impact on developing countries though. Reliable drinking water systems. Sustainable food supplies. Advanced education systems. These are the things that developing countries need.

    December 30, 2007

    Codebase size is a symptom

    Filed under: Technology, PHP, Java, Development, Work — Nathan @ 11:08 am

    A few weeks ago Steve Yegge posted an article about code base size and it’s negative effect on projects.  While I agree that his example of a 500k LOC project is horrid I’d have split some hairs here and say that lines of code (or bloat as he refers to it) isn’t the problem.  The problem is a horrible application architecture and lines of code is just one of the symptoms.  Other symptoms may include execution speed, memory consumption, lack of encapsulation, security vulnerabilities or a host of other issues.  I’m curious as to what political/managerial/architectural situation arose that allowed a single application code base to grow so large.

    Do you have an application architect? Why didn’t the application get carved up into distinct loosely coupled systems?
    Do you have sufficient business representation that prevents the “just add it to application X” problems?  How does the scope of an application grow so much with no oversight?

    The application bloat I’ve seen typically takes three forms:

    1. Very little code reuse is taking place.  How many separate logging infrastructures do you have?  Using multiple ORM tools in the same project?  How long does it take a developer to understand all that?
    2. Reinventing the proverbial wheel.  This is loosely related to #1 but I’ll call it out here because it’s so important.  If you wrote from scratch any of the following for your project you need to seriously justify your decision IMHO: ORM, logging, web framework. If your language of choice doesn’t already include suffucuent choices for these utilities then you need to reconsider your platform choices.  Avoid the “not built here so I don’t trust it” syndrome.
    3. Feature-itis.  Knowing when to say “no” is a very valuable skill.  Knowing when to say “yes” conditionally is also important.  It’s ok to add that new feature but require some refactoring time so it doesn’t just add to the collective mess.  Think of architectural trade offs as a karma based system.  In other words for every shortcut you take now you make things harder on yourself later.  For example: I can add your feature in 10 days with 40% code duplication (+ 20 days of cleanup later and every other coding task has to slow down to work around this ugliness) or I can add it in 20 days with 0% code duplication (and little to none of the other slowdowns).  It’s acceptable to tell the business that the feature, if done properly, will take 20 days to implement.  In fact it’s your duty to recommend the slower approach.  If you have a boss who doesn’t understand those trade-offs you need to start looking for another job.

    I’ve seen (and worked at) both kinds of mistakes and they all contribute to code bloat but that isn’t their biggest problem.  Bringing new talented developers up to speed on the whole system is a monstrous adventure.  No single developer understands enough of the entire codebase to affect significant change.  The systems become so brittle over time that making small changes involves enormous regression testing challenges.

    You are a developer.  It’s your duty to protect the integrity of the code base you are working on.  That’s part if what your company is paying you to do.  Yes there will be pressures to deliver faster.  Yes there will be pressures to do things that violate your developer principals.  That’s part of life.  Accept it.  Now that you can take a deep breath what are you doing to protect your code base?  Do you have a solid architectural plan that you can show to your PHB that lets him know how this feature fits into the greater system?  Do you have at least some high-level design documents that allow you to justify your position?  Are you prepared to defend your position to your stakeholders.  “While it’s technically possible to add feature X in 10 days that will have a negative net impact on the whole project and here’s why…”.
    Also, don’t think that merely switching to/from a waterfall, agile etc shop will magically fix these issues.  It won’t I’ve seen both kinds of development shops make all of these mistakes.

    December 29, 2007

    Taking the good with the bad

    Filed under: Family, Personal — Nathan @ 10:37 pm

    The tail end of 2007 has brought with it a series of both good and bad news.

    In October we learned that Amy was pregnant. Shortly thereafter her morning sickness started in earnest. At one point it was bad enough for us to spend an evening in an emergency care facility. Another time her doctor admitted her to the hospital for a few days. Thankfully is has been subsiding though lately for us to enjoy a wonderful Christmas. With some help we pulled off a spectacular feast complete with smoked turkey, cornbread and shrimp stuffed acorn squash and roasted french green beans.

    In the last few months Ben has answered answered every Christmas present query with a puppy. Amy and I weren’t quite sure how to answer that request other than to say that Santa makes toys, not puppies. Then we took Daisy (our 8 year old Golden Retriever) to the vet to have a lump on her back looked at. They removed a handful of cancerous tumors from inside her back, neck and leg. X-Rays showed that the cancer has spread to her lungs and lymphatic system. Bottom line, she has roughly 6 months to live. Now we are thinking that a puppy sounds like the perfect companion to help him through losing his best friend. Santa brought (among many other cool things) a dog Encyclopedia so he and Amy have spent several days pouring through it to search for the perfect puppy. Looks like we’ll be looking for a Corgi in a few months. For now though Daisy is fine and has recovered from her surgery with flying colors.

    Here’s to a strong finish to 2007 and a wonderful 2008. It may have a few rough spots but we’re looking forward to a new puppy and new baby.

    November 29, 2007

    Anderson++

    Filed under: Family, Personal — Nathan @ 10:49 pm

    I guess the title is a really geeky way of saying … we’re pregnant. Or more accurately Amy is pregnant and she’s due in mid-June.

    Her morning sickness is not at all limited to the mornings but it not nearly as bad as it was with Ben. We’ve already been to an emergency clinic for an IV and she’s been on several different medications. A particular combination of them seems to be mostly doing the trick lately but she’s still having a pretty rough time of it all. It’s been bad enough that she has decided to put the business on hold until she can offer the quality photography and customer service she is committed to deliver.

    Anyway, we are all happy and excited. Ben is hoping for a little brother and is already picking out names. Bob and Santa Claus are his top picks at the moment.

    If you call us and we don’t answer or we don’t return your call right away, please bare with us.  It’s not that we don’t want to hear from you, it’s just not easy for Amy to talk on the phone when she feels so bad.

    October 30, 2007

    Colorado Software Summit 2007

    Filed under: From The Road, Technology, Java — Nathan @ 10:25 pm

    The Colorado Software Summit this year was a blast. Bryan, Lisa and I learned enough to make our heads spin. We drove through a bit of snow and ice from Denver to Keystone but once we arrived we were graced with very beautiful and cold weather. I took a few pictures as usual. I think that I was a little unclear if there would be an underlying theme like last year (SOA) but I would probably pin scalability and interoperability as the general topics of the event this year. Lot of people were talking about virtualization, concurrency with todays multi-core environments, general scalability, and interoperability of web services, data formats etc.
    Dan Pritchett from eBay had to be one of the more impressive speakers this year in my opinion. In many ways (but certainly not all) we share a lot of scale issues with eBay so hearing Dan talk about seemingly odd architecture decisions (and the slaying of various sacred cows) really resonates with me.  Just to pick a few oddball concepts they use in various forms at eBay:

    • No client-side database transactions.
    • Database partitioning and sharding.
    • 100% stateless application tier.
    • No 2 phase commits. Don’t worry about the order or failures, clean them up later.
    • Only use stored procedures for ETL-like routines.
    • Use lots of small soldiers instead of large soldiers. (commodity hardware, not expensive branded stuff)
    • Virtualize wherever possible so horizontal scaling is more possible.

    Dan sat with us at lunch one day and he’s a simple yet captivating speaker. I talked to him for a while after the Thursday night BoF he held on the eBay architecture. We talked about monitoring and I learned a few fascinating things that have really made me think differently (or reaffirm some existing hunches) about some of the architecture decisions I’ve made on many of the applications I have managed or currently manage.

    Want a few crazy facts about the eBay architecture?

    • 1 Billion photos
    • > 1 Billion page views / day
    • 26 Billion SQL queries / day
    • 100 Million items for sale
    • 99.94% availability
    • 1 terrabyte of log files generated per day
    • around 100 code branches are active at any time
    • 15,000 application servers + 300 database servers
    • 300 million front-end searches per day (plus tens of millions of internal searches) == more than Google

    I also learned a bit more about Continuum, ActiveMQ and Groovy.

    Matt Raible (as usual) gave a couple of great talks about Java web application frameworks. During Scott Davis’s talk on ATOM and REST, Bruce Snyder made a comment that he used JMS as a SOAP transport. Fascinating. Why don’t more people do that? All the message reliability you’d expect out of a message broker (guaranteed delivery, indemnity etc) with the contract of SOAP. Great idea. AMQP also seems like a great idea for message bus architectures. If you’re at all having to deal with bus interoperability, bus vendor lock-in or anything similar, give AMQP a shot.
    I went to another Scott Davis talk on Grails. Grails is a new web application framework using Groovy that has borrowed a lot of rapid development techniques from Rails. The awesome thing about Grails is that is uses all of the leading Java tools like Spring and Hibernate. I have been playing around with it on and off for the last few months and I really like it so far. I’m really interested in seeing is mature more though.

    Speaking of ATOM and REST, I like the philosophy of REST but I like that WSDL has basically standardized contracts for SOAP services. I’m not saying that I think WSDL is perfect by any means, but it works. I don’t usually need to read it because it’s automatically generated and automatically consumed by most implementations I manage. REST offers no such standard right now for contracts. In order to integrate with a RESTful service I either have to read the spec documents (assuming they exist) or I have to guess as to the contract. Should I ask for “/San_Antonio” or “/San+Antonio”. Read the GData spec. It’s ATOM but it still prints out to dozens of pages. Then what data type is returned? I’d have to make a request, inspect the returned XML and build a parser. Hopefully it’s supplied a schema. What a pain. And this is supposed to be better than SOAP. If a SOAP service provides a WSDL I just point my wsdl2java client to it (or equivalent in whatever language or toolkit I’m using) and I’m literally integrating against that interface within a few seconds. The WSDL provides all the contract I need to work.

    I also went to a talk by Gregor Hophe of Google (and author os the awesome Enterprise Integration Paterns book) where he demonstrated a really cool and simple integration of the Google Mashup Editor and Yahoo Pipes. I’ve been using Yahoo Pipes for several months and as a few coworkers can attest, I really love it. Think of it as all the fundamental UNIX utilities (pipes, sed/awk, grep, tee, sort, split etc) but for RSS/ATOM feeds. I have it take a handful of very chatty RSS/ATOM feeds, combine them, filter for certain topics and spit them out as a single feed. That mini-app too all of 45 seconds to create. Gragor’s example took a Google Calendar feed, fed it into Yahoo Pipes, did a little massaging of the format, added Geo Location data and spit the result back out to a feed. That feed he sucked into the Google Mashup Editor (new service, I just got my account today) and integrated it with a Google Map so he could see the location of his calendar events. It was a really slick lightweight integration technique.

    Speaking of Google, the Google Gears demo was very cool. I know of a few people who are already getting interested in this project.

    October 7, 2007

    CSS 2007 bound

    Filed under: Technology, Java — Nathan @ 7:13 pm

    I’m headed to the Colorado Software Summit again this year. If I learn half as much as last year I’d still think it was worthwhile. I have been to a number of other software development and techie conferences and this one is hands down my favorite. Here’s a few quick reasons why:

    1. No vendor booths. No pressure, no commercialism, no spin. Just tech.
    2. Every session is worth taking notes in. They are very techie focused. I bring my laptop and between sessions find myself playing with the stuff I just learned about.
    3. Several of the speakers wrote books that I own or software that I use. Perhaps that speaks to the quality of the presenters or maybe to my taste in books and software.
    4. Keystone, Colorado is incredibly beautiful. We received 18 inches of snow during the conference last year.

    Last year many of the session topics covered Service Oriented Architectures and various tools often used to facilitate them. Message busses, web services, mashups etc. This year there looks to be a bunch of topics on web frameworks, architecture (SOA, scaling, monitoring, grids etc) and data. Good stuff.

    Here’s a few links from last year:

    Next Page »

    24 queries. 0.343 seconds. Powered by WordPress.