What I’ll Be Reading

I just ordered a copy of Genetic Programming by John Koza.  Because I would like to do my Master’s thesis on the topic of genetic algorithms in economics—probably by using genetic algorithms to find evolutionarily stable infinite-time prisoners’ dilemma solutions—I figure I should get a book or two which will be very helpful.  I already have a copy of Adaption in Natural and Artificial Systems by John Holland.  It is a very interesting book, in that it is “technical” in the somewhat math-intensive way, but at the same time, there is no actual computer science involved.  Rather, it is a higher-level description of the processes, so despite the fact that it is 14 years old, it’s still a nice introduction into the topic.  It’s just too bad that I haven’t had the motivation to actually sit down and read it is all…  Maybe if I get some people to force me to read it, I’ll do some of that.  It’ll also help that I have a day off tomorrow and can read it while watching non-important NFL games.  Nothing goes together like the NFL and evolutionary theory, folks.

A Wireless Router Which Should Not Suck

I’ve complained a lot to people about my current wireless router in Germany:  a D-Link 624+.  My problem with it is the same problem I read about in the American models:  it likes to reset itself and drop wireless connections.  This required the people from whom I am renting to re-start the router every 12 hours or so and was a major annoyance.  For this reason, I decided to purchase a new router while I’m here in the US, and I have made my final decision:  the Buffalo Tech WHR-HP-G54.  I am going to do some field testing before I take it with me to Germany (I already made sure it can handle the German power setup, so I’ll just need to get an adapter and probably a German surge protector just in case), so I’ll post the results here.  At home in the US, we have a D-Link which does a pretty good job, in that it doesn’t restart itself every few minutes and I can get a signal in my bedroom.  For some reason, my German router can’t see my bedroom there despite the fact that it’s practically the same setup, if not even better.  In America, the router is in the basement and the signal has to go through some impediments to reach my laptop, including some wireless phones on the same frequency.  In Germany, there are actually fewer impediments, though more wireless devices in the area.  And for some reason, my bedroom has a dead spot exactly where the laptop would naturally sit on my desk, so I usually have to contort myself to get the connection to work.  At least I’m in the room where it actually reaches…

So expect two more posts on this topic:  once when I do some field testing to figure out its range characteristics, and a second one when I take it with me, to see how it stands up to foreign conditions.

Incidentally, I would have bought the router in Germany but a router which I paid $61 for (after shipping) will set you back 71 Euro (but with free delivery) in Germany—approximately $90.  Plus, I get to take this router back with me when I go home, so if it is of high quality, I won’t have to buy a router when I get back.

In Rememberance—Babi Yar

65 years ago, on the 28th and 29th of September, 1941, German soldiers and Soviet collaborators massacred 33,751 Jews in the outskirts of Kiev. The Babi Yar massacre was terrible enough on its own, but more importantly, the lack of response (and support from Ukranian civilians) enabled Hitler to push on with his final solution.

This is the danger of a tremulant response in the face of evil, as well as a message that the permanent things are not entirely good (despite how I, very easily, may be interpreted).  The inclination for man to do evil upon man is an ingrained sentiment and a few decades—or even a few centuries—of words to the contrary are useless if there are no actions to back up these words. In fact, they are worse than useless if they are nothing more than a self-serving means to hide in our shells and claim that all is well while evil transpires.

Getting Into The Hall…

Tony and I have decided to start NFL Superstar careers.  I am going to get into the Hall of Fame as a superstar Left Guard.  Despite the fact that I am a 91 overall (and thus better than one D’Brickashaw Ferguson, not to mention every other lineman in the draft), I dropped to the 3rd round, when the Lions picked me up.  My player is 6’9″, 345 pounds (the computer suggested these figures) of pure muscle and fat.

Now to turn the Lions into a powerhouse, one clipping call at a time!

My Shabbat Violations

