The difference between a software architect, and a programmer is…
June 12th, 2009 by Benjamin KuoThe software architect spends a ton of time thinking stuff through when designing their software systems, to avoid problems like Twitter rolling over on its “unique IDs” for twitter messages (aka the “Twitpocalypse”?!), and the programmer just pounds out whatever works at the time without thinking things through. My advice: hire a better software architect. Sometimes, one wonders if Twitter actually has any folks there who majored in computer science, and took ANY CS courses…

June 12th, 2009 at 3:35 pm
Seems to me maybe the one who needs the CS course is you. ;-)
The Twitter service itself doesn’t have the limit. Some coders of twitter client apps chose to store this ID in a signed 4-byte integer. It’s an open API dude, Twitter doesn’t control these coders.
So let’s adjust your premise to say that the twitter *client app coders* used poor design. Maybe, maybe not. Good software design should consider what’s “most likely”, not everything that’s “completely possible”. The latter can lead to wasted dev time and bloatware. Twitter started as a hack and good design in a client app could have included the idea that IDs beyond this limit we not reasonably expected.
My house needs a third-bedroom. I didn’t plan on that last kid, and it also wasn’t the architect’s fault. Big difference between poor architecture and being flexible to factors which far exceeded expectations.
Tech bloggers like yourself should resist buying into non-tech media hype and regurgitating bad ideas.
June 12th, 2009 at 4:51 pm
Heck yeah! You said it!
June 12th, 2009 at 7:27 pm
JDStone: Having many years of software engineering experience, plus having been on many a standards organization, I’m not regurgitating “non-tech media hype”. I assure you, if you ever spend much time in IEEE and T11 standards organizations–which I have–software architects (lots of them with a lot more experience with me) spend a LOT of time thinking about this stuff to avoid just this kind of issue.
Then, again, I agree with you, Twitter hasn’t grown beyond being a “hack”.
A reasonably architected software application — particularly one based on the idea of a constant, growing stream of messages — should be architected to not have an upper bound on ID numbers. There’s plenty of well-understood ways to do this which wouldn’t result in bloatware.