Skip to content

zgmartin/hello

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 

Repository files navigation

##About me:

9:22, Personal note: When I was a little kid my mother told me not to stare into the sun, so once when I was six, I did. At first the brightness was overwhelming, but I had seen that before. I kept looking, forcing myself not to blink, and then the brightness began to dissolve. My pupils shrunk to pinholes and everything came into focus and for a moment I understood.

-Pi

No one shall expel us from the paradise that Guido has created.

I am a programmer/mathematician who enjoys writing clean code. My coding philosophy is similar to the philosophy of the Arch Linux community.

Always striving to write high quality code is my personal goal of mine. Clean code is what makes coding enjoyable and fun for everyone within the coding community. I hope to accomplish this goal through the code I submit to this account.

In addition to coding, I also value the ideals of social collaboration. I have benefited immensely from the the code of others, and I would like to demonstrate the same kindness through the sharing of my own work.

##More About Me: I became interested in mathematical modeling through a documentary I saw on the Science Channel about the MIT blackjack team beating Vegas with some techniques derived from Edward O. Thorp book Beat the Dealer. It was fascinating to watch three people take control over an entire system through the use of math. After that point I was hooked.

Later, I took an algorithms course taught by professor Steve Skiena. He would reveal a book he wrote called Calculated Bets, which discussed his journey to conquer the betting system of Jai Alai. Calculated Bets demonstrated to me the power of combining math models with computers.

Further, I became interested in computer automation and pattern recognition through the Machine Learning course I took with professor Luiz Ortiz. I learned some valuable techniques for data classification and pattern recognition, and hope to apply them within this ever increasing world of data.

With the cost of memory decreasing and the amount of data becoming more pervasive, I'm interested in building models that automate the process of decision making through the combined use of mathematics and computers.

note: Ortiz was mentored by Patrick Winston (head of the AI lab at MIT), who was mentored by Marvin Minsky (father of AI), which I heard about from videos about Richard Feynman by Danny Hillis and in an interview with Michael Crichton who wrote my favorite book Jurassic Park, whose character Ian Malcolm was inspired by the author Heinz Pagels, whose book Dreams of Reason was about modeling reality with computers, which also influenced me.

###Interests:

Coding: Algorithms, Machine Learning, Computational Geometry, Linux, Gambling Systems

Math: Linear Algebra, Analysis, Probability, Proofs

Hobbies: Calisthenics, Cycling, Kick-boxing, Hockey, Science Fiction, Piano

##Advice:

img

Down the rabbit hole we go.

Here is some advice on how to become a data programmer, and more importantly a better problem solver. My goal is to reduce your time within the search space, and direct you to your goals faster.

###Problem Solving I am a big fan of the concept of the canonical example. All big ideas can be understood and reduced to simple easy to construct examples. For example, if you want to understand most of the ideas within proofs just take the simple example of proving x is an irrational number.

  • Problem: Show x to be irrational.
    • Input: x^2 = 2
    • Output: x is irrational

After going through the construction of your argument you find yourself becoming aware of

  • axiomatic system
  • logical inferences
  • proof by contradiction [important idea]

which basically spans the space of the mathematicians tools for solving problems.

To summarize, reduce all problems to their simplest form, picture the problem in your head, and then use it as a reference point when challenged with similar problems in the future. Below are my personal recommendations on becoming a better problem solver and some programming tips I found out about along the way.

###Math: Proof Logic and Conjecture: A Mathematician's Toolbox

img

There is one math book to rule them all Lord of the Rings style. If you read this book forwards and back you will become a math master armed with powerful mathematical conceptual thinking which is spread throughout all scientific disciplines.

