Breaking the Zyzzyva encryption
Saturday, Jun 20, 2015
The article here sums up pretty well the debacle that North American tournament Scrabble players have been faced with since the introduction of the new Tournament Word List in April of 2015:
Major Scrabble Brouhaha: Can You Copyright a List of Words? _In the 1980s, when Brian Sheppard created a computer program that played Scrabble, he typed in a lot of words-more than…_www.slate.com
Basically, Hasbro or Merriam-Webster or both decided to take the volunteer work various Scrabble players did in putting together a new word list, slapped a copyright on it, and made it impossible for players to obtain a digital version of the word list. This rendered various study tools such as Quackle, the best Scrabble AI, close to useless. I’ve heard a few players argue: who cares if Quackle doesn’t find every last word? It will still give you pretty good plays. I’m sorry, but playing Scrabble without all the acceptable words is like playing chess without knowing how the rook moves. Not quite, but it almost feels like that. Other players argued that we kids had it easy and that back in the day people studied by poring through the physical copy of the book. This is a ridiculous argument; computer study methods such as Leitner spaced repetition or even my own site Aerolith make it much easier to search for and remember words than looking through a giant book.
LOL
Thursday, Apr 10, 2014
This is hilarious:
The CFLAGS in the commit contain: -DOPENSSL_NO_HEARTBEAT
The actual setting to disable the SSL heartbeat is -DOPENSSL_NO_HEARTBEATS (note the S at the end).
This commit was apparently OKed by two other people.
This right here tells you why code is hard. Hubris anyone? Is there a coding equivalent to Muphry’s law?
Facebook insights have different return formats.
Saturday, Jan 4, 2014
- 1388649600 = 1/2/2014 12:00:00 AM GMT-8
- 1391241600 = 2/1/2014 12:00:00 AM GMT-8
returns something that looks like this:
{
/* previous, next page, etc keys */
"data": [
{
"values": [
{
"end_time": "2014-01-03T08:00:00+0000",
"value": 4
},
{
"end_time": "2014-01-04T08:00:00+0000",
"value": 1
},
{
"end_time": "2014-01-05T08:00:00+0000",
"value": 0
}
.... /* More 0 values here until Feb 2 */
],
"period": "day",
"description": "Daily: The number of people who have seen any content associated with your Page. (Unique Users)",
"title": "Daily Total Reach"
}
]
}
Whereas
stupid Python logging woes
Wednesday, Oct 17, 2012
Recently moved a project to Django 1.3 and I kept seeing duplicate messages for all of my logger.x messages, even though my LOGGING dictionary looked like:
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'loggers': {
'base': {
'level': 'DEBUG',
},
}
}
I simplified it to this to see if there were any issues, and although I define no handlers for the ‘base’ logger, it still was printing out logging messages. I did a grep on the entire virtualenv libraries for basicConfig or BASIC_FORMAT to see if any of my external libraries were misbehaving and didn’t find anything. I went through my codebase again and got rid of some extraneous logging.debug in some files and that fixed it. So always use