The Caffeinated Penguin

musings of a crackpot hacker

Battletech

| July 23, 2007

I think I have clevered it out.

MechSheet produces the best output. This is what I want my sheets to look like, though I may add an optional movement chart at the bottom if printed on legal paper. It does not, however, do any type of creation, it just makes sheets. So, for now, I can make mechs in HeavyMetal Pro, then convert the output stats file to the MechSheet format, then create the sheet. It sounds like a pain (and it kind of is), but it works for now.

Now, Phase 1 would be to rewrite MechSheet as a Java app. This makes it easy for me to get into Java with something I have a good handle on – a command line app which just puts things on the record sheet where they need to be. In this way, I could take a batch of already created files and generate them.

Phase 2 would be to integrate the HeavyMetal Pro file format reader from MegaMek to have my version of MechSheet be able to read those files directly.

Phase 3 would be to actually write a mech design engine to replace HeavyMetal Pro. This is the largest part of the product, and likely the hardest, since I have no idea how all these widgety things work.

The nice thing about this is that it allows me to actually PLAY while I'm working on this…

Reading weekend

| July 22, 2007

Liz and I spent this weekend reading, her with the final book in the series of a certain Mr. Potter, me with the final book of Roland of Gilead and his ka-tet. An interesting change here is that, as a younger man, I used to be able to sit and read literally for hours on end. However, now I seem to only be able to read for two hours or so before I need to get up and do something.for a little while, then come back to it.

I've also discovered the Goblin Gaming Broadcast Network, a collection of podcasts about gaming. My list of podcasts is now about 5GB worth which I have not listened to on three primary topics – gaming, guns, and computers.

One of the few down sides with my move to NY has been my departure from both my miniatures gaming group and my RPG group. Couple this with the lack of shooty goodness (I still have none of my handguns and have not found a range) and lack of funds (I'm completely tapped out of cash for about the next six months or so), and it is basically leading to a sense of annoyance and frustration. I'm trying to lose myself in work around the house, but there is this gnawing need for the creative exercise of gaming – or some type of creative exercise similar to that.

As such, I'm thinking about picking up my BattleCAD project again and retooling it into a Java app (because the farking GTK bindings change every 5 mins, and if I have to retool it from GTK# to GTK2#, I might as well change it to Java, which is actually documented and such). Basically, the problem is, while I like Battletech (and I mean, REALLY like Battletech – it is probably my favorite miniatures game, though I don't always have a lot of chance to play it), you basically need record sheets for all your mechs, and need one per game, because you mark them up. The only commercial software is hard to use and produces ugly sheets (and I know, because I own a copy), and all the free ones aren't up to date on the current rules. The thing is, I don't actually want to write the software, I just want to play the game. It would be nice if the company which makes these games offered PDF's of the record sheet books – you can get hardcopies of the record sheets and PDF's of the rules, but not PDFs of the record sheet books. It's rather annoying.

Of course, before I go fidding with that, I should probably go through my other list of things to do (letters which need writing to senators about things, updating of various pages on my website, etc.), so I suppose I shall go off and do that now.

Podcasts..

| July 17, 2007

I've been recording segments for a Gun Rights Advocates Podcast. I figured I'd post the relevant episodes here, in case folks want to hear about my NY Pistol Permit stuff in my own words.

Episode 41 Episode 43

(Of course, the podcast itself is definitely worth listening to)

Birfday

| July 9, 2007

So, the shindig for my birthday was a nice success. I'm starting to get a little burnt out with all the stuff I've been trying to do around the house, so we kept it small and simple. Parents, in laws, my brother and my sister in law. I figure we'll have a big blowout housewarming come fall and invite everyone over for that one (our housewarmings usually take about a month to plan and we spend the week prior making food). The main limiting factor here is refrigerator – our current one is a small side by side, which means it can't fit a half-sheet pan, which means it's really poor for storing sheets of appetizers. Anyway, we stuck with burgers (with barbecue spices) and hot dogs, and a grilled potato salad (forgot to put in the bacon – d'oh!), and Lizzy made peanut butter filled chocolate mini-cakes for dessert. We also tried to churn some ice cream, but it really doesn't set up in the churn appropriately, so Liz and I just have a gallon of one of our favorite ice cream recipes in the freezer (oh well, life is hard). But, I won't try the “oh, we'll have fresh ice cream!” approach again. Besides, it's better when you deep freeze it for a couple of days, then bring it upstairs to the slightly-less-cold freezer which allows it to soften. There's something about how it ages and all gets happy that works here.