From the Wikipedia listing of Shabbat violations, we can see exactly how I get my terrible 5% rating.  I shall list the 39 activities forbidden on Shabbat, along with some special notes for the things I do but shouldn’t.  Enjoy.

  1. Sowing
  2. Plowing
  3. Reaping
  4. Binding sheaves
  5. Threshing
  6. Winnowing
  7. Selecting
  8. Grinding
  9. Sifting
  10. Kneading
  11. Baking – I sometimes cook, though that has dropped considerably in the last year.  I’m close to knocking this one out entirely.  
  12. Shearing wool
  13. Washing wool
  14. Beating wool
  15. Dyeing wool
  16. Spinning
  17. Weaving
  18. Making two loops
  19. Weaving two threads
  20. Separating two threads
  21. Tying - This is only for permanent knots.  Thus, I am allowed to tie my shoes.  Especially because my shoes become untied approximately once an hour, so they clearly are not permanent by any stretch of the imagination…
  22. Untying
  23. Sewing stitches
  24. Tearing
  25. Trapping
  26. Slaughtering
  27. Flaying
  28. Tanning
  29. Scraping hide
  30. Marking hides
  31. Cutting hide to shape
  32. Writing two or more letters – For this I am culpable.  I might be able to cut out the writing as long as I don’t have to take notes when I study on Saturdays.  Fortunately, I have Fridays off, so I could study on Friday and relax on Saturday.  That’d be helpful.  However, typing is considered in this as well, another major problem.
  33. Erasing two or more letters
  34. Building
  35. Demolishing
  36. Extinguishing a fire
  37. Kindling a fire – This is where the electricity comes into play.  Automobiles as well.
  38. Putting the finishing touch on an object – I’ve a knack for finishing reports/papers/programs on Saturday.  Apparently I should procrastinate some.
  39. Transporting an object between a private domain and the public domain, or for a distance of 4 cubits within the public domain – You should not carry things.  This is somewhat problematic for me because I always bring my Siddur and Torah with me.  In addition, I carry my key in my pocket.  The way to get around this is to wear the key so that it becomes clothing.

So there you go.  If you want more, here is a more detailed listing.  And right now, Tony is glad that he isn’t Jewish, though there isn’t any Shabbat prohibition against sitting around in your underwear all day watching TV, so long as you don’t turn the TV on or off, change the channels or the volume, or anything else of the like.

Kvetching Pays Off Again!

As I was having lunch with the other interfaces/technical guy, I was complaining about how slow my step 5 process is, though I noted that it’s slow in the real life version as well.  As I was complaining, I noted that the SQL select statements are actually very fast (about 15 seconds total) and the iterative work slow (roughly 3 minutes in total for 1700 lines, though it depends upon many factors, and it was as low as 1:55).  I also said that I’m doing a (very fast) lookup in each line.  Well, it then hits me that even if all of these lookups are fast, the fact that I’m doing one for every single line has to be killing the speed.  Then, I realize that I can just do a join statement at the source and get all of the fields that I need.  So a file which is 2128 rows took me 2:30 using the old method.  Using the new style, it clocks in at 1:18.  That’s a rather nice savings.  With a file containing 15,722 rows, it took 6:21 to process using the new style versus an amazing 48 minutes with the old style.  Even given the fact that I have a variation of a couple of minutes with smaller files, we’re still talking a big improvement in two ways.  First, it’s a lot faster.  But second, the new version is coming in in sub-linear time, whereas the old version looks to be exponential.  Given that, the increase just gets bigger and bigger as the files grow.

The moral of this story is pretty simple:  whenever possible, use the big databases to get as much information as you can before you do your own work.  Teradata and Oracle are, to begin with, better-performing than Access.  Add to this the fact that we have real-life Oracle and Teradata DBAs who have worked hard to come up with ways of making this system go as fast as it can and it’s a guarantee that anything done through Teradata or Oracle will come up quicker than through Access.

The second moral of the story is to avoid looped queries.  Yeah, that select statement to grab one field from one smallish table and query it is pretty fast, but when you have to do it thousands of times, that really adds up.  So even if you have to do complicated joins (which will take longer than simple selects from single tables), do the join on the source side instead of trying to combine things on the Access side.

Fashion Advice From My Mom

After showing my parents my fedora, I learned several valuable things.

1)  Swing pants were just terrible.  Seriously, pleated pants with cuffs?  I got made fun of too many times to try either of those, much less both.
2)  I should not wear green or brown suits.  I figured this already, but she made it patently clear.  Grey and black are my good friends.  Navy blue might work, but I must be careful.  Grey and black have the Michael Chrichton Advantage as well:  I can mix and match pretty much anything, and as long as I keep the socks the same color, it’ll automatically match.
3)  That Stetson hat is extremely high quality.  If it ever pours down rain, all I have to do is shake the rain off, pop out the crown, pop it back in, and let it dry and it’ll be good as new.  The material also won’t shrink or bend out of position.
4)  I should wear my hat in the Indiana Jones position rather than the Chassidic position because I do not the curls necessary to make the latter work.
5)  After threatening to wear an ice cream suit, my mom suggested I buy a banana yellow suit.  I don’t believe she was being serious.