Fractal Ideas

Blog

July 20, 2021 8 min read

This is part there in a three-part series:

  1. Making React and Django play well together
  2. Making React and Django play well together - the “hybrid app” model
  3. Making React and Django play well together - the “single page app” model

Making React and Django play well together - the “single page app” model

This message continues my analysis of the trade-offs involved in choosing an architecture for integrating React with Django.

Read more  →

July 19, 2021 11 min read

This is part two in a three-part series:

  1. Making React and Django play well together
  2. Making React and Django play well together - the “hybrid app” model
  3. Making React and Django play well together - the “single page app” model

Making React and Django play well together - the “hybrid app” model

In my last post I discussed the trade-offs involved in choosing an architecture for integrating React with Django.

Read more  →

July 17, 2021 9 min read

This is part one in a three-part series:

  1. Making React and Django play well together
  2. Making React and Django play well together - the “hybrid app” model
  3. Making React and Django play well together - the “single page app” model

Making React and Django play well together

Building a frontend with React and create-react-app and the corresponding backend with Django is a popular combination.

Indeed, even though the Node.js ecosystem is …

Read more  →

Feb. 23, 2021 11 min read

How fast can you Go?

Today I will explore how profiling tools can help us make a Go program run faster.

If you expected an inspirational think piece on personal development, well, perhaps another day :-)

Like many Pythonistas, I have been frustrated by Python’s relatively slow runtime. The promise of fast execution is a key reason for learning Go. The other key reason would be goroutines, but we won’t encounter them today.

So I set …

Read more  →

July 19, 2020 14 min read

Sans I/O when rubber meets the road

If you never heard of Sans I/O…

Sans I/O is a software design pattern for implementing network protocols.

An I/O-free library contains:

  1. no network I/O;
  2. no asynchronous control flow.

An I/O integration layer complements the library, connecting it to a network I/O framework, which usually involves asynchronous control flow.

While this may seem counter-intuitive, following this discipline is expected to yield significant benefits.

Read more  →

Oct. 14, 2019 10 min read

Managing multiple geographies and time zones in Django - part 2

Last month, I demonstrated how to handle geographies in a Django app, so that:

  • users can only interact with objects attached to their geography;
  • users see datetimes in the local time zone of their geography.

This is an example of multi-tenancy: each geography is a tenant.

Then I had an uncommon requirement: let a user account interact with several geographies. It’s …

Read more  →

Sept. 12, 2019 7 min read

Managing multiple geographies and time zones in Django

“Oh, I’ll just write a small Django app…”

For the last couple years, I’ve been building and maintaining a Django application to manage mobile push notification campaigns for myCANAL.

The first push notification ever on myCANAL

Through the Django admin, campaign managers define their messages and schedule campaigns targeted at user segments. A handful of cron jobs take care of importing segments from our data lake and sending campaigns via mobile push notification APIs.

Read more  →