My brother Nate brought some little 50cc motorbikes, which are quite a bit of fun – there's a little bit of “bear on a tricycle” feel when you ride them, but they're fun for put-putting around the yard.

Not to be outdone, I fired up the lawn tractor and we started driving that around so that all the menfolk could try it out. Before I knew it, my father had mowed one section of lawn – I guess he liked the way the mower handled.

Yesterday, Liz and I slept in, then went out to a store which carries unfinished furniture and bought me a wardrobe and a chest of drawers. They're unfinished so we can paint them as accent pieces to the room, which works out well.

So, a good time, though for some reason I'm rather tired after this weekend – I don't know why. Liz wants to watch all the Harry Potter movies before we go see the new movie, so plans for the week are to watch one a night after working on the furniture, fixing the drippy shower faucet, patching some holes in walls, etc. I'll probably dig out some 1:300 scale buildings (for Battletech and Micro armor) and continue painting them up. Buildings are a nice way to ease back into painting minis, because I'm a little out of practice.

Anyway, to work!

Catharsis

| July 7, 2007

(note, since case is the name of a machine (kudos if you get the reference), I will use “box” here where I mean “the piece of sheet metal into which computer components are put)

So, this evening I took a fairly radical step which I had been considering for some time – I gutted my main workstation (case) and put the boot drive and motherboard into the box containing the disk array and beefy PSU for the NFS server (yt). The idea here is that, as fast as gigabit ethernet is, having the disks be local will be faster.

The final straw came when, this week, two things happened: (1) The UPS to which case was attached dropped in a brownout, while I was working, rebooting case. yt's UPS stayed up. I suspect case's UPS has a bad battery. (2) One of yt's drives started to make evil clicking noises. Listening at the front of the box, it was on the side with only two drives – the boot drive and disk 8 (or 7 if you count from 0) on the RAID 5 array. Lovely.

Tonight I had some time, so I did the transplant. Since there wasn't going to be a gigE backbone anymore, those cards can come out. PSU can handle the additional load of the extra CPU and beefier video card without issue. The boot drive is going to be the drive which was in case, so the extra space will still be used for rsnapshot backups (in case I fat finger something).

In all, it took less time than I thought it would, though there are still some loose ends to tie up – namely cleaning up old vestiges of NFS/NIS infrastructure on case and replicating the services yt used to provide on case (SMB shares and NTP, primarily).

case's very nice box will not go to waste – it will be reused to make a new (as yet unnamed) machine based around a dual-core CPU of some variety, running modern SATA disks (I'm leaning towards a pair of 750's in a software mirror) using an Intel GMA X3000 integrated video (unless ATI or NVidia does something with F/OSS drivers before I buy) w/ 4GB of RAM and a beefy PSU which I already own.

I've also already cannibalized out the 2 512MB DIMMS which were in yt's motherboard and put them into a Mini-ITX board I had lying around (for safekeeping, you know). I'm debating what to do with this one – it's a perfectly serviceable machine, though it's weak in the graphics department. I'm debating if I should build it into something interesting (like the VW Beetle PC, only different), or otherwise put it to some type of practical use (X Terminal perhaps)?

The local disk access is much faster. Oh, and there is no more hard drive clicking.

(the difference in kernel versions gives some indication as to how long I’ve been considering this move). tests are done with tiobench --size 512 /home, NFS mount
Unit information
================
File size = megabytes
Blk Size  = bytes
Rate      = megabytes per second
CPU%      = percentage of CPU used during the test
Latency   = milliseconds
Lat%      = percent of requests that took longer than X seconds
CPU Eff   = Rate divided by CPU% - throughput per cpu load

Sequential Reads
                              File  Blk   Num                   Avg      Maximum      Lat%     Lat%    CPU
Identifier                    Size  Size  Thr   Rate  (CPU%)  Latency    Latency      >2s      >10s    Eff
---------------------------- ------ ----- ---  ------ ------ --------- -----------  -------- -------- -----
2.6.20-15-generic             2048  4096    1   16.39 9.757%     0.237      254.79   0.00000  0.00000   168
2.6.20-15-generic             2048  4096    2   15.46 17.09%     0.503      564.42   0.00000  0.00000    90
2.6.20-15-generic             2048  4096    4   15.95 35.09%     0.970     1032.30   0.00000  0.00000    45
2.6.20-15-generic             2048  4096    8   15.83 70.40%     1.955     2096.14   0.00019  0.00000    22

