_index.xml

Mon Dec 13 12:59:39 EST 2010: Norrin Beat Morgoth 

I finally beat Angband yesterday. I've started the game like 16,000,000 times and I always save cheat. I think I played my first moria/umoria varient circa 1989 and before that I played quite a lot of nethack. But I never actually finished a game until yesterday. There's not a lot more to say on the subject. Except... here's my dude:

[Angband 3.1.1 dev Character Dump]

 Name   norrin                                   Self  RB  CB  EB   Best
 Sex    Male         Age             41   STR! 18/100  +2  +3  +8 18/***
 Race   Dwarf        Height          54   INT! 18/100  -3  -3  +6 18/100
 Class  Paladin      Weight         150   WIS! 18/100  +2  +1  +5 18/180
 Title  ***WINNER*** Social      Lordly   DEX! 18/100  -2  +0 +18 18/***
 HP     1114/1114    Maximize         Y   CON! 18/100  +2  +2  +6 18/200
 SP     401/401                           CHR! 18/100  -3  +2  +7 18/160


 Level               50   Armor   [20,+138]     Saving Throw        100%
 Cur Exp       18791669   Fight   (+54,+45)     Stealth              Bad
 Max Exp       18791669   Melee   (+59,+63)     Fighting       Legendary
 Adv Exp       ********   Shoot   (+66,+15)     Shooting          Heroic
 MaxDepth  5900' (L118)   Blows      5/turn     Disarming            72%
 Turns          4190602   Shots      2/turn     Magic Device      Heroic
 Gold          15806520   Infra       50 ft     Perception       1 in 23
 Burden       155.2 lbs   Speed          22     Searching            34%

 You are the only child of a Dwarven Priest.  You are a credit to the
 family.  You have dark brown eyes, straight black hair, a two foot
 beard, and a dark complexion.


rAcid:......++..+.. rConf:...........+.
rElec:++.....+..... Sound:........++...
rFire:++..+..+..... Shard:......+..+...
rCold:.+*....+.+... Nexus:.............
rPois:....+..+..... Nethr:...........+.
rFear:+...+........ Chaos:...........+.
rLite:.........+... Disen:........+....
rDark:+........+... S.Dig:.+...........
rBlnd:..+......+..+ Feath:..+..........

PLite:.........+... Aggrv:.............
Regen:..+.......... Stea.:.............
  ESP:..+.......... Sear.:.........+...
Invis:..+......+... Infra:............+
FrAct:..+......+++. Tunn.:.............
HLife:..+.....+.... Speed:.++++.+..+...
ImpHP:............. Blows:.............
ImpSP:............. Shots:.+...........
 Fear:............. Might:.+...........


  [Last Messages]

> The Blink dog wakes up.
> You hear a door burst open!
> The Blink dog wakes up.
> The King cobra wakes up.
> The Patriarch wakes up.
> You sense the presence of traps!
> You sense the presence of doors and stairs!
> You sense the presence of buried treasure!
> You sense the presence of objects!
> You sense no invisible creatures.
> You sense the presence of monsters!
> The Vampire wakes up.
> The air about you becomes charged...
> The Patriarch magically summons an undead adversary!
> You feel yourself yanked upwards!

Killed by Ripe Old Age.

  [Character Equipment]

a) The Two-Handed Great Flail 'Thunderfist' (4d6) (+5,+18) (+4)
     +4 strength, constitution.
     Slays animals, orcs, trolls.
     Branded with lightning, flames.
     Provides resistance to lightning, fire, fear, dark.
     Cannot be harmed by acid, electricity, fire, cold.
     
     Combat info:
     5 blows/round.
     Average damage/hit: 100.6 vs. animals, 117.4 vs. orcs, 117.4 vs.
     trolls, 117.4 vs. creatures not resistant to electricity, 117.4
     vs. creatures not resistant to fire, and 83.8 vs. others.
     
b) The Short Bow of Amras (x2) (+12,+15) (+1 speed)
     +1 intelligence, wisdom, dexterity, speed, shooting speed, 
     shooting power.
     Provides resistance to lightning, fire, cold.
     Cannot be harmed by acid, electricity, fire, cold.
     Slows your metabolism.  
     
c) The Ring of Power 'Nenya' (+8,+8) (+2) {@w2!k!s}
     +2 strength, intelligence, wisdom, dexterity, constitution, 
     charisma, speed.
     Provides immunity to cold.
     Provides resistance to cold, blindness.
     Cannot be harmed by acid, electricity, fire, cold.
     Sustains intelligence, wisdom, constitution.
     Feather Falling.  Speeds regeneration.  Prevents paralysis.  Stops
     experience drain.  Grants telepathy.  Grants the ability to see
     invisible things.  
     
d) a Moonstone Ring of Speed (+11) {@w3!k!s}
     +11 speed.
     
e) The Elfstone 'Elessar' (+7,+7) [+10] (+2)
     +2 strength, wisdom, charisma, speed.
     Provides resistance to fire, poison, fear.
     Cannot be harmed by acid, electricity, fire, cold.
     
f) The Phial of Galadriel
     Cannot be harmed by acid, electricity, fire, cold.
     
     Radius 3 light.
g) The Leather Scale Mail 'Thalkettoth' (-1) [10,+25] (+3)
     +3 dexterity, speed.
     Provides resistance to acid, shards.
     Cannot be harmed by acid, electricity, fire, cold.
     
h) The Cloak 'Colluin' [1,+15]
     Provides resistance to acid, lightning, fire, cold, poison.
     Cannot be harmed by acid, electricity, fire, cold.
     
i) a Wicker Shield of Preservation [2,+20] {!k}
     Provides resistance to sound, disenchantment.
     Cannot be harmed by acid, electricity, fire, cold.
     Sustains strength, dexterity, constitution.
     Stops experience drain.  
     
j) The Jewel Encrusted Crown of Numenor [0,+18] (+3)
     +3 intelligence, dexterity, charisma, speed.
     +15% to searching.
     Provides resistance to cold, light, dark, blindness, sound, shards.
     Cannot be harmed by acid, electricity, fire, cold.
     Prevents paralysis.  Grants the ability to see invisible things.  
     
     Radius 1 light.
k) The Set of Caestus of Fingolfin (+10,+10) [5,+20] (+4)
     +4 dexterity.
     Provides resistance to acid.
     Cannot be harmed by acid, electricity, fire, cold.
     Prevents paralysis.  
     
l) The Pair of Leather Boots 'Dal-i-thalion' [2,+15] (+5)
     +5 dexterity.
     Provides resistance to confusion, nether, chaos.
     Cannot be harmed by acid, electricity, fire, cold.
     Sustains constitution.
     Prevents paralysis.  
     


  [Character Inventory]

a) 6 Holy Books of Prayers [Beginners Handbook]
b) 6 Holy Books of Prayers [Words of Wisdom]
c) 6 Holy Books of Prayers [Chants and Blessings]
d) a Holy Book of Prayers [Exorcism and Dispelling]
e) a Holy Book of Prayers [Ethereal Openings]
     Cannot be harmed by acid, electricity, fire, cold.
     
f) a Holy Book of Prayers [Godly Insights]
     Cannot be harmed by acid, electricity, fire, cold.
     
g) a Holy Book of Prayers [Purifications and Healing]
     Cannot be harmed by acid, electricity, fire, cold.
     
h) a Holy Book of Prayers [Holy Infusions]
     Cannot be harmed by acid, electricity, fire, cold.
     
i) a Holy Book of Prayers [Wrath of God]
     Cannot be harmed by acid, electricity, fire, cold.
     
j) 11 Potions of Restore Mana
     When drunk, it restores your mana points to maximum.
     
k) 3 Rods of Fire Balls
     When aimed, it creates a fire ball with damage 144.
     Takes 96 turns to recharge at your current speed.
     
l) 2 Rods of Cold Balls
     When aimed, it creates a frost ball with damage 100.
     Takes 80 turns to recharge at your current speed.
     
m) a Rod of Acid Balls
     When aimed, it creates an acid ball with damage 125.
     Takes 86 turns to recharge at your current speed.
     
n) a Rod of Restoration
     Cannot be harmed by electricity.
     
     When activated, it restores all your stats and your experience poi
     nts.
     Takes 3200 turns to recharge at your current speed.
     
o) a Cypress Staff of Banishment (0 charges) {@u1!k!s}
     When activated, it removes all non-unique monsters represented by 
     a chosen symbol from the level, dealing you damage in the process.
     
p) a Mahogany Staff of the Magi (0 charges)
     When activated, it restores both intelligence and manapoints to ma
     ximum.
     
q) The Ring of Tulkas (+4) {@w3!k!s}
     +4 strength, dexterity, constitution.
     Provides resistance to fear.
     Cannot be harmed by acid, electricity, fire, cold.
     
r) The Ring of Power 'Narya' (+6,+6) (+1) {@w2!k!s}
     +1 strength, intelligence, wisdom, dexterity, constitution, 
     charisma, speed.
     Provides immunity to fire.
     Provides resistance to fire, fear.
     Cannot be harmed by acid, electricity, fire, cold.
     Sustains strength, constitution.
     Slows your metabolism.  Speeds regeneration.  Prevents paralysis.  
     Grants telepathy.  Grants the ability to see invisible things.  
     
s) 16 Mithril Arrows of Flame (3d4) (+11,+12) {@f1}
     Branded with flames.
     Cannot be harmed by acid, fire.
     
     Combat info:
     Hits targets up to 120 feet away.
     Average damage/hit: 332.2 vs. creatures not resistant to fire, and 
     110.7 vs. others.
     35% chance of breaking upon contact.
     


  [Home Inventory]

a) 40 Holy Books of Prayers [Beginners Handbook]
b) 16 Holy Books of Prayers [Words of Wisdom]
c) 8 Holy Books of Prayers [Chants and Blessings]
d) 3 Scrolls of Banishment
     When read, it removes all non-unique monsters represented by a cho
     sen symbol from the level, dealing you damage in the process.
     
e) 3 Rings of Strength (+6)
     +6 strength.
     Sustains strength.
     
f) a Ring of Constitution (+5)
     +5 constitution.
     Sustains constitution.
     
g) The Ring of Barahir (+1)
     +1 strength, intelligence, wisdom, dexterity, constitution, 
     charisma, stealth.
     Provides resistance to poison, dark.
     Cannot be harmed by acid, electricity, fire, cold.
     
h) 2 Amulets of Wisdom (+6)
     +6 wisdom.
     Sustains wisdom.
     
i) an Amulet of Weaponmastery (+2,+4) (+2)
     +2 strength.
     Provides resistance to fear, disenchantment.
     Sustains strength, constitution.
     Prevents paralysis.  
     
j) an Amulet of Trickery (+4)
     +4 dexterity, stealth, infravision, speed.
     +20% to searching.
     Provides resistance to poison, nexus.
     Sustains dexterity.
     
k) The Amulet of Ingwe (+3)
     +3 intelligence, wisdom, charisma, infravision.
     Provides resistance to acid, lightning, cold.
     Cannot be harmed by acid, electricity, fire, cold.
     Prevents paralysis.  Grants the ability to see invisible things.  
     
l) The Small Metal Shield of Thorin [4,+25] (+4)
     +4 strength, constitution.
     Provides immunity to acid.
     Provides resistance to fear, sound, chaos.
     Cannot be harmed by acid, electricity, fire, cold.
     Prevents paralysis.  
     
m) The Massive Iron Crown of Morgoth [0,+0] (+125) {cursed}
     Permanently cursed.
     +125 strength, intelligence, wisdom, dexterity, constitution, 
     charisma, infravision.
     Provides resistance to acid, lightning, fire, cold, poison, fear, 
     light, dark, confusion, nexus, nether.
     Cannot be harmed by acid, electricity, fire, cold.
     Grants telepathy.  Grants the ability to see invisible things.  
     
     Radius 1 light.
n) The Metal Cap of Thengel [3,+12] (+3)
     +3 wisdom, charisma.
     Provides resistance to confusion.
     Cannot be harmed by acid, electricity, fire, cold.
     
o) The Pair of Steel Shod Boots of Thror [6,+20] (+3)
     +3 strength, constitution, speed.
     Provides resistance to fear.
     Cannot be harmed by acid, electricity, fire, cold.
     
p) The Short Sword 'Sting' (1d6) (+9,+9) (+2) {!s!d!k@w2}
     +2 strength, dexterity, constitution, speed, attack speed.
     Slays animals, evil creatures, undead, orcs.
     Provides resistance to fear, light.
     Cannot be harmed by acid, electricity, fire, cold.
     Prevents paralysis.  Grants the ability to see invisible things.  
     
     Combat info:
     7 blows/round.
     Average damage/hit: 60.9 vs. animals, 60.9 vs. evil creatures, 
     64.8 vs. undead, 64.8 vs. orcs, and 57 vs. others.
     
     Radius 1 light.
q) The Beaked Axe of Theoden (2d6) (+8,+10) (+3) {!s!d!k@w1}
     +3 wisdom, constitution.
     Slays dragons.
     Cannot be harmed by acid, electricity, fire, cold.
     Slows your metabolism.  Grants telepathy.  
     
     Combat info:
     5 blows/round.
     Average damage/hit: 75.9 vs. dragons, and 59.8 vs. others.
     
r) a Lochaber Axe of Fury (3d8) (+21,+14) (+2) {!k}
     +2 strength, attack speed.
     Provides resistance to fear.
     Cannot be harmed by acid, fire.
     Aggravates creatures nearby.  
     
     Combat info:
     7 blows/round.
     Average damage/hit: 76.4.
     
s) The Mighty Hammer 'Grond' (9d9) (+5,+25) [+10]
     Slays animals, evil creatures, orcs, trolls.
     *Slays* dragons, demons, undead.
     Cannot be harmed by acid, electricity, fire, cold.
     Grants telepathy.  Grants the ability to see invisible things.  
     Aggravates creatures nearby.  
     
     Combat info:
     You are too weak to use this weapon.
     1 blow/round.
     Average damage/hit: 225.5 vs. animals, 225.5 vs. evil creatures, 
     297.5 vs. orcs, 297.5 vs. trolls, 441.5 vs. dragons, 441.5 vs.
     demons, 441.5 vs. undead, and 153.5 vs. others.
     Sometimes creates earthquakes on impact.
     
t) 16 Arrows of Wounding (1d4) (+21,+15)
     Combat info:
     Hits targets up to 120 feet away.
     Average damage/hit: 105.3.
     35% chance of breaking upon contact.
     


============================================================
                   CHAR.
|   TURN  | DEPTH |LEVEL| EVENT
============================================================
         1      0'    1   Began the quest to destroy Morgoth.
      4601     50'    2   Reached level 2
      7681     50'    3   Reached level 3
      9471     50'    4   Reached level 4
     13891    100'    4   Killed Grip, Farmer Maggot's dog
     15101    100'    4   Killed Fang, Farmer Maggot's dog
     15101    100'    5   Reached level 5
     21800      0'    6   Reached level 6
     34861    150'    7   Reached level 7
     52599    250'    8   Reached level 8
     73868    300'    9   Reached level 9
     79608    300'   10   Reached level 10
     94748    250'   10   Killed Bullroarer the Hobbit
     94748    250'   11   Reached level 11
    106328    200'   11   Killed Smeagol
    117848      0'   11   Killed Farmer Maggot
    130581    400'   12   Reached level 12
    162473    500'   13   Reached level 13
    185816    500'   14   Reached level 14
    218768    500'   14   Killed Brodda, the Easterling
    233139    500'   15   Reached level 15
    270632    600'   16   Reached level 16
    304027    600'   17   Reached level 17
    304183    600'   17   Killed Lagduf, the Snaga
    327273    650'   18   Reached level 18
    338788    650'   18   Killed Boldor, King of the Yeeks
    357998    650'   19   Reached level 19
    393889    650'   19   Killed Golfimbul, the Hill Orc Chief
    393889    650'   20   Reached level 20
    438507    750'   21   Reached level 21
    479273    750'   22   Reached level 22
    498724    850'   22   Killed Orfax, Son of Boldor
    534919    850'   22   Found The Battle Axe 'Lotharang' (LOST)
    546164    850'   23   Reached level 23
    579848    850'   23   Killed Ufthak of Cirith Ungol
    590466    850'   24   Reached level 24
    604886    900'   24   Killed Wormtongue, Agent of Saruman
    665060    950'   25   Reached level 25
    729460    950'   25   Killed Gorbag, the Orc Captain
    732592    950'   25   Killed Nar, the Dwarf
    780169    950'   25   Killed Mughash the Kobold Lord
    800721    950'   26   Reached level 26
    900806   1000'   26   Found The Beaked Axe of Theoden
    941939   1000'   27   Reached level 27
    980076   1000'   27   Killed Ulfast, Son of Ulfang
    980167   1000'   27   Found The Phial of Galadriel
    995536   1000'   27   Killed Ulwarth, Son of Ulfang
    998148   1000'   27   Found The Short Sword 'Dagmor' (LOST)
   1006326   1000'   27   Found The Dagger 'Dethanc' (LOST)
   1074665   1100'   28   Reached level 28
   1090869   1100'   28   Killed Bolg, Son of Azog
   1163666   1200'   28   Killed Khim, Son of Mim
   1200717   1200'   28   Killed Ibun, Son of Mim
   1244620   1250'   29   Reached level 29
   1281830   1250'   29   Killed Ugluk, the Uruk
   1284602   1250'   29   Found The Soft Leather Armour 'Hithlomir' (LOST)
   1316742   1350'   29   Killed Lugdush, the Uruk
   1345576   1350'   29   Found The Scimitar 'Haradekket' (LOST)
   1363816   1450'   29   Killed Draebor, the Imp
   1383398   1450'   29   Killed Uldor the Accursed
   1390400   1450'   29   Found The Main Gauche of Maedhros (LOST)
   1395772   1450'   29   Killed Shagrat, the Orc Captain
   1413650   1450'   30   Reached level 30
   1437078   1450'   30   Killed Beorn, the Shape-Changer
   1469180   1550'   30   Found The Lance of Eorlingas (LOST)
   1533479   1550'   30   Killed Angamaite of Umbar
   1535694   1550'   30   Found The Leather Scale Mail 'Thalkettoth'
   1556718   1550'   31   Reached level 31
   1592117   1550'   31   Killed Sangahyando of Umbar
   1645331   1500'   31   Killed Azog, King of the Uruk-Hai
   1700246   1550'   31   Found The Metal Cap of Thengel
   1750881   1600'   31   Found The Trident of Wrath (LOST)
   1828739   1650'   31   Found The Set of Gauntlets 'Paurnimmen' (LOST)
   1837279   1650'   32   Reached level 32
   1918427   1650'   32   Killed Lokkak, the Ogre Chieftain
   1919238   1650'   32   Found The Dagger 'Nimthanc' (LOST)
   2017111   1750'   33   Reached level 33
   2037543   1750'   33   Found The Leather Shield of Celegorm (LOST)
   2053999   1750'   33   Killed Mim, Betrayer of Turin
   2054034   1750'   33   Found The Beaked Axe of Hurin (LOST)
   2087378   1750'   33   Found The Pair of Leather Boots 'Dal-i-thalion'
   2121627   1750'   33   Found The Short Sword 'Sting'
   2130589   1750'   33   Found The Set of Gauntlets 'Pauraegen' (LOST)
   2187216   1850'   33   Killed Bill the Stone Troll
   2187216   1850'   34   Reached level 34
   2195972   1850'   34   Killed Uvatha the Horseman
   2221402   1850'   34   Killed Bert the Stone Troll
   2254837   1850'   34   Found The Cloak of Thorongil (LOST)
   2280156   1850'   34   Found The Set of Leather Gloves 'Cammithrim' (LOST)
   2313663   1950'   35   Reached level 35
   2387027   2050'   35   Killed Ulfang the Black
   2442357   2050'   36   Reached level 36
   2545945   2050'   36   Found The Leather Shield of the Haradrim (LOST)
   2560808   2050'   37   Reached level 37
   2567590   2050'   37   Found The Short Bow of Amrod (LOST)
   2572664   2050'   37   Killed Lorgan, Chief of the Easterlings
   2607498   2050'   37   Found The Cloak 'Holcolleth' (LOST)
   2626598   2100'   37   Killed Grishnakh, the Hill Orc
   2670757   2100'   37   Killed Medusa, the Gorgon
   2674045   2100'   37   Killed The Queen Ant
   2676025   2100'   38   Reached level 38
   2684266   2100'   38   Found The Set of Gauntlets 'Paurhach' (LOST)
   2685060   2150'   38   Found The Short Bow of Amras
   2740948   2300'   38   Killed Rogrog the Black Troll
   2750924   2300'   38   Killed Ariel, Queen of Air
   2751048   2300'   39   Reached level 39
   2760867   2300'   39   Found The Scythe 'Avavir' (LOST)
   2764883   2350'   39   Found The Hard Leather Cap of Thranduil (LOST)
   2777320   2350'   39   Found The Rapier 'Forasgil' (LOST)
   2785770   2350'   39   Found The Augmented Chain Mail of Caspanion (LOST)
   2798693   2450'   40   Reached level 40
   2804215   2450'   40   Found The Iron Helm of Gorlim (LOST)
   2810883   2450'   40   Killed Adunaphel the Quiet
   2811348   2450'   40   Found The Chain Mail of Arvedui (LOST)
   2815346   2450'   40   Found The Mace 'Taratol' (LOST)
   2820342   2450'   40   Killed Vargo, Tyrant of Fire
   2830080   2450'   40   Killed Akhorahil the Blind
   2844443   2500'   40   Killed Scatha the Worm
   2850058   2500'   40   Killed Smaug the Golden
   2857262   2500'   40   Killed Gorlim, Betrayer of Barahir
   2859411   2500'   40   Killed Ren the Unclean
   2873420   2500'   41   Reached level 41
   2876516   2500'   41   Killed Waldern, King of Water
   2887231   2500'   41   Found The Spear 'Nimloth' (LOST)
   2893685   2550'   41   Found The Large Metal Shield of Anarion (LOST)
   2946640   2650'   42   Reached level 42
   2950738   2700'   42   Killed Tom the Stone Troll
   2998010   2750'   42   Killed Ar-Pharazon the Golden
   2999165   2750'   42   Found The Dagger 'Narthanc' (LOST)
   3008189   2850'   42   Killed The Lernaean Hydra
   3008390   2850'   43   Reached level 43
   3011094   2850'   43   Found The Halberd 'Osondir' (LOST)
   3038295   2850'   43   Found The Morning Star 'Firestar' (LOST)
   3048743   2850'   43   Killed The Phoenix
   3052991   2850'   43   Killed Quaker, Master of Earth
   3061158   2850'   43   Found The Amulet of Carlammas (LOST)
   3079544   2800'   43   Found The Quarterstaff 'Eriril' (LOST)
   3086360   2800'   43   Killed The Balrog of Moria
   3086466   2800'   44   Reached level 44
   3088483   2800'   44   Found The Long Bow 'Belthronding' (LOST)
   3093015   2800'   44   Found The Cutlass 'Gondricam' (LOST)
   3100518   2850'   44   Found The Full Plate Armour of Isildur (LOST)
   3108896   2900'   44   Killed Shelob, Spider of Darkness
   3112198   2900'   44   Found The Jewel 'Evenstar' (LOST)
   3122648   2900'   44   Found The Flail 'Totila' (LOST)
   3123082   2900'   44   Killed Dwar, Dog Lord of Waw
   3123082   2900'   45   Reached level 45
   3126657   2900'   45   Killed Saruman of Many Colours
   3131119   2900'   45   Found The Steel Helm of Hammerhand (LOST)
   3131179   2900'   45   Found The Set of Leather Gloves 'Cambeleg' (LOST)
   3131412   2900'   45   Found The Set of Gauntlets 'Camlost' (LOST)
   3147399   2950'   45   Found The Quarterstaff 'Nar-i-vagil' (LOST)
   3155910   2950'   45   Found The Rapier 'Careth Asdriag' (LOST)
   3169540   3000'   45   Killed Fundin Bluecloak
   3198352   3000'   46   Reached level 46
   3200465   3000'   46   Killed Baphomet the Minotaur Lord
   3207743   3000'   46   Found The Set of Gauntlets 'Paurnen' (LOST)
   3269668   3050'   46   Killed Itangast the Fire Drake
   3269668   3050'   47   Reached level 47
   3294883   3050'   47   Found The Broad Sword 'Aeglin' (LOST)
   3298406   3050'   47   Killed Hoarmurath of Dir
   3344993   3050'   47   Killed Ji Indur Dawndeath
   3347925   3050'   47   Found The Iron Helm 'Holhenneth' (LOST)
   3379020   3150'   48   Reached level 48
   3414134   3200'   48   Found The Arkenstone of Thrain (LOST)
   3439248   3200'   48   Found The Mithril Chain Mail 'Belegennon' (LOST)
   3446027   3200'   48   Killed Kavlax the Many-Headed
   3495824   3200'   49   Reached level 49
   3515283   3250'   49   Killed Gabriel, the Messenger
   3531598   3250'   49   Found The Pick of Erebor (LOST)
   3554332   3250'   49   Found The Heavy Crossbow of Umbar (LOST)
   3557012   3250'   49   Killed Azriel, Angel of Death
   3570383   3250'   49   Killed Eol, the Dark Elf
   3587650   3250'   49   Found The Jewel Encrusted Crown of Numenor
   3589694   3250'   49   Found The Set of Gauntlets of Eol (LOST)
   3595918   3250'   50   Reached level 50
   3602360   3250'   50   Killed The Mouth of Sauron
   3616237   3300'   50   Killed The Cat Lord
   3617524   3300'   50   Found The Ring of Barahir
   3629864   3300'   50   Found The Iron Crown of Beruthiel (LOST)
   3661964   3400'   50   Found The Set of Caestus of Fingolfin
   3699314   3650'   50   Killed Khamul, the Black Easterling
   3721386   3650'   50   Found The Metal Cap of Celebrimbor (LOST)
   3723150   3650'   50   Killed Ungoliant, the Unlight
   3738050   3700'   50   Killed Tselakus, the Dreadlord
   3739488   3700'   50   Killed Thuringwethil, the Vampire Messenger
   3748941   3750'   50   Found The Lochaber Axe 'Mundwine' (LOST)
   3765070   3800'   50   Found The Cloak of Thingol (LOST)
   3774901   3800'   50   Found The Small Metal Shield of Thorin
   3782599   3800'   50   Found The Lucerne Hammer 'Turmil' (LOST)
   3785390   3850'   50   Found The Necklace of the Dwarves (LOST)
   3791636   3850'   50   Killed The Witch-King of Angmar
   3799950   3850'   50   Killed Harowen the Black Hand
   3810347   3850'   50   Found The Amulet of Ingwe
   3819202   3850'   50   Found The Metal Brigandine Armour of the Rohirrim (LOST)
   3849369   4050'   50   Killed Maeglin, the Traitor of Gondolin
   3852688   4050'   50   Killed Feagwath, the Undead Sorcerer
   3857092   4050'   50   Found The Trident of Ulmo (LOST)
   3865303   4050'   50   Killed Uriel, Angel of Fire
   3870479   4050'   50   Found The Broad Axe 'Barukkheled' (LOST)
   3884323   4050'   50   Killed Omarax, the Eye Tyrant
   3907597   4100'   50   Found The Cloak 'Colluin'
   3940748   4250'   50   Killed Carcharoth, the Jaws of Thirst
   3941382   4250'   50   Found The Ring of Tulkas
   3942172   4250'   50   Found The Mattock of Nain (LOST)
   3945217   4250'   50   Killed Lungorthin, the Balrog of White Fire
   3945420   4250'   50   Killed Pazuzu, Lord of Air
   3951253   4250'   50   Found The Star of Elendil (LOST)
   3976740   4300'   50   Found The Ring of Power 'Nenya'
   3977700   4300'   50   Killed Ancalagon the Black
   3996090   4400'   50   Killed Glaurung, Father of the Dragons
   3999647   4400'   50   Found The Two-Handed Great Flail 'Thunderfist'
   4003179   4400'   50   Found The Broad Sword 'Orcrist' (LOST)
   4003972   4400'   50   Found The Dagger of Rilia (LOST)
   4011252   4500'   50   Killed Huan, Wolfhound of the Valar
   4020458   4500'   50   Found The Battle Axe of Balli Stonehand (LOST)
   4020461   4500'   50   Found The Elfstone 'Elessar'
   4020475   4500'   50   Found The Pair of Steel Shod Boots of Thror
   4027788   4500'   50   Killed Cantoras, the Skeletal Lord
   4027873   4500'   50   Killed Qlzqqlzuup, the Emperor Quylthulg
   4034992   4500'   50   Killed Atlas, the Titan
   4042532   4500'   50   Killed Gothmog, the High Captain of Balrogs
   4042641   4500'   50   Killed The Tarrasque
   4050004   4500'   50   Found The Whip of Gothmog (LOST)
   4060769   4500'   50   Found The Adamantite Plate Mail 'Soulkeeper' (LOST)
   4085894   4450'   50   Found The Ring of Power 'Narya'
   4098387   4550'   50   Killed Kronos, Lord of the Titans
   4126091   4550'   50   Killed Polyphemus, the Blind Cyclops
   4135005   4550'   50   Killed Draugluin, Sire of All Werewolves
   4164480   4950'   50   Killed Sauron, the Sorcerer
   4176152   5000'   50   Killed Morgoth, Lord of Darkness
   4186466   5000'   50   Killed Vecna, the Emperor Lich
   4187633   5000'   50   Found The Mighty Hammer 'Grond'
   4187640   5000'   50   Found The Massive Iron Crown of Morgoth


  [Options]

Maximize effect of race/class bonuses        : yes (adult_maximize)
Randomize some of the artifacts (beta)       : no  (adult_randarts)
Restrict the use of stairs/recall            : no  (adult_ironman)
Restrict the use of stores/home              : no  (adult_no_stores)
Restrict creation of artifacts               : no  (adult_no_artifacts)
Don't stack objects on the floor             : no  (adult_no_stacking)
Lose artifacts when leaving level            : no  (adult_no_preserve)
Don't generate connected stairs              : no  (adult_no_stairs)
Adult: Monsters chase current location       : yes (adult_ai_sound)
Adult: Monsters chase recent locations       : yes (adult_ai_smell)
Adult: Monsters act smarter in groups        : yes (adult_ai_packs)
Adult: Monsters learn from their mistakes    : no  (adult_ai_learn)
Adult: Monsters exploit players weaknesses   : no  (adult_ai_cheat)
Adult: Monsters behave more intelligently (broken): no  (adult_ai_smart)
Score: Peek into object creation             : no  (score_peek)
Score: Peek into monster creation            : no  (score_hear)
Score: Peek into dungeon creation            : no  (score_room)
Score: Peek into something else              : no  (score_xtra)
Score: Know complete monster info            : no  (score_know)
Score: Allow player to avoid death           : no  (score_live)
        

-Paul

Mon Nov 15 11:10:43 EST 2010: script 

A couple months ago on the Dinner Party Download, the guys talked about how they have access to Kai Ryssdal's scripts for APM: Marketplace. They went on to try to get donations from people by saying that if you donate and send a note, they'll send you a page of Kai's scripts that they'll sign. Heh. I totally sent in the donation and the request.

So now I have a page of Kai Risdal's show on my desk. Hehe. I love it.

(DISCLAIMER: I believe all of the above links are covered by “fair use” under US copyright law, to the extent that such a thing still exists. NPR has a terrible record on fair use, so we'll just see how it goes.)

-Paul

Mon Oct 11 11:09:57 EDT 2010: Mutliple Google Accounts 

I recently switched my google apps for domains accounts over to their new login stuff. It's pretty cool because I can now have google reader accounts and things for my personal domain. But it makes it ridiculously irritating to use my old gmail account for igoogle and the like while also logging into my personal domain accounts.

Fortunately, I have a solution:

https://www.google.com/accounts/MultipleSessions

That URL is really all you need, but I have further tips:

  1. log out of all your google accounts.
  2. log into one
  3. set up the multi sessions (by clicking the URL above)
  4. log back out
  5. goto 2. while there are accounts left to fix
  6. go to http://www.google.com and log in as your default.
  7. use the pulldown to log into other accounts you have.
  8. enjoy

-Paul

Tue Sep 21 14:30:39 EDT 2010: hastings airport tax 

Seems the management at the hastings airport are trying to get a millage because mark noteboom can't run it like a business...

I wouldn't care at all, but we (look before you click, redirect eminent) had this fantastic hanger there that I really liked. And Mr. Noteboom kicked us out because the grump old men that run the place didn't like having to wait 30 seconds here and there for the skydivers to land. Way to kick out the only successful business to operate there in the history of the airport you idiot. Ok, I'm exaggerating a little...

Still... rage...

-Paul

Mon Aug 30 08:45:05 EDT 2010: SysRq Magic 

This morning, around 4am, one of my servers died a little. It's been doing it over and over. I'm not sure how to track it down at all (yet) but it seems to be a bug in the aacraid driver. The result of the crash is that processes that try to write to the disk block forever. That's super shitty to say the least.

The worst of the problems this produces — beside the most obvious problem that the server doesn't serve — is that the machine cannot be rebooted cleanly. First of all, the shutdown process can't work right because it needs to write to the disk. Second, the remount of the drives doesn't work because they can't be unmounted correctly — which would require writing to /etc/mtab.

The solution is (apparently) Reboot Even If System Utterly Broken . Ok, strictly speaking, I really only used these commands, but they saved a co-worker a drive to work and I had the system booted in just a few minutes.

echo 1 > /proc/sys/kernel/sysrq
echo s > /proc/sysrq-trigger
echo u > /proc/sysrq-trigger
echo b > /proc/sysrq-trigger

NOTE: I waited for some time after the sync and unmount commands.

-Paul

Mon Jul 12 14:50:43 EDT 2010: SSH Tunnel 

I just found myself wishing outloud that I could remember this. I thought about making flashcards or something, then I suddenly remembered I have a website where I post things (kindof like bloging on a blog, only this is writing for a website).

razor.dom1$ ssh -L 9000:sharecropper.dom2:22 corky.dom1

This command makes port 22 on sharecropper.dom2 (from the perspective of corky.dom1) available to razor on localhost:9000. That is, from razor, I can now get to sharecropper like this:

razor.dom1$ ssh -p 9000 localhost
jettero@sharecropper.dom2's password: 
Last login: Mon Jul 12 14:26:06 2010 from corky.dom2
sharecropper.dom2$

-Paul

Wed Nov 4 10:22:03 EST 2009: Windows XP Sucks 

My CD drive disappeared. Well, the driver disappeared. Windows could see the drive, but wouldn't install a driver for it. I frantically searched the dell support pages for ... a cd driver. But nothing was to be found.

I could tell from booting to linux that the drive works fine. So what then?

The solution was to delete LowerFilters from my registry (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}).

This arcane bullshit is why I hate windows. On the one hand, I'm glad MS documented this. On the other hand, I can't help but wonder if automatic updates has an entropy system in place to get me to give up and upgrade to Windows 7. Unlikely, but technically possible. MS has a direct financial interest in that... but definitely not in helping me get XP working.

-Paul

Thu Aug 6 11:59:39 EDT 2009: My Win0 Device 

I wasn't happy with the two choices of network interface types given in the VirtualBox documentation. It struck me, I could make the guest OS appear on the lan just like any other computer by using proxy arp and tun device.

This works rather like a hybrid of their NAT and their Bridge modes from the documenation, but more awesome. This script is ubuntu/debian-esque, but could be refactored for other linux OSes fairly easily.

bash$ cat /etc/init.d/win0
#!/bin/bash

vbox="win0"
ethr="eth0"
ip="10.1.1.200"

case "$1" in
    start)
        ( set -x
            tunctl -t $vbox -u jettero
            ifconfig $vbox up
            route add -host $ip dev $vbox
            echo 1 > /proc/sys/net/ipv4/conf/$vbox/proxy_arp
            arp -Ds $ip $ethr pub
        )
        ;;

    stop)
        (echo 0 > /proc/sys/net/ipv4/conf/$vbox/proxy_arp) 2>/dev/null
        ifconfig $vbox down &>/dev/null
        tunctl -d $vbox &>/dev/null
        arp -i $ethr -d $ip &>/dev/null
        ;;

    restart) $0 stop; $0 start ;;
esac


Here's the ifconfig and ipconfig results.

bash$ ifconfig win0
win0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
          inet6 addr: xxxx::xxx:xxx:xxxx:xxxx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:3687268 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
C:\Documents and Settings\jettero> ipconfig
Ethernet adapter win0:

        Connection-specific DNS Suffix  . : 
        IP Address. . . . . . . . . . . . : 10.1.1.200
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 10.1.1.1

This could not be simpler to set up in Virtualbox either. From here, you simply set it to bridged on your new win0 device. Done.



-Paul

Fri Jun 12 06:28:28 EDT 2009: XBee Shell 

I finally got around to doing some things with my XBee chips. Nothing special at all. I didn't really like the way minicom interfaced the things. First of all, it keeps telling the "modem" to init and reset after the session. The XBee does take AT commands, but ... not like that.

Despite my telling minicom to echo local characters, it still wasn't echoing the AT commands in command mode ... that made me kinda mad. So I wrote my own console program. And when I say I wrote my own, I mean I used POE (so I only wrote 10% of it) and I started from the cookbook (so I only wrote 5% of it).

#!/usr/bin/perl
# My XBee shell.  Copyright 2009 Paul Miller - LGPL
#
# This is very much ripped off from the cookbook though, that license (if any)
# may apply.  http://poe.perl.org/?POE_Cookbook/Serial_Ports
# 
# POE makes this so easy.  Yes, you could do it with blocking read/writes and
# select() and rts/cts checks and things.  Would you really want to?
#

use warnings;
use strict;
use POE qw(Wheel::ReadWrite Filter::Stream);
use Symbol qw(gensym);
use Device::SerialPort;
use Term::ReadKey;

my $dev = uc( shift || "usb0" );
   $dev = "/dev/tty$dev";

die "no such dev: $dev" unless -c $dev;

my $lck = $dev;
   $lck =~ s/\/dev\//\/var\/lock\/LCK../;

# POE is very fun.  You don't write the program flow at all in POE, you simply
# name the things you want to happen and ... they do!

POE::Session->create( package_states => [ main => [qw(_start got_port got_console got_error byebye)] ]);
POE::Kernel->run();

exit 0; # notice, run() doesn't return until the program is done.

sub _start {
    my ( $kernel, $heap ) = @_[ KERNEL, HEAP ];

    # The XBee won't work quite right in line mode, not if you want to be
    # able to interact with the +++ command mode.  Also, I have mine set to
    # 115200, you'd have to change the baud rate to use this if yours is
    # set to default.

    # ATBD 7

    ReadMode 'ultra-raw';
        # ultra-raw gets really serious about grabbing the actual bytes
        # from the serial port.

    my $handle = gensym();
    my $port = tie( *$handle, "Device::SerialPort", $dev, 0, $lck );

    unless( $port ) {
        my $err = $!;
        ReadMode 'restore';
        $err = "lockfile exists: $lck" if $err =~ m/File exists/;
        die "can't open port: $err";
    }

    $port->datatype('raw');
    $port->baudrate(115200); # the baud rate, default is 9600
    $port->databits(8);
    $port->stopbits(1);
    $port->parity("none");
    $port->handshake("rts");
    $port->write_settings;

    # We have two "wheels," streams that handle input and output.   This
    # type of wheel is specifically for reading and writing at the same
    # time, in an event based manner.

    $heap->{port}       = $port;
    $heap->{port_wheel} = POE::Wheel::ReadWrite->new(
        Handle     => $handle,
        Filter     => $heap->{output_stream} = POE::Filter::Stream->new,
        InputEvent => "got_port",
        ErrorEvent => "got_error",
    );

    $heap->{port_wheel}->put("[enter: $ENV{USER}\@$ENV{HOSTNAME}:$dev]\r");

    $heap->{cons_wheel} = POE::Wheel::ReadWrite->new(
        InputHandle  => \*STDIN,
        OutputHandle => \*STDOUT,
        Filter       => $heap->{input_stream} = POE::Filter::Stream->new,
        InputEvent   => "got_console",
        ErrorEvent   => "got_error",
    );

    $heap->{cons_wheel}->put("Press ^D to stop.\r\n");
}

sub got_port {
    my ( $heap, $data ) = @_[ HEAP, ARG0 ];

    # We've received something from the XBee, so we reformulate it for the
    # terminal a little and pass it to the console.

    $data =~ s/\x0d/\x0d\x0a/g;
    $data =~ s/([^\x0d\x0a[:print:]])/"0x" . unpack("H*", $1)/eg;

    $heap->{cons_wheel}->put($data);
}

sub got_console {
    my ( $heap, $data ) = @_[ HEAP, ARG0 ];

    # we've received something from the console

    if( $data =~ s/(\x03|\x04|\x1c)//g ) { # 3 ^C, 4 ^D, 28 ^|
        # if we receive a ^C, ^D or ^|, break out of the program

        ReadMode 'restore';
        $heap->{port_wheel}->put("[exit: $ENV{USER}\@$ENV{HOSTNAME}:$dev]\r");
        $heap->{cons_wheel}->put("Bye!\r\n");
        $poe_kernel->delay("byebye", 1);
    }

    # echo the input locally

    $heap->{port_wheel}->put($data) if $data;

    # reformulate new input for the # XBee a little and pass it to the serial device.

    $data =~ s/\x0d/\x0d\x0a/g;
    $data =~ s/([^\x0d\x0a[:print:]])/"0x" . unpack("H*", $1)/eg;

    $heap->{cons_wheel}->put($data) if $data;
}

sub byebye {
    my $heap = $_[HEAP];

    # once the wheels are gone, POE will notice there's nothing left to do
    # and the program will exit

    delete $heap->{cons_wheel};
    delete $heap->{port_wheel};
}

sub got_error {
    my $heap = $_[HEAP];

    $heap->{cons_wheel}->put("$_[ARG0] error $_[ARG1]: $_[ARG2]");
    $heap->{cons_wheel}->put("bye!");

    delete $heap->{cons_wheel};
    delete $heap->{port_wheel};
}

-Paul

Wed Jun 3 06:48:36 EDT 2009: XBee 

XBee + USB boards

XBee + USB boards

I'm trying to break into the world of embedded programming. I'm starting small. I bought some zigbee modules and USB boards. I figured out a few things on the radios, which feel oddly similar to talking to an old fashion modem — modem in the traditional sense, not a terminal adapter.


bash$ mrsh uptime
Welcome to minicom 2.3-rc1
Compiled on Dec 10 2007, 10:31:35.
Port /dev/ttyUSB0
OK
ATDB
0
ATDB
17
ATVD
10CD
OK
ATCN
test

I haven't figured out the API mode yet, but the transparent passthrough mode has been fun. When I'm not in command mode, typing in one minicom shows up in the other and vice versa. When I issue ATDB in command mode, it reports the signal strength. When I first plugged it in, ATDB returned: 0... but after I had the other module send some data, it reported: 17. 17? The manual says, "Absolute values are reported. For example: 0x58 = -88 dBm (decimal)." So the signal strength when the modules are 0.5 inches apart is really: -23 dBm? I think?

XBee with Power

XBee with Power

I have successfully transferred files using Zmodem! Man that takes me back.

In the picture on the right, note that the lights are on the USB boards. Zigbee's main purpose is to be very power efficient, so the modules certainly wouldn't have lights on them!

-Paul

older stuff (archive-09-03-24.html)
older stuff (archive-08-12-04.html)
older stuff (archive-08-06-30.html)
older stuff (archive-08-01-29.html)
older stuff (archive-07-01-01.html)
[show links]

Hey! Lemme know you saw this!!