Monthly Archives: April 2010

Inspiration for Moonbounce Day…

Okay, I’m stretching with this one: it’s a link to archive.org and their movie Le voyage dans la lune (A Trip To the Moon, or maybe A Voyage In the Moon) which is perhaps one of the very first science fiction movies, dating back to 1902. At the start of the 20th century, this was how people imagined a trip to the moon might occur. The same people who saw this film as young children could also have witnessed Apollo 11. Pretty amazing.


If you’d like a less fanciful source about the moon, you could try this NASA documentary on Apollo 11:



WA5VJB Cheap Yagis — Wood Boom

A couple of weeks ago, I started working on a version of the DL6WU Yagi that I might be able to get going for this weekend’s Moonbounce activities. I cut and mounted all the elements, but frankly, the feed system is a bit more complicated than I would like so I didn’t get it finished. On the other hand, I have constructed the so-called “Cheap Yagi” of WA5VJB before, and its feed is very, very simple: the driven element is a hairpin and the coax is soldered directly to it. Nice, neat and simple. So, I surfed on over to here:

WA5VJB Cheap Yagis — Wood Boom

And started cutting some copper-bronze welding rod to lengths. But something disturbed me: the length of the elements weren’t monotonically decreasing. In particular, director 4 was only 11 inches long, but it was surrounded by directors which were 12 inches long. That struck me as bad. Very bad. So, I tried to search for the original article that these antennas were based upon, and found a scan here:

The original article

Close comparison of the dimensions for the 11 element 70cm antenna reveal that director 4 should be 12″ long as well. So, that’s what I cut. Tomorrow, I’ll drill the holes, hot glue the elements in place, and then solder the feedline to it. And, maybe I’ll try to test record a pass of AO-51 or something to ascertain that it basically works.

Counting Awari Positions…

Previously I wrote a simple program to compute the number of positions that are legal in Checkers. I thought I might perform the same analysis for the game of Awari. The simplest approximation that you can get is by counting the number of ways that n undistinguished stones can be distributed in m distinguished pits. A few minutes scratching (or searching the web) will show you that n undistinguished balls can be distributed in m distinguished pits in comb(n+m-1, m-1) ways. Awari begins with 48 stones and 12 pits, so if we sum all the totals, we’ll get the total number of positions. Well, it is an overestimate. First of all, there are no legal positions in Awari with 47 stones, since the first capture either captures 2 or 3 stones. And, there are many positions in here which cannot occur in the game. For instance, in the real game, the non-moving player can never have stones in every pit (except the first move, of course) because he would have previously had to empty one pit to sow it, and that pit is always skipped when you sow. And these totals don’t include any kind of “reachability” analysis: many nodes can’t be achieved in play.

According to Romein and Bal’s work, there are 889,063,398,406 positions which are reachable in Awari. Writing up my naive totaller gives the following totals:

--------------------
 1                12
 2                78
 3               364
 4             1,365
 5             4,368
 6            12,376
 7            31,824
 8            75,582
 9           167,960
10           352,716
11           705,432
12         1,352,078
13         2,496,144
14         4,457,400
15         7,726,160
16        13,037,895
17        21,474,180
18        34,597,290
19        54,627,300
20        84,672,315
21       129,024,480
22       193,536,720
23       286,097,760
24       417,225,900
25       600,805,296
26       854,992,152
27     1,203,322,288
28     1,676,056,044
29     2,311,801,440
30     3,159,461,968
31     4,280,561,376
32     5,752,004,349
33     7,669,339,132
34    10,150,595,910
35    13,340,783,196
36    17,417,133,617
37    22,595,200,368
38    29,135,916,264
39    37,353,738,800
40    47,626,016,970
41    60,403,728,840
42    76,223,753,060
43    95,722,852,680
44   119,653,565,850
45   148,902,215,280
46   184,509,266,760
48   279,871,768,995
--------------------
   1,171,666,558,334

which indicates that approximately 1/4 of all the positions enumerated here are illegal or unreachable. Still, the ease of indexing using this naive idea may compensate for doing anything more compact but more confusing.

Mancala/Oware/Awari

Checkers is driving me nuts. I thought maybe I should implement a different board game, just for variety. Chess and Othello seemed obvious, backgammon might be fun, but games from the Mancala family also seemed interesting. What’s more, you can even buy a cheap Chinese-made Mancala set at Target. Which I did. Apparently Awari has been solved completely, resulting in a complete 48 stone database which acts as an Oracle. I’m not sure that matters to me. Anyway, just thought I’d write this down, so when a year passes and I haven’t done anything, I’ll be nudged into thinking about it again.

