Monthly Archives: October 2014

Beauty of Testing

Steven Sinofsky wrote a nice post about software testing: http://blog.learningbyshipping.com/2014/09/25/beauty-of-testing/

Steven defines testing as “verification that a product does what it is intended to do and does so elegantly, efficiently, and correctly” and as “the conscience of a product“. Does it sound about right? Yes, usually software testers verify that software works as defined in specification/requirements/user stories/whatever. But it is not all that can be done. It is quite easy to build a product which does exactly as defined in the spec, but at the same time is useless for customers, or is not profitable for the company which develops it. Systems engineering defines that lyfecycle of the system contains verification and validation as separate logical stages. Validation here is checking that a product satisfies stakeholder needs. Validation is probably something testers must do as well.

Continue reading

How To Start Learning Machine Learning

Just a few links to various resources which may be useful for learning machine learning (pun intended).

Machine Learning course by Andrew Ng on Coursera: https://www.coursera.org/course/ml

“The Elements of Statistical Learning: Data Mining, Inference, and Prediction” book http://statweb.stanford.edu/~tibs/ElemStatLearn/printings/ESLII_print10.pdf

 

Various guides for getting started:

http://thunderboltlabs.com/blog/2013/11/09/getting-started-with-machine-learning/

http://abeautifulwww.com/2009/10/11/guide-to-getting-started-in-machine-learning/

Continue reading

Bitcoin Mining

In previous post I started a discussion about Bitcoin, though did not provide details on what actually Bitcoin is and how it works. There is much information on this in the internet. You can start with reading this wiki: https://en.bitcoin.it/wiki/Introduction or read a whitepaper for technical details: https://bitcoin.org/bitcoin.pdf

Bitcoin is based on an idea of a public ledger (blockchain): a list of all transactions ever happened, publicly available for everyone in P2P network. To prevent double spend there should be a way to make sure that only one blockchain exists. Blockchain solves this problem by using something called “proof of work” https://en.bitcoin.it/wiki/Proof_of_work . Large amount of computational work is required for a new block to be accepted into blockchain, and all bitcoin clients have the same understanding of how to validate new blocks, and how to check proof of work. So in order to compromise bitcoin protocol an attacker must control more than 50% bitcoin client computation power.

Continue reading

Bitcoin

What is the most interesting feature of Bitcoin? Unlike fiat money controlled by governments nowadays, emission of Bitcoin is not controlled by anybody, and it is limited by design.

Emission of fiat money is the primary cause of inflation, and leads to disproportionate benefits of organizations and persons which are in the beginning of money distribution chain (mostly government, government contractors and banks which get loans from central bank).

Bitcoin monetary base is limited, emission will get to nearly zero in a few years, when most of bitcoins are mined: https://bitcointalk.org/index.php?topic=130619.0

Continue reading