Long term running of an Arduino (years)

millis() rolls after something like 49 days. Isn't that hard to tweak it so that it keeps time longer. Essentially, you need to use two longs to track millis rather than one. If replacing the built in millis function isn't your cup of tea, then just write your own called LongMillis(), or whatever.