Showing posts with label Books. Show all posts
Showing posts with label Books. Show all posts

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 Slate.com 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

oyc.yale.edu 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.


J.V.




Wednesday, May 12, 2010

Recharged



Just got back from a nice, relaxing vacation with the family. What I loved the most is that the kids and Martha were very happy. Although Anthony thought that the animals you see from your window at the Animal Kingdom Lodge were "boring", I had to laugh at that one, damn, they have no idea about how good they have it.


I have been reading that book "Founders at Work" Stories about startups' early days. I have learned a lot from it. I know a few things about starting something. However, I know that I am not ready from the technical point of view, to take the plunge, I might do it someday, everything depends, I am glad I don't have an MBA though, business types think that the hard part of a business is the analysis, figuring out if there is a market for something, all these things of course are important, but the thing they don't get is that they think that implementing something is trivial, that the execution part is straight forward and the programmers are in the back just doing their thing while they (business people) run the company and make it rain or something. The fact is, that the engineering matters. Making a high-quality product that matters is hard. Good programmers that know how to write quality code quickly, who understand the business and the technology, those people are invaluable, that's what I am planning on becoming. I am more than a code monkey, I understand the customer, the business, the product, the science and the math. Having this knowledge yields the power to start a whole industry all in one person. That's how strong an engineering education is. I know that I can get there, that's why I keep investing in my education, because this gives me the freedom to create whatever I want.


Anyway, right now I must focus my energy and effort to COP5555, one of the projects is to write a lexical analyzer ,which I knew it was coming, but the challenge seems good, I feel ready for this battle, all I have is the summer, the fall, and I'll be graduating in the spring, FSM willing.

Sunday, January 03, 2010


Finally finished reading Coders at Work







This was a fascinating book, basically interviews with notable programmers, there are a bunch of reviews out there that will tell you why you should read this book if you write software for a living. Here's one that I liked.

I just want to write the snips and pieces that stuck together, some simple things I had heard before, others were new and unexpected. There isn't any structure to the ideas I have so I am going to put it in list format:

1. Lisp


I was a bit surprised to see how many of the programmers that were interviewed for this book were lisp developers, after all, Lisp is not as widely used as Java and C++, but then I found out that the author Peter Seibel also wrote a book titled "Practical Common Lisp" so that kind of explains it. I guess the message that I get from all these Lisp hackers is that the perfect programming language well, not perfect, but the most advanced programming language was actually invented first, but it was not adapted for reasons x, y and z. So these inferior things came along and became popular, programmers who don't know Lisp just don't get it. Of course I am exaggerating a bit here, but the point I am making is that Lisp is not what gets used in the industry. However, it aroused my interest, and I think I am going to look into it. I started by reading some wikipedia articles, but I can tell this is going to be an intellectual challenge, I can't say I understand lamda calculus yet.

This is the starting point from my Lisp endeavors. (It's a bunch of free Lisp resources in the web, gotta love the internet.)

2. Is Programming an Engineering Discipline, an Art a Craft or a Science?




It can be argued that Computer Programming is all the above and more, it can be approached as an Art the way Picasso approached his paintings or the way Hemmingway, Tolstoy or Dostoevsky approached writing prose. In the other extreme there are those that say that we should build software the way we build bridges, there's a formal process and bridges don't fall, well, with some exceptions in Minnesota.

Personally, I am aware that Programming is craft that it's a bit different than building bridges, engines or any other physical thing, software is more like math in the sense that it's is made up of thought stuff, it's more abstract ideas, A "program" is just a bunch of instructions. I always think of it as writing a recipe for a very very dumb cook. Great Programmers can combine characteristics from all of these approaches and create great software.

I think that all programmers should treat it as a craft and therefore should practice and sharpen theirs skills constantly, I think that just learning enough to do your job is a grave mistake, programmers should always try to improve, to grow, to push their limit.

However, I agree that Software Engineering should be formalized, we should find out the things that work and stick to them, but we need to understand why it works and we need to be flexible to accept and try out new ideas.

This field is so young, we've only been programming computers for about 60 years, that's nothing compared to the 2000 + years that we've been making buildings, for example.

3. Is programming a young person's game?




Some people would say it is, I think that you gain so much wisdom with experience that an older person can still make huge amounts of contribution. I do see how a person with a lot of responsibilities and commitment outside of just writing code would have a lot less time to sit there and code for hours and hours continuously. This is why I am having such a hard time developing apps for the Iphone, I just don't have the time to sit for 20 hours trying to put something together, specially in the beginning when there's a learning curve to get over.

4. Don Knuth is a bad-ass



This I already knew. If you can read and understand the Art of Computer Programming, you know what you're doing.

5. What books to read?



The author asked this question to all the Programmers interviewed, there were a variety of answers, not much overlap, among the books that I have read was Code Complete and Zen and the art of motorcycle maintenance, and Design Patterns, there are some books that already were in my list of books to read, like Structure and Interpretation of Computer Programs and the Red Dragon Compiler Book.

Other books have been added to my list like the bit twiddling book "Haker's Delight"

Read Source Code



It's amazing how many other programmers stress the importance of reading other people's code, not only to educate one's self to seeing how an interesting program might work but also to force yourself to understand what another mind was thinking when they were solving a particular problem. This leads to an expansion of the imaginations and provides tools for future use.



Overall, nice book. Highly recommended.

J.V.

Saturday, June 20, 2009

Saturday Morn



It's six in the morning, still tired, sleepy from staying up late the night before, (watching Clint Eastwood in Gran Torino) I hear sounds, what is that? The theme for Mickey's Clubhouse? wow, yes it is, I hear knocking on the door, is Anthony, and he is ready for a new day, next thing I know the bed gets overrun, Gaby, Anthony, the cat, Martha and I are crammed up, Anthony is constantly jumping, Martha is checking her email, and I am trying to squeeze another 15 minutes of sleep. It's futile, I wave the white flag and prepare for a brand new day.

There's so much to do, I have to pack for tomorrow's trip, I have a research paper, a midterm, homework questions and a programming assignment, not to mention the fact that we need to pick up around the house, do laundry, and watch Anthony while Martha goes to yet another baby-shower. So many babies that we know, must all our acquaintances have kids at the same time?

In any case, here I am, deciding what has priority, and I think I'd rather spend the day doing Fatherly stuff, I am going to miss Father's day, Martha's b-day, and a whole week of interaction that I am never going to get back. The school work can wait for my hotel room in Chicago. (well, it's Schaumburg to be precise)