Milhouse, what are you thinking?

Okay, here’s the problem which is driving me crazy. Milhouse gets itself into this position:

Black to move, but Milhouse doesn't get the right answer...

Milhouse should play 6-10, and should respond by winning a checker on the next move by forcing the checker that doesn’t move into a trade. But for reasons which somewhat escape me, milhouse judges that 6-2, 6-9 and 6-10 are all equivalent at high search levels. At 5 ply deep, it gets the right answer: it judges the 6-10 move as valued at 268, instead of the 223 and 224 that the other two positions generate. But 10 ply, it judges 6-2 and 6-9 as 268, and 6-10 at 270. And at 15 ply, it judges them all as 269. I suspect that in the first moves, it is playing a short series of moves which gets us back to the original position, where it then thinks the forced exchange will play out. But milhouse doesn’t gain grown, and just repeats this situation when it searches again.

I do have some code in place which is supposed to deal with repeated positions, and score them as a draw, but perhaps that isn’t working properly.

Three Kings vs. Two Kings still confounds Milhouse?

A couple of years ago, I realized that Milhouse didn’t play the 3K vs. 2K engame properly. Today, in doing some testing, I realized that it still doesn’t. At one point, it misses the obvious trade in material, and therefore wanders into a draw by repetition. I suspected it is because something is awry in the evaluation function. I adjusted the balance of the evaluation function slightly: a one man lead when you are down to only three checkers is much greater than a one man lead at 5. That seems to have helped a bit. But there is still something curious about the position….

What does this software do?

From a spam email that snuck pass my filter today (name was changed to prevent giving spammers free advertising)

