stevenwei
Joined 17 years ago
Joined 17 years ago
Uh, seriously? Seems like they might have cause and effect reversed there. But at least they marked it #Fact, so clearly it must be true.
This is a blatant advertorial masquerading as advice.
That's not to say that people don't try though, there are plenty of DIY treadmill desks made out of exactly what you describe.
If you're largely sedentary, getting an hour of exercise per day doesn't counteract the fact that you've been sitting for 12 hours per day. [1]
Simultaneously, walking slowly all day does not burn many calories compared to a proper workout. But that's fine, because the goal of walking slowly all day is not to burn calories, but simply to keep you from sitting all day.
It seems to me the best approach is to simply do both.
The desk itself is electric height-adjustable which makes it easy to switch between walking/standing and sitting with the push of a button, and the monitors are mounted on arms so I can move them to the correct height when I switch positions.
It took some getting used to before I could walk for extended periods of time, but now I don't really think about it anymore, I just start walking and before I know it, an hour has gone by. That said, I have found that it's hard to really concentrate while walking. If I find myself in the middle of a particularly difficult programming problem, I'll often need to sit down before I can really think about it.
But there's a lot of time throughout the day where I'm not doing anything that's super mentally challenging, like reading HN :) or catching up on email or finishing light programming tasks, and I try to walk as much as possible during those times.
At this point I typically walk between 1-3 hours total per day, and end up alternating between walking/standing/sitting every hour or so. Sometimes after sitting for a while I find myself starting to feel sleepy, switching to walking at this point usually wakes me right back up and keeps me going. Not sure, why, probably a circulation thing.
The setup wasn't particularly cheap to put together (though you could certainly do it for a lot cheaper than I did), but after a year I've concluded the cost was totally worth it considering how many hours of my life I spend (and will continue to spend) in front of a computer.
It was an interesting experience but not one that I would repeat. It is by no means a smooth ride, and even with the bedroom I found it quite difficult to get any sleep. Between the horn constantly going off, the bumpiness of the tracks, and the hourly stops/starts, I basically ended up staying awake for 2 days straight.
While I was initially able to get some work done during the trip, after the first night I was way too sleep deprived to be able to continue programming.
But then again, I am a light sleeper, and I have trouble falling asleep on planes too.
But once everything is up and running, the maintainability is not very different compared to working with nibs.
As the app has evolved over time and grown in complexity, we felt we reached a tipping point where using IB was slowing us down more than it was helping. Same for auto-layout.
Part of this was because the app simply has a lot more functionality today than it did three years ago, which means there were a lot more nibs to manage than before. Part of it is because we started developing more custom views that did not map to any existing IB components and thus had to be done by hand anyway. Part of it is because we found we had to switch to drawing certain things programmatically for performance reasons. Either way, I'm quite glad we made the conversion.
That said, I agree that most apps should start with IB and only move onto the more complex stuff once/if the need arises. IB helps a lot out of the gate (and also makes learning the platform a lot easier since you can visually see what you're setting up). Once it gets to be a hindrance, you'll know, and you can then make the decision to switch later on. And if your app goes nowhere, then you'll have wasted less of your time.
I also strongly agree that explicit is better than implicit, and configuring a view programmatically allows you to fully specify what its behavior should be, rather than what it happens to be. When you revisit a nib several months later after originally configuring it, sometimes you forget whether the configuration option you selected in the dropdown was intentional, or was it the default, or was it merely accidentally changed at some point?
In this case I would probably do something like:
red.left = blue.right;
(Or vice-versa, depending on which edge you are positioning against).
Email: [email protected]