A new beginning at 4Pines Fund Services!

It’s been a bit quiet lately and we have been assembling an amazing team of talent for a new company name 4 Pines Fund Services! I have accepted the position of Chief Technology Officer where we will focus on automation in private equity and fund management. Check out our newly launched web site where you can learn more about the company. I look forward to sharing the great things we have planned at 4Pines FS.

Staying fit and healthy during COVID-19 and a new adventure

I am sure you have seen all kinds of online classes or workout videos being offered on your social media. At home fitness has boomed since COVID-19. You can get anything from great deals on stationary bikes to all kinds of weird fitness gadgets.

My wife and I have been slowly launching a new fitness studio called F45 – which stands for Functional 45 or functional fitness in 45 minutes. When I was introduced to F45 I recognized the format very quickly, a circuit course fitness program; very similar to what we did in the Marines on some occasions. The difference with this was environment, the technology, the people, and the classes. With some of the top fitness minds in the world F45 has launched over 2000 studios world wide and is bringing with it what i consider “the way humans are meant to workout“.

The way humans are meant to workout

So what do I mean by that? What is the first thing you think about when you hear fitness? Running? Lifting weights? Treadmill? Biking? Each of us has a different view and what I realized is most people never even think of “Functional Movements”. These are natural movements you do as a biped with two arms and two opposing thumbs. You do these movements in a “work” timing with a “rest” timing interval – so you may do jumping jacks for 45 seconds, do a 15 second rest and move to the next exercise. You will often hear from the trainers “you can do anything for 45 seconds”…

The key is, there are no treadmills, no long runs on treadmills or boring rowing for 20+ minutes. These are fast paced programs designed to challenge you every day. With over 36 programs and over 1,400 exercises all with proper regressions and progressions, you will never get bored and your body will never plateau.

Regressions and Progressions

Another aspect of F45 are the trainers. These are highly trained Certified Professional Trainers. Either ACE or NASM certified. NASM has over a 50% first time fail rate, this is a tough program and the trainers are worth it. They know how to give personalized advice on regressions (doing an exercise in a less strenuous way due to a physical limitation you may have) and progressions (doing an exercise in a more strenuous way to shock the body). This is why if you join an F45 Live session via Zoom from your home you will always see a trainer giving the options.

F45 does take into account many other factors in the program. For instance, Monday, Wednesday, Friday are mostly cardio – or heart pumping activity while Tuesday and Thursday are more resistance based. Saturday being the only HOUR long class called Hollywood also hosts a live DJ in the studio to get things pumped! Hollywood is 27 different exercises in 60 minutes and you feel awesome completing it.

So basically, I am 20 pounds lighter, off of a blood pressure medication, no more knee, ankle, and hip problems from running and its all because of functional fitness. Here is a screen shot of the stats for one of the 45 minute workouts.

That was no running! I kept a pretty good hear rate and it was a full body workout!

The Creation – Part 1 of the New Adventure

When COVID started, we were almost immediately shut down by the government. We weren’t even open yet but we were having some pretty good success with our bootcamps. Unfortunately those were also shut down and we were turned on to do “F45Live” sessions using Zoom. The problem is we didn’t have a studio and we didn’t have any programs but I clearly saw the opportunity to get my trainers out there, keep them somewhat employed, and begin to build a following. The problem was we could not offer a really good experience over Zoom. Some studios did small video productions from their studios with the logo behind them and others just did it in their living rooms with a timer. I did not like the experience at all, so I created my own experience.

The best part about being laid off is you immediately find yourself with a lot of time.

Bob Balfe

So I wrote a simple NodeJS app that could put a focus on the Trainer, have visuals for the Timer, the exercise, and of course where they are in the overall 45 minutes. I even deployed it to Azure and made instances for 13 other studios, but unfortunately I had to end that pretty quickly. However, the experience is actually pretty awesome, here is a commercial I put together of the platform – keep in mind, all of the F45 Stuff is theirs and only F45 Studios were allowed to use this in their classes.

So while we don’t have Cory in the lower left, we do have our own trainers! In the main video will be the primary trainer coaching you on and getting you going and in the lower right a video of our trainer properly doing the exercise, progressions, and regressions.

You get the excitement of our Live trainers, the timer, the exercise, the class progress and of course those awesome water breaks!

F45Live for all!

I am opening my F45Live sessions up to all of my readers. They are home based workouts my trainers conduct over Zoom. You sign up for the classes, get an invite to a Zoom meeting and get to do a great workout right from your home with a live trainer.

When I do it I cast my zoom meeting to my big TV and it really is a great experience. This brought me something that I stumbled along.

