Evan Charles

Evan Charles was born today at 7:34 pm weighing 7lbs 15oz. He was 20inches long. He joins us at much larger than his older sister did. Mom and baby are doing well. Dad isn’t too bad. Big Sister hasn’t yet been notified, but I’m sure she’ll be happy.

[Update 9:17: I forgot to add that true to form, as I was starting to think about putting information online, before I could do anything, Dave Terrell send me a message.  Good that some things didn’t change. ]

CMake so far

I’ve been investigating cmake at work as a better build system for our cross platform C based projects. I’m thinking about starting up a third one, so now is the prefect time to really go after this as for one project we have a build system per platform and on the other we have two build systems. When you mix in wanting to make universal binaries on OS X its yet another wrinkle. cmake was recently chosen by KDE to be the build system for KDE4 since KDE4 will be fully supporting Windows and OS X, as well as the other unicies via X. I used a small convenience library as the test piece as it was only two files big, but it had the requirement of at least two external libraries.

Some pros for cmake that I’ve found so far (compared to what we’ve been doing):

  • support a big number of build environments on the different platforms. On windows it sports 11 different build environments, OS X 3, and Linux 2. For OS X and Linux, you only really need those two or three, but on windows it supports 4 different versions of visual studio as well as Borland, Watcom, and gcc.
  • Takes care of the flags needed to build executables and libraries on those supported platforms.
  • Does out of source builds on windows.
  • Tracks dependences on all platforms without an external application
  • Does search and replacing on things like .in files without having to call out to external applications

Some cons I’ve found so far:

  • The documentation on the web page is pretty horrid. The book is pretty bad too, especially when compared to other technical books I’ve read recently, but its much better than the website. When combined with the book and experimentation, the FAQ is helpful.
  • Doesn’t really have the concept of convenience libraries. This will result in common files being built multiple times. I don’t like this, but its not fatal.
  • The CMakeCache is getting in my way more than being a help, but that might be the side effect of my learning process right now.
  • I haven’t yet figured out how to make it query the person compiling the app if it can’t find something. This may not be possible. At the very least I want to make it bitch and bomb out if a required dependency isn’t there. I just haven’t found it yet, I’m thinking.

This isn’t an exhaustive review yet, but I wanted to get down what was in my mind before I forgot. I had just found the convenience library thing and that’s what inspired the post. My next step is to move a full existing project over to being built with cmake. This is a library that depends on expat, boost, curl, antlr, and (optionally) swig. Should be a good challenge.

[Update 11:58: I found an answer to my “bomb out if the dependencies are missing” question. Thanks, devchannel!]

[Update 2:51: No this isn’t here just for g0ff. Turns out the latest cmake has modules to Find Java, Doxygen, Boost, Curl, Expat, and Swig already. It looks like just custom items for antlr and cppunit will be needed. Also, it only ever wants to link against dynamic libraries, not static ones. That’s a PITA.]

[Update 5:52: Okay, the convenience library thing is upsetting.  The output of what I was working on is a static library and there are same example command line tools that link against it.  From my reading of the cmake stuff, I should just include the library source files to the target for the executables being created.  The problem with this is for n example programs, I’m compiling librets n times.  This doesn’t seem very optimal.]

In the year 2016, if the city is still alive

The Olympic committee was here in Chicago this week as da mayor tries to convince them to bring the 2016 Olympics to Chicago. Around the city in various poster kiosks is a poster pointing people to www.chicago2016.org and has an image of a runner and his reflection. I found the following poster installation outside of Union Station where I catch the bus.

Not Helping

Somehow I don’t think this is helping.

Game on!

One of the guys who hangs out in #luni (Hawkins) has a little website project up called NearbyGamers. Its all web 2.0 with its tags (for what games you play) and its usage of Google maps. I think its a great idea and I’ve started putting stuff into it.  Right now there aren’t many people near by, but I figured I’d put stuff in.  You never know when a pickup game of some sort could break out.

Turtleneck or not?

malesymbol.jpgAs many people know, version 2.1 (or is it 3.0?) will be a boy.  Sarah and I had always planned on having 2 children, and its just an easier decision now that we’ve collected the whole set.  The downside to having a boy is that we have to have a discussion that we were able to avoid the first time around: circumcision.

While I may be cut, that doesn’t mean its the right choice for my child.  Sarah, being a female, really hadn’t given it much thought until recently.  While no decision has been made, I think we’re starting in opposite camps.  Or at least slightly divergent camps.  I’m strictly on the fence, but leaning on the side of "being intact."  Sarah is leaning in the opposite direction, but she’ll fully admit its due to conformity and aesthetics.