Thanks for your interest in Mubbley Corp. To summarize, our solution allows you to:

  • Fully automate infrastructure delivery and dramatically reduce administrative workloads.
  • Leverage an industry-unique reservation model to manage current and future resources.
  • Easily scale solutions from individual departments to the global enterprise.
  • Integrate with and extend existing virtualization and data center automation investments.
  • Enable end users to efficiently self-serve infrastructure to support business activities.
  • Fully govern and control the deployment and reclamation of self-service infrastructure.
  • Could there be ANY more buzzwords in this? Does anyone have even the faintest clue what this means? If I were a business owner, and bought this product, other than the immediate cashing of a check, what do you think this software would actually do to help my business?

    Weekend Project: A Cheapie 70cm Yagi for Moonbounce Day

    Okay, okay. The postings about computer checkers haven’t exactly been all that popular with you guys, so I thought I’d write up something that I am currently working on. Moonbounce Day is coming up April 16, 17, and 18, and I thought it would be a good opportunity to try to hear the station operating from Arecibo, Puerto Rico. I don’t have any equipment that does 70cm SSB/CW except for my trusty FT-817, so my idea is to just listen and record, and to use the minimal antenna that might conceivably work.

    I of course continue to have my trust Arrow antenna, but I thought something a bit longer could be better. So, I have designed a DL6WU yagi consisting of a six foot insulated beam with 9 directors tuned for 432 Mhz and matched with a folded dipole/hairpin match. A trip to a local welding supply house netted me enough welding rod to make all the elements for $5, and another $3 netted me a nice six foot length of 3/4″ square hardwood to serve as the base. A few quick experiments last night showed that a miter box and a hacksaw could result in reasonably accurate cuts, but that maybe I should cut them 1mm long, and then trim them using my benchtop belt sander.

    I’ll try to nab some pictures as it progresses. With any luck, by the end of the weekend I’ll have this mounted atop an old camera tripod, and I’ll be able to test it out a bit by maybe aiming it at some LEO sats and seeing how well it works. I’ll also have the complete dimensions later.

    For now, coffee and breakfast.

    Update:

    Okay, here is the design that I came up with using VK5DJ’s Yagi Calculator. I specified an insulated boom 0.75″ in diameter, round elements 3.2mm in diameter, and a design frequency of 432 Mhz. One slightly annoying thing is that the design software only produces metric measurements, so I took them, wrote a little program to convert them into properly rounded values expressed in 1/32nds of an inch, and then dumped them all out. Here we go.

     338mm |  13 5/16" | Reflector
     327mm |   12 7/8" | Radiator (single dipole)
     305mm |       12" | Director #1
     302mm |   11 7/8" | Director #2
     299mm | 11 25/32" | Director #3
     296mm | 11 21/32" | Director #4
     294mm |  11 9/16" | Director #5
     291mm | 11 15/32" | Director #6
     289mm |   11 3/8" | Director #7
     287mm |  11 5/16" | Director #8
     285mm |  11 7/32" | Director #9
     686mm |       27" | Total folded dipole length
     343mm |   13 1/2" | Center of the dipole
     154mm |   6 1/16" | Center -> bend of the dipole 
     149mm |    5 7/8" | End -> bend of the dipole 
      25mm |  0 31/32" | Bend Diameter
      30mm |   1 3/16" | Boom position of Reflector
     169mm |  6 21/32" | Boom position of Radiator
     221mm |  8 11/16" | Boom position of Director #1
     346mm |   13 5/8" | Boom position of Director #2
     495mm |   19 1/2" | Boom position of Director #3
     668mm |  26 5/16" | Boom position of Director #4
     863mm | 33 31/32" | Boom position of Director #5
    1071mm |  42 5/32" | Boom position of Director #6
    1290mm | 50 25/32" | Boom position of Director #7
    1519mm | 59 13/16" | Boom position of Director #8
    1758mm |  69 7/32" | Boom position of Director #9
    

    I cut the elements by marking the lengths, then putting them into a little plastic miter box and cutting them with a hacksaw. A few are very slightly long, so I’ll go back and fine tune those by a little judicious use of my benchtop belt/disk sander. I then turned to the boom. I must admit that on second glance, I’m not very happy with the hardwood boom: it’s got about 1/4″ of wave/twist in it as you sight down the length. But oh well, this is an experiment anyway. I marked all the positions, and drilled them out with a 1/8″ drill bit. This proved to be too tight of a fit for my elements, so I dug up a 9/64″ bit, which is very slightly too large, and allows some wobble. When I made a cheap yagi before, I secured these with hot glue, which is what I suspect I will do later.

    That’s where the antenna stands now. I have to work on the driven element a bit more. Bending this by hand is a bit imprecise.

    I’ll have pictures up when there is something to see.

    Why Cory Doctorow won’t buy an iPad (and thinks you shouldn’t, either)

    Cory Doctorow has a long write up on how he doesn’t like the iPad and why he thinks that you shouldn’t either. Since this is pretty much release day for the iPad, I thought I’d use it as a stepping stone to rant and rave a bit.

    If we turn back our clock a few short years to January of 2007 when the iPhone was announced, we received all sorts of criticisms about the device. “It’s too expensive!” “It locks the user into AT&T!” “It doesn’t multitask!” “It doesn’t have a GPS!” “It doesn’t interface with X/Y/Z!” “It doesn’t do YYYY which smartphone ZZZ does!” The punditry was telling us all that it wasn’t something we should want.

    Three years later, and it completely owns the smartphone market. It’s pretty clear that all those technology pundits and advocates don’t really understand why people buy gadgets of this nature.

    Cory raises a bunch of points, and while they aren’t necessarily wrong, they are for the most part irrelevent.

    As an example, Cory says that the iPad hardware “infantalizes hardware”. This is a hopelessly geek-centric view. For the millions of people who bought the iPhone and the millions that I predict will buy the iPad, this device isn’t a pathway to a career software design. It’s a device they can carry around, consume media, send and receive mail, and generally access the news and information that they like. The myth that Cory operates under is that somehow the devices themselves fuel interest and achievement in technology. The fact is that you could have given an Apple II to every single person in America in 1980, and you would have gotten a few more software and hardware engineers. And you would have gotten an awful lot of people playing Choplifter, and who figured out nothing more than how to run Choplifter. As much of a died in the wool software jockey as I am, I still have an un-jailbroken iPhone with a few dozen apps on it. I haven’t designed any new apps for it, and in spite of that, I’m very happy to own an iPhone. When I am standing in line at the grocery store, or want to know what movies are playing at my local theater, or want to text my sister to wish her a happy birthday, I don’t really want it to be a software design challenge.

    And why all the righteous indignation for just the iPad/iPhone? Recently, it has come to my attention that most BluRay players have a pretty significant amount of computing power inside them. Why aren’t they open? Why can’t I write software for those? Why is all that amazing capability hidden away where we can’t have at it?

    I haven’t as yet bought an iPad. I might. I might not. Some of the points about the lack of open-ness do offend me a bit, since I am a guy who likes to write and distribute software. But I’m a six-sigma from the norm software geek. Who am I to tell you what devices you should or shouldn’t like?

    Why I won’t buy an iPad (and think you shouldn’t, either) – Boing Boing.

    False advertising for MLB.TV?

    I’ve got opening night tickets for the Athletics/Mariners opener next Monday, and once again, baseball is beginning to creep into my brain. I’m an XM radio subscriber largely because they broadcast pretty much every MLB game, and I enjoy listening to the play by play while driving around. Last year I also had a lot of fun with the very good iPhone app, which includes streaming audio of every game, which extends my ability to listen to live games.

    So, with the new season, I was considering the possibility of adding MLB.TV and get video streaming. It seems like a very nice package, and costs about $120 for the entire season. They advertise:

    MLB.TV Baseball Everywhere

    Watch all 2,430 regular season games Live or on demand in HD Quality

    Seems like a good pretty good deal. I like to track the A’s, and there are other teams/games I would certainly watch. The only problem with it is that it is false advertising.

    You can’t actually watch 2,430 games live because of blackout restrictions. I’m in Northern California, where according to MLB both the Athletics and the Giants are blacked out. And not just for games played locally, but even away games. In other words, MLB.TV doesn’t help me see even a single game for the two teams that play locally, even when they aren’t playing locally, or even if they aren’t being broadcast locally at all.

    But it doesn’t even stop there: there are lots of Saturday and Sunday blackouts too. Live games starting after 1:10 ET and before 7:05ET are blacked out in the entire United States. I dunno about you, but those are kind of the premium baseball watching times for me. The fact that I can’t use my premium package to watch live baseball then seems pretty damned lame.

    Yes, you can watch them on demand. As long as you demand them later.

    This is ridiculous. I want to spend money to watch these games, but the MLB is apparently doing all they can to keep from delivering the product which every single baseball fan wants.

    Sorry MLB.TV, I’m keeping my $120 for now.

    MLB.TV. Baseball Everywhere. | MLB.com: Subscriptions.

    It is good to see another checker program work hard…

    I was sparring a bit with both Martin Fierz’s Cake, his jCheckers and also with John Kruezer’s guiCheckers. These games illustrated a number of things. Milhouse has bugs. And it seriously lacks proper checker knowledge. Because it lacks checker knowledge, it doesn’t search deep enough. And it lacks an opening book.

    Sigh. It’s hard to know where to start to improve things. So, I pulled my copy of One Jump Ahead off the shelf, and started flipping through at random. I was trying to remember some of the details of a Chinook-Tinsley match that was described in it, The game I was looking for is described on page 193, and occurred on Dec 13, 1990. Chinook played a move on turn 10, to which the immortal Tinsley replied “You are going to regret this.” 23 full moves (46 plies) later, and Schaeffer was forced to admit that indeed, he did regret and Tinsley had the advantage.

    Two things strike me about this:

    In this section Schaeffer is talking a lot about his “nemesis”, a bug in the scoring routines. It’s a little bit enheartening to read this. I’ve been working on Milhouse in little bursts of activity, and it seems like it is progressing nicely, but it occasionally behaves in a mysterious fashion. At this point in Chinook development, Schaeffer had spent 560 days on his project, and he still had mysterious bugs. It appears that I am in good company, even if I think my computer should be holding its own.

    Last, that the game is still fiendishly subtle: on page 190, we are confronted with this position from an earlier Chinook-Tinsley match.

    White can win, but it's difficult...

    Tinsley played 27-23, which results in an exchange, and by virtue of the endgame database, it is a draw. But later analysis by Tinsley showed that he missed a win (gasp!) I handed it to Milhouse, but it makes no good headway on this position, so I tossed it to Cake to see what it could see. Cake takes a bit of time, but eventually comes up with the right idea, and records that it is up a man afer churning for roughly 10 minutes. It is tough going, even with Cake’s 8 piece endgame database, because no exchanges occur until fairly deep in the search. For fun, I loaded the position into Chinooks 10 piece endgame querying applet, and it verified that 17-13 is indeed a winning move as later analyzed by Tinsley. Chinook also reveals that 14-9 and 14-10 are winning moves.

    It’s all over my head, that’s for sure.