As a software engineer sitting in front of computer continously for more than 3 hours is quite common for me. Usually it's until when I decide to stand up that I realize the problem: my legs are numb, moving around become very difficult. So when I saw workrave, I thought that's just what I need. Imedialtely I installed it. Seeing it runs in the system tray makes me feel much securer. I know every 10 minutes it reminds me to take a break. As a result I'll leave computer, walk around to relax my body. That's just how my problem will get solved, isn't it?
But things never happened as I'd wished. Each time the popup shows me that a break is needed, I choose to postpone -- I can't think of even one time when I choose "OK, I'll rest". When the times of postpone is so many that the program stop asking me and blocks my input directly, I kill it with Task Manager directly.
What's worse my boss doesn't seem like the program either.
I Googled and found many people are doing exactly as I do. Then it shoudn't be my fault, there must be some design defect of the software. Actually there're two of unreasonable design in the software.
1. The break notification is too intrusive. When people are busy working on something they hate being interrupted. No matter it's a kind rest reminder or a annoying salseman.
We humans are strange, we hope we get reminds when we're planning to do things bad. But when it really happens we hate those who reminds us cause they are AGAINT us. We hate to be againt, no matter in which way. The problem of workrave is that when it noticed the user has been working for too many hours it act against the user to FORCE him to stop and then get killed easily by Task Manager.
But should we blame the user on this? Let's be clear that it's the user who installed workrave, he liked workrave. But when he's busy and workrave is againt him he killed it. I guess 60+% of workrave users do this so if we complain them we complain the human nature and let's not do it.
Then the suggestion for workrave is to notify the user in a more gentle way. No, never force the user to stop, instead, display a non-intrusive message box showing how many hours he has worked. Put the message in a place where the user can see but never affect his work --- maybe a 50% transparent window. Don't block input... just show the increasing level of injury to his body when the user keeps working in despite of the reminder. He'll stop cause he realizes the injury brought by continous work.
2. Make the UI unobtrusive
Cause otherwise my BOSS see it. I'm not very sure he likes it.
Java doesn't have reference, as a result its map implementations pretty ugly, and low efficient:
Map<String, Integer> m = new TreeMap<String, Integer>();
m.put("John", m.get("John") + 1); // i hate this
Reasons why I hate this:
1. Too long, too complicated for a so simple operation
2. Object boxing and unboxing
3. The binary tree is searched twice, one for set and one for get
map<string, int> m;
m["John"]++; // cool
How to do the similar in Java:
.... First listen to me, eclipse is really a good IDE with many cool features. Amoung all these cool features I like CTRL+T most. I always discover something new when I press CTRL+T when some interface or abstract class is selected. And the class MutableInt was found when I pressed CTRL+T on Number.
So how do we do the similar thing in Java with MutableInt.
Map<String, MutableInt> m = new TreeMap<String, MutableInt>();
I've experienced several depressed days because two or three days ago I lost a bag, in which there was my diploma and other important certificates. It'll cost a huge much time and energy to make all these up.
I ask Google for help on everything but this time seems Google doesn't help. However because of it's huge power there are two helpful things that Google might do. They are:
1. Google Lost And Found
Google has Google Map, whenever something lost was found, it can be reported on Google Lost And Found, with location. People who loose something can search in the area and if be him luck enough, find his lost back.
This is not true.
2. Google Stuff Tracker
It's said that Google has launched a satellite. Then I think Google can produce some signal generating devices. People who want to track his stuffs can buy the devices, put them on his important stuffs. When something is lost, he can go to stuffs.google.com to see a full path that the stuff has traveled. Find it back wont be a big issue.
Dear Google, could you please do it ASAP? Even be it a paid service still there'll be many people benefiting from that.
我的心咯噔一下。先翻箱倒柜的找——没有，绞尽 脑汁的回忆搬家的各个细节——没印象，于是追溯到去年从上海搬到北京的那次，细细一想，自那后真是没有用过学位证/毕业证/户口本中的任意一件。最后打电 话给冉登元，让他帮忙问问我屋现任房客有没有看到什么落下来的东西。
好吧，剩下的时间只好等了。当我打定主意开始“等”的 时候，心里忽然有种压抑的落寞。我讨厌麻烦，我不想丢什么东西。但丢东西总是偶尔发生，丢饭卡，丢钥匙，丢钱包，丢手机.... 每次丢了东西总是希望自己得某种强迫症以便不会再丢。但事实是人永远会丢点什么，现在会丢，以后必然也会丢。现在会丢100块钱，以后也有可能丢 10000块。丢东西时那种“我以后一定要小心点”的誓言，很快会烟消云散。如果很不幸的没有烟消云散而是刻骨铭心，自然是因为丢的东西太贵重而得了强迫 症，那将是一个比“丢”本身大得多的悲剧。
在这种无聊的 游戏中，会获得索然寡味的成功，也会忍受已经流不出鲜红血液的伤口。于是我自作聪明的总结着经验教训。可惜，快节奏的现代生活让这些烂没用的真理积累的太 快，以至于我一条都没记住。