As part of our reexamination of the issue, we had Netflix send us Penn & Teller: Bullshit season 3 disc 1.  This was their episode on circumcision.  We had watched it when it first aired on Showtime, but it was time for a refresher.  It was fairly grueling to watch, and just based on the pain of the child, its a fairly compelling argument against.  Sadly, some of the "intactivists" they show don’t help the cause much.  Some of their arguments and presentation were fairly "out there" so it weakened the case a bit.  However, those who were for circumcision didn’t have their case bolstered by the fact that in the United States circumcision became popular thanks to efforts by Kellogg and Graham as a way to keep those pesky kids from masturbating and keep their devotion to God.  1) It doesn’t really slow guys down (I’ve verified this) and 2) the cereal guy and the sweet cracker guy?  Give me a break.  Anyway, even after watching, Sarah was still on the side she started with, but it gave us a few more places to check out. 

One of the items that P&T mentioned was the American Academy Of Pediatrics: Circumcision Policy Statement which I intend to read in the next few days.  I also, on my own, looked up the wikipedia article on circumcision.  Also, in trying to find some links for this post, I found this  recent article in the Charlotte Observer.

In what I’ve read so far, I’m still on the fence.  It doesn’t seem medically necessary, despite recent reports on the reduction in HIV transmission in Africa.  Something doesn’t sit right with me on those reports, especially given the reported rampant nature of unprotected sex there.  I would hope that I would raise my child right and he would practice safe sex at all times.

Anyway, one final thought from the Abstract of the America Academy of Pediatrics (also referenced in P&T:BS):

Existing scientific evidence demonstrates potential medical benefits of newborn male circumcision; however, these data are not sufficient to recommend routine neonatal circumcision. In circumstances in which there are potential benefits and risks, yet the procedure is not essential to the child’s current well-being, parents should determine what is in the best interest of the child. To make an informed choice, parents of all male infants should be given accurate and unbiased information and be provided the opportunity to discuss this decision. If a decision for circumcision is made, procedural analgesia should be provided.

Anyway, dear lazy web, what say you on the removal of foreskin?

[Update 1/17: For various reasons, most of them having to do with travel, I missed an article in the Chicago Tribune on this topic: Circumcision Circumspection.  (Actually, this is the same article I pointed to above from the Charlotte Observer.  I guess I didn’t realize it was from a local origin.)  However, I caught a pro-circumcision letter to the editor that was in this mornings paper.]

“Do you have any super powers?”

Via WWDN.

I’m not quite sure how I ended up as Superman, especially since I think I’m lacking in strength.  I see myself as more of the second two, especially if we’re talking Wally West as the flash.  In any case, I’m sure being Superman will please my daughter.  Dr. Doom I need to think about, I’m not sure how I feel about that.

You are Superman

Superman
75%
Spider-Man
65%
The Flash
65%
Iron Man
65%
Robin
55%
Green Lantern
55%
Catwoman
55%
Supergirl
45%
Hulk
35%
Batman
30%
Wonder Woman
25%
You are mild-mannered, good,
strong and you love to help others.

Click here to take the Superhero Personality Quiz

You are Dr. Doom

Dr. Doom
60%
The Joker
58%
Lex Luthor
58%
Green Goblin
57%
Riddler
48%
Mr. Freeze
43%
Poison Ivy
37%
Apocalypse
36%
Dark Phoenix
35%
Magneto
35%
Kingpin
28%
Catwoman
28%
Mystique
25%
Juggernaut
25%
Venom
22%
Two-Face
17%
Blessed with smarts and power but burdened by vanity.

Click here to take the "Which Super Villain are you?" quiz…

Shuffle a huge deck of cards

Killer Bunny CardEveryone knows how to shuffle a deck of 52 cards, its pretty easy, even for those without the highest dexterity rating. Due to my recent fascination with Killer Bunnies. I’m starting to need to know how to shuffle a larger and larger sized deck. This is clearly a problem I need to solve as when I was playing on Christmas with Sarah and Tony we pulled many Dolla and many Play Immediately cards in a row. (Just so you know what size deck of cards we’re talking about, I received three expansion packs as a gift and bought 2 more. This brings our killer bunnies set up to 500 cards.)

Doing a quick web search for “how to shuffle a large deck of cards” has gotten me off to a good start. Wikipedia has an entry on shuffling that lists various techniques. I had already thought of what is know as a Pile shuffle, and that seems to be the best bet. Cool fact of the day is that Pile shuffling is the only legal form of shuffling in bridge. However, I think with 500 cards, we’ll need to do more than 4 piles. I really can’t think of anything better, and it should got the job done. It’ll at least insure that cards that were next to each other preshuffle (from the last game) aren’t next to each other anymore. I’m open to other ideas if anyone has any.

One useless search return was how to shuffle Tarot cards that are physically large, not many in number. I guess if I was playing with HUGE CARDS, that might be useful to me. There were also many links to algorithms for shuffling cards in your programming, but that’s not exactly what I need either.

Keith's attempts to fix the cable of life