Julien Danjou
  • πŸ‘¨ About
  • πŸ“° Blog
  • πŸ“˜ Serious Python
  • πŸ“• Scaling Python
  • πŸ—£ Talks

Julien Danjou

Free Software Hacking

Debugging C code on macOS
C

Debugging C code on macOS

I started to write C 25 years ago now, with many different tools over the year. As many open source developers, I spent most of my life working with the

11 Feb 2021 • 3 min read
I am a Software Engineer and I am in Charge
Books

I am a Software Engineer and I am in Charge

Fifteen years have passed since I started my career in IT β€” which is quite some time. I've been playing with computers for 25 years now, which makes me quite knowledgeable

22 Dec 2020 • 2 min read
Interview: The Performance of Python
Interview

Interview: The Performance of Python

Earlier this year, I was supposed to participate to dotPy [https://dotpy.io], a one-day Python conference happening in Paris. This event has unfortunately been cancelled due to the COVID-19

11 May 2020 • 1 min read
Being in Charge
Work

Being in Charge

If you never heard of the 10x engineer myth, it's a pretty great concept. It boils down to the idea where an engineer could be 10x more efficient than a

17 Apr 2020 • 1 min read
One year of Mergify
Mergify

One year of Mergify

It has been close to a year now that I've incorporated my new company, Mergify [https://mergify.io]. I've been busy, and I barely wrote anything about it so far.

12 Mar 2020 • 5 min read
Attending FOSDEM 2020
Python

Attending FOSDEM 2020

This weekend, I've been lucky to attend again the FOSDEM [https://fosdem.org/2020/] conference, one of the largest open-source conference out there. I had a talk scheduled in the

6 Feb 2020 • 1 min read
Python Logging with Datadog
Python

Python Logging with Datadog

At Mergify [https://mergify.io], we generate a pretty large amount of logs. Every time an event is received from GitHub for a particular pull request, our engine computes a

3 Feb 2020 • 4 min read
Atomic lock-free counters in Python
Python

Atomic lock-free counters in Python

At Datadog [https://datadog.com], we're really into metrics. We love them, we store them, but we also generate them. To do that, you need to juggle with integers that

6 Jan 2020 • 4 min read
Properly managing your .gitignore file
Git

Properly managing your .gitignore file

There's not a single month where I don't have to explain this. I thought it'd be a good opportunity to write about this .gitignore file so everyone is up to

2 Dec 2019 • 2 min read
Finding definitions from a source file and a line number in Python
Python

Finding definitions from a source file and a line number in Python

My job at Datadog [https://datadog.com] keeps me busy with new and questioning challenges. I recently stumbled upon a problem that sounded easy but was more difficult than I

4 Nov 2019 • 4 min read
Sending Emails in Python β€” Tutorial with Code Examples
Python

Sending Emails in Python β€” Tutorial with Code Examples

What do you need to send an email with Python? Some basic programming and web knowledge along with the elementary Python skills. I assume you’ve already had a web

15 Oct 2019 • 11 min read
Python and fast HTTP clients
Python

Python and fast HTTP clients

Nowadays, it is more than likely that you will have to write an HTTP client for your application that will have to talk to another HTTP server. The ubiquity of

7 Oct 2019 • 6 min read
Dependencies Handling in Python
Python

Dependencies Handling in Python

Dependencies are a nightmare for many people. Some even argue they are technical debt [https://thenewstack.io/to-reduce-tech-debt-eliminate-dependencies-and-refactoring/] . Managing the list of the libraries of your software is a horrible

2 Sep 2019 • 5 min read
The Art of PostgreSQL is out!
PostgreSQL

The Art of PostgreSQL is out!

If you remember well, a couple of years ago, I wrote about Mastering PostgreSQL, a fantastic book written by my friend Dimitri Fontaine. Dimitri is a long-time PostgreSQL core developer

28 Aug 2019 • 2 min read
Handling multipart/form-data natively in Python
Python

Handling multipart/form-data natively in Python

RFC7578 [https://tools.ietf.org/html/rfc7578] (who obsoletes RFC2388 [https://tools.ietf.org/html/rfc2388]) defines the multipart/form-data type that is usually transported over HTTP when users submit

1 Jul 2019 • 4 min read
Advanced Functional Programming in Python: lambda
Python

Advanced Functional Programming in Python: lambda

A few weeks ago, I introduced you to functional programming in Python [julien.danjou.info/python-and-functional-programming/]. Today, I'd like to go further into this topic and show you so more

3 Jun 2019 • 2 min read
An Introduction to Functional Programming with Python
Python

An Introduction to Functional Programming with Python

Many Python developers are unaware of the extent to which you can use functional programming in Python, which is a shame: with few exceptions, functional programming allows you to write

6 May 2019 • 6 min read
Writing Your Own Filtering DSL in Python
Python

Writing Your Own Filtering DSL in Python

A few months ago, we've seen how to write a filtering syntax tree [https://julien.danjou.info/multi-value-syntax-tree-filtering-in-python/] in Python. The idea behind this was to create a data structure

1 Apr 2019 • 3 min read
Python + Memcached: Efficient Caching in Distributed Applications

Python + Memcached: Efficient Caching in Distributed Applications

When writing Python applications, caching is important. Using a cache to avoid recomputing data or accessing a slow database can provide you with a great performance boost. Python offers built-in

4 Mar 2019 • 7 min read
How to Log Properly in Python

How to Log Properly in Python

Logging is one of the most underrated features. Often ignored by software engineers, it can save your time when your application's running in production. Most teams don't think about it

4 Feb 2019 • 4 min read
Serious Python released!
Python

Serious Python released!

Today I'm glad to announce that my new book, Serious Python, has been released. However, you wonder… what is Serious Python? Well, Serious Python is the the new name of

17 Jan 2019 • 2 min read
Why You Should Care That Your SQL DDL is Transactional
Database

Why You Should Care That Your SQL DDL is Transactional

I don't write a lot about database management. How come? I'm a software engineer, and like many of my peers, I leverage databases to store data. I should talk more

7 Jan 2019 • 6 min read
Podcast.__init__: Gnocchi, a Time Series Database for your Metrics
Gnocchi

Podcast.__init__: Gnocchi, a Time Series Database for your Metrics

A few weeks ago, Tobias Macey contacted me as he wanted to talk about Gnocchi, the time series database I've been working on for the last few years. It was

11 Dec 2018 • 1 min read
A multi-value syntax tree filtering in Python
Python

A multi-value syntax tree filtering in Python

A while ago, we've seen how to write a simple filtering syntax tree with Python [https://julien.danjou.info/simple-filtering-syntax-tree-in-python/]. The idea was to provide a small abstract syntax tree

3 Dec 2018 • 4 min read
The Best flake8 Extensions for your Python Project
Python

The Best flake8 Extensions for your Python Project

In the last blog post about coding style [https://julien.danjou.info/code-style-checks-in-python/], we dissected what the state of the art was regarding coding style check in Python. As we've

5 Nov 2018 • 3 min read
Julien Danjou
  • πŸ‘¨ About
  • πŸ“° Blog
  • πŸ“˜ Serious Python
  • πŸ“• Scaling Python
  • πŸ—£ Talks
Julien Danjou © 2023
Latest Posts Facebook Twitter Ghost