This article is inspired by the hardworking Adobe CF team members who are giving sessions at the upcoming CF India Summit. Many sessions will be given on new features and
advancements that they have worked so hard to implement into Adobe ColdFusion
and CFML. These newest advancements in our platform and language make me ask:. How can we keep up with all this tech change?
Have you ever looked towards the future curious to what may be in store?
Of course. We all have.
As a matter of fact, looking ahead to future advancements is a driving force of human
nature as a whole. Without foresight, there would be no wheel, calendar, or
mathematics. Certainly, computers and associated software could not exist.
In a 1968 book titled Toward the Year 2018, a group of
12 technological experts sat down in a think tank to hash out their predictions
for the year 2018.
Now, as you can imagine, some of these ideas have not happened.
For example, anti-gravity belts and man-made hurricanes are still figments of
our own imaginations–unless we’re talking about Spanx and global warming. But
others… well, they’re pretty spot on.
3D televisions are now available at retail stores worldwide. Picture telephones
have become a reality with programs such as Skype and Facebook. And text
messaging has become so commonplace that is it slowly taking over as the
primary form of communication between individuals. But one prediction from Toward the Year 2018 affects us as IT professionals and CIOs more than anything.
Since the release of this book, the pace at which our technology has expanded has been
next to immeasurable. New systems and products are released every day in a hope
to make our world bigger, faster, and stronger.
And we as CF developers are right in the thick of it all.
Looking ahead to the 2018 CF India Summit, I noticed something rather interesting on the schedule. The docket is full of sessions on upgrades, new features, and version news. These
advances may seem just like common patches or simple fixes to us. But they are
much more than that. They are a symptom of a problem known as Tech
Yes. Tech evolution can be a problem. But only if you let it.
“Putting broadband communications, picture telephones,
and instant computerized retrieval in the hands of such an organization is like
feeding pastry to a fat man. It is ‘much too optimistic’ to assume that these
same technologies would entail the ability to use them wisely. Applying
technology, like all human efforts bears bittersweet fruits.”
Oettinger, Harvard Scientist
The truth of the matter is this:
The advancement of technologies is a double-edged sword.
On one side, new breakthroughs can help us to be more secure, efficient, and
But on the flip side… They can cause you hang ups and setbacks.
Normally, these setbacks are not caused by the tech itself. They are essentially caused
by the failure of us to adapt to the changes. If we decide to stay outdated to
current technologies, we will get left behind. Plain and simple.
This is particularly true for the IT industry. Can you imagine
if your business was still running Windows 3.1 and executing old DOS commands
to run shareware? Or if you were still collecting AOL CD-ROMs trying to get
that newest version? (To be honest, I kinda miss that old dial-up connect sound sometimes…) Point is that you would have been left behind. Just a blip on the radar and no more.
We know what we need to do to though. Stay up to date. Yet, this is much easier said
Even the most tech savvy of us will fall behind. And that’s ok to an extent. It’s not
our faults necessarily. Technology is just changing at an unprecedented rate.
It may seem like each and every day, we need to change just to stay current.
Let’s take a look at 3 MAJOR changes to Adobe ColdFusion in just the past 5 years alone.
1. Cloud computing
Five years ago if you would have asked me about the cloud, my answer would be hazy at
best. Sure, we all understood the importance and the impact that it would
eventually make. It was only used in limited applications. But nowadays… cloud
computing is the norm. It’s become the new paradigm shift like that of the
Virtual Machines of the 1990s.
There are 4 primary choices of hosting.
- Shared Hosting
- Managed Servers
- Dedicated Machines
- Cloud hosting
As of now, the most popular choice of hosting is in-house hosting. Yet, the current trend seems to be moving towards the cloud. To put this all in an easy to understand metaphor:
Shared hosting is like a hostel dormitory. You share a room with all the other people. If someone gets drunk and throws up on the bunk bed, you have a problem. A managed server is like an apartment complex where there are other apartments but they are walled off from each other. A dedicated machine is like having a detached house — you have to furnish it and fix the faucet when it leaks. Still some work, but you don’t have to worry about your bed being vomited on. Cloud hosting is like having a virtual dedicated house — one that you can instantly clone for more space when a horde of out of town guests arrive.
The cloud and cloud technologies are also lending a hand to one of CF’s hottest new advancements. Containerization.
Platforms such as Docker can increase your CF computing abilities through:
- Speeding up the App Building Process for New Developers
- Integrating Modern Methodologies and Automate Development Pipelines
- Infinitely Scaling your Apps in the Cloud
- Providing an Integrated Security Framework
Building modernized apps is a crucial task for the future. Here soon legacy CF apps will be rendered near useless with the growth of both CF and integrated technologies.
According to John Marcante, CIO of Vanguard, the cloud is a force to be reckoned with. He states, “The growth of cloud computing services has fueled the global economy, produced new ways of working and enabled companies to capitalize on global markets. For startups all over the world, cloud computing has been a catalyst, powering them with the low cost, distributed, resilient, compute utility they need to innovate.”
2. The Evolution of Agile Methodologies
In February 2001, The Agile Manifesto was created. According to the authors, they did not agree about much. Agile methodologies were still largely undefined at that moment. Yet,
this group of 17 authors came together around 4 basic principles:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
An agile process normally consists of five separate stages. This cycle will then repeat itself
until project completion.
- The Plan
- The Design
This particular sequence becomes exceedingly useful in software development. Especially when it comes to testing. Using a modern testing environment is critical to software engineering (and keeping CF alive).
Use portable testing environments — such as CF Builder — as well. The benefit to using portable environments is making the reuse of the development environment configuration much easier.
The lack of a mature testing environment can lead to absolute chaos during the run-up to deploying new code. Agile testing plans include many different types of testing avenues including TDD and more notably BDD.
Another way to increase your agility when it comes to testing is to take full advantage of automation. But…
According to the 2018 State of the CF Union, 44% of CFers polled do not automate or use CI deployment tools. If you are not automating your builds, you are missing out on saving time and improving your deployment and testing process.
However, for those who use CI tools, Jenkins seems to be the most popular tool of choice.
Related: 077 Fundamentals of Unit Testing, BDD and Mocking (using
TestBox and MockBox) with Uma Ghotikar
Agility lends much to your company as well. It no longer benefits strictly the
development team allowing for:
- Increased Flexibility
- Increased Transparency
- Increased Productivity
- Minimizing of Missed Goals
- Higher Quality Projects
- Increased Client Satisfaction and Engagement
Tom Soderstrom, IT Chief Technology Officer for NASA’s Jet Propulsion Laboratory, believes these changes in DevOps are the possibly the biggest changes we have been experiencing recently.
“The way we handle development is the biggest change. Today, we iterate very quickly and develop minimum viable products to measure the user response as quickly as possible. We use Agile development and incorporate developments from others, so we can change direction with little impact.”
3. ColdFusion: Champion of IoT and Blockchain?
IoT or “Internet of Things” is one of the newest up and coming forces of the tech
world. But what actually is it?
As defined by Wikipedia,
The Internet of things (IoT) is the network of devices, vehicles, and home appliances that contain electronics, software, actuators, and connectivity which allows these things to connect, interact and exchange data.
To put this in layman’s terms…
You probably have some smart objects. We have desktop computers, laptops, smartphones, even smartwatches. But a smart lamp? Or just a smart light bulb?
Let’s call these lamps and light bulbs “dumb” objects. Now, what if we could take these dumb things and make them smart? How neat would that be?
But as many of you know, this is already happening. Through technologies such as Amazon Alexa and Echo devices or Apple HomeKit, modern homes are being transformed into those found only in science fiction novels.
This concept is the Internet of Things. And we as CF developers are playing a part in its creation.
At the 2017 CFCamp in Munich, Evagoras Charalambous gave a presentation on the foundation of using ColdFusion to build Alexa skills. He focused first on defining your app on the Amazon Development Portal. Next, he discussed how to make the skill talk to your ColdFusion code. He provided a sample CF project for the user to take away and use to develop their own app.
This was not the end of IoT in ColdFusion however. The topic stuck like like glue and made another major showing at this year’s 2018 CF Summit in Las Vegas. This time Mike Callahan covered everything from consuming utterances, intents, and slots. Attendees also walked away with a custom framework and all the information needed to start constructing Alexa skills.
However, this IoT is not without its issues. The key among these being cybersecurity
issues. Some believe that these can be alleviated via Blockchain.
A blockchain is a growing list of records, called blocks, which are linked using
cryptography. Each block contains a cryptographic hash of the previous block, a
timestamp, and transaction data. Once designed for the protection of cryptocurrency in 2008 by Satoshi Nakamoto, blockchains have since evolved. Newer blockchains are now used for a
myriad of applications particularly the IoT. Just remember there is no silver
bullet for IoT issues, but blockchains do offer hope.
But why use blockchain with CF? How is that relevant?
Mike Brunt breaks down blockchains in one of my podcasts. One of his biggest reasons for using blockchain with CF is that Blockchain uses RESTful API technology. As we all know (or should for that matter), building RESTful APIs is a breeze with ColdFusion– particularly when using Ortus Solution’s ColdBox MVC.
Why is Tech Changing So Fast and How I can Keep Up?
The growth and capacity of digital devices are just bonkers. In a previous world-changing industrial revolution, growth was measured on an arithmetic scale. A scale that shows a constant linear growth. Yet, the digital era is breaking traditional laws. Growth can only be fathomed on geometric scales. On these scales, the constant factor is no longer added year after year. Instead, the factor is now multiplied! In order to even show this progress linearly, logarithmic functions must be incorporated.
This digital revolution is not only surpassing traditional laws but creating new ones. Moore’s Law illustrates the effects of technical progress of microprocessors. Moore’s Law is named after Intel co-founder Gordon Moore.
As you can see, tech is not moving one step at a time. It is moving in leaps and bounds.
This can be explained by three separate conditions.
- Advancements are taking place at different speeds particularly in
hardware and software development. This creates gaps between new components and
older ones. These gaps need to be overcome somehow. So… this leads to the
development of new concepts of modularization, substitution, and adaptation techniques.
- Sometimes, the invention of something so innovative–such as
lasers and microprocessors– leads to the development of many more uses. The
development is actually consumer driven. People always want bigger and better things.
- The third condition relies heavily on the previous two. Due to the
stimulated growth from the first two conditions, any new product entered into
the world today must anticipate the world it will be released in. That’s why
each new smartphone or computer is always top of the line. The most basic of
tech 5 years from now will be very close to the supercomputers of today.
Needless to say… keeping literal pace is actually impossible.
But that does mean we can’t stay up to date. We just need to realize what needs to be
Priority Upgrades for CIOs
With so many changes and upgrades available, how do you even know where to begin?
Check out this survey conducted by TechTarget. They polled nearly 300 IT professionals– including CIOs and IT chiefs– regarding the IT Priorities of 2018.
These are just some recommendation priorities from other IT pros, but they are pretty good rules to follow.
Funny thing is that this also applies specifically to our wants and desires as CF developers. When polling CF’ers prior to the release of CF 2018, Rakshith Naresh found that 71% of everyone polled wanted NETWORK PERFORMANCE UPGRADES.
When they applied these changes in the release of CF2018, many of these performance upgrades were implemented through IT AUTOMATION–i.e. The Auto Security Lockdown feature and Performance Monitoring Toolkit.
Security was not mentioned directly on this list though. Security, however, is often worked into the other priorities as you can clearly see with ColdFusion 2018. So, keeping your network up to date actually will help prevent security concerns. This is important as security threats often evolve just as fast as the tech they affect.
The real question now is:
In all reality, we have no way of knowing. Perhaps, a true AI lies just around the corner in wait. Maybe a grand unified programming language?
Either way, how are we supposed to keep up with it?
There’s only one could answer to that question. We do the best we can.
As previously stated, this article drew inspiration from the many different new features and upgrades that will be showcased at the CF India Summit. These include:
- Geek Out with the Smart Language Additions in
- Vijay Mohan: Vijay works with Adobe ColdFusion Engineering group as a Computer
Scientist. His focus area is ColdFusion Language components. He holds B.E in
Computer Science & Engineering. He has good experience working on
(ADF, Oracle DB) , Rest, SOAP, Hibernate,
Spring, MySQL, Redis, RabbitMQ, Spring
StateMachine etc. He likes to delve deeper into various techstacks and explore what’s new. He is an avid reader and active
technology blogger. He takes deep interest brainstorming over design and
architecture of software components. At leisure, he likes traveling, badminton and music.
- Ashudeep Sharma: Ashudeep is working as a developer in ColdFusion Engineering team
primarily focusing on Databases and Language.He
has worked on diverse products with exposure to
distributed systems, query engines, data stores, Big Data, Compilers. During
his free time he enjoys playing sports(Cricket/Baddy/Volley etc), sometimes
listening to light music and reading experiences on Quora.
- Making Your Applications Fast and Furious with
the New Performance Monitoring Toolset in CF 2018!
- Nikhil Dubey: Nikhil works in Adobe ColdFusion Engineering Team as a Software
Development Engineer. His latest work is on Performance Monitoring Toolset
which comes bundled along with ColdFusion 2018. His responsibilities also
include language changes, code coloring, autocomplete and various other
features of ColdFusion Builder. His areas of interests are ColdFusion, Java,
Elasticsearch and Machine Learning. In free time, he loves to read/watch news, cricket and Indian politics.
- Mayur Jain: Mayur
works with Adobe ColdFusion Engineering team, as Computer Scientist. His focus
areas are Web Services (REST & SOAP), PDF and Spreadsheet components of
ColdFusion. He is also involved in design
and development of ColdFusion API Manager. Mayur enjoys exploring latest development in the field of Programming
Languages and Machine Learning. He holds B.Tech in Computer Science and
- Developer Insight into Why Applications Run Amazingly Fast in CF 2018
- Venkata Pavan Kumar Sannisetty: S V Pavan Kumar currently works as a developer
at Adobe and contributes to ColdFusion. He loves to develop new features &
securing the things. He looks after many aspects of ColdFusion such as
Security, Session Management, Net Protocols (HTTP,
FTP etc.) & many more. He also
contributed to many features of API Manager for providing security to the
published API’s. In free time he loves to read fiction and play cricket or
- Speed Up Your Programming With All New Adobe ColdFusion Builder 2018
- Poonam Jain: Poonam has been working with Adobe for 6 years. She has worked across teams such as ColdFusion, which
she is currently part of, and Acrobat. Her area of expertise is developing web applications and automation.
Despite being a working mother to a 3-year-old
daughter, she finds time to nurture her creative skills. She is an avid yoga follower as well.
Originally published at teratech.com on December 7, 2018.