Book Reviews: Freebies from Jonathan Moeller 2/5-4/5

Jonathan Moeller has a few free ebooks that I read a while back, and rather than writing up separate reviews for them all, I'll just put them all in this one post. So, here goes, (in the order I read them):

Demonsouled - 3/5

This is a pretty straight-forward pulp fantasy; there's nothing wrong with it, but nothing particularly to recommend it. The "surprise" twist is not going to surprise you (the title gives you a pretty strong hint), but it's solid, straight-forward entertainment for the few hours it will take to read it. I give it a rating of Worth Reading or three out of five stars.

Strengths:

  • Plenty of action.

Weaknesses:

  • Surprise twist is given away in the title.

Child of the Ghosts - 4/5

This is a pretty dark story about death magic; and the people who fight against it.

The more interesting element of this story (and it's sequels) is that it explores characters that are normally just the supporting cast of other fantasy works, ie the titular Ghosts, who are basically the spies and assassins of the good-ish empire.

It's a good fun read, and I can't really describe why it doesn't achieve Greatness for me, but it doesn't, so it's Good or four out of five stars.

Strengths:

  • Explores a couple of character archetypes that are often simply background characters if that in other fantasy works in interesting ways.

Weaknesses:

  • Nothing worth mentioning.

The Testing - 4/5

The world this story reveals to us is quite interesting (though it has some similar themes to the Ghosts series by the same author), and is my favourite of the books of Moeller I've read so far. It's not a complete story by any stretch though; it's basically a preface to the story of the characters, but I rather liked them.

(I haven't got around to buying it's sequels, but I really should)

Strengths:

  • Interesting world building.
  • Interesting and likable characters.

Weaknesses:

  • Short; an intro to the world and characters rather than a complete story.

The Tower of Endless Worlds - 2/5

This would by my least favourite of the author's books. Normally I wouldn't review a book that I disliked this much, particularly one with so few reviews, but I've rather enjoyed some of the author's other books, so I forced myself to finish it, and frankly I didn't enjoy it. It's not terrible, but it's not very good either.

The male main character came across as a bit of a weenie, and the love interest was irritating. I found myself not particularly caring about any of the other characters either.

The guns are invincible trope annoyed me also.

Strengths:

  • Interesting and different world.

Weaknesses:

  • Unlikeable main characters (though that may just be my personal preference).
  • Guns are not invincible!
Categories: Books, Reviews
Date: 2014-06-18 23:03:53, 10 years and 159 days ago

Comments

  1. --> --> -->
     
     
    TypeError
    Python 3.10.14: /usr/local/bin/python3
    Thu Nov 21 11:21:35 2024

    A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

     /home/public/blog.timp.com.au/kukkaisvoima/index.cgi in <module>
       1503         renderFeed(entries, path, categorieslist)
       1504     else:
       1505         renderHtml(entries, path, categorieslist, archivelist, admin, page)
       1506 if __name__ == "__main__":
    => 1507     main()
    main = <function main>
     /home/public/blog.timp.com.au/kukkaisvoima/index.cgi in main()
       1503         renderFeed(entries, path, categorieslist)
       1504     else:
    => 1505         renderHtml(entries, path, categorieslist, archivelist, admin, page)
       1506 if __name__ == "__main__":
       1507     main()
    global renderHtml = <function renderHtml>, entries = [<__main__.Entry object>], path = ['book_reviews_freebies_from_jonathan_moeller:2014-06-18:Books,Reviews'], categorieslist = {'Books': {datetime.datetime(2008, 1, 12, 23, 3, 54): 'the_screwtape_letters:2008-01-12:Books,Humour,Literature,Reviews,Religion.txt', datetime.datetime(2009, 6, 13, 23, 3, 54): 'narbonic_and_asio:2009-06-13:Humour,Jurisprudence,Books,MilitaryAndNationalSecurity,Linkage.txt', datetime.datetime(2009, 7, 4, 23, 3, 54): 'meditations_on_violence:2009-07-04:Books,Reviews,Self-Defense.txt', datetime.datetime(2009, 7, 12, 23, 3, 53): 'books:2009-07-12:Books,Reviews.txt', datetime.datetime(2009, 10, 12, 23, 3, 54): 'the_meaning_of_waking_dreams:2009-10-12:Humour,Books.txt', datetime.datetime(2009, 12, 15, 23, 3, 54): 'sacrilege:2009-12-15:Books.txt', datetime.datetime(2010, 2, 1, 23, 3, 53): 'bren_free_library:2010-02-01:Books.txt', datetime.datetime(2014, 2, 24, 23, 3, 53): 'book_review_more_than_meets_the_eye_wendy_cooper:2014-02-24:Books,Reviews.txt', datetime.datetime(2014, 3, 27, 23, 3, 53): 'book_review_wes_parker_monster_hunter_cj_pike:2014-03-27:Books,Reviews.txt', datetime.datetime(2014, 4, 23, 0, 30, 17): 'book_review_iron_kingdoms_excursions_season_one_...correia_shick_tayler:2014-04-23:Books,Reviews.txt', ...}, 'Computers': {datetime.datetime(2008, 1, 30, 23, 3, 54): 'installing_kazehakase_051_on_slackware_12:2008-01-30:Howto,Linux,Computers.txt', datetime.datetime(2008, 2, 28, 23, 3, 53): 'comments:2008-02-28:Meta,Computers.txt', datetime.datetime(2008, 3, 19, 23, 3, 54): 'browser_startup:2008-03-19:Howto,Computers,Scripting.txt', datetime.datetime(2008, 4, 9, 23, 3, 53): 'css_naked_day_08:2008-04-09:Computers,Meta.txt', datetime.datetime(2008, 4, 11, 23, 3, 54): 'google_v_religion:2008-04-11:Computers,Religion.txt', datetime.datetime(2008, 8, 6, 23, 3, 54): 'random_backgrounds_script:2008-08-06:Linux,Computers,Scripting.txt', datetime.datetime(2008, 9, 14, 23, 3, 54): 'new_version_of_commentspl:2008-09-14:Computers,Meta.txt', datetime.datetime(2008, 11, 22, 23, 3, 54): 'internet_censorship:2008-11-22:Politics,Computers.txt', datetime.datetime(2009, 2, 2, 23, 3, 53): 'gmail_pop3_error:2009-02-02:Computers.txt', datetime.datetime(2009, 2, 14, 23, 3, 54): 'some_tips_on_speeding_up_slackware_122_boot:2009-02-14:Computers,Howto,Linux.txt', ...}, 'Economics': {datetime.datetime(2008, 3, 20, 23, 3, 54): 'privatise_the_elephant:2008-03-20:Economics,Environment,Oddities.txt', datetime.datetime(2008, 5, 17, 23, 3, 53): '$9_billion_hole:2008-05-17:Politics,Economics.txt', datetime.datetime(2008, 7, 23, 23, 3, 53): 'darkening_financial_times_ahead:2008-07-23:Politics,Economics.txt', datetime.datetime(2008, 11, 1, 23, 3, 55): 'obama_essential_for_the_world:2008-11-01:Economi...ilitaryAndNationalSecurity,Politics,Socialism.txt', datetime.datetime(2009, 1, 18, 23, 3, 54): 'injecting_money_into_the_economy:2009-01-18:Economics,Politics,Socialism.txt', datetime.datetime(2009, 3, 1, 23, 3, 53): 'all_economists_support_stimulus_packages:2009-03-01:Economics,Politics,Socialism,Linkage.txt', datetime.datetime(2009, 9, 30, 23, 3, 56): 'the_christian_lobby_supports_wage_caps:2009-09-3...nomics,Politics,Religion,Socialism,Philosophy.txt', datetime.datetime(2009, 10, 13, 23, 3, 53): 'fines_for_begging:2009-10-13:Economics,Jurisprudence,Politics.txt', datetime.datetime(2009, 12, 30, 23, 3, 54): 'private_property:2009-12-30:Economics,Environment,Politics,Socialism.txt', datetime.datetime(2011, 6, 2, 1, 28, 56): 'the_cost_of_smoking_to_the_tax-payer:2011-06-02:Economics,Politics.txt'}, 'Education': {datetime.datetime(2007, 9, 19, 23, 3, 53): '55499999999999998:2007-09-19:Education,Oddities.txt', datetime.datetime(2007, 11, 13, 23, 3, 54): 'last_exam:2007-11-13:Education,General.txt', datetime.datetime(2007, 12, 16, 23, 3, 54): 'im_back:2007-12-16:Education,Linkage,Meta.txt', datetime.datetime(2008, 5, 5, 23, 3, 54): 'graduation:2008-05-05:Education.txt', datetime.datetime(2009, 6, 14, 23, 3, 53): 'compulsory_student_union_membership:2009-06-14:Education,Politics,Socialism.txt'}, 'Environment': {datetime.datetime(2008, 3, 20, 23, 3, 54): 'privatise_the_elephant:2008-03-20:Economics,Environment,Oddities.txt', datetime.datetime(2008, 3, 25, 23, 3, 54): 'heh:2008-03-25:Politics,Environment,Oddities.txt', datetime.datetime(2008, 3, 28, 23, 3, 54): 'not_conservative:2008-03-28:Politics,Environment.txt', datetime.datetime(2008, 4, 16, 23, 3, 53): 'carbon_debits:2008-04-16:Humour,Environment,Oddities.txt', datetime.datetime(2008, 4, 25, 23, 3, 53): 'global_cooling:2008-04-25:Oddities,Environment.txt', datetime.datetime(2008, 6, 26, 23, 3, 53): 'fuel_prices_will_rise_under_carbon_trading_scheme:2008-06-26:Politics,Environment.txt', datetime.datetime(2008, 7, 1, 23, 3, 54): 'ice-free_north_pole:2008-07-01:Environment.txt', datetime.datetime(2008, 8, 12, 23, 3, 54): 'roos_on_the_brink_of_extinction:2008-08-12:Humour,Environment.txt', datetime.datetime(2009, 12, 30, 23, 3, 54): 'private_property:2009-12-30:Economics,Environment,Politics,Socialism.txt', datetime.datetime(2010, 1, 1, 23, 3, 53): 'criticized_for_not_killing_a_protected_animal:2010-01-01:Environment,Oddities.txt', ...}, 'Estgair': {datetime.datetime(2012, 10, 17, 23, 3, 53): 'estgair_map:2012-10-17:Estgair,Games.txt'}, 'Gadgets': {datetime.datetime(2009, 6, 29, 23, 3, 54): 'swiss_army_knives:2009-06-29:Reviews,Gadgets.txt', datetime.datetime(2010, 1, 11, 23, 3, 54): 'pilot_78g:2010-01-11:Gadgets.txt', datetime.datetime(2010, 4, 13, 23, 3, 54): 'shortwave:2010-04-13:Gadgets,Science.txt'}, 'Games': {datetime.datetime(2009, 7, 27, 23, 3, 54): 'progress_quest:2009-07-27:Computers,Games,Humour,Reviews.txt', datetime.datetime(2012, 10, 17, 23, 3, 53): 'estgair_map:2012-10-17:Estgair,Games.txt', datetime.datetime(2012, 10, 25, 23, 3, 54): 'public_domain_minis:2012-10-25:Games.txt', datetime.datetime(2013, 2, 4, 23, 3, 54): 'wil_wheaton_tabletop:2013-02-04:Linkage,Games.txt', datetime.datetime(2013, 3, 17, 23, 3, 53): 'em4_orcs_and_dwarfs:2013-03-17:Games,Reviews.txt', datetime.datetime(2013, 4, 3, 23, 3, 54): 'post_apoc_terrain:2013-04-03:Games,Terrain.txt', datetime.datetime(2013, 5, 7, 23, 3, 53): 'first_painted_mini:2013-05-07:Games.txt', datetime.datetime(2013, 8, 26, 23, 3, 53): 'em4_troopers_and_gangers:2013-08-26:Games.txt', datetime.datetime(2014, 4, 30, 23, 3, 54): 'speaking_of_the_street_cleanup:2014-04-30:Games.txt', datetime.datetime(2015, 12, 14, 1, 45, 36): 'linkage:2015-12-14:Games,Linkage,MilitaryAndNationalSecurity,SelfDefence,Politics.txt'}, 'General': {datetime.datetime(2007, 11, 13, 23, 3, 54): 'last_exam:2007-11-13:Education,General.txt', datetime.datetime(2007, 12, 18, 23, 3, 54): 'tasmania:2007-12-18:General,Politics,Oddities.txt', datetime.datetime(2007, 12, 25, 23, 3, 54): 'merry_christmas:2007-12-25:General.txt', datetime.datetime(2008, 12, 12, 23, 3, 54): 'stuff:2008-12-12:General,Linux,Linkage,Meta.txt', datetime.datetime(2009, 10, 8, 23, 3, 54): 'in_the_usa:2009-10-08:General.txt', datetime.datetime(2009, 12, 14, 23, 3, 54): 'in_australia_&_not_dead:2009-12-14:General,Meta.txt', datetime.datetime(2010, 1, 1, 23, 3, 55): 'happy_new_year:2010-01-01:General.txt', datetime.datetime(2014, 1, 23, 23, 3, 54): 'vegetable_garden:2014-01-23:General.txt', datetime.datetime(2015, 5, 7, 21, 59, 54): 'vile_faceless_minion:2015-05-07:General,Humour.txt'}, 'HarvardClassics': {datetime.datetime(2013, 12, 4, 23, 3, 54): 'harvard_classics_2:2013-12-04:Literature,HarvardClassics,Philosophy,Politics.txt', datetime.datetime(2014, 4, 3, 23, 53, 59): 'harvard_classics_3:2014-04-03:Literature,HarvardClassics,Philosophy,Politics.txt', datetime.datetime(2014, 9, 9, 23, 3, 54): 'harvard_classics_4:2014-09-09:Literature,HarvardClassics,Religion,Poetry.txt', datetime.datetime(2015, 5, 13, 4, 31, 49): 'harvard_classics_5_6:2015-05-13:Literature,HarvardClassics,Philosophy,Poetry.txt', datetime.datetime(2016, 1, 11, 0, 21, 36): 'harvard_classics_7_8:2016-01-11:Literature,HarvardClassics,Philosophy,Religion.txt'}, ...}, archivelist = {'2007-09': {datetime.datetime(2007, 9, 19, 23, 3, 53): '55499999999999998:2007-09-19:Education,Oddities.txt', datetime.datetime(2007, 9, 19, 23, 3, 54): 'pigs_is_pigs:2007-09-19:Humour.txt'}, '2007-10': {datetime.datetime(2007, 10, 10, 23, 3, 54): 'update:2007-10-10:Meta.txt', datetime.datetime(2007, 10, 10, 23, 3, 55): 'insect_picture_of_the_day:2007-10-10:Humour,Linkage.txt', datetime.datetime(2007, 10, 12, 23, 3, 53): 'dr_necessiter:2007-10-12:Politics.txt', datetime.datetime(2007, 10, 13, 23, 3, 54): 'planet_of_the_apes:2007-10-13:Politics,Movies.txt', datetime.datetime(2007, 10, 17, 23, 3, 53): 'breast_rubs:2007-10-17:Humour,Oddities.txt', datetime.datetime(2007, 10, 17, 23, 3, 54): 'death_penalty:2007-10-17:Politics,Jurisprudence.txt', datetime.datetime(2007, 10, 22, 23, 3, 53): 'darn:2007-10-22:Oddities.txt', datetime.datetime(2007, 10, 22, 23, 3, 54): 'kamikaze:2007-10-22:Politics,Movies,Race.txt'}, '2007-11': {datetime.datetime(2007, 11, 1, 23, 3, 53): 'aussie_captain_commits_suicide:2007-11-01:Politics,MilitaryAndNationalSecurity.txt', datetime.datetime(2007, 11, 1, 23, 3, 54): 'another_half-hearted_sentence:2007-11-01:Self-Defense,Jurisprudence.txt', datetime.datetime(2007, 11, 6, 23, 3, 54): 'my_sort_of_multiculturalism:2007-11-06:Humour,Politics.txt', datetime.datetime(2007, 11, 9, 23, 3, 53): 'every_man_should_have_a_rifle:2007-11-09:Poetry,Politics,Self-Defense.txt', datetime.datetime(2007, 11, 9, 23, 3, 54): 'reading_level:2007-11-09:Meta.txt', datetime.datetime(2007, 11, 13, 23, 3, 54): 'last_exam:2007-11-13:Education,General.txt', datetime.datetime(2007, 11, 17, 23, 3, 54): 'going_away:2007-11-17:Meta.txt'}, '2007-12': {datetime.datetime(2007, 12, 16, 23, 3, 54): 'im_back:2007-12-16:Education,Linkage,Meta.txt', datetime.datetime(2007, 12, 16, 23, 3, 55): 'traumatised_worms:2007-12-16:Rants,Politics.txt', datetime.datetime(2007, 12, 18, 23, 3, 54): 'tasmania:2007-12-18:General,Politics,Oddities.txt', datetime.datetime(2007, 12, 18, 23, 3, 55): 'stolen_generation:2007-12-18:Politics,Race.txt', datetime.datetime(2007, 12, 25, 23, 3, 54): 'merry_christmas:2007-12-25:General.txt', datetime.datetime(2007, 12, 31, 23, 3, 54): 'not_tested_on_animals:2007-12-31:Humour,Linkage.txt'}, '2008-01': {datetime.datetime(2008, 1, 12, 23, 3, 54): 'the_screwtape_letters:2008-01-12:Books,Humour,Literature,Reviews,Religion.txt', datetime.datetime(2008, 1, 30, 23, 3, 54): 'installing_kazehakase_051_on_slackware_12:2008-01-30:Howto,Linux,Computers.txt'}, '2008-02': {datetime.datetime(2008, 2, 4, 23, 3, 53): 'a_nation_of_cowards:2008-02-04:Linkage,Self-Defense.txt', datetime.datetime(2008, 2, 11, 23, 3, 54): 'guns:2008-02-11:Linkage,Politics,Self-Defense.txt', datetime.datetime(2008, 2, 14, 23, 3, 54): 'welfare:2008-02-14:Socialism.txt', datetime.datetime(2008, 2, 14, 23, 3, 55): 'sorry:2008-02-14:Politics,Race.txt', datetime.datetime(2008, 2, 14, 23, 3, 56): 'provocative_ts:2008-02-14:Politics,Oddities.txt', datetime.datetime(2008, 2, 25, 23, 3, 53): 'caregroups:2008-02-25:Rants,Religion.txt', datetime.datetime(2008, 2, 28, 23, 3, 53): 'comments:2008-02-28:Meta,Computers.txt', datetime.datetime(2008, 2, 29, 23, 3, 54): 'prince_harrys_in_afghanistan:2008-02-29:Heroes,MilitaryAndNationalSecurity.txt'}, '2008-03': {datetime.datetime(2008, 3, 5, 23, 3, 53): 'andrew_symonds_knocks_down_streaker:2008-03-05:Humour.txt', datetime.datetime(2008, 3, 11, 23, 3, 53): 'deadly_sins:2008-03-11:Rants,Religion.txt', datetime.datetime(2008, 3, 16, 23, 3, 53): 'brave_sir_bin_laden:2008-03-16:Humour,MilitaryAndNationalSecurity.txt', datetime.datetime(2008, 3, 19, 23, 3, 53): 'bravery:2008-03-19:Heroes.txt', datetime.datetime(2008, 3, 19, 23, 3, 54): 'browser_startup:2008-03-19:Howto,Computers,Scripting.txt', datetime.datetime(2008, 3, 19, 23, 3, 55): 'iraq_opinion:2008-03-19:MilitaryAndNationalSecurity.txt', datetime.datetime(2008, 3, 20, 23, 3, 54): 'privatise_the_elephant:2008-03-20:Economics,Environment,Oddities.txt', datetime.datetime(2008, 3, 24, 23, 3, 54): 'one_law_for_me:2008-03-24:Jurisprudence,Rants.txt', datetime.datetime(2008, 3, 25, 23, 3, 54): 'heh:2008-03-25:Politics,Environment,Oddities.txt', datetime.datetime(2008, 3, 28, 23, 3, 53): 'binge_drinking:2008-03-28:Personal-Responsibility.txt', ...}, '2008-04': {datetime.datetime(2008, 4, 2, 23, 3, 54): 'racism:2008-04-02:Politics,Race.txt', datetime.datetime(2008, 4, 6, 23, 3, 54): 'the_question_of_suffering:2008-04-06:Humour,Religion.txt', datetime.datetime(2008, 4, 7, 23, 3, 54): 'tired:2008-04-07:Politics,Rants.txt', datetime.datetime(2008, 4, 9, 23, 3, 53): 'css_naked_day_08:2008-04-09:Computers,Meta.txt', datetime.datetime(2008, 4, 10, 23, 3, 53): 'affirmative_action_in_the_victorian_police:2008-04-10:Politics.txt', datetime.datetime(2008, 4, 10, 23, 3, 54): 'insanity:2008-04-10:Politics,Oddities.txt', datetime.datetime(2008, 4, 11, 23, 3, 53): 'a_tale_of_two_companies:2008-04-11:Politics.txt', datetime.datetime(2008, 4, 11, 23, 3, 54): 'google_v_religion:2008-04-11:Computers,Religion.txt', datetime.datetime(2008, 4, 11, 23, 3, 55): 'tactical_shorts:2008-04-11:Oddities.txt', datetime.datetime(2008, 4, 16, 23, 3, 53): 'carbon_debits:2008-04-16:Humour,Environment,Oddities.txt', ...}, '2008-05': {datetime.datetime(2008, 5, 5, 23, 3, 54): 'graduation:2008-05-05:Education.txt', datetime.datetime(2008, 5, 9, 23, 3, 54): 'third_annual_movie-plot_threat_contest_semi-finalists:2008-05-09:Humour,Linkage,Oddities.txt', datetime.datetime(2008, 5, 17, 23, 3, 53): '$9_billion_hole:2008-05-17:Politics,Economics.txt', datetime.datetime(2008, 5, 19, 23, 3, 54): 'movies:2008-05-19:Movies.txt', datetime.datetime(2008, 5, 24, 23, 3, 53): 'an_age_old_question_answered:2008-05-24:Oddities.txt', datetime.datetime(2008, 5, 25, 23, 3, 54): 'the_tree_in_the_garden_of_eden:2008-05-25:Religion.txt', datetime.datetime(2008, 5, 26, 23, 3, 54): 'seasteading:2008-05-26:Politics.txt'}, '2008-06': {datetime.datetime(2008, 6, 9, 23, 3, 54): 'liberal_scrooges:2008-06-09:Politics.txt', datetime.datetime(2008, 6, 10, 23, 3, 54): 'kiwi_shop_owners_want_guns:2008-06-10:Politics,Self-Defense.txt', datetime.datetime(2008, 6, 19, 23, 3, 53): 'dagger_with_+5_cold_damage:2008-06-19:Oddities.txt', datetime.datetime(2008, 6, 20, 23, 3, 53): 'crime_and_punishment:2008-06-20:Jurisprudence.txt', datetime.datetime(2008, 6, 21, 23, 3, 54): 'the_joy_of_political_correctness:2008-06-21:Politics,Rants.txt', datetime.datetime(2008, 6, 26, 23, 3, 53): 'fuel_prices_will_rise_under_carbon_trading_scheme:2008-06-26:Politics,Environment.txt'}, ...}, admin = False, page = 0
     /home/public/blog.timp.com.au/kukkaisvoima/index.cgi in renderHtml(entries=[<__main__.Entry object>], path=['book_reviews_freebies_from_jonathan_moeller:2014-06-18:Books,Reviews'], catelist={'Books': {datetime.datetime(2008, 1, 12, 23, 3, 54): 'the_screwtape_letters:2008-01-12:Books,Humour,Literature,Reviews,Religion.txt', datetime.datetime(2009, 6, 13, 23, 3, 54): 'narbonic_and_asio:2009-06-13:Humour,Jurisprudence,Books,MilitaryAndNationalSecurity,Linkage.txt', datetime.datetime(2009, 7, 4, 23, 3, 54): 'meditations_on_violence:2009-07-04:Books,Reviews,Self-Defense.txt', datetime.datetime(2009, 7, 12, 23, 3, 53): 'books:2009-07-12:Books,Reviews.txt', datetime.datetime(2009, 10, 12, 23, 3, 54): 'the_meaning_of_waking_dreams:2009-10-12:Humour,Books.txt', datetime.datetime(2009, 12, 15, 23, 3, 54): 'sacrilege:2009-12-15:Books.txt', datetime.datetime(2010, 2, 1, 23, 3, 53): 'bren_free_library:2010-02-01:Books.txt', datetime.datetime(2014, 2, 24, 23, 3, 53): 'book_review_more_than_meets_the_eye_wendy_cooper:2014-02-24:Books,Reviews.txt', datetime.datetime(2014, 3, 27, 23, 3, 53): 'book_review_wes_parker_monster_hunter_cj_pike:2014-03-27:Books,Reviews.txt', datetime.datetime(2014, 4, 23, 0, 30, 17): 'book_review_iron_kingdoms_excursions_season_one_...correia_shick_tayler:2014-04-23:Books,Reviews.txt', ...}, 'Computers': {datetime.datetime(2008, 1, 30, 23, 3, 54): 'installing_kazehakase_051_on_slackware_12:2008-01-30:Howto,Linux,Computers.txt', datetime.datetime(2008, 2, 28, 23, 3, 53): 'comments:2008-02-28:Meta,Computers.txt', datetime.datetime(2008, 3, 19, 23, 3, 54): 'browser_startup:2008-03-19:Howto,Computers,Scripting.txt', datetime.datetime(2008, 4, 9, 23, 3, 53): 'css_naked_day_08:2008-04-09:Computers,Meta.txt', datetime.datetime(2008, 4, 11, 23, 3, 54): 'google_v_religion:2008-04-11:Computers,Religion.txt', datetime.datetime(2008, 8, 6, 23, 3, 54): 'random_backgrounds_script:2008-08-06:Linux,Computers,Scripting.txt', datetime.datetime(2008, 9, 14, 23, 3, 54): 'new_version_of_commentspl:2008-09-14:Computers,Meta.txt', datetime.datetime(2008, 11, 22, 23, 3, 54): 'internet_censorship:2008-11-22:Politics,Computers.txt', datetime.datetime(2009, 2, 2, 23, 3, 53): 'gmail_pop3_error:2009-02-02:Computers.txt', datetime.datetime(2009, 2, 14, 23, 3, 54): 'some_tips_on_speeding_up_slackware_122_boot:2009-02-14:Computers,Howto,Linux.txt', ...}, 'Economics': {datetime.datetime(2008, 3, 20, 23, 3, 54): 'privatise_the_elephant:2008-03-20:Economics,Environment,Oddities.txt', datetime.datetime(2008, 5, 17, 23, 3, 53): '$9_billion_hole:2008-05-17:Politics,Economics.txt', datetime.datetime(2008, 7, 23, 23, 3, 53): 'darkening_financial_times_ahead:2008-07-23:Politics,Economics.txt', datetime.datetime(2008, 11, 1, 23, 3, 55): 'obama_essential_for_the_world:2008-11-01:Economi...ilitaryAndNationalSecurity,Politics,Socialism.txt', datetime.datetime(2009, 1, 18, 23, 3, 54): 'injecting_money_into_the_economy:2009-01-18:Economics,Politics,Socialism.txt', datetime.datetime(2009, 3, 1, 23, 3, 53): 'all_economists_support_stimulus_packages:2009-03-01:Economics,Politics,Socialism,Linkage.txt', datetime.datetime(2009, 9, 30, 23, 3, 56): 'the_christian_lobby_supports_wage_caps:2009-09-3...nomics,Politics,Religion,Socialism,Philosophy.txt', datetime.datetime(2009, 10, 13, 23, 3, 53): 'fines_for_begging:2009-10-13:Economics,Jurisprudence,Politics.txt', datetime.datetime(2009, 12, 30, 23, 3, 54): 'private_property:2009-12-30:Economics,Environment,Politics,Socialism.txt', datetime.datetime(2011, 6, 2, 1, 28, 56): 'the_cost_of_smoking_to_the_tax-payer:2011-06-02:Economics,Politics.txt'}, 'Education': {datetime.datetime(2007, 9, 19, 23, 3, 53): '55499999999999998:2007-09-19:Education,Oddities.txt', datetime.datetime(2007, 11, 13, 23, 3, 54): 'last_exam:2007-11-13:Education,General.txt', datetime.datetime(2007, 12, 16, 23, 3, 54): 'im_back:2007-12-16:Education,Linkage,Meta.txt', datetime.datetime(2008, 5, 5, 23, 3, 54): 'graduation:2008-05-05:Education.txt', datetime.datetime(2009, 6, 14, 23, 3, 53): 'compulsory_student_union_membership:2009-06-14:Education,Politics,Socialism.txt'}, 'Environment': {datetime.datetime(2008, 3, 20, 23, 3, 54): 'privatise_the_elephant:2008-03-20:Economics,Environment,Oddities.txt', datetime.datetime(2008, 3, 25, 23, 3, 54): 'heh:2008-03-25:Politics,Environment,Oddities.txt', datetime.datetime(2008, 3, 28, 23, 3, 54): 'not_conservative:2008-03-28:Politics,Environment.txt', datetime.datetime(2008, 4, 16, 23, 3, 53): 'carbon_debits:2008-04-16:Humour,Environment,Oddities.txt', datetime.datetime(2008, 4, 25, 23, 3, 53): 'global_cooling:2008-04-25:Oddities,Environment.txt', datetime.datetime(2008, 6, 26, 23, 3, 53): 'fuel_prices_will_rise_under_carbon_trading_scheme:2008-06-26:Politics,Environment.txt', datetime.datetime(2008, 7, 1, 23, 3, 54): 'ice-free_north_pole:2008-07-01:Environment.txt', datetime.datetime(2008, 8, 12, 23, 3, 54): 'roos_on_the_brink_of_extinction:2008-08-12:Humour,Environment.txt', datetime.datetime(2009, 12, 30, 23, 3, 54): 'private_property:2009-12-30:Economics,Environment,Politics,Socialism.txt', datetime.datetime(2010, 1, 1, 23, 3, 53): 'criticized_for_not_killing_a_protected_animal:2010-01-01:Environment,Oddities.txt', ...}, 'Estgair': {datetime.datetime(2012, 10, 17, 23, 3, 53): 'estgair_map:2012-10-17:Estgair,Games.txt'}, 'Gadgets': {datetime.datetime(2009, 6, 29, 23, 3, 54): 'swiss_army_knives:2009-06-29:Reviews,Gadgets.txt', datetime.datetime(2010, 1, 11, 23, 3, 54): 'pilot_78g:2010-01-11:Gadgets.txt', datetime.datetime(2010, 4, 13, 23, 3, 54): 'shortwave:2010-04-13:Gadgets,Science.txt'}, 'Games': {datetime.datetime(2009, 7, 27, 23, 3, 54): 'progress_quest:2009-07-27:Computers,Games,Humour,Reviews.txt', datetime.datetime(2012, 10, 17, 23, 3, 53): 'estgair_map:2012-10-17:Estgair,Games.txt', datetime.datetime(2012, 10, 25, 23, 3, 54): 'public_domain_minis:2012-10-25:Games.txt', datetime.datetime(2013, 2, 4, 23, 3, 54): 'wil_wheaton_tabletop:2013-02-04:Linkage,Games.txt', datetime.datetime(2013, 3, 17, 23, 3, 53): 'em4_orcs_and_dwarfs:2013-03-17:Games,Reviews.txt', datetime.datetime(2013, 4, 3, 23, 3, 54): 'post_apoc_terrain:2013-04-03:Games,Terrain.txt', datetime.datetime(2013, 5, 7, 23, 3, 53): 'first_painted_mini:2013-05-07:Games.txt', datetime.datetime(2013, 8, 26, 23, 3, 53): 'em4_troopers_and_gangers:2013-08-26:Games.txt', datetime.datetime(2014, 4, 30, 23, 3, 54): 'speaking_of_the_street_cleanup:2014-04-30:Games.txt', datetime.datetime(2015, 12, 14, 1, 45, 36): 'linkage:2015-12-14:Games,Linkage,MilitaryAndNationalSecurity,SelfDefence,Politics.txt'}, 'General': {datetime.datetime(2007, 11, 13, 23, 3, 54): 'last_exam:2007-11-13:Education,General.txt', datetime.datetime(2007, 12, 18, 23, 3, 54): 'tasmania:2007-12-18:General,Politics,Oddities.txt', datetime.datetime(2007, 12, 25, 23, 3, 54): 'merry_christmas:2007-12-25:General.txt', datetime.datetime(2008, 12, 12, 23, 3, 54): 'stuff:2008-12-12:General,Linux,Linkage,Meta.txt', datetime.datetime(2009, 10, 8, 23, 3, 54): 'in_the_usa:2009-10-08:General.txt', datetime.datetime(2009, 12, 14, 23, 3, 54): 'in_australia_&_not_dead:2009-12-14:General,Meta.txt', datetime.datetime(2010, 1, 1, 23, 3, 55): 'happy_new_year:2010-01-01:General.txt', datetime.datetime(2014, 1, 23, 23, 3, 54): 'vegetable_garden:2014-01-23:General.txt', datetime.datetime(2015, 5, 7, 21, 59, 54): 'vile_faceless_minion:2015-05-07:General,Humour.txt'}, 'HarvardClassics': {datetime.datetime(2013, 12, 4, 23, 3, 54): 'harvard_classics_2:2013-12-04:Literature,HarvardClassics,Philosophy,Politics.txt', datetime.datetime(2014, 4, 3, 23, 53, 59): 'harvard_classics_3:2014-04-03:Literature,HarvardClassics,Philosophy,Politics.txt', datetime.datetime(2014, 9, 9, 23, 3, 54): 'harvard_classics_4:2014-09-09:Literature,HarvardClassics,Religion,Poetry.txt', datetime.datetime(2015, 5, 13, 4, 31, 49): 'harvard_classics_5_6:2015-05-13:Literature,HarvardClassics,Philosophy,Poetry.txt', datetime.datetime(2016, 1, 11, 0, 21, 36): 'harvard_classics_7_8:2016-01-11:Literature,HarvardClassics,Philosophy,Religion.txt'}, ...}, arclist={'2007-09': {datetime.datetime(2007, 9, 19, 23, 3, 53): '55499999999999998:2007-09-19:Education,Oddities.txt', datetime.datetime(2007, 9, 19, 23, 3, 54): 'pigs_is_pigs:2007-09-19:Humour.txt'}, '2007-10': {datetime.datetime(2007, 10, 10, 23, 3, 54): 'update:2007-10-10:Meta.txt', datetime.datetime(2007, 10, 10, 23, 3, 55): 'insect_picture_of_the_day:2007-10-10:Humour,Linkage.txt', datetime.datetime(2007, 10, 12, 23, 3, 53): 'dr_necessiter:2007-10-12:Politics.txt', datetime.datetime(2007, 10, 13, 23, 3, 54): 'planet_of_the_apes:2007-10-13:Politics,Movies.txt', datetime.datetime(2007, 10, 17, 23, 3, 53): 'breast_rubs:2007-10-17:Humour,Oddities.txt', datetime.datetime(2007, 10, 17, 23, 3, 54): 'death_penalty:2007-10-17:Politics,Jurisprudence.txt', datetime.datetime(2007, 10, 22, 23, 3, 53): 'darn:2007-10-22:Oddities.txt', datetime.datetime(2007, 10, 22, 23, 3, 54): 'kamikaze:2007-10-22:Politics,Movies,Race.txt'}, '2007-11': {datetime.datetime(2007, 11, 1, 23, 3, 53): 'aussie_captain_commits_suicide:2007-11-01:Politics,MilitaryAndNationalSecurity.txt', datetime.datetime(2007, 11, 1, 23, 3, 54): 'another_half-hearted_sentence:2007-11-01:Self-Defense,Jurisprudence.txt', datetime.datetime(2007, 11, 6, 23, 3, 54): 'my_sort_of_multiculturalism:2007-11-06:Humour,Politics.txt', datetime.datetime(2007, 11, 9, 23, 3, 53): 'every_man_should_have_a_rifle:2007-11-09:Poetry,Politics,Self-Defense.txt', datetime.datetime(2007, 11, 9, 23, 3, 54): 'reading_level:2007-11-09:Meta.txt', datetime.datetime(2007, 11, 13, 23, 3, 54): 'last_exam:2007-11-13:Education,General.txt', datetime.datetime(2007, 11, 17, 23, 3, 54): 'going_away:2007-11-17:Meta.txt'}, '2007-12': {datetime.datetime(2007, 12, 16, 23, 3, 54): 'im_back:2007-12-16:Education,Linkage,Meta.txt', datetime.datetime(2007, 12, 16, 23, 3, 55): 'traumatised_worms:2007-12-16:Rants,Politics.txt', datetime.datetime(2007, 12, 18, 23, 3, 54): 'tasmania:2007-12-18:General,Politics,Oddities.txt', datetime.datetime(2007, 12, 18, 23, 3, 55): 'stolen_generation:2007-12-18:Politics,Race.txt', datetime.datetime(2007, 12, 25, 23, 3, 54): 'merry_christmas:2007-12-25:General.txt', datetime.datetime(2007, 12, 31, 23, 3, 54): 'not_tested_on_animals:2007-12-31:Humour,Linkage.txt'}, '2008-01': {datetime.datetime(2008, 1, 12, 23, 3, 54): 'the_screwtape_letters:2008-01-12:Books,Humour,Literature,Reviews,Religion.txt', datetime.datetime(2008, 1, 30, 23, 3, 54): 'installing_kazehakase_051_on_slackware_12:2008-01-30:Howto,Linux,Computers.txt'}, '2008-02': {datetime.datetime(2008, 2, 4, 23, 3, 53): 'a_nation_of_cowards:2008-02-04:Linkage,Self-Defense.txt', datetime.datetime(2008, 2, 11, 23, 3, 54): 'guns:2008-02-11:Linkage,Politics,Self-Defense.txt', datetime.datetime(2008, 2, 14, 23, 3, 54): 'welfare:2008-02-14:Socialism.txt', datetime.datetime(2008, 2, 14, 23, 3, 55): 'sorry:2008-02-14:Politics,Race.txt', datetime.datetime(2008, 2, 14, 23, 3, 56): 'provocative_ts:2008-02-14:Politics,Oddities.txt', datetime.datetime(2008, 2, 25, 23, 3, 53): 'caregroups:2008-02-25:Rants,Religion.txt', datetime.datetime(2008, 2, 28, 23, 3, 53): 'comments:2008-02-28:Meta,Computers.txt', datetime.datetime(2008, 2, 29, 23, 3, 54): 'prince_harrys_in_afghanistan:2008-02-29:Heroes,MilitaryAndNationalSecurity.txt'}, '2008-03': {datetime.datetime(2008, 3, 5, 23, 3, 53): 'andrew_symonds_knocks_down_streaker:2008-03-05:Humour.txt', datetime.datetime(2008, 3, 11, 23, 3, 53): 'deadly_sins:2008-03-11:Rants,Religion.txt', datetime.datetime(2008, 3, 16, 23, 3, 53): 'brave_sir_bin_laden:2008-03-16:Humour,MilitaryAndNationalSecurity.txt', datetime.datetime(2008, 3, 19, 23, 3, 53): 'bravery:2008-03-19:Heroes.txt', datetime.datetime(2008, 3, 19, 23, 3, 54): 'browser_startup:2008-03-19:Howto,Computers,Scripting.txt', datetime.datetime(2008, 3, 19, 23, 3, 55): 'iraq_opinion:2008-03-19:MilitaryAndNationalSecurity.txt', datetime.datetime(2008, 3, 20, 23, 3, 54): 'privatise_the_elephant:2008-03-20:Economics,Environment,Oddities.txt', datetime.datetime(2008, 3, 24, 23, 3, 54): 'one_law_for_me:2008-03-24:Jurisprudence,Rants.txt', datetime.datetime(2008, 3, 25, 23, 3, 54): 'heh:2008-03-25:Politics,Environment,Oddities.txt', datetime.datetime(2008, 3, 28, 23, 3, 53): 'binge_drinking:2008-03-28:Personal-Responsibility.txt', ...}, '2008-04': {datetime.datetime(2008, 4, 2, 23, 3, 54): 'racism:2008-04-02:Politics,Race.txt', datetime.datetime(2008, 4, 6, 23, 3, 54): 'the_question_of_suffering:2008-04-06:Humour,Religion.txt', datetime.datetime(2008, 4, 7, 23, 3, 54): 'tired:2008-04-07:Politics,Rants.txt', datetime.datetime(2008, 4, 9, 23, 3, 53): 'css_naked_day_08:2008-04-09:Computers,Meta.txt', datetime.datetime(2008, 4, 10, 23, 3, 53): 'affirmative_action_in_the_victorian_police:2008-04-10:Politics.txt', datetime.datetime(2008, 4, 10, 23, 3, 54): 'insanity:2008-04-10:Politics,Oddities.txt', datetime.datetime(2008, 4, 11, 23, 3, 53): 'a_tale_of_two_companies:2008-04-11:Politics.txt', datetime.datetime(2008, 4, 11, 23, 3, 54): 'google_v_religion:2008-04-11:Computers,Religion.txt', datetime.datetime(2008, 4, 11, 23, 3, 55): 'tactical_shorts:2008-04-11:Oddities.txt', datetime.datetime(2008, 4, 16, 23, 3, 53): 'carbon_debits:2008-04-16:Humour,Environment,Oddities.txt', ...}, '2008-05': {datetime.datetime(2008, 5, 5, 23, 3, 54): 'graduation:2008-05-05:Education.txt', datetime.datetime(2008, 5, 9, 23, 3, 54): 'third_annual_movie-plot_threat_contest_semi-finalists:2008-05-09:Humour,Linkage,Oddities.txt', datetime.datetime(2008, 5, 17, 23, 3, 53): '$9_billion_hole:2008-05-17:Politics,Economics.txt', datetime.datetime(2008, 5, 19, 23, 3, 54): 'movies:2008-05-19:Movies.txt', datetime.datetime(2008, 5, 24, 23, 3, 53): 'an_age_old_question_answered:2008-05-24:Oddities.txt', datetime.datetime(2008, 5, 25, 23, 3, 54): 'the_tree_in_the_garden_of_eden:2008-05-25:Religion.txt', datetime.datetime(2008, 5, 26, 23, 3, 54): 'seasteading:2008-05-26:Politics.txt'}, '2008-06': {datetime.datetime(2008, 6, 9, 23, 3, 54): 'liberal_scrooges:2008-06-09:Politics.txt', datetime.datetime(2008, 6, 10, 23, 3, 54): 'kiwi_shop_owners_want_guns:2008-06-10:Politics,Self-Defense.txt', datetime.datetime(2008, 6, 19, 23, 3, 53): 'dagger_with_+5_cold_damage:2008-06-19:Oddities.txt', datetime.datetime(2008, 6, 20, 23, 3, 53): 'crime_and_punishment:2008-06-20:Jurisprudence.txt', datetime.datetime(2008, 6, 21, 23, 3, 54): 'the_joy_of_political_correctness:2008-06-21:Politics,Rants.txt', datetime.datetime(2008, 6, 26, 23, 3, 53): 'fuel_prices_will_rise_under_carbon_trading_scheme:2008-06-26:Politics,Environment.txt'}, ...}, admin=False, page=0)
       1180                 for comment in entry.comments:
       1181                     numofcomment = numofcomment +1
    => 1182                     renderComment(entry, comment, numofcomment, admin)
       1183                 print("</ol>")
       1184             if maxcomments == -1 or len(entry.comments) >= maxcomments:
    global renderComment = <function renderComment>, entry = <__main__.Entry object>, comment = <__main__.Comment object>, numofcomment = 1, admin = False
     /home/public/blog.timp.com.au/kukkaisvoima/index.cgi in renderComment(entry=<__main__.Entry object>, comment=<__main__.Comment object>, numofcomment=1, admin=False, pretext=False)
        816         print("<img style=\"padding-right:5px;\"")
        817         print("src=\"http://gravatar.com/avatar/%s?s=40&d=identicon\" align=\"left\"/>" % (
    =>  818             comment.getEmailMd5Sum()))
        819     print("<cite>%s</cite>:" % comment.getAuthorLink())
        820     print("<br />")
    comment = <__main__.Comment object>, comment.getEmailMd5Sum = <bound method Comment.getEmailMd5Sum of <__main__.Comment object>>
     /home/public/blog.timp.com.au/kukkaisvoima/index.cgi in getEmailMd5Sum(self=<__main__.Comment object>)
        343 
        344     def getEmailMd5Sum(self):
    =>  345         return md5fun(self.email.lower()).hexdigest()
        346 
        347     def getSubEmail(self):
    global md5fun = <built-in function openssl_md5>, self = <__main__.Comment object>, self.email = 'kathlene.swain@gmail.com', self.email.lower = <built-in method lower of str object>, ).hexdigest undefined

    TypeError: Strings must be encoded before hashing
          args = ('Strings must be encoded before hashing',)
          with_traceback = <built-in method with_traceback of TypeError object>