Join Coach Zach and team starting Tomorrow with Hollywood at 9am Eastern! Download the Glofox App below, when you select the studio select “F45 Training The Grove Wesley Chapel” and you will get email instructions after. Start a FREE Three Day Trial and check us out!

F45 Training Glofox – Apple

F45 Training Glofox – Android

So this isn’t the complete end of the “new adventure” side of the story. There is some really, really big news coming soon. Unfortunately I can not say much more than that so stay tuned.

The new CoreMedia Content Cloud 10 Studio!

We take our customers feedback seriously here at CoreMedia, actually it is one of our strengths when compared to our competition. We don’t have customers, we have partners. Each and every partner we engage with has say into our roadmap and overall direction of where our platform goes. This has been critical to our success over the past twenty-three years.

Having a twenty-three year old product, the features and function grow and grow over the years and to a new user it could seem daunting at first glance. The UI was a primary focus for CoreMedia Content Cloud v10. We revamped the entire user interface to be more streamlined and configurable to meet your daily tasks without having a complex user interface.

This will be the first video in a new series called “CoreMedia Content Cloud 10“, where I will be highlighting the new user interface as well as the new features we bring to our partners.


Today my mother passed at 9:14am. Four weeks ago, my mother went to the hospital for a back problem. Something she has done for years due to an injury when she was a waitress many years ago. This time was different, she woke up and couldn’t walk at all. My father called the ambulance and she was sent to the ER. It wasn’t long before she was scanned and put through an MRI, then the devastating news emerged. Mom was diagnosed with a broken back, stage 4 cancer in her spine, lungs, liver and her brain. The doctor gave her a 6-8 week prognoses, we were all shocked.

My mother truly was an amazing woman, the ultimate caregiver to everyone around here. I am very sad and angry that I lost my mother at the young age of 71, I had so many plans. I am however, happy for mom, she did not suffer for a long period. The servant to all of us is now our guardian angel, servicing us in ways we can only imagine. Knowing my mother is watching over me gives me the strength to carry on and make the best out of this short life. I am mourning, and I have cried, but when I think of all the thing’s my mother gave me, what she has done for me, what she has taught me, I recognize I am who I am because of her. I have seen the world because my mother filled my head with fantasies of far off lands when I was young. Mom loved to travel. She loved Chicago, I always complained about going to Chicago and my mom always remembered how great it was and gave me tips on where to go and where to eat. She loved hearing my travel stories and always picked up when I called, no matter where she was. Mom was a strong woman, she returned dinners at restaurants that weren’t cooked just right, drinks with not enough stolis vodka, she said how she felt and everyone knew she would be straight with them. Mom was never short of voicing her opinion but in the end she accepted the choices we all made whether we took her advice or not and she loved us none the less.

I have spent the last week and a half with mom, first in the hospital then at the Abraham House in Rome. While she had minor ups and downs the radiation was not good and her back prevented her from moving. I sat with Mom the night before she died, I was to fly out the next day for my own medical tests I had to take in Tampa on Thursday. I wanted to spend as much time as I could with her. Once she got the Benadryl and Melatonin around 10pm she was sound asleep and she began to snore a little bit. The snoring subsided and Mom began to mumble. Although it wasn’t mumbling at all, she was saying things, things I recognized in her beautiful voice, in her tone, and her special rhythm. I started to write some of them down. If you know my mother you have heard these before:

  • Does anyone need anything?
  • Are you ok?
  • I love you all
  • Oh well, what are you going to do?

The next day I woke at Dads house, after getting in shortly passed 1am that morning, to texts from my sister and brothers saying Moms breathing had changed rapidly, it was just before 8am. Telling Dad, we rushed out of the house and drove to Rome. We showed up to a room where all of my siblings, my mothers sisters and Aunt Jeanne standing around Mom. We walked into the room and the look of death was on my mothers face. I saw Mom take one breath, I approached her, kissed her on the forehead and said softly “Dad and I are here Mom, we are all here, you can go now”. I stood up and my mother took one last breath left us, it was 9:14am.

For a week the weather had been horrible, cloudy, raining, cold. We had a little warm spell but classic upstate NY the clouds prevailed just about every day. Not on January 14th though. Barely a cloud in the sky from the time I woke, the day was bright, and beautiful – just like mom. Our core, our glue, and our matriarch has left us.

I love you Mom, you were an amazing gift to me and I will always cherish the amazing life we had together.


Personalization with Salesforce Marketing Cloud Journeys

In my latest Made Easy with CoreMedia video I show our new integration with Salesforce Marketing Cloud Journeys. In case you are not familiar with Journeys, take a look:

Salesforce Journey Builder is a feature of the company’s Marketing Cloud that manages the customer life cycle: the progression of steps a customer goes through when considering, purchasing, using and maintaining loyalty to a brand


