Blog
Sonar's latest blog posts
What Code Issues Caused the CrowdStrike Outage?
This blog post takes a look at the potential code issues behind the recent global CrowdStrike outage.
![https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/7b69d1cd-74f7-4610-a793-6bd3e35737fa/crowdstrike_blog_featured_2x.webp](https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/7b69d1cd-74f7-4610-a793-6bd3e35737fa/crowdstrike_blog_featured_2x.webp?w=1201&h=1201&auto=format&fit=crop)
![https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/d1b6a85f-5b62-4512-b9ff-943f19598861/jupyter-notebook_blog-index%20%281%29.webp](https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/d1b6a85f-5b62-4512-b9ff-943f19598861/jupyter-notebook_blog-index%20%281%29.webp?w=325&h=200&auto=format&fit=crop)
Is Clean Code the solution to Jupyter notebook code quality?
Is Clean Code the solution to Jupyter notebook code quality?
Read Blog post >
![https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/ef97fb4e-e4f4-4a7d-8708-4872ea73e609/javascript-array-copying-methods_blog-index.webp](https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/ef97fb4e-e4f4-4a7d-8708-4872ea73e609/javascript-array-copying-methods_blog-index.webp?w=325&h=200&auto=format&fit=crop)
ES2023 introduces new array copying methods to JavaScript
There are new array methods in JavaScript and they are here to make our programs more predictable and maintainable.
Read blog post >
![https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/bfbd96aa-5b05-4f2f-993e-bf80c5514c15/sonar-cncf-silver-membership_blog-index.webp](https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/bfbd96aa-5b05-4f2f-993e-bf80c5514c15/sonar-cncf-silver-membership_blog-index.webp?w=325&h=200&auto=format&fit=crop)
CNCF Silver membership
Sonar becomes Silver member of the Cloud native computing foundation
Read Blog post >
![https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/05f65288-fbbd-445e-86b1-f3c89902a130/sq-is-for-python-devs_blog-index.webp](https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/05f65288-fbbd-445e-86b1-f3c89902a130/sq-is-for-python-devs_blog-index.webp?w=325&h=200&auto=format&fit=crop)
Why SonarQube 9.9 LTS is a must-have for Python developers
Learn about the changes in SonarQube 9.9 LTS that help Python developers write Clean Code.
Read article >
![https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/a2b89e22-e46c-4a37-9b9e-1ee08d1350b7/weird-python-behaviors_blog-index.webp](https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/a2b89e22-e46c-4a37-9b9e-1ee08d1350b7/weird-python-behaviors_blog-index.webp?w=325&h=200&auto=format&fit=crop)
Weird Python: 5 Unexpected Behaviors in the Python Interpreter
Five ways in which Python's interpreter behaves in ways that you wouldn't expect.
Read Blog post >
![https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/5a163ee9-f907-45c4-a36f-eaf381c91066/devnexus-reflections_blog-index.webp](https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/5a163ee9-f907-45c4-a36f-eaf381c91066/devnexus-reflections_blog-index.webp?w=325&h=200&auto=format&fit=crop)
Reflections from DevNexus, the largest Java conference in the U.S.A.
Reflections from DevNexus, the largest Java conference in the U.S.A.
Read Blog post >
![https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/ce802ac3-be3b-47a7-ae31-b2471e778d2e/interview-with-python-devs_blog-index%20%281%29.webp](https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/ce802ac3-be3b-47a7-ae31-b2471e778d2e/interview-with-python-devs_blog-index%20%281%29.webp?w=325&h=200&auto=format&fit=crop)
Interview with Sonar Python Developers Part 2
Latest Python developments. Interview with Python developers from Sonar.
Read Blog post >
![https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/e8442955-a296-4bf2-8f92-69930193e34f/odoo-scripting_blog-index.webp](https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/e8442955-a296-4bf2-8f92-69930193e34f/odoo-scripting_blog-index.webp?w=325&h=200&auto=format&fit=crop)
Odoo: Get your Content Type right, or else!
What do we need content types for anyway? Let's look into how an incorrect content type led to a real-world vulnerability in Odoo, CVE-2023-1434.
Read article >
![https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/ce802ac3-be3b-47a7-ae31-b2471e778d2e/interview-with-python-devs_blog-index%20%281%29.webp](https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/ce802ac3-be3b-47a7-ae31-b2471e778d2e/interview-with-python-devs_blog-index%20%281%29.webp?w=325&h=200&auto=format&fit=crop)
Interview with Sonar Python Developers Part 1
Why should I learn Python language? When should I use Python? Is tooling around Python development mature?
Read Blog post >
![Image of Sonar Logo and Compiler Explorer integration](https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/7327924f-0e59-4031-8411-e477f154d8e4/compiler-explorer-integration_blog-index%20%282%29.webp?w=325&h=200&auto=format&fit=crop)
Sonar ❤️ Compiler Explorer: Write clean C++ code inside your browser
Sonar ❤️ Compiler Explorer: Write clean C++ code inside your browser
Read Blog post >
![https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/40870ddd-2321-4066-8441-13d3aa98ce7a/get-accepted-at-every-conference_blog-index.webp](https://assets-eu-01.kc-usercontent.com:443/02cb980b-5a8a-016f-80ee-dce623e76463/40870ddd-2321-4066-8441-13d3aa98ce7a/get-accepted-at-every-conference_blog-index.webp?w=325&h=200&auto=format&fit=crop)
Pretalx Vulnerabilities: How to get accepted at every conference
We recently discovered two vulnerabilities in pretalx and found a generic technique to gain code execution from a file write.
Read article >