Random Reads
                              File  Blk   Num                   Avg      Maximum      Lat%     Lat%    CPU
Identifier                    Size  Size  Thr   Rate  (CPU%)  Latency    Latency      >2s      >10s    Eff
---------------------------- ------ ----- ---  ------ ------ --------- -----------  -------- -------- -----
2.6.20-15-generic             2048  4096    1    0.58 0.998%     6.704     1841.12   0.00000  0.00000    58
2.6.20-15-generic             2048  4096    2    1.12 3.418%     6.751       81.39   0.00000  0.00000    33
2.6.20-15-generic             2048  4096    4    1.90 13.34%     7.988       95.30   0.00000  0.00000    14
2.6.20-15-generic             2048  4096    8    2.22 32.84%    13.801      223.28   0.00000  0.00000     7

Sequential Writes
                              File  Blk   Num                   Avg      Maximum      Lat%     Lat%    CPU
Identifier                    Size  Size  Thr   Rate  (CPU%)  Latency    Latency      >2s      >10s    Eff
---------------------------- ------ ----- ---  ------ ------ --------- -----------  -------- -------- -----
2.6.20-15-generic             2048  4096    1    6.05 7.012%     0.625     7319.08   0.00687  0.00000    86
2.6.20-15-generic             2048  4096    2    5.91 15.82%     1.291    11568.69   0.01030  0.00019    37
2.6.20-15-generic             2048  4096    4    5.85 35.79%     2.582    12656.48   0.02575  0.00134    16
2.6.20-15-generic             2048  4096    8    5.48 167.8%     5.032    17257.68   0.06981  0.00401     3

Random Writes
                              File  Blk   Num                   Avg      Maximum      Lat%     Lat%    CPU
Identifier                    Size  Size  Thr   Rate  (CPU%)  Latency    Latency      >2s      >10s    Eff
---------------------------- ------ ----- ---  ------ ------ --------- -----------  -------- -------- -----
2.6.20-15-generic             2048  4096    1    0.41 0.418%     0.023        0.51   0.00000  0.00000    98
2.6.20-15-generic             2048  4096    2    0.40 0.873%     3.540    14020.55   0.02500  0.02500    45
2.6.20-15-generic             2048  4096    4    0.39 1.780%     8.481    10081.21   0.12500  0.02500    22
2.6.20-15-generic             2048  4096    8    0.35 3.307%    28.507     6889.94   0.60000  0.00000    11
/home, local disk
Unit information
================
File size = megabytes
Blk Size  = bytes
Rate      = megabytes per second
CPU%      = percentage of CPU used during the test
Latency   = milliseconds
Lat%      = percent of requests that took longer than X seconds
CPU Eff   = Rate divided by CPU% - throughput per cpu load

Sequential Reads
                              File  Blk   Num                   Avg      Maximum      Lat%     Lat%    CPU
Identifier                    Size  Size  Thr   Rate  (CPU%)  Latency    Latency      >2s      >10s    Eff
---------------------------- ------ ----- ---  ------ ------ --------- -----------  -------- -------- -----
2.6.20-16-generic             512   4096    1  216.32 93.29%     0.016       38.59   0.00000  0.00000   232
2.6.20-16-generic             512   4096    2  372.12 344.5%     0.018       40.05   0.00000  0.00000   108
2.6.20-16-generic             512   4096    4  371.39 633.4%     0.033      116.09   0.00000  0.00000    59
2.6.20-16-generic             512   4096    8  401.29 1387.%     0.063      198.69   0.00000  0.00000    29

Random Reads
                              File  Blk   Num                   Avg      Maximum      Lat%     Lat%    CPU
Identifier                    Size  Size  Thr   Rate  (CPU%)  Latency    Latency      >2s      >10s    Eff
---------------------------- ------ ----- ---  ------ ------ --------- -----------  -------- -------- -----
2.6.20-16-generic             512   4096    1  220.57 95.99%     0.015        1.42   0.00000  0.00000   230
2.6.20-16-generic             512   4096    2  412.60 380.2%     0.016        0.20   0.00000  0.00000   108
2.6.20-16-generic             512   4096    4  405.32 539.5%     0.025       18.27   0.00000  0.00000    75
2.6.20-16-generic             512   4096    8  350.26 358.6%     0.021       19.57   0.00000  0.00000    98

