Category Archives: Uncategorized

Intelligent Design? The Vatican thinks not.

I’ve believed this for a long time, and am glad that the Vatican agrees, even if I am not a Catholic.

“The fundamentalists want to give a scientific meaning to words that had no scientific aim,” [Cardinal Paul Poupard, head of the Pontifical Council for Culture] said at a Vatican press conference. He said the real message in Genesis was that “the universe didn’t make itself and had a creator”. [link]

I wish fundamentalist Christians, especially those who feel compelled to force their views onto the political scene, would read this, coming from the heads of their own faith, and accept the fact that the Bible is not a literally-translated be-all and end-all. The Vatican says that it is the message that is important, not the precise details. They are in no way denying or even hinting at the absence of a Creator. They simply, and intelligently, leave the details of implementation up to science, putting an end to the fundamentalist notion that an Intelligent Designer is responsible for the creation of all that is, down to the most minute detail.

Thank you, Vatican, and thank you to all Christians (and, for that matter, followers of any religion) who live by the ideals of their faith, but are not unthinkingly blinded by it.

Unthinking faith is a curious offering to be made to the creator of the human mind.
-Joan A. Hutchinson

Science without religion is lame. Religion without science is blind.
-Albert Einstein

Bugs

Saw this on slashdot today: History’s 10 Worst Software Bugs

Very interesting and sobering read. Brings a renewed perspective on writing clean code, you could say.

On a side note- we are now down to at least 3rd place in the programming contest, pending a further review of one of the contest problems. I hadn’t been working on the problem in question, and so was less aware of what was going on, but apparently about an hour into the contest, one of the problems was changed due to some issues with how it was originally worded. This change caused much confusion and wasted a lot of time, throwing the rest of the contest results into a bit of question. We’ll have to wait and see how it all works out as far as us going to the World Finals.

The year of the road trip

It seems this is to be Colin’s year-of-the-road-trip. Earlier this year, Microsoft flew me out to Seattle, WA, for a weekend, which I have just realized I never remembered to blog about. Hopefully I will in a bit. In more recent news, the Amphisbaena team from UW-Madison, composed of Ray Wong, Brian Byrne and myself, has (conditionally, pending any appeals by other teams) advanced to the World Finals of the ACM International Collegiate Programming Contest, sponsored by IBM (So Scott, tell your uncle thanks). At the contest at UW-Parkside today, we competed against approximately 186 other teams from the North-Central North America region. The joke for me, personally, is that before the contest, I told my dad that we would at least try to beat South Dakota School of Mines & Technology (his alma mater), and as it turned out, they were the only team to beat us. So, we’ll be up against them again at the World Finals, held in San Antonio, TX, next April, along with teams from every corner of the globe.

How did we get here? Well, after a very intense 5-hour problem-solving session today, we came away tied for the maximum number of problems solved (5 of 9), and 2nd in minimum accumulated time required to solve them (580 minutes). To be perfectly honest, I hadn’t expected us to solve more than maybe 3 of the problems, and I certainly hadn’t expected us to place higher than untitled.cpp, another team from UW-Madison. My best to untitled.cpp, especially Jesse and Piramanayagam, who won’t have another shot at the finals. I wish that things could have worked out better for you guys. In truth, the problems on the contest came as a surprise to all of us. We had been practicing with problems from previous years’ world finals, and expecting somewhat easier problems for the regional competition, but we certainly did not expect the problems to be as easy as they were. Those who know anything about algorithms may understand what I mean when I say that none of the problems actually required any. They all had some sort of brute force or recursive solution, or at most involved the construction of a simple tree. We had anticipated more complicated problems, involving graphs or greedy or dynamic programming approaches, which is why I had not expected to perform very well; I’ve never studied these things before practicing for this contest. Since the problems were so much easier & different, however, they were far more in my range of ability & familiarity as an engineer, and we were able to solve problems at a pretty good rate. I was impressed by how well we worked together as a team; I think this aided our unexpected results to a large degree as well.

With that, I wish us luck at the World Finals, (and also that the regional judges don’t end up bumping us down due to other appeals…. :/ )

Spacesuits and 2000 B.C.

