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

Science Research Funding Under A Trump Administration – What Will Happen?

Right after Donald Trump won the presidency, scientists and researchers got together to stage a large protest with signs and marched on Washington DC to make their case for research funding fearing that academia would be cut off from those 10s of billions of dollars in money flows to themselves and their institutions. Apparently, academia is worried their gravy train will end, and maybe they are right – but protesting won’t work. Academia is already in serious challenges due to the outstanding college loan debt default rates. Is this a perfect storm for science? Let’s look at this a little closer shall we?

There was an interesting article in Scientific American in the January/February 2017 issue titled; “Ending the Crisis of Complacency in Science – To survive the Trump administration, scientists need to invest in a strategic vision that mobilizes social change,” by Matthew Nisbet which stated:

“As newly elected president Donald Trump takes office, the scientific community faces the likelihood not only of unprecedented cuts in government funding for research, but also of bold new attacks on scientific expertise as a basis for policy making and decisions. Trump campaigned on a pledge to eliminate as much as $100 million in ‘wasteful climate change spending’ and there have been reports of plans to severely cut funding for NASA and other agencies.” The article also talked about the NIH funding of Stem Cells and how they might turn back to the Bush years on that type of science funding. There was a point in the piece about the need for scientists to do better with PR and media so the tax paying public would be more supportive. In fact the author of the article suggested better cooperation with journalists was important to change the narrative to continue climate research funding.

Interestingly enough, the NIH and NSF and other big research funders are under the executive branch of our Federal Government. Academia is worried because they chose the wrong political side and academia had brain-washed our kids towards a leftist, socialist skew – they are in fear now, but they’ve allowed that academic bubble to build – academia has caused their own demise, with their High IQ’s they still don’t see it. What do I think of this as the founder of a Think Tank?

Well, here is my assessment; My gosh, that article was so out-of-touch with the new political landscape. In fact, Donald Trump’s Administration is a breath of fresh air for science, and he’s about the only one who can save scientific research and academia from their current path towards a cliff.

Sure there will be cuts in all the ‘politically correct research’ that many in academia are now calling “science” and yes there will be cuts in Global Warming research – after all, it is academia that continues to go with that IPCC globalist narrative that climate science; it’s “settled” by consensus (what?). The climate scientists hypocrisy is epic – you see, if it is settled then there doesn’t need to be anymore science research there, we already know right? Now then, we have to determine if we should act on that research or not to cut human emissions of CO2 (which by the way is only 3% of the total CO2 output of this trace gas). Academia can’t have it both ways and say it is settled, because if it is then there is no need to keep funding their incredible PhD level academic salaries then. Let them find something else to study or get a new line of work.

Sure there will cuts to BS science and waste – there is a ton of it, admit it. I see the grants being awarded by the NSF, NIH, and some of that crap is a waste. With the Trump Administration – the good science stays and the crap goes – there will be plenty of money and research for GOOD science. Academia will have to adapt, just like businesses do. Remember it was one of theirs who said; “Change is the only constant” so they will have to deal with it. No more sniveling.

Posted in Uncategorized | Comments Off on Science Research Funding Under A Trump Administration – What Will Happen?

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

The Best Way to Learn Something New

When learning something new, the quickest easiest most successful way is to find a great coach and mentor. Recommendations are great, or Google the trainer you have in mind especially if the training involves the internet.

If you are learning anything, driving, hobbies, or even setting up a business expert advice to copy is the best way.

You need someone on hand to answer questions, offer training and monitor progress to make sure actions are followed in the right manner. Tutors work in schools, colleges and universities to teach and guide students, apprenticeships work in a similar way. Online language courses are guided with sound tracks to test yourself. Nurses are trained in hospital with supervision from superiors, in virtually all areas of life people are advised by others. Imagine athletes perfecting their style, golfers wanting to improve their swing without a coach. They may be picking up bad habits that are hard to correct in stance or execution. the same applies to most forms of learning, even learning a language, there is usually a voice operated system to copy.

So you need to be sure the coach you have chosen is honest and trustworthy and that they offer training that suits your learning style. Video is good as you can stop and start the video as you attempt to copy the actions. which is probably why YouTube videos have become so popular. However you also need direction to guide you through the learning process

There are currently 2,000,000,000 people daily searching Google for ways to work at home. A growing popularity of the internet, the growth of the relatively new industry and the fact that computers are included in the curriculum for schools. Most families now have laptops and other similar devices.

Franchises have always been popular because of the higher success rate that support gives the venture. The training the supervision and the system to copy. Internet marketing with a good coach and mentor works in a similar way without the extortionate expense of many franchises.

I am very lucky I found a great coach when I set out to develop an online business, it made my learning curve much faster and simpler. I didn’t feel so isolated or overwhelmed. Not only did I have a coach but the comradeship and support of others learning too. Another advantage is regular training and a great range of best-selling products provided for your customers and whilst you are learning the techniques you can earn commissions too. I found it much simpler than attempting to learn it all by my-self, source best-sellers and service my customers, when much of it was done for me.

So if a new venture appeals to you look out for a great coach, take a look at magazine racks for topic ideas and enjoy your new venture.

Make 2017 a year to remember!

 

Posted in Uncategorized | Comments Off on The Best Way to Learn Something New

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