Wednesday, September 27, 2006

Spider-blog, spider-blog

The one on the left is actually a new one, but I think thie same species as the other brown one from previous days. The yellow and black garden spider below is still the same one, still in the same spot. I finally figured out how to get a decent shot of it that isn't so blurry. In case you are wondering, I'm using an Olympus Stylus 410 camera. with a Mag-Lite as the light source (one of the 3-D cell one). Yeah, flashlight.

You should see the ones I threw away. I kept this really blurry one because it's actually a little creepier.

More spider porn!

Tuesday, September 19, 2006

ShopperSavingCenter = cockgobblers

Just for fun, I clicked on one of those ads that say "You've won a free 42" plasma TV", just so I could see what happens. Of course, there are "Terms and Conditions":
4. Eligibility for Receiving a Free Item for Referral-based websites

(a) For this particular website, users must do the following to be eligible to get approval to receive their free product:

i. You must successfully complete the following sponsored offers: two (2) offers from Silver Offers, two (2) offers from Gold Offers, and eight (8) offers on Platinum Offers.

ii. Refer at least two (2) unique person (s) who join(s) and also correctly complete(s) the same offer requirements listed above.

(b) After a user signs up with our website and successfully completes an offer, they must get two (2) person(s) to also sign up with our website and successfully complete the same offer requirements to get their free item. In order to connect these referrals to the original user, we issue this user a unique link to our offer site, which they must then distribute to the intended parties. Thus, the user is entirely responsible for all communications regarding our offer sites. At no point during the offer process does ShoppersSavingCenter.com send out any communications on the user's behalf to encourage such signups to occur.

(c) A user may complete more than required offers and may refer more than two (2) referrals, but cannot earn more than 1 free product with their account. Any additional referrals or offer completions will not result in any additional free items.

(d) Referrals completing multiple offers will only count once towards referral accruement for the referrer.

(e) We will only give out credit for referrals who join by clicking on your referral link code. Anyone who does not click this URL or type it into their web browser exactly cannot be tracked, and thus, cannot be connected to your account. Note that some applications can remove the tracking part of this URL. Users assume the risk of not getting credit for some referrals when using our site(s).

(f) Users may only receive 1 free item per account.

(g) A user must have a valid email address and a valid shipping address in the United States. The user should also note that some products cannot be shipped to PO Boxes. We only allow one account per shipping address.

(h) Users must be residents of the United States, and there can only be one account per shipping address.

(i) This offer expires 60 days from the date you register on the site. If at the end of the 60 day period, you have successfully completed the required number sponsored offers but have not referred two (2) unique households who have successfully completed the required number sponsored offers, you will not be eligible to receive the free promotional item; but as a consolation for participating, you will automatically receive a complementary $50 gift card.

In other words, you've got to buy 12 other things (exactly what is not known until you sign up), get two other suckers to sign up, and your suckers have to each buy the 12 mystery crap items, all within 60 days. Your basic pyramid scheme.

Suck it.

Wednesday, September 13, 2006

Logical exclusive-or in Python

Python has and, or, and not logical operators, and it has & (and), | (or), ~ (not), and ^ (xor) bitwise operators, but no logical xor. However, since you can pass any object to bool() and get back a boolean (True, False), and booleans are automatically convertable to integers (1, 0), the bitwise operators work on booleans as well:
>>> True ^ True
False
>>> True ^ False
True
>>> False ^ False
False
>>>

However, if testing things that are not actually booleans or integers, you need to wrap them in bool() first:

>>> "foo" ^ None
Traceback (most recent call last):
File "", line 1, in ?
TypeError: unsupported operand type(s) for ^: 'str' and 'NoneType'
>>> bool("foo") ^ bool(None)
True

Updated 2006-09-14. I realized you could also use is not with booleans to get an xor operator:

>>> True is not True
False
>>> True is not False
True
>>> False is not False
False

This seems more Pythonic. As with ^, non-booleans must be wrapped with bool():

>>> bool("foo") is not bool(None)
True
>>> bool("foo") is not bool("bar")
False

Wednesday, September 06, 2006

del.icio.us links for 2006-09-06

Tuesday, September 05, 2006

del.icio.us links for 2006-09-05

Monday, September 04, 2006

del.icio.us links for 2006-09-04

  • Australia's "Crocodile Hunter" Irwin dies: Queensland state government sources quoted by Australian Associated Press (AAP) said Steve Irwin, 44, whose television show "The Crocodile Hunter" won international acclaim and popularized the phrase "Crikey," was believed to have been killed by a stingra ( )

Sunday, September 03, 2006

del.icio.us links for 2006-09-03