Services
Find Stuff
Pages
Buy My Apps
Other Stuff I’ve Built
Book Club
Archives
- May 2018
- February 2014
- December 2013
- November 2013
- August 2012
- July 2012
- April 2012
- March 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
Categories
- Boxing (23)
- Energy (5)
- iPhone (142)
- Jack Handy (283)
- NaNoWriMo (3)
- People (11)
- Planet Microsoft (5)
- Projects (88)
- Python (43)
- Reelviews (13)
- Reverse Engineering (18)
- Six Word Stories (111)
- The Hard Way (3)
- Uncategorized (6)
- UNIX (8)
- Vacation Slides (30)
- Web stuff (51)
Blogroll
Category Archives: Python
Python Performance Tuning (con’t)
Let’s continue tuning our KenKen puzzle solver. When we left off yesterday, we’d cut execution time by 30% with a one-line change to the program, but there is still much room for improvement.
Python Performance Tuning
Having just built a solver for KenKen puzzles, this is a good opportunity to take a look at performance tuning in Python. Today we’ll look at some basic instrumentation, and begin searching for bottlenecks in the solver.
Solver for KenKen puzzles (Search)
Today we complete the first version of our solver for KenKen puzzles. Previously we’ve defined constraint classes, input/output functions, and data structures; all that remains is to write the search and propagation code. Once again, this is all based on … Continue reading
Solver for KenKen puzzles (Representation)
One of the biggest differences between KenKen puzzles and Sudoku puzzles is that the former are harder to represent compactly. Sudoku puzzles can be represented as a simple string of numbers, but the 2-dimensional cages of KenKen puzzles seem to … Continue reading
Solver for KenKen puzzles (Constraints)
Today I’m going to show the Constraint implementation for a KenKen solver I’m building. This code will cover all the rules of the KenKen game, and will shortly be used in a constraint propogation and search algorithm. It contains several … Continue reading
Solver for KenKen puzzles (Constraint design)
Following up on yesterday’s post, I’d like to get started on the construction of a solver for KenKen puzzles, using the same basic constraint-propogation-and-search approach that Norvig used in his Sudoku solver. I’m going to begin with a discussion of … Continue reading
Details Matter
I was looking at Norvig’s Sudoku solver the other day, and suddenly understood a design choice that had previously struck me as bizarre. I think it’s a neat example of how small, seemingly arbitrary things can make your programming either … Continue reading
Posted in Python
Comments Off
Python Puzzle
Pedram Amini has got a pretty neat post up on reverse engineering the protocol for a USB device. If you haven’t seen it yet (it was linked from Slashdot) it’s worth reading. However, he includes some Python code which features … Continue reading
Posted in Python, Reverse Engineering
Comments Off
Generating HTML from Python
Occasionally I will write scripts which generate HTML documents. I understand the view that HTML is “object code”, and that its formatting doesn’t matter, but I’ve never been completely able to adopt that position. As a result, I usually try … Continue reading
Posted in Planet Microsoft, Python, UNIX, Web stuff
Comments Off
Disassembler (Odds and Ends)
This week, I post some remarks following up on the just-concluded disassembler tutorial; there are always a few loose ends to tie up, and I wanted to clarify or expand on: The opcode map Addressing Demo code Hardening
Posted in Planet Microsoft, Projects, Python, Reverse Engineering
Comments Off