I've always been hung up on the notion of countable vs uncountable infinity. It seemed a rather silly thing to say, that you could have more than infinity. I understand the argument for it, but from an intuitive level, it felt wrong. Now, I feel that it is completely wrong. There are only two kinds of numbers, those whose digits can be represented and those whose digits can't. 7, 13, 10000000 all belong to the first category as well as .015, .139, and .00000000000000000000000000000000001. PI, 1/3, and e all belong to the second. The second category of numbers are not really numbers but ideas. They are, in essence, equations. Given a precision, they can produce a number of the first category, but they are not numbers in and of themselves. Another example would be the summation of the reciprocals of all integers, given a precision, we can produce the number, but the summation itself is just an abstract notion. With that we can understand that what we consider to be countable infinity doesn't really exist. It is in the second category and is therefore part of the larger infinity. If you give the countable numbers a precision (limit), then you can discuss those numbers; however, without a limit, the countable numbers are just an idea, much like PI, or the zeta function. In fact, you could think of the countable numbers as a function that, given a number, produces a new number one higher. However, there is a difference between the "idea" of the function and the numbers that the function produces. The idea of the function can go into the infinite, the actual numbers cannot. The same holds true with PI. The idea of PI can go into the infinite, the actual number can't. The problem with the proof of uncountable infinity is that the natural numbers are limited to the finite whereas the irrational numbers are allowed to go to the infinite. When one realizes that the irrational numbers cannot go to the infinite, then the proof becomes nonsense.
Last Sunday I went to the AFC Championship Game between the Indianapolis Colts and the New England Patriots. It was a blast. The game was amazing and the RCA Dome is an excellent environment. The one thing I noticed is how loud it is there, well, at least when the other team is on the field. You don't get a true idea of the volume through TV or radio. The other thing I noticed were how great the fans were. We were sitting beside a number of Colts fans and they were extremely classy and fun to be around. I have to say that I was surprised at how much fun I had watching the game. I had begun to think that football had become a television sport, but I can safely say that is not the case. It was soooo much better watching it live and in-person. It didn't feel productionalized. It felt raw and real. I had a truly amazing time and I can't wait for next year's game!
Google has been slowly developing tools and technologies to support its unique requirements. I'd like to use this post to catalog information about them.
BigTable is google's answer to the database. Wikipedia has a good article on it here. MapReduce is google's answer to workflow. The article is here. Sawzall is google's high level distributed language. The paper is here. GFS is google's file system. The article is here.
I would like to have seen more information about what a P300 response is. Is it possible that some people are "malformed" and have this response even when presented with an unfamiliar image? What if it is your living room and, while the blood is unfamiliar, the rest of the information is. There are too many variables for me to enjoy this.
As for going to jail because you thought about committing a crime, that is ludicrous. The difference between humanity and animals is that we can control our actions. I'm not sure we can control our thoughts. Regardless, as humans, we must be judged on what we can control.
I have a series of boolean equations. Only one of these equations can be true at any one time. I need to find an efficient way of determining which of these equations is true. I would also like to know more about these equations, like is it true that only one of the equations can be true and what new equations are needed to make that true.
Here's an example. Let's say that half of the equations deal with the condition where variable A issw equal to the value 'M'. 25% of the equations deal with the condition where variable A is 'm', 25% of the equations deal with the condition where variable A is 'n', 15% where the variable A is '?' and 10% where the variable A is 'N'. The variable B has a situation where 75% of the equations deal with the condition where it is 'M' and the other 25% of the equations are divided among the other choices. There are also variables C, D, E, F, and G. Which of these variables do I evaluate first? What factors should I consider? Are there algorithms that will help me in determining this?
The previous year was a year of changes. I worked for three different companies, in three different cities, one of which required me to move 800 miles away. Now, I'm back where I began and I've learned an awful lot and met some truly amazing people.
One of the first things I learned is that there is nothing more important than your family. I missed being able to pick my kids up from school and taking care of them in the afternoons. I also missed the good friends I had made here. I didn't realize how much I had missed them until I moved back.
Second, I learned that going to church is an important part of your spiritual development. Seems obvious, right? Well, I've recently been going to the First United Methodist Church of Wynne and have really enjoyed both the service and the Sunday School. I've been going there with friends, which really helps.
Third, I have learned a lot, technically. I've learned the value of having business people drive functionality and I've learned the value of architecture that is planned over architecture that evolves. I've learned about J2EE, CORBA, networking, TIBCO, and a whole host of other things. I enjoy learning, so that was fantastic.
Fourth, I learned that to be a good team leader, you've got to be able to stand up for those who are working for you. I've had leaders that I really enjoyed at all the companies -- they were all really positive experiences. Each one had a different style, but when it came time to go to bat, they were there to stand up for me.
Fifth, I learned that if you want to stay challenged in a traditionally business IT shop, you need to challenge yourself. It seems the expectations of those places are low and you can easily "just get by." In fact, you can easily descend into madness. But, to truly excel, you have to challenge yourself to come up with innovative ideas to make their software cost less and be more stable. I think more and more the key to good programming is focusing on stability.
Sixth, I learned that I have to make tradeoffs and I'm thankful for the past year because it helped me understand what those tradeoffs are. Right now, I work from home. It allows me to pick up the kids and help out my wife, who drives an hour to work three days a week. However, it also isolates me from communication with others. I really like the office setting where I can talk to an adult when I run into a roadblock, instead of being isolated from everyone. Therefore, I have to realize the need exists and try to assuage it in a different manner. Eventually, I'll go into the office more (at least 2 days per week) and hope that helps. However, right now I'm not working with a team, so going into the office doesn't really help. Nevertheless, spending the last year in two different office environments helped remind me that it can be a lot of fun and that I need to remember to go into the office more when I feel isolated.
Finally, as I head back to my old job, I realize that the reasons I left it are still there. However, after spending a year studying myself and other companies, I'm am in a much better position to adapt so that those things will no longer bother me. Right now I just want to be appreciative of the great gifts that God has given me. I'll worry about the other things later :-)