Sunday, July 31, 2011

Finished Reading Code Complete!

If there was a book that every programmer must read, it's this one. I heard about it back in the day, I bought it 5 years ago, and I managed to finally finish it last night right around midnight. It took me a while because some parts were tedious, and because I wanted to take my time to absorb the content. This books talks all about the craft of software construction, everything from how to write requirements to how to lay out blank space...seriously! there's a great section about the pitfalls of using pointers, how to debug, but my favorite parts were the philosophical dialog about commenting that included what good Socrates would say if programming was around in ancient Athens. The part about programmer's character was also an splendid expose of what a good programmer must act like. It should be mandatory reading for everyone in the industry.

This link to stackoverflow shows the list of books that every programmer should read, not surprisingly it's a the top of the list.

Thursday, July 28, 2011

I live my life in a quiet , constant struggle deciding what to do.

There are 4 things that I want to spend most of my "free" time doing.

1. Quality time with family

2. Read books for pleasure

3. Read technical books to "sharpen my saw" and improve technically

4. Do my own projects, work on the things that are interesting to me.

I spend most of my time doing #1 and #2. #3 and #4 suffering, lagging behind. I want to do something about it. It's tough because I can basically always sit back and do 1, and 2. (No, not that #1 and #2, jeez) 3 and 4 require a higher degree of concentration and a large amount of time. I can't just write code in 15 minute intervals. I need to figure out a way to do squeeze technical improvements into my schedule.

The importance of a sense of purpose

Since graduation, I've been reading a lot of good books just for the fun of it. However, I am starting to feel like I need something else, like a big project. A few months ago, (actually, now that I think about it, it was more like a couple of years ago) I was thinking of a startup, after taking that entrepreneurship course at UF, I prefer to do project that won't consume my whole life. Something like doing apps or creating a nice web page. Learn a few programming languages a year, write a serious, interesting tool or application. That kind of stuff that requires some effort, but can be put down in case something else comes up.

I enjoy myself more when I have a sense of purpose in my day to day routine. For me is simple, yet not easy. I live in constant struggle to better myself. I understand that I have limitations, but I strive to get past them. How do I better myself? By working on my character, by working on being a more decent human being, specially to those that are close to me. I attempt to understand what makes a good husband, to be a good parent, and a good friend, this is difficult, yet it's important. In fact, I consider this The Most Important Thing.

The other personal challenge I have is that I want to become number one in my field, that's also a difficult task, being an engineer is hard enough, being a great engineer requires constant effort, it's not enough to do one's job right, one must also push the boundary.

So that is the reason for my inner struggle, on one hand I have this engulfing desire to better myself, on the other hand, there are pleasurable things that I can be doing that don't necessarily help me improve but that are just as important. Spending time with my family doing nice things is super important to me. Watching movies, enjoying a quiet dinner with Martha. Curling up with a good novel. Playing soccer with friends, all these things sum up to what I call "the good life"

That's all I have.


Saturday, July 23, 2011

What I've been Reading Lately

After graduating last April I promised myself that I would blog, write android and iPhone apps, read a bunch of technical books, contribute to the next Linux Kernel release and to GNU Radio, create a startup business, publish some papers on cognitive radio, perhaps invent and patent some new Signal Processing Algorithms, find a cure for Cancer, etc. Instead, I've been consumed by the pleasure of reading with my kindle. That thing is too sweet, it's easy to carry, and I have a plethora of books to choose from. I feel super guilty for not doing the other things I promised myself to do. I still want to do all those things, but, I have been spending more time with just the family, but I can see how I can fall in that pattern forever without doing anything else, which is not bad, I really love how I've gotten to actually have a social life, but, anyway, I am getting off the subject, here's a list of books that have been consuming my time lately. When I am not working, or being a parent or husband, I have been reading these:

Christopher Hitches's Memoirs Hitch-22.

Hitch talks about his life, he's quite a complex person, you might know him from his articles in or Vanity Fair, no matter who you are, he goes out of his way to make sure you disagree with him on something. he was a staunch communist in his youth who later has been leaning more and more to the right, he was a supporter of the invasion of Iraq, thinks that Ms Thatcher was sexy, and is one of the new-atheists four horsemen. I am halfway trough this book, I like it, it's entertaining and all, but it's not one of those books that leave you with anything other than good entertaining. I feel like I've been having a long conversation with the author. I want to finish the book so I can get to other books, Christopher Hitches was diagnosed with stage 4 Cancer late last year, so he probably doesn't have that many books left in him. I will miss him.

Cooking for Geeks.

