Friday, October 31, 2014

14 wise books

"Seeking Wisdom," by Peter Bevelin
This is number 8 on the list of books that changed my life. It is also the book I give away most often, sending innumerable copies around the globe.
"Cosmos," by Carl Sagan
This is one of the best-selling science books of all time. I've never read it, so I ordered it after reading the blurb: "retraces the fourteen billion years of cosmic evolution that have transformed matter into consciousness, exploring such topics as the origin of life, the human brain, Egyptian hieroglyphics, spacecraft missions, the death of the Sun, the evolution of galaxies, and the forces and individuals who helped to shape modern science."
"To Kill a Mockingbird," by Harper Lee
A book that a lot of people, myself included, talk about but have never read. It's time to change that.
"Do the Work!," by Steven Pressfield
I liked Pressfield's, "The War of Art" enough to pick this manifesto arguing that ideas are not enough, you actually have to do the work.
"Zen and the Art of Motorcycle Maintenance," by Robert Pirsig
I've picked this book up at least 3 different times in my life and stopped reading it for one reason or another. Considered a cult classic by many, I haven't found the right time to read it … yet.
 "The Conquest of Happiness," Bertrand Russell
First published in 1930, this book attempts to "diagnose the myriad causes of unhappiness in modern life and chart a path out of the seemingly inescapable malaise." The book remains as relevant today as ever, and in this edition Daniel Dennett, who showed us how to how to criticize with kindness, re-introduces Russell's wisdom to a new generation of readers and thinkers calling the work "a prototype of the flood of self-help books that have more recently been published, few of them as well worth reading today as Russell's little book."
"This is Water," by David Foster Wallace
This is one of the best things you will ever read (and hopefully periodically re-read). I wholeheartedly agree with this selection.
"Meditations," by Marcus Aurelius
Another of the books that changed my life and also one of the books that I gave away at the Re:Think Innovation workshop. Translation matters enormously with this book, get this one.
"Letters from a Stoic," by Seneca
Love love love. As relevant today as it was when it was written.
"Influence: The Psychology of Persuasion," by Robert Cialdini
The person who recommended this book said "you can't throw away any one page of this book." You can read a quick overview of the book, but I'd recommend digging in.
"Oh, The Places You'll Go!" by Dr. Seuss
I agree. Don't write it off because it's a kids' book. I love this book.
"An Intimate History of Humanity," by Theodore Zeldin
I'd never heard of this work exploring the evolution of emotions before. Time magazine called it "An intellectually dazzling view of our past and future."
"The Road Less Traveled," by M. Scott Peck
I'd never heard of this book (seriously) either and it's sold 7 million copies. A book to "help us explore the very nature of loving relationships and lead us toward a new serenity and fullness of life."
"The Hitchhiker's Guide to the Galaxy," by Douglas Adams
"For all the answers, stick your thumb to the stars!"

Sunday, October 19, 2014

8 Must-Have Python Libraries For Developers



1.Requests

Requests is an Apache2 Licensed HTTP library, written in Python, for human beings. Requests takes all of the work out of Python HTTP/1.1 — making your integration with web services seamless. There’s no need to manually add query strings to your URLs, or to form-encode your POST data.

2.wxPython

wxPython is a GUI toolkit for the Python programming language. It allows Python programmers to create programs with a robust, highly functional graphical user interface, simply and easily. It is implemented as a Python extension module (native code) that wraps the popular wxWidgets cross platform GUI library, which is written in C++.

3.SQLAlchemy

SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL. It provides a full suite of well known enterprise-level persistence patterns, designed for efficient and high-performing database access, adapted into a simple and Pythonic domain language.

4.Beautiful Soup

Beautiful Soup is a Python library designed for quick turnaround projects like screen-scraping.

5.Twisted

Twisted is an event-driven networking engine written in Python and licensed under the open source. Twisted makes it easy to implement custom network applications.

6.matplotlib

matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms.

7.SciPy

Python-based ecosystem of open-source software for mathematics, science, and engineering.

8.Pygame

Pygame is a set of Python modules designed for writing games. Pygame adds functionality on top of the excellent SDL library. This allows you to create fully featured games and multimedia programs in the python language. Pygame is highly portable and runs on nearly every platform and operating system. 

Thursday, October 9, 2014

Linux Performance Tools


The Site That Teaches You to Code Well Enough to Get a Job

Wanna be a programmer? That shouldn’t be too hard. You can sign-up for an iterative online tutorial at a site like Codecademy or Treehouse. You can check yourself into a “coding bootcamp” for a face-to-face crash course in the ways of programming. Or you could do the old fashioned thing: buy a book or take a class at your local community college.
But if want to be a serious programmer, that’s another matter. You’ll need hundreds of hours of practice—and countless mistakes—to learn the trade. It’s often more of an art than a skill—where the best way of doing something isn’t the most obvious way. You can’t really learn to craft code that’s both clear and efficient without some serious trial and error, not to mention an awful lot of feedback on what you’re doing right and what you’re doing wrong.
That’s where a site called Exercism.io is trying to help. Exercism is updated every day with programming exercises in a variety of different languages. First, you download these exercises using a special software client, and once you’ve completed one, you upload it back to the site, where other coders from around the world will give you feedback. Then you can take what you’ve learned and try the exercise again.
It’s a simple idea. But it could help the legions of people out there trying to learn to code well enough to land a job in this fast-growing field. In recent years, we’ve seen the arrival of so many tools that help turn anyone into a programmer, and this is one step towards widespread “code literacy.”
To solve the problem, she created a site last year that presents the practice problems and prevents students from being able to move on to the next ones without submitting a solution to the previous problem. The idea was to have students not only complete the exercises, but get feedback. Soon, students were working on the problems on their lunch breaks and on evening and weekends. They were obsessed with these little problems.Software developer Katrina Owen created Exercism.io while she was teaching programming at Jumpstart Labs in Denver, Colorado. Every day, she provided “warm-up” problems for the students. The only problem was: the students rarely finished them. “If they got stuck, they wouldn’t ask their mentor for anything,” she says. “And towards the end of their term I was seeing them making very basic mistakes that these warm-ups should have taught them.”
But it didn’t stop there. Because Exercism.io was available on the open web, her students began telling their friends. Within a month, several hundred people were already using the site. And because the site is open source and hosted on the code collaboration service GitHub, anyone can submit new exercises to the site. Exercism.io now has over 6,000 users who have submitted code or comments, and hundreds of volunteers submit new exercises or translate existing ones into new programming languages.
Owen, who now works for the Santa Monica, California-based music collaboration startup called Splice says she has no plans to turn the site into a business. But she would like to raise money to pay people to improve it. For example, she admits that the site is a bit lack in the usability department. “It’s hard to tell what it is just by looking at it,” she says. “It’s remarkable to me that people have figured out how to use it.”

Best Cloud Based IDEs For Web Development

Now there are lots of cloud-based IDEs available which have lots of advanced features and they also provide a useful development environment for programmers. Let's share the best 10 Cloud based IDEs for you to help in your web development experience.

1. Cloud 9: 

This IDE is one of the best and powerful options which developers can run to debug the code anywhere and anytime. It's an online development for JavaScript, Node.js , HTML, PHP, CSS and 23 other languages.



2. Codenvy: 

This is one more cloud based development environment for developers. This cloud is for Rails, Python, PHP, JavaScript, Android and many more languages.



3. Code Anywhere: 

This is the most powerful code editor which is equipped with some great features than desktop based applications. Its excellent features make it more popular among web developers.



4. Koding: 

Web developers can create a great web development environment with this cloud, Koding. 



5. Neutron Drive: 

This environment provides the facility to follow you on any computer or anywhere you go. It is also equipped with some great features for programmers including realtime collaboration, Auto saves to Google Drive, Realtime Markdown preview, Google Drive revision control and File browser, among many others.



6. Collide: 

This is an open-source demonstration which comes as “collaborative IDE”. Multiple users are allowed to edit the same files at the same time, along with syntax highlighting, quick-search and lot of other features.



7. Orion: 

This is also an open source platform and a cloud based development tool. It helps to code everywhere and anytime as you wish.



8. Python Fiddle: 

This is a great platform for web developers ad programmers as it provides one of the best cloud environments. 



9. Erbrix: 

This IDE is browser based which is used for server side JavaScript Apps. You can use server side JavaScript to make your code simple which can increase your development productivity.



10. SourceKit: 

SourceKit is a text editor and it's a Google product. SourceKit is a very useful cloud text editor for programmers.

Monday, October 6, 2014

21 Free E-Books On Linux Programming

1. Is Parallel Programming Hard, And, If So, What Can You Do About It? by Paul E. McKenney, 2011

The purpose of this book is to help you understand how to program shared-memory parallel machines. By describing the algorithms that have worked well in the past, we hope to help you avoid some of the pitfalls that have beset parallel projects.

2. Java Application Development on Linux by Carl Albing, Michael Schwarz - Prentice Hall PTR, 2004

The hands-on guide to the full Java application development lifecycle on Linux, written for Java and Linux developers alike. The authors demonstrate the platform, tools, and application development by showing easy-to-follow, realistic examples.

3. Linux Systems Programming by Jonathan Macey - Bournemouth Media School, 2005

Contents: Command Line Arguments; Environment Variables; The Standard I/O Library; Executing Processes as a Stream; Showing system Processes; Creating processes in a program; Processes and Threads; Inter-process Communication; Semaphores; etc.

4. Getting started with WebSphere Application Server by Jiang Lin Quan, at al. - IBM Corporation, 2010

Read this book to: Find out what Community Edition is all about; Learn how to develop Java EE applications with Community Edition; Understand how Community Edition interacts with databases; Learn everyday Community Edition administration tasks etc.

5. Linux Shell Scripting Tutorial: A Beginner's Handbook by Vivek G. Gite - nixCraft, 2002

This tutorial is designed for beginners who wish to learn the basics of shell scripting/programming plus introduction to power tools such as awk, sed, etc. This document contains examples rather than all the features of shell.

6. Managing Projects with GNU Make by Robert Mecklenburg - O'Reilly, 2004

The book has one of the most enduring features of both Unix and other operating systems. This edition focuses on the GNU version of make, which has become the industry standard. The book provides guidelines on meeting the needs of large projects.

8. Embedded Software Development with eCos by Anthony J. Massa - Prentice Hall PTR, 2002

The book shows developers the advantages of using eCos, the Embedded Configurable Operating System, over commercial embedded operating systems. As an Open Source solution, eCos provides a royalty free option for embedded software development.

9. The Linux Programmer's Guide by Sven Goldt, at al., 1995

This guide helps Linux programmers understand the peculiarities of Linux. It should be useful when porting programs from other operating systems. It describes the system calls and the major kernel changes which have effects on older programs.

10. C Programming in Linux by David Haskins - BookBoon, 2009

Using a series of web development examples, this book will give you an interesting glimpse into a Linux Application Development Using Websphere Studio 5 by Osamu Takagiwa, at al. - IBM Redbooks, 2003

This book helps you get familiar with IBM middleware and tools for Linux, and develop your new Web application on Linux. It is aimed to show IBM's ability to provide an advanced platform for WebSphere application development using Linux.

12. The Linux Kernel Module Programming Guide by Peter Jay Salzman - CreateSpace, 2001

An excellent guide for anyone wishing to get started on kernel module programming. The author takes a hands-on approach starting with simple programs, and quickly moves from there. The book has a lively style that entertains while it educates.

13. The Big Online Book of Linux Ada Programming by Ken O. Burtch - PegaSoft, 2008

This text covers basic software development on Linux, a review of the core Ada 95 language, and an introduction to designing programs that work with the Linux kernel and standard C libraries. It also covers some of the Ada bindings.

14. GNU Autoconf, Automake and Libtool by Gary V. Vaughn, et al. - Sams, 2000

This book is an expert guide to using GNU autoconf, automake, and libtool effectively. Written for C/C++ or script programmers who write software under Unix/Linux. The text is filled with the nuts-and-bolts details of running these three utilities.

15. GTK+/Gnome Application Development by Havoc Pennington - Sams, 1999

Provides detailed information for programmers and developers using the GTK+/Gnome libraries. It complements existing GTK+/Gnome documentation, going into more depth on pivotal issues such as GTK+ object system, the event loop, Gdk substrate, etc.

16. KDE 2.0 Development by David Sweet - Sams, 2000

Topics include: KDE UI Compliance, Style Reference, The Qt Toolkit, Responsive User Interface, Complex-Function KDE Widgets, Multimedia, DCOP, KParts, Creating Documentation, Packaging Code, CVS and CVSUP, and KDevelop: the IDE for KDE.

17. Programming From The Ground Up by Jonathan Bartlett - Bartlett Publishing, 2004

An introduction to assembly language programming on Linux for x86 machines. It covers memory management, interfacing with C, debugging, dynamic libraries, GUI programming, and more. Great textbook for novices as well as for intermediates.

18. Programming Linux Games by John R. Hall - No Starch Press, 2001

A complete guide to developing 2D Linux games, written by the Linux experts. It teaches the basics of Linux game programming and discusses important multimedia toolkits. You will learn to write and distribute Linux games.

19. Secure Programming for Linux and Unix HOWTO by David A. Wheeler, 2003

The book provides a set of design and implementation guidelines for writing secure programs for Linux and Unix systems. This document includes specific guidance for a number of languages, including C, C++, Java, Perl, Python, and Ada95.

20. Advanced Linux Programming by Mark L. Mitchell, Alex Samuel, Jeffrey Oldham - Sams, 2001

The first part of the book covers generic UNIX system services for advanced programmers who have worked with other Linux systems. The second section covers truly advanced topics, the material that is entirely Linux specific.

21. GNU Make: A Program for Directed Compilation by Richard M. Stallman, Roland McGrath - Free Software Foundation, 2010

The make utility automatically determines which pieces of a large program need to be recompiled, and issues commands to recompile them. This manual describes GNU make, which was implemented by Richard Stallman and Roland McGrath.

Friday, October 3, 2014

Cheat sheets for programmers (12 programming languages)

C#

1. C# Cheatsheet & Notes
2. Coding Guidelines for C# 3.0, 4.0, 5.0 
3. Core C# and .NET Quick Reference
4. C# Basics Reference Sheet 

C

5. C Reference Card (ANSI) 
6. Objective-C Cheatsheet & Quick Reference 
7. C Cheat Sheet by Jill Crisman

C++

8. C++11 Regex Cheatsheet
9. C++11 Cheatsheet

Action script 

10. ActionScript 3.0 Syntax Cheatsheet 
11. Flash ActionScript Quick Reference

PHP

12. PHP Cheatsheet
13. PHP Cheat Sheet
14. BlueShoes: PHP Cheat Sheet
15. PHP Cheat Sheets
16. PHP Cheat Sheet

Python

17. Python 2.6 Quick Reference
18. Python Cheat Sheets
19. Python 101 cheat sheet
20. Python Quick Reference Pytho
21. Python 2.6 Cheatsheet
22. Python Cheat Sheet

Ruby

23. Ruby Cheatsheet 
24. Ruby QuickRef
25. Ruby on Rails Cheat Sheet - PNG
26. Ruby quick reference
27. Ruby Cheatsheet
28. Threadeds Ruby Cheat Sheet
29. Ruby on Rails - ActiveRecord Relationships Cheat Sheet
30. Ruby on Rails - Form Helpers Cheat Sheet
31. Ruby on Rails - What Goes Where? Cheat Sheet
32. Ruby Cheat Sheets
33. Ruby on Rails Cheat Sheet - Cheat Sheets
34. Ruby Cheat Sheet
35. Ruby Cheat Sheet
36. Ruby On Rails – A Cheatsheet Ruby On Rails Commands URL Mapping
37. Ruby Cheat Sheet Variables Conditional tests (if) Function calls
38. Ruby And Ruby On Rails Cheat Sheets

JavaScript 

39. JavaScript Cheatsheet 
40. Node.JS Help Sheet

Java

41. Java Cheatsheet
42. Java Syntax Cheatsheet
43. Java Reference Sheet
44. Pete Freitag's Java Cheat Sheet
45. Java Cheat Sheet : Java Glossary
46. Java Programming Cheatsheet
47. Erich's Java cheat sheet for C++ programmers
48. JavaDoc Cheat Sheet

jQuery

49. jQuery Cheatsheet 
50. jQuery 1.2 Cheatsheet
51. jQuery Cheat Sheet - Nettuts+
52. jQuery Cheatsheet Color Charge
53. jQuery cheat sheets.
54. j Q u e r y
55. jQuery Cheat Sheet
56. jQuery Cheat Sheet

Perl

57. Perl Cheat Sheet
58. Perl Quick Reference Card in pdf format
59. Perl cheat sheet
60. The Perl Cheat sheet
61. Perl Cheat Sheet
62. Perl Pack Unpack Printf Sprintf Cheat Sheet
63. 301 Redirect Cheatsheet - mod_rewrite, javascript, cfm, perl, php
64. PERL Cheat Sheet (PDF) [Archive] - CodingForums.com
65. PERL Cheat Sheet (PDF)

HTML/XHTML 

66. Html And Xhtml Cheat Sheets
67. CDBurnerXP - HTML Cheat Sheet in PDF format
68. HTML & XHTML Tag Quick Reference
69. XHTML Cheat Sheet v. 1.03
70. HTML DOM - Quick Reference Card
71. XHTML 1.0 frameset - Quick Reference Card
72. XHTML 1.0 strict - Quick Reference Card
73. XHTML 1.0 transitional - Quick Reference Card
74. XHTML Basic Reference
75. XHTML Reference
76. XHTML Cheat Sheet : at CSSTidy

Infographics

77. The History of Programming Languages Infographic
78. The New Industrial Revolution Favors Developers
79. A Brief History of Open-Source Code
80. Top 10 Programming Languages
81. The Evolution of Programming
82. The Developers Toolkit 

Learn Coding Interactively (websites)


1. Codecademy

Thanks to its helpful interface and well-structured courses, Codecademy is indisputably the most famous website to teach you to code interactively. You can make your pick amongst Web Fundamentals, PHP, JavaScript, jQuery, Python, Ruby and APIs.

Every lesson carries a panel which can explain the necessary code and instruction. Another panel lets you to try your hands on coding by writing acceptable code, then checking if you are doing the right thing. Don’t worry if you are making errors, as both instruction and code panels will warn you of errors, and provide hints.

2. Code Avengers

Take our words, Code Avengers is designed to make you fall in love with programming. Although, as of now it only offers HTML5, CSS3 and JavaScript courses, but every single course here is carefully designed to truly entertain you and level up your programming skills. It's almost like playing a game and the end of each lesson you literally get to play a mini game to release the stress that you have cumulated during the lesson.

You can also play with the code and immediately see how the changes impact. It carefully takes care of a beginner’s comfort.

3. Code School

After you finished courses in Codecademy or Code Avengers, and you are ready to step further, Code School is the right place to be at. Unlike other interactive learning sites, Code School provides you with more in-depth courses to help you expertise.

Overall, the courses are categorized into 4 main streams i.e. Ruby, JavaScript, HTML/CSS and iOS.

The courses are streamlined with excellent design and informative screencasts. And with the challenges provided after screencast, they provide hints and answers to help you try and learn.

Most of the offered courses are free, some of them will require you to spend $25/month to access the entire course including all screencasts and challenges, and also all other courses in Code School.

4. Treehouse

The courses at Treehouse are more project-oriented than language-oriented. So if you are a novice programmer who have a planned purpose like creating a website, or an application. This is the way to go.

For example, the Websites course is all about building a responsive website, interactive website or even WordPress theme – a very practical and efficient way to master related languages.

The courses at Treehouse are divided into different stages or modules, and after every first stage the learner will be invited to pay a monthly subscription fee of $25 to access all courses with 650+ videos, and an exclusive Treehouse Members Forum as a bonus.

Also if you are serious about your programming future, you could subscribe the $49 monthly plan to obtain in-depth interviews with leading industry pros and cutting-edge workshops.

5. LearnStreet

If you are someone who would rather go for cold hard codes instead of fancy playful designs, LearnStreet is your thing.

Currently the website offers JavaScript, Python and Ruby courses at beginner level. All you need to do is to click on the ‘Start Course’ button and you will start the lesson with an exercise, a code interpreter and a glossary panel of new programming terms.

LearnStreet adopts command prompt-styled code interpreters with human language to explain function and encourage you whenever possible, the kind of command prompt you want for your own local machine.

It's indeed a friendly, enjoyable and free website.

6. Udacity

Udacity is the combination of insightful video lectures and improved quizzes to achieve the interactive feel for students. So if you are someone who don’t like to read and who would like to listen from industry professionals like Google employees, this website is for you!

The website provides screencast from pros discussing the topics and instructions, then you will take either logic or programming quizzes to strengthen your understanding on a particular skill.

The website is known for providing more videos than any other site, and the instructors are either real-life professors or industry veterans.

Although one drawback here is that most of the courses offered are not much related to each other. So we will not recommend Udacity as a starting point, but it is indeed a virtual university to further up your study.

7. CodeHS

Most of the websites above were majorly dedicated to web development and computer science, but here at CodeHS your will get simple and fun game programming lessons, which will involve lessons on problem solving, JavaScript, animation, data structures, game design and puzzle challenges.

CodeHS helps you to think and solve a problem like a programmer right from its first course. The lessons are fun as you will learn how to use the code to move the dog and puzzles like picking up ball and building a towel.

Although other than its first course mentioned above, one will be required to sign up first with $25 per month to continue your learning journey, but trust us the amount is worth it if you are willing to learn basic game programming effectively.

8. Khan Academy

The courses at Khan Academy might not be as structured as CodeHS, but it definitely serves as an open playground for both novice and amateurs who are interested in learning drawing, animation and user interaction with code. It does not take you forward on any programming language in particular, but the code pattern it adopts can be applied anywhere, as a majority of languages share the similar programming pattern.

You can join the first Programming Basics course to watch and learn basic concepts, then explore the given code after the video tutorial to validate your doubts. In Khan Academy, you can also save your modification as a Spin-Off for everyone to enjoy and customize. You can imagine the community size and the lesson’s effectiveness as there have been hundreds of spin-offs just from one lesson in one course.

9. Scratch 2.0

Your think CodeHS and Khan Academy were too hardcore? Nothing to worry, we have something easier for the aspiring programmer in you and it’s called Scratch. Previously an offline software that allowed kids to create, upload and share their projects proudly, Scratch is now fully online with its 2.0 successor.

Although it’s not all about programming but it is a good combination of visual blocks of commands that tell assigned objects how to behave, such as telling the cat to move 10 steps, or yell ‘meow’ when it touches the owner’s leg.

By using this visual programming method, a programmers will form a habit of breaking a problem into smaller blocks, and solve them one by one logically.

10. SQLZOO

Structured Query Language (SQL) is a language which was designed with the pure intention of storing and retrieve data from a database. So you think the experience of learning the language can be full of boredom? We bring SQLZOO, which will let you to learn SQL happily with its interactive interface and smileys.

Thursday, October 2, 2014

3 Essential Steps to Living Your Own Life


1. Think About What You Really Want.

For most of us, just knowing who we are is a challenge. According to research from the federal Centers for Disease Control, about 40 percent of Americans haven’t determined a sense of purpose in their lives. It’s easy to say, Live life on your own terms, but if you haven’t figured out those terms, you may feel like you’re drifting through your own existence. When you don't know what you want, you're like a ship without a rudder. But figuring out your principles can help you stay on course no matter what life throws at you. Start by asking yourself: What really lights me up? What matters to me? Your family, your community and society in general will have plenty to say about what you should be doing, but, ultimately, only you can answer this question. You’re in control.
Thinking about what you want is not a selfish act, but a fundamental part of knowing yourself. Asking yourself what your principles are doesn’t mean casting everyone else aside—often, it means just the opposite. Deciding what matters to you involves recognizing the people who matter to you, and determining that they are a priority in your life and that caring for them is part of what makes you happy.
When you live a life that you cherish, everything around you holds more meaning. You are likely to be kinder, more considerate, and moreunderstanding of others and their paths in life. When you are fulfilled, you can be more giving of yourself. A 2002 study showed that happy people are more likely to have “fulfilling marriages and relationships, high incomes, superior work performance, community involvement, robust health, and a long life.” The study further indicated that positive emotions are linked to characteristics like “sociability, optimism, energy, originality, and altruism.” You have the most value in the world around you when you find and invest in the gifts that you uniquely have to offer.
So, ask yourself what lights you up. If you enjoy being with certain friends or groups of people, do you make them a priority? If you love a particular activity, how much time do you award it? And if you aren’t sure what you’re passionate about, try a bunch of things. Don't assume you know everything about yourself, or put yourself in a box, because you could be missing out. I know this from personal experience: Years ago, I had a fear of teaching and believed to my core that I would be bad at it. Then I was invited to teach a college course and quickly learned that I couldn’t have been more wrong. I love to teach, and it has become a deeply fulfilling part of my life.
Taking this kind of step will support and strengthen your real self.

2. Set Specific Goals.
Often people focus on their goals in negative terms. Instead of, “I want to look my best, so I’m going to eat healthy,” they tell themselves “You’re so fat. You should starve yourself this week.” A better approach is to write down your core values and the behaviors you would manifest that are in line with these beliefs. Try to keep the list to a few, so you can really focus. Then, think about specific actions you can take to move closer to your goals. Set smaller waypoints that you can accomplish along the way. This will make it easier to keep yourself accountable and track your progress.
A recent study showed that people who wrote down their goals, formulated actions to achieve them, and sent weekly progress reports to a friend accomplished significantly more than those who merely set a goal. This study concluded that three coaching tools (accountability, commitment, and writing down one’s goals) were extremely effective in helping people succeed. If you create too many goals or set impossible standards, you’re more likely to get overwhelmed. You may wind up feeling scattered and anxious as opposed to organized and on-track.
Taking this step will help keep you on your own side.

3. Ignore Your Inner Critic.

When you start taking actions toward your goals, be wary of the roadblocks that will inevitably arise. The first enemy you’ll encounter is your “critical inner voice.” The critical inner voice is like a coach in your head that attempts to keep you feeling “safe” by maintaining your defensive adaptations to life and reinforcing the familiar old identity you grew up with. It may put you down and undermine your desires with thoughts like: ”You don’t really want that, do you?”; ” You have never gone after it before”; or, “You probably aren’t even capable of that.” It will warn you about taking chances and trying a new approach to life: “If you go for what you want, you are setting yourself up for failure, and it will be humiliating.”
The critical inner voice is the language of the anti-self, the part of a person that is against his or her own self-interest. It is made up of a destructive point of view incorporated early in life. The anti-self is self-critical and cynical towards others; self-hating, paranoid, and suspicious; and, at its ultimate end, self-destructive and destructive to others. A person’s realself, in contrast, is made up of their own unique wants and desires. It is life-affirming and goal-directed.
Human brains are wired to focus on whatever seems dangerous or events that we experience as life-threatening. Unfortunately, because of this, negative events from our childhood can leave a stronger impression on us than positive ones. A parent suddenly “losing it,” for example, can look scary, even life-threatening to a small child. Because of the child’s complete dependence on parents and other caretakers, their emotional impact is significant. As children, people internalized the destructive attitudes that their caretakers directed or acted out toward them during moments of stress. These attitudes, along with parents' attitudes toward themselves, which were also internalized, help formulate the inner critic.
Throughout people’s lives, their moods are influenced by their critical inner voice. When you attempt to differentiate from these thoughts and live your own life based on the wants, desires, and goals of your real self, the “voices” often get even louder. Have you ever noticed the anxiety that arises when you start taking steps to achieve a goal? Did critical inner thoughts get in your way, either undermining your efforts with self-doubts or luring you to procrastinate? Unfortunately, it's easy to get lost in our own mind—ruminating, but not taking action.
If you really want to go about changing your life, adopt a zero-tolerance policy toward your inner critic. When you notice that you’re starting to attack yourself, interrupt that thinking without question. Don’t let yourself argue or mull it over in your mind. Just remind yourself that these are just critical inner thoughts and that it is never appropriate to have a mean, taunting, or nasty attitude toward yourself. Catch on to the triggers that ignite this negative thinking: Remember, your “voices” can be subtle and pick on things that have some reality or areas in which you are weak. Be careful of thoughts that that sound friendly or seductive—“Don’t bother to exercise today. You deserve a break"; "Just stay at the office a little longer. Work is what you do best"; "You can spend time with your family some other time.”

Monday, September 29, 2014

Marathon training.. Lets Run



http://www.jeffgalloway.com/

The good people of TWCM surely loved the 10Km training plan post we made recently! A couple of requests for similar plans for the half marathon and full marathon distances threw us over at TWCM Blog Headquarters into a tizzy. All named and unnamed fears about training for long distance races surfaced. Finally, we figured that the solution to all of life’s problems lies in a simple thing called the internet…
In our (sort of humble) opinion, you are ready to train for a half marathon if you have some experience of longish distance running under your belt. Perhaps it would be beneficial if you did actually enjoy running in general, but we know that is sometimes an acquired taste. Assuming this is so, and that you have signed up for the race of the year at our registration page, may we first list a few cautions?
  • Long distance running is tough – as is training for it – make sure you are fully fit to embark on this (admittedly wonderful) journey. Get that annual physical out of the way. Talk to your doctor. 
  • Patience is a virtue – in training for (and actually, even running) long distance races, the patient shall surely inherit the earth. Don’t do too much too soon! It’s neither helpful nor worth it.
  • Rest is best – New runners think they have to run every.single.day. As if you are going to forget it if you miss a day. You won’t. Give yourself sufficient rest, trust us, you will thank us on race day (and for the rest of your life).
  • Cross training – does not mean ‘running’ faster or slower. It’s defined as anything but running. Good options are walking, cycling, swimming. Bad options are TV watching and junk food binges. 
  • Walking in a race – is perfectly fine. We all do it. Don’t worry about it! In fact when you read on you will notice that a special training scheme actually recommends it!!
  • Time Goal – if this is your first race, your main goals should be finish, be strong at the end, and generally be happy and smiley all the time. Save time goals for later!  
There are many places you can go for a training plan for a half marathon. As the number of runners on our roads has increased dramatically over the past few decades, so have trainers and plans. Of course many of the old-timers ‘train themselves’ as well… In this post, we discuss some of the most popular, sort of conventional plans… If you are a beginner, this may be a good place to start learning about the art and science of marathons and half marathons…
  • Hal Higdon is a seasoned, veteran marathoner and author of several books, including the Marathon: The Ultimate Training Guide. He has written for the running magazine, Runner’s World, for half a century now! Here you can find his free half marathon training plan for beginners: Hal Higdon’s Plan
  • Jeff Galloway is our personal favourite. He is the ‘inventor’ of the Galloway Run Walk Run routine. He has coached and training hundreds of thousands of runners and is a popular motivational speaker as well. You can check out his free half marathon training plan here: Run Walk Run Plan. 
  • The magazine giant Runner’s World will sell you a training plan – we know of someone who knows someone who likes these plans for sure. Check it out here, read also the detailed explanations there about Easy Runs, Tempo Runs and other such: Runner’s World Training 
  • In recent times, as busy executives and generally over-worked people have voluntarily entered into this recreational running gig, out of interest, for health reasons, etc., there is some focus on training routines that require less time. In this sort of space is the ‘Run Less Run Faster’ program of Bill Pierce, Scott Murr, and Ray Moss. You have to understand the system here – and buy the book: Run Less Run Faster Web-Site. 
 SquatMake sure to read through the text & comments!
 Push upWork on your form!
 Pull upYes you can!
 Hinge - also very important
 Plank – Most runners LOVE the plank!
 Or you can follow this routine which strengthens the majority of the muscles. You might think, ‘Hey! It’s going to be an easy. After all, it’s just 15 minutes, right’. Well, you go ahead and let me know how easy it was after you’re done ;-)
Raj Ganpath’s 15 Minute Workout Routine
Don’t like this? Try one of these:
Raj Ganpath’s Other Workouts 


http://arvindashok.com/blog/2011/03/03/getting-better-at-running/

 http://halhigdon.com/

http://www.runningforbeginners.com/