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

Are You at Risk of Being “Uberized”?

If you’re like many Business Owners and Leaders you probably feel pretty good about the position you hold in your market… so did the taxi cab companies and drivers before Uber became a reality. Now they are scrambling and trying to find a way to survive… even to the point of trying to get political help in different cities to stay afloat.

Disruption and Commoditization have impacted virtually every industry today. There probably isn’t a single industry that hasn’t been impacted by a disruptive organization entering their market and stealing some of their market share. Uber is an excellent example but there are many others that have been equally disruptive. Companies such as LegalZoom have taken billions of dollars away from attorneys over the past several years. They captured and disrupted a document and transaction-based business and turned it into a commodity by substantially lowering the pricing of document preparation… impacting attorneys all over the country.

Amazon was an early disruptor to the entire book business… taking significant market share away from Barnes and Noble and Borders who were recognized giants in the book industry. And we certainly can’t forget about Blockbuster’s demise when Netflix entered the market. They were the unquestioned dominant leader in video rental and were virtually replaced overnight by an unknown company with a new disruptive business model that matched the needs of customers at substantial savings.

Even though these examples are in completely different industries there is one common thread that runs through all of them… they didn’t believe anyone could disrupt their dominance in their market. While it’s awesome to believe in your product or service, it’s dangerous to think there isn’t someone waiting in the wings to take away your position. Unlike any other time in history, we are now seeing new companies coming into traditional industries from many unrelated areas and establishing a disruptive model and capturing significant market share. This trend is only going to continue now that it has shown massive success over the past few years. So what can you do, as the leader of your business, to either avoid or minimize the impact of this potential disruption?

While commoditization is difficult to combat with products and services over a long period of time, there is at least one alternative that appears to withstand the test of time and delivers differentiation in the market… your CUSTOMER EXPERIENCE.

It is difficult to continually come up with new products and services to satisfy the ravenous appetite customers have today. Just when you think you have the best and leading edge product or newest service, someone comes in and “one-ups” you and takes away the leading spot. While you might remain there for some period of time, it is difficult to remain at the top for extended periods of time. Apple is one of the few that has been successful at this… but it took them many years of living in the shadow of Microsoft and others before they became the dominant leader. Today, Microsoft is in this unenviable position and trying to fight their way back to the top… especially in the race for the Cloud.

But these are behemoth companies… not the SMB market. They can throw billions of dollars at innovation and products and hope they find a winner. The small and mid-sized business (SMB) can’t be this frivolous with their cash and making too many product/service mistakes can wipe out a business before anything comes to fruition. The proven alternative to this madness is to focus on the ONE THING that is completely in their control to design and deliver… their CUSTOMER EXPERIENCE.

Customer Experience has both short and long term advantages. It is something that can be created and implemented within the year but last for many decades to come when implemented properly. And by properly I’m not talking about telling all your employees they need to be nicer to the customer… that never works for the long term… every company can be nice to their customers if they try. This isn’t the answer… this isn’t the differentiator… but it’s on the right track.

Creating a customized CUSTOMER JOURNEY that is built upon a very well defined Customer Experience Process (something we call Customer Experience Mapping) is what allows companies to reap these rewards for many years into the future. Think Disney… they created “the happiest place on earth” and continue to deliver this experience year after year after year. This didn’t happen by holding a meeting and telling all their employees and characters to be nicer to their guests… it happened because they have a very well defined Customer Journey that is built on a foundation of a well-designed and executed Customer Experience.

Nordstrom did the same thing many decades ago. They started selling shoes… then clothing… all at high prices. But they started with a very distinct process inside the organization for delivering an incredible customer experience day in and day out. Zappos followed this same model… sold shoes… one of the ultimate commodities in the clothing industry… and they dominate today. They don’t give discounts and silly things like “one day only” sales (every day)… they simply deliver a remarkable Customer Experience to every customer every day… and their customers love to buy from Zappos. And it has worked out pretty well when you consider they went from zero to over $1 Billion in revenues in less than 10 years and were sold to Amazon for more than a billion dollars. Not a bad model if you ask me.

One way to avoid being COMMODITIZED and losing customers is to design something even new entrants can’t copy… the experience you offer. If your Customer Experience is so incredibly amazing and remarkable… WOW… every single day with every interaction, this creates immediate differentiation and a long tail of success. It is the ultimate weapon against commoditization or even new entrants into a market. For a new disruptive entrant to take away market share they would need to be so much better and cheaper than anything you offered… which is difficult to do today. And for those of you that are saying to yourself right now, “Yea but we’re different, we do a good quality job and treat our customers well so we aren’t at risk,” I would offer you some instant advice… take the blinders off and get real with looking at your business. This is living in a fantasy world… this isn’t looking at your company from the eyes of your customer… they are seeing something very different. And if someone came into your market today and offered a completely different (and awesome) experience to your customers at or below your price they would be gone in a heartbeat.

Achieving long-term dominance doesn’t happen by “being nicer to your customers” and thinking you have created differentiation… you haven’t. Being CUSTOMER OBSESSED and creating a process based CUSTOMER JOURNEY that has a well laid out and documented CUSTOMER EXPERIENCE PROCESS at the heart of it is what will help you avoid being “Uberized.” This strategy gives you differentiation, uniqueness, and a special place in your customers heart and mind… it gives you the “long tail” of success.

I would strongly and passionately encourage you to learn more about why and how this is completely different than what you are probably doing today. If there was ONE THING TO FOCUS ON IN 2017 it would be to create a strategy based around a well-planned Customer Journey which incorporated an incredibly awesome Customer Experience by Mapping out all the experiences your customer will receive when they interact with your business (there are usually over 20 for most companies in the SMB market). If this is of interest and you want to learn more, let’s grab coffee and I can share how some of the best companies in the world have followed this path… for decades… and still dominate in their industries. I think you will find it a fascinating discussion…

Posted in Uncategorized | Comments Off on Are You at Risk of Being “Uberized”?

SEO Tactics That Need to Be Considered

The year is close to the end and SEO consultants are already debating over the strategies and tactics that needs to be followed in the coming year 2017. Several has already researched and published several things and here are we. We have researched and compared several activities to identify which will work and where we did general silly mistakes.

After a clear indication and detailed research, we have identified few tactics that will definitely work in the coming year. Several had already in the marathon & performing much better and few are new (actually not new, but generally misguided prior).

According to the research, traditional approach of “off-page activities” and “on-page activities” will definitely work with few ideological changes. Lets discuss in detail:

On-site SEO Tactics (On-page activities)

To get ready to face hurdles in 2017, SEO Specialists should work first on On-site SEO Tactics. On-site SEO means the work done on the own website instead of other’s. From site structure to website speed, it incorporates several factors, such as-

 

  • UI and Navigation – Great UI always leads to the conversions, user interaction and better impressions. While clear navigation helps to improve visit duration of an individual user. Included in it, they are an essential elements to get rank and get authorized by several active users and webmasters. Use easy navigational formats, proper context placement, elegant web design, etc. to provide better user experience.
  • Site Architecture – A proper architectural design will definitely lead to the ranking and also impact on user experience. While at the different side, it will help to recognize user behavior as well. Site Architecture promises to the proper alignment, proper placement of context and a clearer look. Follow standards of web design, include high level graphics, relevant videos, error-free content, and things to improve user click behavior.
  • Site Interlinking – Interlinking plays a vital role in site ranking. As it leads a user to different pages on the same website and shares the link juice to others, it helps to improve page rank as well as the keyword impressions on Google. Use proper linking structure and anchor on relevant keyword to relevant web page to get noticed by Google crawlers.
  • Site Speed and Crawl ability – Faster loading enhances user experience and help a website to hold users for more duration. To make your website faster on browsers just minify your CSS and JS file and enable the compression of your resources. Even you should work on caching functionality, which amazingly improves crawl speed.
  • Mobile Responsiveness – It is the most essential element to rank well on mobile devices and get higher rate of user interaction. Google has already announced the necessity of responsiveness in its previous update – Mobilegeddon. So, adopt responsive layouts to rank well on search engine’s SERP for both desktop searches and mobile searches.
  • Schema Markup – To identify things accurately, we need few markups that define what it is, why it’s used, who own it, etc. Similarly, search engines also needed few markups to identify site’s elements. That’s why Google itself created Schema Markups that defines the author, title, logo, and several other elements in a website. It helps to index accurately and return back for the accurate search queries.
  • Local Identity Markup – As per Google’s Pigeon update, it’s essential to include Local NAP (Name, Address, Phone no) to get ranked high for local results. This markup results much better for the geocentric searches. So, include your local identity and get ranked better in 2017.
  • Include Authorize trust signals – Authorized websites will get some betterment in the SERP, as they reveal their trust signals. Their trust signals can be their partner’s logo, their SSL certificate, their trademark, etc. So, include trust signals to get user’s trust, this is essential in the near future.

Off-site SEO Tactics (Off-page activities)

On a parallel side, expert digital marketers needed to work on Off-site SEO tactics to create a better presence on search engines. By making authentic, relevant and themed links, we can face the hurdles and overcome from the obstacles in the coming year. Let’s discuss the major off-page activities that will lead in 2017:

 

  • Authentic Link Building – Authenticity comes first when we talk about user trust. Even for the search engine crawlers, authentic link building makes a website trustworthy and helps to improve impressions on a search engine. So, try to get better outbound links from.edu or.org websites or from highly ranked (high DA, PA and PR websites).
  • Content Marketing – Content appears as one of the most important factor in SEO and used as a lead tactic in off-page optimization. From traditional activities to the modern assignments, content used everywhere. But not ordinary, having creative, unique and effective content is essential for better impressions on search engines and it affects the user behavior as well. So, use relevant, grammar-free, unique, expressive and out of the box content for your SEO campaigns in 2017.
  • Authorize Guest Networking – The term networking will impact negatively for the crawlers and because of that, Google somehow didn’t recognize Guest networking for ranking. But if it used in a positive aspect, guest blog networking will impact much better. As they are highly relevant, most authentic and user centric, so, they directly lead more users to a website.
  • Keyword Optimization – Every strategy begins with the selection of relevant keywords, who takes the lead and makes a website visible in SERP for different search queries. Proper placement of keywords in a content (i.e. Keyword Density) and the proximity are essential to get benefited through selected keywords. So, use highly relevant keywords, keep focus on density and proximity, use them in headings and title, etc.
  • Local Listing for all – As per Google’s Pegion Update, local results will completely influence by local listings, NAP and local keywords. By doing local directory submissions, local citation, classifieds on local portals and promotions using local keywords will improve the rank for local searches. So, try to involve GEO specific keywords and local listings in your strategy for 2017 SEO.
  • Active Blogging – Be active to make your promotions worthy. As content marketing is an essential tactic of promotions, blogging is another way of content marketing. On your own blog, company’s blog or on other’s relevant blogs, continual blogging will improve your impressions. So, actively write informative, effective and relevant content for blogging purpose.
  • Themed Linking – In 2017, try to focus on thematic linking, as it shows more relevant and attract targeted audience. Themed linking simply means to the conceptual back linking or getting backlinks from similar concept websites. So, try to search relevant and similar theme sites through competitor analysis, backlink check or searching Google for similar content and place your backlink there.
  • Link Reclamation – Another technique that will give assurance for the better results. Reclamation simply means to recreate broken links by making them revive. For that you can search broken links on highly authorized websites such as Wikipedia, and target relevant thematic content towards your own website. So rebuild your authenticity by using link reclamation in 2017.
  • Client Testimonials/Reviews – Recommendation always improves user trust as well as the Google’s. By asking client testimonials and reviews (obviously positive) on different portals, such as Google business page, Facebook Page, Glassdoor and others, will enhance the ranks and impressions. So, ask positive reviews and testimonials from clients to rank well in 2017.
  • Improve Visual Content Engagement – Text only content can’t make you enhance your user stay on the website. As it somehow makes them bore and ruin their experience. Even no-one has time to read huge content. So, try to involve expressive and engaging visual content such as graphics, images, videos, animations, etc. to improve user engagement and to reduce bounce rate.

 

Social Networking Tactics (Social Signals)

Previously, these are known as a part of “Off-Page Tactics”, but now they have an individual preference and an impact on ranking and impressions on search engines. As a recommended tactic, these signals also consider to make conversions and direct connection. So, that’s require to keep your faith and focus over social signals and work on its elements, such as-

 

  • Social Activeness – Be active on social networks to create a recognized identity. A post on a daily basis can help you to transform your business page into a brand and aware relevant audience about your services, products and features.
  • Improve circle/Friend list of relevant fields – Be clear about the audience before selecting one as a friend on your business account. As it is solely for promotions and conversions and somehow work as a showcase, but only for the relevant one. So improve your friend list with most relevant users, which can help you to generate more pennies in less promotion.
  • Enhance Network – Along with the enhancement in friends, that’s also essential to be a part of different, but relevant communities and groups. It will help you to enhance your reach in the same industry and improve the chance of conversions.
  • Active Blogging on Social Networks – As an emerging platform, social networks are the perfect place to do blogging. As they guarantee about the self promotion and highest reach on a single post, they also assured you about more user interaction. Even the content placed on social platforms such as – Facebook, LinkedIn, Reddit, Stumbleupon, etc. will get high authority and index sooner.
  • Ask for Social Reviews – Social networks worth a lot to make your business a brand. So, be active on it to be always identified, authorized and recognized by several. Even, never leave a single day without interacting, sharing your thought and asking your circle for the reviews. As these are much appreciated way to get ranked on search engines.

Analytics and rapid check (crosscheck activities)

Google used to change its search algorithms on a regular basis (several times in a single year), which caused for the failure of several tactics and also amazingly improve few ones. In those changes some are seriously the giants such as previous – Panda, Penguin,

So, it’s an essential thing to cross check the work by keeping eyes on a few things, such as-

 

  • Google Tool Analysis – As an SEO consultant, we are used to with these tools and connected with them regularly. Even these are essential to calculate traffic and to analyze site errors. Moreover, that tools like Google Analytics and webmasters can be utilized to improve the site’s crawl ability, sitemap indexing, user behavior, manual penalties, and much more.
  • In-Page Analysis – To identify user’s behavior on a single page, we generally use In-Page Google Analytics tools. This clears out the user flow, means on which direction user reads the content and interacts with which context more. With a clear percentage, we can analyze the context worth and according to that we can modify our context.
  • Performance Measurement – To identify the worth of work, we need to do performance measurement on a regular basis. It includes backlink checking, broken link checking, 404 checking, link error checking, authority checking, etc. By the rapid checkup, we can make ourselves assure about the results and it will help us to prepare further strategies.
Posted in Uncategorized | Comments Off on SEO Tactics That Need to Be Considered

The Last Chance for Gold

Growing up in my corner of Florida, there used to be an old gas station on the edge of the Everglades. The proprietor did a lot of business with his oversized, hand-painted warning sign:

Last Chance for Gas.

Beyond the fuel pumps were a thin two-lane ribbon of asphalt and 90 miles of swampy wilderness. No smartphones. No “emergency call boxes.” And, in most places along the highway, no guardrails either.

You were on your own – much like the economic wilderness we’re all forced to navigate today.

Which is why the sharp decline in gold prices and mining stocks is much like that warning sign… and a monetary gift…

In short, if you were waiting on the sidelines after this year’s monster rally, this is your second chance – and, in my view, your last chance – to buy gold at these prices. And it comes at just the right time. Typical Moves for Gold

Gold’s done a full round trip in buyer sentiment during the past 12 months: from being the world’s “most hated commodity” at its lows near $1,050 an ounce 12 months ago to “gotta buy it” status at $1,350 an ounce this summer.

With gold now fallen from those lofty heights, an investor is more likely to ask: “Gold, what have you done for me lately?”

In all, gold’s given back about 60% of its 2017 rally. Yet such sharp declines followed by a resumption of a broader trend higher is a typical early bull market move for this volatile metal. Most famous of these pullbacks was gold’s run to all-time highs in the 1970s.

Starting out at $35 an ounce in the early ’70s, as gold became legal for Americans to own once again, bullion prices soared to almost $190 an ounce in 1975. That’s quite a run all on its own. During the next 18 months, gold prices dropped back nearly 60%, falling to $100 before running to a then-record $800 an ounce in the next three and a half years.

The Song Remains the Same

Most important, when it comes to the companies that dig this stuff out of the ground… nothing has changed.

As I have pointed out in past months, gold mining firms have done a great job getting their costs down and making money to boot.

We noted as early as February that the elite companies in this group were making an average of $215 for every ounce of gold they were digging out of the ground and said, in no uncertain terms, to anyone who’d listen: “Stop panic selling gold mining stocks. Likewise, after cutting dividends in 2014 and 2015 as gold prices plummeted, many of the same companies have not only reinstituted payouts, they’ve started raising them again. In the meantime, mining firms have cleared away much of their old cost structures. That’s why Newmont Mining, as one example, has been able to drop its “AISC” – all-in sustaining costs – from $1,170 in 2012 to $910 so far in 2016.

The point is that there are many reasons to own gold: for speculative profits, as discussed above; for insurance; and for wealth preservation. But you can’t benefit from any of those strategies without taking advantage of the gift that is low gold prices and low expectations put on our table by Wall Street’s hair-trigger traders.

Posted in Uncategorized | Comments Off on The Last Chance for Gold

Top 5 Features Added in Revit

A building information modeling (BIM) software, Autodesk Revit, has been useful for architects, structural engineers, MEP engineers, designers and contractors, enabling them to design structures and buildings in 2D and 3D, as well as being 4D BIM capable. It’s first version was released more than a decade back and since then it has seen many updates and new version releases, some have been just incremental updates serving for bug corrections and some have been significant technological updates.

Compared to the 2017 update, the previous 2 editions did not provide any significant upgrade until their ‘release 2’ (R2) editions were released. The 2017 update brings about 50 new, refreshing features which will prove to be immensely useful in creating BIM models. All the new features within the update are equally important and will be useful during the life cycle of a project, but out of those let us discuss the 5 most important features from Revit 2017. 1. Text Editing:

The most awaited feature in Revit since the time it was introduced, text editor has been included in the latest edition of Autodesk Revit. This provides a completely redesigned text engine which is compatible with imported files such as AutoCAD DWG files. The text editor in Revit 2017 also brings corrections to the flaws of text editor from earlier editions and lets users seamlessly switch between text editing mode and viewing mode without causing any unexpected disruptions in text.

2. Global Parameters:

Global parameters feature which was introduced in Revit 2016 R2 version, has received a much needed update in the 2017 edition. The latest update brings in the power of parametric families into the project environment. Applying global parameters to multi-segments is possible in this version, also grouping the parameters becomes easier, as does filtering and reordering. Even though the upgrades do seem to bring a lot of additional features, they do come with their limitations, such as the parameters can only be assigned to certain system family categories and only to user defined instance properties.

3. View Template:

View template is a very simple yet powerful feature added in Revit 2017 which enables the user to share data and reuse schedules. This feature automatically updates all the schedule changes whenever they are affected within their respective templates.

4. Calculated Values in Annotations:

An essential and a long overdue feature introduced in Revit 2017 is Calculated Values in Annotations. It is a useful feature that allows the user to document projects with annotations that allow calculated values and which obey pin restrictions maintaining consistency and accuracy of the project. A tag created with calculations in it can be used with any tag type and pinned to an element allowing the user to reposition that element without actually moving the pin position.

5. Railing Host:

Railing Host or Hosted Railings, is another valuable feature introduced in Revit 2017 (SHOULD THIS SAY 2017?) along with Calculated Value in Annotations feature. With this feature it is now possible to host the railings on Walls, Roofs or Slab Edges and the railings will adjust with variations in slopes and surfaces.

There are a host of other additions and updates in Revit 2017 apart from the ones listed above. It remains to be seen what if any flaws exist during real time use or if they truly result in the enhancements promised. Although, considering the supposed flaws that may exist, Revit 2017 is a huge step forward.

Posted in Uncategorized | Comments Off on Top 5 Features Added in Revit