You're probably familiar with multi-level comments sections such as on Reddit, or Hackernews — a user can reply to a post, and the system allows multiple levels of nested replies. I recently needed to implement it, and found a few ways of modelling the database, with different complexities and tradeoffs. In this article, I will cover a few of them.
This post is not a tutorial. It's more of a dev diary of how I integrated Stripe with a Blitz application. I'm going through the data flow, database models, and all things related to adding Stripe to a Blitz project.
TypeScript is only becoming more popular. More people want to learn it, more teams wish to adopt it, and more projects start in TypeScript. The problem is how we're using it.
No, it's not. It's about solving problems. And yes, we mostly do this by writing code. But there's an emphasis on solving problems, not on writing code. We're not there to blindly rewrite tickets to code. We're here to think about how to solve issues, and then solving them by writing code, or not.
If you're no longer interested in a project, maybe you already got what you came for?
“One of the great commandments of science is, "Mistrust arguments from authority." Too many such arguments have proved too painfully wrong. Authorities must prove their contentions like everybody else.” ~ Carl Sagan
I'm showing the concept of the type inference algorithm for Hindley-Milner based type systems. Briefly, with super simple examples, to give the rough idea of how it works. Based on the presentation I gave some time ago at work.
The article is based on the talk I gave at #8 Wrocław TypeScript meetup. I'll show some handy and blazingly fast persistent data structure.
“Raw SQL? Like dinosaurs?” My professor once said. Then I used ORM in the existing project. Results? Dropped database.
If you have a database system with soft deletes and unique indexes you might have faced some problems. Imagine that a user deleted some record and wants to add another one with the same unique value. He can’t do that since unique constraint would be violated...
This article is based on the talk I gave at the 1st Wrocław TypeScript Meetup.
Catchy title, isn’t it? 🙃
The most popular method of logging in to an application is by providing a username and a password, but that may come with some cons for users...
It’s going to be a short and brief note about one nonobvious (at least for me) full-text search related thing in MySQL.
Some time ago I found Elixir implementation of gRPC and wanted to give it a try. This article will briefly cover the basic setup for implementing gRPC services in Elixir.
Very concise five-step guide 🙃
We have something like binary search trees. Really simple data structure. But we have also plenty of different tree-like structures: splays, AVLs, red-black trees and so on. Why is that? Why are BSTs not enough?
There are some days that seem to leads to no good. One of these days has come to me when I needed to do some serious assembly programming.
Algorithmic complexity is a crucial thing in computer science. Knowing the complexity of algorithms allows to answer following questions: How long will a program run on an input? How much space will it take? Is the problem solvable?
After some serious Google searches on that topic I decided to gather all the information I found in one place. This quick tutorial will cover how to write OCaml server and how to deploy it on Heroku.
In this article, I’m going to share a little bit of knowledge introducing a brief example of parsing data in OCaml using ocamllex and menhir in a step-by-step tutorial.