Q1 Reading Report

I must admit that I have now officially failed on my Q1 reading goal. While I certainly made great reading progress, I missed the mark (no pun intended) I set for myself. I only read  73% of the books I designated for Q1 and left 5 partially read.

Here is how I made out (strike through means completed, bold means started but not finished):

  • “Vices Are Not Crimes: A Vindication” (Audio) by Spooner (100%)
  • “The Hobbit” (Audio) by Tolkien (100%)
  • “Anabaptism: Neither Catholic Nor Protestant” by Klaassan (100%)
  • “The Origins of Totalitarianism” (Audio) by Arendt (100%)
  • “Two Tactics of Social-Democracy in the Democratic Revolution” (Audio) by Lenin (100%)
  • “The Gospel and Personal Evangelism” by Dever (100%)
  • “Carpe Diem: Put A Little Latin in Your Life” (Audio) by Harry Mount (1o0%)
  • “By Whose Authority? Elders in Baptist Life” by Dever (100%)
  • “For Whom The Bell Tolls” (Audio) by Hemmingway (100%)
  • “Calvin” by Gordon (100%)
  • “Mankind in the Making” (Audio) by Wells (100%)
  • “The Left, The Right, and The State” (Audio) by Rockwell (100%)
  • “Complete Stories” by Flannery O’Connor (100%)
  • “Blue Ice” by Ewert (100%)
  • “The Sacred Canopy: Elements of a Sociological Theory of Religion” by Berger (13%)
  • “Codename Tricycle” by Miller (22%)
  • “Notes of a Native Son” by Baldwin (6%)
  • “The Libertarian Idea” by Narveson (p.18/336 – 5%)
  • “Dark Star” by Greenfield (p.64/353 – 18%)

I think I’ve learned a number of things. Here are the main reasons why I missed my target:

1. Life gets busy, and reading must often be put aside.

2. I read too many books at a time, making my reading often distracted and jumpy, leading to less progress.

3. I  went through too many books that weren’t on my list in January/February (ie. got sidetracked). If I wanted to read books not on my list, I should have left some slack for that in deciding the number of books to pick for my Q1 goal.

By the way, here are the books that side-tracked me to some degree (books I completed in Q1 that were not in my Q1 goals and were a major reason why I didn’t meet my target):

  • What’s Wrong With The World (Audio) by G.K. Chesteron (148 pages)
  • Their Mutual Child (Audio) by P.G. Wodehouse (198 pages)
  • The Sabbath in Puritan New England by Alice Morse Earle (354 pages)  (this one actually counts for Q2, so I start Q2 with 1/19 completed)
  • Essex County sketches by Essex County Ontario Tourist Association (50 pages)
  • The Art of Fiction (Audio) by Ayn Rand (192 pages)
  • The three Rs of Essex: Riches, rags, recovery by Evelyn Couch Walker (144 pages)
  • The Importance of Christian Scholarship (Audio) by J. Gresham Machen (43 pages)
  • History of the Christian Church During The First Six Centuries (Audio) by Samuel Cheetham (472 pages)
  • A History of the Middle East (Audio) by Peter Mansfield (448 pages)
  • Birding at Point Pelee by Henrietta O’Neil (224 pages)
  • The Puritan Hope: Revival and the Interpretation of Prophesy by Iain Murray (326 pages)

So I guess, I console myself with the fact that, while I didn’t complete 5 of the books on my Q1 list, I finished 11 others! So either I’ve made tremendous progress in completing my books, or I’m just very undisciplined and unfocused in my reading. Something I’ll work on in subsequent quarters!

So, now on to Q2… It will be a tough quarter, given the books I have to read!

Note for Keith: Due to gathering this information, I realized I’ve been miscounting my total books read for the year. By adding the books I’ve completed from my Q1 goals to the books that I completed but are not on my Q1 list, I’ve determined that I’m actually at 25. Sorry!

Listen to this Post

Booklog (March 30, 2011 – March 31, 2011)

Completed this period:

  • Blue Ice by Frank Ewert (82 pages): A really warm and compelling collection of six short hockey stories, 82 pages in total. Highly recommended as a good read and of interest to hockey fans.

This places the running total for books completed in 2011 at 22.

Listen to this Post

Hockey Literature

“In Canada we have this thing called ‘hockey literature.’ It might be hard to imagine, but it’s true.”

— Frank Ewert in “A Note to the Reader” in Blue Ice: And Other Stories from the Rink

Listen to this Post

Booklog (March 11, 2011 – March 30, 2011)