In this demonstration I show how you can personalize content to customers in various Marketing Cloud Journeys. This is great for extreme personlizations like abandoned cart content, birthdays and anniversaries, and much much more.

In this video I show how we use a Birthday Journey with a coupon banner to show to a user who is part of the “Birthday Journey with Coupon” journey.

We also show how you can use the CoreMedia studio to easily control multiple personalized banners for several different journeys. Putting this powerful personalization capability in the hand of editors with zero programming… awesome.

The best CMS for B2B Commerce!

I can hands down say we are the best CMS for B2B commerce. Our studio supports B2B Contracts for catalog filtering and pricing, giving the editors a seamlessly integrated environment between digital experience and B2B Commerce. Being able to do everything the cool fashion brands do can now be done in the B2B space with CoreMedia. You no longer have to suffer with sub-par digital experiences for your B2B partners doing business with you. You won’t get that newly hired millenial complaining your B2B system looks like something out of the 1990’s.

In my last Demo Jam I tackled some good old B2B use cases. Imagine completely taking over control of your digital experience with little to no IT involvement. So of course, this is a first in a series, so stay tuned and subscribe to my channel!

I am really interested in helping you out but I also want to know who you are, if you want me to know who you are open the LinkedIn point drive link below to watch my three minute video explaining what you can do with CoreMedia Studio in a B2B context.

Click here to watch the video!

Otherwise, if you would rather me not know who you were, feel free to still watch it over on YouTube – click here.

So either way, I welcome you to watch the video and see what you think. We will be at B2B Next in Chicago at the end of the month. Hit me up for a demo time slot!

When should I use Apache Druid?

I started having some good side discussions about Druid and the most common question was “when should I use Druid?”. The good news is the Druid documentation under the
Latest Design answers this question directly:

Druid is likely a good choice if your use case fits a few of the following descriptors:

  • Insert rates are very high, but updates are less common.
  • Most of your queries are aggregation and reporting queries (“group by” queries). You may also have searching and scanning queries.
  • You are targeting query latencies of 100ms to a few seconds.
  • Your data has a time component (Druid includes optimizations and design choices specifically related to time).
  • You may have more than one table, but each query hits just one big distributed table. Queries may potentially hit more than one smaller “lookup” table.
  • You have high cardinality data columns (e.g. URLs, user IDs) and need fast counting and ranking over them.
  • You want to load data from Kafka, HDFS, flat files, or object storage like Amazon S3.

Obviously event based data works very well with Druid, this is why I believe orders are a really good match for this. Because you can tie three critical pieces together for each order: SKU, Customer data, and Shipping, it becomes very easy to execute all kinds of queries tieing these data points together.

While I am somewhat stuck on eCommerce, here is a list of other companies that also use Druid for very different use cases (link).  Here are a few of my favorites:

Airbnb – Druid powers slice and dice analytics on both historical and realtime-time metrics. It significantly reduces latency of analytic queries and help people to get insights more interactively.

eBay – eBay uses Druid to aggregate multiple data streams for real-time user behavior analytics by ingesting up at a very high rate(over 100,000 events/sec), with the ability to query or aggregate data by any random combination of dimensions, and support over 100 concurrent queries without impacting ingest rate and query latencies.

Hulu – At Hulu, we use Druid to power our analytics platform that enables us to interactively deep dive into the behaviors of our users and applications in real-time.

Monetate – Druid is a critical component in Monetate’s personalization platform, where it acts as the serving layer of a lambda architecture. As such, Druid powers numerous real-time dashboards that provide marketers valuable insights into campaign performance and customer behavior

Nielsen – Nielsen Marketing Cloud uses Druid as it’s core real-time analytics tool to help its clients monitor, test and improve its audience targeting capabilities. With Druid, Nielsen provides its clients with in-depth consumer insights leveraging world-class Nielsen audience data.

The original list is pretty large, it is fairly safe to say Druid has a place in many markets!

Product Recommendations made easy with Apache Druid Part 1

I have been playing with Apache Druid for a bit now and I have to say I am very impressed with this package. Druid provides fast analytical queries, at high concurrency, on event-driven data. Druid can instantaneously ingest streaming data and provide sub-second queries to power interactive UIs.-link. Apache Druid essentially does all of the bulk lifting of segmenting the data and putting it into high performing indexes for super fast queries . You can stream the data directly into Druid using API’s or Apache Kafka, or you can simply upload massive amounts of data at intervals appending or replacing.

Because Druid does so much for you, you could actually run different campaigns using completely different data sources that are stored and indexed in Druid. Imagine running a campaign for “Hottest Items Last Fall” or “Seasons top sellers”. This would produce a product shelf similar to this on your eCommerce site:

Screen Shot 2019-08-07 at 10.17.20 AM.png

Those products could have been returned by Druid in real time, sorting the resulting SKU’s by order value, quantity sold and even filtered for things like shopper attributes (age, gender, location).

Screen Shot 2019-08-07 at 1.40.12 PM.png

Druid let’s you store as many data sources as you want, so you could actually build dynamic components in CoreMedia that can run the same campaigns on different data sources. This could be used for different brands and their SKU’s or even seasonal order data.

Screen Shot 2019-08-07 at 10.20.22 AM

For my use case, this means you could essentially push order line item data into Druid and get fast queries for product shelves like “Top Sellers“, “Top Weekend Sales“, or even “This weeks hits” – all based on the order line sales and the time and date stamp of the order.

Pushing this line item level order information should be trivial for most order management systems. I started to ask myself what data would I actually need to satisfy a few use cases. So I started writing some use cases down as one liners:

  • Most products sold
  • Total sales
  • Highest Total count sold on day of week
  • Highest Total count sold in month of year
  • Highest Total sales on day of week
  • Highest Total sales in week of year
  • Region top seller
  • Men top seller
  • Women top seller in region


When should I use Apache Druid?

Read about how Neilsen, Monetate, eBay, AirBnB, and others use Apache Druid.

I then had to figure out the minimum amount of data needed to be able to do those use cases and this is what I came up with:

“time”, “order_id”,”shopper_id”,”sku”,”price”,”quantity”,”cost”, “shipping_info”

That is all pretty standard information you can get from a PO. What is not part of that is the customer demographic information.  Because Druid performs best with flat data we will most likely have to write a routine that combines order line data with customer attribute data. We could include fields like these (if they are known):

“age”, “region”,“gender”:

This would allow us to ask Druid many different queries and get the proper response. In the CoreMedia extension model this should really be a returned list of SKU’s that we can map to the current product catalog. Some error handling or SKU replacement code might be needed; especially if you are running against year old data. Hopefully for more current campaigns like “Hottest Weekend Products” or “What’s hot this month” the data and SKUs very up to date. The resulting JSON sent in for each row would look like this:

"time":"2019-06-30 03:53:35",

Sending in each order line item separately will allow Druid to actually dynamically build orders, return SKU’s based on any time and date combination, bloom filters, numeric expression, and of course grouping (total sales for a single SKU)- link.

I created a dataset with six months of order data, broken out by each line item as described above. It ended up being 431,148 line items created for 4,323 SKU’s in 300,000 orders

I went ahead and created queries for each of those use cases and I find Druid is extremely fast (more on that in Part 2), even when running on my local machine. Check out the slide show below for the various ways you can use SQL (or JSON) to query Druid. The real power comes with the way Druid can quickly return rows and run on functions like TIME_EXTRACT. Each query essentially returns a list of SKU’s ordered descending from either a total sales count or an items sold count.

This slideshow requires JavaScript.

Stay tuned for part 2 where I show how easy these kinds of dynamic product shelves based on sales and shopper data can be integrated into CoreMedia Studio. I will also show a demonstration where Apache Druid is accessed in realtime from our Studio where the maketing person can easily preview this dynamic behavior. A little teaser showing how the authoring environment (Preview CAE) and the runtime environment could access the same Druid data, giving marketers the same products as the shoppers would see.


I am really interested in hearing your thoughts on this, send me an email or leave a comment!

Screen Shot 2019-08-07 at 3.45.25 PM.png

CoreMedia Demo Jam 3 – Time travel is possible!

Scheduling content and delivering campaigns can be difficult, especially if it requires multiple teams to deliver the content or even worse, the dreaded IT involvement. Personalized content based on shopping behavior, demographics, or simply by date and time can be difficult if you can’t preview the site hitting the various rules. This is where CoreMedia Studio enables you to see your site as different personas or even at a different date and time with ease . Some people say time travel is impossible, Ancient CoreMedia Architects say otherwise…

In this Demo Jam I show how easy it is to set up rules for content to show on specific days, just one of the ways you can run your campaigns and keep your site fresh each day.

If you didn’t get the reference to Ancient Aliens, make sure you watch it on the History Channel Friday evenings.

DemoJam: MS Word, Products, and Articles – oh my!

In this three minute demo jam I show how simple it is to go from Microsoft Word to an online article. This demonstration hits on loading an article from Word, cleaning out the Microsoft HTML and producing optimized HTML of the article, preserves the fonts and the pictures from the Word document, we modify the crop of the image and preview our article teaser across all channels including social media.