Sequential Writes
                              File  Blk   Num                   Avg      Maximum      Lat%     Lat%    CPU
Identifier                    Size  Size  Thr   Rate  (CPU%)  Latency    Latency      >2s      >10s    Eff
---------------------------- ------ ----- ---  ------ ------ --------- -----------  -------- -------- -----
2.6.20-16-generic             512   4096    1   16.39 19.22%     0.096     2727.59   0.00076  0.00000    85
2.6.20-16-generic             512   4096    2    8.46 27.09%     0.361     3913.13   0.00763  0.00000    31
2.6.20-16-generic             512   4096    4    9.89 57.44%     0.601     7652.50   0.00763  0.00000    17
2.6.20-16-generic             512   4096    8   10.75 128.4%     0.956    11992.25   0.01221  0.00076     8

Random Writes
                              File  Blk   Num                   Avg      Maximum      Lat%     Lat%    CPU
Identifier                    Size  Size  Thr   Rate  (CPU%)  Latency    Latency      >2s      >10s    Eff
---------------------------- ------ ----- ---  ------ ------ --------- -----------  -------- -------- -----
2.6.20-16-generic             512   4096    1    0.86 0.726%     0.021        0.09   0.00000  0.00000   118
2.6.20-16-generic             512   4096    2    0.87 1.603%     0.027        0.57   0.00000  0.00000    54
2.6.20-16-generic             512   4096    4    0.60 2.385%     0.037       31.75   0.00000  0.00000    25
2.6.20-16-generic             512   4096    8    0.48 2.489%     0.024        0.22   0.00000  0.00000    19
This is a pretty huge throughput increase and decrease in latency.

What if….

| July 3, 2007

Books were treated like guns. Sounds silly when you put it that way, doesn't it?

Rock Quilts

| July 3, 2007

http://www.quiltsryche.com/.

Lizzy found it.

More on what is going on (no pictures this time)

| July 2, 2007

  • I got the Troy Bilt running, but it took an extensive cleaning of the carburetor to get it running again. I guess 20 years of gum and varnish will do that to you. I tore it down, cleaned it, put it back together – no luck. So, I pulled it down again and put it in the ultrasonic cleaner just like I do for my brass. This thoroughly cleaned and decreased it. I recoated it with oil to retard rust, reassembled it and fired it right up. Of course, had also spent a couple of hours cleaning out the mouse nest and the putting slime in the tires to seal any small holes or cracks which might be there. It still needs a little bit of tweaking and tuning, but is generally running. The tines are shot, but they can wait until next year.
  • Once I had that running, my father in law gave me a bunch of potatoes to plant, along with a plow for the tiller which makes a furrow. I got those planted and covered, and once they sprout I’ll borrow the plow and extensions, which will hill up the sides of the potatoes.
  • The other night we had venison (shot by my wife and butchered by me) and broccoli (from our garden), over rice (grown in Texas by some fellow). It was very good.
  • That little bastard rodent ate most of the broccoli. If I see him again, I’m going to blow his little head off. Of course, I still need to sight in my rifle
  • I’ve been doing a bunch of electrical wiring on the house – changing switches around, getting rid of some silly switches in annoying spots, changing fixtures, etc.
  • We’ve finally gotten most of the random boxes put away – or at least in rooms. Much of it still needs to be organized, but they’re no longer sitting in the middle of the house
  • I’ve started making ice cream again. Once I get it perfected, I’ll post a recipe for a chocolate peanut butter swirl which I’m working the kinks out of
  • I’ve gotten to about half the pruning which I want to get done, and the battery powered sawzall works well for small to medium branches, which is most of what I need to do. Had a fire and burnt up most of it.
  • Following on my success with the tiller, I pilfered a broken chainsaw from my father in law. It’s just a small craftsman saw, with maybe a 14″ bar on it. He tried to start it one day, got angry, and went out and bought a 24″ Husqvarna (and those are some nice saws.. and sewing machines)
  • I’ve removed most of the fencing which I wanted to pull down. A couple of the 6×6 posts still remain because they are cemented in and I don’t see the need to move them – I’ll likely just build some birdhouses to top them. The ones out front went quickly, but as I hit the ones farther towards the back of the property, I realized that these are not merely dropped into drilled holes as the ones in front were – each of these is cemented in. So, I dug down to the cement and tried to pull it out with the tractor. The post came out, but the cement stayed – which is fine. It’s about 6 inches below grade, so I just covered it over and called it a day. Of course, there is another section of about 4 or 5 posts, likely configured similarly, so that will take some time to do.

