Skip to main content

News - Software Engineering

Close Filters
Clear
Adding a layer of more explicit typings on top of third party library interfaces
  • 06 Aug 2021

Written by Stephen Cooper, a Developer at G-Research You may have noticed that the typing provided by third party libraries often feels very loose. This should not come as a surprise; to maintain flexibility for all users it is not always possible to provide stricter typings. However, there is nothing to stop us, within our […]

Read article
Centrally Managing NuGet package versions (CPVM)
  • 23 Jul 2021

Written by Marcin Krystianc, Open Source Software Developer CPVM (“Central Package Version Management”) is a NuGet feature that simplifies the package version management. Instead of specifying the version of a package each time it is being referenced in a project file, versions of all packages are specified only once in a single `Directory.Packages.props` file.  Moving […]

Read article
Embarking on a Epic Journey: Getting the Best out of NuGet
  • 21 Jul 2021

Written by Marcin Krystianc, Open Source Software Developer At G-Research we tend to have very large .NET projects. As our projects grow in size, we have noticed that our NuGet restore times start to get out of control, sometimes taking 10 minutes or more. I was curious whether I could find any performance improvements in […]

Read article
Extending TensorFlow with Custom C++ Operations
  • 17 Jun 2021

DSE’s previous post blog post concluded by illustrating some of the limitations of the TensorFlow library. The off-the-shelf package is a great tool for deep learning, but with large model sizes these limitations become increasingly noticeable and require custom matrix operations to be implemented in the C++ source code. Custom Op Motivations Recall that only […]

Read article
Walkthrough of TensorFlow Architecture
  • 17 Jun 2021

TensorFlow is one of the most popular libraries in the modern Machine Learning ecosystem. It provides functionality for users to easily build, train and deploy deep learning models with its high-level Python API. At G-Research, we’re more than just users of TensorFlow. We require an understanding of its inner workings in order to support our […]

Read article
Metatesting your property-based tests
  • 27 May 2021

A rather little-known but very easy and high-reward way to sanity-check your property-based tests Patrick Stevens is a Developer at G-Research. Property-based testing is a great technique for getting the computer to do much of the drudgery when you’re writing tests. But it’s pretty easy to accidentally test much less than you thought. Here, we’ll […]

Read article
In praise of --dry-run
  • 21 May 2021

Patrick Stevens is a Developer at G-Research. One part of my job as a software engineer is writing tools. Something I always want to see in a tool which does anything non-trivial is a --dry-run mode. To be able to know what you’re about to do, before you do it, is a great and wondrous […]

Read article
Scaling the Neo4J Write Path – Part 1
  • 10 May 2021

Neo4J is one of the most popular graph databases in the world. If you explore the space you very quickly discover that many different graph databases exist, spanning from basic single machine triplestores like Apache Jena TDB to horizontally scalable graph databases such as Janus or DGraph and far too many others to list here, […]

Read article
Introducing Siembol: An Open-Source, Real-Time Security Information and Event Management Tool
  • 08 Apr 2021

Co-authors:  Marian Novotny, Software Developer at G-Research Caterina Rindi, Director of Open-Source Community at G-Research  Siembol, G-Research’s latest project and ‘new kid on the block’, is loaded with functionality. It is a welcome innovation and a user-friendly alternative to Apache Metron, following the latter’s retirement to ‘the attic’ last year. At its heart, Siembol is […]

Read article
Continuation-passing style
  • 22 Mar 2021

Patrick Stevens is a Developer at G-Research. In a previous post, Chris Arnott examined a few different techniques to do recursion in F#. Here, we will expand on a particular one of those techniques (continuation-passing style, or “CPS”) from a slightly different angle. CPS is one of those topics which you can only really learn […]

Read article
1 2 3 4 5 6 7

Stay up to date with
G-Research