31 January 2008
30 January 2008
27 January 2008
- Getting mail sent to my fisher.cx address into my Gmail account.
- Getting mail sent from my Gmail account to be marked as from my fisher.cx address.
- The Gmail web interface
- Apple Mail
- My iPhone
25 January 2008
24 January 2008
- Effectively instant-on. (Unless you really do a hard shutdown.)
- No quitting applications.
- No exposing of a file system to the user. Any concept of “saving” has to do with the user-interface rather than implementation details that should be hidden from the user.
- Echewing the overlapping windows user-interface of desktop systems for more of a screen-oriented style. In fact, the iPhone may go farther in this area than Palm did. (The Palm OS had a Mac-ish menubar.)
I found some good tips on less obvious iPhone features. I thought I’d e-mail them to myself and then copy them into an iPhone Note.
As far as I can tell, there’s no way to do that. I’d already been aware of the lack of traditional cut/copy/paste, but this was the first time I really found it getting in my way.
The tips were...
- E-mail: Swipe you finger over the listing to quickly show a delete button.
- Quick punctuation: Hold the punctuation button & slide to the key.
- Settings → General → Keyboard → Enable Caps Lock. Then double-tap the shift key to lock it.
- Tap “AT&T” at the top to jump to the top of a web page.
- Use two fingers to scroll text areas, form fields, or scrollable iframes.
- Touch & hold a link to see its destination. (To cancel, drag before lifting your finger.)
- To mark an e-mail as unread, click “Details” and a “Mark as Unread” option will appear.
- The timer (Home → Clock) can put the iPhone to sleep when time is up.
- Earbud switch (in microphone) can be used to answer calls or pause/play music. Holding it for 2 seconds will dump a call to voice-mail. Double-clicking it will skip to the next song.
Hmm...and Safari (on the Mac or the iPhone) doesn’t seem to play well with Blogger.
23 January 2008
21 January 2008
18 January 2008
void *p, what are the types of the expressions
&p?”, you should know the answers. Furthermore, you should know that—in that context—
return *pis a compiler error and why. You should not be confused or scared by
char **x. You should understand why
printf("%p\n%p\n", ((char *) p) + 1, ((char **) p) + 1)prints two different numbers.
12 January 2008
- People should drink at least eight glasses of water a day
- We use only 10% of our brains
- Hair and fingernails continue to grow after death
- Shaving hair causes it to grow back faster, darker, or coarser
- Reading in dim light ruins your eyesight
- Eating turkey makes people especially drowsy
- Mobile phones create considerable electromagnetic interference in hospitals.
Functions are really first class: Although Common Lisp is a functional language it makes programming functionally much harder than Scheme. For example to call a function that was returned as a result you have to use the funcall expression. Likewise special operations are required to access the function value of a variable. This seems unnecessary to me.This is one of those things that has really bugged me whenever I’ve been tempted to use Common Lisp instead of Scheme.
Steve Jobs stated once that the “design is not just what it looks like and feels like. Design is how it works.” While this statement has proven to be crucial over thousands of years, one shouldn’t misinterpret it by emphasizing the functionality despite the design. When it comes to product design, the significance of aesthetics of a given device, the way its design looks and feels, determines the choice of the customer once the functionalities of multiple devices are more or less similar. If supported by sound user interface and a well-tested, clean implementation, innovative design solutions can drastically enhance the user experience.(I not sure if the product’s they featured were really the best examples, but I really liked that bit from the introduction.) Design isn’t just the shape of the alarm clock. It’s whether you can figure out how to set the alarm without having to read the manual and then hold one button down while pressing another button 3,600 times in a row only to go just a bit too far and then have to cycle all the way around. (I’m at a complete loss for why you can’t buy an alarm clock with a simple ten-key pad. Or, for that matter, why there aren’t standards widely implemented for syncing the clocks in all the consumer electronics in our homes.) Design without functionality is worthless. Well, maybe not “worthless”, but worth very little. A vase that’s all design and no functionality can still sell, though probably not as well as the most utilitarian vase. A computer that is all design and no functionality won’t sell. Functionality without design means you’re leaving yourself open to be killed by a competitor who simply copies your functionality and adds design. There's a point at which the feature set for a type of product stabilizes and it takes rare insight to improve it. At that point, implementing that feature set is usually pretty straightforward as well. So, design can give you a competitive advantage.
11 January 2008
A die-roll defense system can go on for a long time, indeed. In my experience combat systems that rely on opposed rolls do run the risk of becoming endless dice rolling-fests, especially with two characters of equal power.
- A draw, either by agreement or because exhaustion or some other factor ends the conflict
- One of the opponent’s just gets lucky
- One of the opponent’s finds a tactic to shift the odds in his favor