Overall, I’m now in much less of a rush, and will likely slow the pace of work a bit. This is good because (this weekend’s cooler weather notwithstanding), the heat is going to hit us soon, and my plan was to get to these things before it got too hot. Now that they are, the pressure is off. Sure, we have some things to do, but are out of money to do anything too involved (heating system, air conditioning, new tires on my car, etc.) for several months. So, time to sit back, relax, have some iced coffee, read some books, play some video games, etc., while working on things which take marginal amounts of money – pulling the fence posts or trimming trees requires only a small amount of fuel for equipment.

Mega photo blog update

| July 1, 2007

Some of the goings-on in my life captured in pictures (with plenty of kitten pics).

The cats see a rabbit. Mikey likes being outside… as does Arthur. Arthur gets tired being outside all day. Mikey is still a Momma’s boy. So, I was putting together some bookshelves, got them all together, then tried to lift them into place. My hand slipped and the shelves came crashing down… right onto my toe. I have to be honest – I’ve never had that much blunt force trauma before – it hurts. I vastly prefer slipping with a knife and cutting myself – it’s a much sharper, more easily mending pain. Liz’s bear finally came in, and we got it all set up on the railing. We’re going to rig up a “skirt” for under the head, so the insulation doesn’t show anymore. Mikey has become quite the little hunter – I have to go around with a bucket two or three times a week picking up the carnage. He’s basically tried every type of critter around which he can realistically catch, including…. a snake. Toby does not like to go outside. He just stays on my desk and make sure the papers don’t levitate away. He also likes to sleep on my iPod, for some reason. Aside from the occasional bird, Arthur doesn’t really seem to like to hunt much either, but he did find this little fellow… The thing is, Arthur didn’t hurt him at all. He was just carrying him around like a kitten… but he wasn’t being mean. He just would snuggle up to the bunny and when it would try to run away, it would bop it on the head. It’s kind of hard to read him – I don’t know if he wasn’t hungry and was just playing with the bunny as part of a predatory instinct, or if he’s so domesticated that he treated the rabbit as a fellow pet ( and tell me that their cats and rabbits get along). Still, the rabbit was petrified, and when Mikey decided to join in the fun, Liz and I decided to bring the cats in and make sure the bunny was uninjured. It was, and we let it scamper off. Now, we have also seen some good eating sized rabbits, and once I have a decent recipe for them, we’ll probably take some for food. Of course, this is also predicated upon getting my 10/22 sighted in for 31gr JHP ammo, as opposed to the 40gr lead I had zeroed it with before. I had it shooting quite well at 75 yards with that ammo, but with this lighter ammo it was about 4 inches high and 6 inches to the right at 50yds. I was trying to pop a woodchuck in the garden. I saw the bullet hit high, so I held low and fired again (it froze, presenting me with an excellent opportunity for a followup shot. I fired, and clean missed, and then it was gone. I checked where the second one hit and the elevation was right, but it was way right. I hadn’t noticed this before. I adjusted the scope the requisite number of clicks to get me where I want to be, but I haven’t actually tried it yet. I need to hit the range and set it up correctly. While I’m there, I might as well take the opportunity to move the scope forward – it’s too far back for where I place my head. Last week while working, Liz and I saw a doe and her fawn outside the window. Presumably they were headed down to the creek to get a drink. Now, one thing I do not have a picture of is the fox I saw while working on Thursday. The cats were out and I hadn’t seen Arthur in 24 hours, so when I saw the fox I was worried (foxes eat cats, amongst other things). Not having a proper “large varmint” caliber rifle (.22 is good for woodchucks, but too small for fox), I grabbed the AK and headed out the door. Now, a .30 cal bullet is probably overkill for a fox at 25 yards, but it would work. However, by the time I got the rifle and was out the door, the fox had scampered off. I stalked around trying to find him, but no such luck. Anyway, I’m off to bed. I’ll try and post more about what I’ve been doing (basically living the country lifestyle, as well as guns issues, what’s going on with my pistol permit, etc.) later on this week. I’m trying to get the house cleaned up for a cookout I want to have this weekend, and made a lot of progress on that, but there is always more to do. One thing worth mentioning – I was able to sit and play video games (Red Steel on the Wii) for the first time since we bought the house (though I might have played Zelda: Twilight Princess a bit while it was still snowy… I don’t recall).