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

5 New Year’s Resolutions for Busy Families

It somehow seems that modern life is busier than it has ever been. As well as our work and family commitments, there are now so many ways to spend our leisure time; it often feels like 24 hours is simply not long enough to get everything you wanted done in the day.

The problem of being busy all of the time (even though it is a good problem to have) hits those of us who have time-consuming jobs and are also raising a family the hardest. If you fall into this category, you may find it helpful to read the following list of five potential New Year’s resolutions you could make to ensure your 2017 is less stressful than this year may have been!

1) Leave the office on time – Even if it’s only on one or two days a week, it is important that you sometimes put your foot down and leave your place of work as soon as your day is meant to finish. You’ll find that you get much more done in the evenings!

2) Invest in a 2017 calendar – It may sound like a simple step, but that’s sort of the point. Having your work and leisure commitments mapped out for the weeks and months ahead in an easy to view format will allow you to see at a glance just how busy you are and whether you are taking on too much.

3) Spend 10 minutes doing nothing – Again, this is more productive than it sounds! Set your alarm ten minutes earlier every day so that, before you get up, you can spend this extra time in completely undisturbed silence, thinking about what your priorities should be for the day to come.

4) What are your two most important tasks? – Speaking of priorities, it is also a good idea to take a step back from time to time and decide which the two most important jobs are that you wish to accomplish on any given day. This is a great way of clearing your head when you feel overwhelmed.

5) Consider hiring household staff – You may have thought that hiring a nanny or other household staff might be the ‘easy way out’, but this is not the case. Those who have invested in professional assistance of this kind know that hiring a caring and responsible person to help run your busy home is a fantastic way of relieving domestic pressures.

Posted in Uncategorized | Comments Off on 5 New Year’s Resolutions for Busy Families

The Future of Android Games, Virtual Reality & Augmented Reality

Mobile gaming has come a very long way since the introduction of crude & simple games like Snake and Pong which were available on early Nokia phones. Mobile processors and graphics are now as powerful as desktop computers were just a few years ago. Older generations still remember lugging around a Game Boy or Game gear and begging their parents for another game. New generations literally have access to 100’s of thousands of games on their mobile device.

In short, mobile gaming has exploded in just a few years time. In the month of July 2016 there were 63.1 million arcade games downloaded & games in the “strategy” category generated $195M revenue. In a recent study over 37% of mobile app users with 30 minutes of free time choose to play games over any other activity. We’ve all seen it and we’ve all done it ourselves, whether its waiting for an appointment or sitting at the airport, we pull out our mobile device and jump into a quick game to kill the time.

So what does all of this mean for the future of android gaming? For starters, the massive amounts of revenue and user interest in android gaming has bolstered continuous innovation and fierce competition in the global marketplace. For example, just 12 months ago, top executives were saying they didn’t see any major benefit to augmented reality. With the release of Pokemon Go and estimates citing as much as $500 million in revenue in just 60 days, I think we can all agree augmented reality is here to stay. Virtual reality is another area that has been picking up steam in recent months. You can now buy virtual reality headsets at local gas stations for a mere $30. Or if you’re on a budget you can purchase Google Cardboard for as little as $7.00. There are still only a limited number of VR enabled games but that number is increasing daily. Not only that, as more and more people experience VR we are sure to see a blockbuster release sooner or later.

Let’s take a look at some real life examples of recent game releases. Dawn of Titans which was recently released on Google Play was in development for over 2 years. This is akin to the development cycle of a mid-level PC game release on Steam. The game features mass controlled troops, world building elements and impressive graphics. A few years ago this would be considered a major release for the Android platform. These days this is just another drop in the massive pond. With over 2.4 million apps and games currently listed on Google Play it’s become harder and harder to stand out. This is actually good news for gamers as developers are working harder and faster to create new innovative titles to attract users.

I firmly believe that both Virtual Reality (VR) and Augmented Reality (AR) titles are going to gain more traction in 2017. Major developers who can pump out triple A content can’t be left in the dust while indie developers pump out AR and VR enabled games. They will be forced to port existing titles and come up exciting new ways to interact with the mobile devices.

There are many gimmicky games available that utilize the phones microphone, gyroscope, camera and accelerometer. However, these sensors combined with AR and VR could bring a whole new experience to gamers. Imagine walking through a recreated 3D world that represents your neighbourhood, immersed in full virtual reality, and using your phone as a targeting device to defend against waves of zombies. This is already possible with the technology that is available, it just needs to be packaged in a user friendly way that people can enjoy. Combining meticulous graphics with well thought out virtual reality experiences would be impressive indeed. If you’re familiar with PC based virtual reality demo’s you already know how immersive the experience can be. It’s only a matter of time before these same experiences make their way to our mobile devices en masse. And to think, only 30 years ago we were playing Mario on our beloved Nintendo consoles. Let’s not even mention the Virtual Boy that burned your eyes after 2 minutes of playing tennis. Android games and mobile games in general have come a long ways since then and they will continue to push barriers even further in the near future.

Posted in Uncategorized | Comments Off on The Future of Android Games, Virtual Reality & Augmented Reality

4 Content Marketing Trends for Business Owners

As we approach 2017, it’s interesting to think about where we’re headed in the coming year when it comes to marketing our business.

All business owners want to stay on top of their game by being prepared for what’s ahead but in today’s fast-changing world, what does that look like?

Below are some content marketing trends you’ll want to prepare for when marketing your business in the coming year:

1) Incorporate More Social Media Graphics, Infographics, Visuals and Videos. Since your followers are 80 percent more likely to read your content if you use coloured visuals, this area needs to be built up more across your social media channels.

The popularity of visual content will only increase, so you must be prepared. Using Facebook live is still a hot commodity so be sure to dive into that opportunity too!

2) Build a Team. 60 percent of marketers in one survey said content creation was their biggest challenge last year.

To overcome this obstacle, get a team of people to help make content development and publishing easy. This includes having a good writer and social media specialist.
3) Tap Into Influencers. 90% of consumers trust peer recommendations where only 33% trust ads.

Consumers have begun to tune out traditional ads and increasingly connect to their social networks to guide their buying decisions. That’s why connecting with influencers is so important.

What is an influencer? “Influencers are people with significant networks (followers, readers, etc.) who can speak to a broad range of products and services with the ability to sway opinions in their favor.” – Jess Estrada.

Identify influencers to reach out to in your industry. Follow them on social media and see where you can strike up a conversation.

4) Drive Content Marketing Leads into a Funnel. High value content is one thing, but if you don’t build in a strategy that continues building rapport with prospects in the right way, you are leaving money on the table.

Content Marketing is a highly effective way to segment your audience and send them targeted follow-ups and offers, instead of adding them to your main email list.

Creating an Effective Content Marketing Plan for 2017

One of the biggest mistakes I have seen businesses make is they jump into content marketing without a strategy. While trying to appeal to their target market, they slap together a couple of eBooks and free offerings and hope it will be enough to drive sales.

The first step to making content marketing really work for you is to have a solid, smart content marketing plan in place.

Make sure you outline the following essentials in your content marketing plan:

Understand Who You Are Marketing to. Before starting any kind of marketing strategy, it’s vital you understand who your ideal target market is. There’s no point in investing your time and money into marketing when you don’t have a clear understanding of who you want to buy from you.

A Comprehensive Review of Past Efforts. Review your past content marketing efforts and results from 2016. This helps you to see what was most effective, what wasn’t, and develop a plan to improve for next year.

Set Goals and Benchmarks to Determine Future Campaign Success. Having a clear understanding of what you want to accomplish and what that will look like is important.

Develop Content Ideas that Align with Sales Goals. Here’s some example sales goals:

o Boost sales of Mega Fit Bootcamp by 25%.

o Get 50 new leads a month into our sales funnel.

o Create an eBook on Sales Tips for People Who Hate to Sell to drive leads to the funnel.

Plan a Content Marketing Calendar with Dates and Deadlines. Create an editorial calendar that clearly lays out your dates and deadlines so you can easily prioritize your efforts. This eliminates the “what do I write” problem.

It also makes it much easier to work ahead on content and delegate to team members.

I hope you’d enjoyed these highlights, stats, and facts to help you prepare for content marketing in the coming year.

I’m curious: What changes do you plan to make to your social media strategy in 2017?

Posted in Uncategorized | Comments Off on 4 Content Marketing Trends for Business Owners

How Do I Discover My Purpose? Start By Asking Yourself These 3 Questions

One of the biggest questions I hear is, “What is my purpose?”

In reality, there are only two people who can really tell you what your purpose is you and God.

What is purpose?

Your purpose is the plan God has for you, the reason why He has created to live on this earth.

He can tell you because He created you and He made a specific purpose just for you. As you seek to know God more, and learn His plan for your life, you can discover this purpose. Contrary to what many people believe, you are not here just to take up space, meander around, watch reality TV, be miserable, or even eat chocolate.

God has so much more for you. He wants you to love your life by discovering your purpose and walking it out on consistent basis.

God also wants you to connect with Him and join Him where He is already working.

This requires you to be able to:
• Have a relationship with Him through faith in Jesus Christ
• Experience an intimate relationship with Him
• Learn to hear His voice

If you want to fulfill your purpose for 2017, I encourage you to take a quick mental inventory of what you have. Then 3 questions to ask yourself include:
• What 5 things do I want to change about myself in this year? This could include your job, a relationship, a personal goal, certain habits, etc.
• What people/things do I need to get rid of so I can pursue my purpose?
• What negative mindsets do I need to get rid of? If you are honest with yourself, you can experience areas of growth so you can pursue your purpose.

I would also recommend you find an accountability partner or hire a life purpose coach to help you to see where you are and how you can get closer to pursuing your purpose.