After spending time with this book, you can walk into any technical conversation with the confidence to analyze and solve problems through the fundamental framework of mathematical thinking (that's serious power).

This book covers all the big areas within mathematics

  • Proofs
  • Linear Algebra
  • Algebra
  • Analysis
  • Number Theory

The book also breaks all these ideas down into nice simple reading material, which will vastly improve your problem solving skills.

###Programming: The Algorithm Design Manual

img

A true gem within space of learning. This is The Algorithms Book that every computer scientist or problem solver must read. My teacher, Steve Skiena at Stony Brook, wrote this elegant masterpiece.

This book essentially teaches you techniques on how to become a better problem solver in the world of computing. The big topics covered are

  • Algorithmic Thinking
  • Graphs
  • Combinatorial Problems
  • References

Try to solve as many problems you can from this book from this book. If you don't believe me, then believe Google. This is the book they recommend people read before they try to work there.

Read chapter 10! It is all about how to analyze problems and devise strategies to execute on them. There are also a set of useful questions you should answer when stuck on a problem.

I can't stress to you how much this book has influenced me. It completely changed my approach to solving programming problems. A company even flew me out to their office in Palo Alto California after I solved a problem by referencing this book.

###Language: Use python for all your programming. Why?

  • Easy to code with.
  • Blindingly fast to develop in.
  • On the verge of becoming a standard.
  • More people are using for their projects.
  • Integrates with C for constant speed performance.
  • Ipython is great for learning and testing ideas.

Learning Python

###Coding: Coding is too dependent on crummy graphics interfaces, so I have listed some useful ways to help you improve your work flow and make you a better programmer. Every company is running some type of Linux machine so dive, and fire up the command line.

Ipython is a great place to experiment new ideas and understand and learn how to use code written by other people. The real power of ipython is its ability to allow you to easily access the documentation of code from other projects. For example if you want to understand how math works within python.

  • accesses math from file: import math
  • what math does: math?
  • what function math has: math.[Tab key]

Sublime compliments ipython well with simple and powerful features for making coding fast. I particularly enjoy using the multi line editing, auto text typing, and code highlighting.

###Databases: Data bases are very important within data programming. The difference between a data base and a simple text file is the ability to run search algorithms on the data based on how it was stored.

SQL is stored in predefined structured tables, while No SQL databases provides a more flexible system where you don't need to worry about predefining the data you use.

Learn both Mongo and SQL databases. Companies want to see the old school SQL knowledge and the new school No SQL database.

###Projects: Companies want to see that you have the ability to collect, manipulate, and model data to help the company make more informed decisions. Here are some steps on how to improve your project.

  • scrape data from web (scrapy)
  • store data in database (Mongodb or SQL)
  • extract data (pandas: split, merge, transform)
  • model data (machine learning)
  • document results (matplotlib, plots, error rates)

##Book Recommendations:

If you want to become a better problem solver and overall analytical thinker, figure out how the greats thought by reading their book recommendations.

###Computer Science: Coding

img

Algorithms

img

Physical Modeling

img

A fantastically well written book with a lot of powerful ideas about modeling physical systems.

  • Particle System
  • Autonomous Agents
  • Evolution
  • Neural Nets

Machine Learning

img

Data Programming

img

Text Processing

img

Linux Command Line

img

Computation Geometry

img img

Numerical Analysis

img img

When you realize closed form solutions can only get you so far. The rest is all numerical.

Machine Thinking

img img

Teaches how to think like a machine by the people who knew best.

Computer Design

img

###Math: Proofs

img

Problem Solving

img

All the great problem solvers have at one point read this book.

Linear Algebra

img

The most important type of math for computing.

Analysis

img img

The way Calculus should be taught. Through basic principles from the ground up.

Probability

img

The best book on probability.

Math History

img

A collection of inspirational stories and problems from the greatest problem solvers in history.

###Systems: Social Hacking

img

The majority of life is personal interaction. Master people and you will be able to go places.

Calculated Bets

img

How to use computers to model the world and win money.

The Mathematics of Gambling

img

The mathematics behind gambling systems and increasing your expected outcome to win.

Beat The Dealer

img

The outline of how to beat the casinos and win big though basic strategy and card counting.

Beat The Market

img

An example of basic strategy within the market.

###Science:

The Cosmic Code

img

The new paradigm shift within 20th century science and dawn of understanding the indeterminism within the quantum world.

Dreams of Reason

img

The new science of complexity and its implications for the future.

Physics

img

Understand the physical world and how to model it.

###Science Fiction: Jurassic Park

img

Mathematician Ian Malcolm's journey into discovering the lost world of our genetic past.

A Sound Of Thunder

img Contact

Is the world deterministic events or chaotic noise? How much does the past reflect the future?

img

The social study on the impact of a message from space and its implications for humanity.

A Scanner Darkly

img

The threat of totalitarian state in a drug induced society and becoming lost within the realities of ones own mind.

Behold The Man

img

A man travels back in time to confront his religious past, but finds out the disturbing truth, and sets out to correct it while failing to realize the prophesies of his own fate.

Replay

img

What if you could relive your life over, over, over, over, over, over, over, over, over, over, over, over, over, over, over, over, over, over, over, over ...

Colossus

img

An artificial intelligence convinces a group of scientist to build a bigger one to combat the impending threat of an approaching threat from space.

About

about me

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages