• Dimensions and Haskell: Singletons in Action
    Dimensions and Haskell: Singletons in Action
    How to reduce the debugging time and make programs less error-prone while working with matrices in Haskell? There can be several solutions. This article presents the way of lifting the dimensions to the type level.
  • Serokell Contributions to the Next Generation
    Serokell Contributions to the Next Generation
    We at Serokell believe in self-development and practical appliance of latest scientific inventions, that’s why we support students and gladly hire young specialists. We feel that our position is not only beneficial for business but also makes the world a better place.
  • Insane Properties of the Closed Long Ray and the Long Line
    Insane Properties of the Closed Long Ray and the Long Line
    In topology, the long line, or Alexandroff line, is a space somewhat similar to the real line, but ‘longer’. To obtain the long line, one needs to put together a long ray in each direction. Closed long rays, as well as long lines, have remarkable properties.
  • Best Haskell Conferences to Attend
    Best Haskell Conferences to Attend
    Technical conferences are a perfect place for developers to broaden their professional horizons and meet new people. In this article, we will tell you about the most interesting Haskell events.
  • Libra: Politically Correct Review
    Libra: Politically Correct Review
    If you’ve been on the Internet the last few days, you’ve probably heard of Libra, Facebook’s new venture into blockchain technology. Their goals are far-reaching — “to enable a simple global currency and financial infrastructure that empowers billions of people”. In this article, we review their recently released white paper.
  • Parsing Typed eDSL
    Parsing Typed eDSL
    Embedded DSL (or eDSL) is a popular technique for encoding your domain specific language into Haskell’s type system. One example of such DSL is Ivory – eDSL for C code generation. Even more often it’s useful to implement your DSL as a Haskell data type and interpret it right from Haskell.
  • The Worst Random Number Generator
    Independent Functions or How to Create the Worst Random Number Generator
    Random numbers are used in cryptography, and most of the cryptographic operations use computers. But a computer is a deterministic device, thus, it isn’t able to simply generate a truly random number. There are different approaches to solving the problem, and some of them are worse than others.
  • Dimensions and Haskell: Introduction
    Dimensions and Haskell: Introduction
    A review of matrix and numerical libraries in order to understand which array libraries are useful for machine learning in Haskell and which approaches to type-level natural numbers might be applied to safe matrix dimensions.
  • What Remote Workers Do in Their Free Time. Part II
    What Remote Workers Do in Their Free Time. Part II
    When working remotely, one has to be serious about time management, especially when it comes to spare time. An interesting hobby allows spending it with pleasure. In this post, we keep talking about the hobbies of the Serokell team members.
  • The Problem of Intermediate Recursively Enumerable Turing Degrees
    The Problem of Intermediate Recursively Enumerable Turing Degrees
    The Turing degree of a set of natural numbers is a concept from computer science and mathematical logic that is a measure of the level of algorithmic unsolvability of the set. This post carries you deeper into the problem of the undecidable languages and the halting problem.
  • What Remote Workers Do in Their Free Time. Part I
    What Remote Workers Do in Their Free Time. Part I
    Serokell team members love to spend their spare time actively and make good use of it. These people are fond of cycling, video gaming, learning foreign languages and assembling hi-end audio amplifiers. In this blog post, we will focus on our hobbies.
  • Things to Know Before Outsourcing Software Development
    7 Reasons to Outsource Software Development
    Almost every business sooner or later faces the choice of how to get the right technological product. Can smaller companies compete with giants of the market in terms of recruiting the best specialists who can develop truly cutting-edge software? Probably, the answer is 'no', but there are ways to solve the problem with another approach.
  • The Greatest Challenge of Modeling Large Quantum Computers
    Perhaps you cannot quite picture how quantum computers work, but you definitely heard something about them. Nowadays, all rich, as well as not-so-rich states and corporations, are trying to build one. However, many face a problem of inability to emulate a large quantum computer. Let us figure out why.
  • Three Months of Hustle
    Three Months of Hustle: Serokell Q1 2019 Report
    We started the new 2019 year with intensive work in all areas. Only three months have passed, but we can already say with confidence: this is a year of significant changes.
  • Trees that Melt
    Trees that Melt: Use of AVL Tree in Blockchains
    In modern blockchains, if some node wants to verify a block, it either has to be a full node storing the whole network state, or it has to continuously ask some remote storage for various parts of it. Each of these solutions possesses either inconveniences (storing 100+ GB of data) or risks (the storage forging the data it sends you).
  • Typescript
    Catching Runtime Errors in Compile Time with Typescript
    An Oradian frontend developer Domagoj Cerjan utilizes Typescript for bringing the mentioned rules to the surface and thereby saving software engineers’ time. He makes one of the most commonly used WebGL functions - a function which uploads an image to a texture - gl.texImage2d safe from runtime errors. Dive deeper into the beauty of Typescript by reading the Domagoj’s post for Serokell.
  • Year of Serokell
    Year of Serokell
    On the threshold of the New Year, it’s time to finish the last issues and summarize the results of the year. While everyone is scurrying around, shopping, closing deadlines and preparing reports, we wil…
  • Haskell logo
    Why Dependent Haskell is the Future of Software Development
    Hi, I’m Vladislav Zavialov. For the last couple of months, my job at Serokell has been to lead our efforts to improve our primary tool – the Glasgow Haskell Compiler (GHC). I’m focusing on making th…
  • Haskell logo
    Introduction to Tagless Final
    Recently, my team decided to implement an eDSL using the tagless final style for one of the new projects..
  • Nothing Less than a Revolution: Why Your Company Should Go Remote
    Nothing Less than a Revolution: Why Your Company Should Go Remote
    Remote work is a revolution in the making.. Not in technologies we use, not in management strategies, but in the entire way we think about the work..
  • Agda: Playing With Negation
    Constructive and Non-Constructive Proofs in Agda (Part 3): Playing with Negation
    In the previous post, we briefly introduced the reader to dependently typed programming and theorem proving in Agda. Now we present an empty type to work with constructive negation. We discuss Marko…
  • 4 Tips for Choosing a Software Development Partner
    The choice of the right software outsourcing company is tough. Will the vendor you choose just bash out some code and disappear in the steppes of Asia, or will they become your greatest ally in an u…
  • Agda in a nutshell
    Constructive and Non-Constructive Proofs in Agda (Part 2): Agda in a Nutshell
    Last week, we started a new blog series to introduce you to creating constructive and non-constructive proofs in Agda..
  • Agda: Logical Background
    Constructive and Non-Constructive Proofs in Agda (Part 1): Logical Background
    Hi! I’m Danya Rogozin, and I work at Serokell on a blockchain framework called Snowdrop.. I would like to tell you about constructive and non-constructive proofs in a proof assistant and functional …
  • Haskell logo
    Signal Processing in Haskell
    Hi, my name is Rinat Stryungis. I work at Serokell on Ariadne’s backend, and although it is an interesting wallet project for Cardano (and other cryptocurrencies), today I would like to tell you abo…
  • Serokell logo
    Welcome to Our Blog
    The day has come.. I am pleased to welcome you to the first article of our blog. Cue the fanfarade, roll out the carpets, while I’ll tell you about Serokell, how we conceived the idea to create our …