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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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