Tech Blog Menu

Tech Blog

Distributed resource locking using memcached

Written By
Jonathan Rochette

Small update: Having noticed comments about this post on Twitter, I think it’s important to specify that the word “lock” might have been badly chosen here. It’s more of a best-effort thing to reduce the frequency of situations where certain operations would need to be retried. It’s perfectly fine if for any reason those still occur concurrently (indeed before there was no locking whatsoever). The only adverse effect would be slightly decreased performance for the querying user. So, kids, do not use this approach if you need real resource exclusion.

As Coveo’s cloud usage analytics product matures, more and more events are logged every seconds and a lot more people are using the analytics dashboards from the cloud admin. That increased load is great and the usage analytics handles it easily, but there was one thing we did not see coming: transaction cycles in the database. They did not happen often, but this was still problematic as continuous increase in the load on the service only meant more transaction cycles. These cycles were the result of scheduled jobs running when insertion of new events and reporting queries occurred at the same time.

Read more...

The tale of a programming contest

Written By
Marc Sanfaçon

It all began…

It is in September of 2010 that the idea of doing a programming contest came to life. Coveo was a startup with highly passionate employees, ready to grow and bring more passionate people on board.

Did I say passionate?

Our primary source for hiring talented and passionate - I know, but it’s really important to us - software developers was (and still is) universities. We bring students on board during an internship and show them what it’s like to work with us - the challenges, the environment, the people, … - it usually works really well and we end up hiring almost 33% of the interns.

Read more...

Searching Jekyll

Written By
Carl Bolduc

This blog is powered by Jekyll, a static site generator. There is no database, nothing to search against, the site is simply composed of a few HTML pages referencing each other. Being search experts, we can leverage Coveo to add powerful search to Jekyll.

Read more...

Creating custom model in Coveo for Sitecore

Written By
Vincent Séguin

Coveo for Sitecore offers various extension points to easily customize almost every part of it : indexing, queries, interfaces etc. In the developers documentation, we’re often giving examples of custom pipelines or JavaScript snippets, but what happen if you guys want to do more than that?

Read more...

Making an online community

Written By
Benoît Chabert

image

As the UX design department grows at Coveo we start to get enough manpower to actually create stuff before it’s implemented (yep…). One of these concepts is for an online community.

The idea for this project came from an internal initiative to unify the search on our various websites. You’re probably familiar with how great Coveo is at this kind of problem. Basically, it’s what we do. I was tasked to create mockups for this initiative. As I was working on this, another idea came up. We have Coveo staff who are communicating directly with developers. We have online resources (a lot) that are frequently updated. Maybe we could bring all of this together. We talked about it in our meetings with the design team and soon it started consuming me.

Read more...

Taking Enums to the next level with Java 8

Written By
Jonathan Rochette

In our awesome cloud Usage Analytics API, there is a call that returns the analytics data in data points format (these are meant to be used to build a graph). Recently, we added a feature allowing the user to choose the time period (initially, only days was available). Problem is, the code was strongly coupled with the day period…

Read more...

Hackathon - formerly known as Itch Scratching Development

Written By
Nicolas Pelletier

##The Non-Scratching

Our days are packed. We work on bug fixes, we work on features that have been sold to clients, on pieces required before the next rollout or it may be on the new architecture. We work on things that have a due date or that somebody is waiting for. We don’t have much time to ponder and wonder about all those little things we would like to change or those ideas we have; for all those itches we lack the time to scratch.

How do we encourage people to scratch the itch even if they are not part of our planning? Enter the Hackathon.

Read more...

Working Remotely

Written By
Martin Laporte

I’ve been working remotely for more than two years now, and I thought I’d add my own experience to the rather large amount of similar posts out there on the web.

Read more...

Optimizing web application build process

Written By
William Fortin

At Coveo, we love to tackle new technologies. Last year was all about TypeScript, preprocessed stylesheets with LESS/SASS and optimizing our JavaScript applications with minification, concatenation and compression. Since we have a Java stack in the cloud, using the build tools that were already in place was a no brainer. We started with an Ant script to manage the build process of the Cloud Admin Web Application.

Read more...

Customizing the Insight Panel

Written By
Jonathan Garneau

If you haven’t deployed the insight panels in your organization yet, here is a link to the procedure to get it done: Installing the Coveo for Salesforce Application.

Out of the box there are several predefined Insight Panels with pertinent queries. That is a great starting point, but even more usefulness can be attained by customizing the insight panels to meet the needs and the ways of working of the users.

Read more...

< Older Newer >