In this post, I’ll explain how pub/sub messaging pattern implementation differs in Kafka and Solace PubSub+.
Publish-Subscribe, also known as pub/sub, is a popular messaging pattern that is commonly used in today’s systems to help them efficiently distribute data and scale among other things. The pub/sub messaging pattern can be easily implemented through an event broker such as Solace PubSub+, Kafka, RabbitMQ, and ActiveMQ.
Automattic has acquired the Social Image Generator plugin, a commercial product that automatically creates social share images for WordPress content from a set of fully customizable templates. The plugin launched in February 2021, with a starting price of $39/year but is now closed to new sales. Daniel Post, the plugin’s creator, is joining Automattic to continue developing it as a new addition to Jetpack’s social media tools.
Automattic is always on the prowl for companies that are doing something interesting in the WordPress ecosystem. The Social Image Generator plugin expertly captured a new niche with an interface that feels like a natural part of WordPress and impressed our chief plugin critic, Justin Tadlock, in a recent review.
“Automattic approached me and let me know they were fans of my plugin,” Post said. “And then we started talking to see what it would be like to work together. We were actually introduced by Chris Coyier from CSS-Tricks, who uses both our products.”
The Social Image Generator plugin has always been a commercial-only product, which tends to limit a plugin’s reach within a market that has been so heavily trained on the freemium model. Its acquisition will undoubtedly get it into the hands of more WordPress users.
“I briefly considered building a freemium plugin but I decided to focus on paid licenses to make sure I could provide great support to all users and, frankly, to see how well it would be received compared to a freemium plugin,” Post said.
Current customers will be able to continue using the plugin “without any changes in the near term,” according to the announcement on the Jetpack blog. Those who have strong opinions about the long-term future of the plugin are encouraged to schedule a session with Jetpack Customer Research to open a dialogue.
“I look forward to the future functionality and user experience improvements that will come out of this acquisition,” Jetpack General Manager James Grierson said. “The goal of our social product is to help content creators expand their audience through increased distribution and engagement. Social Image Generator will be a key component of helping us deliver this to our customers.“
I would not be surprised to see this plugin available on one of Jetpack’s paid tiers in the near future, alongside the Publicize module’s other paid features (scheduling social media posts, tracking and viewing sharing history, and re-sharing existing content). Social Image Generator makes WordPress content more engaging on social media, has built-in support for WooCommerce, and can be extended for use with other plugins. It’s a strategic acquisition where Automattic gains an engineer as well as a new way to make Jetpack subscriptions more compelling.
“We are still figuring out our exact approach, but the initial plans are to integrate the Social Image Generator features with the existing Jetpack social tools like Publicize,” Post said. “The ability to see exactly what your social media post will look like before publishing it right from your WordPress site is incredible, and a big reason why I’m so excited about this acquisition.”
It is not easy to be a Site Reliability Engineer (SRE). Monitoring system infrastructure and aligning it with the key reliability metrics is quite a daunting task. Whereas, a software engineer's job is to deliver high-quality software.
Relationships between software engineers and site reliability engineers can sometimes be tricky. To begin with, developers are generally assigned to write code that goes into production. Then, there are SREs who are responsible for improving the product's reliability and performance.
As mentioned, that’s an extra $500+ value (it costs $6 p/m for each individual plugin on a plan) added to your hosting plan, not to mention you’re getting 7 of the best and most reliable WP plugins around.
Premium plugins you can use to supercharge your client sites, and better yet, add more value to your own web design and development packages.
Read on to find out which plugins you can now get 100% free with our hosting and why we decided to package them this way.
First and foremost, we want to set our members up for success and give them the best tools and plugins possible.
And in this case, 7 premium plugins that optimize performance, security, SEO, and more, seemed like a no-brainer to package with our hosting.
Our suite of plugins is also something unique to WPMU DEV and not something a lot of other hosts offer.
Finally, the nature of our all-in-one WP platform means that many of our tools and plugins intertwine with one another.
For example, our premium plugins are fully-integrated into our site management tool, The Hub, which is also home to our dedicated hosting tab/interface.
We built it like this so users could easily manage and optimize sites, while also having direct access to our suite of technical hosting tools and features.
So overall it made sense to enable features that are already designed to work together, rather than hide them from hosting users.
*Drum roll* here are the 7 pro plugins you can now get 100% free with our hosting:
Every site needs engaging forms. Forminator makes it easy with a drag-and-drop form builder, and allows you to create quizzes, surveys, polls – and accept payments.
Our hosting already comes with an easy and automated migration tool, but Shipper can take the wheel and move your WP sites in a few clicks if you’d prefer the plugin route.
Hosting resellers rejoice! You can now create, package, and sell multiple custom site templates – at no extra cost to you.
We’ve been in the biz of cloning WordPress sites and speeding up your site development workflow for well over a year now.
Members also love our expertly-made, default WPMU DEV site templates, which dropped at the same time as cloning.
But in the words of Fleetwood Mac, it’s time to “go your own wayyyyy.”
Because with the help of a sneaky backups hack, our hosting now allows you to create and package your own custom site templates for reselling to your clients.
eCommerce… personal training… marketing agency… flower boutique… whatever you can think of! You can now create custom templates for all of them – any market, any niche.
Best part is, you can create up to 25 custom templates completely free.
Keep reading to learn how to implement this new game-changer and how it fits perfectly into your reseller hosting wheel house.
Remember that “sneaky backups hack” I mentioned in the intro? Here’s what I was talking about:
Each custom template you create is actually a full backup of the site you choose to copy, stored on our AWS servers.
When you send a request to create a new template, we create a backup of that site, zip it, and upload it to AWS.
That template/backup is fetched and restored at your chosen new site URL.
And voila!
This template is now ready to be used and accessed in “My Templates” area of The Hub (more on that below).
Creating templates this way gives you two major benefits:
It does not affect your hosting storage at all.
You can create up to 25 custom templates completely free, no extra cost to you (we’ll also be upping this number in future if the demand is there).
Also, since your template is a full backup of an existing site, it comes readily included with EVERYTHING.
Plugins, themes, users, license keys, settings, site data – it’s all fully-preserved for you.
Finally, it goes without saying, you can ONLY create templates of WPMU DEV hosted sites.
…Now that you know a little more about custom templates and how they work, let’s see them in action.
Creating your first custom template
Did I mention you’ll need to be a WPMU DEV member and have hosted sites with us to use this feature?
The easiest way for non-members to follow along is to take either our Freelancer or Agency plans (they both give you free hosted sites you can use) for a free 7-day spin.
Navigate to your WPMU DEV hosted sites in The Hub (our built-in site management tool) and find the Site Templates tab.
From this tab you can edit the details of your existing templates and create new templates.
Select Create Template to get started.
A pop-up will appear asking you to select the site you’d like to make your template, and to give your template a name and description.
Once done, hit Create Template and your new template will be ready in a few minutes, it’s that easy!
When it’s finished loading you’ll be notified via The Hub, and you’ll also receive an email letting you know the new template has been created (see below).
Another thing to note is that you’re free to create multiple templates from a single site. So if you think you’re onto a winner, use it as your template base as much as you wish (up to our 25 limit of course).
You can also create templates straight from your source site
It’s as simple as selecting the site you wish to turn into a template, and clicking the vertical ellipsis icon to the right of it.
Select create template to get the ball rolling.
Then rinse and repeat the above!
Two ways to access your new site templates
Once you’ve successfully created a new site template, here’s how you or your clients can access them.
1.During the site creation or cloning process
Your template (and others you create in future) can now be selected from the Create New or Clone options when adding a new site to The Hub.
Hit the “+” icon in The Hub to add a new site and get started.
For this walkthrough we’ll select Create New (the steps for cloning are exactly the same, only instead of creating a site, you’re cloning one).
Click Create site and a pop-up will appear with the option to create a brand new site or create from template.
Select create from template and you’ll see any templates you’ve created are now visible.
You can also select WPMU DEV Templates to see the range of default site templates made by our expert team. Find out more about those in our website cloning article.
Our default templates are also a great example of what’s now possible. Minus a few features we’re still working on bringing you.
But the idea is still the same, multiple site templates for multiple niches and use-cases, for your clients to choose from.
When you hit the ellipsis icon next to your template you’ll also see you have the option to edit the details of your template (change the name and description we added earlier) or delete it.
And that’s pretty much it!
Hit Use template and you’ll be taken through the standard process of setting up a new WPMU DEV Hosted website – creating a temporary URL, choosing from 10 worldwide server locations, and waiting a few minutes while your site loads.
2. Directly from the “Site Templates” tab in The Hub
As we touched on above, you can also access and manage your custom templates right from the Site Templates overview tab in The Hub.
From here you can edit the details of your existing templates, and also easily create new ones as outlined in the steps above.
Some PSA’s about custom templates…
Preview thumbnail coming soon – Because of their backup nature, your templates do not currently come with a “preview option” like you’ll see with our default WPMU DEV templates. But don’t worry, we’re working on a solution that allows you to upload multiple thumbnails to show off your templates to clients.
Delete at your own risk – if you’re thinking about deleting a custom template, please think carefully! Since custom templates are technically backups, once you delete one, there’s no getting it back.
No editing or updating – you cannot edit or update any aspect of templates once they’re created. If you do need to edit or update your template, simply create a new one from your updated source site and delete the outdated template.
Using The Hub Client, you can setup your own complete client portal, where they can manage sites, access hosting tools, and more.
Finally, this is kind of a secret still… but we recently soft-launched our built-in billing system, meaning you can now automate your client invoicing, create subscription plans, manage clients, and more. It’s also included with The Hub and The Hub Client.
And now with custom templates, we’re one step closer to a fully-automated hosting reseller system.
Still to come:
Domains – Offer your clients the opportunity to search for and purchase a domain, which will be automatically mapped to their new hosting and templates set up… yep, be your own GoDaddy!
Check out our product roadmap to keep up with what’s in store for The Hub, The Hub Client, and the rest of our WP plugins.
Get started with templates and reseller hosting for free
Existing members… what are you waiting for?? Jump into your Hub and try turning one of your hosted sites into a resellable site template.
Want to try our hosting for free? The best way to do so is to take either our Freelancer or Agency plans for a free 7-day trial. Both allow you to host 1-3 sites with us every year, for free.
This is a new series of articles covering short "Today I Learned" topics as I peel the layers of CockroachDB. This is meant to resemble release notes. I decided to mix it up with the format for these posts as they may not justify an entire blog. Link here for past articles.
Topics
Topic 1: Unit Testing With CockroachDB
I get this question a lot: "What is the best way to unit test CockroachDB as part of application development?" Depending on the use case, there are several approaches we can take. There is a venerable [cockroach demo](https://www.cockroachlabs.com/docs/stable/cockroach-demo.html), which has been my trusty go-to tool when I needed something in a hurry. It comes with a one-hour license for enterprise features, which you can also unit test, but it also comes with certain limitations. For example, there is reported latency at table creation, ports until recently were random and not configurable, and by default it loads data which you can also overcome with a flag. The goal for cockroach demo is to quickly spin up a working environment for demo purposes and not necessarily something designed for unit testing.
NLP is one of the most crucial components for structuring a language-focused AI program, for example, the chatbots which readily assist visitors on the websites and AI-based voice assistants or VAs. NLP as the subset of AI enables machines to understand written language and interpret the intent behind it by various means. A hoard of other tasks is being added via NLP like sentiment analysis, text classification, text extraction, text summarization, speech recognition, auto-correction, etc.
However, NLP is being explored for many more tasks. There have been many advancements lately in the field of NLP and also NLU (natural language understanding) which are being applied on many analytics and modern BI platforms. Advanced applications are using ML algorithms with NLP to perform complex tasks by analyzing and interpreting a variety of content.
BridgeNet, a digital-first insurance agency, has announced the release of a new API for simplifying integration with the companies auto insurance products. The tool aids in finding local agents, receiving quotes, and processing payments.
Tim Morris, Chief Executive Officer of BridgeNet noted in the press release that:
Modern-day advertising took a giant leap since the popularity of social media platforms. It provides a large set audience, various features to express and spread awareness about the brand and ease to market their products. With over 3.78 billion social media users, marketers see this as an opportunity to spread brand awareness in front of […]
Dee and Chris talk about “everything money-related” at CodePen. Dee has been managing this stuff since CodePen’s beginning. First largely pro-bono (sorry, Dee), then later as a side gig and part-time job. Dee is full-time now at CodePen, but finance stuff is only part of her role (programming being the main job). It’s a lot of work, but she likes being able to influence CodePen for the better from multiple angles.
At a big company, all this finance work would probably manifest as a COO. But CodePen is just a midling startup, too small really for a COO, but also too big for a homegrown spreadsheet. Dee gets into all the work that goes into finance, from the vital documents that are the Profit & Loss Statement, Balance Sheet, and Cash Flow, to other work like cohort analysis and cap table work.
After working with thousands of startups, we’ve noticed that technical founders spend a ton of time building internal tools—which means less time on their core product. So, we built Retool For Startups—a program that gives early-stage founders free access to a lot of the software you need for great internal tooling.
The goal is to make it 10x faster to build the admin panels, CRUD apps, and dashboards that most early stage teams need. We’ve bundled together a year of free access to Retool with over $160,000 in discounts to save you money while building with software commonly connected to internal tools like AWS, MongoDB, Brex, and Segment.
We give you a head start with pre-built UI components, integrations, and other advanced features that make building from scratch much faster. To learn more, check out our site, apply, join webinars and much more at retool.com/startups.
Over the years, the dynamics of business marketing and implementing technology to drive better customer experience have transformed significantly. Chatbots are one such fine example of the same.
Almost every website you visit these days provides you with virtual assistance with chatbots. More importantly, chatbots help business owners to manage and expand their business services as well as CRM practices.
Enterprises are gearing up to address the ever-changing demands of the business in an agile manner to reap the benefits through reduced time to market. They demand high business agility to achieve organizational goals. With the complexity of the business, models and interactions between businesses are hitting a record high; the IT systems are accommodating these complexities in many ways. Many enterprises prefer to develop product-type configurable systems rather than custom-tailored rigid systems. The architects who provide the technology leadership had to go over and above their scope to address business demands.
Today, the perception towards Architects across the industry is changing. Enterprise Architects expected to code, to win the respect across the organization. The Enterprise Architect also expected to get involved not only in the strategy stage but also in end-to-end implementation. The Enterprise Architect needs to work very closely with the business in defining the business strategy of an enterprise. In addition, Enterprise Architect oversees how to realize the business strategy in the form of implementation.
Why would we need intermodular analysis? How does the analyzer benefit from it? Normally, our tool is checking only one source file at a time. The analyzer doesn't know about the contents of other project files. Intermodular analysis allows us to provide the analyzer with information about the entire project structure. This way, the analysis becomes more accurate and qualitative. This approach is similar to Link Time Optimization (LTO). For example, the analyzer can learn about a function behavior from another project file and issue a warning. It may be, for instance, dereference of a null pointer that was passed as an argument to an external function.
Implementation of intermodular analysis is a challenging task. Why? To find out the answer to this question, let's first dig into the structure of C++ projects.
Here’s Atif Afzal on using a <div> that is permanently on the page where tooltips are added/removed and how they perform vastly better than plopping those same tooltips right into the <body>. It’s not really discussed, but the reason you put them that high-up in the DOM is so you can absolutely position them exactly where you need to on the page without having to deal with hidden overflow or relative parents and the like.
To my amazement, just having a separate container without even adding the [CSS] contain property fixed the performance. The main problem now, was to explain it. First I thought this might be some internal browser heuristic optimizing the Recalculate Style, but there is no black magic and I discovered the reason.
The trick is to avoid forced recalculations of style:
[…] The tooltip container is not visible in the page, so modifying it doesn’t invalidate the complete page render tree. If the tooltip container would have been visible in the page, then the complete render tree would be invalidated but in this case only an independent subtree was invalidated. Recalculating Style for a small subtree of 3 doesn’t take a lot of time and hence is faster.
Looks like popper.js was used here, so you have to be smart about it. We use toast messages on CodePen, and it’s the only third-party component we use at the moment: react-hot-toast. I checked it, and not only do we tuck the messages in a <div> of our own, but the library itself does that, so I think we’re in the clear.
In this video tutorial, we take a closer look at how to change the default port number of the Spring Boot Application using the application.yml file. Let's get started!
Strong integration capabilities Microsoft Dynamics 365 with other products in the MS ecosystem are its strong suit. Power BI is a significant part of this ecosystem. Power BI comes with the capability to bring in insights and data from diverse sources. It then visualizes the acquired data, converting it into insights that can either be shared with others in the organization or used for personal convenience.
These visualizations can be utilized through three methods: Power BI Desktop (a native Windows application), the Power BI service (https://app.powerbi.com), and Power BI mobile apps. These are available on iOS, Android, and Windows platforms.
One old and simple idea runs like a golden thread through this article: Premature optimizations are evil.
Sometimes it happens that optimization and readability go in slightly different directions. Code may work better, but it is harder to read and maintain. And vice versa — code is easy to read and modify but has some performance problems. Therefore, it is important to understand what we are willing to sacrifice in such cases.
A year ago I wrote an article for Dzone titled The Rise and Fall of a Senior Developer. Filled with personal anecdotes and stories from my years as a software engineer, the article was a critique of industry practices surrounding the somewhat controversial issue of ranking programmers’ seniority.
I realized that I might sound like an elitist dinosaur patronizing the upcoming generation of software engineers. A sort of “back in my day we did things differently” mentality that every generation seems to age into.
So you can imagine my surprise when the article became not only my most popular submission, but caught the eye of Dan Lines, host of the Dev Interrupted podcast.