Tech Blog Menu

Tech Blog

Creating a WSL distribution from a Dockerfile

Written By
Francois Rivard

The problem

Setting up a new computer is always long and difficult. From time to time, a new developer joins the team and must setup their computer to build the code from the team’s repository. This can be a long and frustrating exercise. This is even more difficult when the code is cross-platform and has to be built under Linux and Windows.

In this post, I will show how to transform a dockerfile into a WSL distribution in an automated fashion. This allows the Windows developer to build and test the code on Linux using the same build environment as the CI system.

Read more...

Coveo Camp 2019 a.k.a. Coveo Duchesnay 2019

Written By
Marc Sanfaçon

A tradition in R&D @ Coveo

This year marked the 14th edition of our summer party for the R&D team at Coveo. We now call it Coveo Camp, but used to call it simply Duchesnay, since it has always been held at the nice Station touristique Duchesnay, near Québec City.

Read more...

Using Coveo's Google Tag Manager Templates to Log Analytics

Written By
François Lachance-Guillemette

In the past few weeks, I had the goal to improve the coveo.analytics.js project and its integration into Google Tag Manager.

I wanted to leverage its API to automatically deploy tags and variables that people would fill to easily configure page views and custom events in an existing Google Tag Manager workspace.

Then, magic happened, and the Google Tag Manager team released on May 23rd Custom Templates, which serves the exact purpose of what I wanted to integrate using the API.

This post explains how to use Coveo’s official Google Tag Manager templates.

Read more...

Improving Large Site Search Relevance Part 1: Introducing Scoped Search

Written By
Charles-Erick Bélanger-Gagnon

People searching through lots of items

Photo by Anthony Martino on Unsplash

It is safe to say that most web users have taken advantage (or been victim) of scoped search at least once in their life, be that deliberate or not. According to the Nielsen Norman Group, scoped search refers to the principle that “allows users to limit their search to a section or type of content […] instead of searching everything in one go.1.

Read more...

Coveo Blitz - The Coveo Blitz 2019 code is now available online!

Written By
Andy Emond

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.

Read more...

Building an Intranet People Search

Written By
Jerome Devost

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.

My Activities summary

Read more...

Avoid No Results Pages, Display Popular Results Instead

Written By
Jean-François L'Heureux

There are only a few things more frustrating than getting a simple no results message when you are searching something. Luckily, with the Coveo JavaScript Search Framework (JS UI), it is very easy to propose popular search results to the visitor when that happens by adding a few components, lines of JavaScript, and CSS statements. It is especially important on a commerce website where all opportunities to display products may result in increased sales.

Popular Products on No Results

Read more...

Coveo for Sitecore 5 - Product Manager Blog

Written By
Simon Langevin

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.

Read more...

Interaction between Move Semantic and Copy Elision in C++

Written By
Kevin Lalumiere

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 g++ and clang++ 3.8 compilers.

Read more...

Using the Coveo Zapier App to Index Trello

Written By
Alex Moreau

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.

Read more...

< Older