Apple is apparently well within their rights to refuse to accept cash, as outraged as our resident libertarians might feel. U.S. businesses don't have to accept cash if they don't want to, according to the U.S. Treasury's Web site, unless there is a state law that specifically requires them to accept cash.
Well I'll be darned, I never knew that. My American money specifically says that it is "legal tender for all debts, public and private." I always thought that meant that stores and merchants HAD to accept cash unless it was obviously counterfeit. Apparently not.
Following the U.S. Treasury link, there's an explanation along with some examples -- like how a bus can refuse to take a fare in all pennies, or a gas station can refuse to take bills larger than $20.
Well, you learn something new every day. I always wondered if those gas stations that only take small bills could legally refuse a hundred dollar bill. Turns out they can. I actually heard about a coffee shop in New York a while back that no longer accepted cash... I guess that's how they were allowed to do it.
Here are a few reasons I can think of off the top of my head:
Does anyone else have other ideas?
In DWA (aka Domino Web Access, aka iNotes) on Domino 8.0, there is now an option to have an RSS/Atom feed generated automatically for your e-mail inbox. For example:
As I indicated in the graphic, this is only an option if you add the correct parameter to your Domino server Notes.ini file. You may have to restart the server too -- I'm not sure about the restart though... it's always hard for us developer-types to understand this stuff. The available options are:
iNotes_WA_Feeds=rss iNotes_WA_Feeds=atom iNotes_WA_Feeds=atom,rss
In the Domino Admin Help, there is a page with more information on setting up DWA Inbox feeds. Interesting how they are SSL and basic authentication by default, although you can override that with the appropriate ini settings.
So it was a big (and welcome) surprise to find not one but two groups within [IBM] putting together distributions of the IBM desktop products for Ubuntu. One version has everything an IBMer needs and loads it is a single easy (walk away till it’s done) package. The other let’s you pick and choose - Lotus Notes 8, Sametime 7.5.1, the Lotus Mobile Connect client, Tivoli Storage Manager, and a whole lot more. There’s even a cool corporate theme.
Ooo, that sounds tasty. A package of IBM products specifically for Ubuntu. I know it's internal to IBM and not-for-the-public and unofficial and all that, but very interesting to hear. Maybe that'll get us one step closer to official Debian support.
There are other extentions I play around with and have loaded up on various machines, but those listed above are the ones that truly make Firefox work the way I want it to. Notable "others" include MeasureIt (for measuring things on a web page), Adblock Plus (to prevent annoying ads from popping up), and Google Notebook (for clipping and storing bits of webpages).
I also might play around with Tamper Data (recently mentioned by Bruce Schneier), which allows you to easily modify HTTP Header stuff on inbound and outbound requests. Could be very useful for debugging and testing my websites. I might already be able to do that with Firebug though.
It's not as fast as the Windows API code, but it's cross-platform and it seems to work properly with Unicode (which isn't to say that Charles' code doesn't -- I haven't checked). On my laptop, here are some of the numbers I'm getting:
Building a 100,000 character array from one or several strings:
between 0.17 and 0.31, averaging closer to 0.19 secondsReading back the 100,000 character array, one character at a time:
between 0.32 and 0.34, averaging around 0.33 seconds
See the code for details. More discussion later, if needed.
As Charles said, Game On! What other sorts of things do we need benchmarks/speed techniques for?
Yesterday he had an entry about string concatenation speed in LotusScript -- specifically concatenating using a regular +/& operator versus creating a temporary RichText item and calling appendText. I hadn't really thought of using a RichTextItem like that before.
Admittedly, I'm a bit of a performance geek at times. I got into a discussion a while back about the performance of "+" versus "&" in string concatenations, and I even wrote a LotusScript StringBuffer class a long time ago for super-fast String building. So you could say that this is a subject I've pondered once or twice.
Anyway, Tim Tripcony chimed in on the comments about using NotesStream, and I sent Tommy an e-mail about StringBuffer, and... well, the race was on! Here's some test code I wrote to compare "regular" string concatenation, Tommy's Rich Text technique, NotesStream, and StringBuffer:
I tested up to 75,000 concatenations (in increments of 5,000, with a fresh agent start each time), and here's what I came up with. Times for each process are in seconds:
Iterations | String | Rich Text | Rich Text Pct Faster |
Stream | Stream Pct Faster |
StringBuffer | StringBuffer Pct Faster |
---|---|---|---|---|---|---|---|
5000 | 0.17 | 0.23 | -27.11% | 0.05 | 230.71% | 0.02 | 761.54% |
10000 | 0.45 | 0.47 | -3.35% | 0.13 | 251.51% | 0.03 | 1352.24% |
15000 | 0.83 | 0.68 | 21.83% | 0.14 | 488.98% | 0.05 | 1530.12% |
20000 | 1.36 | 0.92 | 47.46% | 0.19 | 625.01% | 0.06 | 2075.04% |
25000 | 2.09 | 1.16 | 80.12% | 0.24 | 776.96% | 0.07 | 2872.69% |
30000 | 3.00 | 1.39 | 115.73% | 0.28 | 966.86% | 0.09 | 3240.76% |
35000 | 3.97 | 1.62 | 144.82% | 0.33 | 1109.63% | 0.11 | 3527.79% |
40000 | 5.09 | 1.85 | 174.89% | 0.37 | 1271.54% | 0.13 | 3848.64% |
45000 | 6.46 | 2.09 | 208.98% | 0.41 | 1474.11% | 0.14 | 4492.46% |
50000 | 8.00 | 2.35 | 240.19% | 0.45 | 1680.94% | 0.17 | 4553.87% |
55000 | 9.59 | 2.57 | 273.10% | 0.5 | 1817.96% | 0.17 | 5608.21% |
60000 | 11.48 | 2.82 | 307.07% | 0.57 | 1913.06% | 0.19 | 6022.93% |
65000 | 13.55 | 3.03 | 347.62% | 0.58 | 2228.32% | 0.22 | 6093.24% |
70000 | 22.24 | 3.26 | 581.80% | 0.63 | 3436.06% | 0.23 | 9547.85% |
75000 | 30.77 | 3.51 | 777.17% | 0.69 | 4350.32% | 0.25 | 12,207.80% |
Or, a bit more graphically, like this (time in seconds versus number of concatenations):
Here are my general (personal) conclusions:
Again, just my personal conclusions. Do with it what you like. If you notice anything I could have done better with the testing, or anything that I did blatantly wrong, please let me know.
Oh, and there are a couple of things about the test code that you might (or might not) find interesting:
Via at the coal face, here's a rockin' YouTube demo of the Lotus Notes 8 client (and other things) running on a Linux desktop:
That really makes me want to load up the new openSUSE with a Compiz 3-D desktop on something with a good graphics card and just play with the effects. Gotta love the jello wiggle animation when you drag the windows around.