It’s been a few months since the 2019 edition of Coveo Blitz, our yearly coding competition, where students from across the province must design the best algorithm to outplay their rivals. This year again, the quality of the participants was fantastic and left us to the edge of our seats until the very end of the event. Unfortunately, today’s post isn’t about giving you all the juicy details of the competition (more posts are coming on that topic 😉 ), but to announce that this year’s competition source code is available on our GitHub! You will find in this repository the main challenge, the “micro-challenges” and a local “test” environment for you to test your bots and solutions.
Coveo is rapidly growing, and moving fast; it can be a challenge to keep track of newcomers or to know what our colleagues are now working on.
To help us overcome this challenge, we created an internal People page using Coveo, where we showed recent contributions someone made alongside their profile, making it quite a useful tool for new employees to learn about their new co-workers.
Coveo for Sitecore 5 is now publicly available. Two years have passed since the release of the version 4, which paved the way for Coveo Cloud.
The Cloud adoption allowed Coveo users to quickly deploy their Coveo solutions and gave users access to powerful features such as Usage Analytics, Machine Learning, and cloud connectors.
Now that Coveo for Sitecore is fully connected to Coveo Cloud and managing an infrastructure is no longer a worry, we decided to focus on the integration into the Sitecore technology stack. The goal is to make every project faster and easier to deploy, so that you can spend more time building the cloud relevance engine you want, and less time in configuring the index and search interface underneath.
C++11 introduced move semantic, which allows, as its name suggests, to move objects instead of copying them.
The move process typically involves copying pointers to some resources, and then setting the original pointers to
nullptr, so they cannot be used to access the resources anymore.
Of course, all of this is done transparently to the user of the class.
With this power comes a complexity, which is enhanced when it is coupled with copy elision. Copy elision is the general process where, when returned from a function, an object is not copied nor moved, resulting in zero-copy pass-by-value semantics. It includes both return value optimization (RVO) and named return value optimization (NRVO).
While the links on cppreference provided above probably contain all the information you might want to know about the interaction of move semantic with copy elision, they can be a bit of an arid reading.
The goal of this post is to give a quick and incomplete introduction on the subject.
This introduction is then used to present an interesting difference between the
clang++ 3.8 compilers.
At Coveo, there’s one thing we like above all: making sure we have all the data we might need at the same place. Coveo already offers a plethora of connectors to do so, but there are still many more places where you could find relevant data.
Enter Zapier, a web service that allows you to connect different applications or services together, to perform actions in an application when something happens in another. With over 1000 available apps, it soon became clear that a Zapier integration would be a great solution to surface all that data.
If you’re one of the many passengers on the deep learning hype-train (welcome aboard), you’ve at some point almost certainly experienced the great confusion of having to choose a deep learning framework.
If you’re trying to choose a framework, or maybe re-evaluating your choices, I might be able to help!
I’ve done a lot of the leg work for you, having made a pretty comprehensive report on the state of deep learning frameworks that compares their strengths and weaknesses.
Maps are awesome. A good map implementation reacts to user’s current context and provides relevant information. Since maps are great at visualizing relevance, the Coveo for Sitecore product team decided to experiment with that concept. While exploring the concept, several use cases related to customer requests have emerged. This article will serve as a guide for these specific cases while remaining primarily focused on geospatial research.
On The Menu
- Geospatial Search
- Persistent Queries
- Custom TypeScript Coveo Components
- Push API
- Advanced Relevance Tuning
Storing parameters securely accross multiple environments with employees having different level of access in each of those can be challenging. AWS Systems Manager Parameter Store offers a nice solution to that problem with lots of advantages such as:
- being hosted, highly available, and scalable
- history tracking
- encryption with KMS
- audits in CloudTrail
- notifications with CloudWatch or SNS
- granular security using IAM policies
Every security team’s dream.
When we decided to store our deepest secrets in the Parameter Store, I searched right away for an integration with Spring Boot/Cloud for our Java microservices. I was left empty-handed.
This post is the second part on how we built our Elastic Search demo. You can read the previous post The Elastic Search Demo, Part 1: Build the Index on how we got the content inside our index.
- Build a demo on top of Coveo for Elasticsearch to show what you can do with the platform.
- Use public content that everybody is familiar with.
- Build it in 2-4 weeks time.