Got a chance tonight to do one of the coolest things I think I have ever done. As part of joining Tau Beta Pi, a national Engineering Honor Society, we spent a few hours today at the UW-Madison Foundry casting bronze bents. A bent is the symbol of Tau Beta Pi (see the upper left-hand corner of their homepage). The foundry was very cool. I don’t remember the year that it was founded, but it’s been around since long before there was a Materials Science & Engineering program. We spent much of the afternoon packing an oily sand into molds around the forms of our bents, and then extracting the form to leave a hole for the bronze. I understand, in a very vague, naive way, why blacksmiths are as strong as they are. Just smashing sand into a metal frame was pretty tiring on the arms. By the end of the night though, the main event. We melted down a bunch of old bronze (partly flawed castings from previous years, partly bronze scraps) in this big induction furnace thing, which resulted in boiling bronze that glowed very brightly yellow. Definitely something you should see sometime: molten metal. To be perfectly accurate, I shouldn’t say “we” melted down the bronze. One of the three (or so) grad students who run the foundry was doing the actual melting, though the VP of TBP helped him with pouring the metal into the molds.

Here, roughly is the scene:
On a worn brick area in the middle of the shop floor there are 4 metal frames sitting, full of compressed oily black sand. In the middle of the sand are gaps in the shape of TBP bents. To reach those gaps with bronze there is a hole that we cut out, as well as a bit of a funnel-like lip that we carved into the upper surface of the black sand. At the far side of the room, a giant circular heating/furnace element has just been lifted off of a crucible containing molten bronze. Two men in space suits (or close enough… bright aluminum heat suits including helmet/face shield/cape, jacket, pants, and boots) grab the crucible with a distinctly medieval-looking clamp device, and carry it to another yoke with a single handle on one end, and two on the other. They then lift the second yoke, with the brightly glowing crucible several feet from each of them in the middle, and begin pouring bronze into the molds. The bronze flows out like water, at first, bright orange with flashes of even brighter yellow, and then bubbles up when it has filled the mold and oozes just like you would expect lava to once it has begun to cool. After filling our 4 molds, the remainder of the molten bronze is dumped into an iron frame to cool & be stored, and the overflow from this looks just like Hollywood magma… bright orange glowing metal dripping slowly until it cools.

Definitely an awesome experience; it felt like a cross between the middle ages (or even 2000 BC, which is apparently when bronze was discovered) and landing on the moon, what with the spacesuits and all.

The Moral of the Past 3 Days Is…

Never start a 3-week project 3 days before it is due. No matter how easy it seems like it will be.

I can honestly say that I have spent more time in front of a computer on the Engineering campus in the past 3 days than I have spent sleeping, eating, and in other classes combined. No joke. Take tonight for example. By the time I get my retarded self off this computer and back to my dorm, it will be 4 am. I have class at 8:25 that I can’t miss, because I have to hand this project in then. So I’m planning on about 3.75 hours of sleep tonight. And I spent 5pm to 7pm + 9pm to 3:30am ( = 8.5 hours ) working on this project today alone (well, this sleep cycle alone… hasn’t been the same day in hours.)

For anyone who wants to know what kept me up this late, my completed report is located here (2.5 MB PDF, you’ve been warned). It probably won’t make sense without the problem description, but I’m too lazy to find the link to that right now. Oh, and if you do actually read it for some obscure reason, I apologize for the 8 scanned-in pages that are huge and nasty-looking. That was the last thing I did tonight, just in case the TA loses my paper or something; I’m not doing this again.

So don’t be like me. Do your work when you’re intended to. You’ll be happier. And sleep more. And babble less.

G’night.

Flour in the rough

As of 12:30am central time tonight/this morning, Roe Sellery B unofficially began its winter hall decoration festivities. One pissed off house fellow and a giant bag of flour later, the festivities were brought to a halt, though the taste of flour still hangs in the mens’ bathroom air. Hurrah for pissing off the house fellow three days before Halloween, at the so-called “#1 Party School in the country“…

Here’s a glimpse of the pre-winter excitement: (click on the pics for higher-res)

And the best for last; the door on our left is our house fellow’s room. Someone wrote that note up on her board earlier tonight, in an unrelated plea for a more festive hall. I suppose you could call the decoration which was soon to follow “ironic”…


(Witte, for those who aren’t familiar, is another residence hall at UW-Madison.)

Weekend Review

What has Colin been up to this weekend?

Well, Friday night saw him beat Jared at racquetball for this first time this semester (Not the whole match, just 1 game of 3…). Came off the blocks strong with a 13-1 lead, but somehow only ended up beating him 15-12. Tough break on the failed come back there, Jared… The other two games were a lot more typical, scorewise, though I played better than I ever have before, and Jared took a pretty good beating trying to stay ahead.

Later that evening we also caught a showing of A History of Violence. Definitely a different sort of movie. Pretty mellow throughout, though gruesome fight scenes when such did take place. I was disappointed by the lack of a soundtrack for the majority of the movie. A couple people behind us walked out, it was dragging on so long in the middle, but overall, pretty decent. My movie recommendation: Rent, don’t watch in theater or buy on DVD. Not intended for immature audiences.

Saturday was, of course, dominated by Wisconsin football. They gave us all these free towels (much more impressive when we were all holding them up- this picture doesn’t do justice) courtesy of U.S. Cellular, which, incidentally, is Cellcom’s partner carrier in the Madison area. The game was good in the second half, though the first half looked a bit rough. Tied at half time 10-10, the badgers caught some lucky breaks (like interceptions returned for points) that turned the game around to win it 31-20. After the game and a Toppers pizza, I headed back to the dorm for some programming practice.

Said practice being for Sunday’s main event: an ICPC practice team competition. My teammates, Ray Wong and Brian Byrne, and I worked for 5 hours on a set of 8 problems. We solved 3 completely with our answers accepted, a 4th was nearly accepted, except for a few test cases that the graders (our coaches) weren’t sure if our program was in error or the test case, so that 4th program was questionable at the time, and a 5th which we nearly completed by the end of the event, but which didn’t compile : (. It took about half an hour of more work afterward for me to get it to run correctly- we had made both typos and logic errors in our last second effort to get the program written. So we solved 3 and nearly solved 5, which I think is pretty good, seeing as we’d never programmed together before, and the “1st” team from Madison solved 4, nearly 5. A cool technical trivia note on why I think our 4th problem didn’t match up in all cases: the numbers involved in calculating the answer were on the scale of 9^8 (9 to the 8th power), which is greater than 2^32 (which is greater than 2 billion). The datatype we were using in our program could only store unique integers through 2^31. Thus, in the most complex test cases, if the appropriate inputs were given (way up in the corner of a really huge [2 billion subdivisions per side] graph), our program would encounter a nasty error known as integer overflow. What’s (2^32 -1) + 1 to a computer? -(2^32-1). It wraps around… Gah…

Anyway, that was my weekend, in more detail than you probably cared for. Now I need to find time to complete statistics and reading assignments for tomorrow, a circuit analysis assignment for wednesday, and study for two midterms for thursday. Busy, busy, busy.

Not Adding Up

Madison is, I hear, the most selective school in the University of Wisconsin system. They take the highest average GPAs, the highest average ACT/SAT scores, or, generally, the brightest students, on average. This year’s freshman class at UW-Madison is insanely smart. For instance, 426 of the 6,142 new students (nearly 7%!) are number 1 in their high school class. That’s simply astounding. Plus, over 63% of the incoming freshmen came from the top 10% of their high school classes. Wow.

That being said, something in this situation doesn’t add up. My gripe today: bicycles. If there are so many smart people at this school, how is it that nobody understands how to ride a bike? Allow me to elaborate (aka “rant”):

  1. Bike racks. You would think we were a school for the mentally handicapped if you ever took a look at our bike racks. Honestly people. Yes, I know the bike racks can be crowded, but for real, learn to use the damn rack the right way, and they would all fit fine. Don’t put the bike in from the wrong side, Don’t lean your bike against it crosswise, and Don’t put your bike on top of someone else’s. Please.
  2. Traffic Laws. Obey them. As a bike, you have the same rights and rules as a car. Don’t run red lights. You’ll get hit and you’ll hit pedestrians. Don’t make changes to your riding path without warning, especially don’t stop without warning, and most especially, don’t stop in the damn bike lane, ever. Get out of the way so we don’t hit you from behind. Don’t ride the wrong direction in the narrow bike lanes. They’re one way. For a reason. This is not rocket science. Oh, and don’t ride full speed in crosswalks either. Technically I don’t think you’re allowed to ride in crosswalks at all, but definitely don’t ride full out. Pedestrians will die, and hate you.
  3. Helmets. Wear them. Without these we will be a school of mentally handicapped. It’s your life. (And if you’ve ever tried to cross Park St in the east-bound bike lane of University, you’ll understand that cars Do Not Watch out for you.) Do the odds, and then buy a helmet.

I think that’s all I have to rant about bikes today. There’s other things about the masses at Madison that tick me off, and generally fail to meet the purportedly high academic calliber of the UW-Madison student, but I’ll save those for another time.

Bill Gates comes to town

Another item for me to catch up on: Last week Wednesday (Oct. 12), Bill Gates, the Chief Software Architect of Microsoft (who, I think, needs no further introduction) paid a visit to the UW-Madison campus. He was scheduled to give a talk to about 200 students in the afternoon, and also dropped in on an introductory level Computer Science class as a guest speaker. That “Stand In” lecture was filmed by mtvU, and will be broadcast on October 25, for any who are interested.

I’m no longer at the right level of Computer Science courses to have been in the class that got to meet Mr. Gates, though the person in the front row of this picture looks quite a bit like me… enough that two different people called to ask if it actually was. Too bad I don’t own a red sweater, then I could claim I sat 3 feet from Bill Gates. As it was, he actually passed me in the aisle, which was 2 seats farther to my right. That was as close as I got to meeting him.

The afternoon presentation was very interesting. Gates talked about the origins of Microsoft, the vision that he had then, and has now for the company and for computing in the world, and about the importance of developing future Computer Scientists to continue that work. Briefly, he founded Microsoft on the vision that computing hardware would become cheap enough and pervasive enough for the masses to benefit. The company today is still driven by the goal of pervasive computing, and “creating software that enables people to meet their full potential”, as their mission statement says. As long as they stay true to that mission statement, I think Microsoft has some very good ideas in mind and can take computing to even higher heights.

Gates also demoed some new Microsoft products, including the upcoming XBox 360. Very impressive demos; I hope that the released product will live up to the hype. One of the cool features of the new Xbox 360 is that it will allow you to connect an MP3 player or camera directly to it via USB, and let you browse the devices to play songs and/or view photo slideshows with a minimum of hassle. Seeing that in action during Gates’s demo was very cool.

The final part of the presentation, Gates answered questions from the audience. I didn’t, unfortunately, get to ask him anything, but some of the questions raised were pretty interesting. I was very impressed by how quickly Gates came up with answers to the questions asked of him, as well as how easily he was able to steer his answers toward a point that he, personally, wanted to make. One of the interesting questions raised was how Gates perceived the commercial software market shifting as Free and Open Source Software came to the forefront, and I thought Gates gave a solid answer, both from his company’s perspective, and from the end user’s perspective. Gates’s answer was that Microsoft’s solutions are not at risk in the software market, because of two key factors. Firstly, Microsoft provides, I believe Gates said, 24/7 support for their products. By this, I am assuming that he refers to business customers, as I don’t recall ever having received any free support with my copies of Windows or Office. Secondly, Microsoft’s products, being all developed “under one roof”, so to speak, provide the advantage of tight integration that many open source programs/suites lack, due to their development by different groups of programmers. I think that both of these points are very valid, and should be considered when making software purchasing decisions. This is not to say that there aren’t downsides to Microsoft’s solutions, and significant positives to alternatives. As you probably know, I am a strong supporter of the alternatives as well.

All in all, it was an excellent experience, made more so by the opportunity to meet the Campus Recruiter for UW-Madison, as well as our area’s Academic Developer Evangelist, at dinner on State Street. We ate at Chautara, and if anyone is looking for a new cuisine to try, I highly recommend them. The food is Nepali, and the salmon, chicken dishes, lamb, goat, and beef that I sampled were all delicious. The restaurant is more formal than most college-oriented State Street dives, however, so expect entrees at $16+ and wear something nice.

Lesson Learned. 1 billion times.

I learned a valuable lesson today. Specifically, one billion is a huge number that should never be considered as an acceptable dataset size to do a sequential search on. Possibly the most retarded thing I’ve done this week was decide that it would be a good idea to look through a billion pieces of data one by one to solve a computer program. To get an idea for how infernally stupid that was, pick a number from zero to 1 billion. I am now going to guess your number in the same fashion as my retarded program.

Is it one?
Is it two?
Is it three?

Is it four million, three hundred-twenty-four thousand, six hundred and
five?

You see the idiocy? Now consider the smart way. I bet you I can guess your number in 30 questions or less. (Pretend we picked 103,456)

Is it greater or less than…
1: 500 million? less
2: 250 million? less
3: 125 million? less
4: 62,500,000? less
5: 31,250,000? less
6: 15,625,000? less
7: 7,812,500? less
8: 3,906,250? less
9: 1,953,125? less
10: 976,562? less
11: 488,281? less
12: 244,140? less
13: 122,070? less
14: 61,035? greater
15: 91,553? greater
16: 106,812? less
17: 99,182? greater
18: 102,966? greater
19: 104,904? less
20: 103,934? less
21: 103,449? greater
22: 103,692? less
23: 103,570? less
24: 103,509? less
25: 103,479? less
26: 103,464? less
27: 103,456? equal

That definitely seems to be an improvement. My program agreed. Last time, it ran for 15 minutes before I gave up and killed it, far from an answer. This time it took 1.042 seconds.

Lesson Learned.