Of Books and other Projects



Two weeks ago I finished reading "Journey through Genius, a history of Mathematical Masterpieces" a look a Mathematics's greatest theorems from a historian's perspective, it went over the lives of the world's most influential math masters, I was fascinated with the elegance of the greek's Geometry, the simplicity and genius of their proof. Archimedes proof of the Pythagoras Theorem is breathtaking. The amazing skills of Newton and Euler left me in startled. 500 years from now, our computing and communication technology will be obsolete but their theorems will still be sound and relevant. Math theorems are forever, we can always add to the knowledge but we can never make it obsolete.

Take Euclid's proof that there is an infinite number of Primes, he uses redutio ad absurdum.

1. Suppose that there exists a finite number of primes, and the largest prime is Pn.

2. Now take all the primes up to Pn and multiply them together and then add 1.
1 * 2 * 3 * 5 .......Pn + 1 = N

3. Now, this number N by construction, is either another prime or divisible by a prime number larger than Pn.

4. Q.E.D.

Thousands of years have passed since Euclid's time and nobody has been able to put a dent on his proof. It's simple, concise, elegant and pure genius. If you can appreciate that, then you can see why so many say that math is the language that god speaks. I don't know about all that, but it's the best language to describe natural phenomena and it's the best tool to model and understand our world, not to mention that it's beauty is captivating.

I have also been reading Bart Ehrman's books, Jesus, Interrupted, God's Problem and Misquoting Jesus, and studying the bible from a historical perspective. I am interested in knowing what's in the Bible. It's good to know the circumstances around it's many authors, the story of the people who wrote them and why it matters. I have learned a lot about the New Testament, things that you don't learn in Sunday school. I don't think that knowing about the Bible is necessarily a stumbling block for people of faith. Although it can open up the doors for more doubts. It'll let that be for now.

I have so many side projects that I have started and left open...

***Breaking****
Just found out Gaby has a 100.4F temperature, so I have to go to deal with that. No worries, I am sure she's going to be fine, but I am going to have to cut this short.

Be good to each other.

J.V.

Sunday, January 11, 2009

This is what I am reading



Thomas L. Friedman: Hot, Flat, and Crowded.



I've been a fan of Tom Friedman since I had to read from Jerusalem to Beirut. I like the way he explains complex situations in everyday words. I am halfway trough and it's very insightful. In summary, Global Warming, Globalization and Overpopulation are issues that need to get addressed. Now. It urges Americans to take the lead in developing and adopting innovative ways of producing clean energy. I hope the upcoming administration has someone in their payroll who read this book.


Socrates Cafe



I've had this book for a while. In fact, I bought it right before deploying to Iraq, and didn't like it then, but I started to read it again, and it's growing on me. It's about this guy who goes around and sets up these meetings or "socrates cafe's" in order to get regular people engaged in philosophical discourse. I am taking my time with it.


First things First



This one is for personal growth. It's about how to prioritize things and get things done according to importance. It's very good. It has made me look at myself and all the roles I play in my life. However, I feel stressed every time I read a chapter. Because there are so many things that are important to me, I don't have time to do all of them. One thing though, I am making an effort to stay healthy, because I can't afford to procrastinate with that one. So I am making the effort to not over eat, to work out at least 3 times a week, and to take care of my overall health.

Digital Communications



This one is for school. It's for a class with the same name. Very interesting stuff. It deals with the very bottom of all the communication layers. The physical channel. This deals with the problem of sending and receiving information reliably. When you talk on the phone, send an email, watch a video on youtube. Information is traveling through many channels and making it to your device in a way that appears seamless. In reality, that information travels through wires and in the air as electrical signals. All of this is realized with information translated to binary form. It's all zero's and ones. This course deals with channel coding. Meaning how information gets across the physical layer (trough free air, copper lines, water, bouncing off walls, going through your flesh, etc, etc.


and more...

It usually takes 4 or 5 lectures until I lose the prof, but I this time I broke the record, by the second lecture I was lost. The truth is, I suck at math. Well, not really, I love math, but math does not love me. Like any love story, my relationship with math is filled with joyous moments and painful heartbreaking. I used to think I was doing good, then calculus came along and ruined forever. Last night though I started reviewing all the math I took at my undergrad, well, not all, but most, I took out my calculus, differential equations, Linear Systems, and Probability for Signal processing, I meant to do a quick glance at all the chapters so I can refresh all that information, and to get in the math mindset, I fulfilled the latter but not the former. I got stuck in CH1 of Calculus, looking at limits, I remembered, I don't think I ever really got what calculus is about, even after 3 semesters, I was so worried about passing the class, I didn't stop to think about it. Last night I started reading each paragraph and each formula, graph and explanation carefully, and then suddenly I was struck by how beautiful and elegant and mathematical proof is. Reminded me of a mathematician's apology.