Curls, clouds and code

Hi, my name is Corstian, and this is my blog where I get to publish my writings on topics such as psychology, philosophy, software development and any other thing I deem worthy to write about.

Depending on the insertion order only one point ([1,1]) or two points ([1,3] and [2,1] could be inserted)
Latest post!

Improving the spatial map object

Published on the

Some time ago I published a blog post in which I described an object with which elements could be stored in a 2D grid. The type which turned out to be the SpatialMap<T> worked quite well, and due to the binary searches used to locate elements reasonably fast. The biggest limitation of the data type however was the limitation that both the X and Y axis could only contain unique values. The implication of this was that if there were three points which were positioned as being a triangle while aligned on both the X and Y axis, only one or two of these could be inserted in the object, depending on the insertion order.

software development

State Machines for Realtime Data Processing

Published on the

After working on realtime data processing logic for hundreds of hours I have identified a few tips and tricks which drastically help simplify the development of these tools. There is an inherent difficulty with regard to realtime data processing, which is that operations need to be executed on single data packets, while incorporating contextual data from the past.

Although realtime data processing initially might look more difficult than batch based processing, this doesn’t need to be true. Having a realtime pipeline would allow one to process batches of data, while having a batch based pipeline would not allow realtime processing.

In this post I’ll document a few architectural tips and tricks to make realtime data processing look less daunting.

software development

Hiding React component props within a shadow state

Published on the

Every now and then I have to deal with an issue where I want to pass props down to a component, handle updates to them, but at the same time want to hide the internal implementation details.

software development

Handling a datetime input with React

Published on the

In order to collect a timestamp using React I have long been searching for components which could help me to do so. There are various libraries available, but ironically none of them help me more than the browsers built in datetime-local input type.

So I went and implemented this input type, however, there were some complications regarding data updates, especially when changing the date. I have written out a fairly basic but nice working component with which I can collect a datetime.

software development

Force a component to unmount with React Navigation

Published on the

While developing a realtime feature within a React Native app I discovered a specific quirk within the React Native Navigation library which leaves components mounted, even after the active route has changed. Based on the documentation I believe this has been an intentional design decision, though I couldn’t find any specifics about this.

The issue manifested itself when working with a GraphQL subscription which kept receiving data even after one navigated away from the page (component). This resulted in an unnecessary CPU and memory drain and impacted performance of the application. As stated within the Apollo GraphQL documentation, the useSusbcription hook should automatically unsubscribe once the component is unloaded.

software development

A Blueprint to Start With Stripe Subscriptions (using .NET)

Published on the

When you end up on Stripe’s landing page their UI leaves an impression. However, this is just the topping on the ice given they have done a tremendous job to offer services with which they facilitate an impressive number of payment scenarios. However impressive this is, it can be also be quite overwhelming for someone implementing a Stripe integration for the first time. This post provides a rough blueprint about how you can implement subscriptions within your application using Stripe, with code examples provided in C#.

software development

Do you like this content?

Be notified when I publish something new by subscribing to this newsletter, or add my feed to your favourite RSS reader.

Don't worry, I will not spam you nor sell your email address to hackers!

Featured!

About social media, advertisements, and psychological trauma

Published on the
psychology
Featured!

Entity Framework Core: insert or update, the lazy way

Published on the
software development
Featured!

Implementing pagination with GraphQL.NET and Relay

Published on the
software development

High performance 2D radius search

Published on the
software development

An algorithm for interpolating or extrapolating two lists

Published on the
software development

Who is to blame for suicide?

Published on the
psychology

Collecting position information with Telegram and .NET Core

Published on the
software development

Projecting latitude and longitude onto a flat grid

Published on the
software development

Open sourcing some old projects

Published on the
software development

A comment on dealing with anxiety, depression and uncertainty

Published on the
psychology

GraphQL.NET: Runtime object type is not a possible type for interface

Published on the
software development

Asynchronous streams in C# and scrolling through ElasticSearch with NEST.

Published on the
software development

Solution wide config files with .NET Core

Published on the
software development