Refactoring: Improving the Design of Existing Code

Written on September 23, 2012. Written by .

The interesting aspect of this book is that it attempts to break down the process of refactoring code into a set of refactoring operations that each consist of a sequence of mechanical steps that are guaranteed to preserve the semantics of the program. This is really interesting because it means that you can teach the computer how to refactor automatically, which is something that the book discusses towards the end. Most of the refactoring operations are pretty basic and any experienced programmer has probably done most of them, but not everyone thinks of refactoring in such a strict mechanical way. This book provides a perspective that may help programmers think of refactoring in a different way.

★★★★★

Read more from the Computers and Technology category. If you would like to leave a comment, click here: Comment. or stay up to date with this post via RSS from your site.
Social Bookmark : Technorati, Digg, de.licio.us, Yahoo, Blinkbits, Blogmarks, Google, Magnolia.

Founders at Work

Written on September 23, 2012. Written by .

This is a collection of interviews with founders of technology companies. There are a few interviews that are extremely interesting and enlightening. The founders mostly discuss the issues they encountered and how they became successful from a high-level perspective. One of the interesting points that came out in several interviews is that it isn’t necessary to have the greatest idea initially as long as you respond to customer’s demands and evolve your product based on the customer’s feedback, and sometimes it is best to abandon your original idea entirely.

★★★★

Read more from the Business and Marketing category. If you would like to leave a comment, click here: Comment. or stay up to date with this post via RSS from your site.
Social Bookmark : Technorati, Digg, de.licio.us, Yahoo, Blinkbits, Blogmarks, Google, Magnolia.

Investment Valuation

Written on September 3, 2012. Written by .

This book took me a year to read because it was very difficult to focus on. It was very long-winded and dry, in the usual college textbook fashion, but this is just the price that must be paid for covering all of the material in full detail. The book covers a lot of good topics and contains more examples than you need, which is fine because you can always skip the examples if you already understand the idea. The organization probably could have been better – I think “Determining Value” had a much better introduction to discounted cashflow valuation. And there were a few places where pedagogical leaps were made in which non-trivial concepts were assumed without being properly explained. But overall, it is a decent book for mastering the basics of investment valuation.

★★★★★

Read more from the Economics and Finance category. If you would like to leave a comment, click here: Comment. or stay up to date with this post via RSS from your site.
Social Bookmark : Technorati, Digg, de.licio.us, Yahoo, Blinkbits, Blogmarks, Google, Magnolia.

A Simple Explanation of the Halting Problem

Written on April 12, 2012. Written by .

The halting problem is a problem in computer science that can be stated as follows: Given a description of an arbitrary computer program, decide whether the program finishes running or continues to run forever. (Wikipedia) Alan Turing proved that there is no program that can solve the halting problem for all possible inputs. Below is a sketch of a proof.

Assume a halting solver h exists that determines whether any program p halts on any input x, where x itself can also be a program. Note that “halt” means that the program terminates, so it is the opposite of “hang”. In pseudo-code, we could express h as the following.
h(p,x) = return (p halts on input x)
Then we can define the following tricky program e.
e(p) = if h(p,p) is False then return False else HANG
And we can pass the program e as input to e.
e(e) = if h(e,e) is False then return False else HANG
Now there are only two cases:

  1. e halts on e: then h(e,e)=True, which would make e(e) hang – contradiction
  2. e does not halt on e: then h(e,e)=False, which would make e(e) halt – contradiction

So we have arrived at a contradiction and our only assumption was that a halting solver exists, so we can conclude that a halting solver cannot exist.

Here is the main idea. This tricky function e calls the halting solver and asks it: “If I were to run myself with myself as input, then what would I do? Whatever you tell me I’ll do, I’ll just do the opposite.” It’s really just like the argument that you can’t predict someones future actions because they could just ask for the prediction and contradict it. But in a deterministic world, you could predict someone’s actions as long as you didn’t tell them what the prediction was. Analogously, it may be possible to solve the halting problem for all practically useful inputs. So Turing’s theorem alone need not discourage us from seeking reasonably comprehensive code validators.

Read more from the Logic category. If you would like to leave a comment, click here: Comment. or stay up to date with this post via RSS from your site.
Social Bookmark : Technorati, Digg, de.licio.us, Yahoo, Blinkbits, Blogmarks, Google, Magnolia.

Buffettology

Written on March 4, 2012. Written by .

Despite being written for general audiences, Buffettology provides some really good investing advice. It emphasizes a few key principles including: price determines your rate of return, you should aim to maximize your rate of return and maintain it for as long as possible, look for companies with stable return on equity, and look for companies that have a consumer monopoly instead of commodity-type companies. It repeats these points ad-nauseum, but it is good that they are emphasized so strongly because they are so important. In the second half, it explains how you can do some basic calculations to determine your expected rate of return. It also has some case studies of stocks that Buffett actually bought.

★★★★★

Read more from the Economics and Finance category. If you would like to leave a comment, click here: Comment. or stay up to date with this post via RSS from your site.
Social Bookmark : Technorati, Digg, de.licio.us, Yahoo, Blinkbits, Blogmarks, Google, Magnolia.

Liar’s Poker

Written on February 12, 2012. Written by .

Liar’s Poker tells the story of Salomon Brothers during its heyday as Wall Street’s leading bond firm in the 1980s. The author was a new-hire who became extremely successful during his first two years, but nevertheless decided to quit. During his short period of employment at Salomon Brothers, he saw a lot of crazy things happen, some of which are almost unbelievable. This book creates an intriguing image of the firm and places it in its context in the financial world of the time.

★★★★★

Read more from the Economics and Finance category. If you would like to leave a comment, click here: Comment. or stay up to date with this post via RSS from your site.
Social Bookmark : Technorati, Digg, de.licio.us, Yahoo, Blinkbits, Blogmarks, Google, Magnolia.

Reminiscences of a Stock Operator

Written on January 16, 2012. Written by .

This is a fictionalized biography of a securities speculator named Jesse Livermore. The first-person narrative focuses entirely on the adventures in market speculation in the life of Jesse Livermore, wasting no time on other personal details. It describes the emotions, mistakes, lessons, and results of many episodes. Sometimes it even goes into so much detail that it quotes exact prices. The key point is that it is 100% about speculation, not investing, which naturally means that it is not a reliable way to make money. The narrator himself lost all his money several times. There is some advice for traders, mostly psychological, but nothing that I felt was valuable. His methods are all about technical analysis, market sentiment, market feedback (the price response he sees after buying or selling), and inside information. Above all, the main problem is that the story is just boring. There is only one real character and a long list of play-by-play descriptions of money-making and money-losing without any real explanatory basis.

★★★★★

Read more from the Fictional Biography category. If you would like to leave a comment, click here: Comment. or stay up to date with this post via RSS from your site.
Social Bookmark : Technorati, Digg, de.licio.us, Yahoo, Blinkbits, Blogmarks, Google, Magnolia.

The Complete Guide to Capital Markets for Quantitative Professionals

Written on January 2, 2012. Written by .

This is not a book about options pricing and risk analysis as the title may indicate. It is more like an orientation manual for software developers entering a financial firm. It starts out with a great introduction to the important aspects of the financial markets, including the history of the Federal Reserve, how a stock exchange works, how treasuries trade, how the treasury yield curve indicates expectations of future interest rates, and so on. It provides just the right amount of detail to hit the important points without going so deep as to become mundane. It does describe some options pricing theory, but avoids going into the math. The book just aims to get your feet wet in a very broad array of areas. It is not intended to teach you how to be a trader. Like most non-fiction books, the first half is much better than the second half.

★★★★

Read more from the Economics and Finance category. If you would like to leave a comment, click here: Comment. or stay up to date with this post via RSS from your site.
Social Bookmark : Technorati, Digg, de.licio.us, Yahoo, Blinkbits, Blogmarks, Google, Magnolia.

The Road to Serfdom

Written on January 2, 2012. Written by .

Hayek is a legendary figure in the debate over economic policy. In The Road to Serfdom, Hayek provides extensive arguments in favor of what he calls “liberalism”, which he notes has become to mean the opposite of what it originally meant. His definition of liberalism is based on the same root as “liberty”, which is the opposite of liberty-restricting central planning. The book takes a fairly philosophical approach. Instead of going deeply into historical evidence, he focuses on the logical reasons why central planning always fails to achieve what the planners hope. He discusses the tendency for people to assume that they will be in the majority that does the planning and to ignore the likely possibility that they themselves will be oppressed by the plan. He also argues that any central plan will have to make value judgements that not everyone can agree on. His arguments are very clear and mostly undeniable, but the book is rather long and due to the philosophical tone it can be a bit boring. I wish I could give the book a higher rating because the content is quite ingenious, but the delivery is not suitable for casual readers.

★★★★★

Read more from the Philosophy category. If you would like to leave a comment, click here: Comment. or stay up to date with this post via RSS from your site.
Social Bookmark : Technorati, Digg, de.licio.us, Yahoo, Blinkbits, Blogmarks, Google, Magnolia.

Zen Mind, Beginner’s Mind

Written on December 27, 2011. Written by .

I think this book is one of the better introductions to Zen. It doesn’t spend much time talking about the mystical aspects of Buddhism, instead focusing on conveying a sense of what Zen means to a Zen practitioner. He doesn’t hype it up, he almost makes it seem boring and de-emphasizes the significance of philosophical interpretations, while still making the practice of Zen seem very important and appealing. He suggests that sitting meditation should be your focus and that you shouldn’t be expecting anything special like enlightenment. I really liked the part where he talks about attachment to results because it was quite similar to my own views.

★★★★★

Read more from the Personal Development category. If you would like to leave a comment, click here: Comment. or stay up to date with this post via RSS from your site.
Social Bookmark : Technorati, Digg, de.licio.us, Yahoo, Blinkbits, Blogmarks, Google, Magnolia.

© Copyright thrive by design - Powered by Wordpress - Designed by Speckyboy