Completed this period:

  • The Left, The Right, and The State [Audio Book] by Lew Rockwell (553 pages): Wouldn’t agree with every single point or emphasis, but this was a really good, informative read.
  • “Complete Stories” by Flannery O’Connor (550 pages): Took a while to warm up to these dark, abrupt tales but towards the end I was really enjoying Flannery’s art.

    This places the running total for books completed in 2011 at 21.

    I’m now finished 68% of the books which make up my Q1 (Jan-Mar) goal–and Q1 is 98% done. Here is how my Q1 list is going (strikethrough means complete, bolded means in progress):

    • “Vices Are Not Crimes: A Vindication” (Audio) by Spooner (100%)
    • “The Hobbit” (Audio) by Tolkien (100%)
    • “Anabaptism: Neither Catholic Nor Protestant” by Klaassan (100%)
    • “The Origins of Totalitarianism” (Audio) by Arendt (100%)
    • “Two Tactics of Social-Democracy in the Democratic Revolution” (Audio) by Lenin (100%)
    • “The Gospel and Personal Evangelism” by Dever (100%)
    • “Carpe Diem: Put A Little Latin in Your Life” (Audio) by Harry Mount (1o0%)
    • “By Whose Authority? Elders in Baptist Life” by Dever (100%)
    • “For Whom The Bell Tolls” (Audio) by Hemmingway (100%)
    • “Calvin” by Gordon (100%)
    • “Mankind in the Making” (Audio) by Wells (100%)
    • “The Left, The Right, and The State” (Audio) by Rockwell (100%)
    • “Complete Stories” by Flannery O’Connor (100%)
    • “The Sacred Canopy: Elements of a Sociological Theory of Religion” by Berger (13%)
    • “Codename Tricycle” by Miller (22%)
    • “Notes of a Native Son” by Baldwin (6%)
    • “The Libertarian Idea” by Narveson (p.18/336 – 5%)
    • “Dark Star” by Greenfield (p.64/353 – 18%)
    • “Blue Ice” by Ewert

    As you will see, there is no way I’ll meet my Q1 goal. Shamefully, there are 6 books remaining! And tomorrow is the last day in the quarter. I might finish off one of those by tomorrow.But I don’t know if I’ll even be able to do that! Oh well, you win some and lose some! However, these means that these unfinished books move to my Q2 goals and so Q2 will be particularly hard.

    Listen to this Post

    Sometimes “Gouging” Equals Economic Freedom

    “Bush was on national television declaring that the feds would have zero tolerance towards gouging, which is another way of saying zero tolerance toward markets.”

    — Lew Rockwell in The Left, the Right, and the State

    Listen to this Post

    Django Models and Inheritance

    One of the first stumbling blocks that I came across as I’ve been learning Django (a Python web framework) was when I tried to do some inheritance with my models in app/models.py.  It had to do with abstract super classes.

    Intuitively, I assumed that Django would take super classes and figure out how they worked and ignore the abstract super (or base) classes persay and  generate the SQL for their sub (or derived) classes by properly negotiating the inheritance.

    So I went ahead and did something like this:

    class super_class(models.Model):

    >>> field1 = models.BooleanField()

    class sub_class(super_class)

    >>>  field2 = models.BooleanField()

    I was wrong. It generated the SQL tables for all of the classes, including the abstract super classes, which technically could be made to work, but is certainly not what I wanted.  While it isn’t very apparent in an example with just two models, it introduces too much complexity in the database design since it makes a table relationship for every inheritance.  We want tables for concrete super classes but not abstract ones.

    So, on to my next intuition. I assumed that if I made my super class not inherit models.Model and made the sub class use multiple inheritance and inherit models.Model and the sub class, this would all work.  Seemed to make sense to me at least.  So, I did something like this:

    class super_class():

    >>> field1 = models.BooleanField()

    class sub_class(model.Models, super_class)

    >>>  field2 = models.BooleanField()

    Again, I was wrong. While last time the result was convoluted and inefficient, this time the result was worse and clearly crippled. While the correct tables were displayed (ie. the super classes didn’t appear as a table), the fields from the Super Class (represented in my snippet represented by “field1″) were missing. I assumed that, perhaps, the model for the sub class would get “field 1″ even though the super class was not inheriting model.Models.  I was wrong and stuck.

    With some assistance from Michal Petrucha over at django-users, I was able to learn that I was indeed missing something.

    In order to make what I was doing, I had to set a property within a Meta class embedded in my super class. Like so:

    class super_class(models.Model):

    >>> field1 = models.BooleanField()

    >>> class Meta:

    >>> >>> abstract = True

    class SubClass(SuperClass)

    >>>  field2 = models.BooleanField()

    With this little modification, everything works as expected. I have my abstract super classes and sub classes, and the relationship between them works as I would expect. Abstract super classes  propagate their properties to the SQL tables of their sub classes, but don’t actually show up as a table of their own.

    Thank you Django-Users and especially Michal in helping me to further my Django understanding!

    Listen to this Post

    Ancient Code on GitHub

    I rarely speak about technical/programming things on this blog, but you may see that changing a bit.  Sometimes I find I don’t need a blog as an outlook to talk about technical things, as has been the case for years, and so then I blog on other things. And at other times, it is sort of nice to talk about my technical interests!

    I’ve joined GitHub and just making some really quick perusals of it. It’s a really neat community. The easiest way to describe it is by the motto “social coding”.

    So far my contributions have been limited to Gists, so no repository hacking yet (although technically a gist has its own little repository). What I’ve posted are basically old Python code snippets that I found laying around on my usb hd from back in the day. That’s “old” with a capital O.  Nothing close to profound, elegant, or significant.   If there was such a category, it would probably be filed as Ancient Throw-Away Code Snippets That Nobody Will Care About.

    Here they are:

    gist: 866208 A Demonstration of how to use a wxPython “Notebook” with panels (WARNING: old code)

    gist: 862171 An incomplete experiment with building calendar functionality with the Python icalendar module

    gist: 862159 Old code generating txt list of contents of a collection of zip files — shows zipfile module

    gist: 861061 Some throwaway code I used to demonstrate the IDEA cipher with the PyCrypto library

    gist: 861057 Some throwaway code I used to demonstrate the RC5 cipher with the PyCrypto library

    gist: 861053 Some throwaway code I used to demonstrate the DES3 cipher with the PyCrypto library

    gist: 861040 Some throwaway code I used to demonstrate the DES cipher with the PyCrypto library

    gist: 861037 Some throwaway code I used to demonstrate the blowfish cipher with the PyCrypto library

    gist: 861036 Some throwaway code I used to demonstrate generating hashes with the PyCrypto library

    gist: 861011 Python Anagram Fetcher (WARNING: obsolete code)

    gist: 860797 SermonAudioParser – A throwaway demo of using UniversalFeedParser to do some basic searches on the SermonAudio.com feed

    gist: 866207 A sample Python StringValidator class (warning: OLD CODE)

    Listen to this Post

    Booklog (March 8, 2011 – March 11, 2011)

    • Mankind in the Making by H.G. Wells (244 pages): Provided me with a hearty combination of  “snores” and “sighs”. In other words, this is socialism at its most boring moments.

    This places the running total for books completed in 2011 at 19.

    I’m now finished 57% of the books which make up my Q1 (Jan-Mar) goal–and Q1 is 77% done. Here is how my Q1 list is going (strikethrough means complete, bolded means in progress):

    • “Vices Are Not Crimes: A Vindication” by Spooner (100%)
    • “The Hobbit” by Tolkien (100%)
    • “Anabaptism: Neither Catholic Nor Protestant” by Klaassan (100%)
    • “The Origins of Totalitarianism” by Arendt (100%)
    • “Two Tactics of Social-Democracy in the Democratic Revolution” by Lenin (100%)
    • “The Gospel and Personal Evangelism” by Dever (100%)
    • “Carpe Diem: Put A Little Latin in Your Life” by Harry Mount (1o0%)
    • “By Whose Authority? Elders in Baptist Life” by Dever (100%)
    • “For Whom The Bell Tolls” by Hemmingway (100%)
    • “Calvin” by Gordon (100%)
    • “Mankind in the Making” by Wells (100%)
    • “Complete Stories” by Flannery O’Connor (60%)
    • “The Sacred Canopy: Elements of a Sociological Theory of Religion” by Berger (13%)
    • “Codename Tricycle” by Miller (22%)
    • “Notes of a Native Son” by Baldwin (6%)
    • “The Libertarian Idea” by Narveson (5%)
    • “Dark Star” by Greenfield (13%)
    • “Left, The Right, and The State” by Rockwell (2%)
    • “Blue Ice” by Ewert

    Shamefully, it’s looking as though I’m not going to be able to meet my Q1 reading goal! At this point I’m just aiming to get to the point where I only have 2 or 3 books left at the end of the quarter. But I don’t know if I’ll even be able to do that!

    Listen to this Post

    Follow

    Get every new post on this blog delivered to your Inbox.

    Join other followers: