The Artistic Way of Programming

12 years back, when I started my formal classes in computer science, the first thing I learnt was “data” means “information”. A few days after that, we started conventional programming, where code and data were treated separately. For example, only data can be passed as the functional arguments. It was difficult for me to digest that “code, which is also information, is not treated as data”. I strongly felt that this will increase complexity of softwares in the long run.

A system does three things – read, transform (processing data), write. In other words – the mathematics (the transform part), and the effect of that in real life (the read/write part). The data transformation is indeed a mathematical concept, and with the help of read and write we make the mathematics (the transform part) useful to the real world. Bringing the “transform” part fully inside mathematical domain has its own benefit of using mathematics without fear (possible errors) for the analysis of the system, making the system more tractable mathematically. The catch is to treat both the elements of transformations, data and functions, equally.

Initially, code used to be bigger than the data, so sending data over the wire was feasible. But with time, data becoming huge, sending code to systems over the wire becomes the need, resting the data on the systems intact. With big data, the need of the hour is to treat the code as data, so that the code can be taken as argument to another meta function on a system having huge data which expects an algorithm for transformations.

Roughly speaking, codes are algorithms, algorithms are mathematical functions, functions are in turn actually look-up tables, i.e. data. Hence with this principle, all codes or functions are data.This is exactly the cornerstone of the functional paradigm. The functional programming is programming with functions, they treat functions and data likewise. Another principle I love, to control complexity, rules should not be complex itself.

Thumb rules rewritten for the functional paradigm:

Read-write and transformations(algorithms) should be separate.
Use immutable variables. Discourage use of reassignment statements.
Discourage side-effects (input/output or changing any variable in-place), every function should ONLY return its expected result.
Use referentially transparent functions (sometimes it is called pure functions) with no side effects, i.e. if x = y, f(x) and f(y) should be same forever.
Unit testing is a must for each function.
One of the main design patterns should be followed is to use expressions instead of instructions, i.e. it should be declarative in nature. Discourage use of loops like for/while – use recursive statements as shown above to calculate sum. Tell computers what needs to be done, not how to do it – it reduces error, especially edge cases.
With the need to control the complexity of the system and the advance design, the design pattern for the functional composition can be made to follow some basic algebraic structures, which in turn becomes more robust.

Posted in Uncategorized | Comments Off on The Artistic Way of Programming

How to Get What You Want in 2017

It is almost 2017 and time to start thinking about those New Year’s resolutions but the problem with New Year’s resolutions is that so few people actually achieve them. Why is this and what can you do to make sure you actually get what you want in 2017?

1. Write Down Your New Year’s Resolutions and Set SMART goals

The first step towards achieving what you want is to actually write it down and turn resolutions into goals. An unwritten resolution is quickly forgotten and unless you have some written, specific goals chances are you are just going to be wandering. SMART goals are specific, measurable, attainable, realistic and time-bound. In other words, say exactly what you want to achieve, by when and have ways of measuring how you are getting along. 2. Develop Habits and Consistency

Another problem that often occurs with New Year’s resolutions is that people do not form habits and develop consistency in those actions that are going to get them there. For instance, if you want to lose weight, it needs to become a habit to exercise and eat healthy foods. They say it takes 21 days to develop a habit but it is actually better to consistently stick to it for 63 days to ensure that the habit is well entrenched into your lifestyle before taking any breaks. Not all habits need to be done every day but you do need to be consistent in doing those things that will get you towards your goal.

3. Track and Measure

Set smaller goals and ways of measuring how you are making progress towards your major goal and then track these. Start by tracking those habits that it will take to get you there – how many times have you exercised this week for example. As you are tracking you will see how even the small steps count and will be more motivated to keep moving towards your major goal.

4. Stay Positive

Your mindset has a huge role to play in whether you are going to achieve your goals or not. Always try to remain positive and think positively. Focus on what it is you want but don’t beat yourself up over setbacks or slip ups, you will get times where things don’t go perfectly or you may have a setback but just keep going and you will get there.

Instead of just setting some New Year’s Resolutions for this next year why not turn them into actionable goals, develop habits that will help you achieve them and track these consistently. Keep positive and all the best for achieving whatever it is you want to achieve in 2017.

Posted in Uncategorized | Comments Off on How to Get What You Want in 2017

Cleveland Has A Better Chance Than Chicago To Return To The World Series

The youth of the Cubs, epitomized by the selection of Kris Bryant as the National League Most Valuable Player, has many people discussing a return to the World Series next year and beyond for the team from Chicago’s North Side. In actuality, it seems that their opponents in this past Fall Classic are more likely than the Cubs to reach it again in 2017.

Several key members of the Cubs are facing free agency, most notably closer Aroldis Chapman and leadoff hitter Dexter Fowler. Postseason pitching hero Jon Lester will return, but veteran battery mate David Ross has retired. The loss of his personal long time catcher, who was brought over from Boston to Chicago primarily at Lester’s request, may cause the left hander to be less effective in 2017.

Cleveland, on the other hand, will be adding a star player to a lineup that managed to somehow win the pennant without him. Outfielder Michael Brantley, the team’s M.V.P. in 2015, will return after missing nearly all of last season due to injury. They will also get back catcher Yan Gomes, who missed much of the season as well. The path to the playoffs promises to be easier for Cleveland next season. Two of the perennial powers that rival the Indians in the American League Central division, Detroit and Chicago, are going to be considerably weaker as they enter rebuilding mode. The Tigers are looking to trade veterans such as Julio Iglesias and Ian Kinsler in hopes of getting top prospects, and the White Sox are marketing ace left hander Chris Sale and center fielder Adam Eaton.

Also weaker are the teams the Indians breezed through in the playoffs, which saw Cleveland win seven of the eight games in the two rounds. Boston, who was swept in three games by Cleveland, will very likely miss the presence of “Big Papi” David Ortiz. The perennial All-star and likely Hall of Fame designated hitter retired after the season.

Toronto, who was dispatched by Cleveland in five games in the Championship Series, will be losing at least one of its key sluggers Edwin Encarnacion and Jose Bautista. Both All-Stars are free agents this winter, and each will command contracts so large that it would be impossible for the Blue Jays to sign the duo.

On the other hand, the Cubs’ most probable playoff opponents are likely going to be stronger. Washington, which finished behind Chicago for most victories last season, is seeking to acquire Sale from the White Sox. That acquisition would strengthen an already formidable starting rotation, anchored by Cy Young Award winner Max Scherzer. The Nationals are also on target to sign Fowler away from Chicago. The Dodgers, who came just two games from wresting the pennant from the Cubs, are actively pursuing several power hitters that could push them over Chicago in the playoffs. Milwaukee outfielder and former National League M.V.P Ryan Braun continues to be linked in possible trades with Los Angeles.

While there is no doubt that the Cubs will be the favorites to win the pennant again in 2017, Cleveland might be an even better bet to repeat. After all, they won it last year without two of its best players, both of whom should be healthy in the spring.

Posted in Uncategorized | Comments Off on Cleveland Has A Better Chance Than Chicago To Return To The World Series

Real Talk on Overcoming Addictions

There comes a point in your life when you say “enough!” The fight within becomes so unbearable that you say.” No more, that’s it I’ve had it.” You’re done being a victim. A quick shift in consciousness appears. You hit rock bottom.. There is no way but up. You realize that you have to look yourself in the mirror and get real with yourself and become the person you know that you can become. Decide now and realize that “one day” is an illusion, “one day” never comes. Do the things that need to be done, now. The drugs, the sex, the feeling sorry for yourself, the hypocrisy, the porn, the lying, the whining and complaining needs to become a thing of the past.

Sometimes the truth hurts and sometimes the truth about yourself needs to be revealed. Lying to yourself and waiting on something outside yourself to save you ain’t gonna happen. You save you. Only the individual knows his or her truth. The doubts and fears are brought to the surface. We all know what we have to do in order to save ourselves. We have to go to the place that we don’t want to go. We have to get uncomfortable. The shift in thought becomes freedom. Look within and find the source of your misery. Face that demon and overcome it. We can be shown the way to end suffering, but it’s up to us to make the first step. We have to man up. Start with the small things and then gradually do bigger things. Start being grateful for the things you have now. Act the part or fake it till you make it and become liberated. There are people in the world who have so little and they are so happy. Happiness is a state of mind. Act happy, act free, become an actor. Don’t tell others your intentions either. Shut your mouth and move in the direction of right thought and actions. There are people in the world with every luxury that the world provides and they are miserable as hell. Happiness is not in material objects, otherwise those with the most wealth and stuff would be the happiest.

The kingdom of heaven is of no use if we think we can bring our vices with us. Heaven is a mindset. The old self, thoughts and habits associated with that old self has got to go. A new self has to be created. It can begin with a creation of a new attitude, a new way of seeing things and deciding to let go of things that don’t serve us any longer. Life is a journey and we all have obstacles to overcome. Dwelling on the past is useless. Leave the past in the past where it belongs.

Winston Churchill was the prime minister of the United Kingdom from 1940 to 1945 and again from 1951 to 1955 and he has a famous quote that reads, “If you are going through hell, keep going.” Don’t stop in hell and extend your visit, move on. Hell is a passing phase and for those who know where the keys to heaven are can enter. Heaven and hell are states of mind. Get tired, get fed up and do the things necessary to leave hell and enter heaven. Pray, meditate, read books, listen to motivational talk and fight to overcome temptation with everything you have. Change the way you think now. Stop listening to useless opinions, negative commentary from so-called experts. Resist being distracted by things that have nothing to do with the improvement of your life.

Learn from your mistakes and look forward to the future you want. Leave the past in the past. Get out of your comfort zone and get talked about. People gonna talk about you anyway, they’re talking about you now. Realize that not everyone will like you. Don’t take it personal. Not everyone like God, so why would you be any different? It’s almost 2017 and it’s time out for playing.

Technology is available almost everyone on earth. If you live in an industrialized nation, then there are no excuses if you want help for your addictions or destructive habits. The internet is full of free information and videos on practically any subject. YouTube is a great source for getting help in overcoming addiction. There are people from all over the world that will give free advice and tips. Just as technology can be used for bad, technology can also be used for good. I love technology, because it has helped me in overcoming a very bad addiction. I am free now. It took hard work, praying, meditating, counseling, books, videos and going deep within. Start with noticing the silent self talk within. Be aware of the voice in your head and watch it. The voice has always been there, notice the voice and separate yourself from that voice. Look at the voice from a distance. Silence yourself and resist falling asleep. Silence your electronic devices and spend time alone and watch your thoughts. You will start to think about what you are thinking about. Realization of the false self shows itself. Next, you will see the addict, the complainer, and that false self for what it is. A new way of seeing is revealed. If you have ever said,”what was I thinking?” That realization is a glimpse into consciousness awakening.

Going through hell can be a great teacher. Decide now and change your mind. Quit playing and realize that life is passing regardless. Get fed up and make the change for a better life now. Do what you know you should do. Free your mind now.

Posted in Uncategorized | Comments Off on Real Talk on Overcoming Addictions

LYFT Driverless Car Network

Not so long ago in the past and to be more specific, it has been just 4 years since the announcement of LYFT as a large competitor for Uber. Today the company has grown in size and popularity and is definitely making waves in terms of pricing along with coverage. This company was first thought of as a fly by night company to be hauled away in the next big growth of Uber. However, this has been a far thought for LYFT. This company has been silently building itself and engulfing its efforts in technology. Their most recently talked about innovation to be brought online will be a Driverless Car Network.

Now many have bogged at the idea of Driverless cars, but they are becoming more and more trendy as time moves on. Innovators such as Mercedes has put self-driving capabilities in many of its models, followed by General Motors Nissan, Toyota, Audi, Volvo, and Tesla. Self-driving cars are no longer a talk of possibility; they are now here to stay. For that reason, GM has jumped on the forefront to invest $500 million in LYFT’s initiative for their Driverless Car Network. This effort essentially will change the way how we commute and reduce the risks associated with impaired drivers or drivers which are inebriated. As opposed to going out in the car yourself to make a pickup of a friend or parents, a simple call or selection in the LYFT app will send a Driverless LYFT vehicle to the pickup aid of the designated person and taking them safely to their next location without incident. This means that the 94% of road accidents which are caused by human error will be drastically dropped due to the car being driven by Artificial Intelligence. Roadways will be more accessible with less vehicles cluttering the highways as more accessibility for carpools and more ability to work while riding effortlessly to work or to school. Many traffic jams are accounted by accidents which occur during morning or evening rush hour. Imagine not having to deal with such delays and being able to effortlessly get home while finishing up a project for work, school, or leisure. This is the future the LYFT is in the process of unveiling to the world in 2017. As far as designs for the Driverless Car Network that LYFT will unveil in 2017, its all just speculations as LYFT along with General Motors has managed to keep talks or leaks about the designs under heavy guard. At the moment these companies stand at the cusp of changing the way how we all use our vehicles and LYFT is the company that is driving the helm.

Posted in Uncategorized | Comments Off on LYFT Driverless Car Network