O'Reilly books published a how to cook books for people like me, I am geek not because I am a computer-oriented person, but because when I get into something I like to go a bit deeper into the subject than the regular person, a geek is never satisfied with knowing that steak is done when its internal temperature reaches135 degrees, he has to know why 135 is important, he has to know what happens down at the molecule level, he wants to know the technical name, the hows and the whys, that way, once he reaches a fundamental understanding of the physics and chemistry of the process of converting raw ingredients into a tasty and nutritious meal, he can get conformable in the kitchen, this book is meant for the geek in us. It tells you the science behind all the crucial steps in cooking.
One of the things that the books spells out from the beginning is the distinction between the different types of cooks, you've got your Giving cooks, you know, the people who love to cook at thanksgiving, so they can share with the whole family, they usually stick to known good recipes, and like to please everyone. Then you've got your Healthy cooks, who know the nutritional value of everything, and who will sacrifice on taste in order to eat healthy. Then there's the methodical cook, who will follow the recipes to the letter, and who will never deviate or experiment, there's the Innovative who will make up stuff as he goes and the Competitive who will cook to impress. Most people who cook will have some of these traits, but one usually dominates. Personally I am outside my environment in the kitchen, but when I think of how I would like to be, I think I'd be a mix between the healthy and the innovative, but in reality I'm more like the methodical, whenever I do get into the kitchen, I just follow the recipe word for word, I would have no idea what to do if I was missing an ingredient in the middle of making something. Martha, in the other hand, is a true natural, she just knows what to do, she almost never makes a mistake, and everything she makes comes out the way it's supposed to. I, on the other hand, can never make two pancakes that look or taste the same.
I'm hoping to change that, if anything I want to prove that I can do it.

The Age of Wonder

I was in the middle of reading this book when I was preempted with Hitch22 as a father's day present, actually, It was Infinite Jest that interrupted this wonderful book, but I am getting ahead of myself. This is a colorful and utterly absorbing history of the the men and women who gave birth to the Romantic Age of science. This book was featured in the New York Times best books of 2009. So it caught my attention, it seems like such an obscure topic, so I decided that it must have been superbly written if it caught the attention of the ny times. So far, it's very good, the author did his homework, researching the stories to the last available details, it tells us about Joseph Banks in Tahiti, Herschel's discovery of neptune, the first planet discovered in modern era, the rise of the balloon era, that's what I've read so far, it swallows you and takes you back to the times when we started to push the limits of our knowledge of the world, if you think about it, we went from flying biplanes to flying to the moon in less than 60 years. The scientific method has been that powerful in shaping our world for the last couple of centuries, this book covers a piece of that tale.

Infinite Jest

The first time I heard about David Foster Wallace was when he killed himself back in 2008. I read the article in the new york times and moved on, I read about how he got famous after writing Infinite Jest, how it was one of those "masterpieces" and "magnum opus" and all of that. It wasn't until last December when I read "A supposedly Fun Thing that I will never do again" that understood the magnitude of his genius. This man went on a cruise, wrote about it, and made me laugh and depressed at the same time! How he does it is amazing, he gets to the bottom of things and analyzes and dissects, exposes people's behavior in a way that makes you rethink the way you see the world.

Infinite Jest took some effort to get trough in some parts, but, it was worth it. There were some passages in there that just gripped me and shook me, and made me want to put the book down, and just digest what I just read. He put a lot of stuff in there that by itself would have been enough to make it a great novel, but all together, it was too much, an overload, so brilliant one needs sunglasses to read it.

There's stuff in there about what it feels like to be chronically depressed, he describes it as nausea of the mind. Just like your picture how your stomach feels when you want to throw up, that's how your mind feels. I don't want to butcher his words, I just want to say that knowing how he took his life after his depression drugs stopped working, when he writes about a character being depressed, he knows what he is talking about. The stuff about drug addiction, depression just take your breath away, then you have his humor, his irony and wit. I don't recommend this book to everyone, but for me, it was worth the thousand pages.

Code Complete

This is another one of those books that are very long and hard to get trough, it's not because its badly written, but it because technical books require complete concentration for me, and that's hard to get, this book is essential reading for every software developer out there. I am two thirds of the way done, but, I started reading this book a long time ago. I have all these technical books queued up to read, but I can't read them until I finish this. This is a great book, it talks in great detail about every relevant aspect of software construction, it hits every stage in the process and gives awesome insight. The main reason why it has taken me so long, I have this book in pdf in my PC, it's not in my kindle, and I don't have a hard copy of the last edition, so the only times I get to read this is when I make the conscious effort to allocate time for it. I want to finish this book soon so I can get to other tech books that I've been meaning to read. I want to make myself an expert in assembly, processors, DSP, and languages. That's about it.

Political Science from the Yale Department features course material that's open to the public, I just finished reading all the transcripts for Moral Foundations of Political Science and now I am working on Capitalism: Success, Crisis and Reform. Like the geek that I am, I want to get to the bottom of politics, I am trying my best to approach politics with a scientific and objective mind, and to get to know the whole spectrum of political ideology, that way, when I listen to a liberal, I know what the main points behind that side is, same with conservatives, and everything in between. I want to understand our government, our economy, and what's relevant and what isn't. It's a big thing, but everyone should have some understanding of what's going on in the country.

That's all

So that's about it, I have not even touched on what I have pending in by books to read list. This post covers what I am currently working on. Now I can see why I have not had time to do any of the other things in my list to do's. Anyway, I am going to bed, I am feeling super buzzed because I tried this new Florida IPA called Swamp Ape, this thing packs a punch, and my light weight body can't handle it. So, that's it for now. Be good to each other people.