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

How Does the Ford GT Stack Up?

How will it compare to the competition?

The GT is by no means a Shelby GT 350 R, not even close. Besides the over $350,000 jump in price and the additional 100 or more horsepower. The new GT is even more track-focused then the previous ones. And the mid-engine layout, combined with the GT’s carbon-fiber construction it much more than a muscle car and more of a Super car.

Even though Ford has not decided on a specific horse power, the new GT with 3.5-liter twin-turbo V6 will produce more than 600 horsepower. Standing up well to the Corvette Z 06 and its’ 650 horses. Now Ford says it is working on the power-to-weight ratios to be the best of any production car. Even if they can’t hit the ratio of the Koenigsegg One with its 2.2 lbs / hp and make it to the range of the McLauren P1 with its 3.5 lbs / hp. Even with its aerodynamics the approx. 3500-lb Corvette Z06 may be a little overweight to held ground with the new GT Priced like a Lamborghini Aventador

Knowing it’s expected price range points to the real competition of the new 2017 GT. Granted the Lamborghini Aventador is packing 691 horse power, but outweighing the Corvette Z06 in curb weight by another 500 pounds, it may have a hard time keeping up with the new GT on the track. When you consider the Aventador holds twice the cylinders as the GT’s twin-turbo V6, and the fact that the Aventador is a naturally aspirated V12 all wheel drive, you can expect it to be faster off the line.

It will be interesting to see how the GT compares to the McLaren 657LT the car that feels like a competition vehicle. Weighing in at less than 3000 lbs, the 657 is pretty light, but the GT will probably weigh less. The Mc Laren 675LT is also a limited-production car, with only 500 units slated to built and cost about $50,000 less than the Lamborghini.

Then there is the Ferrari F12tdf with a price point just under $500,000 with a substantial increase in power. Touting a 6.3-liter V12 with 770 horsepower hitting 0 to 60 in under 3 seconds. The Ferrari will be a head over the GT by more than 100 horsepower, but the based on Fords claims the GT should be much more light weight. With Ford skipping a hybrid-electric system, it will be something to pit the new and severely less expensive Acura NSX with its hybrid tech and all-wheel drive against the new GT and its focus on light weight. With the NSX and its 573 horsepower will it be enough to hold its own against the GT? Time will tell.

Posted in Uncategorized | Comments Off on How Does the Ford GT Stack Up?

Unlike Last Season, Early Schedule Will Challenge Cubs In 2017

The celebration has ended, the 108 year drought is over, and baseball on Chicago’s North Side should return to normal. In other words, fans of the Cubs can go back to worrying.

Several big concerns face them as they look toward the 2017 season, in addition to the nearly impossible task of topping the World Series Championship they earned in October. No team has won the Fall Classic back to back in this century, although a much shorter span than the Cubs endured between titles.

That trip to the World Series was made easier by the early schedule, an arrangement the Cubs will not enjoy next April. Chicago did not play a winning team until April 18 against the Cardinals, which was their fifth series of the season. The Cubs did not play another winning team until May 2, when they played the Pirates. Spending the first month against the likes of Cincinnati, Arizona, Atlanta, and Milwaukee would provide nearly any team with the confidence needed to carry them through the most important stretch of the season. To emphasize just how important a hot start is, examine the National League from last season.

All four of the teams who reached the Division Series posted winning percentages over.700 during the first week of 2016, led by the Cubs and Nationals winning eight of their first nine games. The Giants were victorious in six of their first eight, and the Dodgers won seven of their first ten.

The advantage of opening against non-contenders will not be available to the Cubs in 2017, when the early part of their schedule features matchups against the only two teams that had winning records against Chicago last year. They open in St. Louis on April 2nd, a Sunday night game between the two rivals that will be broadcast on national television.

What could make that initial series even more troubling for the Cubs is the strong possibility that one of their most exciting players from last year will be playing for the opposing team. Center fielder Dexter Fowler, Chicago’s spark plug at the top of the batting order, is a free agent. Many baseball writers have projected St. Louis as the most likely team to sign Fowler. After the series in St. Louis, the Cubs must play the team that nearly eliminated them in the NLCS. The Dodgers, who won both of their regular season series against the Cubs in 2016, have the opportunity to avenge their playoff loss on the opening weekend in April.

The hot start Chicago used to build momentum for their World Series run last year is far less likely to befall them in 2017, simply because of the competition. Instead of opening against last place clubs like San Diego and Cincinnati, the Cubs will be tested right out of the chute by teams expecting to be contenders.

Posted in Uncategorized | Comments Off on Unlike Last Season, Early Schedule Will Challenge Cubs In 2017

4 Steps to Choosing the Best Promotional Products for Your Business

When investing your marketing dollars in custom branded promotional products, you want to ensure that you are getting your best return on investment. You want to look for products that serve more than one purpose and provide continued brand exposure.

1. Choose products that provide your company with good visibility.

The more your products are seen, the more promotional benefit your company receives. The best promotional products are prominently placed on everyday items, such as screen cleaners attached to mobile devices.

2. Give away products that will be used every day.

How many times have you received a piece of schwag that you threw in a drawer or even the trash? For your promotional products to be effective, you need to choose items that people will use over and over again. Products that are used often and in public places will gain your brand the most exposure for your investment. A great example would be screen cleaner stickers for phones and tablets, that are custom branded with your logo but people can use to clean their electronic devices. Another example are portable USB chargers, that have your logo on them but people can use in an emergency to charge their devices. These are useful products that people will carry with them, hence, increasing the amount of times your logo gets flashed around.

3. Reflect your business’s reputation with high quality products.

We’ve all received a branded pen or notepad that fell apart in our bag before we even left the exhibit hall. Handing out cheap promotional products gives the impression that your company is just as cheap. Make sure that the freebies you give away are representative of the high quality of the products and services you provide in your business.

The best way to test a product before you decide to pull the trigger and make an order for your event would be to get samples. Reputable promo product companies will provide free samples and stand behind their production. It should be crystal clear once you compare samples whether the promo product will be a hit or a miss.

4. Think versatility.

Choose promotional products that are versatile enough to fit every occasion you need. Whether you need giveaways for a trade show, gifts for your employees, or tokens of appreciation for customers who visit your office, having an appropriate product available for all occasions is key to getting the best results for your marketing dollars.

Posted in Uncategorized | Comments Off on 4 Steps to Choosing the Best Promotional Products for Your Business