I spent most of today engaged in understanding and applying package principles to my Tic Tac Toe. I also worked more on my blog post on package principles, and the two fed into each other. As I worked on one I had ideas about the other, and visa versa. This meant, however, that my blog post is yet to be finished, since I kept changing it and having to reconsider something I previously thought I understood.

Today I had another idea for a blog post, or more something that I want to investigate. It’s been added to my list. This list is ever growing and, in the context of the blog, may seem like a mystical fable. It does exist, and I think I’ve got some time to acutally published some of my promised blog posts this week. Not today though.

Today is just a few thoughts on IPMs. I still find estimating really hard. On Friday I went to an estimation meeting for a client project. It was really interesting to see crafters who have been estimating longer than I have working on estimating stories. It was a little different because it was a slightly more general estimation of the entire project, and the points meant weeks rather than hours. Jim told me that, in actual fact, these estimations were often extremely accurate, which seems crazy as the time frames are so big and the stories so vague. I found it really difficult to even imagine working on a story for more than two weeks. I’ve only really worked on projects for short amounts of time, maybe two weeks maximum, so to imagine working on something so big is quite hard. But then again, I suppose I’ve been working on Tic Tac Toe longer than that. And I know that each story that has been estimated in weeks will be broken down into smaller stories that can be dealt with in days and hours.

But for me, my Tic Tac Toe continues. I’ve got my ususal list of refinements, the goal of optimizing my negamax a little further, although I’m not quite sure how to do that since I’ve already got alpha-beta pruning, but another of my stories is to make my board immutable, which, hopefully, will help the negamax speed.

We also had a Zagaku on purity in functions. Purity is not something I’d really heard about before starting here, and I believe it stems from functional programming. I knew about functional programming languages before or, more accuratley, I knew that things called functional programming languages existed before, and I know that, so far, I’ve only really used OO languages, but I feel like the concept of OO is not something I could really explain comprehensively. I can say that OO views everything as objects, but I don’t think I could discuss the fundamental ideas with confidence, so it’s on the list. As well as purity, immutabitlity, functional programming…

It’s strange, when I first started this blog I wasn’t really sure what to write about. I didn’t think I knew anything that would make an interesting post, and I hadn’t learn anything that I could concretley write a blog post on, what I was learning seemed so broad and abstract I didn’t know how to write about it, so I just wrote these journal like posts. Now though, I’m inundated with all the things I want to learn and research. It is such a great feeling. There is so much possibility for learning every day I find most of the posts I write now are just promises for new blog posts. I’m trying to make more time for my blog posts now though, and I feel like I have more time this week, so I hope I can deliver on some of these promises.